@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-6.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-7.ttf)format("truetype")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/VT323-0.ttf)format("truetype")}@font-face{font-family:DSEG7;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DSEG7Classic-Regular.woff2)format("woff2")}:root{color:#e8e9df;font-synthesis:none;--pink:#ed1b76;--mint:#b5edbe;--muted:#8b9c92;--line:#29382f;--panel:#101a15;--display:"VT323","Courier New",monospace;--terminal:"VT323","Courier New",monospace;--digits:"DSEG7",monospace;background:#080d0c;font-family:Barlow,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0;width:22px;height:22px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button,input{border-radius:2px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}a,button{transition:background .2s,color .2s,transform .2s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.ambient{pointer-events:none;z-index:-1;background:radial-gradient(#1b302044,#0000 75%),#080d0c;position:fixed;inset:0;overflow:hidden}.ambient:after{content:"";opacity:calc(.03 * var(--noise,1));background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{background:#080d0ce6;border-bottom:1px solid #29382f;justify-content:space-between;align-items:center;height:76px;padding:0 4.2%;display:flex}.brand{letter-spacing:.5px;align-items:center;gap:24px;font-size:17px;font-weight:500;display:flex}.brand-sub{color:var(--muted);letter-spacing:1px;margin-top:4px;font-size:10px;font-weight:400;display:block}.brand-shapes{color:var(--pink);align-items:center;gap:10px;display:flex}.shape{width:23px;height:23px;display:inline-block}.circle{border:2px solid;border-radius:50%}.square{border:2px solid}.triangle{clip-path:polygon(50% 0,100% 100%,0 100%);background:currentColor;width:25px;height:25px;position:relative}.triangle:after{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:#080d0c;position:absolute;inset:5px 4px 3px}.top-right{align-items:center;gap:18px;display:flex}.connection{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.connection i,.pink-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;display:inline-block}.connection.connected i{background:var(--mint);box-shadow:0 0 12px #b5edbe50}.connection.disconnected i{background:#e9b778}.demo-badge{color:#e9b778;border:1px solid #e9b77840;border-radius:3px;padding:5px 8px;font-size:11px}.icon-button{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:2px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:var(--mint);background:#233329}.arena{flex-direction:column;max-width:2000px;min-height:calc(100svh - 76px);margin:auto;padding:28px 4.2% 0;display:flex}.arena-heading{justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px;display:flex}.chapter{color:var(--muted);align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.chapter>span{display:block}h1{font-family:var(--display);letter-spacing:1px;font-size:clamp(46px,4.3vw,76px);font-weight:400;line-height:1.05}.subtitle{color:var(--muted);margin-top:12px;font-size:14px}.game-panel{align-items:center;gap:24px;max-width:44%;padding:0;display:flex}.game-symbol{color:var(--pink);font-family:Arial,sans-serif;font-size:60px;font-weight:200;line-height:1}.muted{color:var(--muted);font-size:12px}.game-panel h2{font-family:var(--display);letter-spacing:.5px;margin:5px 0 10px;font-size:clamp(22px,2vw,32px);font-weight:500;line-height:1.1}.mode-label{letter-spacing:1px;color:#e2c4cf;border-left:2px solid var(--pink);padding:2px 8px;font-size:10px;display:inline-block}.scoreboard-bar{border-top:1px solid #35463a;border-bottom:1px solid #35463a;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:15px 0;font-size:12px;display:flex}.board-caption{letter-spacing:1px;align-items:center;gap:12px;display:flex}.pink-dot{background:var(--pink);box-shadow:0 0 10px #ed1b7630}.count{color:var(--muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:4px;padding:3px 7px;font-size:11px}.board-totals{color:var(--muted);align-items:center;gap:28px;font-size:12px;display:flex}.board-totals b{color:#e8e9df;font-variant-numeric:tabular-nums;margin-right:8px;font-weight:500}.players{grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:14px;display:grid}.player-card{background:#040708;border:3px solid #263831;border-radius:0;min-width:0;transition:border-color 1s,background 1s;position:relative;box-shadow:0 0 16px #7ce8ce0b;container-type:inline-size}.portrait{aspect-ratio:.86;isolation:isolate;background:#040608;border:0;width:100%;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:50% 35%;filter:saturate(.85)contrast(1.12);width:100%;height:100%;transition:filter 1.3s,opacity 1.3s,transform 1s;display:block}.leader-badge{white-space:nowrap;font:400 15px var(--terminal);color:#d2e6da;z-index:5;background:#07100cbf;border:1px solid #aac29555;padding:1px 5px;display:none;position:absolute;top:9px;left:50%;transform:translate(-50%)}.leader .leader-badge{display:block}.leader{border-color:#87bdaa;box-shadow:0 0 15px #70d6bb18}.player-info{background:#07100e;border-top:1px solid #203b32;justify-content:space-between;align-items:center;gap:6px;height:44px;padding:7px 10px;display:flex}.player-info h2{font:400 clamp(16px,9cqw,23px) var(--terminal);text-overflow:ellipsis;white-space:nowrap;color:#a4b9ad;letter-spacing:.4px;max-width:100%;overflow:hidden}.score{flex-direction:row;align-items:baseline;gap:5px;min-width:0;display:flex}.score b{font:400 clamp(12px,8cqw,23px) var(--digits);color:#c5e6dc;text-shadow:0 0 7px #8cebd44d;font-variant-numeric:tabular-nums;line-height:1.2}.score span{font:400 14px var(--terminal);color:#92a69e}.inactive{box-shadow:none;background:#0b110d;border-color:#2c392e}.inactive .score b{color:#687263}.inactive .player-info h2{color:#6c7868}.inactive .leader-badge{display:none}.delta{pointer-events:none;text-align:center;color:#d4ffe9;font:600 64px var(--display);text-shadow:0 4px 30px #143b29;opacity:0;z-index:4;position:absolute;top:35%;left:0;right:0}.scored .delta{animation:2.1s ease-out both score-pop}.scored{animation:1.8s ease-out score-glow}.score-down .delta{color:#ffc3d7}.photo-scan{pointer-events:none;opacity:0;z-index:6;background:linear-gradient(#0000,#b5edbe60,#0000);position:absolute;inset:0}.arrived{animation:.7s ease-out both arrive}.arena-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:25px;min-height:76px;margin-top:auto;padding:20px 0;font-size:11px;display:flex}.activity{align-items:center;gap:12px;display:flex}.activity-symbol{color:var(--pink);font-size:19px}.footer-mark{color:var(--pink);letter-spacing:6px;white-space:nowrap}.footer-mark span{color:#698583;letter-spacing:.4px;margin-left:12px;font-size:11px}.empty-state{text-align:center;background:#13271b55;border:1px dashed #3b5356;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:360px;display:flex}.empty-shapes{color:var(--pink);gap:20px;margin-bottom:10px;display:flex}.empty-state h2{font:400 38px var(--display)}.empty-state p{color:var(--muted);max-width:400px;line-height:1.5}.button{border-radius:2px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:500;display:inline-flex}.primary{background:var(--pink);color:#fff}.primary:hover{background:#ff6795}.secondary{color:#d9ede3;background:#263a2d;border:1px solid #46615f}.secondary:hover{background:#355554}.subtle{color:#bdd0ca;background:#202c25}.text-link{color:var(--muted);text-underline-offset:4px;background:0 0;padding:8px 0;font-size:13px;text-decoration:underline}.text-link:hover{color:var(--mint)}.admin-main{max-width:1200px;margin:auto;padding:45px 32px 60px}.admin-heading h1{letter-spacing:1px;font-size:58px;font-weight:400}.admin-heading>p{color:var(--muted);margin:14px 0 32px;font-size:15px}.admin-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px;display:grid}.control-panel{background:#101a15e6;border:1px solid #354535;border-radius:2px;padding:24px}.panel-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.panel-heading h2{letter-spacing:.2px;font-size:19px;font-weight:500}.panel-symbol{color:var(--pink);font-size:26px;line-height:1}.panel-heading .count{margin-left:7px}#add-player{align-items:stretch;gap:20px;display:flex}.photo-picker{cursor:pointer;background:#0b1610;border:1px dashed #57716c;border-radius:2px;flex-shrink:0;width:145px;min-height:166px;position:relative;overflow:hidden}.photo-picker:hover{border-color:var(--mint)}.photo-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-picker:focus-within{outline:2px solid var(--mint);outline-offset:3px}#photo-preview{text-align:center;color:#c8dad2;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;padding:12px;font-size:12px;display:flex}#photo-preview>svg{width:30px;height:30px;color:var(--mint)}#photo-preview>small{color:var(--muted);font-size:10px;line-height:1.4}#photo-preview>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}#photo-preview>img+span{background:#102b28c9;border-radius:4px;padding:5px 10px;position:absolute;bottom:8px}.new-player-fields{flex-direction:column;flex:1;justify-content:center;gap:18px;min-width:0;display:flex}label{color:#bbcfc8;flex-direction:column;gap:8px;font-size:13px;display:flex}input:not([type=radio]):not([type=file]){color:#e5efe9;background:#0b130f;border:1px solid #405955;width:100%;min-width:0;min-height:44px;padding:12px;font-size:15px}input::placeholder{color:#6f8986}.new-player-fields .button{align-self:flex-start}.admin-roster{margin-top:32px}.admin-roster .panel-heading{margin-bottom:10px}.search-label{width:170px}.search-label input{min-height:36px!important;padding:9px!important;font-size:12px!important}.roster-hint{color:var(--muted);margin-bottom:18px;font-size:12px}.admin-player{background:#101a15e6;border:1px solid #354535;border-radius:1px;margin-bottom:12px;padding:16px}.admin-person{align-items:center;gap:13px;display:flex}.admin-person img{object-fit:cover;border-radius:4px;width:44px;height:49px}.admin-person small{color:var(--muted);font-size:10px}.admin-person h3{margin-top:3px;font-size:17px}.status-toggle{color:#a2b4ad;background:#25393a;border:1px solid #4a5d58;align-items:center;gap:7px;min-height:40px;margin-left:auto;padding:9px 12px;font-size:12px;display:flex}.status-toggle i{background:#83928e;border-radius:50%;width:7px;height:7px}.status-toggle.is-on{color:var(--mint);background:#b5edbe0b;border-color:#79c6a642}.status-toggle.is-on i{background:var(--mint)}.is-paused .admin-person img{filter:grayscale();opacity:.5}.score-controls{gap:9px;margin-top:14px;display:flex}.score-controls>button{min-height:43px;color:var(--mint);background:#203b2b;border:1px solid #47675a;flex:1;font-size:16px}.score-controls>button:first-child{color:#a6bcb4;background:#27393b;border-color:#3c5252}.score-controls button:hover{background:#3d5d57}.exact-score{flex:1.9;gap:0;min-width:0;margin-left:8px;display:flex}.exact-score label{flex:1;min-width:0}.exact-score input{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-radius:2px 0 0 5px;padding:8px 2px!important}.exact-score input::-webkit-inner-spin-button{-webkit-appearance:none}.exact-score button{background:#2b4241;border:1px solid #405955;border-left:0;border-radius:0 5px 5px 0;padding:0 10px;font-size:11px}.settings-panel form{flex-direction:column;gap:20px;display:flex}fieldset{border:0;margin:0;padding:0}legend{color:#bbcfc8;margin-bottom:12px;font-size:13px}.radio-option{cursor:pointer;flex-direction:row;align-items:flex-start;gap:9px;padding:10px 0;font-size:14px}.radio-option input{accent-color:var(--pink);width:16px;height:16px;margin:2px 0 0}.radio-option small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5;display:block}.next-game{margin-top:20px}.next-game>.panel-symbol{margin-bottom:18px;display:block}.next-game h2{font:500 30px var(--display)}.next-game p{color:var(--muted);margin:12px 0 20px;font-size:13px;line-height:1.65}.next-game .button{width:100%}.admin-note{color:var(--muted);margin:20px 5px 8px;font-size:12px;line-height:1.6}.queue-status{color:#ead3ab;background:#6d4c2538;border:1px solid #c5a26c66;border-radius:2px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;font-size:13px;display:flex}.roster-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:1px;padding:32px 20px;font-size:14px}.login-overlay{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#09181cd9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.login-box{border:1px solid #3e503d;border-top:2px solid var(--pink);background:#111c16;border-radius:0;width:min(430px,100%);padding:35px;box-shadow:0 20px 100px #0008}.login-box .brand-shapes{margin-bottom:28px}.login-box h2{font:400 38px var(--display);line-height:1.1}.login-box>p{color:var(--muted);margin:16px 0 24px;font-size:14px;line-height:1.6}.login-box .primary{width:100%;margin-bottom:18px}.login-box .text-link{text-align:center;display:block}.login-error{color:#ffa5c0;min-height:20px;margin:12px 0;font-size:13px;line-height:1.5}#toast{color:#16322b;z-index:30;opacity:0;pointer-events:none;background:#dce6d9;border:1px solid #a3d2b6;border-radius:2px;width:max-content;max-width:calc(100% - 32px);padding:14px 22px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);box-shadow:0 8px 40px #0005}#toast.visible{opacity:1;transform:translate(-50%)}.many-players{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.many-players .portrait{aspect-ratio:1.5}.many-players .score span{display:none}.packed-players{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.packed-players .portrait{aspect-ratio:1.9}.packed-players .leader-badge{display:none}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translate(80px,-60px)rotate(15deg)}}@keyframes arrive{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes score-pop{0%{opacity:0;transform:translateY(20px)scale(.7)}15%,50%{opacity:1;transform:translateY(-5px)scale(1)}to{opacity:0;transform:translateY(-70px)scale(.95)}}@keyframes score-glow{0%,to{box-shadow:0 0 #0000}25%{border-color:var(--mint);box-shadow:0 0 28px #b5edbe70}}@keyframes flicker{0%,20%,40%{opacity:1}10%,30%{opacity:.3}60%{opacity:.6}to{opacity:1}}@keyframes scan{0%{opacity:0;transform:translateY(-100%)}30%{opacity:1}to{opacity:0;transform:translateY(100%)}}@media (width>=1600px){.arena{padding-top:30px}.players{gap:22px}.score span{font:400 14px var(--terminal);color:#92a69e}.arena-heading{margin-bottom:25px}.scoreboard-bar{font-size:16px}.board-totals,.arena-footer{font-size:14px}.portrait{aspect-ratio:.86;isolation:isolate;background:#040608;border:0;width:100%;position:relative;overflow:hidden}}@media (width<=1100px){.topbar{height:76px}.arena{min-height:calc(100svh - 76px);padding-top:30px}.players{gap:12px}.portrait{aspect-ratio:.86;isolation:isolate;background:#040608;border:0;width:100%;position:relative;overflow:hidden}.admin-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.control-panel{padding:20px}.admin-main{padding-left:24px;padding-right:24px}#add-player{gap:14px}.photo-picker{width:120px}.many-players,.packed-players{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=760px){.topbar{height:76px;padding:0 22px}.brand{gap:15px;font-size:18px}.brand-sub{display:none}.brand-shapes{gap:6px}.brand-shapes .shape{width:18px;height:18px}.top-right{gap:8px}.top-right .connection{font-size:10px}.icon-button{width:34px;height:34px}.top-right .button{min-height:36px;padding:8px;font-size:12px}.top-right .button svg{width:19px}.arena{padding:30px 22px 0}.arena-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:26px}.arena-heading h1{font-size:52px}.game-panel{border:1px solid var(--line);background:#18231c55;border-radius:2px;gap:18px;width:100%;max-width:100%;padding:13px 18px}.guard-emblem{width:55px;height:74px}.game-panel>div{min-width:0}.game-panel .muted{grid-column:1}.game-panel h2{grid-column:1;margin:4px 0 0;font-size:24px}.players,.many-players,.packed-players{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portrait{aspect-ratio:.86;isolation:isolate;background:#040608;border:0;width:100%;position:relative;overflow:hidden}.score span{font:400 14px var(--terminal);color:#92a69e}.leader-badge{white-space:nowrap;font:400 15px var(--terminal);color:#d2e6da;z-index:5;background:#07100cbf;border:1px solid #aac29555;padding:1px 5px;display:none;position:absolute;top:9px;left:50%;transform:translate(-50%)}.board-totals{gap:12px;font-size:10px}.arena-footer{align-items:flex-start;padding:20px 0;font-size:11px;line-height:1.5}.footer-mark span{display:none}.footer-mark{font-size:16px}.activity{gap:8px}.admin-main{padding:30px 20px 45px}.admin-heading h1{font-size:48px}.admin-heading>p{max-width:280px;margin-bottom:24px;font-size:13px;line-height:1.5}.admin-layout{flex-direction:column;display:flex}.admin-layout aside{grid-template-columns:1fr;gap:16px;display:grid}.next-game{margin-top:0}.admin-note{margin:0}.photo-picker{width:125px}.admin-roster{margin-top:25px}.admin-roster .panel-heading h2{font-size:19px}.search-label{width:135px}.queue-status{flex-direction:column;align-items:flex-start}.empty-state{min-height:350px;padding:28px}.empty-state h2{font-size:34px}.empty-state p{font-size:14px}}@media (width<=420px){.topbar{padding:0 16px}.brand{gap:10px;font-size:16px}.top-right .connection{max-width:65px;line-height:1.3}.top-right .demo-badge{display:none}.brand-shapes{gap:5px}.brand-shapes .shape{width:15px;height:15px}.triangle:after{inset:4px 3px 2px}.arena{padding-left:16px;padding-right:16px}.players{gap:8px}.portrait{aspect-ratio:.86;isolation:isolate;background:#040608;border:0;width:100%;position:relative;overflow:hidden}.panel-heading{gap:8px}.control-panel{padding:16px}.photo-picker{width:105px}.new-player-fields .button{padding:10px;font-size:12px}.score-controls{gap:6px}.exact-score{margin-left:2px}.exact-score button{padding:0 7px}.admin-player{padding:13px}.login-box{padding:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=900px){.players .portrait{height:var(--photo-height,auto);aspect-ratio:.86}}.wall-grid{background-color:#0000;background-image:linear-gradient(#78997509 1px,#0000 1px),linear-gradient(90deg,#78997509 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:96px 96px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 25%);mask-image:linear-gradient(#0000,#000 25%)}.chapter>span:first-child{background:var(--pink);width:20px;height:1px}.game-wordmark{font:400 clamp(54px,5.4vw,86px) var(--terminal);letter-spacing:3px;white-space:nowrap;text-shadow:2px 0 #e553861c,-2px 0 #88ffc51c;line-height:1}.wordmark-symbols{color:var(--pink);letter-spacing:17px;margin-top:9px;font:400 21px/1 Arial,sans-serif;display:block}.guard-emblem{object-fit:contain;filter:drop-shadow(0 6px 18px #0008);width:88px;height:110px}.board-totals .remaining b{font:400 25px var(--digits);letter-spacing:1px;color:#dafff1;text-shadow:0 0 12px #8af1d766}.player-identity{flex-direction:column;gap:4px;min-width:0;display:flex}.inactive .portrait{border-color:#2c392e}@keyframes surveillance{0%{transform:translateY(-65%)}to{transform:translateY(65%)}}@media (width>=900px){.players .portrait{height:var(--photo-height,auto);aspect-ratio:.86}}@media (width<=760px){.arena-heading{flex-direction:row;align-items:center;gap:20px}.arena-heading h1{letter-spacing:2px;font-size:42px}.wordmark-symbols{letter-spacing:11px;font-size:15px}.game-panel{background:0 0;border:0;gap:12px;width:auto;max-width:45%;padding:0}.guard-emblem{width:48px;height:65px}.game-panel h2{font-size:20px}.game-panel .muted{font-size:10px}.mode-label{margin-top:5px;font-size:9px}.players{gap:9px}.player-info{background:#07100e;border-top:1px solid #203b32;justify-content:space-between;align-items:center;gap:6px;height:44px;padding:7px 10px;display:flex}.score b{font:400 clamp(12px,8cqw,23px) var(--digits);color:#c5e6dc;text-shadow:0 0 7px #8cebd44d;font-variant-numeric:tabular-nums;line-height:1.2}.player-info h2{font:400 clamp(16px,9cqw,23px) var(--terminal);text-overflow:ellipsis;white-space:nowrap;color:#a4b9ad;letter-spacing:.4px;max-width:100%;overflow:hidden}.board-caption{letter-spacing:0;gap:7px;font-size:10px}.board-totals .remaining b{font:400 25px var(--digits);letter-spacing:1px;color:#dafff1;text-shadow:0 0 12px #8af1d766}.board-totals{gap:10px}.score span{font:400 14px var(--terminal);color:#92a69e}.leader-badge{white-space:nowrap;font:400 15px var(--terminal);color:#d2e6da;z-index:5;background:#07100cbf;border:1px solid #aac29555;padding:1px 5px;display:none;position:absolute;top:9px;left:50%;transform:translate(-50%)}}@media (width<=480px){.arena-heading{flex-direction:column;align-items:flex-start;gap:22px}.arena-heading h1{font-size:52px}.game-panel{border-top:1px solid var(--line);width:100%;max-width:100%;padding-top:15px}.game-panel h2{font-size:24px}.guard-emblem{width:44px;height:56px}.game-panel .mode-label{margin-top:0}.game-panel>div{grid-template-columns:1fr auto;align-items:center;gap:3px 12px;width:100%;display:grid}.game-panel .muted{grid-column:1}.game-panel h2{grid-column:1;margin:0}.game-panel .mode-label{grid-area:1/2/3}.player-info{background:#07100e;border-top:1px solid #203b32;justify-content:space-between;align-items:center;gap:6px;height:44px;padding:7px 10px;display:flex}.score b{font:400 clamp(12px,8cqw,23px) var(--digits);color:#c5e6dc;text-shadow:0 0 7px #8cebd44d;font-variant-numeric:tabular-nums;line-height:1.2}.admin-heading h1{font-size:46px}}.photo-aperture{clip-path:polygon(23% 0,77% 0,100% 23%,100% 74%,74% 100%,26% 100%,0 74%,0 23%);background:#9c5579;position:absolute;inset:0}.photo-aperture:after{content:"";pointer-events:none;background:linear-gradient(#0000 62%,#03181177);position:absolute;inset:0}.photo-bezel{fill:none;stroke:#f4cce0;stroke-width:.55px;filter:drop-shadow(0 0 2px #c9d7ff)drop-shadow(0 0 4px #eb98c655);opacity:.7;z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portrait .player-number{z-index:6;text-align:center;font:400 clamp(22px,23cqw,70px) var(--digits);letter-spacing:.04em;color:#e2fff7;text-shadow:0 0 3px #fff,0 0 11px #81ffe3,0 0 27px #56e9cacc,0 0 48px #56e9ca66;pointer-events:none;line-height:1.2;transition:color 1s,text-shadow 1s;display:block;position:absolute;bottom:6%;left:0;right:0}.arena .chapter,.arena .board-caption,.arena .board-totals,.arena .mode-label,.arena .muted,.arena-footer{font-family:var(--terminal);letter-spacing:.5px;font-size:18px}.arena .count{font-family:var(--terminal);font-size:17px}.admin-person small{font-family:var(--terminal);font-size:16px}.exact-score input{font-family:var(--terminal);font-size:24px!important}@keyframes crt-roll{0%{transform:translateY(-35%)}to{transform:translateY(70%)}}@media (width<=760px){.arena .board-caption,.arena .board-totals,.arena .mode-label,.arena .muted,.arena-footer{font-size:14px}.board-totals .remaining b{font-size:18px}.score{gap:3px}.score span{display:none}.portrait{aspect-ratio:.8}.leader-badge{padding:1px 4px;font-size:12px}.player-info{height:40px;padding:6px}.player-info h2{font-size:18px}}.tv-content{transform-origin:50% 35%;position:relative}.tv-effects{z-index:15;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden;box-shadow:inset 0 0 100px #0008,inset 0 0 12px #000a}.tv-effects:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,rgb(0 0 0/calc(.6 * var(--raster,1))) 0,rgb(0 0 0/calc(.6 * var(--raster,1))) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgb(255 36 107/calc(.04 * var(--raster,1))) 0,rgb(255 36 107/calc(.04 * var(--raster,1))) 1px,rgb(85 255 188/calc(.043 * var(--raster,1))) 1px,rgb(85 255 188/calc(.043 * var(--raster,1))) 2px,rgb(96 157 255/calc(.047 * var(--raster,1))) 2px,rgb(96 157 255/calc(.047 * var(--raster,1))) 3px);position:absolute;inset:0}.tv-effects:before{content:"";opacity:calc(.055 * var(--noise,1));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h150v150H0z' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:absolute;inset:0}.tv-scan{opacity:var(--scan,1);filter:brightness(var(--scan,1));will-change:transform;background:linear-gradient(#0000 40%,#b5ffed03 44%,#b5ffed14 49%,#c3fff025 50%,#0000 54%);animation:17s linear infinite tv-roll;position:absolute;inset:-100% 0 0}.tv-tracking{left:0;right:0;top:var(--tracking-y,45%);opacity:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#afffe744 3px 4px,#0009 4px 6px);border-top:1px solid #cbffec99;height:8%;position:absolute;box-shadow:0 -6px 20px #8affc522}.signal-glitch .tv-content{animation:.32s step-end both tv-slip}.signal-glitch .tv-tracking{animation:.32s step-end both tv-tracking}.signal-glitch .tv-effects:before{opacity:calc(.18 * var(--noise,1));transform:translate(2px,-1px)}.tv-content .game-wordmark{color:#f1fff7;text-shadow:0 0 4px #c7ffe9bb,0 0 20px #b5f6d944,2px 0 #ed6c942e,-2px 0 #8cffdf33}.tv-content .brand-shapes{filter:drop-shadow(0 0 5px #ed1b7688)drop-shadow(0 0 13px #ed1b7644)}.tv-content .game-panel h2{color:#e2f5eb;text-shadow:0 0 9px #b5f6d955}.tv-content .score b{color:#ddfff3;text-shadow:0 0 5px rgb(162 255 226/calc(.67 * var(--glow,1))),0 0 15px rgb(129 239 210/calc(.47 * var(--glow,1)))}.tv-content .inactive .score b{color:#687263;text-shadow:none}.tv-content .arena{padding-bottom:22px}.game-panel>div{flex-direction:column;align-items:flex-start;display:flex}@keyframes tv-roll{0%{transform:translateY(-35%)}to{transform:translateY(70%)}}@keyframes tv-slip{0%,to{filter:none;transform:none}16%{filter:drop-shadow(-2px 0 #ff237866)drop-shadow(2px 0 #6dffdf66);transform:translate(2px)skew(.12deg)}34%{filter:brightness(.87);transform:translate(-3px,1px)}57%{filter:drop-shadow(1px 0 #72ffe355);transform:translate(1px)}78%{filter:none;transform:none}}@keyframes tv-tracking{0%,to{opacity:0;transform:none}16%{opacity:.65;transform:translateY(-8px)}34%{opacity:.35;transform:translateY(5px)}57%{opacity:.5;transform:translateY(10px)}78%{opacity:0}}@media (width<=760px){.tv-effects{box-shadow:inset 0 0 50px #0006}.game-panel>div{display:flex}.game-panel .mode-label{margin-top:5px}}@media (prefers-reduced-motion:reduce){.tv-scan,.tv-tracking{display:none}.signal-glitch .tv-content{filter:none;animation:none;transform:none}}@property --tube-level{syntax:"<number>";inherits:true;initial-value:1}.player-card{--tube-level:1;border-color:rgb(156 225 199/calc(.14 + var(--tube-level) * .45));box-shadow:0 0 22px rgb(128 243 204/calc(var(--tube-level) * .24 * var(--glow,1))),0 0 48px rgb(184 148 232/calc(var(--tube-level) * .1 * var(--glow,1)))}.player-card.inactive{--tube-level:0}.card-backlight{z-index:-1;object-fit:cover;filter:blur(18px)saturate(1.3)brightness(1.25);width:92%;height:85%;opacity:calc(var(--tube-level) * .4 * var(--glow,1));pointer-events:none;position:absolute;top:4%;left:4%}.portrait img{filter:saturate(calc(.1 + var(--tube-level) * .9)) contrast(1.08) brightness(calc(.15 + var(--tube-level) * 1.12));opacity:1;transition:none}.photo-aperture{background:#050907}.photo-aperture:after{opacity:var(--tube-level);background:radial-gradient(at 50% 42%,#e8fff316,#0000 74%),linear-gradient(#0000 62%,#03181155)}.photo-bezel{stroke:#f3fff9;stroke-width:.7px;filter:drop-shadow(0 0 3px rgb(233 255 245/var(--glow,1))) drop-shadow(0 0 9px rgb(156 255 216/var(--glow,1)));opacity:calc(.08 + var(--tube-level) * .85)}.portrait .player-number{color:#e2fff7;filter:brightness(calc(.16 + var(--tube-level) * .84));opacity:calc(.35 + var(--tube-level) * .65);text-shadow:0 0 3px rgb(255 255 255/calc(var(--tube-level) * var(--glow,1))),0 0 11px rgb(129 255 227/calc(var(--tube-level) * var(--glow,1))),0 0 27px rgb(86 233 202/calc(var(--tube-level) * .8 * var(--glow,1))),0 0 48px rgb(86 233 202/calc(var(--tube-level) * .4 * var(--glow,1)));transition:none}@media (prefers-reduced-motion:reduce){.player-card{transition:none}}.effects-panel>p{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.5}.effect-control{margin-bottom:22px;display:block}.effect-control>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.effect-control output{color:var(--mint);font-variant-numeric:tabular-nums}.effect-control input[type=range]{width:100%;height:44px;min-height:44px;accent-color:var(--mint);cursor:pointer;background:0 0;border:0;padding:0;display:block}.effect-control small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4;display:block}.effects-panel .effects-demo-note{margin:16px 0 0;font-size:12px}.effects-panel{scroll-margin-top:24px}.webgl-arena{z-index:10;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.webgl-ready .players{opacity:0}.webgl-ready .tv-effects{display:none}.webgl-ready.signal-glitch .tv-content{filter:none;animation:none;transform:none}.home-main{max-width:1100px;margin:0 auto;padding:64px 32px 80px}.home-symbols{color:var(--pink);font:44px var(--terminal);letter-spacing:12px;margin-bottom:36px}.home-intro{max-width:650px;margin-bottom:40px}.home-eyebrow{color:var(--mint);letter-spacing:4px;font:18px var(--terminal);margin-bottom:16px}.home-intro h1{color:#edfff6;text-shadow:0 0 25px #a7ffd51c;margin-bottom:24px;font-size:clamp(62px,8vw,100px);line-height:.9}.home-intro>p:last-child{color:var(--muted);max-width:470px;font-size:19px;line-height:1.5}.home-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.home-main .control-panel{border-top:3px solid var(--pink);padding:28px}.home-main h2{font:32px var(--terminal);margin-bottom:14px}.home-main .control-panel>p{color:var(--muted);margin-bottom:24px;line-height:1.5}.create-panel label{margin:24px 0 9px;font-size:14px;display:block}.create-panel .button{justify-content:space-between;width:100%;margin-top:20px}#create-error{color:#ffb0c6;margin-top:12px;font-size:14px;line-height:1.4}.party-created .created-label{font-family:var(--terminal);font-size:20px;color:var(--mint)!important;margin-bottom:12px!important}.party-link-group{flex-direction:column;gap:8px;margin-top:20px;display:flex}.saved-parties{margin-top:48px}.saved-party{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.saved-party h3{overflow-wrap:anywhere;margin-bottom:6px;font-size:18px}.saved-party p,.home-empty{color:var(--muted);font-size:14px;line-height:1.5}.saved-party .button{flex-shrink:0}.home-demo{margin-top:28px;display:inline-block}.party-sharing{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.party-sharing p{width:100%;color:var(--muted);margin-bottom:4px;font-size:14px;line-height:1.5}.party-sharing .text-link{margin-left:auto}@media (width<=760px){.home-main{padding:32px 20px 50px}.home-symbols{margin-bottom:26px}.home-layout{grid-template-columns:1fr}.home-intro{margin-bottom:28px}.home-main .control-panel{padding:22px}.saved-party{flex-direction:column;align-items:flex-start;gap:14px}.party-sharing .text-link{width:100%;margin:8px 0}.home-intro>p:last-child{font-size:17px}}.top-right .connection{cursor:help;flex:0 0 32px;justify-content:center;width:32px;height:32px;position:relative}.connection i{box-sizing:border-box;flex-shrink:0;width:12px;height:12px}.connection.sync-pending i{border:2px solid #b5edbe35;border-top-color:var(--mint);background:0 0;animation:.8s linear infinite sync-spin}.connection.sync-error i{background:#ed8d8d;box-shadow:0 0 10px #ed8d8d40}.connection:after{content:attr(data-status);border:1px solid var(--muted);width:max-content;max-width:240px;color:var(--muted);z-index:30;pointer-events:none;opacity:0;background:#111b17;padding:8px 12px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 8px);right:0}.connection:hover:after,.connection:focus-visible:after{opacity:1}.queue-status{z-index:40;box-sizing:border-box;background:#29251b;flex-direction:column;align-items:flex-start;width:min(420px,100vw - 40px);margin:0;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #0008}@keyframes sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.connection.sync-pending i{animation:none}}.admin-main{max-width:1040px}.admin-heading{margin-bottom:22px}.admin-nav{z-index:20;background:#0b130f;border-bottom:1px solid #354535;margin-bottom:28px;display:flex;position:sticky;top:0}.admin-nav a{text-align:center;color:var(--muted);border-bottom:3px solid #0000;flex:1;padding:17px 12px;font-weight:600;text-decoration:none}.admin-nav a[aria-current]{color:#e8e9df;border-bottom-color:var(--pink);background:#ed087b0c}.admin-nav a:hover{color:#e8e9df;background:#ffffff06}.party-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.party-toolbar p,.screen-heading p{color:var(--muted);font-size:14px;line-height:1.5}.party-toolbar .button{flex-shrink:0}[data-admin-screen=party] .admin-roster{margin-top:0}[data-admin-screen=party] #admin-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}[data-admin-screen=party] .admin-player{margin:0}.party-options{border-top:1px solid #354535;margin-top:30px;padding-top:20px}.party-options>summary{cursor:pointer;color:var(--muted);padding:10px 0}.party-options-content{max-width:620px;padding-top:22px}.party-options .party-sharing,.screen-heading{margin-bottom:24px}.screen-heading h2{margin-bottom:8px;font-size:24px}.manage-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:28px;display:grid}.manage-layout .new-player-fields{width:100%}.manage-layout #add-player{flex-wrap:wrap}.manage-search{color:var(--muted);margin-bottom:20px;font-size:13px;display:block}.manage-search input{width:100%;margin-top:8px}.managed-player{border-top:1px solid #354535;align-items:flex-start;gap:16px;padding:20px 0;display:flex}.managed-player>img{object-fit:cover;width:62px;height:76px}.manage-fields{flex:1;min-width:0}.manage-fields small{color:var(--muted);font-size:12px}.manage-fields form{align-items:end;gap:8px;margin:12px 0;display:flex}.manage-fields label{min-width:0;color:var(--muted);flex:1;font-size:12px}.manage-fields input{width:100%;margin-top:6px}.remove-player summary{color:var(--muted);cursor:pointer;padding:6px 0;font-size:12px}.remove-player p{color:#e8b4b4;margin:8px 0 12px;font-size:13px;line-height:1.5}.button.danger{color:#ffd2d2;background:#7b2635}[data-admin-screen=effects]{max-width:680px;margin:auto}[data-admin-screen=effects] .effects-panel{padding:28px}@media (width<=700px){.admin-main{padding-top:24px}.admin-heading h1{font-size:32px}.admin-nav{margin-bottom:24px}.admin-nav a{padding:16px 6px;font-size:13px}.party-toolbar{flex-direction:column;align-items:flex-start;gap:12px}[data-admin-screen=party] #admin-players,.manage-layout{grid-template-columns:1fr}.manage-layout{gap:20px}[data-admin-screen=effects] .effects-panel{padding:20px}.managed-player{gap:12px}}.tv-content .empty-state{background:#050b0a;border:0;border-radius:0;gap:0;min-height:0;padding:24px;position:fixed;inset:0}.tv-content .empty-state h2{width:100%;font:400 clamp(26px,6vw,96px)/1.1 var(--terminal);text-align:center;color:#d9ffec;text-shadow:0 0 calc(14px * var(--glow,1)) #93ffe080}.webgl-ready .empty-state{opacity:0}.home-intro h1{margin-bottom:0;font-size:clamp(42px,6vw,68px);line-height:1.05}
