.sim{border:1px solid var(--line);border-radius:14px;background:var(--bg-card);overflow:hidden;margin:1.8rem 0 2.2rem;font-size:15px;transition:border-color .4s ease,box-shadow .4s ease}.sim[data-health=tight]{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.sim[data-health=over]{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));box-shadow:0 0 0 1px var(--bad-bg),0 0 34px -12px var(--bad)}.sim-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--line-soft);background:var(--bg-soft);flex-wrap:wrap}.sim-title{font-weight:700;font-size:.95rem;letter-spacing:-.02em}.sim-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.btn{font:inherit;font-size:.85rem;font-weight:600;padding:.35rem .8rem;border-radius:7px;cursor:pointer;background:var(--bg-card);color:var(--fg);border:1px solid var(--line);transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--line-soft)}.btn[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn[data-variant=primary]:hover{filter:brightness(1.1)}.btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.verdict{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem 1rem;font-size:.92rem;line-height:1.6;border-bottom:1px solid var(--line-soft)}.verdict[data-k=safe]{background:var(--ok-bg);color:var(--ok-fg)}.verdict[data-k=tight]{background:var(--warn-bg);color:var(--warn-fg)}.verdict[data-k=over]{background:var(--bad-bg);color:var(--bad-fg)}.verdict b{color:inherit}.verdict-icon{font-size:1rem;line-height:1.5;flex-shrink:0}.stage{display:block;width:100%;background:var(--bg)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));border-top:1px solid var(--line-soft)}.metric{padding:.6rem .8rem;border-right:1px solid var(--line-soft)}.metric:last-child{border-right:0}.metric-label{font-size:.72rem;color:var(--fg-dim);letter-spacing:.01em}.metric-value{font-family:var(--mono);font-size:1.15rem;font-weight:600;line-height:1.4}.metric-value small{font-size:.62em;font-weight:400;color:var(--fg-dim);margin-left:.12em}.metric[data-k=ok] .metric-value{color:var(--ok)}.metric[data-k=warn] .metric-value{color:var(--warn)}.metric[data-k=bad] .metric-value{color:var(--bad)}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.2rem 1.4rem;padding:.9rem 1rem 1.1rem;border-top:1px solid var(--line-soft);background:var(--bg-soft)}.ctrl{padding:.45rem 0}.ctrl-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.ctrl-label{font-size:.85rem;font-weight:600}.ctrl-label span{font-weight:400;color:var(--fg-dim);font-size:.78rem;margin-left:.3rem}.ctrl-val{font-family:var(--mono);font-size:.88rem;color:var(--accent);font-weight:600}.ctrl input[type=range]{width:100%;margin:.35rem 0 0;height:22px;accent-color:var(--accent);background:transparent;cursor:pointer}.ctrl-hint{font-size:.76rem;color:var(--fg-dim);line-height:1.5;margin-top:.1rem}.toggles{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem;background:var(--bg-soft)}.toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;padding:.35rem .7rem;border:1px solid var(--line);border-radius:7px;cursor:pointer;background:var(--bg-card);user-select:none}.toggle input{accent-color:var(--accent);margin:0}.toggle[data-on=true]{border-color:var(--accent);color:var(--accent)}.presets{display:flex;gap:.4rem;flex-wrap:wrap;padding:.8rem 1rem;border-top:1px solid var(--line-soft)}.preset{font:inherit;font-size:.82rem;text-align:left;cursor:pointer;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--line);background:var(--bg-card);color:var(--fg-muted);line-height:1.45}.preset:hover{border-color:var(--accent);color:var(--fg)}.preset[aria-pressed=true]{border-color:var(--accent);color:var(--fg);background:var(--accent-bg)}.preset b{display:block;color:var(--fg);font-size:.87rem;font-weight:600}.dist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line-soft)}.dist-panel{min-width:0;border-right:1px solid var(--line-soft)}.dist-panel:last-child{border-right:0}.dist-panel-head{padding:.7rem .9rem .35rem}.dist-panel-head h4{margin:0;font-size:.9rem}.dist-panel-head p{margin:.15rem 0 0;font-size:.78rem;color:var(--fg-dim);line-height:1.45}.dist-panel-note{margin:0;padding:.45rem .9rem .7rem;font-size:.78rem;color:var(--fg-muted);border-top:1px solid var(--line-soft)}.dist-panel .metrics{border-top:1px solid var(--line-soft)}.math{padding:.85rem 1rem;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.84rem;line-height:1.9;color:var(--fg);background:var(--bg-soft)}.math .hl{color:var(--fg);font-weight:600}.math .tag{color:var(--accent)}.chal{border:1px solid var(--line);border-radius:14px;background:var(--bg-card);margin:2rem 0;overflow:hidden}.chal-head{padding:.9rem 1rem;background:linear-gradient(90deg,var(--accent-bg),transparent);border-bottom:1px solid var(--line-soft)}.chal-head h4{margin:0 0 .2rem;font-size:1rem}.chal-head p{margin:0;font-size:.88rem;color:var(--fg-muted)}.goals{display:grid;gap:.4rem;padding:.9rem 1rem}.goal{display:flex;align-items:center;gap:.55rem;font-size:.9rem}.goal-dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;flex-shrink:0;border:1px solid var(--line)}.goal[data-s=pass] .goal-dot{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.goal[data-s=fail] .goal-dot{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.goal-now{margin-left:auto;font-family:var(--mono);font-size:.84rem;color:var(--fg-muted)}.chal-result{padding:.9rem 1rem;border-top:1px solid var(--line-soft);font-size:.92rem;line-height:1.65}.chal-result[data-s=pass]{background:var(--ok-bg)}.chal-result[data-s=fail]{background:var(--bad-bg)}.progress{height:3px;background:var(--line-soft)}.progress>i{display:block;height:100%;background:var(--accent);transition:width .1s linear}@media(max-width:640px){.sim{font-size:14px;border-radius:10px}.metrics{grid-template-columns:repeat(3,1fr)}.metric{border-bottom:1px solid var(--line-soft)}.sim-head,.sim-actions{align-items:stretch}.sim-actions{width:100%}.sim-actions .btn{flex:1 1 auto}.controls{grid-template-columns:minmax(0,1fr);padding-inline:.8rem}.presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:.8rem}.preset:last-child{grid-column:1 / -1}.dist-grid{grid-template-columns:minmax(0,1fr)}.dist-panel{border-right:0;border-bottom:1px solid var(--line-soft)}.dist-panel:last-child{border-bottom:0}.toggles{align-items:stretch;padding-inline:.8rem}.toggles>*{flex:1 1 100%}.toggles .btn{margin-left:0!important}.math{overflow-x:auto}}.quiz{margin:2rem 0;display:grid;gap:1rem}.quiz-item{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:var(--bg-card)}.quiz-q{font-size:.96rem;margin-bottom:.7rem;line-height:1.65}.quiz-choices{display:grid;gap:.35rem}.quiz-choice{font:inherit;font-size:.9rem;text-align:left;cursor:pointer;line-height:1.5;display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--line);background:var(--bg-soft);color:var(--fg);transition:border-color .15s,background .15s}.quiz-choice:hover:not(:disabled){border-color:var(--accent)}.quiz-choice:disabled{cursor:default}.quiz-choice[data-s=right]{border-color:var(--ok);background:var(--ok-bg)}.quiz-choice[data-s=wrong]{border-color:var(--bad);background:var(--bad-bg)}.quiz-choice[data-s=off]{opacity:.45}.quiz-mark{flex-shrink:0;width:19px;height:19px;border-radius:50%;margin-top:.15rem;display:grid;place-items:center;font-size:.72rem;font-weight:700;border:1px solid var(--line);color:var(--fg-dim)}.quiz-choice[data-s=right] .quiz-mark{border-color:var(--ok);color:var(--ok)}.quiz-choice[data-s=wrong] .quiz-mark{border-color:var(--bad);color:var(--bad)}.quiz-why{margin-top:.7rem;font-size:.89rem;line-height:1.65;color:var(--fg-muted);padding-left:.1rem}.quiz-why[data-s=right] b{color:var(--ok)}.quiz-why[data-s=wrong] b{color:var(--warn)}.controls fieldset.ctrl{display:block}.controls legend.ctrl-top{display:flex;justify-content:space-between;align-items:baseline}
