:root{--bg: #f7f7f7;--surface: #ffffff;--surface-sunken: #eeeeee;--ink: #0c0c0c;--ink-soft: #4a4a4a;--ink-mute: #8a8a8a;--line: #e2e2e2;--line-strong: #c9c9c9;--accent: #0c0c0c;--accent-press: #333333;--accent-tint: #ededed;--on-accent: #ffffff;--correct: #1f7a3d;--correct-tint: #e9f3ec;--wrong: #b3261e;--wrong-tint: #f8e9e8;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .09);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .13);--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--tap: 48px;--page: 1120px;--header-h: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit}h1,h2,h3{margin:0;letter-spacing:-.025em}.site{min-height:100dvh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:30;background:#f7f7f7db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--page);margin:0 auto;padding:0 20px;height:var(--header-h);display:flex;align-items:center;gap:18px}.wordmark{font-size:26px;font-weight:800;letter-spacing:-.035em;background:none;border:none;padding:0;flex:none}.wordmark .dot{color:var(--accent)}.nav{display:flex;align-items:center;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-tab{position:relative;background:none;border:none;min-height:44px;padding:10px 14px;border-radius:var(--r-md);font-size:15px;font-weight:600;color:var(--ink-mute);white-space:nowrap;transition:color .16s var(--ease),background-color .16s var(--ease)}.nav-tab:hover{color:var(--ink);background:var(--surface-sunken)}.nav-tab.is-on{color:var(--on-accent);background:var(--accent)}.nav-dot{display:inline-block;width:6px;height:6px;border-radius:var(--r-full);background:var(--accent);margin-left:6px;vertical-align:middle}.site-main{flex:1;width:100%;max-width:var(--page);margin:0 auto;padding:28px 20px calc(48px + env(safe-area-inset-bottom))}.site-footer{border-top:1px solid var(--line);padding:20px;text-align:center;font-size:13px;color:var(--ink-mute)}.site-footer a{color:var(--ink-soft)}.page{animation:page-in .3s var(--ease-out) both}.page.is-leaving{animation:page-out .16s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}}@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}.page-head{margin-bottom:22px}.page-title{font-size:clamp(28px,4vw,38px);font-weight:800}.page-sub{color:var(--ink-mute);margin-top:6px;font-size:15.5px;max-width:60ch}.section-title{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute);margin:30px 0 12px}.btn{min-height:var(--tap);border:1px solid transparent;border-radius:var(--r-md);padding:12px 22px;font-weight:600;font-size:16px;background:var(--surface-sunken);color:var(--ink);transition:transform .12s var(--ease),background-color .16s var(--ease),border-color .16s var(--ease),opacity .16s var(--ease)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-press)}.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){border-color:var(--ink-mute);color:var(--ink);background:var(--surface)}.btn-block{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn-row>*{flex:1;min-width:140px}.back{width:44px;height:44px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-full);display:grid;place-items:center;font-size:18px;color:var(--ink-soft);transition:background-color .16s var(--ease),transform .12s var(--ease)}.back:hover{background:var(--surface-sunken)}.back:active{transform:scale(.94)}.segmented{display:inline-flex;background:var(--surface-sunken);border-radius:var(--r-full);padding:4px;gap:4px}.segment{border:none;background:none;border-radius:var(--r-full);padding:10px 22px;font-weight:600;font-size:15px;color:var(--ink-mute);min-height:44px;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.segment.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.chooser-main{display:grid;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);align-items:start}@media(max-width:900px){.chooser-main{grid-template-columns:minmax(0,1fr)}}.type-picker{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);min-width:0}.type-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;text-align:left;padding:22px 150px 22px 24px;min-height:124px;min-width:0;border-radius:var(--r-lg);border:2px solid var(--line);background:var(--surface);transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .16s var(--ease),box-shadow .2s var(--ease)}.card-art{position:absolute;inset:0 0 0 auto;width:190px;display:block;pointer-events:none;overflow:hidden;contain:paint;-webkit-mask-image:linear-gradient(to left,#000 40%,transparent 100%);mask-image:linear-gradient(to left,#000 40%,transparent 100%)}.card-art-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:blur(13px) saturate(.85);opacity:.34;transform:scale(1.25);transition:filter .48s var(--ease),opacity .48s var(--ease),transform .48s var(--ease)}.type-card:hover:not(:disabled) .card-art-photo img{filter:blur(3.5px) saturate(1);opacity:.5;transform:scale(1.12)}.card-art-wave{display:grid;place-items:center}.card-art-wave svg{width:74%;height:58px}.card-art-wave rect{fill:var(--accent);opacity:.3;transform-origin:center;transition:transform .32s var(--ease),opacity .32s var(--ease);transition-delay:calc(var(--i) * 18ms)}.type-card:hover:not(:disabled) .card-art-wave rect{opacity:.45;transform:scaleY(1.35)}.card-art-record{display:grid;place-items:center}.card-art-record svg{width:92px;height:92px;opacity:.32;transition:opacity .32s var(--ease),transform .9s var(--ease)}.card-art-record .disc{fill:var(--ink);opacity:.9}.card-art-record .groove{fill:none;stroke:var(--surface);stroke-width:1;opacity:.35}.card-art-record .label{fill:var(--accent)}.card-art-record .spindle{fill:var(--surface)}.type-card:hover:not(:disabled) .card-art-record svg{opacity:.44;transform:rotate(120deg)}@media(prefers-reduced-motion:reduce){.card-art-record svg,.card-art-wave rect,.card-art-photo img{transition:none}.type-card:hover:not(:disabled) .card-art-record svg{transform:none}.type-card:hover:not(:disabled) .card-art-wave rect{transform:none}}.type-card:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.type-card.is-on{border-color:var(--accent);background:var(--accent-tint)}.type-card:disabled{opacity:.45;cursor:not-allowed}.type-icon{font-size:26px;line-height:1}.type-name{font-size:23px;font-weight:800;letter-spacing:-.03em}.type-tag{font-size:14.5px;color:var(--ink-mute);line-height:1.35;max-width:34ch}.ask{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:14px}.ask-prompt{font-size:25px;font-weight:800;letter-spacing:-.03em}.ask-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.ask-worth{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--accent-press)}.chooser{display:flex;flex-direction:column;justify-content:center;gap:26px;padding-bottom:8px}.teaser{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface)}.teaser-clue{width:100%;max-width:236px}@media(max-width:560px){.type-card{padding:18px 104px 18px 18px;min-height:108px}.card-art{width:128px}.type-name{font-size:20px}.type-tag{font-size:13.5px}.teaser{gap:10px}.teaser-clue{max-width:208px}.chooser{gap:18px}}.teaser-play,.teaser-solved{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.teaser-play .guess{width:100%}.teaser-note{font-size:13.5px;color:var(--ink-mute);text-align:center;margin:0}.teaser-answer{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0;text-align:center}.teaser-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.daily-types{display:flex;flex-wrap:wrap;gap:8px}.daily-type-pill{padding:6px 14px;border-radius:var(--r-full);background:var(--surface-sunken);font-size:13.5px;font-weight:600}.packs-drawer{margin-top:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.packs-drawer>summary{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;min-height:var(--tap)}.packs-drawer>summary::-webkit-details-marker{display:none}.packs-drawer-title{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute)}.packs-drawer-meta{margin-left:auto;font-size:14px;color:var(--ink-soft)}.packs-drawer>summary:after{content:"▾";color:var(--ink-mute);transition:transform .2s var(--ease)}.packs-drawer[open]>summary:after{transform:rotate(180deg)}.packs-drawer-body{padding:0 20px 20px}.daily-strip{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:14px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .16s var(--ease)}.daily-strip:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.daily-strip-main{display:flex;flex-direction:column;gap:2px;min-width:0}.daily-strip-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.daily-strip-state{font-size:15.5px;font-weight:600}.daily-strip-meta{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:13px;color:var(--ink-soft);white-space:nowrap}.daily-strip-streak{font-weight:700;color:var(--ink)}.daily-strip-clock{font-variant-numeric:tabular-nums;color:var(--ink-mute)}.daily-strip-go{font-size:18px;color:var(--ink-mute);transition:transform .2s var(--ease)}.daily-strip:hover .daily-strip-go{transform:translate(3px)}@media(max-width:560px){.daily-strip{gap:10px;padding:12px 14px}.daily-strip-meta{flex-direction:column;align-items:flex-end;gap:2px;font-size:12px}.daily-strip-go{display:none}}.chooser-head{text-align:center}.chooser-mark{font-size:clamp(54px,10vw,84px);font-weight:800;letter-spacing:-.045em;line-height:1}.chooser-mark .dot{color:var(--accent)}.chooser-slogan{margin:8px auto 0;font-size:clamp(18px,2.8vw,24px);font-weight:600;letter-spacing:-.015em;color:var(--ink-mute)}.type-count{margin-top:auto;padding-top:8px;font-size:12.5px;font-weight:600;color:var(--accent-press)}.round-clock{display:flex;align-items:center;gap:10px;margin-top:12px}.round-clock-track{flex:1;height:5px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:hidden}.round-clock-fill{height:100%;border-radius:var(--r-full);background:var(--accent);transition:width 1s linear,background-color .4s var(--ease)}.round-clock-fill.is-low{background:var(--wrong)}.round-clock-num{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-mute);min-width:32px;text-align:right}.round-clock-num.is-low{color:var(--wrong)}.round-clock.is-waiting{opacity:.55}.round-clock.is-waiting .round-clock-num{min-width:52px;font-weight:600}.nav-avatar{width:38px;height:38px;margin-left:6px;flex:none;border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:700;color:var(--ink-soft);display:grid;place-items:center;transition:border-color .16s var(--ease),background-color .16s var(--ease)}.nav-avatar:hover,.nav-avatar.is-on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-press)}.notice{background:var(--surface-sunken);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:14px 16px;font-size:14px;color:var(--ink-soft);line-height:1.5}.form-error{background:var(--wrong-tint);color:var(--wrong);border-radius:var(--r-md);padding:10px 14px;font-size:14px;font-weight:600}.divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--ink-mute);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.daily-card{padding:24px}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);transition:transform .16s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.mode-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mode-card:active:not(:disabled){transform:scale(.99)}.mode-card:disabled{opacity:.55;cursor:default}.mode-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent-tint);font-size:22px}.mode-name{font-size:18px;font-weight:700;letter-spacing:-.02em}.mode-desc{font-size:14px;color:var(--ink-mute);line-height:1.4}.mode-foot{margin-top:auto;padding-top:6px;font-size:13px;color:var(--accent);font-weight:600}.pill{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);background:var(--surface-sunken);border-radius:var(--r-full);padding:3px 9px}.pill-on{background:var(--accent-tint);color:var(--accent-press)}.pill-done{background:var(--correct-tint);color:var(--correct)}.pack-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.pack-card{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;transition:border-color .18s var(--ease),background-color .18s var(--ease),transform .14s var(--ease)}.pack-card:active{transform:scale(.99)}.pack-card.is-on{border-color:var(--accent);background:var(--accent-tint)}.pack-check{width:24px;height:24px;flex:none;border-radius:var(--r-full);border:1.5px solid var(--line-strong);display:grid;place-items:center;color:var(--on-accent);font-size:13px;transition:background-color .18s var(--ease),border-color .18s var(--ease)}.pack-card.is-on .pack-check{background:var(--accent);border-color:var(--accent)}.pack-meta{font-size:13px;color:var(--ink-mute)}.pack-cover{display:flex;gap:3px;height:92px;border-radius:var(--r-md);overflow:hidden;background:var(--surface-sunken);margin-bottom:12px}.pack-cover-tile{flex:1;background-size:cover;background-position:center 22%;filter:blur(5px) saturate(1.05);transform:scale(1.15)}.pack-cover.is-audio{display:grid;place-items:center;font-size:34px;background:var(--accent-tint)}.pack-cover.is-song{background:#f3eef7}.sticky-foot{position:sticky;bottom:0;padding:14px 0 calc(8px + env(safe-area-inset-bottom));margin-top:18px;background:linear-gradient(to top,var(--bg) 65%,transparent);display:flex;gap:10px;align-items:center}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}.switch{width:46px;height:27px;flex:none;border-radius:var(--r-full);background:var(--line-strong);border:none;padding:3px;display:flex;transition:background-color .22s var(--ease)}.switch.is-on{background:var(--accent)}.switch .knob{width:21px;height:21px;border-radius:var(--r-full);background:#fff;box-shadow:var(--shadow-sm);transition:transform .22s var(--ease-out)}.switch.is-on .knob{transform:translate(19px)}.play{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:880px){.play{grid-template-columns:minmax(0,1.6fr) minmax(330px,.72fr);gap:32px}.play-side{position:sticky;top:calc(var(--header-h) + 20px)}}.site-main:has(.play){max-width:1560px}.site-main:has(.play) .picture-stage{max-height:calc(100dvh - var(--header-h) - 130px);aspect-ratio:1 / 1;margin-inline:auto;width:auto;max-width:100%}.site-main:has(.play) .voice-stage{min-height:min(52vh,460px)}.round-swap>*:first-child{animation:clue-in .42s var(--ease-out) both}.round-swap>.play-side{animation:side-in .42s var(--ease-out) 80ms both}@keyframes clue-in{0%{opacity:0;transform:translateY(14px) scale(.985)}}@keyframes side-in{0%{opacity:0;transform:translateY(10px)}}.hud{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.hud-stat{display:flex;flex-direction:column;line-height:1.1}.hud-stat .num{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.hud-stat .cap{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute)}.hud-spacer{flex:1}.lives{display:flex;gap:5px}.life{width:10px;height:10px;border-radius:var(--r-full);background:var(--accent);transition:background-color .3s var(--ease),transform .3s var(--ease)}.life.is-lost{background:var(--line-strong);transform:scale(.72)}.streak-flame{color:var(--accent);font-weight:700;font-size:16px}.timer{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;letter-spacing:-.03em;transition:color .3s var(--ease)}.timer.is-low{color:var(--wrong);animation:tick 1s steps(2) infinite}@keyframes tick{50%{opacity:.55}}.progress-track{height:4px;border-radius:var(--r-full);background:var(--line);overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .4s var(--ease-out)}.stage{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .26s var(--ease),border-color .26s var(--ease)}.stage.is-correct{border-color:var(--correct)}.stage.is-wrong{border-color:var(--wrong)}.picture-stage{aspect-ratio:1 / 1;width:100%;display:block;background:var(--surface-sunken)}.picture-stage canvas{width:100%;height:100%;display:block;object-fit:cover}.stage-badges{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:8px;pointer-events:none}.stage-badges.is-static{position:static;margin-bottom:2px}.badge{background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--r-full);padding:5px 11px;font-size:11.5px;font-weight:600;color:var(--ink-soft);box-shadow:var(--shadow-sm)}.stage-badges.is-static .badge{background:var(--surface-sunken);box-shadow:none}.reveal-dots{display:flex;gap:4px;margin-left:auto}.reveal-dot{width:20px;height:4px;border-radius:var(--r-full);background:#0003;transition:background-color .3s var(--ease)}.reveal-dot.is-on{background:var(--accent)}.voice-stage{padding:20px 22px 24px;display:flex;flex-direction:column;align-items:center;gap:18px;min-height:320px;justify-content:center}.voice-stage .stage-badges{width:100%}.play-btn{width:92px;height:92px;border-radius:var(--r-full);border:none;background:var(--accent);color:var(--on-accent);font-size:32px;display:grid;place-items:center;box-shadow:0 6px 18px #2a9d8f47;transition:transform .16s var(--ease),background-color .16s var(--ease)}.play-btn:hover:not(:disabled){background:var(--accent-press)}.play-btn:active:not(:disabled){transform:scale(.94)}.play-btn:disabled{background:var(--line-strong);box-shadow:none}.play-btn.is-playing{animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{0%,to{box-shadow:0 6px 18px #2a9d8f47}50%{box-shadow:0 6px 26px #2a9d8f6b}}.waveform{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:64px}.wave-bar{flex:1;max-width:6px;border-radius:var(--r-full);background:var(--line-strong);transition:background-color .24s var(--ease),transform .24s var(--ease);transform-origin:center}.wave-bar.is-audible{background:var(--accent)}.wave-bar.is-played{background:var(--accent-press)}.clip-length{font-size:13.5px;color:var(--ink-mute);font-variant-numeric:tabular-nums}.song-stage{padding:26px 22px 24px;display:flex;flex-direction:column;align-items:center;gap:22px;min-height:320px;justify-content:center;background:linear-gradient(160deg,#f7f4fa 0%,var(--surface) 55%)}.song-stage .stage-badges{width:100%}.record{position:relative;width:216px;height:216px;border-radius:var(--r-full);border:none;padding:0;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.16) 0%,transparent 42%),radial-gradient(circle at 50% 50%,#23222a,#131217 60%,#060608);box-shadow:0 18px 44px #00000057,inset 0 0 0 1px #ffffff12;display:grid;place-items:center;transition:transform .22s var(--ease),box-shadow .24s var(--ease)}.record:after{content:"";position:absolute;inset:0;border-radius:var(--r-full);background:conic-gradient(from 210deg,transparent 0deg,rgba(255,255,255,.11) 26deg,transparent 62deg,transparent 180deg,rgba(255,255,255,.07) 208deg,transparent 250deg);pointer-events:none}.record:hover:not(:disabled){transform:scale(1.03);box-shadow:0 22px 52px #0006,inset 0 0 0 1px #ffffff1f}.record:active:not(:disabled){transform:scale(.97)}.record:disabled{background:radial-gradient(circle at 50% 50%,#cfcbc4,#b9b5ad 70%);box-shadow:none;cursor:not-allowed}.record-grooves{position:absolute;inset:12px;border-radius:var(--r-full);background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.07) 0px,rgba(255,255,255,.07) 1px,transparent 1px,transparent 4px);-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 30%,#000 38%);mask-image:radial-gradient(circle at 50% 50%,transparent 30%,#000 38%)}.record-label{position:relative;z-index:1;width:82px;height:82px;border-radius:var(--r-full);background:linear-gradient(160deg,#f6f6f6,#dcdcdc);color:var(--ink);font-size:26px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #00000024,0 2px 6px #0000004d}.record-label:after{content:"";position:absolute;width:9px;height:9px;border-radius:var(--r-full);background:#0b0b0b;opacity:.85;transform:translateY(20px)}.record.is-spinning{animation:spin-record 2.4s linear infinite}.record.is-spinning .record-label{animation:spin-record 2.4s linear infinite reverse}@keyframes spin-record{to{transform:rotate(360deg)}}.snippet-meter{position:relative;width:100%;max-width:320px;height:12px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:hidden}.snippet-meter-unlocked{position:relative;height:100%;border-radius:var(--r-full);background:#0c0c0c33;transition:width .42s var(--ease-out)}.snippet-meter-played{height:100%;border-radius:var(--r-full);background:var(--accent)}.snippet-tick{position:absolute;top:0;width:2px;height:100%;background:var(--surface);opacity:.9}.clip-more{color:var(--accent);font-weight:600}.guess{position:relative}.guess-field{display:flex;gap:8px}.guess-input{flex:1;min-width:0;min-height:56px;font-size:17px;border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);padding:14px 16px;color:var(--ink);outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.guess-input::placeholder{color:var(--ink-mute)}.guess-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.guess-input:disabled{background:var(--surface-sunken)}.suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow-y:auto;max-height:min(46vh,320px);overscroll-behavior:contain;z-index:30;animation:pop-in .16s var(--ease-out) both}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}}.suggestion{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;background:none;border:none;padding:12px 14px;font-size:15px;border-bottom:1px solid var(--line);transition:background-color .12s var(--ease)}.suggestion:last-child{border-bottom:none}.suggestion-main{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-sub{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:13px;color:var(--ink-mute)}.suggestion.is-active,.suggestion:hover{background:var(--accent-tint)}.attempt-dots{display:flex;align-items:center;gap:8px;margin-top:12px;min-height:22px;font-size:13.5px;color:var(--ink-mute);flex-wrap:wrap}.wrong-chip{background:var(--wrong-tint);color:var(--wrong);border-radius:var(--r-full);padding:3px 10px;font-size:12.5px;font-weight:600;text-decoration:line-through;animation:pop-in .2s var(--ease-out) both}.hint{margin-top:10px;background:var(--accent-tint);border-radius:var(--r-md);padding:10px 14px;font-size:14px;color:var(--ink-soft);animation:pop-in .24s var(--ease-out) both}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{min-height:58px;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:var(--r-md);padding:10px 12px;font-size:14.5px;font-weight:600;line-height:1.25;transition:border-color .16s var(--ease),background-color .16s var(--ease),transform .12s var(--ease),opacity .16s var(--ease)}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:active:not(:disabled){transform:scale(.98)}.choice.is-dead{opacity:.35;text-decoration:line-through}.reveal{border-radius:var(--r-lg);padding:18px;animation:pop-in .26s var(--ease-out) both}.reveal.is-correct{background:var(--correct-tint)}.reveal.is-wrong{background:var(--wrong-tint)}.reveal-verdict{font-size:14.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.reveal.is-correct .reveal-verdict{color:var(--correct)}.reveal.is-wrong .reveal-verdict{color:var(--wrong)}.reveal-name{font-size:26px;font-weight:800;margin:2px 0 6px}.reveal-fact{font-size:14.5px;color:var(--ink-soft);margin:0}.reveal-points{margin-top:12px;display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap}.reveal-points .big{font-size:24px;font-weight:800;color:var(--correct);letter-spacing:-.02em}.auto-bar{height:3px;border-radius:var(--r-full);background:currentColor;opacity:.25;margin-top:12px;transform-origin:left center;animation:drain linear forwards}.reveal.is-correct .auto-bar{color:var(--correct)}.reveal.is-wrong .auto-bar{color:var(--wrong)}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.credit{margin-top:10px;font-size:11px;color:var(--ink-mute);line-height:1.35}.credit a{color:inherit}.flash{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:0}.flash.is-correct{background:radial-gradient(circle at 50% 45%,rgba(76,159,56,.22),transparent 65%);animation:flash .62s var(--ease-out) both}.flash.is-wrong{background:radial-gradient(circle at 50% 45%,rgba(225,85,84,.2),transparent 65%);animation:flash .48s var(--ease-out) both}@keyframes flash{25%{opacity:1}to{opacity:0}}.shake{animation:shake .42s var(--ease) both}@keyframes shake{10%,90%{transform:translate(-3px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.confetti{position:fixed;inset:0;width:100%;height:100%;max-width:100vw;pointer-events:none;z-index:50}.result-hero{text-align:center;padding:8px 0 4px}.score-hero{font-size:clamp(56px,12vw,76px);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute)}.stat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 12px;text-align:center}.stat-box .num{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-box .cap{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute);margin-top:2px}.share-grid{font-size:26px;letter-spacing:4px;line-height:1.5;text-align:center;word-break:break-all}.recap{display:flex;flex-direction:column;gap:6px}.recap-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:14px}.recap-mark{width:24px;height:24px;flex:none;border-radius:var(--r-sm);display:grid;place-items:center;font-size:12px;color:var(--on-accent);background:var(--correct)}.recap-mark.is-wrong{background:var(--wrong)}.recap-pack{margin-left:auto;font-size:12px;color:var(--ink-mute)}.bar-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.bar-row:last-child{border-bottom:none}.bar-name{width:150px;flex:none;font-size:14px;font-weight:600}.bar-track{flex:1;height:8px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .6s var(--ease-out)}.bar-val{width:74px;text-align:right;font-size:13px;color:var(--ink-mute);font-variant-numeric:tabular-nums;flex:none}.center-note{display:grid;place-items:center;text-align:center;color:var(--ink-mute);padding:80px 20px}.spinner{width:26px;height:26px;border:2.5px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--r-full);margin:0 auto 12px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stack{display:flex;flex-direction:column;gap:12px}.stack-lg{display:flex;flex-direction:column;gap:22px}.prose p{color:var(--ink-soft);font-size:15.5px;max-width:68ch}.prose li{color:var(--ink-soft);font-size:15.5px;margin-bottom:8px;max-width:66ch}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--surface-sunken);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:6px;padding:1px 6px}@media(max-width:560px){.header-inner{padding:0 14px;gap:10px}.wordmark{font-size:22px}.nav-tab{padding:8px 10px;font-size:14px}.site-main{padding:20px 14px 40px}.bar-name{width:108px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.place-stage{display:flex;flex-direction:column;align-items:center;gap:14px}.place-frame{position:relative;width:100%;overflow:hidden;border-radius:var(--r-lg);background:var(--surface-sunken);contain:paint}.place-canvas{display:block;width:100%;height:100%;transition:opacity .32s var(--ease)}.place-loading{position:absolute;inset:0;margin:auto}.card-art-place{display:grid;place-items:center}.card-art-place svg{width:92px;height:92px}.card-art-place .grid-lines path{fill:none;stroke:var(--ink);stroke-width:2;opacity:.16}.card-art-place .pin{fill:var(--ink);opacity:.34;transform-origin:50% 62%;transition:transform .38s var(--ease-out),opacity .32s var(--ease)}.card-art-place .pin-hole{fill:var(--surface)}.type-card:hover:not(:disabled) .card-art-place .pin{opacity:.5;transform:translateY(-7px) scale(1.06)}@media(prefers-reduced-motion:reduce){.type-card:hover:not(:disabled) .card-art-place .pin{transform:none}}.mapguess{display:flex;flex-direction:column;gap:10px;width:100%}.mapguess-view{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-sunken);overflow:hidden;z-index:0}.mapguess-view .leaflet-container{width:100%;height:100%;background:var(--surface-sunken);font:inherit}.mapguess-view .leaflet-control-attribution{font-size:10px;background:#ffffffd1}.mapguess-view .leaflet-bar a{color:var(--ink);border-radius:0}.map-marker{border-radius:var(--r-full);box-shadow:0 0 0 2px #fff,0 2px 6px #00000073}.map-marker-guess{background:var(--ink)}.map-marker-answer{background:var(--correct)}.mapguess-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mapguess-foot .btn{margin-left:auto}.mapguess-hint,.mapguess-dist{font-size:14px;color:var(--ink-mute)}.mapguess-dist{font-weight:700;color:var(--ink)}.place-frame{touch-action:none}.place-frame.is-zoomed{cursor:grab}.place-frame.is-zoomed:active{cursor:grabbing}.place-zoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:4px}.place-zoom button{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);font-size:19px;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.place-zoom button:disabled{opacity:.4;cursor:not-allowed}.place-zoom-level{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;padding:3px 0;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);box-shadow:var(--shadow-sm)}.place-zoom button:disabled{opacity:.28}@media(min-width:880px){.play.is-map{grid-template-columns:minmax(0,1fr) minmax(560px,1fr)}}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}.board-row.is-you{border-color:var(--accent);background:var(--accent-tint)}.board-rank{min-width:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-mute)}.board-row:nth-child(1) .board-rank,.board-row:nth-child(2) .board-rank,.board-row:nth-child(3) .board-rank{color:var(--ink)}.board-name{font-weight:600;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-you{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent)}.board-streak{font-size:13px;color:var(--ink-soft);margin-left:auto}.board-score{font-weight:800;font-variant-numeric:tabular-nums;min-width:72px;text-align:right}.board-streak+.board-score{margin-left:0}.board-row .board-score:first-of-type{margin-left:auto}.avatar{flex:none;display:grid;place-items:center;border-radius:var(--r-full);overflow:hidden;background:var(--surface-sunken);color:#fff;font-weight:800;letter-spacing:-.01em;box-shadow:inset 0 0 0 1px #0000001f;border:0;-webkit-user-select:none;user-select:none}.avatar.has-photo{box-shadow:none;border:1px solid var(--line);background:var(--surface-sunken)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.board-row.is-clickable{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .16s var(--ease),transform .12s var(--ease)}.board-row.is-clickable:hover{border-color:var(--line-strong);transform:translateY(-1px)}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;animation:page-in .18s var(--ease-out) both}.modal{position:relative;width:min(520px,100%);max-height:min(86dvh,100%);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-lg)}.modal-bar{position:sticky;top:-24px;z-index:2;display:flex;justify-content:flex-end;margin:-24px -24px 0;padding:12px 12px 4px;background:linear-gradient(var(--surface) 70%,transparent)}.modal-close{width:34px;height:34px;border:none;background:var(--surface-sunken);border-radius:var(--r-full);display:grid;place-items:center;font-size:14px;color:var(--ink-soft);cursor:pointer}.modal-close:hover{background:var(--line);color:var(--ink)}.profile-head{display:flex;align-items:center;gap:16px}.profile-name{font-size:24px;font-weight:800;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis}.profile-handle{margin:2px 0 0;color:var(--ink-mute);font-size:14px}.profile-since{margin:4px 0 0;color:var(--ink-mute);font-size:13px}.avatar-edit{position:relative;flex:none}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-google:hover:not(:disabled){border-color:var(--ink-mute);background:var(--surface-sunken)}.btn-google svg{flex:none}.nav-avatar.has-photo{padding:0;overflow:hidden}.nav-avatar .avatar{border:0;background:var(--accent);color:var(--on-accent)}.avatar-change{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 0;background:#000000ad;color:#fff;cursor:pointer;border-bottom-left-radius:var(--r-full);border-bottom-right-radius:var(--r-full)}.field-label{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}.form-note{font-size:13.5px;color:var(--ink-soft)}.field-prefix{padding-left:12px;color:var(--ink-mute);font-weight:700;flex:none}.mode-card.is-daily{border-color:var(--line-strong);background:var(--surface-sunken)}.mode-card.is-daily .mode-name{display:inline-flex;align-items:center;gap:8px}.cropper{max-width:420px;text-align:center}.cropper-title{font-size:19px;font-weight:800;margin:0 0 4px;letter-spacing:-.02em}.cropper-hint{margin:0 0 16px;font-size:13px;color:var(--ink-mute)}.cropper-box{position:relative;width:100%;max-width:320px;margin:0 auto;aspect-ratio:1;overflow:hidden;border-radius:var(--r-md);background:var(--surface-sunken);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cropper-box:active{cursor:grabbing}.cropper-box canvas{display:block}.cropper-mask{position:absolute;inset:0;pointer-events:none;border-radius:var(--r-full);box-shadow:0 0 0 9999px #00000080;outline:2px solid rgba(255,255,255,.9);outline-offset:-2px}.cropper-zoom{width:100%;max-width:320px;margin:16px auto 0;display:block;accent-color:var(--ink)}.field-status{font-size:12.5px;margin-top:6px;display:flex;align-items:center;gap:6px}.field-status.is-free{color:var(--good, #1a7f37)}.field-status.is-taken{color:var(--bad, #b42318)}.field-status.is-checking{color:var(--ink-mute)}.setup{max-width:400px;text-align:center}.setup .cropper-hint{margin-bottom:18px}.setup .guess-field{text-align:left}.setup .field-status{justify-content:center}.setup-foot{margin:16px 0 0;font-size:12.5px;color:var(--ink-mute)}.link-button{border:0;background:none;padding:0;font:inherit;color:var(--ink-soft);text-decoration:underline;cursor:pointer}.link-button:hover{color:var(--ink)}
