@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-wght-normal-B84CD5C_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-ext-wght-normal-DlL6xMw5.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"Martian Mono Variable", ui-monospace, monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#190f22;--color-surface:#231631;--color-raised:#2f1e42;--color-line:#3c2a52;--color-fog:#9b87ad;--color-ink:#f6edfb;--color-accent:#ff4f9a;--color-accent-ink:#240a18;--color-pop:#54f0c4;--color-good:#62e88a;--color-bad:#ff5f45;--color-shadow:#0000008c;--font-display:"Bricolage Grotesque Variable", "Arial Black", sans-serif;--font-body:"Bricolage Grotesque Variable", system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root[data-theme=day]{--color-bg:#f0f2ec;--color-surface:#fff;--color-raised:#e4e8dd;--color-line:#cdd4c4;--color-fog:#66705f;--color-ink:#1c241c;--color-accent:#ff6a2b;--color-accent-ink:#fff;--color-pop:#0e7a4e;--color-good:#158f52;--color-bad:#d92f45;--color-shadow:#1c241c4d}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);transition:background .25s,color .25s;overflow-x:clip}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:6px}}@layer components{#bgfx{z-index:-1;pointer-events:none;position:fixed;inset:0}#bgfx.p-sunspin{animation:80s linear infinite bg-spin;inset:-60%}.p-none{background:0 0}.p-sunspin{background:repeating-conic-gradient(from 0deg at 50% 50%,#2e152d 0 8deg,var(--color-bg) 8deg 16deg)}@supports (color:color-mix(in lab,red,red)){.p-sunspin{background:repeating-conic-gradient(from 0deg at 50% 50%,color-mix(in srgb,var(--color-accent) 9%,var(--color-bg)) 0 8deg,var(--color-bg) 8deg 16deg)}}.p-grid{background-color:var(--color-bg);background-image:linear-gradient(#f6edfb17 1px,#0000 1px),linear-gradient(90deg,#f6edfb17 1px,#0000 1px)}@supports (color:color-mix(in lab,red,red)){.p-grid{background-image:linear-gradient(color-mix(in srgb,var(--color-ink) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 9%,transparent) 1px,transparent 1px)}}.p-grid{background-size:26px 26px}.p-aurora{background:radial-gradient(56rem 38rem at 12% 6%,#ff4f9a42,transparent 70%),radial-gradient(64rem 46rem at 90% 92%,#54f0c438,transparent 70%),var(--color-bg)}@supports (color:color-mix(in lab,red,red)){.p-aurora{background:radial-gradient(56rem 38rem at 12% 6%,color-mix(in srgb,var(--color-accent) 26%,transparent),transparent 70%),radial-gradient(64rem 46rem at 90% 92%,color-mix(in srgb,var(--color-pop) 22%,transparent),transparent 70%),var(--color-bg)}}.p-halftone{background-color:var(--color-bg);background-image:radial-gradient(#f6edfb1c 1.3px,#0000 1.5px)}@supports (color:color-mix(in lab,red,red)){.p-halftone{background-image:radial-gradient(color-mix(in srgb,var(--color-ink) 11%,transparent) 1.3px,transparent 1.5px)}}.p-halftone{background-size:16px 16px}.p-checker{background-color:var(--color-bg);background-image:repeating-conic-gradient(#f6edfb0d 0 25%,transparent 0 50%)}@supports (color:color-mix(in lab,red,red)){.p-checker{background-image:repeating-conic-gradient(color-mix(in srgb,var(--color-ink) 5%,transparent) 0 25%,transparent 0 50%)}}.p-checker{background-size:36px 36px}.p-hazard{background:var(--color-bg) repeating-linear-gradient(-45deg,#f6edfb0f 0 16px,transparent 16px 32px)}@supports (color:color-mix(in lab,red,red)){.p-hazard{background:var(--color-bg) repeating-linear-gradient(-45deg,color-mix(in srgb,var(--color-ink) 6%,transparent) 0 16px,transparent 16px 32px)}}.p-popburst{background:repeating-conic-gradient(at 50% 100%,#202a35 0 9deg,var(--color-bg) 9deg 18deg)}@supports (color:color-mix(in lab,red,red)){.p-popburst{background:repeating-conic-gradient(at 50% 100%,color-mix(in srgb,var(--color-pop) 12%,var(--color-bg)) 0 9deg,var(--color-bg) 9deg 18deg)}}.p-finale{background-color:var(--color-bg);background-image:radial-gradient(#ff4f9a99 3px,transparent 3.5px),radial-gradient(#54f0c499 2.5px,transparent 3px),radial-gradient(#62e88a8c 2px,transparent 2.5px),repeating-conic-gradient(at 50% 100%,#1f2632 0 9deg,var(--color-bg) 9deg 18deg)}@supports (color:color-mix(in lab,red,red)){.p-finale{background-image:radial-gradient(color-mix(in srgb,var(--color-accent) 60%,transparent) 3px,transparent 3.5px),radial-gradient(color-mix(in srgb,var(--color-pop) 60%,transparent) 2.5px,transparent 3px),radial-gradient(color-mix(in srgb,var(--color-good) 55%,transparent) 2px,transparent 2.5px),repeating-conic-gradient(at 50% 100%,color-mix(in srgb,var(--color-pop) 10%,var(--color-bg)) 0 9deg,var(--color-bg) 9deg 18deg)}}.p-finale{background-position:0 0,90px 70px,150px 130px,0 0;background-size:210px 180px,250px 220px,180px 240px,auto}.storage-warn{z-index:80;padding:.6rem .9rem calc(.6rem + env(safe-area-inset-top,0px));background:var(--color-bad);color:#fff;border-bottom:2px solid var(--color-ink);box-shadow:0 3px 14px var(--color-shadow);flex-wrap:wrap;align-items:center;gap:.5rem .8rem;font-size:.85rem;line-height:1.35;display:flex;position:fixed;top:0;left:0;right:0}.storage-warn .sw-text{flex:1;min-width:12rem}.storage-warn .sw-actions{align-items:center;gap:.4rem;display:flex}.storage-warn .btn{color:#1c241c;background:#fff;border-color:#1c241c;box-shadow:2px 2px #00000059}.storage-warn .btn-ghost{color:#fff;background:0 0;border-color:#fff}.storage-warn .sw-x{color:#fff;cursor:pointer;background:0 0;border:none;padding:.2rem .45rem;font-size:1rem;line-height:1}.theme-btn{z-index:60;background:var(--color-surface);border:2px solid var(--color-ink);width:2.5rem;height:2.5rem;box-shadow:3px 3px 0 var(--color-shadow);cursor:pointer;border-radius:999px;place-items:center;font-size:1.1rem;transition:transform .12s,box-shadow .12s;display:grid;position:fixed;top:.8rem;right:.8rem}.theme-btn:hover{box-shadow:4px 4px 0 var(--color-shadow);transform:translate(-1px,-1px)}.theme-btn:active{box-shadow:1px 1px 0 var(--color-shadow);transform:translate(2px,2px)}#app{max-width:52rem;margin:0 auto;padding:2.2rem 1rem 5rem}.shell{gap:.9rem;display:grid}.shell-round{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"stage stage""ticker ticker""board dock""board side";align-items:start}.shell-lobby{grid-template-columns:1fr;grid-template-areas:"stage""ticker""board"}.seg-stage{grid-area:stage}.seg-ticker{grid-area:ticker}.seg-board{grid-area:board;min-width:0}.seg-side{grid-area:side;min-width:0}.seg-dock{grid-area:dock;min-width:0}#app.app-fixed{top:var(--vvtop,0px);height:var(--vvh,100dvh);max-width:none;margin:0;padding:0;position:fixed;left:0;right:0;overflow:hidden}html:has(#app.app-fixed),body:has(#app.app-fixed){height:100%;overflow:hidden}.lobby-shell{height:var(--vvh,100dvh);flex-direction:column;gap:.7rem;max-width:46rem;margin:0 auto;padding:.9rem;display:flex;overflow:hidden}body.has-chatdock .lobby-shell{padding-bottom:3.6rem}.lobby-main{flex-direction:column;flex:1;gap:.7rem;min-width:0;min-height:0;display:flex}.lobby-shell.lobby-wide{flex-direction:row;align-items:stretch;gap:1rem;max-width:74rem}.lobby-chat-rail{background:var(--color-surface);border:2px solid var(--color-ink);min-height:0;box-shadow:4px 4px 0 var(--color-shadow);border-radius:16px;flex-direction:column;flex:0 0 22rem;display:flex;overflow:hidden}.lobby-head{flex-direction:column;flex:none;gap:.55rem;display:flex}.lobby-code{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lobby-scroll{background:var(--color-surface);border:2px solid var(--color-ink);min-height:0;box-shadow:4px 4px 0 var(--color-shadow);border-radius:16px;flex:1;padding:1rem 1.1rem;overflow-y:auto}.lobby-foot{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.6rem .8rem;display:flex}.lobby-foot .error{flex-basis:100%;min-height:0;margin:0}.round-shell{height:var(--vvh,100dvh);flex-direction:column;display:flex;position:relative}.round-board{flex:1;min-height:0;padding:3.4rem .7rem .6rem;overflow-y:auto}.round-hero{border:2px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-shadow);border-radius:14px;margin-bottom:.8rem;line-height:0;position:relative;overflow:hidden}.round-hero .stage-img{object-fit:cover;width:100%;height:190px;display:block}.round-cat{line-height:1;font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-ink);background:#190f22b8;font-size:.62rem;position:absolute;bottom:.5rem;left:.5rem}@supports (color:color-mix(in lab,red,red)){.round-cat{background:color-mix(in srgb,var(--color-bg) 72%,transparent)}}.round-cat{border-radius:8px;padding:.3rem .5rem}.round-hud{z-index:6;pointer-events:none;background:linear-gradient(var(--color-bg) 32%,#190f228c 60%,transparent);justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.5rem .7rem 1.7rem;display:flex;position:absolute;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.round-hud{background:linear-gradient(var(--color-bg) 32%,color-mix(in srgb,var(--color-bg) 55%,transparent) 60%,transparent)}}.round-hud>*{pointer-events:auto}.round-hud-left{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0;display:flex}.round-hud .timer{color:var(--color-pop);font-size:.95rem;font-weight:700}.round-score{font-family:var(--font-mono);color:var(--color-fog);font-size:.72rem}.round-score b{color:var(--color-ink)}.round-mini{object-fit:cover;border:2px solid var(--color-ink);width:76px;height:76px;box-shadow:2px 2px 0 var(--color-shadow);cursor:zoom-in;transform-origin:50%;border-radius:12px;flex:none;transition:transform .24s cubic-bezier(.2,1.4,.4,1),opacity .15s}.round-shell.at-top .round-mini{opacity:0;pointer-events:none;transform:scale(0)}.round-ticker{border-top:2px solid var(--color-line);background:#190f22e0;flex-direction:column;flex:none;gap:.3rem;padding:.45rem .6rem;display:flex}@supports (color:color-mix(in lab,red,red)){.round-ticker{background:color-mix(in srgb,var(--color-bg) 88%,transparent)}}.round-ticker .lane{scrollbar-width:none;align-items:flex-end;gap:.4rem;min-height:2.1rem;display:flex;overflow-x:auto}.round-ticker .lane::-webkit-scrollbar{display:none}.gchip{flex-direction:column;flex:none;align-items:flex-start;gap:.05rem;animation:.2s chip-in;display:flex}.gchip .who{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-fog);padding-left:.2rem;font-size:.56rem;line-height:1}.gchip .pill{white-space:nowrap;border:1.5px solid var(--color-line);background:var(--color-raised);color:var(--color-ink);border-radius:999px;padding:.2rem .55rem;font-size:.82rem}.gchip.hit .pill{border-color:var(--color-good);background:#394650}@supports (color:color-mix(in lab,red,red)){.gchip.hit .pill{background:color-mix(in srgb,var(--color-good) 20%,var(--color-raised))}}.gchip.hit .pill{color:var(--color-good);font-weight:700}.gchip.hit .who{color:var(--color-good)}.gchip.miss{opacity:.78}@keyframes chip-in{0%{opacity:0;transform:translate(14px)}}.round-dock{padding:.6rem .7rem calc(.6rem + env(safe-area-inset-bottom));border-top:2px solid var(--color-line);background:#190f22eb;flex:none;gap:.5rem;display:flex}@supports (color:color-mix(in lab,red,red)){.round-dock{background:color-mix(in srgb,var(--color-bg) 92%,transparent)}}.round-dock .input{flex:1;min-width:0}.round-dock .btn{flex:none}.round-board,.lobby-scroll,.chat-log{scrollbar-width:thin;scrollbar-color:#9b87ad8c transparent}@supports (color:color-mix(in lab,red,red)){.round-board,.lobby-scroll,.chat-log{scrollbar-color:color-mix(in srgb,var(--color-fog) 55%,transparent) transparent}}.round-board::-webkit-scrollbar{width:10px}.lobby-scroll::-webkit-scrollbar{width:10px}.chat-log::-webkit-scrollbar{width:10px}.round-board::-webkit-scrollbar-track{background:0 0}.lobby-scroll::-webkit-scrollbar-track{background:0 0}.chat-log::-webkit-scrollbar-track{background:0 0}.round-board::-webkit-scrollbar-thumb{background:#9b87ad80}@supports (color:color-mix(in lab,red,red)){.round-board::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-fog) 50%,transparent)}}.round-board::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:999px}.lobby-scroll::-webkit-scrollbar-thumb{background:#9b87ad80}@supports (color:color-mix(in lab,red,red)){.lobby-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-fog) 50%,transparent)}}.lobby-scroll::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:999px}.chat-log::-webkit-scrollbar-thumb{background:#9b87ad80}@supports (color:color-mix(in lab,red,red)){.chat-log::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-fog) 50%,transparent)}}.chat-log::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:999px}.round-board::-webkit-scrollbar-thumb:hover{background:var(--color-fog)}.lobby-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-fog)}.chat-log::-webkit-scrollbar-thumb:hover{background:var(--color-fog)}.admin-shell{max-width:62rem;margin:0 auto;padding:1.2rem 1rem 4rem}.admin-title{font-size:1.6rem;font-weight:800}.admin-head{border-bottom:2px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding-bottom:.9rem;display:flex}.admin-nav{flex-wrap:wrap;gap:.4rem;display:flex}.admin-tab{font-family:var(--font-display);color:var(--color-fog);border:2px solid var(--color-line);background:var(--color-surface);border-radius:10px;padding:.4rem .8rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:color .1s,border-color .1s}.admin-tab:hover{color:var(--color-ink);border-color:var(--color-fog)}.admin-tab.active{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-ink);box-shadow:3px 3px 0 var(--color-shadow)}.admin-content{margin-top:1.3rem}.admin-h2{font-family:var(--font-display);margin:0;font-size:1.4rem;font-weight:800}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.6rem 1rem;margin-bottom:.4rem;display:flex}.admin-content table{border-collapse:collapse}.admin-content th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fog);padding:.2rem .6rem .3rem 0;font-size:.68rem}.admin-content td{vertical-align:middle;padding:.28rem .6rem .28rem 0}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:800}.eyebrow{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent);font-size:.7rem;font-weight:600}.muted{color:var(--color-fog)}.mono{font-family:var(--font-mono)}.error{color:var(--color-bad);min-height:1.4rem;margin-top:.6rem;font-size:.9rem}.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-ink);background:var(--color-accent);border:2px solid var(--color-ink);cursor:pointer;box-shadow:4px 4px 0 var(--color-shadow);border-radius:12px;padding:.6rem 1.4rem;font-size:1rem;font-weight:750;transition:transform .1s,box-shadow .1s,filter .1s}.btn:hover{box-shadow:5px 5px 0 var(--color-shadow);filter:brightness(1.06);transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--color-shadow);transform:translate(3px,3px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:4px 4px 0 var(--color-shadow);transform:none}.btn-hivis{background:var(--color-pop)}.btn-ghost{background:var(--color-surface);color:var(--color-fog);border-color:var(--color-line)}.btn-ghost:hover{color:var(--color-ink);border-color:var(--color-fog);filter:none}.btn-sq{border-radius:10px;padding:.4rem .85rem;font-size:.85rem}.card{background:var(--color-surface);border:2px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-shadow);border-radius:16px;padding:1.4rem}.chat-dock{z-index:45;width:auto;max-width:52rem;padding:0 .6rem calc(.5rem + env(safe-area-inset-bottom));pointer-events:none;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.chat-dock>*{pointer-events:auto}.chat-peek{text-align:left;background:var(--color-surface);border:2px solid var(--color-ink);width:100%;box-shadow:4px 4px 0 var(--color-shadow);cursor:pointer;color:var(--color-ink);border-radius:12px;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.9rem;display:flex}.chat-peek:hover{filter:brightness(1.03)}.chat-dock.open .chat-peek{display:none}.chat-peek-live{background:var(--color-good);border-radius:999px;flex:none;width:.5rem;height:.5rem;animation:2.4s ease-out infinite chat-pulse}.chat-peek-name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);flex:none;font-size:.62rem;font-weight:600}.chat-peek-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chat-badge{background:var(--color-accent);min-width:1.3rem;height:1.3rem;color:var(--color-accent-ink);font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;padding:0 .35rem;font-size:.7rem;font-weight:700;display:grid}.chat-peek-caret{color:var(--color-fog);flex:none}.chat-panel{background:var(--color-surface);border:2px solid var(--color-ink);max-height:min(60vh,30rem);box-shadow:0 -6px 26px var(--color-shadow);border-radius:16px 16px 0 0;flex-direction:column;display:none;overflow:hidden}.chat-dock.open .chat-panel{display:flex}.chat-dock-head{border-bottom:2px solid var(--color-line);justify-content:space-between;align-items:center;padding:.6rem .9rem .5rem;display:flex}.chat-collapse{cursor:pointer;color:var(--color-fog);background:0 0;border:none;padding:.2rem .45rem;font-size:1.15rem;line-height:1}.chat-collapse:hover{color:var(--color-ink)}@keyframes chat-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-good) 70%,transparent)}70%{box-shadow:0 0 0 .5rem #0000}to{box-shadow:0 0 #0000}}.chat-log{flex-direction:column;flex:1;gap:.4rem;min-height:4.5rem;padding:.75rem .85rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;margin:auto 0;font-size:.85rem}.chat-msg{background:var(--color-raised);border-left:3px solid var(--color-line);word-break:break-word;overflow-wrap:anywhere;border-radius:10px;flex-direction:column;align-self:flex-start;gap:.08rem;max-width:92%;padding:.35rem .6rem;display:flex}.chat-msg.mine{border-left:none;border-right:3px solid var(--color-accent);background:#4c254e;align-self:flex-end}@supports (color:color-mix(in lab,red,red)){.chat-msg.mine{background:color-mix(in srgb,var(--color-accent) 14%,var(--color-raised))}}.chat-name{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:.62rem;font-weight:600}.chat-msg.mine .chat-name{color:var(--color-pop);text-align:right}.chat-text{color:var(--color-ink);font-size:.9rem;line-height:1.32}.chat-compose{border-top:2px solid var(--color-line);gap:.4rem;padding:.6rem .7rem;display:flex}.chat-input{background:var(--color-raised);border:2px solid var(--color-line);min-width:0;color:var(--color-ink);font-family:var(--font-body);border-radius:10px;flex:1;padding:.5rem .7rem;font-size:.9rem;transition:border-color .12s}.chat-input::placeholder{color:#9b87ad99}@supports (color:color-mix(in lab,red,red)){.chat-input::placeholder{color:color-mix(in srgb,var(--color-fog) 60%,transparent)}}.chat-input:focus-visible{border-color:var(--color-accent);outline:none}.chat-send{flex:none}body.has-chatdock #app{padding-bottom:4.5rem}.input{background:var(--color-raised);border:2px solid var(--color-line);color:var(--color-ink);border-radius:12px;width:100%;padding:.65rem .9rem;font-size:1rem;transition:border-color .12s}.input:hover{border-color:var(--color-fog)}.input::placeholder{color:#9b87ad99}@supports (color:color-mix(in lab,red,red)){.input::placeholder{color:color-mix(in srgb,var(--color-fog) 60%,transparent)}}.input-code{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.3em}.campaign-card{margin-top:1rem}.campaign-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.campaign-row+.campaign-row{margin-top:.5rem}.campaign-code{font-family:var(--font-mono);letter-spacing:.22em;background:var(--color-raised);color:var(--color-pop);border:2px solid var(--color-line);-webkit-user-select:all;user-select:all;border-radius:.6rem;padding:.45rem .75rem;font-size:1.05rem;font-weight:700}.campaign-share{white-space:nowrap}.auth-card{max-width:26rem;margin:1.5rem auto 0}.auth-list{flex-direction:column;gap:.6rem;max-width:22rem;display:flex}.btn-auth{text-transform:none;letter-spacing:0;justify-content:center;align-items:center;gap:.6rem;width:100%;font-size:.95rem;display:flex}.btn-auth svg{flex-shrink:0;width:1.15rem;height:1.15rem}.btn-discord{color:#fff;background:#5865f2}.btn-google{color:#1f1f1f;background:#fff}.btn-patreon{color:#fff;background:#000}.auth-divider{color:var(--color-fog);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.8rem;margin:1.2rem 0 .9rem;font-size:.68rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-line);border-radius:999px;flex:1;height:2px}.account-id{align-items:center;gap:.7rem;margin:.6rem 0 1rem;display:flex}.avatar{border:2px solid var(--color-ink);object-fit:cover;border-radius:999px;flex-shrink:0;width:2.4rem;height:2.4rem}.avatar-fallback{background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-display);place-items:center;font-weight:800;display:grid}.chip-ico{align-items:center;gap:.4rem;display:inline-flex}.chip-ico svg{flex-shrink:0;width:.85rem;height:.85rem}.stage{background:var(--color-surface);border:2px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-shadow);border-radius:16px;position:relative;overflow:hidden}.stage-img{width:100%;display:block}.stage-img.clamp{object-fit:contain;cursor:zoom-in;max-height:48vh}.stage-lobby{padding:1.2rem 1.4rem}.ovl{z-index:2;background:#190f22c7;align-items:center;gap:.45rem;display:inline-flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.ovl{background:color-mix(in srgb,var(--color-bg) 78%,transparent)}}.ovl{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid var(--color-line);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.75rem}.ovl:empty{display:none}.ovl-tl{top:.6rem;left:.6rem}.ovl-tr{top:.6rem;right:.6rem}.ovl-bl{text-overflow:ellipsis;max-width:72%;bottom:.6rem;left:.6rem;overflow:hidden}.ovl-br{pointer-events:none;bottom:.6rem;right:.6rem}.ovl .ibtn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.timer{color:var(--color-pop);font-weight:700}.timer.low{color:var(--color-bad);animation:.8s ease-in-out infinite pulse}.ticker{background:var(--color-surface);border:2px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-shadow);border-radius:14px;align-items:center;gap:.45rem;padding:.45rem .7rem;display:flex;overflow-x:auto}.pchip{background:var(--color-raised);border:1.5px solid var(--color-line);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.22rem .65rem;font-size:.8rem;display:inline-flex}.pchip b{font-family:var(--font-mono);color:var(--color-pop)}.pchip.lead{border-color:var(--color-accent);box-shadow:0 0 0 2px #ff4f9a59}@supports (color:color-mix(in lab,red,red)){.pchip.lead{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}}.pchip.off{opacity:.45}.pst{font-family:var(--font-mono);letter-spacing:.06em;font-size:.62rem;font-style:normal}.ready-yes{color:var(--color-good)}.ready-no{color:var(--color-fog)}.tick-ev{text-align:left;min-width:9rem;color:var(--color-fog);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:.72rem;overflow:hidden}.dock{gap:.6rem;display:flex}.shell-round .seg-dock.dock{flex-direction:column}.tag{flex-wrap:wrap;align-items:center;gap:.25rem;margin:.35rem 0;display:flex}.tile{width:1.45rem;height:1.85rem;font-family:var(--font-mono);text-transform:uppercase;background:var(--color-raised);border:2px solid var(--color-line);color:var(--color-ink);box-shadow:2px 2px 0 var(--color-shadow);border-radius:8px;place-items:center;font-size:.9rem;font-weight:700;display:inline-grid}.tile.hash{box-shadow:none;color:var(--color-accent);background:0 0;border-color:#0000;width:1.2rem}.tile.sep{box-shadow:none;width:.8rem;color:var(--color-fog);background:0 0;border-color:#0000}.tile.veiled{color:#9b87ad73}@supports (color:color-mix(in lab,red,red)){.tile.veiled{color:color-mix(in srgb,var(--color-fog) 45%,transparent)}}.tile.veiled{animation:2.4s ease-in-out infinite veil-shimmer}.tile.veiled:after{content:"·"}.tile.decoding{border-color:var(--color-accent);color:var(--color-pop)}.tile.shown{border-color:#a73e7a}@supports (color:color-mix(in lab,red,red)){.tile.shown{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-line))}}.tag.solved .tile:not(.hash){background:var(--color-good);border-color:var(--color-good);color:var(--color-accent-ink)}.tag.just-solved .tile:not(.hash){animation:.38s cubic-bezier(.2,1.4,.4,1) backwards flip-in}.tag.burned .tile:not(.hash){background:var(--color-surface);border-color:var(--color-line);color:var(--color-fog);box-shadow:none}.tag.burned .tile.hash{color:var(--color-fog)}.tag-credit{font-family:var(--font-mono);color:var(--color-good);white-space:nowrap;margin-left:.4rem;font-size:.75rem}.tag-credit.burned-credit{color:var(--color-fog)}.cat{border-left:3px solid var(--color-line);margin:.7rem 0;padding-left:.8rem}.cat[data-cat=species]{border-left-color:var(--color-good)}.cat[data-cat=character]{border-left-color:var(--color-accent)}.cat[data-cat=general]{border-left-color:var(--color-pop)}.cat-head{align-items:baseline;gap:.6rem;margin-bottom:.1rem;display:flex}.cat-name{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:600}.cat-count{font-family:var(--font-mono);color:var(--color-fog);font-size:.7rem}.feed-card{padding:.7rem 1rem}.feed{max-height:11rem;font-family:var(--font-mono);margin:.35rem 0 0;padding:0;font-size:.8rem;list-style:none;overflow-y:auto}.feed li{color:var(--color-fog);padding:.12rem 0}.feed li .who{color:var(--color-ink);font-family:var(--font-body)}.feed li.hit{color:var(--color-good)}.score-float{font-family:var(--font-display);color:var(--color-pop);text-shadow:0 2px 0 var(--color-shadow);pointer-events:none;font-size:1.4rem;font-weight:800;animation:1.1s ease-out forwards float-up;position:absolute}.bar{background:var(--color-raised);border:2px solid var(--color-line);border-radius:999px;flex:1;height:1rem;overflow:hidden}.bar-fill{background:repeating-linear-gradient(-45deg,var(--color-accent) 0 10px,#66203e 10px 20px);border-radius:999px;height:100%}@supports (color:color-mix(in lab,red,red)){.bar-fill{background:repeating-linear-gradient(-45deg,var(--color-accent) 0 10px,color-mix(in srgb,var(--color-accent) 40%,black) 10px 20px)}}.bar-fill{background-size:28px 100%;transition:width .25s;animation:.8s linear infinite stripes-move}.bar-fill.done{background:var(--color-good);animation:none}.load-row{align-items:center;gap:.8rem;margin:.6rem 0;display:flex}.load-row .who{text-overflow:ellipsis;white-space:nowrap;width:9rem;overflow:hidden}.overlay{background:#190f22d1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.overlay{background:color-mix(in srgb,var(--color-bg) 82%,transparent)}}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30}.cd-num{font-family:var(--font-display);color:var(--color-accent);text-shadow:0 6px 0 var(--color-shadow);font-size:9rem;font-weight:800;line-height:1}.cd-num.go{color:var(--color-pop)}.cd-image{object-fit:contain;border:2px solid var(--color-accent);max-width:min(92vw,40rem);max-height:60vh;box-shadow:0 10px 40px var(--color-shadow);border-radius:12px}.overlay.has-image .cd-num{font-size:4.5rem}.fly-img{z-index:35;object-fit:cover;pointer-events:none;border:2px solid var(--color-accent);border-radius:10px;position:fixed}.stripe-banner{text-align:center;border-top:10px solid;border-bottom:10px solid;border-image:repeating-linear-gradient(-45deg,var(--color-accent) 0 14px,var(--color-bg) 14px 28px) 10;background:var(--color-surface);width:100%;padding:1.2rem 0}.lightbox{z-index:40;cursor:zoom-out;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1rem;display:flex;position:fixed;inset:0}.lightbox img{border-radius:10px;max-width:100%;max-height:85vh}.row-in{animation:.4s cubic-bezier(.2,1.2,.4,1) backwards row-in}.standing{background:var(--color-surface);border:2px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-shadow);border-radius:14px;align-items:center;gap:.9rem;margin:.55rem 0;padding:.7rem 1rem;display:flex}.standing .rank{font-family:var(--font-display);text-align:center;width:2.2rem;font-size:1.3rem;font-weight:800}.standing .who{flex:1;font-weight:650}.standing .pts{font-family:var(--font-mono);font-weight:700}.standing .delta{font-family:var(--font-mono);color:var(--color-good);font-size:.8rem}.standing.champ{border-color:var(--color-pop);box-shadow:0 0 22px #54f0c44d,4px 4px 0 var(--color-shadow)}@supports (color:color-mix(in lab,red,red)){.standing.champ{box-shadow:0 0 22px color-mix(in srgb,var(--color-pop) 30%,transparent),4px 4px 0 var(--color-shadow)}}.podium{justify-content:center;align-items:flex-end;gap:.8rem;margin:.4rem 0 1rem;display:flex}.pod-col{flex-direction:column;flex:0 9.5rem;align-items:center;gap:.3rem;min-width:0;animation:.52s cubic-bezier(.2,1.3,.4,1) backwards pod-in;display:flex}.pod-crown{font-size:1.6rem;animation:2.2s ease-in-out infinite crown-bob}.pod-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.pod-score{color:var(--color-pop);font-size:.85rem;font-weight:700}.pod-block{background:var(--color-surface);border:2px solid var(--color-ink);width:100%;box-shadow:4px 4px 0 var(--color-shadow);border-radius:12px 12px 0 0;place-items:center;font-size:1.8rem;display:grid}.p1 .pod-block{background:#532348;height:6.2rem}@supports (color:color-mix(in lab,red,red)){.p1 .pod-block{background:color-mix(in srgb,var(--color-accent) 22%,var(--color-surface))}}.p1 .pod-block{border-color:var(--color-accent)}.p2 .pod-block{height:4.4rem}.p3 .pod-block{height:3.2rem}.match-code{background:var(--color-surface);border:1.5px solid var(--color-line);font-family:var(--font-mono);color:var(--color-fog);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:.6rem;padding:.3rem .9rem;font-size:.78rem;display:inline-flex}.match-code b{color:var(--color-pop);letter-spacing:.08em}.icon-btn{background:var(--color-surface);border:1.5px solid var(--color-line);cursor:pointer;border-radius:8px;padding:.2rem .5rem;font-size:.85rem;line-height:1.2}.icon-btn:hover,.icon-btn.on{border-color:var(--color-accent)}.cl-panel{background:var(--color-raised);border:1.5px solid var(--color-line);border-radius:12px;margin-top:.6rem;padding:.7rem .9rem}.tl-row{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:flex}.tl-row+.tl-row{border-top:1px solid var(--color-line)}.tl-kind,.tl-rating{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;flex-shrink:0;padding:.15rem .5rem;font-size:.6rem;font-weight:600}.tl-kind.blk{background:#462234}@supports (color:color-mix(in lab,red,red)){.tl-kind.blk{background:color-mix(in srgb,var(--color-bad) 16%,var(--color-surface))}}.tl-kind.blk{color:var(--color-bad)}.tl-kind.req{background:#2d383f}@supports (color:color-mix(in lab,red,red)){.tl-kind.req{background:color-mix(in srgb,var(--color-good) 16%,var(--color-surface))}}.tl-kind.req{color:var(--color-good)}.tl-rating.safe{background:#2b2f3c}@supports (color:color-mix(in lab,red,red)){.tl-rating.safe{background:color-mix(in srgb,var(--color-good) 12%,var(--color-surface))}}.tl-rating.safe{color:var(--color-good)}.tl-rating.adult{background:#4b2335}@supports (color:color-mix(in lab,red,red)){.tl-rating.adult{background:color-mix(in srgb,var(--color-bad) 18%,var(--color-surface))}}.tl-rating.adult{color:var(--color-bad)}.hist-row{border-top:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem 0;font-size:.82rem;display:flex}.hist-row:first-child{border-top:none}.hist-code{color:var(--color-pop);font-size:.72rem;font-weight:700;text-decoration:none}a.hist-code:hover{text-decoration:underline}.match-code a{color:inherit;text-decoration:none}.match-code a:hover b{text-decoration:underline}.hist-rounds{flex-wrap:wrap;gap:.3rem;display:flex}.hist-chip{font-family:var(--font-mono);background:var(--color-raised);border:1px solid var(--color-line);color:var(--color-fog);border-radius:6px;padding:.1rem .4rem;font-size:.68rem;text-decoration:none}a.hist-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.answer-thumb{object-fit:contain;background:var(--color-raised);border:2px solid var(--color-line);cursor:zoom-in;border-radius:12px;width:100%;max-height:34vh;margin-bottom:.6rem}.code-row{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.5rem;display:flex}.wordmark{justify-content:center;gap:.3rem;margin:1rem 0 .4rem;display:flex}.wordmark .tile{width:2.4rem;height:2.9rem;font-size:1.4rem}.filter-block{margin-top:.7rem}.mode-settings{background:var(--color-raised);border:1.5px solid var(--color-line);border-radius:12px;margin-top:.7rem;padding:.6rem .9rem .8rem}.ms-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:600}.ms-row{align-items:center;gap:.7rem;margin-top:.45rem;font-size:.85rem;display:flex}.ms-label{color:var(--color-fog);flex-shrink:0}.ms-range{min-width:80px;accent-color:var(--color-accent);flex:1}.ms-value{color:var(--color-pop);flex-shrink:0;margin-left:auto}.tag-badge{font-family:var(--font-mono);background:var(--color-raised);border:2px solid var(--color-line);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.tag-badge button{color:var(--color-fog);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;line-height:1}.tag-badge button:hover{color:var(--color-bad)}.mode-chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--color-raised);border:2px solid var(--color-line);color:var(--color-fog);cursor:pointer;border-radius:999px;padding:.45rem .9rem;font-size:.78rem;font-weight:600;transition:transform .12s,border-color .12s,background .12s}.mode-chip.on{border-color:var(--color-accent);color:var(--color-ink);background:#542752}@supports (color:color-mix(in lab,red,red)){.mode-chip.on{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-raised))}}.mode-chip:not(:disabled):hover{border-color:var(--color-fog);transform:translateY(-1px)}.mode-chip.on:not(:disabled):hover{border-color:var(--color-accent)}.mode-chip:disabled{cursor:default}.stepper{align-items:center;gap:.7rem;display:inline-flex}.stepper-val{text-align:center;min-width:1.6rem;font-size:1.2rem;font-weight:700}.credit{color:var(--color-fog);margin-top:.6rem;font-size:.85rem}.credit b{color:var(--color-ink);font-weight:650}.credit a{color:var(--color-pop);text-decoration:none}.credit a:hover{text-decoration:underline}.bm-btn{border:2px solid var(--color-line);color:var(--color-fog);cursor:pointer;background:0 0;border-radius:10px;padding:.35rem .8rem;font-size:.95rem;transition:border-color .12s,color .12s,background .12s}.bm-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.bm-btn.on{border-color:var(--color-accent);color:var(--color-accent);background:#ff4f9a24}@supports (color:color-mix(in lab,red,red)){.bm-btn.on{background:color-mix(in srgb,var(--color-accent) 14%,transparent)}}.gallery-row{border-top:1px solid var(--color-line);align-items:center;gap:.8rem;padding:.55rem 0;display:flex}.gallery-row:first-of-type{border-top:none}.gallery-thumb{object-fit:cover;border:2px solid var(--color-line);cursor:zoom-in;border-radius:6px;flex-shrink:0;width:56px;height:42px}.gallery-row.liked .gallery-thumb{border-color:var(--color-accent)}.fruit-stage{position:relative}.fruit-stage img{cursor:crosshair;-webkit-user-select:none;user-select:none}.round-img{border:2px solid var(--color-line);border-radius:12px;width:100%;display:block}.marker{pointer-events:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.marker.hit{aspect-ratio:1;border:3px solid var(--color-good);border-radius:999px;width:1.6rem;box-shadow:0 0 10px #62e88a99}@supports (color:color-mix(in lab,red,red)){.marker.hit{box-shadow:0 0 10px color-mix(in srgb,var(--color-good) 60%,transparent)}}.marker.miss{color:var(--color-bad);font-family:var(--font-mono);opacity:.75;text-shadow:0 1px 2px #0009;font-weight:700}.replay-layer{pointer-events:none;position:absolute;inset:0}.fruit-reveal{aspect-ratio:1;border:3px dashed var(--color-pop);border-radius:999px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 14px #54f0c466}@supports (color:color-mix(in lab,red,red)){.fruit-reveal{box-shadow:0 0 14px color-mix(in srgb,var(--color-pop) 40%,transparent)}}.fruit-reveal{pointer-events:none}.narrator{z-index:38;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.55rem;max-width:min(22rem,100vw - 1.8rem);display:flex;position:fixed;bottom:.9rem;left:.9rem}body.has-chatdock .narrator{bottom:4.4rem}.narrator-sticker{object-fit:contain;width:clamp(6.5rem,18vw,9.5rem);max-height:9.5rem;filter:drop-shadow(.25rem .35rem 0 var(--color-shadow));animation:3.2s ease-in-out infinite alternate narrator-float}.narrator-sticker.swap{animation:.26s cubic-bezier(.2,1.6,.4,1) narrator-pop,3.2s ease-in-out .26s infinite alternate narrator-float}.narrator-bubble{pointer-events:auto;cursor:pointer;background:var(--color-surface);color:var(--color-ink);border:2px solid var(--color-ink);box-shadow:.3rem .3rem 0 var(--color-shadow);border-radius:1rem 1rem 1rem .2rem;min-width:10rem;min-height:2.4rem;padding:.55rem 2rem .6rem .75rem;font-size:.9rem;line-height:1.35;position:relative}.narrator-bubble:after{content:"";background:var(--color-surface);border-right:2px solid var(--color-ink);border-bottom:2px solid var(--color-ink);width:.9rem;height:.9rem;position:absolute;bottom:-.62rem;left:1.1rem;transform:rotate(45deg)}.narrator-bubble.drop,.narrator-bubble.drop:after{background:var(--color-raised)}.narrator-mute{cursor:pointer;opacity:.7;background:0 0;border:none;padding:.15rem;font-size:.8rem;line-height:1;position:absolute;top:.25rem;right:.3rem}.narrator-mute:hover{opacity:1}.narrator.enter{animation:.48s cubic-bezier(.2,1.4,.35,1) both narrator-enter}.narrator.exit{animation:.38s ease-in both narrator-exit}@keyframes narrator-enter{0%{opacity:0;transform:translate(-120%,60%)rotate(-14deg)}to{opacity:1;transform:none}}@keyframes narrator-exit{to{opacity:0;transform:translate(-130%,70%)rotate(-10deg)}}@keyframes narrator-float{0%{transform:translateY(-.35rem)rotate(-2deg)}to{transform:translateY(.3rem)rotate(2.5deg)}}@keyframes narrator-pop{0%{transform:scale(.6)rotate(6deg)}}@keyframes narrator-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.narrator.enter{animation:.2s both narrator-fade}.narrator.exit{animation:.2s reverse both narrator-fade}.narrator-sticker,.narrator-sticker.swap{animation:none}}body.tv{font-size:1.15rem;overflow:hidden}body.tv #app{width:100vw;max-width:none;margin:0;padding:0}.tv-shell{flex-direction:column;max-width:100rem;height:100dvh;min-height:0;margin:0 auto;padding:1.2rem 1.5rem;display:flex;overflow:hidden}.tv-round{grid-template:"stage"minmax(0,1fr)"ticker"/minmax(0,1fr);gap:.9rem;height:100dvh;padding:1rem 1.2rem;display:grid;overflow:hidden}.tv-round .seg-stage{grid-area:stage;min-height:0}.tv-round .seg-stage .stage-img{object-fit:contain;width:100%;height:100%}.tv-round .seg-ticker{grid-area:ticker}.tv-hashtag{grid-template:"stage board"minmax(0,1fr)"wire wire"/minmax(0,1fr) minmax(0,38vw);gap:.9rem 1.1rem;height:100dvh;padding:1rem 1.2rem .7rem;display:grid;overflow:hidden}.tv-hashtag .seg-stage{grid-area:stage;min-height:0}.tv-hashtag .seg-stage .stage-img{object-fit:contain;width:100%;height:100%}.tv-hashtag .tv-board{grid-area:board;place-self:center start;min-width:0;max-width:38vw;min-height:0;overflow:hidden}.tv-hashtag .tag{white-space:nowrap;gap:calc(var(--tv-tile) * .12);margin:calc(var(--tv-tile) * .22) 0;flex-wrap:nowrap}.tv-hashtag .tile{width:var(--tv-tile);height:calc(var(--tv-tile) * 1.28);font-size:calc(var(--tv-tile) * .62);border-radius:max(4px,calc(var(--tv-tile) * .2))}.tv-hashtag .cat{margin-bottom:calc(var(--tv-tile) * .3)}.tv-hashtag .tag-credit{font-size:max(.7rem,calc(var(--tv-tile) * .42));text-overflow:ellipsis;vertical-align:middle;max-width:8.5rem;display:inline-block;overflow:hidden}.tv-wire{grid-area:wire;align-items:center;gap:1rem;min-width:0;display:flex}.tv-wire-scores{flex-wrap:wrap;flex-shrink:0;gap:.35rem;max-width:30vw;display:flex}.tv-wire .round-ticker{flex:1;min-width:0}.tv-wire .round-ticker .lane{min-height:2.3rem}.tv-round .ovl.timer,.tv-hashtag .ovl.timer{padding:.35rem 1.1rem;font-size:2.6rem;font-weight:700;line-height:1}body.tv .narrator{max-width:min(38rem,100vw - 2rem)}body.tv .narrator-sticker{width:clamp(13rem,30vw,19rem);max-height:19rem}body.tv .narrator-bubble{padding:.8rem 2.4rem .85rem 1rem;font-size:1.3rem}.tv-lobby{grid-template-columns:auto 1fr;align-items:start;gap:2.5rem;margin-bottom:1.2rem;display:grid}.tv-code .tile{width:3.4rem;height:3.4rem;font-size:2rem}.tv-join-qr,.tv-link-qr{border:2px solid var(--color-ink);box-shadow:.3rem .3rem 0 var(--color-shadow);background:#fff;border-radius:.6rem;width:fit-content;margin:.8rem 0 .4rem;padding:.5rem}.tv-join-qr svg{width:11rem;height:11rem;display:block}.tv-link-qr svg{width:8rem;height:8rem;display:block}.tv-roster .pchip{margin:.15rem .25rem .15rem 0}.tv-chat{max-width:26rem;padding:.8rem 1rem}.tv-chat-log{max-height:12rem;overflow-y:auto}.tv-results{grid-template-columns:minmax(18rem,1fr) 2fr;align-items:start;gap:1.2rem;min-height:0;display:grid;overflow:hidden}.tv-results #tags{column-count:2;column-gap:1rem}.tv-results #tags .cat{break-inside:avoid}@media(max-width:900px){.tv-lobby,.tv-results{grid-template-columns:1fr}}.tv-sound{z-index:50;position:fixed;top:.8rem;left:.8rem}.tv-round .seg-dock,.tv-round .seg-side form{display:none}.tv-link-card{margin-top:.6rem;padding:.8rem 1rem}.controller{text-align:center;max-width:26rem;margin:2.5rem auto 0}.controller-hint{margin:.5rem 0 .8rem}.controller-score{display:inline-flex}.controller-hud{justify-content:center;align-items:center;gap:.9rem;margin-bottom:1rem;display:flex}.controller-hud .timer{font-size:1.9rem;font-weight:700;line-height:1}.controller-dock{margin-top:.6rem}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@keyframes bg-spin{to{transform:rotate(360deg)}}@keyframes veil-shimmer{0%,to{opacity:.45}50%{opacity:1}}@keyframes flip-in{0%{transform:rotateX(90deg)scale(1.1)}to{transform:rotateX(0)scale(1)}}@keyframes stripes-move{to{background-position-x:28px}}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2.6rem)}}@keyframes pulse{50%{opacity:.5}}@keyframes row-in{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}@keyframes pod-in{0%{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:translateY(0)}}@keyframes crown-bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-4px)rotate(4deg)}}@media(max-width:700px){#app{padding-top:.6rem;padding-bottom:8rem}.theme-btn{width:2.1rem;height:2.1rem;font-size:.95rem;top:.5rem;right:.5rem}.shell-round{grid-template-columns:1fr;grid-template-areas:"stage""ticker""board"}.seg-side{display:contents}.stage-img.clamp{max-height:36vh}.feed-card{display:none}.feed-card.open{z-index:25;max-height:42vh;margin:0;display:block;position:fixed;bottom:7.6rem;left:.8rem;right:.8rem;overflow:auto}.feed-card.open .feed{max-height:32vh}.seg-dock.dock{z-index:20;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:#190f22e6;margin:0;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.seg-dock.dock{background:color-mix(in srgb,var(--color-bg) 90%,transparent)}}.seg-dock.dock{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2px solid var(--color-line)}.shell-round .seg-dock.dock{flex-direction:row}.tile{width:1.15rem;height:1.5rem;box-shadow:1.5px 1.5px 0 var(--color-shadow);border-width:1.5px;border-radius:6px;font-size:.72rem}.tile.sep{width:.55rem;box-shadow:none}.tag{gap:.18rem}.wordmark .tile{width:1.9rem;height:2.3rem;font-size:1.1rem}}@media(prefers-reduced-motion:reduce){#bgfx.p-sunspin,.bar-fill,.tile.veiled,.timer.low,.tag.just-solved .tile:not(.hash),.row-in,.pod-col,.pod-crown,.chat-live,.gchip{animation:none}.round-mini{transition:none}.btn,.btn:hover,.btn:active,.theme-btn,.theme-btn:hover{transition:none;transform:none}body{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
