:root{--bg: #101116;--surface: #1b1d25;--text: #f2f3f7;--text-dim: #9aa0ae;--accent: #4f8cff;--good: #2ecc71;--bad: #ff5a5f;--radius: 16px;font-size:16px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:Pretendard Variable,Pretendard,-apple-system,Noto Sans KR,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#app{height:calc(100dvh - var(--banner-h, 0px) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.screen{display:none;flex:1;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;overflow-y:auto;overflow-x:hidden;gap:1.25rem;padding:1.5rem;text-align:center}.screen>*{max-width:100%}@supports not (justify-content: safe center){.screen{justify-content:flex-start}}.screen.active{display:flex}.btn{appearance:none;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:1.1rem;font-weight:700;font-family:inherit;padding:.9rem 2.2rem;cursor:pointer;transition:transform .06s ease}.btn:active{transform:scale(.96)}.btn.secondary{background:var(--surface);color:var(--text)}.dim{color:var(--text-dim)}.card{background:var(--surface);border-radius:var(--radius);padding:1rem 1.5rem}.share-app-btn{font-size:.95rem;padding:.6rem 1.4rem}.share-reward-btn{white-space:nowrap;font-size:.92rem;padding:.7rem .9rem;max-width:100%}.promo{width:100%;max-width:340px;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.promo-title{color:var(--text-dim);font-size:.85rem;text-align:left;padding-left:.2rem}.promo-row{appearance:none;border:none;display:flex;align-items:center;gap:.7rem;background:var(--surface);border-radius:12px;padding:.6rem .9rem;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.promo-row:active{transform:scale(.98)}.promo-more{appearance:none;border:none;background:none;color:var(--text-dim);font-family:inherit;font-size:.85rem;padding:.5rem;cursor:pointer;text-decoration:underline}.promo-emoji{font-size:1.5rem}.promo-icon{width:34px;height:34px;border-radius:9px;flex:none}.promo-text{display:flex;flex-direction:column;min-width:0}.promo-name{font-weight:700;font-size:.95rem}.promo-tagline{color:var(--text-dim);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-arrow{margin-left:auto;color:var(--text-dim);font-size:1.2rem}.share-reward-btn{border-color:#2e9e5b99}.theme-picker{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.theme-picker-title{font-size:.85rem}.theme-swatches{display:flex;gap:.5rem;justify-content:center}.theme-swatch{width:34px;height:34px;border-radius:50%;border:3px solid transparent;background:var(--c);font-size:.9rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-swatch.selected{border-color:#fff}.theme-swatch.locked{opacity:.45;cursor:default}.opts{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;width:min(88vw,340px)}.opt-chip{appearance:none;border:1px solid var(--border, #2a2e3a);border-radius:999px;background:var(--surface);color:var(--text-dim, #9aa0ae);font:inherit;font-size:.88rem;font-weight:700;padding:.45rem .9rem;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}.opt-chip.on{color:var(--text);border-color:var(--accent, #4f8cff);box-shadow:inset 0 0 0 1px var(--accent, #4f8cff)}.home-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.5rem;width:min(88vw,340px)}.home-links .btn{width:100%;min-width:0;padding:.7rem .6rem;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:600px)and (any-pointer:fine){body{min-height:100dvh;padding:0;display:grid;place-items:center;background:radial-gradient(130% 100% at 50% -10%,rgba(79,140,255,.13),transparent 62%),var(--bg)}#app{height:min(100dvh - 2.5rem,var(--stage-h, 880px));aspect-ratio:var(--stage-ratio, 10 / 16);width:auto;max-width:calc(100vw - 2.5rem);border-radius:22px;overflow:hidden;background:var(--bg);box-shadow:0 20px 64px #00000080,0 0 0 1px #ffffff12}.btn,.opt-chip,.share-app-btn{cursor:pointer}.screen{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}}.sheet{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#0000008c}.sheet[hidden]{display:none}.sheet-body{width:100%;max-width:420px;display:flex;flex-direction:column;gap:.8rem;padding:1.4rem 1.4rem calc(1.4rem + env(safe-area-inset-bottom) + var(--banner-h, 0px));border-radius:20px 20px 0 0;background:var(--surface);text-align:center}.platform-toss .sheet-body{padding-bottom:calc(1.4rem + env(safe-area-inset-bottom) + var(--banner-h, 56px))}.sheet-body h3{font-size:1.3rem;font-weight:800}.sheet-body p{line-height:1.45}.hearts-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:800;line-height:1;padding:.3rem .6rem;border-radius:999px;background:#ffffff14;color:var(--fg);white-space:nowrap}.hearts-badge.empty{background:#ff5c5c29;color:#ff8080}.hearts-toast,.mini-toast{position:fixed;bottom:calc(2.2rem + env(safe-area-inset-bottom) + var(--banner-h, 0px));left:50%;transform:translate(-50%);z-index:45;max-width:86vw;padding:.6rem 1.1rem;border-radius:999px;background:#14161eeb;border:1px solid rgba(255,255,255,.14);color:var(--fg);font-size:.9rem;text-align:center}.platform-toss .hearts-toast,.platform-toss .mini-toast{bottom:calc(2.2rem + env(safe-area-inset-bottom) + var(--banner-h, 56px))}.hearts-toast[hidden],.mini-toast[hidden]{display:none}.rec-tabs{display:flex;gap:.35rem;width:100%;margin-bottom:.9rem;padding:.25rem;border-radius:999px;background:#ffffff0f}.rec-tab{flex:1 1 0;min-width:0;padding:.5rem .2rem;border:0;border-radius:999px;background:transparent;color:var(--dim, rgba(255, 255, 255, .6));font:inherit;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.rec-tab.on{background:#ffffff29;color:var(--fg);font-weight:600}.rec-toss[hidden]{display:none}.title{font-size:2rem}h1,h2,.mode-name,.status,.dim{word-break:keep-all;overflow-wrap:break-word}h2{max-width:90vw}.big{font-size:2.2rem;font-weight:800}.small{font-size:.85rem}.mode-list{display:flex;flex-direction:column;gap:10px;width:min(88vw,360px)}.mode-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border:1px solid #2a2e3a;border-radius:14px;background:var(--surface);color:var(--text, #f2f3f7);font-size:1.05rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.mode-row .mode-emoji{font-size:1.4rem}.mode-row .mode-name{flex:1;text-align:left}.mode-row.locked{opacity:.6}.variant-preview{flex:none;font-size:1.05rem;letter-spacing:.15em;opacity:.55}.variant-btn{flex:none;width:44px;height:44px;border:1px solid #2a2e3a;border-radius:12px;background:#232733;font-size:1.25rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.variant-btn:active{transform:scale(.94)}.pick-tools{display:flex;gap:8px}.pick-tools[hidden],.pick-label[hidden],.chips[hidden]{display:none}.pick-label{font-size:.9rem;font-weight:700;margin-top:.3rem;display:flex;align-items:center;gap:.5rem}.chip.mini{min-width:0;padding:.25rem .7rem;font-size:.8rem;font-weight:700}.btn.small{padding:.5rem 1rem;font-size:.9rem}.btn.active{outline:2px solid var(--accent, #4f8cff)}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:min(90vw,380px)}.chip{min-width:52px;padding:.6rem 0;border:1px solid #2a2e3a;border-radius:12px;background:var(--surface);color:var(--dim, #9aa0ae);font-size:1.2rem;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent}.chip.on{background:var(--accent, #4f8cff);border-color:var(--accent, #4f8cff);color:#fff}.chip.anchor{outline:2px dashed var(--accent, #4f8cff)}#app{height:100%;overflow:hidden}section[data-screen=home]{justify-content:flex-start;overflow-y:auto;padding-top:2rem}section[data-screen=game]{gap:.7rem;padding:.9rem 1rem;overflow:hidden}.hud{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums;width:100%;min-height:44px;display:flex;align-items:center}.hud #btn-quit{margin-left:auto;font-size:.85rem}#btn-listen{min-width:min(16rem,78vw);padding:1.05rem 2rem;font-size:1.35rem}.catchbar{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:1.05rem;max-width:90vw}.catch-row{display:flex;justify-content:center;gap:4px}.catchbar.big-catch{font-size:1.4rem}.catchbar .pending{opacity:.25;filter:grayscale(1)}.monster{font-size:clamp(3.4rem,18vw,5.5rem);line-height:1;min-height:1.1em}.monster.pop{animation:pop .35s ease}@keyframes pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.target{font-size:clamp(3rem,20vw,5rem);font-weight:800;line-height:1.2;min-height:1.2em;display:flex;align-items:center;justify-content:center}.target.sentence{font-size:clamp(1.4rem,7vw,2.3rem);line-height:1.4;max-width:90vw;word-break:keep-all;overflow-wrap:break-word;text-align:center}.target-sub{display:block;font-size:.32em;font-weight:700;color:var(--dim, #9aa0ae);margin-top:.15em}.status{min-height:1.4em;line-height:1.4;font-size:1rem;color:var(--dim, #9aa0ae);max-width:88vw;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn.mic{width:92px;height:92px;border-radius:50%;font-size:2.4rem;padding:0}.btn.mic.on{outline:4px solid var(--good, #2ecc71);animation:mic-pulse 1.6s ease-in-out infinite}@keyframes mic-pulse{0%,to{outline-color:#2ecc71e6}50%{outline-color:#2ecc7159}}.game-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:380px}.game-tools #btn-listen{flex:1 1 100%}.game-tools .btn.small{flex:1 1 0;min-width:0;white-space:nowrap}.speech-fallback{display:flex;gap:8px}.speech-fallback[hidden],.answers[hidden]{display:none}.speech-fallback input{padding:.6rem .9rem;border:1px solid #2a2e3a;border-radius:12px;background:var(--surface);color:var(--text, #f2f3f7);font-size:1.1rem;width:180px}.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:.35rem 0}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:min(88vw,360px)}.ans-btn{padding:.9rem 0;border:1px solid #2a2e3a;border-radius:14px;background:var(--surface);color:var(--text, #f2f3f7);font-size:1.3rem;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent}.ans-btn.bad{background:#35181c;border-color:#e74c3c}.ans-btn.good{background:#16321f;border-color:#2ecc71}
