@font-face{font-family:Jigsaw Sans;src:url(../fonts/NotoSansJP-Medium.woff2)format("woff2");font-weight:100 600;font-display:swap}@font-face{font-family:Jigsaw Sans;src:url(../fonts/NotoSansJP-Bold.woff2)format("woff2");font-weight:700 900;font-display:swap}:root{--bg:#f3f4f6;--bg-deep:#fff;--bg-deep-rgb:255 255 255;--fg-rgb:30 34 42;--ink:#1e222a;--muted:#737a86;--surface:#fffffffa;--surface-raised:#f0f1f4;--accent:#ff8a5c;--accent-rgb:255 138 92;--accent-hover:#ff9f7a;--accent-text:#ea5f35;--accent-ink:#1f1712;--success:#e29b00;--gold:#e29b00;--gold-rgb:240 170 20;--good:#2c9a57;--good-rgb:44 154 87;--error:#cf432a;--danger:#ef5a3c;--input:#fff;--surface-hover:#e6e8ec;--blue:#1f8fd6;--scrim-rgb:243 244 246;--shadow-rgb:22 28 45;--shadow-k:.42;--vignette:#28324612;--backdrop-filter:none;--radius:14px;--font:"Jigsaw Sans", "Noto Sans JP", "Yu Gothic UI", "Hiragino Sans", "Meiryo", system-ui, sans-serif}:root[data-theme=dark]{--bg:#362f26;--bg-deep:#15130f;--bg-deep-rgb:21 19 15;--fg-rgb:255 255 255;--ink:#f5f5f7;--muted:#9ea6b8;--surface:#12141af0;--surface-raised:#2a2e37;--accent:#f2734a;--accent-rgb:242 115 74;--accent-hover:#ff8a63;--accent-text:#f2734a;--accent-ink:#141212;--success:#ffd159;--gold:#ffd159;--gold-rgb:255 209 89;--good:#7bd88f;--good-rgb:123 216 143;--error:#ff8f78;--danger:#b8452a;--input:#0e1014;--surface-hover:#363b46;--blue:#4ab3f2;--scrim-rgb:10 11 14;--shadow-rgb:0 0 0;--shadow-k:1;--vignette:#0605048c;--backdrop-filter:blur(2px) brightness(.36) saturate(.9)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-weight:500;overflow:hidden}#table{cursor:default;touch-action:none;width:100vw;height:100dvh;display:block;position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(ellipse at center, transparent 55%, var(--vignette) 120%);position:fixed;inset:0}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 28px rgb(var(--shadow-rgb) / calc(.35 * var(--shadow-k)))}#hud{pointer-events:none;position:fixed;inset:0}.progress{align-items:center;gap:12px;width:300px;padding:8px 16px;display:flex;position:absolute;bottom:20px;left:20px}.progress-numbers{display:contents}.progress-percent{font-variant-numeric:tabular-nums;order:0;min-width:3.2em;font-size:17px;font-weight:700}.progress-percent.done{color:var(--success)}.progress-count{color:var(--muted);white-space:nowrap;order:3;font-size:12px}.progress-track{background:rgb(var(--fg-rgb) / .12);border-radius:4px;flex:1;order:2;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:4px;width:0%;height:100%;transition:width .35s cubic-bezier(.2,.8,.2,1)}.hints{color:rgb(var(--fg-rgb) / .72);padding:6px 14px;font-size:12px;line-height:1.6;transition:opacity .25s,transform .25s;position:absolute;bottom:70px;left:20px}.hints kbd{font-family:var(--font);color:var(--ink);margin-right:4px;font-weight:700}.hints span{white-space:nowrap;margin-right:14px}.hints span:last-child{margin-right:0}.hints.gone{opacity:0;transform:translateY(8px)}.notice{background:var(--surface);border-radius:var(--radius);opacity:0;padding:12px 24px;font-size:16px;transition:opacity .2s,transform .2s;position:absolute;top:24px;left:50%;transform:translate(-50%,-8px)}.notice.shown{opacity:1;transform:translate(-50%)}.picture-view{background:rgb(var(--scrim-rgb) / .92);cursor:pointer;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .18s;display:flex;position:fixed;inset:0}.picture-view.shown{opacity:1}.picture-view img{max-width:92vw;max-height:82vh;box-shadow:0 16px 48px rgb(var(--shadow-rgb) / calc(.6 * var(--shadow-k)));border-radius:6px;transition:transform .22s cubic-bezier(.2,.8,.2,1);transform:translateY(12px)}.picture-view.shown img{transform:none}.picture-caption{color:var(--muted);margin:0;font-size:14px}.solved{pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.solved-card{text-align:center;padding:28px 64px;animation:.4s cubic-bezier(.2,.8,.2,1) arrive}.solved-card h2{color:var(--success);margin:0;font-size:52px}.solved-card p{color:var(--muted);margin:8px 0 0}@keyframes arrive{0%{opacity:0;transform:translateY(16px)scale(.98)}}button{touch-action:manipulation;font:inherit;color:var(--ink);background:var(--surface-raised);cursor:pointer;border:none;border-radius:12px;padding:12px 22px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s}button:hover:not(:disabled){background:var(--surface-hover)}button:active:not(:disabled){transform:translateY(1px)scale(.99)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary,button.chosen{background:var(--accent);color:var(--accent-ink)}button.primary:hover:not(:disabled),button.chosen:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.45;cursor:default}button small{color:var(--muted);margin-left:8px;font-size:11px;font-weight:500}.seam svg{width:100%;height:22px;display:block;overflow:visible}.seam path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.seam.wide path{stroke:rgb(var(--fg-rgb) / .16)}.screen{position:fixed;inset:0}.fade{background:var(--bg-deep);opacity:1;pointer-events:none;transition:opacity .25s;position:fixed;inset:0}.fade.clear{opacity:0}.fade.covering{pointer-events:all}.stage{background:rgb(var(--scrim-rgb) / .82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;padding:48px 64px 40px;display:grid}.stage-header{grid-column:1/-1}.stage-header h2{margin:0;font-size:38px}.stage-sub{color:var(--accent-text);margin:2px 0 10px;font-size:15px}.stage-preview img,.stage-preview canvas{object-fit:contain;width:100%;max-height:48vh;box-shadow:0 16px 40px rgb(var(--shadow-rgb) / calc(.5 * var(--shadow-k)));border-radius:10px;display:block}.stage-preview h3{margin:16px 0 2px;font-size:26px}.stage-preview p{color:var(--muted);margin:0}.stage-options h4,.sheet h4{color:var(--muted);margin:0 0 10px;font-size:14px;font-weight:500}.choices{flex-wrap:wrap;gap:10px;display:flex}.choices button{min-width:96px}.choices.pictures button{border-radius:14px;width:170px;padding:6px}.choices.pictures img{aspect-ratio:4/3;object-fit:cover;border-radius:9px;width:100%;display:block}.stage-hint{color:var(--muted);margin:-16px 0 0;font-size:14px}.stage-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}#ranking-how{max-width:42em;word-break:auto-phrase;margin:0 auto 0 0}.stage-actions button{min-width:140px;padding:15px 28px;font-size:18px}.gear{background:var(--surface);pointer-events:all;border-radius:14px;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:18px;right:18px}.gear span{border:5px solid var(--ink);outline:3px dashed var(--ink);outline-offset:1px;border-radius:50%;width:22px;height:22px;transition:transform .4s}.gear:hover span{transform:rotate(45deg)}.sheet{overscroll-behavior:contain;background:rgb(var(--scrim-rgb) / .7);opacity:0;padding:24px 0;transition:opacity .18s;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet.shown{opacity:1}.sheet-card{flex:none;width:min(960px,94vw);margin:auto;padding:30px 40px 34px;transition:transform .22s cubic-bezier(.2,.8,.2,1);transform:translateY(14px)}.sheet.shown .sheet-card{transform:none}.sheet-card h2{margin:0;font-size:32px}.sheet-card .seam{margin:6px 0 22px}.sheet-columns{grid-template-columns:1fr 1fr;gap:48px;display:grid}.level{grid-template-columns:96px 1fr 48px;align-items:center;gap:14px;margin-bottom:16px;font-size:15px;display:grid}.level output{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--accent);width:100%}.sheet-actions{gap:12px;margin-top:30px;display:flex}.controls{grid-template-columns:auto 1fr;gap:9px 16px;margin:0;font-size:15px;display:grid}.controls dt{background:var(--surface-raised);white-space:nowrap;border-radius:8px;justify-self:start;padding:3px 12px;font-size:13px;font-weight:700}.controls dd{color:rgb(var(--fg-rgb) / .86);align-self:center;margin:0}.solved-card{pointer-events:all;min-width:380px}.solved-card .seam{width:300px;margin:4px auto 10px}.solved-time{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;color:var(--ink)!important;margin:4px 0 0!important}.tally{text-align:left;gap:6px;width:280px;margin:18px auto 0;padding:0;list-style:none;display:grid}.tally:empty{display:none}.tally li{grid-template-columns:22px 14px 1fr auto;align-items:center;gap:8px;font-size:16px;display:grid}.tally b{color:var(--muted);text-align:right;font-size:13px}.tally i{border-radius:50%;width:12px;height:12px}.tally em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.solved-actions{justify-content:center;gap:10px;margin-top:22px;display:flex}.solved.aside .solved-card{opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateY(20px)}.confetti{pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}button.primary small{color:#141212b8}.duo-card{width:min(620px,92vw);padding:30px 40px 28px}.duo-card h2{margin:0;font-size:32px}.duo-card .seam{margin:6px 0 20px}.duo-card section{margin-bottom:26px}.duo-card h4{margin:0 0 6px;font-size:18px}.duo-card p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.6}.duo-card footer{justify-content:flex-end;display:flex}.code-row{gap:10px;display:flex}.code-row input{min-width:0;font:inherit;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);background:var(--input);border:2px solid var(--surface-raised);-webkit-user-select:text;user-select:text;border-radius:12px;outline:none;flex:1;padding:8px 16px;font-size:26px;font-weight:700}.code-row input:focus{border-color:var(--accent)}.error{min-height:1.4em;color:var(--error)!important;margin-top:8px!important}.room{pointer-events:all;width:340px;padding:18px 22px 16px;animation:.3s cubic-bezier(.2,.8,.2,1) arrive;position:absolute;top:80px;right:18px}.room-label,.room h4{color:var(--muted);margin:0;font-size:12px;font-weight:500}.room h4{margin-top:14px;margin-bottom:6px}.room-code{letter-spacing:.16em;color:var(--accent-text);-webkit-user-select:text;user-select:text;font-size:32px;font-weight:700}.room-invite{color:var(--muted);margin:2px 0 8px;font-size:12px}.room-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-actions button{padding:9px 10px;font-size:13px;line-height:1.35}.room-actions .primary{grid-column:1/-1}.members{gap:4px;margin:0;padding:0;list-style:none;display:grid}.members li{align-items:center;gap:8px;min-width:0;padding:3px 0;font-size:15px;display:flex}.members .member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.members small{flex:none}.member-end{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.members i{border-radius:50%;flex:none;width:12px;height:12px}.members small{color:var(--muted);font-size:12px}.room-close{margin:10px 0 0 auto;padding:7px 14px;font-size:13px;display:block}.name-input{width:100%;font:inherit;color:var(--ink);background:var(--input);border:2px solid var(--surface-raised);-webkit-user-select:text;user-select:text;border-radius:12px;outline:none;padding:8px 14px;font-size:20px;font-weight:700}.name-input:focus{border-color:var(--accent)}.name-input.missing{border-color:var(--error)}.badge{pointer-events:all;cursor:pointer;font:inherit;background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;position:absolute;top:28px;right:80px}.badge:before{content:"";background:var(--dot,var(--good));vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.cursor{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.cursor svg{filter:drop-shadow(0 2px 3px rgb(var(--shadow-rgb) / calc(.5 * var(--shadow-k))));display:block}.cursor span{color:var(--accent-ink);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute;top:18px;left:18px}.cursor.away{opacity:.85}.cursor svg{transform-origin:2px 2px;transition:transform .2s}.members li.goto{cursor:pointer;border-radius:8px;margin:-3px -6px;padding:3px 6px}.members li.goto:hover{background:rgb(var(--fg-rgb) / .07)}.lost{z-index:5}.lost-card{text-align:center;width:min(460px,92vw);padding:30px 36px}.lost-card h2{margin:0 0 8px;font-size:26px}.lost-card p{color:var(--muted);margin:0 0 18px}.busy{background:var(--accent);border-radius:3px;width:42px;height:6px;margin:0 auto 22px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3;transform:scaleX(.6)}}.join-ring{width:var(--reach);height:var(--reach);margin:calc(var(--reach) / -2) 0 0 calc(var(--reach) / -2);pointer-events:none;border:2px solid #ffecbee6;border-radius:50%;animation:.6s cubic-bezier(.15,.7,.3,1) forwards join-ring;position:fixed;box-shadow:0 0 18px #ffd68c8c,inset 0 0 18px #ffd68c59}@keyframes join-ring{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1)}}.tools{border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 28px rgb(var(--shadow-rgb) / calc(.35 * var(--shadow-k)));pointer-events:all;gap:8px;padding:8px;display:flex;position:absolute;bottom:20px;right:18px}.tools button{background:0 0;justify-items:center;gap:2px;min-width:58px;padding:8px 10px 6px;font-size:12px;display:grid}.tools button:hover:not(:disabled),.tools button.on{background:var(--surface-raised)}.tools button.on svg{stroke:var(--accent)}.tools svg{fill:none;width:22px;height:22px;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tools svg .dim{stroke:var(--muted)}.progress-time{font-variant-numeric:tabular-nums;order:1;font-size:15px;font-weight:700}.progress-count{order:3}.ready{background:radial-gradient(ellipse at 50% 40%, rgb(var(--accent-rgb) / .1), transparent 60%), var(--bg-deep);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ready-card{text-align:center;width:min(460px,100%);padding:30px 34px 26px;animation:.4s cubic-bezier(.2,.8,.2,1) arrive}.ready-card h2{margin:0;font-size:30px}.ready-card .seam{width:300px;max-width:100%;margin:6px auto 12px}.ready-card p{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.6}.ready-kicker{letter-spacing:.08em;font-weight:700;color:var(--accent-text)!important}.ready-rules{font-weight:700;color:var(--ink)!important;font-size:16px!important}.ready-card button{width:100%;margin:10px 0 12px;padding:15px;font-size:20px}.ready-note{margin:0!important;font-size:12px!important}.countdown{pointer-events:none;color:var(--ink);text-shadow:0 10px 50px rgb(var(--shadow-rgb) / calc(.7 * var(--shadow-k)));place-items:center;font-size:clamp(72px,18vw,180px);font-weight:700;display:grid;position:fixed;inset:0}.countdown.tick{animation:.9s cubic-bezier(.2,.8,.2,1) both count}@keyframes count{0%{opacity:0;transform:scale(1.5)}25%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.solved-rank{font-weight:700;color:var(--ink)!important;margin:6px 0 0!important}.solved-rank.best{color:var(--accent-text)!important}.members .view{text-overflow:ellipsis;background:var(--surface-raised);max-width:11em;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-style:normal;display:inline-flex;overflow:hidden}.members .view svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.members .view svg .dim{opacity:.5}.members .view.onBoard{color:var(--gold)}.members .view.picture{color:var(--blue)}.room.private .room-code,.room.private .room-label,.room.private .room-invite,.room.private .room-actions{display:none}.choices.pictures.small button{border-radius:11px;width:104px;padding:4px}.choices.pictures.small img{border-radius:7px}.ranking .stage-options{overflow-y:auto}.ranking-board h4{color:var(--muted);margin:0 0 10px;font-size:14px;font-weight:500}.ranking-board{flex-direction:column;min-height:0;display:flex}.ranking-board .tabs{margin-bottom:10px}.ranking-board .stage-hint{margin:0 0 12px}.records{align-content:start;gap:4px;min-height:0;margin:0;padding:0;list-style:none;transition:opacity .2s;display:grid;overflow-y:auto}.records.loading{opacity:.45}.records li{background:rgb(var(--fg-rgb) / .04);border-radius:10px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:9px 14px;font-size:15px;display:grid}.records li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.records b{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.records li.podium b{color:var(--ink);font-size:17px}.records li[data-rank="1"] b{color:var(--gold)}.records time{font-variant-numeric:tabular-nums;font-weight:700}.records li.mine{background:rgb(var(--accent-rgb) / .16);box-shadow:inset 3px 0 0 var(--accent)}.records li.gap,.records li.empty{color:var(--muted);text-align:center;background:0 0;display:block}.records.compact li{padding:6px 12px;font-size:14px}.stage-records{margin-top:18px}.stage-records h4{color:var(--muted);margin:0 0 8px;font-size:14px;font-weight:500}.choices.pictures button{width:calc(25% - 7.5px)}.stage{box-sizing:border-box;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh}.stage-options,.stage-preview{min-height:0;overflow-y:auto}.stage-options .choices{margin-bottom:20px}@media (height<=880px) and (width>=821px){.stage{gap:14px 44px;padding:26px 56px 24px}.stage-header h2{font-size:30px}.stage-options h4{margin-bottom:7px}.stage-options .choices{margin-bottom:14px}.stage .choices button:not([data-picture]){padding-top:9px;padding-bottom:9px}.stage .stage-hint{margin:-8px 0 12px;font-size:13px}.stage-actions button{padding:12px 26px}}.stage .stage-hint{margin:-10px 0 16px}@media (width<=820px){.stage{padding:24px 18px calc(24px + env(safe-area-inset-bottom));grid-template-rows:auto auto auto auto;grid-template-columns:1fr;gap:16px;overflow-y:auto}.stage-header h2{font-size:28px}.stage-preview img,.stage-preview canvas{max-height:30vh}.stage-preview h3{margin-top:8px;font-size:20px}.choices.pictures button{width:calc(33.3333% - 6.66667px)}.choices button{flex:auto;min-width:0;padding:12px 10px}.stage-actions{background:linear-gradient(transparent, rgb(var(--scrim-rgb) / .95) 40%);padding-top:10px;position:sticky;bottom:0}.stage-actions button{flex:1;min-width:0}.sheet{padding:16px 0}.sheet-card{padding:22px 20px 24px}.sheet-columns{grid-template-columns:1fr;gap:22px}.duo-card{max-height:100dvh;padding:22px 20px;overflow-y:auto}.progress{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));gap:10px;width:min(240px,100vw - 96px);padding:7px 12px}.progress-percent{font-size:15px}.hints{left:12px;right:84px;bottom:calc(58px + env(safe-area-inset-bottom));font-size:11px}.tools{right:12px;bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;padding:6px}.tools button{min-width:52px;padding:7px 6px 5px}.gear{top:calc(12px + env(safe-area-inset-top));right:12px}.badge{top:calc(22px + env(safe-area-inset-top));text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 90px);right:70px;overflow:hidden}.room{top:calc(70px + env(safe-area-inset-top));width:auto;left:12px;right:12px}.solved-card{width:min(380px,92vw);min-width:0;padding:22px 20px}.solved-card h2{font-size:40px}.ranking .choices.pictures.small button{width:calc(25% - 7.5px)}.ready-card{padding:24px 20px 20px}.choices.pictures button{flex:none}.stage-options,.stage-preview,.ranking .stage-options{min-height:auto;overflow:visible}.stage{grid-template-rows:none;grid-auto-rows:auto}.stage-actions button{white-space:nowrap;font-size:16px}.solved-actions{flex-wrap:wrap}.solved-actions button{white-space:nowrap;flex:40%;padding:12px 10px}.solved-actions .primary{flex-basis:100%}}body:has(#ready:not([hidden])) :is(#tools,#hints,.progress){display:none}.friends-card{box-sizing:border-box;max-height:calc(100dvh - 32px);overflow-y:auto}.friends-card section{margin-bottom:20px}.friends-card .code-row .name-input{flex:1;min-width:0}.friends-card #friend-code{letter-spacing:.12em;min-width:0;font-size:22px}.friends-card .note{min-height:1.4em;color:var(--success,var(--good));margin:6px 0 0}.friends-card .note.error{color:var(--error)}.friend-code-row{align-items:center;gap:14px;display:flex}.friend-code{letter-spacing:.14em;color:var(--accent-text);font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;font-size:30px;font-weight:700}.friend-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.friend-list li{background:rgb(var(--fg-rgb) / .04);border-radius:10px;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex}.friend-list li span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.friend-list li small{color:var(--muted);letter-spacing:.08em}.friend-list li button{margin-left:auto;padding:6px 12px;font-size:13px}.friend-list li button.confirm{background:var(--danger)}.friend-list li button+button{margin-left:0}.friend-list li button.accept{background:var(--accent);color:#fff}.switch-row{background:rgb(var(--fg-rgb) / .04);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:10px 14px;font-size:14px;display:flex}.switch-row input{width:18px;height:18px;accent-color:var(--accent);flex:none}.friend-list li.empty{color:var(--muted);background:0 0;padding:4px 0;font-size:14px;display:block}.friends-card .code-row .name-input{letter-spacing:normal;text-transform:none;font-size:20px}.friends-card button,.friend-code{white-space:nowrap}@media (width<=820px){.friend-code{letter-spacing:.08em;font-size:24px}.friends-card #friend-code{letter-spacing:.06em;font-size:18px}}button.locked{position:relative}.choices button.locked:after{content:"";background:rgb(var(--scrim-rgb) / .82) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffd159' stroke-width='1.6'%3E%3Crect x='3.5' y='7' width='9' height='6.5' rx='1.2'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 015 0v2'/%3E%3C/svg%3E") center / 12px no-repeat;border-radius:6px;width:18px;height:18px;position:absolute;top:6px;right:6px}.choices button.locked:not(.chosen){color:var(--muted)}.stage-actions button.locked{background:var(--gold);color:var(--accent-ink)}.upsell-card{text-align:center;width:min(480px,92vw);padding:28px 32px 24px}.upsell-card h2{margin:0;font-size:28px}.upsell-card .seam{width:300px;max-width:100%;margin:6px auto 12px}.upsell-kicker{color:var(--gold);letter-spacing:.08em;margin:0 0 4px;font-weight:700}.upsell-why{color:var(--ink);margin:0 0 14px;font-weight:700}.upsell-list{text-align:left;gap:8px;margin:0 0 14px;padding:0;font-size:15px;list-style:none;display:grid}.upsell-list li{background:rgb(var(--fg-rgb) / .04);border-radius:10px;padding:9px 14px}.upsell-share{background:rgb(var(--gold-rgb) / .12);border-radius:10px;margin:0 0 10px;padding:12px 14px;font-size:14px;line-height:1.6}.upsell-soon{color:var(--muted);margin:0 0 16px;font-size:13px}.upsell-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dev-plan-row{color:var(--muted);align-items:center;gap:12px;margin:0 0 22px;font-size:14px;display:flex}.dev-plan-row button{padding:7px 12px;font-size:13px}.room-code-row{align-items:center;gap:10px;display:flex}.room-reveal{white-space:nowrap;flex:none;padding:6px 12px;font-size:13px}.host-tools{background:rgb(var(--fg-rgb) / .04);border-radius:12px;gap:10px;margin:14px 0 16px;padding:14px;display:grid}.host-tools h4{margin:0}.host-tools .wide{width:100%;padding:10px;font-size:14px}.switch{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.switch input{width:18px;height:18px;accent-color:var(--accent)}.words summary{cursor:pointer;color:var(--muted);font-size:13px}.words textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:var(--input);border:2px solid var(--surface-raised);resize:vertical;-webkit-user-select:text;user-select:text;border-radius:10px;margin:8px 0;padding:8px 10px;font-size:14px}.words button{padding:6px 14px;font-size:13px}.members .kick{white-space:nowrap;padding:3px 9px;font-size:12px}.members .kick.confirm{background:var(--danger)}.room.stream .room-invite{display:none}.room{max-height:calc(100dvh - 100px);overflow-y:auto}.contrib{width:240px;padding:12px 16px 14px;position:absolute;top:18px;left:18px}.contrib h4{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:500}.contrib ol{gap:5px;margin:0;padding:0;list-style:none;display:grid}.contrib li{grid-template-columns:16px 10px 1fr auto;align-items:center;gap:8px;font-size:15px;display:grid}.contrib li b{color:var(--muted);text-align:right;font-size:13px}.contrib li:first-child b{color:var(--gold)}.contrib li i{border-radius:50%;width:10px;height:10px}.contrib li span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.contrib li em{font-variant-numeric:tabular-nums;font-style:normal}.contrib li.empty{color:var(--muted);font-size:13px;display:block}.cursor.quiet span{display:none}.join-card{background:rgb(var(--scrim-rgb) / .6);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.join-card-inner{text-align:center;padding:30px 48px 26px;animation:.35s cubic-bezier(.2,.8,.2,1) arrive}.join-kicker{margin:0;font-size:26px;font-weight:700}.join-how{color:var(--muted);margin:4px 0 14px}.join-code{letter-spacing:.12em;color:var(--accent-text);font-size:clamp(56px,11vw,120px);font-weight:700;line-height:1.1}.join-url{margin:10px 0 18px;font-size:20px;font-weight:700}@media (width<=820px){.contrib{top:calc(70px + env(safe-area-inset-top));width:180px;padding:10px 12px;left:12px}.contrib li{font-size:13px}}.room{z-index:3}.join-card{z-index:4}@media (width<=820px){.upsell-card h2{font-size:22px}.upsell-card{padding:22px 18px 20px}}.choices.pictures button.weekly:after{content:var(--weekly-label,"");background:var(--gold);color:var(--accent-ink);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700;position:absolute;top:6px;right:6px}.choices.pictures button.weekly{position:relative}.touch{background:var(--surface-raised);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}@media (width>=821px){#stage-pictures button[data-picture]{width:calc(20% - 8px)}}.account-row{border-top:1px solid rgb(var(--fg-rgb) / .06);align-items:center;gap:12px;padding:10px 0;display:flex}.account-row>div{flex:1;gap:2px;display:grid}.account-row small{color:var(--muted);font-size:12px}.account-row small.error{color:var(--error)}.account-row button{white-space:nowrap;flex:none;padding:8px 14px;font-size:13px}.account-row button.confirm,#restore-go.confirm{background:var(--danger)}.account-row button.linked{background:rgb(var(--good-rgb) / .18);color:var(--good)}.recovery-box{background:rgb(var(--gold-rgb) / .1);border-radius:10px;margin:0 0 10px;padding:12px 14px}.recovery-code{letter-spacing:.08em;color:var(--gold);-webkit-user-select:text;user-select:text;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.recovery-box button{vertical-align:middle;margin-left:10px;padding:6px 12px;font-size:13px}.recovery-box p{margin:8px 0 0!important;font-size:12px!important}.restore{margin-top:6px}.restore summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:13px}.restore .code-row{margin-top:8px}.restore #restore-code{letter-spacing:.06em;min-width:0;font-size:18px}.theme-choice{margin-bottom:22px}.overline{letter-spacing:.38em;text-transform:uppercase;font-weight:700;color:var(--accent-text)!important;margin:0 0 8px!important;font-size:12px!important}h2{letter-spacing:.04em;font-weight:500}.panel{box-shadow:0 1px 2px rgb(var(--shadow-rgb) / calc(.12 * var(--shadow-k))), 0 12px 36px rgb(var(--shadow-rgb) / calc(.22 * var(--shadow-k)));border-radius:18px}button{border:1.5px solid rgb(var(--fg-rgb) / .16);background:0 0}button:hover:not(:disabled){background:rgb(var(--fg-rgb) / .05);border-color:rgb(var(--fg-rgb) / .3)}button.primary,button.chosen,button.primary:hover:not(:disabled),button.chosen:hover:not(:disabled){border-color:#0000}.tools button,.menu-links button,.menu-item,.gear,.badge,.room-close,.picture-view button{border:none}.menu-item{border-bottom:1px solid rgb(var(--fg-rgb) / .1)}.menu-item.continue{border-bottom:none}.tools button:hover:not(:disabled){background:rgb(var(--fg-rgb) / .06)}.gear,.badge{background:var(--surface);box-shadow:0 6px 20px rgb(var(--shadow-rgb) / calc(.25 * var(--shadow-k)))}.choices button:not([data-picture]){border-radius:999px;min-width:0;padding:9px 18px;font-size:15px}.choices button.chosen:not([data-picture]){background:var(--accent);color:var(--accent-ink)}.choices.pictures button,.choices.pictures button.chosen{background:0 0;border:2px solid #0000;border-radius:14px;padding:3px}.choices.pictures button:hover:not(:disabled){border-color:rgb(var(--fg-rgb) / .2);background:0 0}.choices.pictures button.chosen,.choices.pictures button.chosen:hover:not(:disabled){border-color:var(--accent)}.choices.pictures img{border-radius:10px}.stage{background:var(--bg-deep);-webkit-backdrop-filter:none;backdrop-filter:none}.stage-header h2{font-size:34px}.stage-sub{font-weight:700}.stage-header .seam{opacity:.5}.stage-options h4,.sheet h4,.ranking-board h4{color:var(--muted);letter-spacing:.12em;font-size:12px;font-weight:700}.stage-preview img{box-shadow:0 18px 44px rgb(var(--shadow-rgb) / calc(.28 * var(--shadow-k)));border-radius:14px}.stage-preview h3{font-weight:700}.stage-actions{border-top:1px solid rgb(var(--fg-rgb) / .08);padding-top:16px}.records li{border-bottom:1px solid rgb(var(--fg-rgb) / .08);background:0 0;border-radius:0}.records li.mine{background:rgb(var(--accent-rgb) / .1);border-radius:10px}.backdrop{animation:60s ease-in-out infinite alternate drift;inset:0 0 0 46%;transform:none}.duo{background:linear-gradient(90deg, var(--bg-deep) 0%, var(--bg-deep) 46%, rgb(var(--bg-deep-rgb) / .75) 56%, rgb(var(--bg-deep-rgb) / 0) 72%);place-items:normal;display:block}.duo-card,.friends-card{width:min(560px,100%);height:100dvh;max-height:none;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:56px 32px 40px clamp(28px,7vw,112px);overflow-y:auto}.duo-card h2{font-size:34px}.duo-card>.seam{width:320px;max-width:100%;margin:14px 0 8px}.duo-card section{border-top:1px solid rgb(var(--fg-rgb) / .1);margin:0;padding:20px 0}.duo-card section:first-of-type{border-top:none}.duo-card h4{font-size:16px}.duo-card footer{justify-content:flex-start;padding-top:8px}.name-input,.code-row input,.words textarea{background:var(--input);border:1.5px solid rgb(var(--fg-rgb) / .16)}.name-input:focus,.code-row input:focus{border-color:var(--accent)}.sheet-card h2,.ready-card h2,.upsell-card h2,.lost-card h2{font-weight:500}.solved-card h2{color:var(--accent-text);font-weight:700}.solved-card .seam path{stroke:var(--accent)}.upsell-list li,.friend-list li{border-bottom:1px solid rgb(var(--fg-rgb) / .08);background:0 0;border-radius:0}@media (width<=820px){.backdrop{opacity:.12;left:0}.duo{background:rgb(var(--bg-deep-rgb) / .9)}.duo-card,.friends-card{width:100%;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom))}.choices button:not([data-picture]){padding:9px 12px}}.perf-overlay{z-index:99;color:#7cf29c;pointer-events:none;white-space:pre;background:#000000b8;border-radius:6px;padding:4px 8px;font:12px/1.4 ui-monospace,Consolas,monospace;position:fixed;top:8px;left:8px}.loading{z-index:50;pointer-events:none;place-content:center;justify-items:center;gap:14px;animation:.3s both arrive;display:grid;position:fixed;inset:0}.loading p{color:var(--muted);letter-spacing:.12em;margin:0;font-size:14px}.loading-track{background:rgb(var(--fg-rgb) / .1);border-radius:2px;width:220px;height:4px;overflow:hidden}.loading-fill{background:var(--accent);border-radius:2px;width:0;height:100%;transition:width .2s}.vibrate-switch{color:var(--muted);margin:0 0 22px}.select-box{z-index:3;pointer-events:none;border:1.5px dashed var(--accent);background:rgb(var(--accent-rgb) / .1);border-radius:6px;position:fixed}.tray-layer{pointer-events:none;position:fixed;inset:0}.tray-tab{background:var(--tray);color:#1e222a;box-shadow:0 4px 12px rgb(var(--shadow-rgb) / calc(.25 * var(--shadow-k)));pointer-events:all;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px 10px 10px 2px;align-items:center;gap:4px;margin-top:-30px;padding:4px 4px 4px 7px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:0}.tray-tab:active{cursor:grabbing}.tray-grip{background-image:radial-gradient(circle,#1e222a73 1.1px,#0000 1.2px);background-position:0 1px;background-size:5px 5px;flex:none;width:10px;height:14px}.tray-name{width:7.5em;min-width:0;color:inherit;font:inherit;cursor:text;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px}.tray-name::placeholder{color:#1e222a99;font-weight:700}.tray-name:hover{border-color:#ffffff8c}.tray-name:focus{cursor:auto;background:#ffffff8c;border-color:#ffffffe6;outline:none}.tray-tab button{color:#1e222a;background:#fff6;border:none;border-radius:7px;width:22px;height:22px;padding:0;font-size:14px;line-height:1}.tray-tab button:hover:not(:disabled){background:#ffffffb3;border:none}.coach{pointer-events:all;width:min(440px,100% - 32px);padding:16px 20px;position:absolute;top:76px;left:50%;transform:translate(-50%)}.coach.step{animation:.35s cubic-bezier(.2,.8,.2,1) coach-in}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,8px)}}.coach-head{justify-content:space-between;align-items:center;display:flex}.coach-head .overline{margin:0!important}.coach-dots{gap:6px;display:flex}.coach-dots i{background:rgb(var(--fg-rgb) / .15);border-radius:50%;width:8px;height:8px}.coach-dots i.done{background:var(--accent)}.coach-dots i.now{background:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .3)}.coach h3{margin:8px 0 4px;font-size:20px}.coach p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.coach-skip{padding:5px 12px;font-size:12px;position:absolute;bottom:12px;right:12px}.coach p#coach-body{padding-right:80px}.coach-marker{border:4px solid var(--accent);width:84px;height:84px;box-shadow:0 0 0 6px rgb(var(--accent-rgb) / .25), 0 0 24px rgb(var(--accent-rgb) / .6);pointer-events:none;border-radius:50%;margin:-42px 0 0 -42px;animation:1.3s ease-in-out infinite coach-pulse;position:absolute;top:0;left:0}@keyframes coach-pulse{0%,to{opacity:1;scale:1}50%{opacity:.7;scale:1.14}}.sheet-tutorial{margin:0 0 22px;padding:8px 14px;font-size:13px}@media (width<=820px){.coach{top:calc(70px + env(safe-area-inset-top))}}.stage-credit{color:var(--muted);line-height:1.5;margin:2px 0 6px!important;font-size:12px!important}.stage-credit:empty{display:none}.choices.cuts button{align-items:center;gap:6px;display:inline-flex}.choices.cuts svg{fill:currentColor;opacity:.8;width:22px;height:22px;margin-left:-4px}.replay-bar{z-index:40;background:var(--surface);border-radius:18px 18px 0 0;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #0000001f}.replay-bar[hidden]{display:none}.replay-bar button{min-width:54px;padding:9px 14px;font-size:15px}.replay-track{background:rgb(var(--fg-rgb) / .12);cursor:pointer;border-radius:5px;flex:auto;height:10px}.replay-done{background:var(--accent);border-radius:5px;width:0;height:100%}.replay-clock{font-variant-numeric:tabular-nums;font-weight:700}.replay-cast{gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.replay-cast li:before{background:var(--who);content:"";border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}@media (width<=820px){.replay-bar{flex-wrap:wrap;gap:8px}.replay-cast{order:3;width:100%}}.shelf{max-width:100%;margin-bottom:20px}.shelf .genres{scrollbar-width:none;gap:6px;margin-bottom:10px;display:flex;overflow-x:auto}.shelf .genres::-webkit-scrollbar{display:none}.shelf .genres button{white-space:nowrap;border-radius:999px;flex:none;min-width:0;padding:6px 12px;font-size:13px}.shelf .genres button small{opacity:.6;margin-left:5px;font-size:11px}.shelf .genres button.chosen{border-color:var(--ink);background:var(--ink);color:var(--bg-deep)}.stage-options,.shelf{min-width:0}.shelf .choices.pictures{scrollbar-width:thin;align-content:flex-start;max-height:min(42vh,330px);padding:2px 4px 2px 2px;overflow-y:auto;margin:0!important}.ranking .shelf .choices.pictures{max-height:min(30vh,240px)}.choices.pictures button[hidden]{display:none}.choices.pictures button{position:relative}.choices.pictures img{background:rgb(var(--fg-rgb) / .06)}.choices.pictures .new{background:var(--accent);color:var(--accent-ink);letter-spacing:.06em;pointer-events:none;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:7px;left:7px}.choices.pictures .moves{pointer-events:none;background:#0000008c;border-radius:50%;width:20px;height:20px;position:absolute;bottom:7px;right:7px}.choices.pictures .moves:before{content:"";border:4px solid #0000;border-left:7px solid #fff;border-right-width:0;position:absolute;top:6px;left:8px}@media (width<=820px){.shelf .choices.pictures{max-height:52vh}}.stage-preview img{width:auto;max-width:100%;display:block}.shelf .genres{flex-wrap:wrap;overflow:visible}.shelf .genres button{flex:none;width:auto}.choices.modes button{text-align:left;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:2px;min-width:0;padding:10px 14px;display:flex}.choices.modes button b{font-size:14px}.choices.modes button small{color:inherit;opacity:.75;margin:0;font-size:11px;font-weight:500;line-height:1.35}.stage-actions .dev-samples{color:var(--muted);border-style:dashed;margin-right:auto;font-size:13px}@media (width>=821px){.stage.ranking{grid-template-columns:minmax(0,1fr) minmax(380px,560px)}.ranking .stage-options{flex-direction:column;display:flex;overflow:hidden}.ranking .shelf{flex-direction:column;flex:160px;min-height:0;margin-bottom:18px;display:flex}.ranking .shelf .choices.pictures{flex:auto;max-height:none}}.ranking-conditions{gap:14px;display:grid}.ranking-conditions .choices{margin-bottom:0!important}.ranking-conditions .pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ranking-conditions h4{margin-bottom:7px!important}.ranking-board{background:var(--surface);box-shadow:0 10px 34px rgb(var(--shadow-rgb) / calc(.16 * var(--shadow-k))), 0 0 0 1px rgb(var(--fg-rgb) / .06);border-radius:18px;padding:18px 20px 12px}.board-head{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:10px;display:grid}.board-head img{object-fit:cover;border-radius:8px;width:72px;height:54px}.board-what h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.board-what p{color:var(--muted);margin:2px 0 0;font-size:12px}.board-what .board-count{color:var(--accent-text);font-weight:700}.board-head .tabs{flex-wrap:nowrap;margin:0!important}.board-head .tabs button{min-width:0;padding:7px 14px;font-size:13px}.ranking-board .stage-hint{margin:0 0 12px;font-size:12px}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;margin:0 0 12px;padding:0;list-style:none;transition:opacity .2s;display:grid}.podium[hidden]{display:none}.podium.loading{opacity:.45}.podium li{background:rgb(var(--fg-rgb) / .04);text-align:center;border-radius:14px;align-content:end;justify-items:center;gap:2px;min-width:0;padding:12px 8px 10px;display:grid}.podium li[data-rank="1"]{background:rgb(var(--gold-rgb) / .14);order:2;padding-top:18px;padding-bottom:14px}.podium li[data-rank="2"]{order:1}.podium li[data-rank="3"]{order:3}.podium li.mine{box-shadow:inset 0 0 0 2px var(--accent)}.podium b{color:#fff;background:#b9c0cb;border-radius:50%;place-items:center;width:30px;height:30px;margin-bottom:4px;font-size:15px;display:grid}.podium li[data-rank="1"] b{background:var(--gold);width:36px;height:36px;font-size:18px}.podium li[data-rank="3"] b{background:#c98a5a}.podium span{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.podium time{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.podium li[data-rank="1"] time{font-size:20px}.podium small{color:var(--muted);font-size:11px}.ranking-board .records{flex:auto}.records li{grid-template-columns:34px minmax(0,1fr) auto auto}.records li small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.records li.gap,.records li.empty{grid-template-columns:none}.ranking .shelf .choices.pictures{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.ranking .shelf .choices.pictures button{width:auto}.ranking .shelf .choices.pictures button[hidden]{display:none}.ranking-board{overflow:hidden}.ranking-board .records{margin:0 -6px;padding:0 6px 6px}@media (width<=820px){.stage-actions:has(.dev-samples:not([hidden])){flex-wrap:wrap}.stage-actions .dev-samples{flex:1 0 100%;order:3;min-width:0;padding:6px;font-size:11px}.ranking-board,.ranking-board .records{overflow:visible}.ranking-conditions .pair{grid-template-columns:1fr;gap:14px}.ranking-board{min-height:auto}.board-head{grid-template-columns:64px minmax(0,1fr)}.board-head img{width:64px;height:48px}.board-head .tabs{grid-column:1/-1}.board-head .tabs button{flex:1 1 0}}@font-face{font-family:Jigsaw Round;src:url(../fonts/MPLUSRounded1c-ExtraBold.woff2)format("woff2");font-weight:100 850;font-display:swap}@font-face{font-family:Jigsaw Round;src:url(../fonts/MPLUSRounded1c-Black.woff2)format("woff2");font-weight:851 1000;font-display:swap}:root{--round:"Jigsaw Round", "M PLUS Rounded 1c", var(--font);--pop-orange:#ff8a5c;--pop-yellow:#f5b83d;--pop-green:#7bc86c;--pop-blue:#4ab3f2;--pop-purple:#a99bff;--paper:#fbfaf7;--edge:#e9e2d6;--edge-accent:#dd6636;--lift:0 3px 0 var(--edge), 0 12px 26px -12px #50321447;--lift-high:0 3px 0 var(--edge), 0 18px 40px -14px #50321452;--screen:var(--pop-orange)}:root[data-theme=dark]{--paper:#1c1a16;--edge:#0d0c0a;--edge-accent:#a8431f;--lift:0 3px 0 var(--edge), 0 12px 26px -12px #0009;--lift-high:0 3px 0 var(--edge), 0 18px 40px -14px #000000a6}body{background:var(--paper)}#stage{--screen:var(--pop-orange)}#duo-screen{--screen:var(--pop-blue)}#ranking{--screen:var(--pop-green)}#friends-screen{--screen:var(--pop-yellow)}.sheet{--screen:var(--pop-purple)}.scatter{background:var(--paper);pointer-events:none;position:fixed;inset:0;overflow:hidden}.scatter[hidden]{display:none}.scatter>*{will-change:transform;display:block;position:absolute;top:0;left:0}.scatter-outline svg{width:100%;height:100%;display:block;overflow:visible}.scatter-outline path{fill:none;stroke:rgb(var(--fg-rgb) / .13);stroke-width:2px;stroke-dasharray:5 6}.title,.stage,.duo{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}h1,h2,h3,.stage-header h2,.duo-card h2,.sheet-card h2,.ready-card h2,.upsell-card h2,.lost-card h2,.solved-card h2,.coach h3{font-family:var(--round);letter-spacing:.02em;font-weight:900!important}.overline{font-family:var(--round);align-items:center;gap:8px;display:flex;color:var(--muted)!important;letter-spacing:.32em!important;font-weight:800!important}.overline-piece{background:var(--screen);width:22px;height:22px;-webkit-mask:var(--piece-mask) center / contain no-repeat;-webkit-mask:var(--piece-mask) center / contain no-repeat;mask:var(--piece-mask) center / contain no-repeat;flex:none;display:block;transform:rotate(-12deg)}.stage-sub{font-family:var(--round);filter:brightness(.9);color:var(--screen)!important;font-weight:800!important}.stage-options h4,.sheet h4,.ranking-board h4,.duo-card h4{font-family:var(--round);font-weight:800!important}button{font-family:var(--round);background:var(--surface);box-shadow:0 2px 0 var(--edge), 0 0 0 1px rgb(var(--fg-rgb) / .07);font-weight:800;transition:transform .16s cubic-bezier(.3,1.5,.5,1),box-shadow .16s,background .15s;border-color:#0000!important}button:hover:not(:disabled){background:var(--surface);box-shadow:0 3px 0 var(--edge), 0 0 0 1px rgb(var(--fg-rgb) / .09), 0 8px 18px -8px #50321440;transform:translateY(-1px)}button:active:not(:disabled){box-shadow:0 0 0 var(--edge), 0 0 0 1px rgb(var(--fg-rgb) / .09);transform:translateY(2px)}button.primary,button.chosen{box-shadow:0 2px 0 var(--edge-accent);background:var(--accent)!important;color:#fff!important}button.primary:hover:not(:disabled),button.chosen:hover:not(:disabled){box-shadow:0 3px 0 var(--edge-accent), 0 8px 18px -8px #ff6e3c73;background:var(--accent-hover)!important}button.primary small,button.chosen small{color:#ffffffd9!important}.tools button,.picture-view button,.room-close,.tray-layer button{box-shadow:none!important}.tools button:hover:not(:disabled){transform:none}.choices button:not([data-picture]){border-radius:999px}.choices.modes button{border-radius:14px}.choices.pictures button,.choices.pictures button:hover:not(:disabled),.choices.pictures button.chosen{transform:none;box-shadow:none!important;background:0 0!important}.choices.pictures button:hover:not(:disabled) img{transform:translateY(-2px)rotate(-1deg)}.choices.pictures img{transition:transform .2s cubic-bezier(.3,1.5,.5,1)}.panel,.sheet-card,.ready-card,.upsell-card,.lost-card,.solved-card,.ranking-board{box-shadow:var(--lift-high);border-radius:22px}.name-input,.code-row input,.words textarea{font-family:var(--round);border-radius:12px;font-weight:800}.title{grid-template-columns:minmax(0,1.15fr) minmax(0,440px);align-items:center;gap:72px;max-width:1240px;margin:0 auto;padding:36px 72px;display:grid;overflow:hidden}.title-logo{margin:0}.title-logo svg{width:100%;max-width:500px;display:block;overflow:visible}#title-logo text{fill:#fff;font:900 92px var(--round);pointer-events:none}.title-latin{color:var(--muted);font:800 14px var(--round);letter-spacing:.5em;margin:14px 0 0 4px}.tagline{color:var(--muted);letter-spacing:.02em;margin:12px 0 0 4px;font-size:18px;font-weight:500}.title-chips{flex-wrap:wrap;gap:8px;margin:22px 0 0 2px;display:flex}.title-chips span{background:var(--surface);box-shadow:0 1px 0 var(--edge), 0 0 0 1px rgb(var(--fg-rgb) / .06);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.title .menu{gap:12px;width:auto;display:grid}.ticket{box-shadow:var(--lift);text-align:left;transform:rotate(var(--tilt,0deg));border-radius:14px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:13px 18px;transition:transform .22s cubic-bezier(.3,1.5,.5,1),opacity .4s,box-shadow .2s;display:grid}.ticket[hidden]{display:none}.ticket:nth-child(odd){--tilt:-.8deg}.ticket:nth-child(2n){--tilt:.7deg}.ticket:hover:not(:disabled){box-shadow:var(--lift-high);transform:translate(8px)scale(1.02)}.ticket:active:not(:disabled){transform:translate(8px)scale(.99)translateY(2px)}.ticket.primary{box-shadow:0 3px 0 var(--edge-accent), 0 12px 26px -10px #ff6e3c80}.ticket.primary:hover:not(:disabled){box-shadow:0 3px 0 var(--edge-accent), 0 18px 34px -12px #ff6e3c8c}.ticket-piece{width:44px;height:44px;transition:transform .3s cubic-bezier(.3,1.6,.5,1);overflow:visible}.ticket:hover .ticket-piece{transform:rotate(-18deg)translateY(-4px)scale(1.12)}.ticket b{font:900 19px var(--round);display:block}.ticket small{color:var(--muted);font-family:var(--font);margin:2px 0 0;font-size:12px;font-weight:500;display:block}.ticket .go{color:var(--accent);font-size:20px;font-weight:900}.ticket.primary .go{color:#ffffffe6}.title .menu-links{flex-wrap:wrap;gap:8px;margin:4px 0 0 2px;display:flex}.title .menu-links button{background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font-size:12px}.title.intro .ticket,.title.intro .menu-links,.title.intro .title-latin,.title.intro .tagline,.title.intro .title-chips{opacity:0;transform:translate(-16px)}.title .menu>:nth-child(2){transition-delay:60ms}.title .menu>:nth-child(3){transition-delay:.12s}.title .menu>:nth-child(4){transition-delay:.18s}.title .menu>:nth-child(5){transition-delay:.24s}.title .menu>:nth-child(6){transition-delay:.3s}.title-latin,.tagline,.title-chips,.title .menu-links{transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s}.ticket:hover{transition-delay:0s!important}.passing .screen,.screen.leaving{pointer-events:none}.held{visibility:hidden!important}.passage{pointer-events:none;position:fixed;inset:0}.passage-plate{position:fixed;inset:0}.passage-plate>div{transform-origin:0 0;position:absolute;top:0;left:0}.passage-plate-middle{box-shadow:0 12px 26px -12px #50321447}.passage-name{white-space:nowrap;transform-origin:0 0;margin:0;position:fixed}.passage-name>span+span,.passage-piece>svg+svg{position:absolute;top:0;left:0}.passage-piece svg{width:100%;height:100%;display:block;overflow:visible}.passage-piece{transform-origin:50%;filter:drop-shadow(0 8px 10px #0000002e);position:fixed;overflow:visible}.duo:not([hidden]){place-items:center;display:grid}.duo{padding:24px;overflow-y:auto}.duo-card,.friends-card{background:var(--surface);width:min(600px,100%);height:auto;max-height:calc(100dvh - 48px);box-shadow:var(--lift-high);border-radius:24px;margin:0;padding:30px 36px 26px;overflow-y:auto}.duo-card>.seam{width:100%}.stage-preview h3{font-family:var(--round)}.stage-actions{border-top:none}.solved-card h2{color:var(--accent-text)}.progress b,.progress .percent{font-family:var(--round)}@media (width<=820px){.scatter>*{opacity:.45}.title{max-width:none;padding:calc(28px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));grid-template-columns:1fr;align-content:start;gap:26px;overflow-y:auto}.title-name{text-align:center}.title-logo svg{max-width:100%}.title-chips{justify-content:center}.tagline{font-size:15px}.duo{padding:12px}.duo:not([hidden]){place-items:start center}.duo-card,.friends-card{max-height:none;padding:24px 20px 22px}}.shelf .genres button.chosen{background:var(--ink)!important;color:var(--bg-deep)!important;box-shadow:0 2px #00000059!important}.choices.pictures button.chosen img{outline:3px solid var(--accent);outline-offset:2px}.daily-what{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:16px;margin:4px 0 22px;display:grid}.daily-what img{aspect-ratio:4/3;object-fit:cover;width:148px;box-shadow:var(--lift);border-radius:12px}.daily-what h3{margin:0 0 4px;font-size:22px}.daily-what p{color:var(--muted);margin:0;font-size:13px}.daily-what .daily-date{margin-top:6px;font-size:12px}.daily-card .tabs{margin-bottom:10px}.daily-card .records{max-height:210px;margin-bottom:4px;overflow-y:auto}.daily-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.daily-actions #daily-back{margin-right:auto}@media (width<=820px){.daily-what{grid-template-columns:110px minmax(0,1fr)}.daily-what img{width:110px}.daily-actions button{flex:auto}}body.overlay-only{background:0 0}body.overlay-only>:not(.overlay){display:none!important}.overlay{width:420px;color:var(--ink);background:#ffffffeb;border-radius:20px;align-items:center;gap:14px;padding:16px 18px 14px;transition:opacity .4s;display:flex;position:fixed;top:24px;left:24px;box-shadow:0 3px #0000001f,0 18px 40px -12px #1e140a73}.overlay.lost{opacity:.35}.overlay.solved .overlay-percent{color:var(--accent-text)}.overlay-main{flex:1;min-width:0}.overlay-head{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.overlay-progress{align-items:center;gap:10px;margin:11px 0 0;display:flex}.overlay-head img{object-fit:cover;border-radius:8px;width:64px;height:48px}.overlay-what h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.overlay-what p{color:var(--muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:12px}.overlay-percent{text-align:right;min-width:2.6em;font:900 24px var(--round);font-variant-numeric:tabular-nums;flex:none}.overlay-track{background:rgb(var(--fg-rgb) / .1);border-radius:999px;flex:1;height:8px;overflow:hidden}.overlay-track i{background:var(--accent);border-radius:999px;width:0;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.overlay-tally ol{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.overlay-tally li{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.overlay-tally li b{color:var(--muted);text-align:right;font-size:12px}.overlay-tally li span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.overlay-tally li small{color:var(--accent-text);font-variant-numeric:tabular-nums;font-weight:700}.overlay-join{color:var(--muted);margin:10px 0 0;font-size:12px}.overlay-join b{color:var(--ink);font:900 18px var(--round);letter-spacing:.14em;margin-left:6px}.join-with{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(16px,4vw,48px);display:grid}.join-qr{width:clamp(120px,18vw,220px)}.join-qr svg,.overlay-qr svg{border-radius:8px;width:100%;height:auto;display:block}.join-scan{color:var(--muted);margin:14px 0 0;font-size:clamp(13px,1.6vw,18px)}.overlay-qr{flex:none;width:84px}.overlay{position:fixed}@media (width<=820px){.join-with{grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px}.join-qr{width:160px}}.overlay-facts{flex-wrap:wrap;gap:4px 10px;display:flex}.overlay-facts span+span:before{content:"·";opacity:.6;margin-right:10px}.stamps{pointer-events:all;align-items:center;gap:8px;display:flex;position:absolute;bottom:86px;left:20px}.stamps-open{background:var(--surface);width:46px;height:46px;box-shadow:var(--lift);border-radius:50%;padding:0;font-size:22px;line-height:1}.stamps-row{opacity:0;gap:6px;max-width:0;transition:max-width .3s cubic-bezier(.2,.8,.2,1),opacity .25s;display:flex;overflow:hidden}.stamps.open .stamps-row{opacity:1;max-width:420px}.stamps-row button{background:var(--surface);width:42px;height:42px;box-shadow:var(--lift);border-radius:50%;padding:0;font-size:20px;line-height:1}.stamps-row button:hover{transform:translateY(-3px)scale(1.08)}#stamp-layer{pointer-events:none;position:fixed;inset:0}.stamp{justify-items:center;font-size:34px;animation:2.4s cubic-bezier(.2,.7,.3,1) forwards stamp-up;display:grid;position:absolute;transform:translate(-50%,-50%)}.stamp small{background:var(--stamp-colour,var(--accent));color:#1f1712;font:700 11px var(--font);white-space:nowrap;border-radius:999px;margin-top:2px;padding:1px 8px}@keyframes stamp-up{0%{opacity:0;transform:translate(-50%,-20%)scale(.6)}12%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-180%)scale(1)}}@media (width<=820px){.stamps{bottom:132px;left:12px}.stamps-open{width:40px;height:40px;font-size:19px}.stamps.open .stamps-row{flex-wrap:wrap;max-width:210px}}#install{margin-bottom:12px}.install-how{color:var(--muted);margin:-4px 0 16px;font-size:12px;line-height:1.6}.friend-rooms{gap:8px;margin-bottom:4px;display:grid}.friend-room{grid-template-columns:56px minmax(0,1fr) auto;padding:8px 14px 8px 8px;background:rgb(var(--good-rgb) / .12)!important;box-shadow:0 2px 0 rgb(var(--good-rgb) / .35), 0 10px 22px -12px #1e5a3280!important}.friend-room img{object-fit:cover;border-radius:8px;width:56px;height:42px}.friend-room b{font:900 15px var(--round);display:block}.friend-room small{color:var(--muted);font-family:var(--font);margin-top:1px;font-size:11px;font-weight:500;display:block}.friend-room .go{color:var(--good);font:900 14px var(--round)}.friend-list .playing{background:rgb(var(--good-rgb) / .16);box-shadow:0 2px 0 rgb(var(--good-rgb) / .3);color:var(--good);font:800 11px var(--round);border-radius:999px;margin-left:10px;padding:3px 10px}#me-name-first{margin-top:12px}#me-name-first .note{margin-bottom:0}.sheet-note{color:var(--muted);margin:-2px 0 8px;font-size:12px;line-height:1.6}.sheet-card .account{border-top:1px solid rgb(var(--fg-rgb) / .1);margin-top:26px;padding-top:20px}.sheet-card>.account>p,.sheet-card>.account .account-row,.sheet-card>.account .recovery-box,.sheet-card>.account details{max-width:620px}.sheet-card .account p{color:var(--muted);font-size:12px;line-height:1.6}.sheet-card .account .account-row{gap:10px}.sheet-card .restore summary{font-size:13px}.sheet-card .account h4{margin-top:26px}.sheet-card .account .account-row b{font-size:14px}.sheet-card .account .account-row small{font-size:11px}.sheet-card .account .recovery-code{font-size:15px}.sheet-card .account details{margin-top:12px}.sheet-card section>h4{margin-top:24px}.sheet-card section>:first-child,.sheet-card section>h4:first-of-type{margin-top:0}
