:root{--bg: #0d0f12;--bg-raised: #15181d;--bg-raised-2: #1b1f26;--line: #262b33;--line-strong: #333a45;--text: #e8eaed;--text-dim: #9aa3af;--text-faint: #6b7480;--accent: #ff7a1a;--accent-hot: #ff9142;--accent-dim: rgba(255, 122, 26, .12);--green: #3ecf6f;--green-dim: rgba(62, 207, 111, .12);--red: #ff5c5c;--red-dim: rgba(255, 92, 92, .1);--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--shadow: 0 4px 24px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);background-image:radial-gradient(1200px 600px at 80% -10%,rgba(255,122,26,.05),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(70,90,120,.06),transparent 60%);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;min-height:100vh}button{font-family:inherit;cursor:pointer}input{font-family:inherit}a{color:var(--accent-hot)}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1060px;margin:0 auto;padding:20px 16px 80px}.container-narrow{max-width:760px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0d0f12d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.topbar-badge{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.08em;color:#0d0f12;background:var(--accent);border-radius:6px;padding:2px 7px}.topbar-title{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-user{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-name{color:var(--text-dim);font-size:14px;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .05s;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#16110b}.btn-primary:hover:not(:disabled){background:var(--accent-hot)}.btn-accent{background:var(--accent);color:#16110b;font-family:var(--display);font-size:18px;letter-spacing:.04em;text-transform:uppercase;padding:12px 22px}.btn-accent:hover:not(:disabled){background:var(--accent-hot)}.btn-ghost{background:transparent;color:var(--text-dim);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}.btn-block{width:100%;margin-top:18px}.field{width:100%;background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;color:var(--text);font-size:16px;padding:12px 14px;outline:none;transition:border-color .15s}.field:focus{border-color:var(--accent)}.field-label{display:block;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:16px 0 6px}.form-error{margin-top:12px;padding:10px 12px;background:var(--red-dim);border:1px solid rgba(255,92,92,.35);border-radius:8px;color:var(--red);font-size:14px}.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.gate-card{width:100%;max-width:400px;background:var(--bg-raised);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:var(--shadow)}.gate-badge{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.1em;color:#16110b;background:var(--accent);border-radius:8px;display:inline-block;padding:3px 12px;margin-bottom:16px}.gate-title{font-family:var(--display);font-size:34px;font-weight:700;line-height:1.1;letter-spacing:.01em}.gate-sub{color:var(--text-dim);font-size:14.5px;margin-top:8px}.gate-backlink{display:inline-block;margin-top:18px;font-size:14px;color:var(--text-dim);text-decoration:none}.gate-backlink:hover{color:var(--text)}.progress-block{margin:8px 0 24px}.progress-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.progress-label{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:.03em}.progress-pct{font-family:var(--mono);font-size:13px;color:var(--text-dim)}.progress-track{height:8px;border-radius:99px;background:var(--bg-raised-2);border:1px solid var(--line);overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-hot));transition:width .6s cubic-bezier(.22,1,.36,1)}.module-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 640px){.module-grid{grid-template-columns:1fr 1fr}}.module-card{display:block;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;text-decoration:none;color:var(--text);transition:border-color .15s,background .15s,transform .1s}.module-card:hover{border-color:var(--accent);background:var(--bg-raised-2);transform:translateY(-1px)}.module-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.module-number{font-family:var(--display);font-weight:700;font-size:30px;line-height:1;color:var(--accent);letter-spacing:.02em}.module-number-lg{font-size:52px}.pass-badge{display:inline-flex;align-items:center;gap:4px;background:var(--green-dim);border:1px solid rgba(62,207,111,.4);color:var(--green);font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.02em;border-radius:99px;padding:3px 10px;white-space:nowrap}.module-title{font-family:var(--display);font-size:24px;font-weight:600;line-height:1.15;letter-spacing:.01em}.module-summary{color:var(--text-dim);font-size:14px;margin-top:6px;line-height:1.5}.module-meta{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--mono);font-size:12px;color:var(--text-faint)}.module-passdate{color:var(--green)}.module-header{display:flex;align-items:center;gap:18px;margin:12px 0 24px}.module-page-title{font-family:var(--display);font-size:clamp(30px,6vw,42px);font-weight:700;line-height:1.05}.module-page-sub{color:var(--text-faint);font-family:var(--mono);font-size:12.5px;margin-top:4px}.lesson{background:var(--bg-raised);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,40px);font-size:16.5px;line-height:1.75}.lesson>*:first-child{margin-top:0}.lesson h1{display:none}.lesson h2{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:.01em;line-height:1.2;margin:2.2em 0 .6em;padding-top:.8em;border-top:1px solid var(--line);color:var(--text)}.lesson-section:first-child h2{border-top:none;padding-top:0;margin-top:.4em}.lesson h3{font-family:var(--display);font-size:21px;font-weight:600;margin:1.6em 0 .5em}.lesson p{margin:0 0 1.1em;color:#d5d9de}.lesson strong{color:var(--text);font-weight:600}.lesson em{color:var(--text)}.lesson ul,.lesson ol{margin:0 0 1.2em;padding-left:1.4em;color:#d5d9de}.lesson li{margin-bottom:.5em}.lesson blockquote{margin:0 0 1.2em;padding:12px 18px;border-left:3px solid var(--accent);background:var(--accent-dim);border-radius:0 10px 10px 0;font-family:var(--mono);font-size:14.5px;color:var(--text)}.lesson blockquote p{margin:0;color:inherit}.lesson code{font-family:var(--mono);font-size:.88em;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--accent-hot)}.lesson table{width:100%;border-collapse:collapse;margin:0 0 1.3em;font-size:14.5px}.lesson th,.lesson td{text-align:left;padding:8px 12px;border:1px solid var(--line-strong)}.lesson th{font-family:var(--display);font-size:16px;letter-spacing:.03em;background:var(--bg-raised-2)}.lesson hr{border:none;border-top:1px solid var(--line);margin:2em 0}.lesson-takeaways h2{border-top:none;background:var(--accent-dim);border:1px solid rgba(255,122,26,.3);border-bottom:none;border-radius:12px 12px 0 0;padding:14px 18px 10px;margin-bottom:0}.lesson-takeaways ul{background:var(--accent-dim);border:1px solid rgba(255,122,26,.3);border-top:none;border-radius:0 0 12px 12px;padding:14px 18px 14px 38px;margin-bottom:0}.symbol-chart{margin:20px 0 8px;border:1px solid var(--line-strong);border-radius:14px;background:var(--bg);padding:18px}.symbol-chart-title{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:.01em}.symbol-chart-sub{color:var(--text-dim);font-size:13.5px;margin:4px 0 0}.symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:16px}.symbol-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.symbol-figure{color:var(--accent-hot);background:var(--bg-raised-2);border-radius:8px;padding:6px 10px;margin-bottom:10px}.symbol-svg{display:block;width:100%;height:auto;max-height:84px}.symbol-name{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.02em;margin-bottom:4px}.symbol-meaning{color:var(--text-dim);font-size:13px;line-height:1.5}.section-chat{margin:18px 0 6px}.section-ask{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px dashed var(--line-strong);border-radius:99px;color:var(--text-dim);font-size:13.5px;font-weight:500;padding:8px 16px;transition:color .15s,border-color .15s}.section-ask:hover{color:var(--text);border-color:var(--accent)}.section-ask-icon{font-size:14px}.section-chat-open{background:var(--bg);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:10px;padding:12px}.section-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.section-chat-label{font-size:12.5px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-chat-label strong{color:var(--text-dim)}.section-chat-min{background:none;border:none;color:var(--text-faint);font-size:15px;line-height:1;padding:2px 8px}.section-chat-min:hover{color:var(--text)}.section-chat-msgs{display:flex;flex-direction:column;gap:8px;max-height:45vh;overflow-y:auto;margin-bottom:4px;padding:2px}.section-chat .chat-bubble{font-size:14.5px}.section-chat .chat-inputrow{margin-top:8px}.section-chat .field{padding:9px 12px;font-size:15px}.section-chat .btn{padding:9px 14px;font-size:14px}.video-card{display:flex;align-items:center;gap:16px;margin:20px 0;padding:18px 20px;background:linear-gradient(135deg,var(--bg-raised-2),var(--bg-raised));border:1px solid var(--line-strong);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .15s}.video-card:hover{border-color:var(--accent)}.video-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#16110b;border-radius:12px;font-size:18px;padding-left:3px}.video-card-title{font-family:var(--display);font-size:20px;font-weight:600;line-height:1.2}.video-card-sub{color:var(--text-dim);font-size:13.5px;margin-top:2px}.extra-videos{display:flex;flex-direction:column;gap:8px;margin:-8px 0 20px}.extra-video-link{display:block;padding:12px 18px;background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;color:var(--text-dim);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s}.extra-video-link:hover{border-color:var(--accent);color:var(--text)}.chat-section{margin-top:24px}.chat-panel{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.chat-toggle{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--text);padding:16px 18px;font-size:15.5px;font-weight:600;text-align:left}.chat-toggle:hover{background:var(--bg-raised-2)}.chat-toggle-icon{font-size:18px}.chat-toggle-text{flex:1}.chevron{color:var(--text-faint);transition:transform .2s}.chevron-up{transform:rotate(180deg)}.chat-body{border-top:1px solid var(--line);padding:14px}.chat-scroll{max-height:55vh;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 8px;scroll-behavior:smooth}.chat-empty{color:var(--text-dim);font-size:14.5px;padding:14px;background:var(--bg);border:1px dashed var(--line-strong);border-radius:10px}.chat-bubble{max-width:88%;border-radius:14px;padding:10px 14px;font-size:15px;line-height:1.55;overflow-wrap:break-word}.chat-user{align-self:flex-end;background:var(--accent);color:#16110b;border-bottom-right-radius:4px;white-space:pre-wrap}.chat-assistant{align-self:flex-start;background:var(--bg-raised-2);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-assistant p{margin:0 0 .7em}.chat-assistant p:last-child{margin-bottom:0}.chat-assistant ul,.chat-assistant ol{margin:0 0 .7em;padding-left:1.3em}.chat-assistant code{font-family:var(--mono);font-size:.85em;background:var(--bg);border-radius:5px;padding:1px 5px;color:var(--accent-hot)}.chat-typing{display:flex;gap:5px;padding:14px 16px}.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--text-faint);animation:blink 1.2s infinite both}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-inputrow{display:flex;gap:8px;margin-top:10px}.chat-input{flex:1}.chat-error,.chat-reset{margin-top:10px}.quiz-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding:18px 20px;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius)}.quiz-cta-title{font-family:var(--display);font-size:21px;font-weight:600}.quiz-cta-sub{color:var(--text-dim);font-size:13.5px;margin-top:2px;max-width:420px}.quiz-banner{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius);margin-bottom:16px;animation:pop-in .35s cubic-bezier(.22,1.4,.36,1)}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}.quiz-banner-pass{background:var(--green-dim);border:1px solid rgba(62,207,111,.45)}.quiz-banner-fail{background:var(--red-dim);border:1px solid rgba(255,92,92,.35)}.quiz-banner-emoji{font-size:30px}.quiz-banner-title{font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:.02em}.quiz-banner-pass .quiz-banner-title{color:var(--green)}.quiz-banner-fail .quiz-banner-title{color:var(--red)}.quiz-banner-sub{color:var(--text-dim);font-size:14px}.quiz-page{display:flex;flex-direction:column;flex:1;padding-top:16px}.quiz-page-note{font-family:var(--mono);font-size:12.5px;color:var(--text-faint);text-align:center;padding:8px 12px;border:1px dashed var(--line-strong);border-radius:10px;margin-bottom:14px}.quiz-chat{display:flex;flex-direction:column;flex:1;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.quiz-scroll{flex:1;max-height:none;min-height:40vh}.quiz-done-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.quiz-done-actions .btn{flex:1;min-width:160px}.results-empty{margin-top:20px}.results-heading{font-family:var(--display);font-size:18px;margin:26px 0 10px}.access-code-row{display:flex;align-items:center;gap:12px;margin:14px 0 4px;flex-wrap:wrap}.access-code-value{font-size:16px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-raised);-webkit-user-select:all;user-select:all}.owner-note-fab{position:fixed;bottom:18px;left:18px;z-index:60;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg-raised);color:inherit;font-size:18px;cursor:pointer;box-shadow:0 4px 14px #00000040}.owner-note-panel{position:fixed;bottom:72px;left:18px;z-index:60;width:min(340px,calc(100vw - 36px));padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);box-shadow:0 8px 30px #00000059}.owner-note-title{font-family:var(--display);font-size:15px;margin-bottom:8px}.owner-note-text{width:100%;resize:vertical;font:inherit;font-size:14px;padding:8px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit}.owner-note-actions{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.builder-notes{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.builder-note{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.builder-note-meta{font-size:12.5px;opacity:.7;margin-bottom:4px}.builder-note-text{font-size:14.5px;white-space:pre-wrap}.results-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.results-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}.results-table th{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line-strong);background:var(--bg-raised-2)}.results-table td{padding:12px 16px;border-bottom:1px solid var(--line)}.results-table tr:last-child td{border-bottom:none}.results-name{font-weight:600;text-transform:capitalize}.results-modnum{font-family:var(--display);font-weight:700;color:var(--accent)}.results-score{font-family:var(--mono);color:var(--green)}.results-date{color:var(--text-dim);font-size:13.5px;white-space:nowrap}.results-pay{font-family:var(--mono);color:var(--accent-hot);white-space:nowrap}.pay-tag{display:inline-block;margin-left:10px;padding:2px 10px;background:var(--accent-dim);border:1px solid rgba(255,122,26,.35);border-radius:99px;color:var(--accent-hot);font-family:var(--mono);font-size:11.5px}.pay-totals{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pay-total-chip{display:flex;align-items:baseline;gap:10px;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:10px;padding:10px 16px}.pay-total-name{font-family:var(--display);font-size:18px;font-weight:600;text-transform:capitalize}.pay-total-hours{font-family:var(--mono);font-size:13px;color:var(--accent-hot)}@media (max-width: 480px){.container{padding:16px 12px 64px}.chat-bubble{max-width:94%}.quiz-cta{flex-direction:column;align-items:stretch;text-align:center}.quiz-cta-sub{max-width:none}}.level-section{margin-bottom:36px}.level-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0}.level-title{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:.02em}.progress-label-sm{font-family:var(--mono);font-size:12.5px;color:var(--text-dim);white-space:nowrap}.level-section .progress-track{margin-bottom:16px}.module-card-locked{opacity:.55;cursor:not-allowed;-webkit-user-select:none;user-select:none}.module-card-locked:hover{border-color:var(--line);background:var(--bg-raised);transform:none}.module-card-locked .module-number{color:var(--text-faint)}.lock-badge{font-size:16px}.practice-intro{background:var(--accent-dim);border:1px solid rgba(255,122,26,.3);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px}.practice-intro-title{font-family:var(--display);font-size:20px;font-weight:600;margin-bottom:4px}.practice-intro-text{color:var(--text-dim);font-size:14.5px;line-height:1.55;margin:0}.practice-chat{margin-bottom:18px}.practice-chat .quiz-scroll{min-height:30vh;max-height:60vh}.results-note{margin:-.25rem 0 .75rem;font-size:.9rem;color:var(--muted, #667)}.sim-main{padding-bottom:3rem}.sim-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.sim-mode-card{border:1px solid var(--line);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--bg-raised)}.sim-mode-card h3{margin:0}.sim-mode-card p{margin:0;font-size:.92rem}.sim-ro{border-left:4px solid var(--accent);padding:.6rem .9rem;margin:1rem 0;background:var(--bg-raised);border-radius:6px}.sim-teach{margin-top:.4rem;font-size:.92rem;color:var(--text-dim)}.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sim-panel{border:1px solid var(--line);border-radius:10px;padding:.9rem;background:var(--bg-raised);min-width:0}.sim-panel h3{margin:0 0 .6rem;font-size:1rem}.sim-panel-wide{grid-column:1 / -1}@media (max-width: 760px){.sim-grid{grid-template-columns:1fr}}.sim-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.sim-tabs button,.sim-seg button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:6px;padding:.35rem .7rem;cursor:pointer;font:inherit}.sim-tabs button.on,.sim-seg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.sim-seg{display:inline-flex;gap:.3rem}.sim-seg.wrap{flex-wrap:wrap}.sim-diagram{width:100%;height:auto;display:block;background:var(--bg-raised);border-radius:8px}.sim-comp{fill:none;stroke:currentColor;stroke-width:1.6}.sim-comp.missing{stroke-dasharray:4 3;opacity:.5}.sim-box{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:3 3;opacity:.6}.sim-conn{fill:var(--bg-raised);stroke:currentColor;stroke-width:1.4}.sim-coil{fill:none;stroke:currentColor;stroke-width:1.4}.sim-wire{stroke:currentColor;stroke-width:2.2;fill:none}.sim-wire.red{stroke:#d33}.sim-wire.pink{stroke:#e39}.sim-wire.ltblue{stroke:#39c}.sim-wire.dkgreen{stroke:#2a7}.sim-wire-thin{stroke:currentColor;stroke-width:1;fill:none}.sim-node{fill:currentColor}.sim-label{font-size:12px;fill:currentColor;font-family:inherit}.sim-label.small{font-size:10px;opacity:.8}.sim-pin{font-size:10px;fill:currentColor;font-weight:600}.sim-warn{font-size:10px;fill:#d33;font-weight:700}.sim-tp{cursor:pointer}.sim-tp-hit{fill:transparent}.sim-tp:hover .sim-tp-dot{r:6}.sim-tp-dot{fill:#f2b01e;stroke:#fff3c4;stroke-width:1}.sim-tp-dot.red{fill:#d33;stroke:#700}.sim-tp-dot.black{fill:#111;stroke:#aaa}.sim-probe-tag{font-size:9px;font-weight:700}.sim-probe-tag.red{fill:#d33}.sim-probe-tag.black{fill:#ddd}.sim-connviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.sim-connview{border:1px solid var(--line);border-radius:8px;padding:.6rem}.sim-connview-title{font-weight:600;font-size:.92rem;margin-bottom:.4rem}.sim-connview-sides{display:flex;flex-direction:column;gap:.5rem}.sim-connface-label{font-size:.78rem;color:var(--text-dim)}.sim-connface-body{display:inline-flex;gap:.4rem;padding:.5rem .6rem;border:2px solid currentColor;border-radius:8px;position:relative;margin-top:.7rem}.sim-connface-tab{position:absolute;top:-8px;left:12px;width:18px;height:8px;background:currentColor;border-radius:3px 3px 0 0}.sim-connface-body.tab-right .sim-connface-tab{left:auto;right:12px}.sim-cavity{width:40px;height:40px;border-radius:6px;border:2px solid currentColor;background:transparent;color:inherit;font-weight:700;cursor:pointer;font:inherit}.sim-cavity.unused{opacity:.35;cursor:default}.sim-cavity.red{background:#d33;color:#fff;border-color:#700}.sim-cavity.black{background:#111;color:#fff;border-color:#aaa}.sim-connview-note{font-size:.8rem;color:var(--text-dim);margin-top:.4rem}.sim-warn-badge{margin-left:.5rem;font-size:.75rem;color:#d33;font-weight:700}.sim-meter-display{background:#1d2a1f;color:#cfe;border-radius:8px;padding:.6rem .8rem;margin-bottom:.6rem}.sim-meter-screen{font-family:ui-monospace,Menlo,monospace;font-size:1.8rem;letter-spacing:.05em}.sim-meter-note{font-size:.85rem;color:#ffe9a8;margin-top:.3rem}.sim-meter-fuse{font-size:.85rem;color:#ffb3b3;margin-top:.3rem}.sim-meter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.45rem 0}.sim-meter-row>label{min-width:110px;font-size:.85rem;font-weight:600}.sim-meter-row select,.sim-diag select,.sim-mode-card select{font:inherit;padding:.3rem .4rem;border-radius:6px;border:1px solid var(--line);max-width:100%;background:var(--bg-raised);color:inherit}.sim-hint{font-size:.8rem;color:var(--text-dim)}.sim-probes{display:flex;flex-wrap:wrap;gap:.4rem}.sim-probe-btn{border-radius:6px;padding:.35rem .6rem;font:inherit;cursor:pointer;border:2px solid transparent;color:#fff}.sim-probe-btn.red{background:#b32}.sim-probe-btn.black{background:#333}.sim-probe-btn.armed{border-color:#f2b01e;box-shadow:0 0 0 2px #f2b01e55}.sim-meter-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.sim-inline{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.sim-lamp-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.sim-lamp{font-size:1.6rem;line-height:1;color:#888}.sim-lamp.on{color:#f2b01e;text-shadow:0 0 8px #f2b01e}.sim-lamp.dim{color:#b58a2a}.sim-flow-title{font-weight:600;margin-bottom:.4rem}.sim-flow-step{border:1px solid var(--line);border-radius:8px;padding:.7rem}.sim-flow-stepid{font-size:.78rem;color:var(--text-dim)}.sim-flow-branches{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.sim-flow-feedback{border-radius:8px;padding:.6rem;margin-top:.4rem}.sim-flow-feedback.ok{background:var(--green-dim);border:1px solid var(--green)}.sim-flow-feedback.bad{background:var(--red-dim);border:1px solid var(--red)}.sim-note-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem;align-items:end}.sim-note-form label{display:flex;flex-direction:column;font-size:.78rem;gap:.2rem}.sim-note-form input{font:inherit;padding:.3rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--bg-raised);color:inherit}.sim-note-table{margin-top:.6rem;font-size:.85rem}.sim-ledger{margin-top:.8rem;font-size:.88rem}.sim-ledger ul{padding-left:1.1rem;margin:.3rem 0}.sim-ledger li{margin:.2rem 0}.sim-diag{display:flex;flex-direction:column;gap:.5rem}.sim-diag textarea{font:inherit;padding:.4rem;border:1px solid var(--line);border-radius:6px;background:var(--bg-raised);color:inherit}.sim-result{border-radius:10px;padding:1rem;margin:1rem 0}.sim-result.ok{background:var(--green-dim);border:1px solid var(--green)}.sim-result.bad{background:var(--red-dim);border:1px solid var(--red)}.sim-result h2{margin:0 0 .4rem}.sim-meter-layout{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:.9rem;align-items:start}@media (max-width: 560px){.sim-meter-layout{grid-template-columns:1fr}}.sim-meter-side{display:flex;flex-direction:column;gap:.5rem;min-width:0}.sim-meter-side select{font:inherit;padding:.35rem .4rem;border-radius:6px;border:1px solid var(--line);background:var(--bg-raised-2);color:var(--text);max-width:100%}.sim-dmm{width:100%;max-width:330px;height:auto;display:block;-webkit-user-select:none;user-select:none}.dmm-body{fill:#f2b51c}.dmm-face{fill:#3b3f46}.dmm-bezel{fill:#23262b}.dmm-lcd{fill:#cfd8c4}.dmm-lcd.off{fill:#a8b09f}.dmm-digits{font-family:var(--mono);font-size:46px;font-weight:700;fill:#15181a;letter-spacing:.03em}.dmm-unit{font-family:var(--mono);font-size:15px;font-weight:700;fill:#15181a}.dmm-ann{font-family:var(--mono);font-size:10.5px;font-weight:700;fill:#23262b}.dmm-scale{font-family:var(--mono);font-size:7px;fill:#3a3e42}.dmm-seg{fill:#b9c2af}.dmm-seg.on{fill:#15181a}.dmm-btn{fill:#2b2e33;stroke:#55595f;stroke-width:1}.dmm-btn.yellow{fill:#f2b51c;stroke:#c9931a}.dmm-btn-label{font-size:9.5px;fill:#e6e8eb;font-family:var(--body);font-weight:600}.dmm-brand{font-size:9px;fill:#d7dbe0;font-family:var(--body);font-weight:700;letter-spacing:.08em}.dmm-dial-ring{fill:#202327}.dmm-dial{fill:#4c5159;stroke:#6c727b;stroke-width:1.5}.dmm-pointer{stroke:#f4f5f6;stroke-width:6;stroke-linecap:round}.dmm-pointer-dot{fill:#f2b51c}.dmm-pos{cursor:pointer}.dmm-pos-hit{fill:transparent}.dmm-tick{stroke:#aab1bb;stroke-width:2}.dmm-pos-label{font-size:12.5px;fill:#e6e8eb;font-family:var(--body);font-weight:700}.dmm-pos-sub{font-size:9px;fill:#cfd4dc;font-family:var(--body)}.dmm-pos-label.on,.dmm-pos-sub.on{fill:#f2b51c}.dmm-jack{cursor:pointer}.dmm-jack-ring.red{fill:#c0392b}.dmm-jack-ring.black{fill:#141517}.dmm-jack-hole{fill:#060607}.dmm-plug.red{fill:#ff5a48}.dmm-plug.black{fill:#5a5e64}.dmm-lead.red{fill:#d92b1f}.dmm-lead.black{fill:#1c1e21}.dmm-jack-label{font-size:10.5px;fill:#f0f2f4;font-family:var(--body);font-weight:700}.dmm-jack-note{font-size:6.5px;fill:#b8bec7;font-family:var(--body);letter-spacing:.04em}.sim-probe-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left}.sim-probe-name{font-size:.75rem;opacity:.85;text-transform:uppercase;letter-spacing:.04em}.sim-probe-where{font-size:.9rem}.sim-instruments{margin-top:.8rem;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--line);padding-top:.6rem}.sim-instr-label{font-size:.85rem;font-weight:600;min-width:120px}.sim-instruments select{font:inherit;padding:.3rem .4rem;border-radius:6px;border:1px solid var(--line);background:var(--bg-raised-2);color:var(--text)}.sim-meter-row select,.sim-diag select,.sim-mode-card select{background:var(--bg-raised-2);color:var(--text)}
