@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAVoAA8AAAAACegAAAUTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBwYBmAAbBEIColciA0LHgABNgIkAzgEIAWDZAc+DAcb9QdRlE5OmOBngm2rYa0IiBSU4SB6GXpb1ovxAEMb3kc8/X6ve+4LIEoWKsKQjE0KaAS5si8LV935qoC6jkBWl99PeNa/acrMsmIWkJM7J2fiwyD6/rZ3nySQEEJPI2+8mQgCjl/7/xfCPjhmumgbjyJtDTLAgZRI5C2Lsyg9Ej+AogCfIgpT4Glg/xqJD/gP3cxixar09EqCLkAR0S2CjsmOByOgCZ096O8EMaNtszM3NFMavYQr9Cp5x9dfFA/5c6zg2Tty8yAadUVizTiA6qa3QCC/ewmYw2NFVjA0W0NfnG8fGGCFUMwlNjUZzmSW9PlG/R/AyDGpxk28hPlctcMi84z8m/D+t4A8BCJ1LJF6PM8poA/kPvkJWDJ1K8BaUZaAFU7lYnST2ctUYrFxdcncWZ+9iCBZ7QpGtRZjgknaiROuAw9zmuW0fBVJAuYMq2n1OtKMXVFHky8Q0hrFz5fHL9r+nEPMnjt7HmivMC8x91xDA/1M/oAFOmT59tOnXR4D/SyfffGCednGaXbT8vxlrLJwBWKuYq7gZdFz7CSU+gIt6kE7uc+Qo2v37Ql5HkHKQsxRQtvGGz2XFwMdv411vIFQ6YqXmDMUlNIsQgwHBXRRFWtcw+hMzOajmR59mMsOuWmOF4yqrMx9tIxFTBfJL+Ii0RlIK4ImubT7MpIsjraaeanajTm7MtJOmW4rxrqXFRkT0If2oT0spW5rQzzafpjguAN9hiRinFZih+0AJ4zTkDbS8Uh95LjURmGlmKaOU1gqqpGTVk+skg4HuviVSNOtxkAukjRmgehpuFJzeK1lTT5P1BR1/PNEQdrPnuV+BTaWg//+kPhs+NC04dbkEaOaIOzcWmf+0GCvjO57t/beypjctoHZoyi8WpYUkmvITj8o+TTCOX91Xp24bnVevsQkk/AmUsZTIOZotreXUWEZNO7bn9qWsbLZpFW6JvXu9NXJzKKH42p+jchuqW1L6vNy1e9301q7tfmbr/QZMkUOD899Yd14NHBLo/SjF5cCSkjT2NHk135OQk4wT8IJPl3A+KVAmsC6w9Yzeb5ippX3NAv4svYkQsqFgb5lm1UzJZ7DRrsvW6fPCvnquOaJ3AZkUSKvIgyXf96PrZJ0kgSzaEuXOoX1hffmtOr/WYZ+xra+RIUo1WFKdehUQIrG3y5m3i9eznH2AwnYJE9dQSY4kM2VOdnutWqt4pcfeb+k1NlrCD2P3ZO5XLekNz+2uPpKb/XJ2t0NUfOkPccR0vHefWSNS4H/BGiupbdcml/BnXeommkZlIk13/I8D/sOQlw8z33xfpVl+C/GxBeA17vkDn3BYWv7dXrdRJsCQnVz7EH1QwnxcArxoPR47glkG2iQNwSZIChqhlyhaVP9a/045AZNdsyOfJGctxwg9NgmBAURbAFAm+MIaZIADY94zBhygFn0uMesbKlubVJlNpuQyGwxwB96jhQ4qR9Qu4XyKu1Tp1cLH/p5ZE990E5DFwpNaqksidKBtoMWVahBSjs1KNRwaI2gi380ig9P3rz5SjWgRqcMBWu/Q2sDMrNLKOq0U7MWT/ny5gPGn6tBkwHtavQaVcbp0m0kfWtTWctTnNVxceak0ulKzTpDe6uiNRqHjom7XY06zVt5qtVilAt3lKFEEM26JK19bwCDFNQf9sQgYUrmZO1Qm5ZiW0CGLZ6Hyvq4TZke5H+6xGcf+8Snzvruczt8Mu1G9R7wrwIAAA==)format("woff2"),url(data:font/woff;base64,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)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:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0e0b16;--ink-1:#18142a;--ink-2:#221c3a;--ink-3:#2d2550;--line:#3a3160;--line-strong:#514584;--paper:#f6f2ff;--paper-muted:#b4a9d6;--yellow:#ffd23f;--yellow-hover:#ffe070;--yellow-ink:#1a1300;--pink:#ff4f9a;--pink-hover:#ff73b0;--mint:#3ce8b0;--red:#ff6b6b;--sky:#4da3ff;--orange:#ff9f43;--color-bg:var(--ink);--color-surface:var(--ink-1);--color-surface-2:var(--ink-2);--color-surface-3:var(--ink-3);--color-border:var(--line);--color-border-strong:var(--line-strong);--color-text:var(--paper);--color-muted:var(--paper-muted);--color-primary:var(--yellow);--color-primary-hover:var(--yellow-hover);--color-on-primary:var(--yellow-ink);--color-secondary:var(--pink);--color-secondary-hover:var(--pink-hover);--color-on-secondary:var(--ink);--color-ok:var(--mint);--color-bad:var(--red);--color-focus:var(--yellow);--color-outline:#000;--team-left:var(--sky);--team-right:var(--orange);--font-display:"Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body:"Nunito Variable", Nunito, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:clamp(1.75rem, 5vw, 2.5rem);--text-hero:clamp(2.5rem, 9vw, 4.5rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:40px;--space-7:64px;--space-8:96px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--outline-w:2px;--tap-size:48px;--content-width:1120px;--narrow-width:560px;--shadow-sm:0 2px 0 var(--color-outline);--shadow-md:0 4px 0 var(--color-outline);--shadow-lg:0 6px 0 var(--color-outline);--shadow-soft:0 12px 32px #00000073;--glow-primary:0 0 0 4px #ffd23f2e, 0 8px 28px #ffd23f40;--glow-secondary:0 10px 36px #ff4f9a4d;--focus-ring:0 0 0 3px var(--ink), 0 0 0 6px var(--color-focus);--z-base:1;--z-sticky:50;--z-overlay:100;--z-modal:200;--z-toast:300;--z-tooltip:400;--dur-fast:.12s;--dur-med:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--transition:var(--dur-fast) var(--ease-out)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-med:0s;--dur-slow:0s;--transition:0s}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5;overflow-x:clip}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.01em;font-weight:400;line-height:1.1}a{color:var(--color-primary);text-underline-offset:3px}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-secondary);color:var(--color-on-secondary)}.page{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.container{width:100%;max-width:var(--content-width);padding:0 var(--space-4);margin:0 auto}.muted{color:var(--color-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.button{--btn-bg:var(--color-primary);--btn-bg-hover:var(--color-primary-hover);--btn-fg:var(--color-on-primary);--btn-border:var(--color-outline);--btn-shadow:var(--shadow-md);--btn-lift:var(--shadow-lg);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-size);padding:0 var(--space-5);border:var(--outline-w) solid var(--btn-border);border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--btn-shadow);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--transition), box-shadow var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition);font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.button:hover{background:var(--btn-bg-hover);color:var(--btn-fg);box-shadow:var(--btn-lift);transform:translateY(-2px)}.button:active{box-shadow:0 1px 0 var(--color-outline);transform:translateY(3px)}.button:focus-visible{box-shadow:var(--btn-shadow), var(--focus-ring);outline:none}.button svg{flex:none;width:20px;height:20px}.button.secondary{--btn-bg:var(--color-surface-2);--btn-bg-hover:var(--color-surface-3);--btn-fg:var(--color-text);--btn-border:var(--color-border-strong)}.button.secondary:hover{--btn-border:var(--color-primary)}.button.accent{--btn-bg:var(--color-secondary);--btn-bg-hover:var(--color-secondary-hover);--btn-fg:var(--color-on-secondary)}.button.danger{--btn-bg:var(--color-bad);--btn-bg-hover:#ff8a8a;--btn-fg:var(--ink)}.button.ghost{--btn-bg:transparent;--btn-bg-hover:var(--color-surface-2);--btn-fg:var(--color-text);--btn-border:transparent;--btn-shadow:none;--btn-lift:none}.button.ghost:hover,.button.ghost:active{transform:none}.button.primary-glow:not(:disabled){box-shadow:var(--btn-shadow), var(--glow-primary)}.button.small{min-height:40px;padding:0 var(--space-4);font-size:var(--text-sm)}.button.large{min-height:60px;padding:0 var(--space-6);font-size:var(--text-lg)}.button.block{width:100%}.button.icon-only{width:var(--tap-size);padding:0}.button.icon-only.small{width:40px}.button:disabled,.button[aria-disabled=true]{--btn-bg:var(--color-surface-3);--btn-bg-hover:var(--color-surface-3);--btn-fg:var(--color-muted);--btn-border:var(--color-border);--btn-shadow:none;--btn-lift:none;cursor:not-allowed;transform:none}.button.is-loading{color:#0000;pointer-events:none}.button.is-loading:after{content:"";border:3px solid var(--btn-fg);border-right-color:#0000;border-radius:50%;width:20px;height:20px;margin:auto;animation:.7s linear infinite spin;position:absolute;inset:0}.spinner{border:3px solid var(--color-primary);border-right-color:#0000;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-weight:800}.field-help{color:var(--color-muted);font-size:var(--text-sm)}.field-error,.form-error{color:var(--color-bad);font-size:var(--text-sm);font-weight:700}.input,.select{width:100%;min-height:var(--tap-size);padding:0 var(--space-4);border:var(--outline-w) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--transition), box-shadow var(--transition)}.input::placeholder{color:#8e84b3}.input:hover,.select:hover{border-color:var(--color-border-strong)}.input:focus-visible,.select:focus-visible{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 4px #ffd23f33}.input[aria-invalid=true]{border-color:var(--color-bad)}.input:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4a9d6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:18px;padding-right:44px}.code-input{gap:var(--space-2);justify-content:center;display:flex}.code-input input{aspect-ratio:5/6;border:var(--outline-w) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;max-width:60px;min-height:56px;box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-display);text-align:center;text-transform:uppercase;caret-color:var(--color-primary);transition:border-color var(--transition), transform var(--transition), background-color var(--transition);padding:0;font-size:clamp(1.5rem,7vw,2rem)}.code-input input:focus-visible{border-color:var(--color-focus);box-shadow:var(--shadow-lg), 0 0 0 4px #ffd23f33;outline:none;transform:translateY(-2px)}.code-input input:not(:placeholder-shown){background:var(--color-surface-2);border-color:var(--color-primary)}.code-input[aria-invalid=true] input{border-color:var(--color-bad)}.code-input.is-shaking{animation:shake .36s var(--ease-out)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.toggle{align-items:center;gap:var(--space-3);min-height:var(--tap-size);cursor:pointer;font-weight:700;display:inline-flex}.toggle input{appearance:none;border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:var(--color-surface-3);cursor:pointer;width:56px;height:32px;transition:background-color var(--transition);flex:none;margin:0;position:relative;box-shadow:inset 0 2px #00000059}.toggle input:after{content:"";border:var(--outline-w) solid var(--color-outline);background:var(--color-muted);width:24px;height:24px;transition:transform var(--dur-med) var(--ease-bounce), background-color var(--transition);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked{background:var(--color-ok)}.toggle input:checked:after{background:var(--paper);transform:translate(24px)}.toggle input:focus-visible{box-shadow:var(--focus-ring);outline:none}.toggle input:disabled{opacity:.5;cursor:not-allowed}.segmented{gap:var(--space-1);width:fit-content;max-width:100%;padding:var(--space-1);border:var(--outline-w) solid var(--color-border);background:var(--color-surface);border-radius:26px;flex-wrap:wrap;display:inline-flex}.segmented label{position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{min-width:48px;min-height:40px;padding:0 var(--space-3);border:var(--outline-w) solid transparent;border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;transition:background-color var(--transition), color var(--transition);place-items:center;font-weight:800;display:grid}.segmented span:hover{color:var(--color-text);background:var(--color-surface-2)}@media (width<=399px){.segmented span{padding:0 10px}}.segmented input:checked+span{border-color:var(--color-outline);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.segmented input:focus-visible+span{box-shadow:var(--focus-ring)}.segmented input:disabled+span{cursor:not-allowed}.range{--pct:50%;padding-top:34px;position:relative}.range input{width:100%;height:var(--tap-size);appearance:none;cursor:pointer;background:0 0;margin:0}.range input::-webkit-slider-runnable-track{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:linear-gradient(to right, var(--color-primary) var(--pct), var(--color-surface-3) var(--pct));height:10px}.range input::-moz-range-track{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:var(--color-surface-3);height:10px}.range input::-moz-range-progress{border-radius:var(--radius-pill);background:var(--color-primary);height:10px}.range input::-webkit-slider-thumb{border:var(--outline-w) solid var(--color-outline);background:var(--paper);width:28px;height:28px;box-shadow:var(--shadow-sm);appearance:none;transition:transform var(--transition);border-radius:50%;margin-top:-11px}.range input::-moz-range-thumb{border:var(--outline-w) solid var(--color-outline);background:var(--paper);border-radius:50%;width:24px;height:24px}.range input:active::-webkit-slider-thumb{transform:scale(1.15)}.range input:focus-visible{outline:none}.range input:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.range input:focus-visible::-moz-range-thumb{box-shadow:var(--focus-ring)}.range-bubble{top:0;left:calc(14px + (100% - 28px) * var(--pct-num,.5));padding:2px var(--space-2);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;font-weight:900;position:absolute;translate:-50%}.range-bubble:after{content:"";border-right:var(--outline-w) solid var(--color-outline);border-bottom:var(--outline-w) solid var(--color-outline);background:var(--color-primary);width:8px;height:8px;position:absolute;bottom:-6px;left:50%;translate:-50%;rotate:45deg}.chip{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:var(--outline-w) solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text);font:inherit;cursor:pointer;transition:transform var(--transition), background-color var(--transition), border-color var(--transition), box-shadow var(--transition);font-weight:700;display:inline-flex}.chip:hover{border-color:var(--color-primary)}.chip:active{transform:scale(.96)}.chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.chip[aria-pressed=true]{border-color:var(--color-outline);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.chip:disabled{cursor:default}.chip:disabled:not([aria-pressed=true]){opacity:.55}.chip-count{border-radius:var(--radius-pill);font-size:var(--text-xs);background:#00000040;padding:0 6px;font-weight:800}.chip svg{width:16px;height:16px}.badge,.tag{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-weight:900;line-height:1.4;display:inline-flex}.badge svg{width:14px;height:14px}.badge.new{background:var(--color-secondary);color:var(--color-on-secondary)}.badge.open{background:var(--color-ok);color:var(--ink)}.badge.open:before{content:"";background:var(--ink);width:8px;height:8px;animation:pulse-dot 1.6s var(--ease-out) infinite;border-radius:50%}.badge.soon{background:var(--color-surface-3);color:var(--color-muted)}.badge.host,.tag.host{background:var(--color-primary);color:var(--color-on-primary)}.sticker{box-shadow:var(--shadow-sm);rotate:-4deg}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.card{padding:var(--space-5);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-2);box-shadow:var(--shadow-lg);position:relative}.card.interactive{transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out)}.card.interactive:hover{box-shadow:0 10px 0 var(--color-outline), var(--glow-secondary);transform:translateY(-4px)rotate(-.4deg)}.panel{padding:var(--space-4);border:var(--outline-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.panel-title{margin-bottom:var(--space-1);font-size:var(--text-lg)}.divider{height:0;margin:var(--space-5) 0;border:0;border-top:var(--outline-w) dashed var(--color-border)}.divider-label{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-muted);font-size:var(--text-sm);text-transform:uppercase;font-weight:800;display:flex}.divider-label:before,.divider-label:after{content:"";border-top:var(--outline-w) dashed var(--color-border);flex:1}.sheet{width:min(100%,480px);max-height:min(85dvh,720px);padding:var(--space-5);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-2);color:var(--color-text);box-shadow:var(--shadow-lg), var(--shadow-soft);margin:auto}.sheet[open]{animation:sheet-in var(--dur-med) var(--ease-out)}.sheet::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08060eb3}.sheet-title{margin-bottom:var(--space-2);padding-right:var(--space-6);font-size:var(--text-xl)}.sheet .sheet-close{top:var(--space-3);right:var(--space-3);position:absolute}.sheet-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap-reverse;justify-content:flex-end;display:flex}@media (width<=599px){.sheet{width:100%;max-width:100%;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;margin:auto 0 0}.sheet:before{content:"";width:44px;height:5px;margin:calc(-1 * var(--space-2)) auto var(--space-4);border-radius:var(--radius-pill);background:var(--color-border-strong);display:block}.sheet[open]{animation-name:sheet-up}.sheet-actions .button{flex:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes sheet-up{0%{transform:translateY(100%)}}.toast-region{z-index:var(--z-toast);inset:auto auto auto 50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));gap:var(--space-2);width:min(calc(100% - 2 * var(--space-4)), 420px);pointer-events:none;background:0 0;border:0;flex-direction:column;align-items:center;margin:0;padding:0;display:flex;position:fixed;overflow:visible;translate:-50%}.toast{align-items:center;gap:var(--space-3);width:fit-content;max-width:100%;padding:var(--space-3) var(--space-4);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-md), var(--shadow-soft);pointer-events:auto;animation:toast-in var(--dur-med) var(--ease-bounce);font-weight:800;display:flex}.toast svg{flex:none;width:22px;height:22px}.toast.ok svg{color:#0d8a62}.toast.bad{background:var(--color-bad)}.toast.is-leaving{animation:toast-out var(--dur-med) var(--ease-out) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);z-index:var(--z-tooltip);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition), translate var(--transition);padding:4px 10px;font-weight:800;position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50% 4px}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;translate:-50%}@media (hover:none){[data-tooltip]:hover:after{opacity:0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(100deg, transparent 30%, #ffffff12 50%, transparent 70%) var(--color-surface-2);background-size:200% 100%;min-height:1em;animation:1.4s linear infinite shimmer;display:block}.skeleton.circle{border-radius:50%}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.empty-state{gap:var(--space-2);padding:var(--space-6) var(--space-4);border:var(--outline-w) dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state>svg{width:96px;height:96px;margin-bottom:var(--space-2)}.empty-state h3{font-size:var(--text-xl)}.empty-state p{max-width:36ch;color:var(--color-muted)}.empty-state .button{margin-top:var(--space-3)}.player-avatar{--avatar:var(--color-primary);--size:48px;width:var(--size);height:var(--size);border:var(--outline-w) solid var(--color-outline);background:var(--avatar);box-shadow:var(--shadow-sm);color:var(--ink);font-family:var(--font-display);font-size:calc(var(--size) * .45);border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;position:relative}.player-avatar.small{--size:36px}.player-avatar.large{--size:72px;border-width:3px}.player-avatar>svg{width:74%;height:74%;overflow:visible}.player-avatar .avatar-badge{aspect-ratio:1;border:var(--outline-w) solid var(--color-outline);border-radius:50%;place-items:center;width:45%;min-width:18px;display:grid;position:absolute}.player-avatar .avatar-badge svg{width:70%;height:70%}.player-avatar .avatar-ready{background:var(--color-ok);color:var(--ink);bottom:-6%;right:-6%}.player-avatar .avatar-offline{background:var(--color-surface-3);color:var(--color-text);bottom:-6%;right:-6%}.player-avatar .avatar-host{width:60%;color:var(--color-primary);filter:drop-shadow(0 2px 0 var(--color-outline));border:0;border-radius:0;top:-30%;left:50%;translate:-50%;rotate:-8deg}.player-avatar .avatar-host svg{width:100%;height:100%}.player-avatar.is-offline{filter:grayscale(.9);opacity:.6}.player-avatar.is-offline .avatar-offline{filter:none}.icon{vertical-align:-.25em;flex:none;width:1.25em;height:1.25em;display:inline-block}.logo{align-items:center;gap:var(--space-2);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.03em;text-decoration:none;display:inline-flex}.logo svg{width:1.6em;height:1.6em;transition:transform var(--dur-med) var(--ease-bounce)}a.logo:hover{color:var(--color-text)}a.logo:hover svg{transform:rotate(-8deg)scale(1.06)}.timer-ring{--ring:var(--color-primary);--size:52px;width:var(--size);height:var(--size);border:var(--outline-w) solid var(--color-outline);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.timer-ring.large{--size:72px}.timer-ring svg{width:calc(100% - 4px);height:calc(100% - 4px);position:absolute;inset:2px;rotate:-90deg}.timer-ring circle{fill:none;stroke-width:5px}.timer-ring-track{stroke:var(--color-surface-3)}.timer-ring-fill{stroke:var(--ring);stroke-dasharray:100;stroke-linecap:round;transition:stroke-dashoffset .25s linear, stroke var(--dur-med) var(--ease-out)}.timer-ring-text{font-family:var(--font-display);font-size:calc(var(--size) * .36);font-variant-numeric:tabular-nums;line-height:1;position:relative}.timer-ring[data-idle=true] .timer-ring-fill{opacity:0}.timer-ring[data-urgent=true]{--ring:var(--color-bad);color:var(--color-bad)}.timer-ring.is-tick[data-urgent=true]{animation:timer-tick .42s var(--ease-bounce)}@keyframes timer-tick{30%{box-shadow:var(--shadow-sm), 0 0 0 6px #ff6b6b40;transform:scale(1.14)}}.confetti-canvas{z-index:var(--z-toast);pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.section-title{margin:var(--space-5) 0 var(--space-3);font-size:var(--text-lg)}.notice{padding:var(--space-6) 0;text-align:center}.notice .button{margin-top:var(--space-4)}.landing{overflow-x:clip}.landing section[id]{scroll-margin-top:80px}.site-nav{z-index:var(--z-sticky);border-bottom:var(--outline-w) solid transparent;transition:background-color var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);position:sticky;top:0}.site-nav.is-scrolled,.site-nav.is-open{border-bottom-color:var(--color-border);-webkit-backdrop-filter:blur(14px)saturate(1.4);background:#0e0b16c7}.nav-inner{gap:var(--space-4);justify-content:space-between;align-items:center;min-height:68px;display:flex}.nav-menu{gap:var(--space-1);align-items:center;display:flex}.nav-link{min-height:var(--tap-size);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text);transition:background-color var(--transition);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--color-surface-2);color:var(--color-text)}.nav-menu .button{margin-left:var(--space-2)}.nav-toggle{display:none}@media (width<=767px){.nav-toggle{display:inline-flex}.nav-menu{align-items:stretch;gap:var(--space-1);padding:var(--space-2) var(--space-4) var(--space-4);border-bottom:var(--outline-w) solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-soft);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{background:var(--color-bg);-webkit-backdrop-filter:none}.site-nav.is-open .nav-menu{animation:menu-in var(--dur-med) var(--ease-out);display:flex}.nav-link{padding:0 var(--space-3);font-size:var(--text-lg)}.nav-menu .button{margin:var(--space-2) 0 0;min-height:var(--tap-size)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}.hero{padding:var(--space-5) 0 var(--space-7);isolation:isolate;position:relative}.hero-bg{z-index:-1;pointer-events:none;background-image:radial-gradient(#ffffff12 1.5px,#0000 1.5px);background-size:28px 28px;position:absolute;inset:-80px 0 0;overflow:hidden;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,#0000 75%)}.hero-bg i{filter:blur(70px);opacity:.32;border-radius:50%;width:46vmax;height:46vmax;animation:22s ease-in-out infinite alternate blob;position:absolute}.hero-bg i:first-child{background:var(--pink);top:-18vmax;left:-12vmax}.hero-bg i:nth-child(2){background:#6c4dff;animation-delay:-8s;top:0;right:-16vmax}.hero-bg i:nth-child(3){background:var(--yellow);opacity:.16;animation-delay:-15s;bottom:-24vmax;left:30%}@keyframes blob{50%{transform:translate(6vmax,4vmax)scale(1.1)}to{transform:translate(-4vmax,6vmax)scale(.95)}}@media (prefers-reduced-motion:reduce){.hero-bg i{animation:none}}.hero-inner{gap:var(--space-6);align-items:center;display:grid}@media (width>=960px){.hero{padding:var(--space-7) 0}.hero-inner{gap:var(--space-7);grid-template-columns:1.05fr 1fr}}.hero-copy{gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.hero-copy h1{font-size:var(--text-hero);text-wrap:balance;line-height:1.02}.hero-highlight{color:var(--color-primary);white-space:nowrap;display:inline-block;position:relative}.hero-highlight:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10c22-8 40-8 58-2s36 8 56 0 46-8 80-2' fill='none' stroke='%23ff4f9a' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:.22em;position:absolute;bottom:-.16em;left:2%;right:2%}.hero-sub{margin-top:var(--space-2);color:var(--color-muted);font-size:clamp(1.125rem,3.4vw,1.375rem);font-weight:700}.hero-ctas{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hero-perks{gap:var(--space-2) var(--space-5);margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;padding:0;font-weight:700;list-style:none;display:flex}.hero-perks li{gap:var(--space-2);align-items:center;display:inline-flex}.hero-perks svg{color:var(--color-ok)}@media (width<=599px){.hero-ctas{width:100%}.hero-ctas .button{flex:100%}}.hero-visual{min-width:0;position:relative}.demo{--progress:0;--loop:8s;max-width:520px;padding:0 0 var(--space-4);margin:0 auto;position:relative}.demo-window{border:3px solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-2);box-shadow:8px 8px 0 var(--color-outline), var(--glow-secondary);overflow:hidden;rotate:1.2deg}.demo-bar{gap:var(--space-3);padding:10px var(--space-3);border-bottom:var(--outline-w) solid var(--color-outline);background:var(--color-surface-3);align-items:center;display:flex}.demo-dots{gap:6px;display:flex}.demo-dots i{border:var(--outline-w) solid var(--color-outline);background:var(--red);border-radius:50%;width:11px;height:11px}.demo-dots i:nth-child(2){background:var(--yellow)}.demo-dots i:nth-child(3){background:var(--mint)}.demo-url{border-radius:var(--radius-pill);background:var(--color-bg);min-width:0;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:3px 12px;font-weight:700;overflow:hidden}.demo-body{gap:var(--space-3);padding:var(--space-3);display:grid}.demo-top{gap:var(--space-3);align-items:center;display:flex}.demo-timer{flex:none;place-items:center;width:46px;height:46px;display:grid;position:relative}.demo-ring{position:absolute;inset:0;rotate:-90deg}.demo-ring circle{fill:none;stroke-width:5px}.demo-ring-track{stroke:var(--color-surface-3)}.demo-ring-fill{stroke:var(--color-ok);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(var(--progress) * 62);transition:stroke-dashoffset var(--loop) linear}.demo-seconds{font-family:var(--font-display);font-size:var(--text-md)}.demo-word{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.demo-letters{gap:6px;display:flex}.demo-letter{border-bottom:3px solid var(--color-muted);width:26px;height:30px;font-family:var(--font-display);font-size:var(--text-lg);place-items:center;line-height:1;display:grid}.demo-letter.is-shown{border-bottom-color:var(--color-primary);color:var(--color-primary);animation:letter-pop var(--dur-slow) var(--ease-bounce)}@keyframes letter-pop{0%{opacity:0;transform:translateY(6px)scale(.6)}}.demo-round{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.demo-drawer{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:var(--color-secondary);color:var(--ink);font-size:var(--text-xs);flex:none;align-items:center;gap:6px;padding:4px 10px;font-weight:900;display:inline-flex}.demo-drawer svg{width:14px;height:14px}.demo-canvas{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:#fffdf6;box-shadow:inset 0 -4px #0000000f}.demo-doodle{aspect-ratio:3/2;width:100%;max-height:220px;display:block}.demo-doodle path{fill:none;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .48s var(--ease-out)}.demo-doodle path.is-drawn{stroke-dashoffset:0}.demo-players{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.demo-players li{min-width:0;font-size:var(--text-xs);flex-direction:column;align-items:center;gap:2px;font-weight:800;display:flex}.demo-name{align-items:center;gap:3px;display:inline-flex}.demo-name svg{width:12px;height:12px;color:var(--color-secondary)}.demo-score{color:var(--color-muted);transition:color var(--transition)}.demo-score.is-bumped{color:var(--color-ok);animation:letter-pop var(--dur-slow) var(--ease-bounce)}.demo-chat{min-height:84px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;list-style:none;display:flex}.demo-chat-line{opacity:0;transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);transform:translateY(6px)}.demo-chat-line.is-shown{opacity:1;transform:none}.demo-chat-line.is-correct{color:var(--color-ok);align-items:center;gap:6px;font-weight:800;display:flex}.demo-chat-line svg{width:16px;height:16px}.demo-copied{z-index:2;gap:var(--space-2);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-pill);background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-on-primary);font-weight:900;font-size:var(--text-sm);opacity:0;transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-slow) var(--ease-bounce);align-items:center;padding:10px 16px;display:inline-flex;position:absolute;bottom:0;right:-6px;transform:translateY(12px)scale(.85)rotate(-3deg)}.demo.is-copied .demo-copied{opacity:1;transform:rotate(-3deg)}.demo-confetti{pointer-events:none;position:absolute;top:45%;left:50%}.demo-confetti span{border:1.5px solid var(--color-outline);opacity:0;border-radius:2px;width:9px;height:12px;position:absolute}.demo.is-celebrating .demo-confetti span{animation:confetti 1.1s var(--ease-out) forwards}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r))}}.demo.is-resetting *,.demo.is-resetting{transition:none!important}@media (prefers-reduced-motion:reduce){.demo-window{rotate:none}}.section{padding:var(--space-7) 0}.section-head{gap:var(--space-2);max-width:640px;margin-bottom:var(--space-6);flex-direction:column;display:flex}.section-head h2{font-size:var(--text-2xl)}.section-head p{font-size:var(--text-lg)}.game-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.game-card{--accent:var(--color-primary);gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-4);flex-direction:column;display:flex}.game-art{margin-bottom:var(--space-1);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:radial-gradient(circle at 30% 20%, #ffffff14, transparent 60%), color-mix(in srgb, var(--accent) 22%, var(--ink-1));overflow:hidden}.game-art-svg{aspect-ratio:16/10;width:100%;transition:transform var(--dur-slow) var(--ease-out);display:block}.game-card.interactive:hover .game-art-svg{transform:scale(1.04)rotate(-.6deg)}.game-card>:not(.game-art){margin-inline:var(--space-2)}.game-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.game-card h3{font-size:var(--text-xl)}.game-desc{color:var(--color-muted);flex:1}.game-stats{gap:var(--space-2);margin-block:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:2px;display:flex}.stat dt{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;align-items:center;gap:5px;font-weight:800;display:inline-flex}.stat svg{width:15px;height:15px;color:var(--accent)}.stat dd{margin:0;font-weight:900;line-height:1.25}.game-card.is-soon{border-style:dashed;border-color:var(--color-border-strong);box-shadow:none;background:0 0}.game-card.is-soon .game-art{border-style:dashed;border-color:var(--color-border-strong);background:var(--color-surface)}@media (width>=600px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=600px) and (width<=959px){.game-card.is-soon{column-gap:var(--space-4);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.game-card.is-soon .game-art{grid-row:1/span 5;margin-bottom:0}}.steps{gap:var(--space-5);counter-reset:step;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.step{gap:var(--space-2);padding:var(--space-5) var(--space-4);border:var(--outline-w) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.step-number{border:var(--outline-w) solid var(--color-outline);background:var(--color-primary);width:36px;height:36px;box-shadow:var(--shadow-sm);color:var(--color-on-primary);font-family:var(--font-display);font-size:var(--text-lg);border-radius:50%;place-items:center;display:grid;position:absolute;top:-16px;left:50%;translate:-50%;rotate:-6deg}.step-art{width:160px;height:120px}.step h3{font-size:var(--text-xl)}@media (width>=700px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.step:not(:last-child):after{content:"";top:50%;right:calc(-1 * var(--space-5));width:var(--space-5);border-top:3px dashed var(--color-border-strong);position:absolute}}.join-card{gap:var(--space-3);max-width:640px;padding:var(--space-6) var(--space-4);background:radial-gradient(circle at 50% 0%, #ffd23f1f, transparent 60%), var(--color-surface-2);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.join-card h2{font-size:var(--text-2xl)}.join-art{width:120px;height:90px;margin-top:calc(-1 * var(--space-3))}.join-form{gap:var(--space-4);width:100%;margin-top:var(--space-3);flex-direction:column;align-items:center;display:flex}.join-form .code-input{width:100%;max-width:360px}.join-form .code-input input{max-width:64px;font-size:clamp(1.75rem,8vw,2.25rem)}.join-form .button{min-width:200px}.join-error{max-width:44ch;min-height:1.5em}.join-error:empty{display:none}.site-footer{padding:var(--space-6) 0 calc(var(--space-6) + env(safe-area-inset-bottom));border-top:var(--outline-w) dashed var(--color-border);margin-top:auto}.footer-inner{gap:var(--space-5);display:grid}.footer-brand{gap:var(--space-2);flex-direction:column;display:flex}.footer-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.footer-links a{min-height:44px;color:var(--color-text);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.footer-links a:hover{color:var(--color-primary)}.footer-small{font-size:var(--text-sm)}@media (width>=768px){.footer-inner{grid-template-columns:1fr auto;align-items:center}.footer-small{grid-column:1/-1}}.narrow{max-width:var(--narrow-width)}.page-title{margin:var(--space-5) 0 var(--space-3);font-size:var(--text-2xl);text-wrap:balance}.back-link{min-height:44px;margin-top:var(--space-3);align-items:center;font-weight:800;display:inline-flex}.banner{gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-surface-3);text-align:center;justify-content:center;align-items:center;font-weight:800;display:flex}.lobby-banner{z-index:var(--z-sticky);top:var(--space-2);background:var(--yellow);color:var(--yellow-ink);box-shadow:var(--shadow-md);position:sticky}.name-card{gap:var(--space-3);margin:var(--space-5) 0;padding:var(--space-3) var(--space-3) var(--space-5);flex-direction:column;display:flex}.name-card>:not(.name-art){margin-inline:var(--space-2)}.name-art{aspect-ratio:16/9;border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-surface-3);width:100%;display:block}.name-card .page-title{margin-top:var(--space-2);margin-bottom:0}.name-form{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.name-row{gap:var(--space-3);align-items:center;display:flex}.name-row .input{min-width:0;font-size:var(--text-lg);flex:1;font-weight:700}.lobby{padding-bottom:env(safe-area-inset-bottom)}.lobby-top{gap:var(--space-3);justify-content:space-between;align-items:center;min-height:60px;display:flex}.lobby-top .leave-row{margin-left:calc(-1 * var(--space-3))}.lobby-brand{font-size:var(--text-lg)}.lobby-layout{gap:var(--space-5);padding-bottom:var(--space-6);align-items:start;display:grid}@media (width>=960px){.lobby-layout{grid-template-columns:minmax(0,1fr) 340px}.lobby-chat{top:var(--space-4);position:sticky}}.lobby-main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.lobby-main>.banner{margin:0}.room-card{gap:var(--space-4);padding:var(--space-3);display:grid;overflow:hidden}.room-art{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-surface-3);width:100%;height:128px;display:block}.room-info{gap:var(--space-2);padding:0 var(--space-2) var(--space-2);text-align:center;flex-direction:column;align-items:center;display:flex}.room-title{font-size:var(--text-xl)}.room-code-label{gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;font-weight:800;display:flex}.room-code{padding:var(--space-2) var(--space-4) var(--space-2) calc(var(--space-4) + .18em);border:3px solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-on-primary);font-family:var(--font-display);letter-spacing:.18em;-webkit-user-select:all;user-select:all;font-size:clamp(2.5rem,13vw,3.5rem);font-weight:400;line-height:1.1;display:inline-block;rotate:-2deg}.room-share-hint{max-width:38ch;margin-top:var(--space-2);font-size:var(--text-sm)}.room-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.room-actions .button.is-copied{--btn-bg:var(--color-ok);--btn-bg-hover:var(--color-ok);--btn-fg:var(--ink)}.room-qr{display:none}@media (width<=599px){.room-actions .button:first-child{flex:1}.room-actions .share-button{width:var(--tap-size);padding:0}.room-actions .share-button span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=600px){.room-card{grid-template-columns:200px minmax(0,1fr);align-items:center}.room-art{height:100%;min-height:180px}.room-info{text-align:left;align-items:flex-start}.room-code-label,.room-actions{justify-content:flex-start}}@media (width>=960px){.room-card{grid-template-columns:180px minmax(0,1fr) 150px}.room-card:has(.room-qr:not(:empty)) .qr-button{display:none}.room-qr:not(:empty){padding:var(--space-2);border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-md);background:#fffdf6;display:block;rotate:2deg}}.qr{width:100%;height:auto;display:block}.qr-sheet{gap:var(--space-3);text-align:center;flex-direction:column;align-items:center;display:flex}.qr-holder{aspect-ratio:1;width:min(100%,260px);padding:var(--space-2);border:3px solid var(--color-outline);border-radius:var(--radius-md);background:#fffdf6}.qr-code-text{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.18em}.lobby-section-head{gap:var(--space-3);margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.lobby-section-head h2{font-size:var(--text-xl)}.player-list,.chat-log{margin:0;padding:0;list-style:none}.player-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(46%,150px),1fr));display:grid}.player,.player-invite{gap:var(--space-2);height:100%;min-height:160px;padding:var(--space-5) var(--space-2) var(--space-3);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.player{border:var(--outline-w) solid var(--color-outline);background:var(--color-surface-2);box-shadow:var(--shadow-md);animation:card-in var(--dur-med) var(--ease-bounce)}.player[data-me=true]{border-color:var(--color-primary)}.player[data-connected=false]{background:var(--color-surface)}.player-name{overflow-wrap:anywhere;flex-direction:column;max-width:100%;font-weight:900;line-height:1.2;display:flex}.player-you{color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;font-weight:900}.player .badge{margin-top:auto}.badge.open-plain{background:var(--color-ok);color:var(--ink)}.kick{top:var(--space-1);right:var(--space-1);color:var(--color-muted);position:absolute}.kick:hover{color:var(--color-bad)}.player-invite{border:var(--outline-w) dashed var(--color-border-strong);width:100%;color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition), background-color var(--transition);background:0 0;justify-content:center}.player-invite:hover{border-color:var(--color-primary);background:var(--color-surface)}.player-invite:focus-visible{box-shadow:var(--focus-ring);outline:none}.player-invite-icon{border:var(--outline-w) dashed var(--color-border-strong);width:56px;height:56px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.player-invite-icon svg{width:28px;height:28px}@keyframes card-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}.lobby-actions{z-index:var(--z-sticky);gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--color-bg) 22%);flex-direction:column;display:flex;position:sticky;bottom:0}@media (width>=960px){.lobby-actions{background:0 0;margin:0;padding:0;position:static}}.lobby-hint{color:var(--color-muted);font-size:var(--text-sm);text-align:center;font-weight:700}.lobby-actions .button.is-ready{--btn-bg:var(--color-ok);--btn-bg-hover:#6ff0c6;--btn-fg:var(--ink)}.start-button.is-go:not(:disabled){animation:pulse-go 1.6s var(--ease-out) infinite}@keyframes pulse-go{0%,to{box-shadow:var(--shadow-md), 0 0 0 0 #ffd23f8c}60%{box-shadow:var(--shadow-md), 0 0 0 14px #ffd23f00}}.start-button.is-counting{--btn-bg:var(--color-secondary);--btn-bg-hover:var(--color-secondary-hover);--btn-fg:var(--ink);gap:var(--space-3)}.start-count{border:var(--outline-w) solid var(--color-outline);background:var(--paper);width:40px;height:40px;font-family:var(--font-display);font-size:var(--text-xl);animation:count-pop 1s var(--ease-bounce);border-radius:50%;place-items:center;display:grid}.start-count-text{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.start-count-text small{font-size:var(--text-xs);opacity:.75;font-weight:800}@keyframes count-pop{0%{transform:scale(1.6)}}.lobby-chat{gap:var(--space-3);flex-direction:column;display:flex}.chat-log{max-height:260px;padding:var(--space-1) 0;overflow-y:auto}.chat-log:empty{display:none}.chat-line{overflow-wrap:anywhere;padding:2px 0}.chat-empty{padding:var(--space-3) 0;font-size:var(--text-sm)}.chat-form{gap:var(--space-2);display:flex}.chat-form .input{flex:1;min-width:0}.settings-host{border:var(--outline-w) solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-2);box-shadow:var(--shadow-md)}.settings-host>summary{gap:var(--space-3);min-height:60px;padding:0 var(--space-4);border-radius:var(--radius-lg);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;align-items:center;list-style:none;display:flex}.settings-host>summary::-webkit-details-marker{display:none}.settings-host>summary span{flex:1}.settings-host>summary svg:first-child{color:var(--color-primary)}.settings-host>summary svg:last-child{transition:transform var(--dur-med) var(--ease-out)}.settings-host[open]>summary svg:last-child{transform:rotate(180deg)}.settings-host>summary:focus-visible{box-shadow:var(--focus-ring);outline:none}.settings-content{padding:0 var(--space-3) var(--space-3)}.settings-error{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.settings-groups{gap:var(--space-3);display:grid}.settings-group{gap:var(--space-3);min-width:0;padding:var(--space-4);border:var(--outline-w) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.settings-group-head{gap:var(--space-1) var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.settings-group h3{gap:var(--space-2);font-size:var(--text-lg);align-items:center;display:flex}.settings-group h3 svg{color:var(--color-primary)}.setting{gap:var(--space-2);flex-direction:column;display:flex}.setting-label{font-weight:900}.setting-help{color:var(--color-muted);font-size:var(--text-sm)}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-warning{gap:var(--space-2);color:var(--color-bad);font-size:var(--text-sm);align-items:flex-start;margin:0;font-weight:800;display:flex}.settings-warning svg{flex:none;margin-top:2px}.settings-summary{gap:var(--space-3) var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:max-content 1fr;margin:0;display:grid}.settings-summary dt{color:var(--color-muted);font-weight:700}.settings-summary dd{overflow-wrap:anywhere;margin:0;font-weight:800}@media (width<=399px){.settings-summary{grid-template-columns:1fr;gap:2px}.settings-summary dd+dt{margin-top:var(--space-2)}}.game-loading{gap:var(--space-3);min-height:60dvh;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;font-weight:800;display:flex}.name-preview{flex:none}.name-sub{align-self:flex-start}.back-home{margin-left:calc(-1 * var(--space-3))}
