:root{--bg:#6c3cff;--bg-2:#ff5fa2;--ink:#1d1442;--paper:#fff;--primary:#ffcf24;--primary-ink:#1d1442;--secondary:#fff;--accent:#19d3a2;--danger:#ff4d5e;--target:#19d3a2;--debug-box:#fffa;--scrim:#1d1442b8;--good:#19d3a2;--radius:22px;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--word-size:clamp(2.4rem, 11vw, 5rem);--tap:64px;--shadow:0 6px 0 #0000002e}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--paper);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;overflow:hidden}#app{background:radial-gradient(120% 90% at 10% 0%, var(--bg-2) 0%, var(--bg) 55%);position:fixed;inset:0}#view{background:#000;width:100%;height:100%;display:none;position:absolute;inset:0}#app.live #view{display:block}[hidden]{display:none!important}.screen{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:absolute;inset:0}.screen.center{text-align:center;justify-content:center;align-items:center;gap:12px}.scrim{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}h2{margin:0;font-size:clamp(2rem,9vw,3.4rem);line-height:1.05}.lead{max-width:28ch;margin:0;font-size:clamp(1.15rem,4.5vw,1.6rem);font-weight:700}.fine{opacity:.85;max-width:34ch;margin:0;font-size:1rem}.logo{letter-spacing:-.03em;text-shadow:0 6px #0003;font-size:clamp(2.6rem,13vw,5rem);font-weight:900;line-height:.9}.logo span{color:var(--primary);animation:2.4s ease-in-out infinite wiggle;display:inline-block}.big-emoji{font-size:clamp(4rem,20vw,7rem);line-height:1}.btn{font:inherit;min-height:var(--tap);min-width:var(--tap);cursor:pointer;box-shadow:var(--shadow);color:var(--ink);background:var(--secondary);border:0;border-radius:999px;padding:0 28px;font-size:1.35rem;font-weight:800;transition:transform 80ms}.btn:active{transform:translateY(4px);box-shadow:0 2px #0000002e}.btn:disabled{opacity:.6}.btn.primary{background:var(--primary);color:var(--primary-ink)}.btn.huge{width:100%;min-height:80px;font-size:1.8rem}.btn.ghost{color:var(--paper);box-shadow:none;background:#00000059}.btn.ghost.on{background:var(--primary);color:var(--ink)}.btn.small{padding:0;font-size:1.4rem}.btn:focus-visible,input:focus-visible+span,.field input:focus-visible{outline:4px solid var(--primary);outline-offset:3px}.progress{background:#ffffff40;border-radius:999px;width:min(320px,80vw);height:18px;overflow:hidden}#load-bar{background:var(--primary);border-radius:inherit;width:0;height:100%;transition:width .2s}#s-menu{align-items:center;overflow-y:auto}.menu{text-align:center;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:440px;margin:auto 0;display:flex}.field{text-align:left;flex-direction:column;gap:6px;font-weight:700;display:flex}.field input{font:inherit;min-height:var(--tap);color:var(--ink);-webkit-user-select:text;user-select:text;border:0;border-radius:16px;padding:0 18px;font-size:1.4rem;font-weight:700}.seg{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}.seg legend{text-align:left;margin-bottom:6px;padding:0;font-weight:700}.seg label,.toggle{position:relative}.seg input,.toggle input{opacity:0;position:absolute;inset:0}.seg span{flex-direction:column;padding:8px 4px;line-height:1.1}.seg span i{font-size:1.6rem;font-style:normal}.seg span,.toggle span{min-height:var(--tap);cursor:pointer;background:#ffffff2e;border-radius:16px;justify-content:center;align-items:center;padding:0 8px;font-size:1.1rem;font-weight:800;display:flex}.seg input:checked+span,.toggle input:checked+span{background:var(--paper);color:var(--ink)}.toggles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.best{min-height:1.4em;margin:0;font-weight:800}.best.new{color:var(--primary);font-size:1.4rem;animation:.6s ease-out pop}.target-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:16px 28px;animation:.4s ease-out pop;display:flex}.target-card .t-emoji{font-size:clamp(4rem,22vw,7rem);line-height:1.1}.target-card .t-word{font-size:var(--word-size);font-weight:900;line-height:1}.count{color:var(--primary);text-shadow:var(--shadow);font-size:clamp(5rem,30vw,9rem);font-weight:900;line-height:1}.hud{pointer-events:none;justify-content:flex-start}.hud>*{pointer-events:auto}.hud-top{flex-direction:column;gap:8px;display:flex}.target-pill{background:var(--paper);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center;align-items:center;gap:12px;padding:6px 18px;display:flex}.target-pill .t-emoji{font-size:calc(var(--word-size) * .9);line-height:1}.target-pill .t-word{font-size:var(--word-size);font-weight:900;line-height:1.05}.hud-stats{justify-content:center;gap:8px;display:flex}.stat{background:#00000073;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:1.4rem;display:flex}.stat small{opacity:.85;font-size:1rem}.timebar{background:#00000059;border-radius:999px;height:10px;overflow:hidden}#hud-bar{background:var(--accent);transform-origin:0;height:100%;transition:transform .25s linear}#hud-bar.low{background:var(--danger)}.status{background:var(--paper);max-width:92%;color:var(--ink);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);align-self:center;margin:auto 0 14px;padding:12px 22px;font-size:clamp(1.3rem,6vw,2rem);font-weight:900;animation:.25s ease-out pop}.status[data-tone=challenge]{background:var(--primary)}.status[data-tone=cheat]{background:var(--danger);color:var(--paper);animation:.4s shake}.status[data-tone=good]{background:var(--good)}.status-track{background:#00000026;border-radius:999px;height:10px;margin-top:8px;overflow:hidden}#status-progress{background:var(--ink);transform-origin:0;height:100%;transition:transform .15s linear}.debug-info{pointer-events:none;background:#0000008c;border-radius:10px;margin:0;padding:6px 10px;font:12px/1.35 ui-monospace,monospace;position:absolute;top:45%;left:12px}.status:not([hidden])~.hud-bottom{margin-top:0}.hud-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.points{color:var(--primary);text-shadow:var(--shadow);font-size:clamp(4rem,24vw,8rem);font-weight:900;line-height:1;animation:.5s ease-out pop}.bonus{min-height:1em;margin:0;font-size:1.4rem;font-weight:800}.tap{opacity:.7;margin-top:18px;font-weight:700;animation:1.4s ease-in-out infinite pulse}#s-found .big-emoji{animation:.8s ease-out bounce}#s-summary{align-items:center;overflow-y:auto}.summary{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:460px;margin:auto 0;display:flex}.stars{gap:6px;font-size:2.4rem;display:flex}.stars span{animation:.5s ease-out both pop}.stars span:nth-child(2){animation-delay:.1s}.stars span:nth-child(3){animation-delay:.2s}.stars span:nth-child(4){animation-delay:.3s}.stars span:nth-child(5){animation-delay:.4s}.stars .empty{opacity:.45}.confetti{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}.sum-score{flex-direction:column;line-height:1;display:flex}.sum-score b{color:var(--primary);text-shadow:var(--shadow);font-size:clamp(4rem,22vw,7rem)}.sum-list{flex-direction:column;gap:6px;width:100%;margin:0;padding:0;list-style:none;display:flex}.sum-list li{background:var(--paper);color:var(--ink);text-align:left;border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;padding:6px 14px;font-size:1.25rem;font-weight:800;display:grid}.sum-list li:not(.found){opacity:.7}.sum-list .e{font-size:1.8rem}.sum-list .r{flex-direction:column;align-items:flex-end;line-height:1.05;display:flex}.sum-list .r small{opacity:.7;font-size:.8rem}.sum-list .neg{color:var(--danger)}.row{gap:12px;width:100%;margin-top:8px;display:flex}.row .btn{flex:1}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes bounce{0%{transform:translateY(-40px)scale(.5)}60%{transform:translateY(6px)scale(1.15)}to{transform:none}}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-height:480px){:root{--word-size:clamp(1.8rem, 7vh, 3rem)}.hud-top{flex-flow:wrap;align-items:center}.timebar{flex-basis:100%}}
