.sim{--sim-teal:#0f766e;--sim-slate:#64748b;--sim-navy:#0a1628;--sim-warn:#c2410c;--sim-warn-soft:#fff1e8;--sim-ok:#15803d;--sim-identity-soft:#e7f1fb;--sim-rule-2:#cbd5e1}.sim-block{max-width:72rem;margin:0 auto;padding:28px 24px 0}.sim-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px;font-weight:600}.sim-label-gap{margin-top:16px}.sim-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.sim-legend{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.sim-legend span:before{content:"";vertical-align:-1px;background:var(--c);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.sim-stage{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.sim-diagram{border:1px solid var(--color-border);background:var(--bg-primary);border-radius:8px;overflow:hidden}.sim-diagram svg{width:100%;height:auto;margin:0 auto;display:block}.sim-diagram[data-orient=v]{display:none}.sim-diagram .zone-wash{fill:var(--bg-subtle)}.sim-diagram .zone-wash.product{fill:var(--sim-identity-soft)}.sim-diagram .conn.muted{opacity:.18}.sim-diagram .conn.muted .dot{display:none}.sim-diagram .zone-line{stroke:var(--text-primary);stroke-width:1.5px;stroke-dasharray:6 5}.sim-diagram .zone-label,.sim-diagram .frame-label{letter-spacing:.08em;text-transform:uppercase;fill:var(--text-muted);font-size:10px;font-weight:600}.sim-diagram .frame-rect{fill:none;stroke:var(--sim-rule-2);stroke-dasharray:3 4}.sim-diagram .box rect{fill:var(--bg-primary);stroke:var(--sim-rule-2);transition:opacity .25s,stroke .25s}.sim-diagram .box .holder{stroke-width:3px}.sim-diagram .box text.name{fill:var(--text-primary);font-family:Inter,system-ui,sans-serif;font-size:12.5px;font-weight:600}.sim-diagram .box text.who{fill:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:10px}.sim-diagram .box .mark{fill:var(--brand-primary);font-size:12px}.sim-diagram .box.dim{opacity:.28}.sim-diagram .box.broken rect{stroke:var(--sim-warn)}.sim-diagram .box.broken text.who{fill:var(--sim-warn);font-weight:600}.sim-diagram .conn .wire{fill:none;stroke:var(--sim-rule-2);stroke-width:1.75px}.sim-diagram .conn.speed-minutes .wire{stroke-dasharray:9 5}.sim-diagram .conn.speed-hours .wire{stroke-dasharray:4 4}.sim-diagram .conn.speed-daily .wire{stroke-dasharray:1.5 5;stroke-linecap:round}.sim-diagram .conn.active .wire{stroke:var(--brand-primary)}.sim-diagram .conn.dim{opacity:.2}.sim-diagram .conn.broken .wire{stroke:var(--sim-warn)}.sim-diagram .dot{fill:var(--brand-primary)}.sim-diagram .conn.broken .dot{display:none}.sim-speedkey{color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:11px;display:flex}.sim-speedkey i{border-top:2px solid var(--sim-rule-2);vertical-align:3px;width:26px;margin-right:5px;display:inline-block}.sim-speedkey i.speed-minutes{border-top-style:dashed}.sim-speedkey i.speed-hours{border-top-style:dashed;border-image:repeating-linear-gradient(90deg, var(--sim-rule-2) 0 4px, transparent 4px 8px) 1}.sim-speedkey i.speed-daily{border-top-style:dotted}.sim-rail{border:1px solid var(--color-border);background:var(--bg-primary);border-radius:8px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"n n""track track""title side""body side""moving side";gap:6px 28px;padding:16px 18px;display:grid}.sim-rail-n{grid-area:n}.sim-track{grid-area:track}.sim-rail h3{grid-area:title}.sim-rail-body{grid-area:body}.sim-moving{grid-area:moving}.sim-rail .sim-notice,.sim-rail .sim-btns{grid-column:side}.sim-rail .sim-notice{grid-row:title/span 2;align-self:start;margin-top:0}.sim-rail .sim-btns{grid-row:moving;justify-content:flex-end;align-self:end;margin-top:0}.sim-rail noscript{grid-column:1/-1}.sim-moving{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.sim-chip{color:var(--brand-primary);background:var(--sim-identity-soft);border-radius:999px;padding:3px 10px;font-size:12px}.sim-rail-n{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:11px;display:flex}.sim-track{gap:4px;margin:8px 0 12px;display:flex}.sim-track i{background:var(--color-border);border-radius:2px;flex:1;height:3px}.sim-track i.on{background:var(--brand-primary)}.sim-rail h3{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.25}.sim-rail-body{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.sim-notice{border-left:3px solid var(--brand-primary);background:var(--sim-identity-soft);border-radius:0 6px 6px 0;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.5}.sim-notice b{color:var(--brand-primary)}.sim-btns{gap:8px;margin-top:14px;display:flex}.sim-btn{font:inherit;border:1px solid var(--sim-rule-2);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.sim-btn[disabled]{opacity:.45;cursor:default}.sim-btn.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:inset 0 1px #ffffff40}.sim-btn.primary:hover{filter:brightness(1.08)}.sim-steps-static{color:var(--text-secondary);gap:8px;margin:12px 0 0;padding-left:18px;font-size:13px;display:grid}.sim-breaks{border-top:1px solid var(--color-border);margin-top:18px;padding-top:14px}.sim-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.sim-switch{border:1px solid var(--sim-rule-2);cursor:pointer;background:var(--bg-primary);border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:13px;display:inline-flex;position:relative}.sim-switch input{opacity:0;width:1px;height:1px;position:absolute}.sim-switch .t{background:var(--sim-rule-2);border-radius:999px;flex:none;width:28px;height:16px;transition:background .2s;position:relative}.sim-switch .t:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:2px;left:2px}.sim-switch input:checked+.t{background:var(--sim-warn)}.sim-switch input:checked+.t:after{transform:translate(12px)}.sim-switch.on{border-color:var(--sim-warn)}.sim-switch input:focus-visible+.t{outline:2px solid var(--brand-primary);outline-offset:3px}.sim-callout{border-left:3px solid var(--sim-warn);background:var(--sim-warn-soft);border-radius:0 6px 6px 0;margin-top:12px;padding:12px 14px;font-size:13.5px;line-height:1.5}.sim-callout.variant{border-left-color:var(--brand-primary);background:var(--sim-identity-soft)}.sim-callout b{margin-top:6px;display:block}.sim-callout small{color:var(--text-muted);margin-top:6px;display:block}.sim-callout small a{color:inherit}.sim-callout hr{border:none;border-top:1px solid var(--color-border);margin:10px 0}.sim-callout:empty{display:none}.sim-seg{border:1px solid var(--sim-rule-2);border-radius:6px;flex-wrap:wrap;margin-top:10px;display:inline-flex;overflow:hidden}.sim-seg button{font:inherit;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border:none;border-right:1px solid var(--sim-rule-2);padding:7px 12px;font-size:12.5px}.sim-seg button:last-child{border-right:none}.sim-seg button[aria-pressed=true]{background:var(--brand-primary);color:#fff}.sim-builder{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px;display:grid}.sim-card{border:1px solid var(--color-border);border-radius:8px;padding:14px}.sim-card h4{margin:0 0 10px;font-size:13px;font-weight:700}.sim-found{gap:6px;display:grid}.sim-found label{border:1px solid var(--color-border);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.sim-found label:has(input:checked){border-color:var(--brand-primary);background:var(--sim-identity-soft)}.sim-found small{color:var(--text-muted);font-size:11px;display:block}.sim-goal{gap:8px;display:grid}.sim-goal label{color:var(--text-muted);font-size:11px;display:block}.sim-goal select{width:100%;font:inherit;border:1px solid var(--sim-rule-2);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;padding:7px 8px;font-size:13px}.sim-sentence{color:var(--text-secondary);background:var(--bg-subtle);border-radius:6px;margin-top:4px;padding:10px 12px;font-size:13px;line-height:1.5}.sim-sentence.incomplete{border-left:3px solid var(--sim-warn)}.sim-auton input[type=range]{width:100%;accent-color:var(--brand-primary)}.sim-stops{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.sim-autonnow{margin:8px 0 0;font-size:13px}.sim-boxes ul{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sim-boxes li{grid-template-columns:6px 1fr;gap:12px;display:grid}.sim-holder{background:var(--c);border-radius:2px}.sim-boxes b{font-size:14px}.sim-who{color:var(--text-muted);margin-left:6px;font-size:12px}.sim-boxes p{color:var(--text-secondary);margin:2px 0 0;font-size:13.5px}.sim-eg{color:var(--text-muted)!important;font-size:12px!important}.sim-eg a{color:inherit}.sim-quiz h3,.sim-exit h3{letter-spacing:-.02em;margin:4px 0 0;font-size:20px;font-weight:800}.sim-q{margin-top:16px}.sim-q>p{margin:0 0 8px;font-weight:600}.sim-opts{gap:6px;display:grid}.sim-opts button{font:inherit;text-align:left;border:1px solid var(--sim-rule-2);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:9px 12px;font-size:13.5px}.sim-opts button.right{border-color:var(--sim-ok);box-shadow:inset 3px 0 0 var(--sim-ok)}.sim-opts button.wrong{border-color:var(--sim-warn);box-shadow:inset 3px 0 0 var(--sim-warn)}.sim-why{color:var(--text-secondary);min-height:1.2em;margin:8px 0 0;font-size:13px}.sim-score{color:var(--text-secondary);margin:18px 0 0;font-size:14px}.sim-exit{border-top:1px solid var(--color-border);grid-template-columns:1.2fr 1fr;gap:28px;margin-top:28px;padding-top:28px;padding-bottom:40px;display:grid}.sim-sub{color:var(--text-secondary);margin:6px 0 14px;font-size:14px}.sim-todo{color:var(--sim-warn)}.sim-next{margin-top:16px}.sim-next a{color:var(--text-primary);font-weight:600}.sim-links{gap:6px;margin:8px 0 0;padding:0;font-size:13.5px;list-style:none;display:grid}.sim-links li:before{content:"→ ";color:var(--text-muted)}.sim-links a{color:var(--text-primary);text-decoration:none}.sim-links a:hover{text-decoration:underline}.sim-btn:focus-visible,.sim-seg button:focus-visible,.sim-opts button:focus-visible,.sim-goal select:focus-visible,.sim-auton input:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.sim-diagram .dot{display:none}}@media (width<=767px){.sim-block{padding:22px 16px 0}.sim-stage{grid-template-columns:1fr;gap:12px}.sim-diagram[data-orient=h]{display:none}.sim-diagram[data-orient=v]{width:fit-content;max-width:100%;margin:0 auto;display:block}.sim-rail{z-index:5;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n btns""track track""title title""body body""notice notice""moving moving";align-items:center;gap:4px 12px;max-height:50vh;padding-top:0;position:sticky;bottom:0;overflow-y:auto;box-shadow:0 -6px 24px #0f172a1a}.sim-rail-n,.sim-rail .sim-btns{background:var(--bg-primary);padding-top:14px;position:sticky;top:0}.sim-rail-n span:first-child{white-space:nowrap}.sim-rail-n span:last-child{display:none}.sim-rail .sim-btns{grid-area:btns;margin-top:0}.sim-track{margin:4px 0 8px}.sim-rail-body{font-size:13.5px}.sim-rail .sim-notice{grid-area:notice;margin-top:6px}.sim-builder,.sim-exit{grid-template-columns:1fr}}
