:root{--bg: #1a0e2e;--bg-card: #2a1b45;--accent: #ff8a3d;--accent-2: #ffd166;--text: #f5efe6;--muted: #b9a9c9;--danger: #ff6b6b;--lock-bg: #352456;color-scheme:dark;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--d-press: 90ms;--d-release: .18s;--d-enter: .2s;--d-screen: .42s;--stagger: 26ms}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overscroll-behavior-y:none}body{background:radial-gradient(circle at 50% 0%,#3a2360 0%,var(--bg) 60%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;-webkit-text-size-adjust:100%;touch-action:manipulation}.screen{position:relative;z-index:1;max-width:480px;margin:0 auto;min-height:100%;padding:24px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px}.title{text-align:center;font-size:28px;margin:12px 0 4px}.lang-toggle{display:flex;gap:8px;justify-content:center}.lang-toggle button{flex:1;min-height:48px;border:1px solid var(--muted);background:transparent;color:var(--text);border-radius:12px;font-size:16px}.lang-toggle button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#2a1300;font-weight:700}.nickname{min-height:52px;padding:0 16px;font-size:18px;border-radius:12px;border:1px solid var(--muted);background:var(--bg-card);color:var(--text)}.primary{min-height:56px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#2a1300;font-size:20px;font-weight:700}.primary:disabled{opacity:.5}.hint,.error{text-align:center;color:var(--muted);font-size:14px}.error{color:var(--danger);min-height:20px;margin:0}.error:empty{min-height:20px}.progress{color:var(--muted);font-size:16px;letter-spacing:1px}.q-head{display:flex;align-items:center;justify-content:space-between;width:100%}.timer{font-size:28px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.timer.warn{color:var(--accent-2)}.timer.urgent{color:var(--danger);animation:digit-in .42s var(--ease-out) backwards}.timer.zero{color:var(--danger);opacity:.45;transform:scale(.92)}@keyframes digit-in{0%{transform:scale(1.35);opacity:.35}60%{transform:scale(.98);opacity:1}}.q-text{text-align:center;font-size:clamp(19px,5.6vw,24px);line-height:1.35;margin:8px 0;overflow-wrap:anywhere}.q-text:focus{outline:none}.options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.option{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 18px;font-size:18px;line-height:1.35;text-align:left;border-radius:14px;border:1px solid var(--muted);background:var(--bg-card);color:var(--text);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;animation:option-in var(--d-enter) var(--ease-out) calc(70ms + var(--i, 0) * var(--stagger)) backwards;transition:transform var(--d-release) var(--ease-out),opacity var(--d-enter) var(--ease-out) calc(var(--d, 0) * var(--stagger)),background-color var(--d-enter) linear,border-color .16s linear}.option:active:not(.is-picked){transform:scale(.975);background:var(--lock-bg);border-color:var(--accent);transition-duration:var(--d-press);transition-timing-function:var(--ease-in-out)}.option:after{content:"";position:absolute;inset:-2px;border-radius:16px;border:2.5px solid var(--accent-2);opacity:0;pointer-events:none;transition:opacity var(--d-enter) var(--ease-out)}.option.is-picked:after{opacity:1;animation:pick-flash .42s var(--ease-out)}.option.is-picked{background:linear-gradient(135deg,#ff8a3d47,#ffd16624);border-color:var(--accent-2);color:#fff8ea;font-weight:600;box-shadow:0 0 0 4px #ffd16629,0 10px 28px #ff8a3d47;transform:scale(1.015)}@keyframes pick-flash{0%{box-shadow:0 0 #ffd1668c}to{box-shadow:0 0 0 14px #ffd16600}}.options.is-locked .option{pointer-events:none}.options.is-locked .option:not(.is-picked){opacity:.5;transform:scale(.975);border-color:#b9a9c959}.option-label{flex:none;transition:transform .24s var(--ease-spring),background-color var(--d-enter) linear;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--bg);font-weight:700;font-size:16px}.option-text{flex:1;min-width:0;overflow-wrap:anywhere}.option.is-picked .option-label{transform:scale(1.22);background:var(--accent-2);color:#2a1300;box-shadow:0 0 16px #ffd166bf}.result{text-align:center;justify-content:center}.score{font-size:56px;font-weight:800;color:var(--accent-2);margin:4px 0}.label{color:var(--muted);margin:0}.congrats{font-size:22px;color:var(--accent)}.rank{font-size:20px}.terms{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.35;text-align:left}.terms input{margin-top:.15rem;width:24px;height:24px;flex:none}.sky{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:0;pointer-events:none;transform:translateZ(0);transition:opacity var(--d-screen) var(--ease-out)}.sky.calm{opacity:.24}.wash{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(130% 85% at 50% 108%,#ff8a3d4d,#ffd16624 34%,#ff8a3d00 62%);animation:wash var(--d-screen) var(--ease-out) forwards}@keyframes wash{0%{opacity:0;transform:translateY(16%)}20%{opacity:1}to{opacity:0;transform:translateY(0)}}.screen.question{gap:16px;padding-top:20px}.q-rail{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;background:#b9a9c92e}.q-rail-fill{display:block;height:100%;transform-origin:left center;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:transform var(--d-screen) var(--ease-out)}.q-rail-beam{display:none;position:absolute;inset:0 auto 0 0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,209,102,.85),transparent)}.q-rail.is-pending .q-rail-beam{display:block;animation:beam 1.1s cubic-bezier(.65,0,.35,1) infinite}@keyframes beam{0%{transform:translate(-100%)}to{transform:translate(320%)}}.q-body{display:flex;flex-direction:column;gap:16px;flex:1}.q-head{animation:head-in .18s var(--ease-out) backwards}.q-text{animation:text-in .24s var(--ease-out) 40ms backwards}@keyframes head-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes text-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes option-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.lockbar{display:flex;align-items:center;justify-content:center;min-height:44px}.lock-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#ffd16624;border:1px solid rgba(255,209,102,.5);color:var(--accent-2);font-size:15px;font-weight:600;animation:pill-in var(--d-enter) var(--ease-out) backwards}.lock-pill.is-timeout{background:#b9a9c91f;border-color:#b9a9c973;color:var(--muted)}.pill-icon{width:16px;height:16px;flex:none;fill:currentColor;stroke:currentColor}.lock-note{color:var(--muted);font-size:13px;text-align:center}@keyframes pill-in{0%{opacity:0;transform:translateY(8px)}}.result>*{animation:result-in .24s var(--ease-out) calc(var(--i, 0) * 60ms) backwards}.result .title{outline:none}.result .score{animation:score-in .34s var(--ease-out) 60ms backwards}@keyframes result-in{0%{opacity:0;transform:translateY(10px)}}@keyframes score-in{0%{opacity:0;transform:scale(.86)}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.option:focus-visible,.primary:focus-visible,.lang-toggle button:focus-visible,.nickname:focus-visible,.terms input:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}@media(prefers-reduced-motion:reduce){.sky,.q-head,.q-text,.option,.option:after,.option-label,.q-rail-fill,.timer,.option.is-picked:after,.lock-pill,.result>*{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;transition-delay:0ms!important}.wash,.q-rail.is-pending .q-rail-beam{display:none}.q-rail.is-pending{background:#ffd16659}}
