.ani-root{position:fixed;inset:0;height:calc(var(--vh,1vh) * 100);z-index:30;box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg);isolation:isolate;overscroll-behavior:contain;-webkit-tap-highlight-color:transparent;animation:.28s both ani-in}.ani-root.is-leaving{animation:.22s both ani-out}@keyframes ani-in{from{opacity:0}to{opacity:1}}@keyframes ani-out{from{opacity:1}to{opacity:0}}.ani-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.ani-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.28}.ani-orb--1{width:54vmin;height:54vmin;max-width:320px;max-height:320px;top:-14vmin;inset-inline-start:-12vmin;background:radial-gradient(circle at 30% 30%,var(--accent),transparent 70%);animation:19s ease-in-out infinite ani-float}.ani-orb--2{width:46vmin;height:46vmin;max-width:280px;max-height:280px;bottom:-6vmin;inset-inline-end:-10vmin;background:radial-gradient(circle at 60% 60%,var(--accent-2),transparent 70%);animation:24s ease-in-out -9s infinite ani-float}@keyframes ani-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(12px,-16px) scale(1.07)}}.ani-frame{position:relative;z-index:1;box-sizing:border-box;width:100%;max-width:560px;margin:0 auto;flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,2vh,18px);padding:max(10px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.ani-head{display:flex;align-items:center;gap:14px;min-height:40px}.ani-steps{display:flex;gap:6px;flex:1;direction:rtl}.ani-steps__seg{flex:1;height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden;position:relative}.ani-steps__seg.is-done{background:var(--accent)}.ani-steps__seg.is-now::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));animation:.32s both ani-seg;transform-origin:right center}@keyframes ani-seg{from{transform:scaleX(.2)}to{transform:scaleX(1)}}.ani-skip{flex:none;border:0;background:0 0;cursor:pointer;color:var(--muted);font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 4px;min-height:40px}.ani-skip:active{color:var(--ink)}.ani-stage{min-height:0;position:relative;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}.ani-stage::-webkit-scrollbar{display:none}.ani-slide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2.4vh,22px);min-height:100%;text-align:center;transition:transform .2s;animation:.3s cubic-bezier(.22,.9,.32,1) ani-from-left}.ani-slide.is-from-prev{animation-name:ani-from-right}@keyframes ani-from-left{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes ani-from-right{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.ani-art{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:clamp(14px,2.6vh,22px) clamp(12px,3vw,20px);background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.ani-copy{display:flex;flex-direction:column;align-items:center;gap:8px}.ani-copy h2{margin:0;color:var(--ink);line-height:1.5;font-size:clamp(1.08rem, 1.5vh + .62rem, 1.35rem);font-weight:800}.ani-copy p{margin:0;color:var(--muted);max-width:34ch;line-height:1.85;font-size:clamp(.83rem, 1vh + .5rem, .95rem)}.ani-hint{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:.72rem;font-weight:700}.ani-root .ani-hint,:root[data-theme=dark] .ani-hint{color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.ani-foot{display:flex;align-items:center;gap:10px}.ani-btn{position:relative;overflow:hidden;cursor:pointer;min-height:52px;padding:0 18px;border-radius:15px;font-family:inherit;font-size:.95rem;font-weight:800;transition:transform .14s,opacity .18s}.ani-btn:active{transform:scale(.975)}.ani-btn--next{flex:1;border:0;color:var(--accent-ink);background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 12px 26px color-mix(in srgb,var(--accent) 34%,transparent)}.ani-btn--prev{flex:none;color:var(--ink);background:var(--surface);border:1.5px solid var(--border)}.ani-btn--prev[hidden]{display:none}.ani-abacus{width:100%;display:flex;justify-content:center}.ani-abacus .abacus-wrap{margin:0 auto}.ani-readout{min-height:1.6em;margin:0;font-size:.84rem;font-weight:700;color:var(--ink)}.ani-readout b{display:inline-block;min-width:2.2em;color:var(--accent);font-size:1.05rem}.ani-path{display:flex;align-items:center;justify-content:center;gap:0;width:100%}.ani-node{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:800;background:var(--surface-2);color:var(--muted);border:2px solid transparent;transition:transform .16s,background-color .16s,color .16s}.ani-node.is-done{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.ani-node.is-now{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent)}.ani-node.is-picked{border-color:var(--accent);transform:scale(1.12)}.ani-node:active{transform:scale(.94)}.ani-link{flex:1;max-width:26px;height:3px;border-radius:999px;background:var(--surface-2)}.ani-link.is-done{background:color-mix(in srgb,var(--accent) 45%,transparent)}.ani-exam{width:100%;max-width:300px}.ani-exam__q{width:100%;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:center;padding:14px 18px;border-radius:16px;background:var(--surface-2);border:1.5px dashed var(--border);font-family:inherit;color:var(--ink);font-size:1.22rem;font-weight:800;line-height:1.75;letter-spacing:.02em;transition:border-color .18s}.ani-exam__q.is-open{border-style:solid;border-color:var(--accent)}.ani-exam__a{display:block;margin-top:6px;padding-top:8px;border-top:1px solid var(--border);width:100%;text-align:center;color:var(--good);font-size:.92rem;font-weight:800}.ani-exam__timer{margin-top:10px;height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ani-exam__bar{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:right center;animation:9s linear infinite ani-timer}@keyframes ani-timer{from{transform:scaleX(1)}to{transform:scaleX(0)}}.ani-report{width:100%;display:flex;flex-direction:column;gap:8px}.ani-bar{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;padding:8px 10px;border-radius:12px;background:0 0;border:1.5px solid transparent;font-family:inherit;text-align:start;transition:border-color .16s,background-color .16s}.ani-bar.is-picked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ani-bar__label{flex:none;width:3.6em;color:var(--ink);font-size:.8rem;font-weight:700}.ani-bar__track{flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ani-bar__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.ani-bar--low .ani-bar__fill{background:linear-gradient(90deg,var(--bad),color-mix(in srgb,var(--bad) 60%,var(--accent-2)))}.ani-bar__pct{flex:none;width:3em;color:var(--muted);font-size:.76rem;font-weight:700;text-align:end}.ani-scope{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--surface-2)}.ani-scope__btn{flex:1;cursor:pointer;border:0;border-radius:9px;padding:8px 12px;min-height:36px;background:0 0;color:var(--muted);font-family:inherit;font-size:.78rem;font-weight:700;transition:background-color .16s,color .16s}.ani-scope__btn.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.ani-rank{width:100%;display:flex;flex-direction:column;gap:6px}.ani-rank__row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--surface-2);color:var(--ink);font-size:.82rem;font-weight:700;animation:.26s both ani-row}.ani-rank__row.is-me{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--accent-2) 14%,transparent));border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent)}.ani-rank__name{flex:1;text-align:start}.ani-rank__pts{flex:none;color:var(--accent);font-weight:800}@keyframes ani-row{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-height:700px){.ani-slide{gap:10px}.ani-art{padding:12px;border-radius:18px}.ani-copy p{line-height:1.7}.ani-btn{min-height:48px}}@media (max-height:600px){.ani-copy p,.ani-hint{display:none}}@media (orientation:landscape) and (min-width:640px){.ani-frame{max-width:900px}.ani-slide{flex-direction:row;align-items:center;gap:26px;text-align:start}.ani-art{flex:1}.ani-copy{flex:1;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.ani-exam__bar,.ani-orb,.ani-rank__row,.ani-root,.ani-root.is-leaving,.ani-slide,.ani-steps__seg.is-now::after{animation:none!important}.ani-slide{transition:none}}