:root{--ui-page-bg:#04101c;--ui-panel-bg:#104e84f0;--ui-panel-bg-solid:#0e4a82;--ui-panel-bg-raised:#1a90c4;--ui-panel-vignette:linear-gradient(180deg, #ffffff5c 0%, #78e6ff1f 34%, #001e4633 100%);--ui-radius:1.55rem;--ui-radius-card:1.05rem;--ui-radius-pill:999px;--ui-frame:5px;--ui-rim:#140c38;--ui-panel-shadow:inset 0 3px 0 #ffffff70, inset 0 -6px 0 #00183852, 0 0 0 5px #1a1048, 0 8px 0 #0a0618, 0 18px 28px #0000006b;--ui-button-face:linear-gradient(180deg, #4ae0ff, #1288bc);--ui-button-shadow:inset 0 3px 0 #ffffff7a, inset 0 -4px 0 #001e3240, 0 6px 0 #0a2040;--ui-gold-face:linear-gradient(180deg, #fff08a, #ffc01a 58%, #f0a400);--ui-gold-shadow:inset 0 3px 0 #ffffff9e, inset 0 -4px 0 #b46e0052, 0 6px 0 #8a5a00;--ui-heading-stroke:0 3px 0 #140c38;--ui-border:#4ae4ff;--ui-border-strong:#9cffff;--ui-border-dim:#1c6e8c;--ui-inlay:#041320;--ui-accent:#ffe14d;--ui-accent-soft:#fff08a;--ui-accent-glow:#ffe14d73;--ui-focus:#9cffff;--ui-text:#e8f8ff;--ui-text-bright:#fff;--ui-text-dim:#9fd4e8;--ui-heading:#fff3a0;--ui-ready:#7fbf72;--ui-danger:#e25b52;--ui-danger-text:#ffc9c2;--ui-font-heading:"Trebuchet MS", "Segoe UI", "Avenir Next", ui-rounded, system-ui, sans-serif;color:var(--ui-text);background:var(--ui-page-bg);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body.home{background-color:#0a3a8c;background-image:radial-gradient(circle,#ffffff29 1.3px,#0000 1.7px),radial-gradient(80% 50% at 50% -10%,#50e6ff61,#0000 70%),radial-gradient(60% 40% at 80% 110%,#ffe14d38,#0000 60%);background-size:26px 26px,auto,auto;min-width:320px;min-height:100vh;margin:0;padding:clamp(1rem,3vw,2.5rem)}.home-shell{flex-direction:column;gap:clamp(1.5rem,4vw,2.5rem);width:min(100%,960px);margin-inline:auto;display:flex}.home-hero{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding-top:clamp(1rem,5vh,3rem);display:flex}.home-logo{image-rendering:auto;filter:drop-shadow(0 .35rem .2rem #0006)drop-shadow(0 .7rem 1.6rem #50e6ff6b)drop-shadow(0 0 1.8rem #ffe14d47);width:min(100%,480px);height:auto}.home-tagline{font-family:var(--ui-font-heading);color:var(--ui-heading);text-shadow:0 3px #140c38,0 0 14px #ffe14d59;margin:0;font-size:clamp(1.1rem,2.6vw,1.45rem);font-weight:800}.home-play{border-radius:var(--ui-radius-pill);background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow), 0 12px 22px #00000061, 0 0 26px var(--ui-accent-glow);color:#12304a;font-family:var(--ui-font-heading);letter-spacing:.06em;text-transform:uppercase;border:4px solid #fff6b0;padding:.95rem 3.4rem;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:800;text-decoration:none;display:inline-block}.home-play:hover,.home-play:focus-visible{color:#061018;border-color:var(--ui-focus);box-shadow:var(--ui-gold-shadow), 0 0 32px #9cffff80;outline:none}.home-play-note{color:var(--ui-text-dim);margin:0;font-size:.85rem}.home-cta-signed-out,.home-cta-signed-in{flex-direction:column;align-items:center;gap:.7rem;display:flex}.home-cta-signed-out[hidden],.home-cta-signed-in[hidden],.home-feed-panel[hidden]{display:none}.home-login-link{color:var(--ui-accent-soft);font-size:.9rem}.home-login-link:hover,.home-login-link:focus-visible{color:var(--ui-focus)}.home-session{color:var(--ui-text-dim);margin:0;font-size:.85rem}.home-session-email{color:var(--ui-text-bright)}.home-logout{color:var(--ui-accent-soft);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:.35rem;padding:0;text-decoration:underline}.home-logout:hover:not(:disabled),.home-logout:focus-visible{color:var(--ui-focus)}.home-logout:disabled{opacity:.6;cursor:default}.home-columns{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=720px){.home-columns{grid-template-columns:3fr 2fr;align-items:start}}.home-panel{border:var(--ui-frame) solid var(--ui-border-strong);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);box-shadow:var(--ui-panel-shadow);border-radius:var(--ui-radius);padding:0 1.25rem 1.25rem;position:relative}.home-panel h2{border-radius:calc(var(--ui-radius) - 5px) calc(var(--ui-radius) - 5px) .85rem .85rem;font-family:var(--ui-font-heading);letter-spacing:.06em;text-transform:uppercase;text-align:center;color:#12304a;text-shadow:0 1px #ffffff8c;background:var(--ui-gold-face);margin:0 -1.25rem 1rem;padding:.75rem 1.15rem .8rem;font-size:1.2rem;font-weight:800;box-shadow:inset 0 2px #ffffff80,0 4px #8a5a00}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-feed-tabs{gap:.5rem;margin-bottom:.9rem;display:flex}.home-feed-tab{border:2px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-panel-bg-solid);color:var(--ui-text-dim);font:inherit;cursor:pointer;flex:1;padding:.5rem 0;font-weight:700;box-shadow:inset 0 2px #ffffff1f}.home-feed-tab[aria-selected=true]{background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow);color:#12304a;border-color:#fff6b0}.home-news-list,.home-highscores-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.home-news-entry{border-top:1px solid var(--ui-border-dim);padding-top:.75rem}.home-news-entry:first-child{border-top:none;padding-top:0}.home-news-entry time{color:var(--ui-text-dim);font-size:.78rem}.home-news-entry h3{font-family:var(--ui-font-heading);color:var(--ui-text-bright);margin:.15rem 0 .35rem;font-size:1.02rem}.home-news-entry p{margin:0;font-size:.9rem;line-height:1.5}.home-highscores-status{color:var(--ui-text-dim);margin:0 0 .75rem;font-size:.88rem}.home-highscores-status:empty{display:none}.home-highscores-list{gap:.35rem}.home-highscore-row{border-top:1px solid var(--ui-border-dim);grid-template-columns:2.2rem 1fr auto auto;align-items:baseline;gap:.6rem;padding:.45rem 0 .15rem;font-size:.9rem;display:grid}.home-highscore-row:first-child{border-top:none;padding-top:0}.home-highscore-rank{color:var(--ui-accent);font-family:var(--ui-font-heading)}.home-highscore-name{color:var(--ui-text-bright);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-highscore-level,.home-highscore-damage{color:var(--ui-text-dim);font-variant-numeric:tabular-nums}.home-auth-tabs{gap:.5rem;margin-bottom:.9rem;display:flex}.home-auth-tab{border:2px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-panel-bg-solid);color:var(--ui-text-dim);font:inherit;cursor:pointer;flex:1;padding:.5rem 0;font-weight:700;box-shadow:inset 0 2px #ffffff1f}.home-auth-tab[aria-selected=true]{background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow);color:#12304a;border-color:#fff6b0}.home-auth-form{flex-direction:column;gap:.4rem;display:flex}.home-auth-label{color:var(--ui-text-dim);font-size:.82rem}.home-auth-form input{border:2px solid var(--ui-border);background:var(--ui-panel-bg-solid);color:var(--ui-text-bright);font:inherit;border-radius:1rem;padding:.6rem .75rem;box-shadow:inset 0 2px #ffffff1a}.home-auth-form input:focus-visible{outline:1px solid var(--ui-focus);border-color:var(--ui-accent)}.home-auth-submit{border-radius:var(--ui-radius-pill);background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow);color:#12304a;font-family:var(--ui-font-heading);letter-spacing:.05em;cursor:pointer;border:3px solid #fff6b0;margin-top:.6rem;padding:.7rem 0;font-size:1rem;font-weight:800}.home-auth-submit:hover:not(:disabled),.home-auth-submit:focus-visible{color:#061018;border-color:var(--ui-focus);outline:none}.home-auth-submit:disabled{opacity:.6;cursor:default}.home-auth-status{min-height:1.2em;margin:.4rem 0 0;font-size:.85rem}.home-auth-status[data-tone=error]{color:var(--ui-danger-text)}.home-auth-status[data-tone=info]{color:var(--ui-text-dim)}.home-auth-status[data-tone=success]{color:var(--ui-ready)}.home-account-note{color:var(--ui-text-dim);margin:.9rem 0 0;font-size:.82rem;line-height:1.5}.home-admin-link{color:var(--ui-accent-soft);text-underline-offset:3px;font-size:.88rem;text-decoration:underline}.home-admin-link:hover,.home-admin-link:focus-visible{color:var(--ui-focus);outline:none}.home-footer{border-top:1px solid var(--ui-border-dim);text-align:center;color:var(--ui-text-dim);padding:1rem 0 .5rem;font-size:.82rem}.home-footer p{margin:.2rem 0}
