@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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{--bg:#f3f5fb;--surface:#fff;--surface-2:#f6f7fc;--surface-3:#eef0f8;--line:#e4e7f1;--text:#161a2e;--text-2:#4a5069;--muted:#8b91a9;--accent:#5b4cf5;--accent-hover:#4b3be6;--accent-soft:#eeecff;--accent-ink:#2f22b8;--sun:#ffd43b;--word:#d9deff;--cross:#f1f2ff;--ink:#1f2236;--ok:#0ca678;--ok-soft:#e3f8f0;--danger:#f03e3e;--danger-soft:#fff0f0;--radius-xl:32px;--radius-lg:24px;--radius:16px;--radius-sm:12px;--shadow-sm:0 1px 2px #161a2e0d;--shadow:0 1px 2px #161a2e0a, 0 10px 30px -8px #161a2e1a;--shadow-lg:0 2px 6px #161a2e0d, 0 28px 60px -18px #161a2e38;--font:"Plus Jakarta Sans Variable", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px}body{background:radial-gradient(60vw 50vh at 0% 0%, #e9e6ff 0%, transparent 70%), radial-gradient(50vw 50vh at 100% 100%, #dff6ef 0%, transparent 70%), radial-gradient(40vw 40vh at 100% 0%, #fff1e2 0%, transparent 70%), var(--bg);background-attachment:fixed}h1,h2,h3,h4{letter-spacing:-.02em;margin:0 0 10px;font-weight:750}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}h4{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:12px;font-weight:700}p{color:var(--text-2);margin:0 0 12px;line-height:1.5}code{background:var(--surface-3);border-radius:6px;padding:1px 6px;font-size:.92em}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);font-weight:550}.note{color:var(--text-2);margin-top:10px}button{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--line);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-sm);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}@media (hover:hover){button:hover:not(:disabled){background:var(--surface-2);border-color:#cfd3e3}}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:#0000;box-shadow:0 6px 16px -6px #5b4cf599}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{background:var(--danger-soft);color:#c92a2a;box-shadow:none;border-color:#ffd6d6}button.small{padding:6px 12px;font-size:13px}button.big{padding:15px 30px;font-size:18px}button.wide{width:100%;padding:14px;font-size:17px}button.link{box-shadow:none;color:var(--accent);background:0 0;border:none;padding:6px 4px}.icon-btn{box-shadow:none;color:var(--text);background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;padding:8px;display:inline-flex}@media (hover:hover){.icon-btn:hover:not(:disabled){background:var(--surface-3)}}input,select{font:inherit;background:var(--surface);color:var(--text);border:1.5px solid var(--line);border-radius:var(--radius-sm);min-width:0;padding:10px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.btn-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.btn-row.center{justify-content:center}.row-form{gap:8px;margin:10px 0;display:flex}.row-form input{flex:1}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #161a2e0d;margin-bottom:14px;padding:20px}.card.narrow{width:min(420px,100%)}.card.center{text-align:center}.card.attention{box-shadow:0 0 0 2px var(--sun), var(--shadow)}.center-screen{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.join-form{flex-direction:column;gap:12px;display:flex}.join-form label{color:var(--text-2);margin-top:6px;font-size:14px;font-weight:600}.big-code{letter-spacing:.12em;color:var(--accent);font-size:44px;font-weight:800}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);box-shadow:none;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600}.chip.on{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.tag{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-3);color:var(--text-2);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.badge{background:var(--sun);color:#000;text-align:center;border-radius:9px;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:12px;font-weight:800;line-height:18px;display:inline-block}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.status-pill{color:#9c6a00;background:#fff4d6;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.spinner{border:4px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toggle{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:12px 0;display:flex}.toggle:last-child{border-bottom:none}.toggle.disabled{opacity:.5}.toggle-text{flex-direction:column;flex:1;gap:2px;font-weight:600;display:flex}.toggle-text small{color:var(--muted);font-size:13px;font-weight:500}.toggle input{opacity:0;pointer-events:none;position:absolute}.switch{background:#dfe2ee;border-radius:14px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000026}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:after{transform:translate(18px)}.toggle input:focus-visible+.switch{box-shadow:0 0 0 4px var(--accent-soft)}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,520px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);text-align:center;border-radius:999px;padding:11px 18px;font-weight:600;animation:.3s cubic-bezier(.3,1.4,.5,1) pop}.toast.error{background:#c92a2a}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.96)}}.grid-wrap{width:100%;height:100%;position:relative;overflow:hidden}.grid-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;width:100%;height:100%;display:block}.grid-frame{fill:var(--ink)}.grid-border{fill:none;stroke:var(--ink);stroke-width:6px}.sq{fill:#fff;stroke:var(--ink);stroke-width:2.5px;transition:fill .15s}.sq-word{fill:var(--word)}.sq-cursor{fill:var(--sun)}.sq-shade{fill:#e3e5ee}.sq-block{fill:var(--ink);stroke:var(--ink);stroke-width:2.5px}.sq-circle{fill:none;stroke:#5b6077;stroke-width:2.5px;pointer-events:none}.sq-num{font-family:var(--font);fill:#3a3f58;pointer-events:none;font-size:25px;font-weight:650}.sq-letter{font-family:var(--font);fill:var(--ink);text-anchor:middle;pointer-events:none;font-weight:650}.sq-letter.bad{fill:var(--danger)}.sq-letter.rev,.sq-letter.ok{fill:var(--accent)}.sq-slash{stroke:var(--danger);stroke-width:4px;pointer-events:none}.sq-reveal{fill:var(--accent);pointer-events:none}.sq-other{fill:none;stroke-width:9px;pointer-events:none}.card h4:not(:first-child){margin-top:22px}.tv-left .grid-wrap{border-radius:2vh}.ph-grid .grid-wrap{border-radius:16px}.brand{letter-spacing:-.03em;color:var(--text);align-items:center;gap:10px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;width:34px;height:34px;padding:5px;display:grid;box-shadow:0 6px 14px -6px #1f223699}.brand-mark i{background:#fff;border-radius:3px}.brand-mark i:first-child{background:var(--sun)}.brand-mark i:nth-child(4){background:#8b7dff}.brand.wordmark{font-size:34px}.home-card{background:var(--surface);border-radius:var(--radius-xl);width:min(440px,100%);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:26px;padding:36px 26px 28px;display:flex}.home-card .brand{font-size:30px}.home-card .brand.wordmark,.signin-card .brand.wordmark{font-size:40px}.home-card .brand-mark{border-radius:13px;width:44px;height:44px}.code-form{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.code-form label{color:var(--text-2);font-weight:600}.code-input{gap:10px;display:flex;position:relative}.code-box{background:var(--surface-2);border:2px solid var(--line);width:66px;height:76px;color:var(--text);border-radius:18px;justify-content:center;align-items:center;font-size:38px;font-weight:800;transition:border-color .15s,background .15s,transform .15s;display:flex}.code-box.filled{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.code-box.cursor{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:#fff}.code-input input{opacity:0;width:100%;font-size:16px;position:absolute;inset:0}.host-link{color:var(--muted);font-size:15px;font-weight:600;text-decoration:none}@media (hover:hover){.host-link:hover{color:var(--accent)}}.host-page{max-width:820px;margin:0 auto;padding:22px 18px 60px}.host-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.user-pill{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:5px 6px 5px 14px;font-size:14px;font-weight:650;display:flex}.hero{color:#fff;background:linear-gradient(135deg,#5b4cf5,#8b5cf6);border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.hero p{color:#ffffffd9}.hero h2{color:#fff;font-size:26px}.hero>div{flex:300px}.hero button.big{color:var(--accent);background:#fff;border:none;box-shadow:0 10px 24px -10px #0006}.rooms{margin:0;padding:0;list-style:none}.rooms li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.rooms li:last-child{border-bottom:none}.room-code{letter-spacing:.12em;background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;padding:4px 10px;font-size:17px;font-weight:800}.rooms .muted{flex:1;font-size:14px}.stats{border-collapse:collapse;width:100%;margin-bottom:10px}.stats th,.stats td{text-align:left;border-bottom:1px solid var(--line);padding:10px 6px;font-size:15px}.stats tr:last-child th,.stats tr:last-child td{border-bottom:none}.stats th{white-space:nowrap;font-weight:650}.nyt-cookie{margin-top:18px}.nyt-cookie summary,details summary{cursor:pointer;color:var(--text-2);font-weight:600}.signin-card{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:34px 26px;display:flex}.signin-card .brand{font-size:28px}.drawer{background:var(--bg);border-radius:var(--radius-xl);width:min(460px,100vw - 4vh);box-shadow:var(--shadow-lg);z-index:50;animation:.28s cubic-bezier(.3,1.2,.5,1) slide;position:fixed;top:2vh;bottom:2vh;right:2vh;overflow:hidden}@keyframes slide{0%{opacity:0;transform:translate(40px)}}.panel{flex-direction:column;height:100%;font-size:15px;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 14px 10px 16px;display:flex}.tabs{background:var(--surface-3);border-radius:999px;gap:4px;padding:4px;display:flex}.tabs button{box-shadow:none;color:var(--text-2);background:0 0;border:none;border-radius:999px;padding:8px 15px}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), 0 2px 8px -2px #161a2e1f}.panel-body{overscroll-behavior:contain;flex:1;padding:6px 14px 14px;overflow:auto}.panel .card{border-radius:20px;margin-bottom:12px;padding:16px}.now{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.now-title{font-size:17px;font-weight:750}.now-progress{color:var(--accent);white-space:nowrap;background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-size:14px;font-weight:800}.surprise{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib{max-height:420px;margin:6px -6px 0;padding:0;list-style:none;overflow:auto}.lib-item{text-align:left;width:100%;box-shadow:none;background:0 0;border:none;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}@media (hover:hover){.lib-item:hover:not(:disabled){background:var(--surface-2)}}.lib-item.current{background:var(--accent-soft)}.lib-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lib-main .muted{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.lib-title{font-weight:650}.solved{color:var(--ok);background:var(--ok-soft);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.empty{padding:14px 10px;font-size:14px}.upload{margin-top:12px}.player-block{border-bottom:1px solid var(--line);padding:10px 0}.player-block:last-of-type{border-bottom:none}.player-block.offline .player-name{opacity:.55}.player{align-items:center;gap:10px;padding:4px 0;display:flex}.player-name{flex-wrap:wrap;flex:1;align-items:center;gap:0 4px;font-weight:700;display:flex}.player-name small{width:100%;color:var(--muted);font-size:13px;font-weight:500}.perms{margin:6px 0 0 20px}.all-perms{flex-direction:column;gap:8px;display:flex}.all-row{align-items:center;gap:8px;font-weight:600;display:flex}.all-row span{flex:1}.join-card-mini{align-items:center;gap:16px;display:flex}.qr-small{border-radius:14px;flex:none;width:116px;height:116px}.tv{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.2vh;padding:3.6vh;display:grid;position:fixed;inset:0;overflow:hidden}.tv.idle,.tv.idle *{cursor:none!important}.tv-left{background:var(--surface);min-height:0;box-shadow:var(--shadow-lg);border-radius:3.6vh;padding:2.4vh}.tv-right{flex-direction:column;gap:2.6vh;min-height:0;display:flex}.tv-clue.short{flex-basis:19%}.tv-clue.medium{flex-basis:24%}.tv-clue{background:var(--surface);min-height:0;box-shadow:var(--shadow-lg);border-radius:3.6vh;flex-direction:column;flex:0 0 29%;padding:2.6vh 3.2vh 2.4vh;transition:flex-basis .35s cubic-bezier(.25,.9,.3,1);display:flex}.tv-clue-label{align-items:center;gap:1.4vh;margin-bottom:1.4vh;display:flex}.clue-pill{text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--accent);border-radius:999px;padding:.7vh 1.8vh;font-size:2.2vh;font-weight:800}.driver{color:var(--text-2);background:var(--surface-2);border-radius:999px;align-items:center;gap:.8vh;padding:.6vh 1.6vh .6vh 1vh;font-size:2vh;font-weight:700;display:inline-flex}.driver .dot{width:1.4vh;height:1.4vh}.fit{flex:1;min-height:0;overflow:hidden}.fit-inner{line-height:1.14}.tv-clue-text{letter-spacing:-.02em;color:var(--text);font-weight:750}.columns{background:var(--surface);min-height:0;box-shadow:var(--shadow-lg);border-radius:3.6vh;flex:1;grid-template-columns:1fr 1fr;gap:2vh;padding:2.4vh 2vh 0;display:grid}.col{flex-direction:column;min-height:0;display:flex}.col h3{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .8vh;padding:0 0 0 1.4vh;font-size:1.9vh;font-weight:800}.col h3.on{color:var(--accent)}.col-box{flex:1;min-height:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.col-list{will-change:transform;margin:0;padding:0;list-style:none;transition:transform .55s cubic-bezier(.25,.9,.3,1)}.clue{color:var(--text-2);cursor:pointer;border-radius:1.8vh;gap:1.2vh;padding:1vh 1.4vh;font-size:2.5vh;font-weight:550;line-height:1.3;transition:background .25s,color .25s;display:flex}.clue b{text-align:right;min-width:2.1em;color:var(--text);flex:none;font-weight:800}.clue.active{background:var(--accent);color:#fff;box-shadow:0 1vh 2.4vh -1.2vh #5b4cf5b3}.clue.active b{color:#fff}.clue.cross{background:var(--accent-soft);color:var(--accent-ink)}.clue.cross b{color:var(--accent-ink)}.clue.done,.clue.done b{color:#b4b8c9}.tv-bottom{flex-direction:column;gap:1.4vh;display:flex}.tv-meta{align-items:center;gap:1.6vh;min-width:0;padding:0 1vh;display:flex}.tv-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:2.5vh;font-weight:800;overflow:hidden}.tv-title span{color:var(--muted);font-weight:650}.timer{font-variant-numeric:tabular-nums;font-weight:800}.tv .timer{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;padding:.6vh 1.8vh;font-size:2.4vh}.timer.paused{opacity:.6}.join-card{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:2.8vh;align-items:center;gap:1.8vh;padding:1.2vh 1.4vh 1.2vh 1.2vh;display:flex}.join-card .qr{border-radius:1.2vh;flex:none;width:8.6vh;height:8.6vh}.join-text{flex-direction:column;flex:1;gap:.2vh;min-width:0;display:flex}.join-url{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:1.8vh;font-weight:650;overflow:hidden}.join-url b{color:var(--text);font-weight:800}.join-code{letter-spacing:.08em;color:var(--accent);align-items:baseline;gap:1.4vh;font-size:4.8vh;font-weight:850;line-height:1;display:flex}.join-pw{letter-spacing:0;color:var(--text-2);font-size:1.7vh;font-weight:650}.join-pw b{color:var(--text);letter-spacing:.06em}.tv-icons{border-left:1px solid var(--line);gap:.8vh;margin-left:.4vh;padding-left:1.4vh;display:flex}.tv-icon{background:var(--surface-2);width:5.2vh;height:5.2vh;box-shadow:none;color:var(--text-2);border:none;border-radius:1.6vh;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.tv-icon svg{width:2.6vh;height:2.6vh}@media (hover:hover){.tv-icon:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink)}}.dot-badge{margin:0;position:absolute;top:-.6vh;right:-.6vh}.tv-controls .tv-icons{background:var(--surface);box-shadow:var(--shadow);border-left:none;border-radius:2.2vh;padding:.8vh}.tv-controls{z-index:40;align-items:center;gap:8px;transition:opacity .35s;display:flex;position:fixed;top:1.4vh;right:1.4vh}.tv.idle .tv-controls{opacity:0;pointer-events:none}.pending-card{background:var(--surface);z-index:45;box-shadow:0 0 0 2px var(--sun), var(--shadow-lg);border-radius:20px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:fixed;top:7vh;right:1.6vh}.pending-row{align-items:center;gap:8px;display:flex}.pending-row span{margin-right:6px}.tv.with-panel .lobby{padding-right:calc(min(460px,100vw) + 6vw)}.tv.with-panel .lobby-hint{right:calc(min(460px,100vw) + 1vw)}.lobby{grid-column:1/-1;justify-content:center;align-items:center;gap:7vw;padding:4vh 5vw;transition:padding .3s;display:flex}.lobby-main{flex-direction:column;gap:3.6vh;max-width:60vw;display:flex}.lobby .brand{font-size:3.6vh}.lobby .brand-mark{border-radius:1.4vh;gap:.4vh;width:5vh;height:5vh;padding:.7vh}.code-squares{align-self:flex-start;gap:1.6vh;display:flex}.code-sq{background:var(--surface);width:17vh;height:19vh;color:var(--accent);box-shadow:var(--shadow-lg);border-radius:3.4vh;justify-content:center;align-items:center;font-size:12vh;font-weight:850;animation:3.2s ease-in-out infinite bob;display:flex;position:relative}.code-sq:nth-child(2){animation-delay:.25s}.code-sq:nth-child(3){animation-delay:.5s}.code-sq:nth-child(4){animation-delay:.75s}@keyframes bob{50%{transform:translateY(-1vh)}}.code-sq small{color:var(--muted);font-size:2.4vh;font-weight:700;position:absolute;top:1.2vh;left:1.6vh}.lobby-how{color:var(--text-2);margin:0;font-size:3.4vh;font-weight:600;line-height:1.4}.lobby-how b{color:var(--text);font-weight:800}.lobby-players{flex-wrap:wrap;gap:1.2vh;min-height:4vh;display:flex}.lobby-player{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:1vh;padding:1vh 2vh 1vh 1.2vh;font-size:2.4vh;font-weight:700;animation:.4s cubic-bezier(.3,1.4,.5,1) pop;display:inline-flex}.lobby .lobby-player .dot{width:2.4vh;height:2.4vh}.phone-screen .lobby-players{justify-content:center;margin:16px 0}.phone-screen .lobby-player{border:1px solid var(--line);box-shadow:none;padding:6px 14px 6px 8px;font-size:15px}.phone-screen .lobby-player .dot{width:14px;height:14px}.lobby-qr{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:4vh;flex-direction:column;align-items:center;gap:1.6vh;padding:3vh;font-size:2.4vh;font-weight:650;display:flex}.lobby-qr .qr{width:30vh;height:30vh}.solved-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#f3f5fb99;justify-content:center;align-items:center;animation:.4s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.solved-card{background:var(--surface);color:var(--text);text-align:center;box-shadow:var(--shadow-lg);border-radius:4vh;padding:4.4vh 8vh;animation:.7s cubic-bezier(.2,1.6,.4,1) bounce}@keyframes bounce{0%{transform:scale(.6)}}.solved-title{letter-spacing:-.03em;background:linear-gradient(135deg,#5b4cf5,#e64980);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:max(40px,9vh);font-weight:850;line-height:1}.solved-time{font-variant-numeric:tabular-nums;color:var(--text-2);margin-top:1.2vh;font-size:max(24px,5vh);font-weight:750}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:3px;animation-name:fall;animation-timing-function:cubic-bezier(.3,.4,.6,1);animation-fill-mode:forwards;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}.rebus-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:70;background:#161a2e59;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.rebus{background:var(--surface);border-radius:var(--radius-lg);width:min(360px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:22px;animation:.3s cubic-bezier(.3,1.4,.5,1) pop;display:flex}.rebus label{color:var(--text-2);font-weight:650}.rebus input{text-transform:uppercase;letter-spacing:.08em;text-align:center;font-size:28px;font-weight:800}.phone{padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ph-top{padding:calc(env(safe-area-inset-top) + 8px) 10px 6px;align-items:center;gap:6px;display:flex}.seg{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;gap:2px;padding:4px;display:flex}.seg button{box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:999px;padding:7px 11px;display:inline-flex}.seg button.on{background:var(--accent);color:#fff}.ph-mid{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;font-size:15px;display:flex}.ph-code{letter-spacing:.1em;color:var(--accent);font-weight:800}.ph-actions{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;padding:3px;display:flex}.ph-actions .icon-btn{border-radius:999px}.tv-btn{background:var(--accent-soft);color:var(--accent-ink);box-shadow:none;border:none;align-items:center;gap:4px;padding:6px 10px;font-size:13px;display:inline-flex}.ph-grid{background:var(--surface);min-height:0;box-shadow:var(--shadow);border-radius:22px;flex:1;margin:4px 10px;padding:6px}.ph-clue{background:var(--accent);color:#fff;border-radius:20px;align-items:stretch;min-height:62px;margin:8px 10px 6px;display:flex;box-shadow:0 10px 20px -12px #5b4cf5cc}.ph-clue .icon-btn{color:#fff;border-radius:20px;padding:0 8px}@media (hover:hover){.ph-clue .icon-btn:hover{background:#ffffff1f}}.ph-clue-text{text-align:left;box-shadow:none;color:inherit;-webkit-line-clamp:3;background:0 0;border:none;border-radius:0;-webkit-box-orient:vertical;flex:1;padding:9px 2px;font-size:16px;font-weight:600;line-height:1.28;display:-webkit-box;overflow:hidden}.ph-clue-text:hover:not(:disabled){background:0 0}.ph-clue-text b{background:#fff3;border-radius:8px;margin-right:4px;padding:1px 7px}.ph-note{text-align:center;color:var(--text-2);justify-content:center;align-items:center;min-height:120px;padding:16px;font-weight:600;display:flex}.solved-note{color:var(--ok)}.kb{-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;gap:8px;padding:6px 4px 8px;display:flex}.kb-row{justify-content:center;gap:5px;display:flex}.kb-key{background:var(--surface);max-width:46px;height:50px;color:var(--text);border:none;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;padding:0;font-size:21px;font-weight:650;display:flex;box-shadow:0 1px #d5d9e6,0 2px 6px -2px #161a2e1f}.kb-key:active{background:var(--accent-soft);color:var(--accent-ink);transform:translateY(1px)}.kb-wide{background:var(--surface-3);flex:1.55 1 0;max-width:70px}.kb-rebus{font-size:13px;font-weight:750}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;background:#161a2e4d;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;padding:6px 14px calc(14px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;max-height:88dvh;animation:.28s cubic-bezier(.3,1.2,.5,1) up;overflow:auto}@keyframes up{0%{opacity:.4;transform:translateY(40px)}}.sheet.full{z-index:40;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);border-radius:0;flex-direction:column;max-height:none;display:flex;position:fixed;inset:0;overflow:hidden}.sheet-grip{background:#d5d9e6;border-radius:3px;width:42px;height:5px;margin:6px auto 12px}.menu-item{text-align:left;border-radius:18px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:15px 18px;font-size:16px;display:flex}.menu-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:10px 4px 6px;font-size:12px;font-weight:750}.menu-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.menu-row button{border-radius:16px;padding:13px 6px}.toggle-line{background:var(--surface);border:1px solid var(--line);cursor:pointer;font-weight:600}.toggle-line input{width:22px;height:22px;accent-color:var(--accent)}.menu-meta{text-align:center;padding:6px;font-size:13px}.clue-sheet .clue-list{flex:1;margin:0;padding:6px 12px 20px;list-style:none;overflow:auto}.clue-list li{cursor:pointer;border-radius:16px;gap:12px;padding:12px;font-weight:550;line-height:1.35;display:flex}.clue-list li b{text-align:right;flex:none;min-width:26px;font-weight:800}.clue-list li.active{background:var(--accent);color:#fff}.clue-list li.cross{background:var(--accent-soft);color:var(--accent-ink)}.clue-list li.done{color:#b4b8c9}@media (width>=700px){.phone .kb-key{max-width:60px;height:56px}}.avatar{flex:none;justify-content:center;align-items:center;width:1.5em;height:1.5em;display:inline-flex}.avatar svg{width:100%;height:100%;display:block}.avatar.host-mark{background:var(--ink);color:#fff;border-radius:28%;padding:.22em}.shape{vertical-align:middle;display:inline-block;overflow:visible}.my-shape{justify-content:center;margin:4px 0 10px;animation:3s ease-in-out infinite bob;display:flex}.my-shape svg{filter:drop-shadow(0 10px 14px #161a2e2e)}.join-players{flex-wrap:wrap;justify-content:flex-end;gap:.8vh;max-width:46%;display:flex}.join-player{background:var(--surface-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.7vh;padding:.5vh 1.4vh .5vh .8vh;font-size:1.9vh;font-weight:700;display:inline-flex}.join-player .avatar{font-size:1.9vh}.join-more{color:var(--muted);align-self:center;font-size:1.8vh;font-weight:700}.driver .avatar{font-size:1.7vh}.lobby .lobby-player .avatar{font-size:2.4vh}.phone-screen .lobby-player .avatar{font-size:14px}.thumb{width:100%;height:100%;display:block}.thumb-bg{fill:#fff;stroke:#c9cddc;stroke-width:.25px}.thumb-blocks{fill:var(--ink)}.ring{display:block}.ring-track{fill:#ffffffeb;stroke:var(--accent-soft);stroke-width:4px}.ring-bar{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.ring-text{font:800 11px var(--font);fill:var(--accent-ink);text-anchor:middle;dominant-baseline:central}.star{fill:#ffc21a;stroke:#e0a100;stroke-width:1px;stroke-linejoin:round;display:block}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cal-nav{align-items:center;gap:4px;display:flex}.cal-month{text-align:center;letter-spacing:-.01em;min-width:150px;font-size:18px;font-weight:800}.cal-tools{align-items:center;gap:8px;display:flex}.small-seg{box-shadow:none;background:var(--surface-3)}.small-seg button{color:var(--text-2);padding:6px 12px;font-size:13px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.cal-dow{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;font-size:12px;font-weight:750}.cal-day{aspect-ratio:1/1.08;background:var(--surface-2);box-shadow:none;border:1.5px solid #0000;border-radius:16px;min-width:0;padding:22% 13% 10%;display:flex;position:relative}@media (hover:hover){.cal-day:hover:not(:disabled){background:var(--accent-soft);border-color:#0000;transform:translateY(-2px)}}.cal-day:disabled{opacity:1}.cal-day.off{background:0 0}.cal-day.off .cal-num{color:#c6cad8}.cal-day.off .cal-thumb{visibility:hidden}.cal-day.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.cal-day.today .cal-num{background:var(--accent);color:#fff}.cal-num{color:var(--text-2);border-radius:999px;padding:1px 6px;font-size:12px;font-weight:750;line-height:1.4;position:absolute;top:6%;left:8%}.cal-thumb{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.thumb-empty{aspect-ratio:1;border:2px dashed #d3d7e4;border-radius:10%;width:100%}.cal-day.missing .thumb-empty:after{content:""}.cal-day.progress .thumb{filter:blur(1.4px);opacity:.45}.cal-thumb .ring{width:62%;max-width:46px;height:auto;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.cal-star{position:absolute;top:6%;right:7%}.cal-star.big{top:-8px;right:-8px}.cal-now{text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:#fff;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:800;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.cal-busy{background:#fff9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%235b4cf5' stroke-width='3' stroke-dasharray='40 20'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.9s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") 50%/40% no-repeat;border-radius:16px;position:absolute;inset:0}.mini-bar{background:var(--accent);border-radius:2px;height:4px;position:absolute;bottom:-5px;left:0}.cal.compact .cal-grid{gap:5px}.cal.compact .cal-day{border-radius:11px;padding:34% 14% 12%}.cal.compact .cal-num{padding:0 4px;font-size:10px}.cal.compact .cal-month{min-width:120px;font-size:16px}.cal.compact .cal-dow{font-size:10px}.cal.compact .cal-day.progress .thumb{filter:blur(1px);opacity:.4}.surprise{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:12px;display:flex}.surprise .muted{margin-right:4px;font-weight:650}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;background:#161a2e52;justify-content:center;align-items:center;padding:16px;animation:.2s fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:min(520px,100%);max-height:calc(100dvh - 32px);padding:24px;animation:.3s cubic-bezier(.3,1.3,.5,1) pop;position:relative;overflow:auto}.modal-close{position:absolute;top:12px;right:12px}.day-top{align-items:flex-start;gap:18px;display:flex}.day-thumb{flex:none;width:132px;position:relative}.day-thumb.progress .thumb{filter:blur(2px);opacity:.45}.day-thumb .ring{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.day-info{flex:1;min-width:0}.day-info h3{margin:2px 0 4px;font-size:20px}.day-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:800}.day-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.day-stats div{background:var(--surface-2);border-radius:14px;flex-direction:column;padding:8px 10px;display:flex}.day-stats b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.day-stats span{color:var(--muted);font-size:12px;font-weight:600}.runs{flex-direction:column;gap:6px;max-height:240px;margin:18px 0 4px;display:flex;overflow:auto}.run{background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.run-icon{justify-content:center;width:26px;display:flex}.run-main{flex-direction:column;min-width:0;display:flex}.run-main b{font-weight:750}.run-main small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:550;overflow:hidden}.day-actions{gap:8px;margin-top:16px;display:flex}.day-actions button{flex:1;padding:13px}.pg{padding:14px 12px}.pg-row{grid-template-columns:minmax(0,1fr) repeat(5,44px) 30px;align-items:center;column-gap:2px;padding:6px 0;display:grid}.pg-head{align-items:end;padding-top:0}.pg-head h4{margin:0}.pg-col{color:var(--text-2);flex-direction:column;align-items:center;gap:3px;display:flex}.pg-head .pg-col svg{width:18px;height:18px}.pg-head .pg-col span{color:var(--muted);text-align:center;max-width:42px;font-size:10.5px;font-weight:700;line-height:1.1}.pg-lead{min-width:0}.pg-span{text-align:center;color:var(--muted);background:var(--surface-2);border-radius:999px;grid-column:2/span 6;padding:6px;font-size:13px;font-weight:600}.pg-who{align-items:center;gap:10px;min-width:0;display:flex}.pg-who .avatar{font-size:22px}.pg-who.offline{opacity:.5}.pg-name{flex-direction:column;min-width:0;display:flex}.pg-name b{white-space:nowrap;text-overflow:ellipsis;font-weight:750;overflow:hidden}.pg-name small{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:550;display:flex}.online-dot{background:#c6cad8;border-radius:50%;width:7px;height:7px}.online-dot.on{background:var(--ok)}.pg-divider{background:var(--line);height:1px;margin:8px 0 4px}.pg-label{color:var(--text-2);font-size:14px;font-weight:700}.pg-empty{padding:6px 2px}.tile{background:var(--surface-2);border:1.5px solid var(--line);width:30px;height:30px;box-shadow:none;color:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.tile svg{width:18px;height:18px}.tile.on{background:var(--accent);border-color:var(--accent)}.tile.mixed{background:var(--accent-soft);border-color:#0000}.tile-dash{background:var(--accent);border-radius:2px;width:12px;height:3px}.tile:disabled{opacity:.55}.tile.on:disabled{opacity:.6}.kick{color:var(--muted);padding:5px}@media (hover:hover){.kick:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.tile:hover:not(:disabled){border-color:var(--accent)}}.kick svg{width:18px;height:18px}.pending-line{align-items:center;gap:8px;padding:4px 0;display:flex}.pending-line .pg-who{flex:1}.now-card .now{align-items:center;gap:14px}.now-thumb{flex:none;width:56px;height:56px}.now-text{flex:1;min-width:0}.now-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar{background:var(--surface-3);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--accent), #8b5cf6);border-radius:3px;height:100%;transition:width .4s;display:block}.now-pct{color:var(--accent);text-align:right;min-width:40px;font-size:15px;font-weight:800}.now-tools{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.clock{background:var(--surface-2);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 12px;display:flex}.clock .timer{min-width:42px;margin-right:4px;font-size:15px}.clock .icon-btn{border-radius:999px;padding:6px}.clock .icon-btn svg{width:18px;height:18px}.now-actions{gap:6px;display:flex}.menu{position:relative}.menu>button{align-items:center;gap:4px;display:inline-flex}.menu>button svg{width:16px;height:16px}.menu>button.icon-only{padding:6px 9px}.menu-pop{background:var(--surface);min-width:170px;box-shadow:var(--shadow-lg);border:1px solid var(--line);z-index:20;border-radius:16px;flex-direction:column;padding:6px;animation:.18s ease-out pop;display:flex;position:absolute;top:calc(100% + 6px);left:0}.menu-pop.right{left:auto;right:0}.menu-pop-item{text-align:left;box-shadow:none;border:none;border-radius:10px;padding:9px 12px;font-size:14px}.menu-pop-item.danger{color:#c92a2a}.setup{max-width:1240px;margin:0 auto;padding:22px 18px 60px}.setup-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.setup-cal{padding:22px}.setup-side .card{margin-bottom:12px}.picked{align-items:center;gap:12px;display:flex}.picked .thumb{flex:none;width:64px;height:64px}.picked>div{flex:1;min-width:0}.tag.accent{background:var(--accent-soft);color:var(--accent-ink);margin:6px 0 0;display:inline-block}.start-btn{margin-top:4px}@media (width<=900px){.setup-grid{grid-template-columns:1fr}}.center{text-align:center}.join-settings{flex-direction:column;display:flex}.wide-seg{box-shadow:none;background:var(--surface-3);margin:4px 0 6px}.wide-seg button{color:var(--text-2);flex:1;padding:9px 10px;font-size:14px}.pw-box{background:var(--surface-2);border-radius:18px;margin:6px 0 4px;padding:12px 14px 2px}.pw-box .toggle{border-bottom:none}.pw-kind{gap:6px;margin-bottom:10px;display:flex}.radio{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:650;display:inline-flex}.radio input{opacity:0;pointer-events:none;position:absolute}.radio.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.pin-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.pin{letter-spacing:.18em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:30px;font-weight:850}.tip{color:var(--text-2);background:#fff8e6;border-radius:14px;margin:12px 0 0;padding:10px 12px;font-size:13px}.tip.ok{background:var(--ok-soft);color:#087f5b;font-weight:600}.tip .link{padding:0;font-weight:700}.join-details{align-items:stretch;gap:16px}.join-details .brand{align-self:center}.room-chip{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-self:center;align-items:center;gap:8px;padding:6px 8px 6px 16px;font-weight:650;display:inline-flex}.room-chip b{letter-spacing:.12em;font-weight:850}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:14px;font-weight:650;display:flex}.hint{color:var(--text-2);background:var(--surface-2);border-radius:12px;margin:0;padding:9px 12px;font-size:13px}.setup{flex-direction:column;max-width:none;padding:16px 24px 24px;display:flex;position:fixed;inset:0}.setup-head{align-items:center;gap:18px;margin-bottom:16px;display:flex}.setup-head h1{color:var(--text-2);border-left:2px solid var(--line);flex:1;margin:0;padding-left:18px;font-size:20px;font-weight:700}.head-right{align-items:center;gap:10px;display:flex}.setup-grid{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;gap:20px;max-width:none;min-height:0;display:grid}.setup-cal{flex-direction:column;min-height:0;margin:0;padding:22px 26px 24px;display:flex}.setup-side{flex-direction:column;min-height:0;display:flex}.setup-scroll{flex:1;min-height:0;margin:-4px -6px 0;padding:4px 6px;overflow:auto}.setup-foot{padding-top:12px}.setup-foot .error{margin-bottom:8px}.cal.fill{flex-direction:column;flex:1;min-height:0;display:flex}.cal.fill .cal-head{margin-bottom:16px}.cal.fill .cal-month{min-width:240px;font-size:26px}.cal.fill .cal-grid{flex:1;grid-template-rows:auto;grid-auto-rows:minmax(0,1fr);gap:10px;min-height:0}.cal.fill .cal-dow{font-size:13px}.cal.fill .cal-day{aspect-ratio:auto;border-radius:20px;min-height:0;padding:30px 12px 10px;overflow:hidden}.cal.fill .cal-num{font-size:14px;top:8px;left:10px}.cal.fill .cal-star{top:9px;right:10px}.cal.fill .cal-thumb{align-self:stretch;min-height:0;position:relative}.cal.fill .thumb,.cal.fill .thumb-empty{width:100%;height:100%;position:absolute;inset:0}.cal.fill .thumb-empty{background:0 0;border:none}.cal.fill .thumb-empty:before{content:"";aspect-ratio:1;box-sizing:border-box;border:2px dashed #d3d7e4;border-radius:10%;max-width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cal.fill .cal-thumb .ring{width:34%;max-width:72px}.cal.fill .cal-now{font-size:11px}@media (width<=900px),(height<=560px){.setup{min-height:100dvh;position:static}.setup-grid{grid-template-columns:1fr}.setup-scroll{overflow:visible}.cal.fill .cal-grid{grid-auto-rows:auto}.cal.fill .cal-day{aspect-ratio:1/1.08}}.secret{align-items:center;gap:6px;display:inline-flex}.secret .masked{letter-spacing:.12em}.pin.secret .masked{letter-spacing:.1em}.eye{color:var(--muted);padding:6px}.eye svg{width:20px;height:20px}.secret-input{flex:1;display:flex;position:relative}.secret-input input{flex:1;padding-right:44px}.secret-input input.masked{-webkit-text-security:disc;text-security:disc}.secret-input .eye{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-value{color:var(--text);letter-spacing:.06em;vertical-align:middle;font-weight:800}.join-pw .pw-value .eye{margin-left:-.2vh;padding:.4vh}.join-pw .pw-value .eye svg{width:2.2vh;height:2.2vh}.lobby-how .pw-value .eye svg{width:3vh;height:3vh}.cal-month-wrap{position:relative}button.cal-month{box-shadow:none;font:inherit;letter-spacing:-.01em;background:0 0;border:none;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-weight:800;display:inline-flex}.cal.fill button.cal-month{font-size:26px}.cal.compact button.cal-month{font-size:16px}button.cal-month svg{width:16px;height:16px;color:var(--muted);transition:transform .2s}button.cal-month.open svg{transform:rotate(180deg)}@media (hover:hover){button.cal-month:hover:not(:disabled){background:var(--surface-3)}}.month-picker{background:var(--surface);border:1px solid var(--line);width:290px;box-shadow:var(--shadow-lg);z-index:30;border-radius:20px;padding:12px;animation:.2s ease-out pop;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.mp-year{align-items:center;gap:6px;margin-bottom:10px;display:flex}.mp-year select{text-align:center;flex:1;padding:8px 10px;font-weight:750}.mp-months{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.mp-months button{box-shadow:none;background:var(--surface-2);border-color:#0000;border-radius:12px;padding:10px 0;font-size:14px}.mp-months button.on{background:var(--accent);color:#fff}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.card-head h4{margin:0}.lib.scroll-fade{max-height:340px;padding:10px 0;overflow:auto;-webkit-mask-image:linear-gradient(#0000,#000 18px calc(100% - 18px),#0000);mask-image:linear-gradient(#0000,#000 18px calc(100% - 18px),#0000)}.join-code[role=button]{cursor:pointer;border-radius:1.2vh;transition:opacity .15s}@media (hover:hover){.join-code[role=button]:hover{opacity:.8}}.room-pw{color:var(--text-2);align-items:center;gap:6px;margin-top:6px;font-size:14px;font-weight:650;display:flex}.contrast{--sun:#f5b400;--word:#aab6ff;--cross:#e2e6ff}.contrast .sq-shade{fill:#cfd2de}.contrast .clue.cross{background:#dfe3ff}.contrast .ph-clue{background:var(--accent-ink)}.lobby-side{flex-direction:column;flex:none;gap:2vh;width:36vh;display:flex}.lobby-side .lobby-qr{align-self:stretch}.lobby{position:relative}.lobby-hint{text-align:center;color:var(--muted);margin:0;font-size:2.1vh;font-weight:600;transition:right .3s;position:absolute;bottom:5vh;left:0;right:0}.lobby-hint b{color:var(--text-2);font-weight:800}.next-card{text-align:left;background:var(--surface);box-shadow:var(--shadow);border:none;border-radius:2.6vh;align-items:center;gap:1.6vh;min-width:0;padding:1.4vh 2vh 1.4vh 1.4vh;font-size:2vh;display:flex}.next-card .thumb{flex:none;width:6.4vh;height:6.4vh}.next-card>span{flex-direction:column;gap:.2vh;min-width:0;display:flex}.next-card small{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:1.4vh;font-weight:800}.next-card b{text-overflow:ellipsis;white-space:nowrap;font-size:2.3vh;font-weight:800;overflow:hidden}.next-card .muted{font-size:1.8vh}.next-card.empty{box-shadow:none;background:#fff9;border:2px dashed #cfd3e3}.next-plus{background:var(--accent-soft);width:6.4vh;height:6.4vh;color:var(--accent);border-radius:1.4vh;flex:none;justify-content:center;align-items:center;font-size:4vh;font-weight:700;display:flex!important}.tv.idle .next-card{cursor:none}.up-next{margin:4px 0 14px}.everyone-in{margin-bottom:10px}.lobby-overlay{z-index:55;pointer-events:none;background:radial-gradient(60vw 50vh at 0% 0%, #e9e6ff 0%, transparent 70%), radial-gradient(50vw 50vh at 100% 100%, #dff6ef 0%, transparent 70%), radial-gradient(40vw 40vh at 100% 0%, #fff1e2 0%, transparent 70%), var(--bg);animation:.45s ease-in .75s forwards overlay-out;display:flex;position:fixed;inset:0}.lobby-overlay .lobby{flex:1}.lobby-overlay .code-sq{animation:.62s cubic-bezier(.55,-.25,.75,.2) forwards tile-up;animation-delay:calc(var(--i,0) * 85ms)}.lobby-overlay .lobby-main>:not(.code-squares),.lobby-overlay .lobby-side,.lobby-overlay .lobby-hint{animation:.5s ease-in .15s forwards lift-out}@keyframes tile-up{to{transform:translateY(-120vh)rotate(-8deg)}}@keyframes lift-out{to{opacity:0;transform:translateY(-6vh)}}@keyframes overlay-out{to{opacity:0}}.tv-enter{animation:.6s cubic-bezier(.2,.8,.2,1) .8s both game-in}.tv-right.tv-enter{animation-delay:.92s}@keyframes game-in{0%{opacity:0;transform:translateY(3vh)scale(.98)}}.phone{animation:.5s ease-out fade}.settings-sheet{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.settings-head{justify-content:space-between;align-items:center;margin:0 4px 12px;display:flex}.settings-head h2{margin:0;font-size:22px;font-weight:800}.settings-sheet .menu-item.primary{margin-bottom:12px}.set-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin-bottom:12px;padding:14px 16px 4px}.set-card h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:800}.set-why{color:var(--muted);margin:0 0 8px;font-size:13px}.set-row{align-items:center;gap:10px;padding:8px 0;display:flex}.set-row>span{flex:none;width:58px;font-weight:650}.set-row.off>span{opacity:.45}.set-btns{flex:1;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.set-btns.two{grid-template-columns:repeat(2,1fr)}.set-btns button{background:var(--surface-2);box-shadow:none;border-radius:14px;padding:10px 4px;font-size:14px}.set-card .toggle{border-top:1px solid var(--line);border-bottom:none}.set-card h3+.toggle{border-top:none}.set-actions{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.set-actions button{border-radius:16px;padding:13px}
