@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--deep-water:#072b31;--sea-foam:#00f6b5;--tidal:#00bab3;--ocean-slate:#004851;--signal-green:#bcff00;--midnight:#101820;--mist:#f8f8f8;--mid-grey:#727781;--light-grey:#ceced0;--storm-grey:#3d4f59;--ok:#00f6b5;--warn:#ffc845;--bad:#ff5a5f;--font:"DM Sans Variable", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--deep-water);height:100%;color:var(--mist);font-family:var(--font);overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}#app{height:100%}button,input{font:inherit}.btn{appearance:none;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--sea-foam);color:var(--midnight);cursor:pointer;border:0;border-radius:2px;padding:15px 20px;font-size:.95rem;font-weight:500}.btn.primary{background:var(--signal-green)}.label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sea-foam);font-size:.75rem}.btn.secondary{color:var(--mist);background:0 0;box-shadow:inset 0 0 0 2px #f8f8f866}.btn:disabled{opacity:.5}.overlay{padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));z-index:10;background:#072b31f0;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}canvas.device{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.overlay .card{flex-direction:column;gap:14px;width:100%;max-width:440px;margin:0 auto;display:flex}.overlay h1{color:var(--sea-foam);margin:0;font-size:2.6rem;font-weight:300;line-height:1.05}.overlay h2{margin:0;font-size:1.5rem;font-weight:300}.overlay .lead{color:var(--tidal);font-size:1.1rem}.overlay p{color:#f8f8f8d9;margin:0;line-height:1.45}.logo{align-self:flex-start;height:30px;margin-bottom:18px}.howto{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;font-size:.95rem;display:grid}.howto .key{font-family:var(--mono);color:var(--signal-green);text-transform:uppercase;font-weight:500}label.field{flex-direction:column;gap:6px;font-size:.9rem;display:flex}label.field input{color:var(--mist);background:#00000040;border:1px solid #f8f8f84d;border-radius:2px;padding:12px 14px;font-size:16px}label.check{align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.4;display:flex}label.check input{width:22px;height:22px;accent-color:var(--sea-foam);flex:none}.error{color:var(--bad);min-height:1.2em;font-size:.9rem}.row{flex-wrap:wrap;gap:10px;display:flex}.row .btn{flex:1;padding-inline:10px}.muted{color:#f8f8f899;font-size:.8rem}.admin th,.admin td{text-align:left;border-bottom:1px solid #f8f8f826;padding:6px 8px}.score-big{color:var(--sea-foam);font-variant-numeric:tabular-nums;font-size:4.5rem;font-weight:300;line-height:1}table.breakdown{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}table.breakdown td{border-bottom:1px solid #f8f8f81f;padding:6px 0}table.breakdown td:last-child{text-align:right;font-family:var(--mono)}table.breakdown .detail{color:#f8f8f899;font-size:.78rem;display:block}.tip{border-left:3px solid var(--tidal);background:#00bab32e;border-radius:6px;padding:10px 12px;font-size:.92rem}.game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.game canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hud{padding:max(10px, env(safe-area-inset-top)) 12px 0;pointer-events:none;text-shadow:0 1px 3px #0009;flex-direction:column;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}.hud .stats{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#f8f8f8bf;justify-content:space-between;font-size:.68rem;display:flex}.hud .stats b{color:var(--mist);text-transform:none;font-size:1.15rem;font-weight:400;display:block}.hud .phase{font-family:var(--mono);background:var(--sea-foam);color:var(--midnight);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;padding:3px 8px;font-size:.75rem}.hud-row{justify-content:space-between;align-items:center;display:flex}.hud .mute{pointer-events:auto;appearance:none;color:var(--mist);font-family:var(--mono);letter-spacing:.06em;background:#0000004d;border:1px solid #f8f8f866;border-radius:2px;padding:5px 8px;font-size:.68rem}.gauge{background:#0006;border-radius:1px;height:10px;position:relative;overflow:hidden}.gauge .fill{background:var(--ok);width:0;transition:background .15s;position:absolute;inset:0 auto 0 0}.gauge .mark{background:#f8f8f8b3;width:2px;position:absolute;top:0;bottom:0}.gauge-label{font-family:var(--mono);text-transform:uppercase;color:#f8f8f8cc;justify-content:space-between;font-size:.66rem;display:flex}.landing-meter{font-family:var(--mono);font-variant-numeric:tabular-nums;background:#00000073;border-radius:2px;align-self:center;margin-top:6px;padding:6px 12px;font-size:1.05rem}.controls{padding:0 12px max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.controls button{pointer-events:auto;height:96px;font-family:var(--mono);letter-spacing:.08em;color:var(--midnight);touch-action:none;background:#f8f8f8d9;border:0;border-radius:4px;flex:0 0 40%;font-size:1.4rem;font-weight:500;box-shadow:0 4px 16px #00000059}.controls button small{letter-spacing:0;font-size:.7rem;font-weight:600;display:block}.controls button.active{background:var(--signal-green);transform:scale(.97)}.count{color:var(--sea-foam);text-shadow:0 2px 12px #00000080;pointer-events:none;font-size:7rem;font-weight:200;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.rotate-hint{display:none}@media (orientation:landscape) and (max-height:500px){.rotate-hint{text-align:center;background:var(--deep-water);color:var(--sea-foam);z-index:20;justify-content:center;align-items:center;padding:24px;font-size:1.4rem;font-weight:300;display:flex;position:absolute;inset:0}}.toast{color:#fff;font-family:var(--mono);text-transform:uppercase;pointer-events:none;opacity:0;background:#ff5a5feb;border-radius:2px;padding:10px 18px;font-size:1.2rem;transition:opacity .2s;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.toast.show{opacity:1}.screen{isolation:isolate;background:var(--deep-water);grid-template-columns:2fr 1fr;gap:4vw;min-height:100%;padding:4vh 4vw;display:grid;position:relative}.screen h1{color:var(--sea-foam);margin:0 0 3vh;font-size:7vh;font-weight:300}.screen .logo{height:5vh}.screen ol{font-variant-numeric:tabular-nums;margin:0;padding:0;font-size:4vh;list-style:none}.screen li{border-bottom:1px solid #f8f8f81f;grid-template-columns:3ch 1fr auto;gap:2vw;padding:1.1vh 0;display:grid}.screen li span:last-child{font-family:var(--mono)}.screen li:first-child{color:var(--signal-green)}.screen aside{text-align:center;flex-direction:column;align-items:center;gap:3vh;font-size:2.6vh;display:flex}.screen .countdown{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--sea-foam);font-size:7vh}.screen .qr{background:#fff;width:100%;max-width:32vh;padding:1.5vh}.screen .latest{background:#00000040;border-radius:1vh;padding:1.5vh 2vw}.admin{max-width:900px;margin:0 auto;padding:20px}.admin table{border-collapse:collapse;width:100%;font-size:.9rem}
