.landing-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;padding:62px 12px 48px}.landing-eyebrow{font-size:12px;letter-spacing:.2em;color:#d4b0ff;font-weight:700}.landing-hero h2{font-size:clamp(36px,5vw,64px);line-height:1.12;margin:18px 0 22px;letter-spacing:-.04em}.landing-lead{color:#c6bbd1;line-height:1.8;max-width:540px;font-size:17px}.landing-primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:#cfadff;color:#211033;border:0;border-radius:14px;padding:17px 24px;min-height:52px;font-weight:700;text-decoration:none;margin-top:20px;cursor:pointer;font-size:16px}.landing-primary:hover{background:#e2caff}.landing-primary:disabled{opacity:.5;cursor:not-allowed}.landing-trial{font-size:13px;color:#d0c0df;line-height:1.6;margin:14px 0 8px}.landing-consent{font-size:12px;color:#9d90ac}.hero-art{position:relative;display:grid;place-items:center;min-height:320px;background:radial-gradient(ellipse,#844bd42e,transparent 68%)}.hero-wheel{width:260px;aspect-ratio:1;border:10px solid #2b1643;border-radius:50%;background:conic-gradient(#9463d9 0deg 60deg,#422964 60deg 120deg,#c58cb6 120deg 180deg,#5a387d 180deg 240deg,#bb94ef 240deg 300deg,#36254e 300deg);box-shadow:0 18px 0 #1d102c,0 30px 80px #9c5bdd30;transform:rotate(-15deg);display:grid;place-items:center}.hero-wheel span{background:#20102f;border:5px solid #d9b9ff;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;font-size:35px;color:#e9d3ff}.hero-orbit{position:absolute;bottom:8px;right:14%;padding:10px 18px;border:1px solid #755192;border-radius:40px;background:#21112d;color:#d1b3eb;font-size:13px;letter-spacing:.12em}.landing-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;padding:24px 12px;gap:24px}.landing-benefits strong,.landing-benefits span{display:block}.landing-benefits strong{font-size:15px;margin-bottom:8px}.landing-benefits span{color:#aaa0b7;font-size:13px;line-height:1.6}.landing-intro{padding:36px 0 8px}.landing-intro h2{font-size:23px}.landing-intro p{color:#aaa0b7;font-size:14px;line-height:1.8}.login-dialog{margin:auto;color:#f8f0ff;background:#21152f;border:1px solid #624078;border-radius:22px;padding:30px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;box-shadow:0 30px 120px #0008}.login-dialog::backdrop{background:#08040dc9;backdrop-filter:blur(5px)}.login-dialog h2{margin:6px 40px 16px 0;font-size:25px}.login-dialog p{line-height:1.7;color:#c9bbd4;font-size:14px}.login-dialog .landing-primary{width:100%;box-sizing:border-box;margin-top:12px}.login-close{position:absolute;right:14px;top:12px;width:44px;height:44px;background:none;border:0;color:#dac9e9;font-size:24px;cursor:pointer}.login-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.7;margin:20px 0 8px;cursor:pointer}.login-consent input{margin-top:5px;min-width:18px;min-height:18px;accent-color:#cba5f6}.login-status{min-height:24px}.login-secondary{display:block;color:#d8b9fb;text-align:center;padding:14px;min-height:44px}.login-dialog button:focus-visible,.login-dialog a:focus-visible,.landing-primary:focus-visible{outline:3px solid #edc9ff;outline-offset:4px}.login-dialog [hidden]{display:none!important}
@media(max-width:680px){.landing-hero{grid-template-columns:1fr;padding:26px 0 28px;gap:18px}.landing-hero h2{font-size:39px;margin:14px 0 16px}.landing-lead{font-size:15px}.hero-art{min-height:185px;grid-row:2}.hero-wheel{width:155px;border-width:7px;box-shadow:0 10px 0 #1d102c,0 20px 40px #9c5bdd30}.hero-wheel span{width:48px;height:48px;font-size:25px;border-width:3px}.hero-orbit{right:15%;bottom:0;font-size:11px;padding:8px 12px}.landing-benefits{gap:12px;padding:20px 0}.landing-benefits strong{font-size:13px}.landing-benefits span{font-size:12px}.landing-intro{padding-top:26px}.landing-intro h2{font-size:21px}.landing-primary{padding:15px 18px}.login-dialog{padding:24px}.site-header{flex-wrap:wrap;gap:12px}.header-actions{flex-wrap:wrap}.brand-text p{font-size:11px}}
/* A signed-in visitor arrives directly at the game lobby. */
#member-lobby{display:none}
html[data-auth="signed-in"] #member-lobby{display:block;padding:24px 0 8px}
html[data-auth="signed-in"] .landing-hero,html[data-auth="signed-in"] .landing-benefits,html[data-auth="signed-in"] .landing-intro{display:none}
#member-lobby h2{margin:0 0 8px;font-size:26px}
#member-lobby p{margin:0;color:#cbb6de;font-size:14px;line-height:1.6}
.login-tabs{display:flex;gap:4px;margin:0 42px 22px 0;padding:4px;border-radius:12px;background:#140d20}
.login-tabs button{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:#b7a7c5;font-size:15px;font-weight:600;cursor:pointer}
.login-tabs button[aria-selected="true"]{background:#cfaeff;color:#211033}
@media(max-width:680px){html[data-auth="signed-in"] #member-lobby{padding-top:16px}#member-lobby h2{font-size:23px}.login-dialog{padding:22px 20px}.login-tabs{margin-bottom:18px}}

.auth-providers{display:flex;flex-direction:column;gap:12px}.auth-provider{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#1f1f1f;border:1px solid #747775;font-family:Arial,sans-serif;font-size:14px;font-weight:500}.auth-provider img{flex:none;width:20px;height:20px;object-fit:contain}.auth-provider:hover{background:#f1f3f4}.auth-provider.auth-telegram{background:#168acd;border-color:#168acd;color:#fff}.auth-provider.auth-telegram:hover{background:#127bb7}
/* Keep the lobby stable while opening dialogs; account details never navigate. */
html{scrollbar-gutter:stable}
.login-dialog::backdrop{backdrop-filter:none}
#player-summary dl{margin:0;display:grid;gap:6px}
#player-summary dt{font-size:12px;color:#b8a5c7;margin-top:14px}
#player-summary dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
#player-plan{font-weight:700;color:#dbb6ff}
.player-logout{width:100%;margin-top:20px;background:transparent;border:1px solid #624078;border-radius:12px;cursor:pointer;font:inherit}
/* Filtering or switching editions should update immediately, without a staggered fade. */
#game-grid .game-card{animation:none}
