@font-face{font-family:Bricolage;src:url('../assets/bricolage-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Bricolage;src:url('../assets/bricolage-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--yellow:#ffd84d;--ink:#291c35;--night:#160d20;--purple:#743690;--purple-light:#d68cff;--coral:#ff6a61;--paper:#fff9e9;--muted:#c9b9d1;font-family:Bricolage,Arial,sans-serif;color:var(--paper);background:var(--night);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}
html{min-height:100%;background:var(--night)}
body{margin:0;min-height:100vh;min-height:100svh;background:radial-gradient(circle at 9% 8%,#6b35813d 0 12%,transparent 34%),radial-gradient(circle at 92% 92%,#ffd84d18 0 8%,transparent 30%),var(--night);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(125deg,#000,transparent 60%)}
button,a{font:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-underline-offset:4px}
button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.skip{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--yellow);color:var(--ink);padding:.8rem 1rem;font-weight:700}.skip:focus{top:1rem}
.topbar{position:relative;z-index:2;width:min(1160px,calc(100% - 48px));margin:auto;padding:24px 0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}
.brand{font-size:2.35rem;line-height:1;font-weight:700;letter-spacing:-.05em;text-decoration:none}.brand span{color:var(--yellow)}
.best-chip{display:flex;align-items:center;gap:14px;padding:8px 9px 8px 14px;border:1px solid #ffffff29;border-radius:99px;color:var(--muted)}
.best-chip small{font-size:.63rem;letter-spacing:.1em}.best-chip strong{display:grid;place-items:center;min-width:46px;padding:5px 9px;border-radius:99px;background:var(--yellow);color:var(--ink);font-variant-numeric:tabular-nums}
.page{position:relative;z-index:1;width:min(1160px,calc(100% - 48px));margin:0 auto;padding:50px 0 42px;display:grid;grid-template-columns:minmax(330px,.86fr) minmax(440px,1.14fr);gap:clamp(42px,7vw,96px);align-items:center}
.game-copy{align-self:center}
.eyebrow{margin:0 0 18px;color:var(--yellow);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.game-copy h1{font-size:clamp(4.8rem,8vw,8rem);line-height:.77;letter-spacing:-.075em;margin:0;text-wrap:balance}
.game-copy h1 span{color:var(--yellow)}
.lede{max-width:32ch;margin:30px 0 30px;color:#eee2f2;font-size:1.14rem;line-height:1.6}
.rules{list-style:none;padding:0;margin:0;display:grid;gap:1px;max-width:430px;border:1px solid #ffffff1f;border-radius:11px;overflow:hidden;background:#ffffff1f}
.rules li{display:flex;align-items:center;gap:15px;background:#21142c;padding:14px 16px;font-size:.92rem}
.rules span{color:var(--yellow);font-size:.7rem;font-weight:700;letter-spacing:.08em}
.privacy-note{color:#a994b4;font-size:.76rem;margin:17px 0 0}
.cabinet{position:relative;width:100%;max-width:570px;justify-self:end;padding:12px;background:#0c0711;border:1px solid #ffffff38;border-radius:20px;box-shadow:18px 22px 0 #09050d,0 34px 90px #0008}
.cabinet-bar,.cabinet-foot{display:flex;align-items:center;justify-content:space-between;color:#a994b4;padding:3px 6px 12px;font-size:.65rem;font-weight:700;letter-spacing:.09em}
.cabinet-foot{padding:12px 6px 3px}.cabinet-foot strong{color:var(--yellow)}
.live-light{color:#dcd0e2}.live-light i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#71e29b;box-shadow:0 0 10px #71e29b}
.hud{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:1px;background:#ffffff20;border:1px solid #ffffff22;border-bottom:0;border-radius:11px 11px 0 0;overflow:hidden}
.hud>div{padding:10px 12px;background:#1b1024}.hud small{display:block;margin-bottom:3px;color:#9f8baa;font-size:.58rem;letter-spacing:.11em}.hud strong{font-size:1.05rem;color:var(--yellow);font-variant-numeric:tabular-nums}.hud>div:nth-child(2){text-align:center}.hud>div:last-child{text-align:right}.hud .hearts strong{color:var(--coral);letter-spacing:.05em}
.arena{position:relative;isolation:isolate;overflow:hidden;height:min(64vh,610px);min-height:520px;border:1px solid #ffffff22;border-radius:0 0 11px 11px;background:radial-gradient(circle at 50% 84%,#ffd84d20 0 8%,transparent 29%),linear-gradient(180deg,#2d193b 0%,#160d20 72%);touch-action:manipulation;user-select:none}
.arena.impact{animation:impact .18s linear}.arena.raid{box-shadow:inset 0 0 55px #ff6a6133}
.grid{position:absolute;inset:0;z-index:-2;background:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000 0 55%,transparent 90%)}
.grid::after{content:"";position:absolute;left:0;right:0;bottom:20%;height:1px;background:var(--coral);box-shadow:0 0 18px var(--coral);opacity:.55}
.community-zone{position:absolute;z-index:-1;left:50%;bottom:16px;translate:-50% 0;width:160px;height:160px;display:grid;place-items:center}
.community-zone img{position:relative;z-index:3;width:94px;height:94px;object-fit:cover;border:5px solid var(--yellow);border-radius:50%;box-shadow:0 8px 24px #0009}
.community-zone strong{position:absolute;z-index:4;bottom:0;padding:5px 9px;background:var(--yellow);color:var(--ink);border-radius:4px;font-size:.59rem;letter-spacing:.1em}
.beacon-ring{position:absolute;border:2px solid #ffd84d70;border-radius:50%;animation:beacon 1.8s ease-out infinite}.ring-one{width:125px;height:125px}.ring-two{width:158px;height:158px;animation-delay:.7s}
.threat{position:absolute;z-index:3;left:calc(var(--x)*1%);top:calc(var(--y)*1%);translate:-50% -50%;display:grid;place-items:center;width:82px;height:66px;padding:0;border:2px solid var(--purple-light);border-radius:48% 52% 43% 57%/55% 39% 61% 45%;background:linear-gradient(145deg,#9855b7,#4d2164);color:white;box-shadow:0 10px 22px #0008,inset 0 2px 9px #ffffff22;font-size:.67rem;font-weight:700;letter-spacing:.045em;text-shadow:0 1px 2px #000;will-change:top;transition:scale .08s ease,filter .08s ease}
.threat::before,.threat::after{content:"";position:absolute;top:19px;width:7px;height:8px;background:white;border-radius:50%;box-shadow:inset 0 -3px #291c35}.threat::before{left:24px}.threat::after{right:24px}
.threat span{translate:0 12px}.threat:hover{filter:brightness(1.16);scale:1.05}.threat:active{scale:.88}
.threat.heavy{width:96px;height:76px;border-width:4px;background:linear-gradient(145deg,#82439f,#3c174f)}
.threat.heavy::after{content:"2×";top:-8px;right:-7px;width:26px;height:26px;display:grid;place-items:center;color:var(--ink);background:var(--yellow);box-shadow:none;font-size:.58rem;font-weight:700}
.threat.swarm{width:64px;height:53px;background:linear-gradient(145deg,#ad5b7e,#662941);border-color:#ff9bc1;font-size:.58rem}
.threat.swarm::before{left:18px}.threat.swarm::after{right:18px}.threat.swarm span{translate:0 10px}
.threat.damaged{filter:brightness(1.8);scale:.88}
.unity{position:absolute;z-index:4;left:calc(var(--x)*1%);top:calc(var(--y)*1%);translate:-50% -50%;display:grid;place-items:center;width:76px;height:76px;padding:0;border:5px solid #fff7c9;border-radius:50%;background:var(--yellow);color:var(--ink);box-shadow:0 0 0 9px #ffd84d20,0 0 38px #ffd84daa;font-size:.66rem;font-weight:700;letter-spacing:.055em;animation:unity-pulse .72s ease-in-out infinite alternate;will-change:top}
.heart-pickup{position:absolute;z-index:4;left:calc(var(--x)*1%);top:calc(var(--y)*1%);translate:-50% -50%;display:grid;align-content:center;justify-items:center;width:76px;height:76px;padding:0;border:5px solid #ffe2e0;border-radius:50%;background:var(--coral);color:#2d1020;box-shadow:0 0 0 9px #ff6a6126,0 0 38px #ff6a61bb;animation:heart-pulse .72s ease-in-out infinite alternate;will-change:top}
.heart-pickup span{font-size:1.9rem;line-height:1}.heart-pickup small{font-size:.61rem;font-weight:700;letter-spacing:.08em}
.combo{position:absolute;z-index:6;left:50%;top:20%;translate:-50% 0;color:var(--yellow);font-size:2rem;font-weight:700;letter-spacing:-.04em;text-shadow:0 4px 14px #000;opacity:0;pointer-events:none}.combo.show{animation:combo-pop .55s ease-out}
.burst{position:absolute;z-index:7;left:calc(var(--x)*1%);top:calc(var(--y)*1%);translate:-50% -50%;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--yellow);text-shadow:0 2px 8px #000;pointer-events:none;animation:burst .62s ease-out forwards}
.burst.healing{color:#ffaaa4}
.raid-warning{position:absolute;z-index:5;left:50%;top:14px;translate:-50% 0;padding:6px 10px;border:1px solid var(--coral);border-radius:4px;background:#36131e;color:#ff938c;font-size:.68rem;font-weight:700;letter-spacing:.14em;opacity:0}.arena.raid .raid-warning{animation:raid-flash .8s steps(2,end) infinite}
.overlay{position:absolute;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#100917d9;backdrop-filter:blur(8px)}
.overlay[hidden]{display:none}
.overlay-card{position:relative;width:min(100%,390px);padding:32px 28px;border:1px solid #ffffff38;border-radius:14px;background:#21142df2;text-align:center;box-shadow:10px 12px 0 #0b0610}
.overlay-kicker{margin:0 0 12px;color:var(--yellow);font-size:.69rem;font-weight:700;letter-spacing:.13em}.overlay-card h2{margin:0 0 24px;font-size:2.7rem;line-height:.92;letter-spacing:-.055em}.overlay-card>p:last-child{margin:16px auto 0;max-width:30ch;color:#b9a7c2;font-size:.75rem;line-height:1.45}
.sticker{position:absolute;right:-8px;top:-12px;rotate:6deg;padding:9px 10px;background:var(--coral);color:white;border-radius:4px;font-size:.7rem;font-weight:700;box-shadow:4px 5px 0 #100917}
.primary-button,.share-button{min-height:50px;padding:13px 18px;border:1px solid var(--yellow);border-radius:6px;font-weight:700;letter-spacing:.035em}.primary-button{background:var(--yellow);color:var(--ink);box-shadow:5px 6px 0 #0c0711}.primary-button span{margin-left:18px}.primary-button:hover{background:#ffe583}.primary-button:active{translate:2px 2px;box-shadow:3px 4px 0 #0c0711}
.final-score{margin:2px 0 18px}.final-score small{display:block;color:#a994b4;font-size:.6rem;letter-spacing:.13em}.final-score strong{display:block;color:var(--yellow);font-size:4rem;line-height:1;font-variant-numeric:tabular-nums}
.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 18px;border:1px solid #ffffff22;border-radius:6px;overflow:hidden;background:#ffffff22}.result-stats span{padding:11px 8px;background:#180e21;color:#b9a7c2;font-size:.69rem}.result-stats strong{display:block;color:white;font-size:1.1rem}
.new-best{width:max-content;margin:0 auto 17px!important;padding:5px 8px;background:var(--coral);color:white!important;border-radius:3px;font-size:.62rem!important;font-weight:700;letter-spacing:.1em;rotate:-2deg}
.result-overlay{overflow-y:auto;place-items:start center;scrollbar-width:none}.result-overlay::-webkit-scrollbar{display:none}
.result-card{margin:auto}
.board-submit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 8px;padding:10px;background:#160d20;border:1px solid #ffffff24;border-radius:7px;text-align:left}
.player-name-field{min-width:0}.player-name-field label{display:block;margin-bottom:5px;color:#9f8baa;font-size:.55rem;font-weight:700;letter-spacing:.1em}.player-name-field input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #ffffff2f;border-radius:5px;outline:0;background:#0e0814;color:white;font-size:1rem;font-weight:700}.player-name-field input::placeholder{color:#806f89}.player-name-field input:hover{border-color:#ffffff55}.player-name-field input:focus{border-color:var(--yellow);box-shadow:0 0 0 2px #ffd84d24}.player-name-field input:disabled{cursor:not-allowed;opacity:.68}
.board-submit button{min-height:38px;padding:8px 10px;border:1px solid var(--yellow);border-radius:5px;background:var(--yellow);color:var(--ink);font-size:.61rem;font-weight:700;letter-spacing:.04em}.board-submit button:disabled{cursor:not-allowed;border-color:#ffffff2b;background:#ffffff12;color:#927f9c}
.board-status{min-height:1.25em!important;margin:7px 0 14px!important;color:#c7b5d0!important;font-size:.66rem!important}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-button{border-color:#ffffff40;background:transparent;color:white}.share-button:hover{background:#ffffff10}.share-status{min-height:1.2em!important;margin:12px 0 0!important;color:var(--yellow)!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.leaderboard{position:relative;z-index:1;width:min(1160px,calc(100% - 48px));margin:28px auto 64px;padding:54px;border:1px solid #ffffff29;border-radius:18px;background:#110a18;box-shadow:12px 14px 0 #09050d}
.leaderboard-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.leaderboard-heading .eyebrow{margin-bottom:10px}.leaderboard-heading h2{margin:0;font-size:clamp(2.7rem,5vw,4.8rem);line-height:.92;letter-spacing:-.055em}.beta-note{display:flex;align-items:center;gap:12px;max-width:310px}.beta-note>span{padding:6px 8px;border-radius:3px;background:var(--yellow);color:var(--ink);font-size:.6rem;font-weight:700;letter-spacing:.08em;rotate:-3deg}.beta-note p{margin:0;color:#9f8baa;font-size:.76rem;line-height:1.35}
.leaderboard-list{list-style:none;padding:0;margin:0;border:1px solid #ffffff22;border-radius:10px;overflow:hidden;background:#ffffff18}.leaderboard-list>li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:66px;padding:10px 18px;background:#1d1126;border-bottom:1px solid #ffffff16}.leaderboard-list>li:last-child{border-bottom:0}.leaderboard-list>li:nth-child(1) .leaderboard-rank{background:var(--yellow);color:var(--ink)}.leaderboard-list>li:nth-child(2) .leaderboard-rank{background:#d5c8dc;color:var(--ink)}.leaderboard-list>li:nth-child(3) .leaderboard-rank{background:#c66e58;color:white}.leaderboard-list>li.is-player{background:#332040;box-shadow:inset 4px 0 var(--yellow)}
.leaderboard-rank{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff30;border-radius:50%;color:#af9bba;font-size:.7rem;font-variant-numeric:tabular-nums}.leaderboard-name{min-width:0}.leaderboard-name>strong{display:block;overflow:hidden;font-size:.94rem;white-space:nowrap;text-overflow:ellipsis}.leaderboard-name>span{display:block;margin-top:3px;color:#9f8baa;font-size:.68rem}.leaderboard-score{color:var(--yellow);font-size:1.28rem;font-variant-numeric:tabular-nums}.leaderboard-empty{display:block!important;padding:28px!important;color:#9f8baa;text-align:center;font-size:.82rem}
.leaderboard-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}.leaderboard-foot p{max-width:65ch;margin:0;color:#8e7a99;font-size:.7rem;line-height:1.45}.leaderboard-foot button{flex:0 0 auto;padding:8px 0;border:0;border-bottom:1px solid #ffffff4a;background:transparent;color:#cbbbd2;font-size:.65rem;font-weight:700;letter-spacing:.07em}.leaderboard-foot button:hover{color:var(--yellow);border-color:var(--yellow)}.leaderboard-foot button:disabled{cursor:wait;opacity:.55}
footer{position:relative;z-index:2;width:min(1160px,calc(100% - 48px));margin:0 auto;padding:22px 0 30px;border-top:1px solid #ffffff1f;display:flex;justify-content:space-between;gap:20px;color:#9f8baa;font-size:.76rem}
@keyframes beacon{0%{scale:.7;opacity:.85}100%{scale:1.12;opacity:0}}
@keyframes unity-pulse{to{scale:1.1;box-shadow:0 0 0 14px #ffd84d12,0 0 50px #ffd84ddd}}
@keyframes heart-pulse{to{scale:1.1;box-shadow:0 0 0 14px #ff6a6118,0 0 50px #ff6a61dd}}
@keyframes combo-pop{0%{opacity:0;scale:.65}30%{opacity:1;scale:1.08}100%{opacity:0;translate:-50% -24px}}
@keyframes burst{0%{opacity:0;scale:.7}20%{opacity:1;scale:1.08}100%{opacity:0;translate:-50% -46px}}
@keyframes impact{0%,100%{translate:0}25%{translate:-5px 2px}50%{translate:5px -1px}75%{translate:-3px -2px}}
@keyframes raid-flash{50%{opacity:1}}
@media(max-width:900px){.page{grid-template-columns:1fr;gap:38px;max-width:620px;padding-top:36px}.game-copy{text-align:center}.game-copy h1{font-size:clamp(4.5rem,16vw,7rem)}.lede,.rules{margin-left:auto;margin-right:auto}.privacy-note{text-align:center}.cabinet{justify-self:center}.arena{height:min(70vh,610px)}.leaderboard{max-width:620px;padding:36px}.leaderboard-heading{align-items:start}.beta-note{max-width:230px}}
@media(max-width:560px){.topbar,.page,.leaderboard,footer{width:calc(100% - 26px)}.topbar{padding-top:17px}.brand{font-size:1.95rem}.best-chip small{display:none}.best-chip{padding-left:8px}.page{padding-top:31px}.game-copy h1{font-size:clamp(4.15rem,21vw,6rem)}.lede{font-size:1rem;margin-block:22px}.rules{display:none}.privacy-note{margin-top:15px}.cabinet{padding:8px;border-radius:14px;box-shadow:8px 10px 0 #09050d}.cabinet-bar,.cabinet-foot{font-size:.56rem}.cabinet-foot span:last-child{max-width:62%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.arena{height:64vh;min-height:500px}.hud>div{padding:9px 8px}.hud strong{font-size:.91rem}.overlay{padding:14px}.overlay-card{padding:25px 17px}.overlay-card h2{font-size:2.2rem}.result-card h2{margin-bottom:16px}.final-score strong{font-size:3.3rem}.result-actions{grid-template-columns:1fr}.board-submit{grid-template-columns:1fr}.board-submit button{width:100%}.threat{scale:.94}.leaderboard{margin-top:12px;margin-bottom:44px;padding:27px 16px;box-shadow:7px 8px 0 #09050d}.leaderboard-heading{display:block;margin-bottom:22px}.beta-note{margin-top:16px;max-width:none}.leaderboard-list>li{grid-template-columns:39px minmax(0,1fr) auto;gap:10px;padding:9px 10px}.leaderboard-rank{width:31px;height:31px}.leaderboard-name>strong{font-size:.81rem}.leaderboard-score{font-size:1rem}.leaderboard-foot{align-items:start;flex-direction:column;gap:14px}footer{flex-direction:column;align-items:center;text-align:center}}
@media(max-width:380px){.game-copy h1{font-size:4rem}.game-copy{display:none}.page{padding-top:18px}.arena{height:calc(100svh - 196px);min-height:470px}.community-zone{scale:.88;transform-origin:bottom}.overlay-card{padding:25px 17px}.cabinet-foot span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.beacon-ring{opacity:.35}.arena.impact{outline:2px solid var(--coral)}.combo.show{opacity:1}}

/* Arcade art direction: the illustration carries the scene; controls stay crisp above it. */
::selection{background:var(--yellow);color:var(--ink)}
html{scrollbar-color:#6d487b #160d20}
body{background:radial-gradient(circle at 83% 9%,#61347a44,transparent 34%),radial-gradient(circle at 12% 64%,#e27d5420,transparent 32%),#160d20}
body::before{opacity:.22;background-image:radial-gradient(#d7a9ec88 .8px,transparent .8px);background-size:48px 48px;mask-image:linear-gradient(120deg,#000,transparent 75%)}
.topbar{border-bottom-color:#d9b9e044}
.brand{text-shadow:0 2px 20px #0008}
.best-chip{background:#321d4080;box-shadow:0 8px 22px #0003}
.page{gap:clamp(34px,5vw,76px)}
.game-copy h1{font-size:clamp(4.45rem,7.2vw,6rem);line-height:.85;letter-spacing:-.045em;text-shadow:0 8px 35px #0006}
.lede{color:#f0e4f3}
.rules{border-color:#b381c64a;background:#9c71b738;box-shadow:0 15px 34px #08030f40}
.rules li{background:linear-gradient(90deg,#321b42,#271532);min-height:49px}
.rules li+li{border-top:1px solid #ffffff12}
.rules span{min-width:22px}
.cabinet{background:linear-gradient(145deg,#40224e 0%,#1b1027 24%,#0d0815 75%);border:1px solid #ca98d263;border-radius:23px;box-shadow:0 2px 0 #e0a5ed35 inset,0 22px 34px #08030bb3,0 42px 90px #0008}
.cabinet::before{content:"";position:absolute;inset:4px;border:1px solid #ffffff12;border-radius:18px;pointer-events:none}
.cabinet-bar,.cabinet-foot{position:relative;color:#d8c0e0}
.cabinet-bar{padding-block:5px 13px}
.cabinet-foot{padding-block:13px 4px}
.live-light i{width:8px;height:8px;background:#83eab0;box-shadow:0 0 0 3px #83eab022,0 0 14px #83eab0}
.hud{position:relative;border-color:#d7b2e06e;background:#d7b2e03d}
.hud>div{background:linear-gradient(180deg,#2b1739,#190e25);padding-block:11px}
.hud small{color:#d5bfdc;font-size:.69rem;font-weight:700}
.hud strong{font-size:1.15rem;text-shadow:0 2px 12px #ffd84d4d}
.hud .hearts strong{text-shadow:0 2px 14px #ff6a6160}
.arena{background:linear-gradient(180deg,#0c071029 0%,#0e091c26 48%,#09061214 100%),url('./art/arc-arena.webp') center bottom / cover no-repeat,#1c1332;border-color:#d7b2e066;box-shadow:inset 0 0 0 1px #07030c88,inset 0 -18px 35px #08040b40}
.arena::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,#100b256b,transparent 19% 81%,#100b256b),linear-gradient(180deg,transparent 64%,#0b07132a);}
.arena.raid{box-shadow:inset 0 0 0 2px #ff756b88,inset 0 0 55px #ff6a614d}
.grid{z-index:1;pointer-events:none;mask-image:none;background:linear-gradient(180deg,#10091b11 0%,transparent 43%,#09061216 100%)}
.grid::before{content:"DEFENSE LINE";position:absolute;right:13px;bottom:calc(20% + 9px);padding:2px 6px;border-radius:3px;background:#170e28b8;color:#ffe5aa;font-size:.51rem;font-weight:700;letter-spacing:.13em;text-shadow:0 1px 3px #000}
.grid::after{bottom:20%;height:2px;background:linear-gradient(90deg,transparent,#ffd480 12%,#ffecae 50%,#ffd480 88%,transparent);box-shadow:0 0 8px #ffb95e,0 0 22px #ff8e6480;opacity:.95}
.community-zone{z-index:2;bottom:14px;width:154px;height:150px}
.community-zone::before{content:"";position:absolute;inset:40px 0 0;border-radius:50%;background:radial-gradient(ellipse,#ffd84d52,transparent 70%);filter:blur(11px)}
.community-zone img{width:88px;height:88px;border:3px solid #fff6cb;outline:3px solid #f1b843;border-radius:50%;box-shadow:0 10px 18px #000a,0 0 22px #ffd84d85;object-position:center 38%}
.community-zone strong{bottom:0;border:1px solid #fff4b4;border-radius:5px;box-shadow:0 5px 15px #0009;font-size:.69rem}
.beacon-ring{border-color:#ffe088a1;box-shadow:0 0 14px #ffd84d40}
.threat,.threat.heavy,.threat.swarm,.unity,.heart-pickup{border:0;background:transparent;box-shadow:none;color:var(--paper);text-shadow:none}
.threat{z-index:4;width:94px;height:93px;overflow:visible;border-radius:48%;transition:scale .12s ease,filter .12s ease}
.threat.heavy{width:110px;height:105px}
.threat.swarm{width:76px;height:76px}
.threat::before,.threat::after,.threat.heavy::after,.threat.swarm::before,.threat.swarm::after{content:none;display:none}
.entity-art{display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}
.threat .entity-art{position:absolute;left:50%;top:-2px;translate:-50% 0;width:100%;height:calc(100% - 7px);object-fit:contain;filter:drop-shadow(0 9px 4px #08030b99) drop-shadow(0 0 10px #b45be355)}
.threat.heavy .entity-art{filter:drop-shadow(0 10px 5px #08030baa) drop-shadow(0 0 13px #ffd84d55)}
.threat.swarm .entity-art{filter:drop-shadow(0 7px 4px #08030b99) drop-shadow(0 0 9px #ff82ae66)}
.threat .threat-label,.threat.swarm .threat-label{position:absolute;z-index:2;left:50%;bottom:0;translate:-50% 0;max-width:110px;padding:3px 7px;border:1px solid #ffffff9c;border-radius:4px;background:#1b0e29ed;color:#fff6e6;box-shadow:0 3px 8px #0008;font-size:.69rem;line-height:1;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 2px #000}
.threat.swarm .threat-label{font-size:.63rem;padding:3px 5px;border-color:#ffc1d4a6}
.threat.heavy .threat-label{border-color:#ffdc86b3}
.armor-badge{position:absolute;z-index:3;right:0;top:2px;translate:0 0;display:grid;place-items:center;width:25px;height:25px;border:2px solid #fff2ba;border-radius:50%;background:var(--yellow);color:var(--ink);box-shadow:0 4px 9px #0008;font-size:.69rem;font-weight:700;line-height:1}
.threat.heavy.cracked .entity-art{rotate:-7deg;opacity:.86;filter:drop-shadow(0 8px 4px #08030baa) drop-shadow(0 0 9px #ff6a61a8)}
.threat.heavy.cracked::before{content:"";display:block;position:absolute;z-index:2;left:41%;top:8px;width:25%;height:69%;pointer-events:none;background:#fff4cb;clip-path:polygon(29% 0,44% 0,42% 34%,84% 39%,48% 64%,64% 94%,45% 100%,31% 61%,55% 44%,20% 39%);filter:drop-shadow(0 0 5px #fff4cb);opacity:.94}
.threat.heavy.cracked .armor-badge{border-color:#ffd0c7;background:var(--coral);color:#2d1020}
.threat.damaged{filter:brightness(1.65);scale:.9}
.threat:hover{filter:none;scale:1}
.threat:active{scale:.89}
.unity,.heart-pickup{z-index:5;width:88px;height:91px;overflow:visible;border-radius:50%;animation:pickup-float 1.2s ease-in-out infinite alternate}
.unity::before,.heart-pickup::before{content:"";position:absolute;inset:13px 8px 18px;border-radius:50%;background:#ffd84d54;filter:blur(13px);pointer-events:none}
.heart-pickup::before{background:#ff6a616b}
.unity .entity-art,.heart-pickup .entity-art{position:absolute;z-index:1;top:0;left:50%;translate:-50% 0;width:86px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 4px #08030b99)}
.unity .pickup-label,.heart-pickup .pickup-label{position:absolute;z-index:2;left:50%;bottom:-1px;translate:-50% 0;padding:3px 7px;border:1px solid #fff5cb;border-radius:4px;background:#241029ed;color:#fff8e8;font-size:.69rem;font-weight:700;line-height:1;letter-spacing:.04em;white-space:nowrap;box-shadow:0 3px 8px #0008}
.heart-pickup .pickup-label{border-color:#ffd0cc}
.heart-pickup span{font-size:.69rem;line-height:1}
.arena button:focus-visible{outline:3px solid #fff5b6;outline-offset:2px;box-shadow:0 0 0 6px #160d20a8}
.combo{z-index:8;padding:3px 9px;border-radius:5px;background:#1c0f28d9;font-size:1.7rem;text-shadow:0 3px 12px #000}
.burst{z-index:9;padding:3px 6px;border-radius:4px;background:#160c25c9;font-size:.79rem;text-shadow:0 1px 4px #000}
.raid-warning{z-index:6;top:15px;border-color:#ff9f85;background:#311023e8;color:#ffe1ce;box-shadow:0 5px 14px #0007}
.overlay{background:linear-gradient(180deg,#0c0715d9,#13091ae8);backdrop-filter:blur(5px) saturate(.78)}
.overlay-card{width:min(100%,390px);padding:32px 28px 29px;border:1px solid #e7b6e176;border-radius:17px;background:linear-gradient(160deg,#3c204c,#23132f 52%,#1b1027);box-shadow:0 3px 0 #ffffff10 inset,0 17px 34px #08030bbd,0 29px 75px #0007}
.overlay-card::before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,#ffdb65,transparent)}
.overlay-card h2{font-size:clamp(2.2rem,6vw,2.8rem);letter-spacing:-.04em;text-wrap:balance}
.overlay-card>p:last-child{color:#e1cfe8}
.sticker{right:-7px;top:-11px;border:1px solid #ffb19e;border-radius:5px;background:#f16566;color:#291c35;box-shadow:0 6px 15px #0008}
.new-best{color:#291c35!important}
.primary-button,.share-button{border-radius:7px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.primary-button{background:linear-gradient(180deg,#ffe479,#ffd447);box-shadow:0 4px 0 #b17e22,0 11px 16px #0005}
.primary-button:hover{background:#ffeb96;box-shadow:0 5px 0 #b17e22,0 14px 18px #0006}
.primary-button:active{translate:0 0;transform:translateY(3px);box-shadow:0 1px 0 #b17e22,0 4px 9px #0004}
.share-button{border-color:#dec3e37a;background:#ffffff0c}
.share-button:hover{background:#ffffff1b;border-color:#ffe4ef}
.share-button:active{transform:translateY(2px)}
.final-score strong{line-height:1.05;text-shadow:0 4px 23px #ffd84d3b}
.result-stats,.board-submit{border-color:#d9b9df4d}
.result-stats span{background:#1a0f27}
.board-submit{background:#160d20cf}
.player-name-field label{color:#d5bfdc}
.player-name-field input{background:#100918;border-color:#b38ac168;caret-color:var(--yellow)}
.board-submit button:not(:disabled){background:linear-gradient(180deg,#ffe479,#ffd447)}
.board-status{color:#dfcee7!important}
.leaderboard{border-color:#a97aaf69;background:linear-gradient(150deg,#24132e,#130c1c 75%);box-shadow:0 20px 36px #08030b8c,0 38px 72px #0005}
.leaderboard-list{border-color:#c99bd04f;background:#a785b239}
.leaderboard-list>li{background:#291832;border-bottom-color:#c8a4d025}
.leaderboard-list>li:nth-child(even){background:#25152f}
.leaderboard-list>li.is-player{background:#422550;box-shadow:inset 0 0 0 1px #ffd84d99}
.leaderboard-name>span,.beta-note p,.leaderboard-foot p{color:#c7b0d0}
.leaderboard-foot button{color:#ead8f0}
@keyframes pickup-float{to{scale:1.08;filter:brightness(1.1)}}
@media(hover:hover) and (pointer:fine){.threat:hover{scale:1.08;filter:brightness(1.15)}.unity:hover,.heart-pickup:hover{scale:1.12;filter:brightness(1.15)}}
@media(max-width:900px){.page{gap:30px}.cabinet{order:-1}.game-copy h1{font-size:clamp(4.2rem,14vw,6rem)}.leaderboard{padding:36px}}
@media(max-width:560px){.page{padding-top:22px}.cabinet{padding:8px;border-radius:16px;box-shadow:0 15px 27px #08030bb3,0 30px 55px #0008}.cabinet::before{border-radius:12px}.arena{height:64svh;min-height:480px;background-position:center bottom}.hud>div{padding:9px 8px}.hud strong{font-size:1rem}.game-copy h1{font-size:clamp(3.9rem,18vw,5.4rem)}.rules{display:grid}.overlay-card{padding:27px 18px 23px}.overlay-card::before{left:18px;right:18px}.threat{scale:.94}.threat.swarm{scale:1}.threat.heavy{scale:.94}.grid::before{right:7px;font-size:.48rem}.leaderboard{padding:27px 16px;box-shadow:0 16px 28px #08030b8c}}
@media(max-width:380px){.arena{height:calc(100svh - 154px);min-height:465px}.game-copy{display:none}.cabinet-foot span:last-child{display:none}.threat{scale:.91}.threat.heavy{scale:.9}}
@media(prefers-reduced-motion:reduce){.unity,.heart-pickup{animation:none}.threat.heavy.cracked .entity-art{rotate:-7deg}.beacon-ring{animation:none;opacity:.5}.primary-button,.share-button{transition:none}}

/* Score card: small public avatar and a self-reported X handle. */
.board-submit{display:block;padding:13px 14px 14px}
.board-submit-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;color:var(--yellow);font-size:.64rem;font-weight:700;letter-spacing:.09em}
.board-submit-title span{color:#bea5ca;font-size:.55rem;letter-spacing:.07em}
.board-profile-fields{display:grid;grid-template-columns:76px minmax(0,1fr);gap:11px;align-items:start}
.avatar-field{min-width:0;text-align:center}
.avatar-picker{position:relative;display:grid;place-items:center;align-content:center;gap:1px;width:76px;height:76px;overflow:hidden;border:1px dashed #e6c386;border-radius:10px;background:linear-gradient(135deg,#42254b,#21132e);color:#ffe7ac;cursor:pointer}
.avatar-picker:hover,.avatar-field:focus-within .avatar-picker{border-color:var(--yellow);box-shadow:0 0 0 3px #ffd84d24}
.avatar-picker img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avatar-picker img[hidden],.avatar-picker span[hidden]{display:none}
.avatar-picker:has(img:not([hidden]))::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#110a1ae8);pointer-events:none}
.avatar-picker:has(img:not([hidden])) #avatar-picker-label{position:absolute;z-index:1;bottom:6px;color:white}
#avatar-placeholder{font-size:1.7rem;line-height:1}
#avatar-picker-label{font-size:.51rem;font-weight:700;letter-spacing:.06em}
.avatar-clear{display:block;margin:5px auto 0;padding:2px 3px;border:0;border-bottom:1px solid #bda4c2;background:transparent;color:#dbc6df;font-size:.51rem;font-weight:700;letter-spacing:.06em}
.avatar-clear[hidden]{display:none}
.board-profile-text{min-width:0}
.board-profile-text .player-name-field+.player-name-field{margin-top:7px}
.board-profile-text .player-name-field label{margin-bottom:4px;color:#d8bfdc}
.board-profile-text .player-name-field label span{color:#a98eb5;font-weight:400}
.board-profile-text .player-name-field input{min-height:35px;padding:6px 8px;font-size:.84rem}
.profile-help{margin:8px 0 0;color:#bfaac8;font-size:.57rem;line-height:1.35;text-align:left}
.profile-help+.profile-help{margin-top:3px}
.board-submit>button#submit-score{display:block;width:100%;min-height:40px;margin-top:11px;font-size:.66rem}
.leaderboard-name{display:flex;align-items:center;gap:10px}
.leaderboard-avatar{flex:0 0 38px;display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border:1px solid #dab9e16b;border-radius:9px;background:#563064;color:#ffe19a;font-size:1rem;font-weight:700;object-fit:cover}
.leaderboard-person{min-width:0}
.leaderboard-person>strong{display:block;overflow:hidden;font-size:.93rem;white-space:nowrap;text-overflow:ellipsis}
.leaderboard-person>a{display:block;width:max-content;max-width:100%;overflow:hidden;color:#ffdc81;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-person>a:hover{color:white}
.leaderboard-person>span{display:block;margin-top:2px;color:#c7b0d0;font-size:.66rem}
@media(max-width:560px){.result-card{padding:24px 16px}.result-card h2{font-size:2.2rem;margin-bottom:14px}.result-card .final-score{margin-bottom:11px}.result-card .final-score strong{font-size:3rem}.result-card .result-stats{margin-bottom:12px}.board-submit{padding:10px}.board-profile-fields{grid-template-columns:68px minmax(0,1fr);gap:9px}.avatar-picker{width:68px;height:68px}.leaderboard-name{gap:7px}.leaderboard-avatar{flex-basis:32px;width:32px;height:32px}.leaderboard-person>strong{font-size:.8rem}.leaderboard-person>span{font-size:.59rem}}
.result-overlay{scrollbar-width:thin;scrollbar-color:#e6b95d #251430}
.result-overlay::-webkit-scrollbar{display:block;width:7px}
.result-overlay::-webkit-scrollbar-thumb{border-radius:8px;background:#e6b95d}
.result-card{padding-top:24px;padding-bottom:23px}
.result-card h2{margin-bottom:14px;font-size:clamp(2rem,4vw,2.35rem)}
.result-card .final-score{margin-bottom:11px}
.result-card .final-score strong{font-size:3.15rem}
.result-card .result-stats{margin-bottom:12px}
.leaderboard-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.avatar-removal-status{min-height:1.2em;margin:9px 0 0;color:#d7c3de;font-size:.7rem}
@media(max-width:560px){.result-card{padding:20px 15px}.result-card h2{font-size:2rem}.leaderboard-tools{width:100%;justify-content:space-between;gap:10px}}
@media(max-width:380px){.result-overlay{padding:8px}.result-card{padding:18px 11px}.board-submit{padding:9px}.board-profile-fields{grid-template-columns:1fr;gap:8px}.avatar-field{display:flex;align-items:center;gap:9px}.avatar-picker{width:58px;height:58px}.avatar-clear{margin:0}.board-submit-title span{font-size:.49rem}.profile-help{font-size:.56rem}}
