/* Homepage V76. Shared navigation and authentication styles remain unchanged. */
body.home-page-v76{background:#1b1511 url('/assets/home-v76/background.webp') center top/cover fixed no-repeat}
body.home-page-v76::before{display:none}
.home-v76{--home-cream:#f3e5ca;--home-muted:#c3c8ce;--home-line:#9a7754;color:var(--home-cream)}
.home-v76 :is(h1,h2,p){margin:0}
.home-v76 [hidden]{display:none!important}
.home-v76 a:focus-visible,.home-footer-v76 a:focus-visible{outline:3px solid #f8e8c8;outline-offset:4px}
.home-v76 .home-lobby{position:relative}
.home-v76 .home-center{min-width:0}
.home-v76 .home-hero{height:160px;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--home-line);border-radius:8px;background:#251a12;box-shadow:0 4px 18px #0006}
.home-v76 .home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}
.home-v76 .home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080e14e8,#080e1490 40%,transparent 76%);z-index:-1}
.home-v76 .home-hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:16px 30px;gap:7px}
.home-v76 .home-hero h1{font:400 clamp(26px,3vw,40px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.7px;color:#fff6e5;text-shadow:0 2px 5px #0008}
.home-v76 .home-hero p{font:400 clamp(16px,1.7vw,23px)/1.25 Georgia,'Times New Roman',serif;color:#eee6da}
.home-v76 .home-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:8px 17px;border:1px solid #ded0b1;border-radius:5px;background:linear-gradient(#f7ead1,#d3b991);color:#21180f;font:600 13px/1.25 Georgia,'Times New Roman',serif;text-align:center;white-space:nowrap;box-shadow:0 2px 5px #0003}
.home-v76 .home-hero .home-button{margin-top:3px;min-height:36px;font-size:15px;padding:7px 20px}
.home-v76 .home-button-outline{background:#081b2a;border-color:#b39a76;color:#f7ead1}
.home-v76 .home-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 15px;margin:10px 0;border:1px solid #627383;border-radius:7px;background:linear-gradient(110deg,#10283d,#071725);box-shadow:0 3px 12px #0005}
.home-v76 .home-welcome-copy{display:flex;align-items:center;gap:18px;min-width:0}
.home-v76 .home-welcome-copy strong{font:400 22px/1.2 Georgia,'Times New Roman',serif}
.home-v76 .home-welcome-copy p{font-size:12px;line-height:1.4;color:var(--home-muted);border-left:1px solid #647382;padding-left:16px;max-width:310px}
.home-v76 .home-welcome-actions{display:flex;gap:10px;flex-shrink:0}
.home-v76 .home-welcome-actions a{min-width:110px}
.home-v76 .bw-profile{background:linear-gradient(110deg,#10283d,#071725);border-color:#627383;color:var(--home-cream);margin:10px 0}
.home-v76 .bw-values dd{color:var(--home-cream)}
.home-v76 .home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.home-v76 .home-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--home-line);border-radius:7px;background:#071a2b;overflow:hidden;box-shadow:0 4px 12px #0006;transition:border-color .15s,transform .15s}
.home-v76 .home-card-art{aspect-ratio:2/1;overflow:hidden;background:#211b17 url('/assets/home-v76/cards.webp') 0 0/300% 200% no-repeat}
.home-v76 .home-card-duel .home-card-art{background-position:0 0}
.home-v76 .home-card-tournaments .home-card-art{background-position:50% 0}
.home-v76 .home-card-solo .home-card-art{background-position:100% 0}
.home-v76 .home-card-friends .home-card-art{background-position:0 100%}
.home-v76 .home-card-pro .home-card-art{background-position:50% 100%}
.home-v76 .home-card-profile .home-card-art{background-position:100% 100%}
.home-v76 .home-card-copy{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px 12px;flex:1;background:linear-gradient(#0a2034,#051321)}
.home-v76 .home-card-copy>div{min-width:0}
.home-v76 .home-card h2{font:400 clamp(20px,1.8vw,25px)/1.1 Georgia,'Times New Roman',serif;color:#fff6e8}
.home-v76 .home-card p{font-size:11px;line-height:1.4;margin-top:5px;color:#cdd1d6}
.home-v76 .home-card-copy>.home-button{padding:8px 10px;font-size:12px;flex-shrink:0;align-self:flex-end}
.home-v76 .home-card-pro{border-color:#e0bc5e;background:#03281e}
.home-v76 .home-card-pro .home-card-copy{background:linear-gradient(#063626,#021e17)}
.home-v76 .home-card-pro .home-button{color:#ffe19a;background:#053324;border-color:#dfbf67}
.home-v76 .home-card-pro p{color:#e0e9dd}
.home-v76 .home-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 18px;margin:10px 0 0;padding:5px 10px;border-radius:5px;background:#071725d9}
.home-v76 .home-shortcuts a{min-height:30px;display:inline-flex;align-items:center;font-size:12px;color:#e2d7c5;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#87715a}
.home-v76 .home-ad{border:1px solid #536a7c;border-radius:4px;background:repeating-linear-gradient(45deg,#2c43511c 0 1px,transparent 1px 9px),linear-gradient(120deg,#102b41,#071a2b);color:#c1cad4;text-align:center;align-items:center;justify-content:center;box-shadow:0 3px 10px #0006}
.home-v76 .home-ad span{font:12px/1.7 Georgia,'Times New Roman',serif;letter-spacing:2px}
.home-v76 .home-ad-banner{display:flex;max-width:728px;min-height:64px;margin:0 auto 12px}
.home-v76 .home-ad-bottom{margin:12px auto 0}
.home-v76 .home-ad-rail{display:none}
.home-footer-v76{margin-top:12px;background:#071522e8;border-radius:5px;padding:12px 16px;font-size:12px}
.home-footer-v76 .footer-brand{font-size:12px;color:#e8d8bd}
.home-footer-v76 small{font-size:11px}
@media(min-width:1250px){
 body.home-page-v76[data-home-ad-state="guest"] .home-center,body.home-page-v76[data-home-ad-state="free"] .home-center{margin:0 120px}
 .home-v76 .home-ad-rail{display:flex;position:absolute;top:0;bottom:0;width:108px;min-height:450px}
 .home-v76 .home-ad-left{left:0}.home-v76 .home-ad-right{right:0}
 .home-v76 .home-card-copy{flex-wrap:wrap;gap:8px}.home-v76 .home-card-copy>.home-button{margin-left:auto}
 .home-v76 .home-welcome-copy{display:block}.home-v76 .home-welcome-copy p{border:0;padding:3px 0 0}
}
@media(hover:hover){.home-v76 .home-card:hover{transform:translateY(-2px);border-color:#e0d2b8}.home-v76 .home-button:hover{filter:brightness(1.08)}}
@media(max-width:999px){
 .home-v76 .home-welcome-copy{display:block}.home-v76 .home-welcome-copy strong{font-size:20px}.home-v76 .home-welcome-copy p{border:0;padding:4px 0 0}
 .home-v76 .home-card-copy{flex-wrap:wrap;gap:9px}.home-v76 .home-card-copy>.home-button{margin-left:auto}.home-v76 .home-card p{font-size:12px}
}
@media(max-width:700px){
 body.home-page-v76{background-attachment:scroll}
 .home-v76 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-v76 .home-hero-copy{padding:15px 20px}
 .home-v76 .home-welcome{flex-wrap:wrap;gap:10px;padding:13px}.home-v76 .home-welcome-actions{width:100%}.home-v76 .home-welcome-actions a{flex:1}
 .home-v76 .home-welcome-copy p{max-width:none}
 .home-v76 .home-ad-banner{min-height:50px}
}
@media(max-width:430px){
 .home-v76 .home-grid{grid-template-columns:minmax(0,1fr)}
 .home-v76 .home-card-copy{flex-wrap:wrap}.home-v76 .home-card h2{font-size:23px}
 .home-v76 .home-hero{height:155px}.home-v76 .home-hero h1{font-size:27px}
 .home-v76 .home-hero::after{background:linear-gradient(90deg,#080e14ee,#080e1480)}
 .home-v76 .home-hero-copy{padding:15px}.home-v76 .home-shortcuts{gap:2px 14px}
 .home-footer-v76 nav{gap:14px}.home-footer-v76 nav a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-v76 *{animation:none!important;transition:none!important;scroll-behavior:auto}.home-v76 .home-card:hover{transform:none}}

/* V77: hero-only store badges; V76 layout, art, header and auth stay intact. */
.home-v76 .home-hero-actions{display:flex;align-items:center;gap:10px;max-width:100%}
.home-v76 .home-hero-actions>.home-button{margin:0;min-height:42px}
.home-v76 .home-store-badge{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;padding:5px 12px;border:1px solid #a5c9b47a;border-radius:7px;background:linear-gradient(125deg,#112638f5,#071720f5);color:#f4f8f3;box-shadow:0 0 14px #7cdcb02b,inset 0 1px #ffffff12;font-family:Arial,sans-serif;text-decoration:none}
.home-v76 .home-store-icon{width:23px;height:26px;flex:none;filter:drop-shadow(0 0 4px #c5f8d833)}
.home-v76 .home-store-copy{display:flex;flex-direction:column;gap:1px;min-width:0;white-space:nowrap}
.home-v76 .home-store-copy small{font-size:10px;line-height:1.2;color:#d0ded5}
.home-v76 .home-store-copy strong{font-size:14px;line-height:1.2;font-weight:600;letter-spacing:.1px}
.home-v76 .home-store-android{transition:box-shadow .18s,border-color .18s}
.home-v76 .home-store-ios{border-color:#d1c6aa75;background:linear-gradient(125deg,#29291ff2,#111c24f5);box-shadow:0 0 12px #ecd7a922,inset 0 1px #ffffff12;color:#f2e7d3}
.home-v76 .home-store-ios small{color:#d2cbbb}
@media(hover:hover){.home-v76 .home-store-android:hover{border-color:#b5e8c8;box-shadow:0 0 20px #7cdcb047,inset 0 1px #ffffff1f}}
/* Two compact rows avoid clipping or tiny badge labels on phones. */
@media(max-width:700px){
 .home-v76 .home-hero-copy{padding:8px 12px;gap:4px}
 .home-v76 .home-hero h1{font-size:25px;line-height:1.12}
 .home-v76 .home-hero p{font-size:14px;line-height:1.25}
 .home-v76 .home-hero-actions{display:grid;grid-template-columns:auto auto;gap:4px 8px}
 .home-v76 .home-hero-actions>.home-button{grid-column:1/-1;justify-self:start;min-height:32px;padding:4px 12px;font-size:13px}
 .home-v76 .home-store-badge{min-height:38px;padding:4px 8px;gap:6px}
 .home-v76 .home-store-icon{width:19px;height:23px}
 .home-v76 .home-store-copy small{font-size:9px}
 .home-v76 .home-store-copy strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.home-v76 .home-store-android{transition:none}}

/* V78: distinct, restrained card palettes. Hero, store badges, nav and Pro stay intact. */
.home-v76 .home-card-duel{--card-top:#174d69;--card-bottom:#102f49;--card-line:#5999ad;--button-top:#c2e8ee;--button-bottom:#8ac4d4;--button-ink:#112f40}
.home-v76 .home-card-tournaments{--card-top:#50366e;--card-bottom:#30223f;--card-line:#a18ab5;--button-top:#e1d2ee;--button-bottom:#bca1d0;--button-ink:#322141}
.home-v76 .home-card-solo{--card-top:#813e2e;--card-bottom:#4c2824;--card-line:#c58b73;--button-top:#f5cbb3;--button-bottom:#e8a080;--button-ink:#43251e}
.home-v76 .home-card-friends{--card-top:#205d59;--card-bottom:#153c3c;--card-line:#72a79b;--button-top:#c1e5d8;--button-bottom:#8dc5b5;--button-ink:#163c35}
.home-v76 .home-card-profile{--card-top:#514354;--card-bottom:#2b3040;--card-line:#a18a9d;--button-top:#e7d4df;--button-bottom:#c9a8bc;--button-ink:#392535}
.home-v76 .home-card:not(.home-card-pro){border-color:var(--card-line,var(--home-line))}
.home-v76 .home-card:not(.home-card-pro) .home-card-copy{background:linear-gradient(125deg,var(--card-top,#0a2034),var(--card-bottom,#051321));box-shadow:inset 0 1px #ffffff12}
.home-v76 .home-card:not(.home-card-pro) p{color:#f0edf1}
.home-v76 .home-card:not(.home-card-pro) .home-button{background:linear-gradient(135deg,var(--button-top,#f7ead1),var(--button-bottom,#d3b991));border-color:var(--card-line,#ded0b1);color:var(--button-ink,#21180f);box-shadow:0 2px 6px #0004,inset 0 1px #ffffff45}
@media(hover:hover){.home-v76 .home-card:not(.home-card-pro):hover{border-color:var(--button-top,#e0d2b8)}}

/* Only confirmed guest/Free states reserve rail space; no Pro/pending/unknown gap.
   1100px is a CSS viewport threshold, not the screenshot/device pixel width. */
body.home-page-v76 .home-center{margin:0}
body.home-page-v76 .home-ad-rail{display:none}
@media(min-width:1100px){
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-center{margin:0 132px}
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-ad-rail{display:flex;position:absolute;top:0;bottom:0;width:120px;min-height:450px;box-sizing:border-box}
 .home-v76 .home-ad-left{left:0}.home-v76 .home-ad-right{right:0}
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-card-copy{flex-direction:column;align-items:stretch;gap:12px;padding:12px}
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-card-copy>.home-button{align-self:stretch;margin-left:0;white-space:normal;min-height:40px}
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-welcome-copy{display:block}
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-welcome-copy p{border:0;padding:3px 0 0}
}
/* Rails stay out of the flow on phones/tablets; existing top/bottom banners remain. */
@media(max-width:1099.98px){
 body.home-page-v76:is([data-home-ad-state="guest"],[data-home-ad-state="free"]) .home-center{margin:0}
 body.home-page-v76 .home-ad-rail{display:none}
}

/* V79: two independent all-time leaderboards. Everything above is unchanged V78. */
.home-ranks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;container-type:inline-size}
.home-rank-card,.home-rank-dialog{--rank-ink:#f8eedc;--rank-muted:#bfccda;--rank-edge:#7997af78;--rank-accent:#e5b78f;--rank-own:#173f4b;--rank-own-edge:#7ac5cf;box-sizing:border-box;min-width:0;color:var(--rank-ink);border:1px solid var(--rank-edge);border-radius:9px;background:linear-gradient(135deg,#213b52,#142a3f 60%,#18283a);box-shadow:0 4px 14px #0005,inset 0 1px #ffffff12;padding:15px}
.home-rank-country,.home-rank-dialog[data-scope="country"]{--rank-muted:#dbc6d3;--rank-edge:#b38d9a80;--rank-accent:#f0c6a4;--rank-own:#56334e;--rank-own-edge:#d6a3cf;background:linear-gradient(135deg,#503043,#37283e 65%,#30273b)}
.home-rank-heading{display:flex;align-items:center;gap:10px;min-width:0}
.home-rank-heading-copy{min-width:0;flex:1}
.home-rank-heading h2{margin:0;font:400 22px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.3px;color:var(--rank-ink)}
.home-rank-eyebrow{display:block;font:600 9px/1.4 Arial,sans-serif;letter-spacing:1.8px;color:var(--rank-accent);margin-bottom:3px}
.home-rank-emblem{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:50%;border:1px solid #deb48f70;background:#eee2cf0c;color:var(--rank-accent)}
.home-rank-emblem svg{width:24px;height:24px}
.home-rank-card button,.home-rank-dialog button{flex:none;min-height:34px;padding:6px 10px;border:1px solid #d9c5a44d;border-radius:6px;background:#f4e6ce0c;color:var(--rank-ink);font:500 12px/1.2 Arial,sans-serif;cursor:pointer}
.home-rank-heading button{margin-left:auto;white-space:nowrap}.home-rank-heading button span{margin-left:5px;color:var(--rank-accent)}
.home-rank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;margin-top:10px;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;color:var(--rank-muted);font:500 9px/1.4 Arial,sans-serif;letter-spacing:.7px}
.home-rank-toolbar>span:first-child{white-space:nowrap}.home-rank-context{font-size:10px;letter-spacing:0;text-align:right}
.home-rank-country-label{display:flex;align-items:center;gap:6px;min-width:0;font:11px/1.4 Arial,sans-serif;letter-spacing:0}
.home-rank-country-label select{min-width:0;width:126px;max-width:100%;min-height:30px;border:1px solid #c7a7b65c;border-radius:5px;padding:2px 4px;background:#2c2335;color:#f8eedc;font:11px Arial,sans-serif}
.home-v76 .home-rank-status,.home-rank-dialog .home-rank-status{min-height:1.5em;margin:8px 0 3px;color:var(--rank-muted);font:11px/1.5 Arial,sans-serif}
.home-rank-list{list-style:none;margin:0;padding:0}
.home-rank-row{box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:58px;padding:7px 5px;border-bottom:1px solid #ffffff12;border-left:2px solid transparent}
.home-rank-row:last-child{border-bottom-color:transparent}
.home-rank-row.is-me{border:1px solid var(--rank-own-edge);border-left-width:3px;border-radius:6px;background:var(--rank-own);box-shadow:inset 0 1px #ffffff0a;margin-top:2px;margin-bottom:2px}
.home-rank-position{display:grid;place-items:center;flex:none;min-width:25px;min-height:25px;color:var(--rank-muted);font:700 11px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}
.home-rank-position:is(.is-top-1,.is-top-2,.is-top-3){border-radius:50%;border:1px solid #c6a26f;background:radial-gradient(circle at 35% 25%,#e8cda4,#b48151);box-shadow:inset 0 0 0 2px #18243255;color:#241d18}
.home-rank-position.is-top-2{border-color:#bac6d2;background:radial-gradient(circle at 35% 25%,#e5ebec,#99aab8);color:#24303b}
.home-rank-position.is-top-3{border-color:#c99b7b;background:radial-gradient(circle at 35% 25%,#e5b593,#a86b4c);color:#30201a}
.home-rank-avatar{width:36px;height:36px;flex:none;object-fit:cover;border:1px solid #e4d3bc6b;border-radius:50%;background:#182534;box-sizing:border-box}
.home-rank-player{flex:1;min-width:0}
.home-rank-name{display:flex;align-items:center;gap:5px;min-width:0;font:600 13px/1.25 Arial,sans-serif}
.home-rank-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit}
.home-rank-you{flex:none;padding:2px 4px;border-radius:3px;background:#ffffff1c;color:#fff2e0;font:700 9px/1 Arial,sans-serif}
.home-rank-meta{display:flex;align-items:center;gap:7px;min-height:17px;margin-top:4px;color:var(--rank-muted);font:10px/1.2 Arial,sans-serif}
.home-rank-flag-wrap{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:16.5px}
.home-rank-flag{display:block;width:22px;height:16.5px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #ffffff26}
.home-rank-gender{width:14px;height:14px;flex:none;color:var(--rank-muted)}
.home-rank-score{flex:none;max-width:34%;text-align:right;overflow-wrap:anywhere;color:var(--rank-ink);font:700 13px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums}
.home-rank-score small{display:block;margin-top:5px;color:var(--rank-muted);font:10px/1.2 Arial,sans-serif}
.home-rank-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #ffffff16}
.home-rank-footer small{color:var(--rank-muted);font:10px/1.4 Arial,sans-serif}.home-rank-footer button{min-height:30px;font-size:11px}
.home-v76 .home-rank-mine,.home-rank-dialog .home-rank-mine{margin:8px 0 0;padding:8px 10px;border-left:2px solid var(--rank-own-edge);border-radius:3px;background:#ffffff07;color:var(--rank-muted);font:11px/1.5 Arial,sans-serif}.home-rank-mine:empty{display:none}
.home-rank-login{display:inline-block;margin-top:8px;color:var(--rank-ink);font-size:12px;text-underline-offset:3px}
.home-rank-dialog{width:min(660px,calc(100vw - 24px));max-width:660px;max-height:80vh;max-height:80dvh;padding:18px;overflow:auto;overscroll-behavior:contain}
.home-rank-dialog::backdrop{background:#030811d9;backdrop-filter:blur(3px)}
.home-rank-dialog .home-rank-heading{position:sticky;top:-18px;padding:10px 0;background:#193047;z-index:1;box-shadow:0 4px 6px #0002}.home-rank-dialog[data-scope="country"] .home-rank-heading{background:#402b41}
.home-rank-dialog .home-rank-heading h2{font-size:21px}.home-rank-dialog .home-rank-row{min-height:58px}
.home-rank-card :focus-visible,.home-rank-dialog :focus-visible{outline:2px solid #fff0cb;outline-offset:3px}
@media(hover:hover){.home-rank-card button:hover,.home-rank-dialog button:hover{background:#f4e6ce20;border-color:#e2c6a5a6}}
@media(max-width:800px){.home-ranks{grid-template-columns:minmax(0,1fr)}}
@container(max-width:680px){.home-rank-card{grid-column:1/-1}}
@media(max-width:380px){.home-rank-card{padding:11px}.home-rank-heading{gap:7px}.home-rank-heading h2{font-size:20px}.home-rank-emblem{width:31px;height:31px}.home-rank-row{gap:6px;padding-inline:3px}.home-rank-avatar{width:32px;height:32px}.home-rank-score{font-size:12px}.home-rank-dialog{padding:12px}.home-rank-dialog .home-rank-heading{top:-12px}.home-rank-dialog .home-rank-heading h2{font-size:18px}}
