: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}.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}.title{font-size:2rem}.big{font-size:2.2rem;font-weight:800}.icon-btn{position:absolute;top:calc(.9rem + env(safe-area-inset-top));right:calc(.9rem + env(safe-area-inset-right));z-index:10;width:44px;height:44px;border:none;border-radius:50%;background:var(--surface);font-size:1.25rem;cursor:pointer}.icon-btn.muted{opacity:.55}.picker{display:flex;flex-direction:column;gap:8px;align-items:center}.mode-list{display:flex;flex-direction:column;gap:10px;width:min(90vw,380px)}.mode-row{display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border:1px solid #2a2e3a;border-radius:14px;background:var(--surface)}.op-sym{flex:none;width:1.5rem;font-size:1.35rem;font-weight:800;color:var(--accent, #4f8cff)}.mode-row .mode-name{flex:1;text-align:left;font-weight:700;font-size:.98rem;word-break:keep-all}.diff-btn{flex:none;padding:.5rem .55rem;border:1px solid #2a2e3a;border-radius:10px;background:#232733;color:var(--text, #f2f3f7);font-size:.82rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}.diff-btn:active{transform:scale(.95)}.diff-btn.locked{color:var(--dim, #9aa0ae);opacity:.75}.modes{display:flex;gap:8px}.mode-btn{min-width:84px;padding:.55rem 1rem;border:1px solid #2a2e3a;border-radius:999px;background:var(--surface);color:var(--dim, #9aa0ae);font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.mode-btn.active{background:var(--accent, #4f8cff);border-color:var(--accent, #4f8cff);color:#fff}#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{display:flex;gap:1.2rem;align-items:baseline;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}.hud-quit{width:36px;height:32px;margin-right:.5rem;border:1px solid #2a2e3a;border-radius:999px;background:var(--surface);color:var(--text-dim);font-size:1.1rem;cursor:pointer}.catchbar{display:flex;gap:4px;font-size:1.15rem;min-height:1.5rem}.catchbar.big-catch{font-size:1.5rem}.catchbar .pending{opacity:.25;filter:grayscale(1)}.catchbar .caught{opacity:1}.monster{font-size:clamp(4rem,22vw,6.5rem);line-height:1;min-height:1.2em}.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}}.problem{font-size:clamp(2rem,11vw,3rem);font-weight:800;font-variant-numeric:tabular-nums}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:min(88vw,360px)}.ans-btn{padding:1rem 0;border:1px solid #2a2e3a;border-radius:14px;background:var(--surface);color:var(--text, #f2f3f7);font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent}.ans-btn.good{background:#17301f;border-color:var(--good, #2ecc71)}.ans-btn.bad{background:#35181c;border-color:#e74c3c;animation:shake .3s}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}[data-screen=records]{justify-content:flex-start;padding-top:3rem;overflow-y:auto}.records{list-style:none;width:100%;max-width:340px;display:flex;flex-direction:column;gap:.4rem}.rec-row{display:flex;align-items:baseline;gap:.75rem;background:var(--surface);border-radius:12px;padding:.55rem .9rem}.rec-row.top{outline:1px solid rgba(241,196,15,.45)}.rank{flex:none;width:2.6rem;font-weight:800;font-variant-numeric:tabular-nums}.rec-time{font-weight:800;font-size:1.1rem;font-variant-numeric:tabular-nums}.rec-date{margin-left:auto;font-size:.8rem}.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:.35rem 0}.record{color:#f1c40f;font-weight:800}
