.sim{padding-bottom:48px}.sim-plan{list-style:none;padding:0;margin:32px 0 24px;border-top:1px solid var(--line)}.sim-plan li{display:grid;grid-template-columns:72px 1fr auto;grid-gap:16px;gap:16px;padding-block:14px;border-bottom:1px solid var(--line);font-size:17px}.sim-plan li span:first-child{color:var(--muted)}.sim-plan li span:last-child{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sim-results .sim-plan li{grid-template-columns:1fr 0 auto}.sim-clock,.sim-results .sim-plan li span:first-child{color:var(--ink)}.sim-clock{font-size:20px;font-weight:600}.sim-clock.is-low{color:var(--error)}.sim-dots{display:flex;gap:8px;margin-block:24px 32px}.sim-dots button{width:40px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:600 15px var(--font-body)}.sim-dots button.answered{background:var(--surface-soft);color:var(--ink)}.sim-dots button.current{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sim-body.has-passage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:start}.sim-passage{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;margin:0;padding:0 0 0 8px;border:0}.sim-passage p{font:400 19px/1.75 var(--font-exam);margin:0 0 14px}.practice-panel .opt.sim-selected{border-color:var(--accent);background:var(--accent-soft)}.practice-panel .opt.sim-selected .bub{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.sim-nav{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.sim-review-title{margin:40px 0 12px;font-size:22px}.sim-review{border-bottom:1px solid var(--line);padding-block:14px}.sim-review summary{cursor:pointer;font-weight:600}.sim-review p{margin-top:10px;font-size:16px;line-height:1.65}.sim-review-stem{font:400 18px/1.6 var(--font-exam)}.sim-review-translation{color:var(--muted)}@media (max-width:860px){.sim-body.has-passage{grid-template-columns:1fr;gap:24px}.sim-passage{position:static;max-height:none;border-bottom:1px solid var(--line);padding-bottom:16px}}@media (max-width:520px){.sim-plan li{grid-template-columns:56px 1fr}.sim-plan li span:last-child{grid-column:2}}.sim{--ease-out:cubic-bezier(0.23,1,0.32,1);--lime:#7bca13;--deep:#074f35;--sc:#15803d;--rs:#2563eb;--rc:#be185d}:root[data-theme=dark] .sim{--sc:#4ade80;--rs:#7aa7ff;--rc:#f472b6}.sim [data-tone=sentence_completion]{--tone:var(--sc)}.sim [data-tone=restatement]{--tone:var(--rs)}.sim [data-tone=reading]{--tone:var(--rc)}.sim-intro{max-width:760px;margin:36px auto 64px;display:grid;grid-gap:20px;gap:20px}.sim-intro h1{font-size:42px;line-height:1.15;letter-spacing:-.02em;margin-top:8px}.sim-intro-sub{color:var(--muted);font-size:18px;margin-top:-8px}.sim-intro .buddy-says{animation:sim-rise .5s var(--ease-out) both}.sim-path{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.sim-path li{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--tone) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--tone) 22%,transparent);animation:sim-pop .42s var(--ease-out) both}.sim-path li:nth-child(2){animation-delay:50ms}.sim-path li:nth-child(3){animation-delay:.1s}.sim-path li:nth-child(4){animation-delay:.15s}.sim-path li:nth-child(5){animation-delay:.2s}.sim-path li:nth-child(6){animation-delay:.25s}.sim-path-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--tone)}.sim-map-icon svg,.sim-path-icon svg,.sim-tips svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sim-path-text{display:grid;line-height:1.35}.sim-path-text b{font-size:15px}.sim-path-text small{color:var(--muted);font-size:13px}.sim-extra{border:0;padding:0;margin:0}.sim-extra legend{font-weight:700;margin-bottom:10px}.sim-tips{list-style:none;padding:16px 18px;margin:0;display:grid;grid-gap:10px;gap:10px;border-radius:14px;background:var(--surface-soft)}.sim-tips li{display:flex;align-items:center;gap:12px;font-size:16px}.sim-tips li>span{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--deep)}.sim-tips li>span svg{width:17px;height:17px}.sim-intro-note{color:var(--muted);font-size:14px;line-height:1.6}.sim-start{min-width:220px}.sim-resume{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:14px;border:2px solid var(--lime);background:color-mix(in srgb,var(--lime) 10%,var(--surface))}.sim-resume>div:first-child{display:grid}.sim-resume span{color:var(--muted);font-size:14px}.sim-resume-actions{display:flex;align-items:center;gap:16px}.sim-map{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.sim-map li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);color:var(--muted);min-width:0;transition:background-color .2s ease,border-color .2s ease}.sim-map-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--line)}.sim-map-icon svg{width:17px;height:17px;stroke:var(--muted)}.sim-map-label{display:grid;font-size:13px;font-weight:700;line-height:1.25;min-width:0}.sim-map-label small{font-weight:400;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-map li.is-current{border-color:var(--deep);background:color-mix(in srgb,var(--lime) 12%,var(--surface));color:var(--ink)}.sim-map li.is-current .sim-map-icon{background:var(--deep)}.sim-map li.is-current .sim-map-icon svg{stroke:#fff}.sim-map li.is-done{color:var(--ink)}.sim-map li.is-done .sim-map-icon{background:var(--lime)}.sim-map li.is-done .sim-map-icon svg{stroke:#063d29;stroke-width:3}.sim-progress{height:6px;border-radius:999px;background:var(--line);overflow:hidden;margin-bottom:20px}.sim-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--deep),var(--lime));transform-origin:right center;transition:transform .4s var(--ease-out);border-radius:inherit}.sim-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.sim-head h1{font-size:26px;line-height:1.25}.sim-head p{color:var(--muted);font-size:15px;margin-top:2px}.sim-timer{position:relative;display:grid;place-items:center;width:72px;height:72px;flex:none}.sim-timer svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.sim-timer .track{fill:none;stroke:var(--line);stroke-width:4}.sim-timer .fill{fill:none;stroke:var(--deep);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s ease}:root[data-theme=dark] .sim-timer .fill{stroke:var(--lime)}.sim-timer span{font:700 16px var(--font-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sim-timer.is-low .fill{stroke:#ea580c}.sim-timer.is-low span{color:#c2410c;animation:sim-pulse 1s ease-in-out infinite}.sim-dots{margin-block:18px 24px;flex-wrap:wrap}.sim-dots button{position:relative;width:44px;height:44px;border-radius:12px;transition:background-color .16s ease,border-color .16s ease,transform .16s var(--ease-out)}.sim-dots button:active{transform:scale(.94)}.sim-dots button.answered{background:var(--lime);border-color:var(--lime);color:#063d29}.sim-dots button.current{border-color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep);color:var(--deep)}.sim-dots button.current.answered{color:#063d29}.sim-dots button.flagged:after{content:"";position:absolute;top:-4px;inset-inline-end:-4px;width:12px;height:12px;border-radius:50%;background:#f59e0b;border:2px solid var(--surface)}.sim-card{animation:sim-enter .24s var(--ease-out) both}.sim-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sim-card-top .q-instr{margin:0}.sim-flag{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:14px;font-weight:600;transition:background-color .16s ease,color .16s ease,transform .16s var(--ease-out)}.sim-flag svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sim-flag.is-on{background:#fef3c7;border-color:#f59e0b;color:#92400e}.sim-flag.is-on svg{fill:#f59e0b;stroke:#b45309}.sim-flag:active{transform:scale(.96)}.sim-stem{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:20px 22px;border-radius:16px;background:var(--surface-soft);direction:ltr}.sim-stem .q-text{margin:0!important;flex:1 1}.sim-speak{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);transition:background-color .16s ease,color .16s ease,transform .16s var(--ease-out)}.sim-speak svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sim-speak svg path:first-child{fill:currentColor}.sim-speak:active{transform:scale(.92)}.sim-speak.is-playing{background:var(--deep);color:#fff;border-color:var(--deep)}.sim-speak.is-playing .wave-1{animation:sim-wave .9s ease-in-out infinite}.sim-speak.is-playing .wave-2{animation:sim-wave .9s ease-in-out .15s infinite}@media (hover:hover) and (pointer:fine){.sim-flag:hover,.sim-speak:hover{color:var(--ink);border-color:var(--control-border)}}.sim-opt-row{display:flex;align-items:center;gap:10px;direction:ltr}.sim-opt-row .opt{flex:1 1}.practice-panel .sim-opt-row .opt{transition:border-color .16s ease,background-color .16s ease,transform .16s var(--ease-out)}.practice-panel .sim-opt-row .opt:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.practice-panel .sim-opt-row .opt:hover:not(.sim-selected){border-color:var(--deep);background:color-mix(in srgb,var(--lime) 6%,var(--surface))}}.practice-panel .opt.sim-selected{border-color:var(--deep);background:color-mix(in srgb,var(--lime) 16%,var(--surface));box-shadow:inset 0 0 0 1px var(--deep)}.practice-panel .opt.sim-selected .bub{background:var(--lime);border-color:var(--lime);color:#063d29;animation:sim-bub .26s var(--ease-out)}.practice-panel .opt .bub svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sim-keys{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);font-size:13px}.sim-confirm{display:flex;gap:14px;align-items:flex-start;margin-top:24px;padding:18px;border-radius:16px;border:1px solid #f59e0b;background:#fffbeb;animation:sim-pop .3s var(--ease-out) both}:root[data-theme=dark] .sim-confirm{background:#2b2412}.sim-confirm strong{font-size:17px}.sim-confirm p{color:var(--muted);font-size:15px;margin-top:4px}.sim-confirm-actions{display:flex;align-items:center;gap:18px;margin-top:12px;flex-wrap:wrap}.sim-passage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;direction:ltr}.sim-passage-head h2{margin:0!important}.sim-break{max-width:680px;margin:40px auto 64px;display:grid;justify-items:center;text-align:center;grid-gap:14px;gap:14px}.sim-break h1{font-size:36px;line-height:1.2;animation:sim-rise .42s var(--ease-out) .12s both}.sim-break-sub{color:var(--muted);font-size:18px;animation:sim-rise .42s var(--ease-out) .2s both}.sim-break .sim-map{width:100%;margin-top:10px}.sim-break-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;width:100%}.sim-break-stats div{display:grid;grid-gap:2px;gap:2px;padding:14px;border-radius:14px;background:var(--surface-soft);animation:sim-pop .38s var(--ease-out) both}.sim-break-stats div:nth-child(2){animation-delay:60ms}.sim-break-stats div:nth-child(3){animation-delay:.12s}.sim-break-stats b{font-size:24px;color:var(--deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:root[data-theme=dark] .sim-break-stats b{color:var(--lime)}.sim-break-stats span{color:var(--muted);font-size:14px}.sim-breathe{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:15px}.sim-breathe span{width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--lime) 55%,transparent);animation:sim-breathe 8s ease-in-out infinite}.sim-tip{max-width:520px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--lime) 10%,var(--surface));font-size:15px;line-height:1.6}.sim-results .sim-results-hero{gap:18px}.sim-results .sim-results-hero .buddy-says{max-width:420px}.sim-review-flag{-webkit-margin-start:8px;margin-inline-start:8px;padding:1px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:13px;font-weight:700}@keyframes sim-enter{0%{opacity:0;transform:translateX(-14px)}}@keyframes sim-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes sim-pop{0%{opacity:0;transform:translateY(6px) scale(.97)}}@keyframes sim-bub{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes sim-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes sim-wave{0%,to{opacity:1}50%{opacity:.25}}@keyframes sim-breathe{0%,to{transform:scale(.8)}50%{transform:scale(1.5)}}@media (max-width:860px){.sim-path{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-map{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.sim-map li{flex-direction:column;justify-content:center;padding:8px 4px;gap:4px}.sim-map-label{text-align:center}.sim-map-label small{display:none}}@media (max-width:520px){.sim-intro h1{font-size:32px}.sim-path{grid-template-columns:1fr}.sim-head h1{font-size:22px}.sim-timer{width:60px;height:60px}.sim-timer span{font-size:14px}.sim-keys{display:none}.sim-stem{padding:16px}.sim-break h1{font-size:28px}.sim-break-stats b{font-size:20px}.sim-map-label{font-size:11px}}@media (prefers-reduced-motion:reduce){.practice-panel .opt.sim-selected .bub,.sim-break h1,.sim-break-stats div,.sim-break-sub,.sim-breathe span,.sim-card,.sim-confirm,.sim-intro .buddy-says,.sim-path li,.sim-timer.is-low span{animation:none}}.sim-break .sim-map-label small{display:none}.sim-break .sim-map li{justify-content:center}.share-score{margin:20px 0;padding:18px 20px;border-radius:16px;background:var(--accent-soft);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.share-score p{margin:0;font-weight:600}.share-score-actions{display:flex;gap:10px;flex-wrap:wrap}