/* Code Lab: общие элементы нового практического трека. */
.coding-card{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;transition:.18s}
.coding-card:hover{border-color:var(--cyan);transform:translateY(-2px);text-decoration:none}
.coding-card .card-kicker{font-family:"JetBrains Mono",monospace;color:var(--amber);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.coding-card h3{margin:7px 0 6px;color:var(--ink);font-size:18px}
.coding-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.coding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.lab-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;align-items:start}
.lab-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}
.lab-panel h3{margin:0 0 5px;font-size:16px}
.lab-caption{margin:0 0 14px;color:var(--muted);font-size:13px}
.code-editor{width:100%;min-height:210px;resize:vertical;background:#07111f;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:14px;font:13px/1.7 "JetBrains Mono",monospace;tab-size:4;outline:none}
.code-editor:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.08)}
.code-preview{display:none;background:#07111f;border:1px solid var(--line);border-radius:9px;padding:10px 0;overflow:auto}
.preview-line{display:flex;min-width:max-content;padding:1px 12px;font:12px/1.7 "JetBrains Mono",monospace}
.preview-line.active{background:rgba(34,211,238,.12)}
.preview-num{display:inline-block;width:28px;margin-right:10px;color:var(--muted);text-align:right;user-select:none}
.preview-line code{padding:0;background:none;color:var(--ink);white-space:pre}
.stdin-editor{min-height:72px}
.editor-label{display:block;color:var(--muted);font:11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px}
.lab-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lab-status{min-height:24px;margin-top:12px;color:var(--muted);font-size:13px}
.lab-status.ready{color:var(--green)}
.lab-status.busy{color:var(--amber)}
.lab-status.error{color:var(--red)}
.prediction{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.prediction h3{color:var(--amber)}
.prediction-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.prediction-option{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);cursor:pointer;font-size:12px}
.prediction-option:hover,.prediction-option.selected{border-color:var(--amber);color:var(--amber);background:rgba(252,211,77,.08)}
.prediction-feedback{min-height:20px;margin-top:9px;font-size:13px;color:var(--muted)}
.trace-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.trace-toolbar .step-count{margin-left:auto;color:var(--muted);font:12px "JetBrains Mono",monospace}
.trace-list{display:grid;gap:7px;margin-top:14px}
.trace-item{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);cursor:pointer}
.trace-item.active{border-color:var(--cyan);background:rgba(34,211,238,.08)}
.trace-line{font:12px "JetBrains Mono",monospace;color:var(--cyan)}
.trace-event{font-size:13px;color:var(--ink)}
.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.state-box{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:12px;min-width:0}
.state-box h4{margin:0 0 8px;color:var(--muted);font:11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.05em}
.state-box pre{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--ink);font:13px/1.6 "JetBrains Mono",monospace;min-height:24px}
.explanation{margin-top:16px;padding:12px 14px;border-left:3px solid var(--green);border-radius:0 9px 9px 0;background:rgba(52,211,153,.05);color:var(--ink);font-size:14px}
.runtime-note{font-size:12px;color:var(--muted);line-height:1.55}
.coding-card-featured{border-color:rgba(252,211,77,.35);background:linear-gradient(135deg,rgba(252,211,77,.08),var(--panel) 48%)}
.python-tutor-shell{margin-top:18px;border:1px solid #2d4054;border-radius:12px;overflow:hidden;background:#0a1523;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.pt-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;background:#101f30;border-bottom:1px solid #2d4054}
.pt-brand{display:flex;align-items:center;gap:8px;color:#e6edf5;font:700 13px "JetBrains Mono",monospace;white-space:nowrap}.pt-brand small{color:#8fa6c0;font:11px "Manrope",sans-serif;margin-left:5px}
.pt-dot{width:9px;height:9px;border-radius:50%;background:#22d3ee;box-shadow:0 0 10px rgba(34,211,238,.7)}
.pt-top-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#8fa6c0;font-size:12px}.pt-top-actions select{background:#07111f;border:1px solid #365069;border-radius:6px;color:#e6edf5;padding:7px 9px;font:12px "Manrope",sans-serif}
.pt-main-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);border-bottom:1px solid #2d4054}
.pt-code-pane,.pt-run-pane,.pt-trace-pane{min-width:0}.pt-code-pane{background:#07111f;border-right:1px solid #2d4054}.pt-run-pane{background:#0d1a29}.pt-pane-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #2d4054;color:#e6edf5;font-size:13px}.pt-pane-head span{color:#8fa6c0;font:11px "JetBrains Mono",monospace}.pt-status{color:#fcd34d!important}
.pt-editor-wrap{display:grid;grid-template-columns:43px 1fr;min-height:230px;max-height:390px;overflow:hidden}.pt-line-numbers{padding:14px 9px 14px 0;background:#0a1827;color:#5f7991;text-align:right;font:12px/1.75 "JetBrains Mono",monospace;overflow:hidden;user-select:none}.pt-line-numbers span{display:block;height:21px}.pt-line-numbers span.active{color:#22d3ee;background:rgba(34,211,238,.12)}
.pt-editor{width:100%;height:100%;min-height:230px;resize:vertical;overflow:auto;border:0;outline:0;border-left:1px solid #20384e;background:#07111f;color:#e6edf5;padding:14px;font:12px/1.75 "JetBrains Mono",monospace;tab-size:4;white-space:pre}.pt-editor:focus{box-shadow:inset 0 0 0 1px rgba(34,211,238,.4)}
.pt-label{display:block;margin:13px 14px 5px;color:#8fa6c0;font:10px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.05em}.pt-stdin{display:block;width:calc(100% - 28px);min-height:48px;margin:0 14px;resize:vertical;background:#0d1a29;color:#fcd34d;border:1px solid #2d4054;border-radius:6px;padding:8px;font:12px/1.5 "JetBrains Mono",monospace;outline:0}.pt-stdin:focus{border-color:#22d3ee}.pt-input-hint{margin:6px 14px 14px;color:#8fa6c0;font-size:12px;line-height:1.45}
.pt-run-pane{padding-bottom:14px}.pt-prediction,.pt-run-controls{padding:14px;border-bottom:1px solid #2d4054}.pt-prediction p{margin:7px 0 9px;color:#d6e2ed;font-size:13px}.pt-step-label{color:#fcd34d;font:11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.pt-prediction .prediction-options{margin-top:0}.pt-prediction .prediction-option{font-size:12px;padding:7px 9px}.pt-buttons{display:flex;gap:7px;margin-top:9px}.pt-button{padding:7px 10px;border:1px solid #365069;border-radius:6px;background:#13283c;color:#d6e2ed;font:600 12px "Manrope",sans-serif;cursor:pointer;transition:.15s}.pt-button:hover{border-color:#22d3ee;color:#22d3ee}.pt-button.primary{background:#22d3ee;color:#06222b;border-color:#22d3ee}.pt-button:disabled{opacity:.45;cursor:not-allowed}.pt-note{margin-top:8px;color:#718ba3;font-size:11px;line-height:1.45}.pt-state-strip{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:8px;padding:14px}.pt-state-strip>div{min-width:0;padding:9px;border:1px solid #2d4054;border-radius:6px;background:#091522}.pt-state-strip span{display:block;color:#718ba3;font:10px "JetBrains Mono",monospace;text-transform:uppercase;margin-bottom:7px}.pt-state-strip b,.pt-state-strip pre{margin:0;color:#e6edf5;font:12px/1.5 "JetBrains Mono",monospace;white-space:pre-wrap;word-break:break-word}.pt-state-strip b{color:#22d3ee}.pt-run-pane .explanation{margin:0 14px;color:#d6e2ed;background:rgba(52,211,153,.05)}
.pt-trace-pane{padding-bottom:14px;background:#0a1523}.pt-trace-pane .pt-pane-head{background:#101f30}.pt-trace-pane .trace-toolbar{padding:10px 14px 0;margin:0}.pt-trace-pane .trace-list{padding:0 14px;margin-top:10px;max-height:220px;overflow:auto}.pt-trace-pane .trace-item{grid-template-columns:92px 1fr;background:#0d1a29;border-color:#2d4054}.pt-trace-pane .trace-item.active{border-color:#22d3ee;background:rgba(34,211,238,.08)}.pt-trace-pane .trace-line{color:#8fa6c0}
.pt-scene{margin:14px;padding:13px;border:1px solid #2d4054;border-radius:8px;background:linear-gradient(145deg,#102438,#0a1623);min-height:188px;overflow:hidden}.pt-scene.scene-pulse{animation:scenePulse .42s ease-out}.scene-topline{display:flex;justify-content:space-between;align-items:center;gap:8px}.scene-number{color:#718ba3;font:10px "JetBrains Mono",monospace;text-transform:uppercase}.scene-body{display:flex;gap:10px;align-items:center;margin-top:12px}.scene-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:34px;border:1px solid rgba(34,211,238,.5);border-radius:7px;color:#22d3ee;background:rgba(34,211,238,.1);font:700 11px "JetBrains Mono",monospace}.scene-body strong{display:block;color:#e6edf5;font-size:14px}.scene-body p{margin:2px 0 0;color:#8fa6c0;font-size:12px;line-height:1.4}.scene-visual{min-height:61px;margin-top:13px;display:flex;align-items:center;justify-content:center}.scene-placeholder{color:#5f7991;font:11px "JetBrains Mono",monospace}.action-flow{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;width:100%;animation:flowIn .55s ease-out}.flow-box{padding:8px 9px;border:1px solid #365069;border-radius:6px;background:#0b1927;color:#b9c9d8;font:11px "JetBrains Mono",monospace}.flow-box.active{border-color:#22d3ee;color:#22d3ee;background:rgba(34,211,238,.1);box-shadow:0 0 14px rgba(34,211,238,.14)}.input-box{color:#fcd34d;border-color:rgba(252,211,77,.45)}.variable-box{color:#a7f3d0;border-color:rgba(52,211,153,.45)}.output-box{color:#fcd34d;border-color:rgba(252,211,77,.45)}.flow-arrow{color:#5f96b3;font:16px "JetBrains Mono",monospace}.condition-diagram{width:100%;animation:flowIn .55s ease-out}.condition-node{width:max-content;max-width:100%;margin:auto;padding:8px 14px;border:1px solid #fcd34d;border-radius:7px;background:rgba(252,211,77,.1);color:#fcd34d;font:12px "JetBrains Mono",monospace;text-align:center}.condition-paths{display:flex;justify-content:center;gap:10px;margin-top:10px}.condition-path{position:relative;min-width:70px;padding:6px;text-align:center;border:1px solid #365069;border-radius:5px;color:#718ba3;font:11px "JetBrains Mono",monospace}.condition-path::before{content:"↓";position:absolute;left:50%;top:-15px;color:#365069}.condition-path.active{border-color:#34d399;color:#34d399;background:rgba(52,211,153,.12);box-shadow:0 0 13px rgba(52,211,153,.14)}.condition-path.active::before{color:#34d399}.terminal-output{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(252,211,77,.45);border-radius:6px;background:#07111f;color:#8fa6c0;font:11px "JetBrains Mono",monospace;animation:terminalIn .55s ease-out}.terminal-output strong{color:#fcd34d;font-weight:600}.terminal-output.error-output{border-color:rgba(248,113,113,.5)}.terminal-output.error-output strong{color:#f87171}.memory-cards{display:flex;gap:5px;flex-wrap:wrap}.memory-card{display:flex;gap:5px;align-items:center;padding:4px 6px;border:1px solid rgba(52,211,153,.4);border-radius:4px;background:rgba(52,211,153,.08);animation:memoryIn .35s ease-out}.memory-card b{color:#a7f3d0;font-weight:600}.memory-card em{color:#fcd34d;font-style:normal}.memory-empty{color:#5f7991}.pt-trace-pane .trace-event{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt-trace-pane .trace-event b{color:#d6e2ed;font-weight:600}.pt-trace-pane .trace-event code{color:#8fa6c0;background:none;padding:0;font-size:11px}.pt-trace-pane .trace-item.active .trace-event b{color:#22d3ee}
@keyframes scenePulse{0%{opacity:.45;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}@keyframes flowIn{0%{opacity:0;transform:translateX(-12px)}100%{opacity:1;transform:translateX(0)}}@keyframes terminalIn{0%{opacity:0;transform:scale(.94)}70%{transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}@keyframes memoryIn{0%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
.kumir-layout,.turtle-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(360px,1.15fr);gap:16px;align-items:start}.kumir-board{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:9/7;max-width:560px;border:1px solid var(--line);background:#07111f;border-radius:10px;overflow:hidden}.kumir-cell{display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(143,166,192,.2);border-bottom:1px solid rgba(143,166,192,.2);color:var(--amber);font:700 14px "JetBrains Mono",monospace}.kumir-cell.wall{background:#31465a}.kumir-cell.robot{background:rgba(34,211,238,.2);color:var(--cyan);font-size:16px}.kumir-editor,.turtle-editor{width:100%;min-height:170px;resize:vertical;background:#07111f;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--ink);font:13px/1.7 "JetBrains Mono",monospace;outline:0}.kumir-editor:focus,.turtle-editor:focus{border-color:var(--cyan)}.kumir-result,.turtle-result{min-height:24px;margin-top:10px;color:var(--green);font-size:13px}.turtle-canvas{width:100%;max-width:620px;height:auto;display:block;border:1px solid var(--line);border-radius:9px;background:#07111f}
@media(max-width:760px){
  .coding-grid,.lab-grid,.pt-main-grid,.kumir-layout,.turtle-layout{grid-template-columns:1fr}
  .pt-code-pane{border-right:0;border-bottom:1px solid #2d4054}
  .pt-topbar{align-items:flex-start;flex-direction:column}.pt-top-actions{width:100%}.pt-top-actions select{flex:1;min-width:0}
  .trace-toolbar .step-count{margin-left:0;width:100%}
}
@media(max-width:460px){
  .state-grid{grid-template-columns:1fr}
  .lab-panel{padding:14px}
  .code-editor{font-size:12px}
}
.assessment-shell{margin-top:18px;padding:16px;border:1px solid #2d4054;border-radius:14px;background:#081421;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.assessment-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:4px 0 16px;border-bottom:1px solid #2d4054}.assessment-toolbar>div{display:grid;gap:4px}.assessment-toolbar>div:nth-child(2){min-width:230px;flex:1}.assessment-kicker{color:#8fa6c0;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.assessment-toolbar strong{color:#e6edf5;font:700 15px "JetBrains Mono",monospace}.assessment-toolbar strong.warning{color:#fb7185;animation:flowShake .3s ease-out}.assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.assessment-card{min-width:0;padding:15px;border:1px solid #2d4054;border-radius:10px;background:#0d1a29;transition:.2s}.assessment-card.right{border-color:rgba(52,211,153,.65);background:rgba(52,211,153,.05)}.assessment-card.wrong{border-color:rgba(251,113,133,.55);background:rgba(251,113,133,.045)}.assessment-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.assessment-tag{color:#fcd34d;font:10px "JetBrains Mono",monospace;letter-spacing:.04em;text-transform:uppercase}.assessment-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#13283c;color:#718ba3;font:700 12px "JetBrains Mono",monospace}.assessment-card.right .assessment-mark{background:rgba(52,211,153,.15);color:#34d399}.assessment-card.wrong .assessment-mark{background:rgba(251,113,133,.15);color:#fb7185}.assessment-card h3{margin:10px 0 7px;color:#e6edf5;font-size:15px;line-height:1.35}.assessment-prompt{min-height:58px;margin:0;color:#b9c9d8;font-size:13px;line-height:1.55}.assessment-options{display:grid;gap:7px;margin-top:12px}.assessment-option{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 9px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#d6e2ed;text-align:left;font:12px/1.4 "Manrope",sans-serif;cursor:pointer;transition:.15s}.assessment-option>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;height:20px;border:1px solid #46647d;border-radius:50%;color:#8fa6c0;font:10px "JetBrains Mono",monospace}.assessment-option:hover:not(:disabled){border-color:#22d3ee;color:#22d3ee;background:rgba(34,211,238,.08)}.assessment-option:disabled{cursor:default;opacity:.85}.assessment-card.right .assessment-option[data-answer="0"],.assessment-card.wrong .assessment-option[data-answer="0"]{border-color:#365069}.assessment-feedback{min-height:36px;margin-top:11px;padding-top:9px;border-top:1px solid #2d4054;color:#8fa6c0;font-size:12px;line-height:1.45}.assessment-feedback b{color:#d6e2ed}.assessment-result{display:none;margin-top:16px;padding:13px 15px;border-left:3px solid #fcd34d;border-radius:0 8px 8px 0;background:rgba(252,211,77,.06);color:#d6e2ed;font-size:13px;line-height:1.5}.assessment-result.visible{display:flex;gap:10px;align-items:baseline}.assessment-result strong{color:#fcd34d;font:700 18px "JetBrains Mono",monospace;white-space:nowrap}.exam-toolbar{align-items:center}.exam-toolbar #examStatus{font:12px "Manrope",sans-serif;color:#8fa6c0}.exam-toolbar #examStart{margin-left:auto}.exam-grid .assessment-card h3{min-height:42px}.exam-grid .assessment-prompt{min-height:0}.exam-grid .assessment-option:disabled{opacity:.45}.exam-grid .assessment-feedback{min-height:0}
@media(max-width:760px){.assessment-grid{grid-template-columns:1fr}.assessment-toolbar>div:nth-child(2){min-width:0;width:100%;order:3}.exam-toolbar #examStart{margin-left:0}.exam-toolbar .btn-c{flex:1}.exam-grid .assessment-card h3{min-height:0}}
@media(max-width:760px){.exam-toolbar>div:nth-child(2){flex:1 0 100%;order:4}.exam-toolbar #examStart,.exam-toolbar #examReset{order:5}}
@media(max-width:460px){.assessment-shell{padding:12px}.assessment-toolbar{gap:10px}.assessment-toolbar .btn-c{flex:1}.assessment-result.visible{display:block}.assessment-result strong{display:block;margin-bottom:5px}}
.assessment-option.selected{border-color:#22d3ee;color:#22d3ee;background:rgba(34,211,238,.08)}.assessment-option.selected>span{border-color:#22d3ee;color:#22d3ee}.assessment-card.right .assessment-option.selected{border-color:#34d399;color:#a7f3d0;background:rgba(52,211,153,.08)}.assessment-card.right .assessment-option.selected>span{border-color:#34d399;color:#34d399}.assessment-card.wrong .assessment-option.selected{border-color:#fb7185;color:#fecdd3;background:rgba(251,113,133,.08)}.assessment-card.wrong .assessment-option.selected>span{border-color:#fb7185;color:#fb7185}
.assessment-single{grid-template-columns:minmax(0,780px);justify-content:center}.assessment-single .assessment-card h3{min-height:0;font-size:18px}.assessment-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.assessment-nav span{min-width:150px;color:#8fa6c0;font:11px "JetBrains Mono",monospace;text-align:center}.assessment-nav .btn-c{min-width:112px}.assessment-nav .btn-c:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:460px){.assessment-nav{gap:6px}.assessment-nav span{min-width:0;flex:1;font-size:10px}.assessment-nav .btn-c{min-width:0;padding-left:8px;padding-right:8px}}
.assessment-option.correct-answer{border-color:#34d399;color:#a7f3d0;background:rgba(52,211,153,.1)}.assessment-option.correct-answer>span{border-color:#34d399;color:#34d399}.assessment-card.missed{border-color:rgba(252,211,77,.45);background:rgba(252,211,77,.035)}.assessment-loading,.assessment-ready{grid-column:1/-1;padding:28px 18px;border:1px dashed #365069;border-radius:10px;color:#8fa6c0;text-align:center;font-size:13px}.assessment-loading.error{color:#fb7185;border-color:#fb7185}.assessment-ready{display:grid;gap:7px}.assessment-ready b{color:#fcd34d;font:700 14px "JetBrains Mono",monospace}.assessment-diagnostics{display:flex;gap:7px;flex-wrap:wrap;width:100%;margin-top:10px}.diagnostic-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:145px;padding:8px 10px;border:1px solid #365069;border-radius:8px;background:#0d1a29;color:#d6e2ed;text-decoration:none}.diagnostic-chip:hover{text-decoration:none}.diagnostic-chip span{font-size:11px}.diagnostic-chip b{font:11px "JetBrains Mono",monospace}.diagnostic-chip.strong{border-color:rgba(52,211,153,.55)}.diagnostic-chip.strong b{color:#34d399}.diagnostic-chip.weak{border-color:rgba(251,113,133,.55)}.diagnostic-chip.weak b{color:#fb7185}.assessment-result.visible{flex-wrap:wrap}
.assessment-seed-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:9px 11px;border:1px solid #2d4054;border-radius:9px;background:#07111f}.assessment-seed-tools label{color:#8fa6c0;font:10px "JetBrains Mono",monospace;text-transform:uppercase}.assessment-seed-tools input{width:130px;padding:8px 9px;border:1px solid #365069;border-radius:7px;background:#0d1a29;color:#e6edf5;font:12px "JetBrains Mono",monospace;text-transform:uppercase}.assessment-seed-tools span{color:#fcd34d;font-size:11px}.assessment-diagnostic-note{width:100%;margin:9px 0 0;color:#8fa6c0;font-size:11px;line-height:1.45}.diagnostic-chip.unchecked{border-style:dashed;color:#8fa6c0}.diagnostic-chip.unchecked b{color:#8fa6c0}@media(max-width:460px){.assessment-seed-tools input{flex:1;min-width:105px}.assessment-seed-tools label,.assessment-seed-tools span{width:100%}.diagnostic-chip{width:100%}}
.assessment-review-link{display:inline-block;margin-left:5px;color:#67e8f9;font-weight:700}.assessment-review-link:hover{color:#a5f3fc}

/* Chapter windows inherit all four shared themes. */
.code-editor,.code-preview,.kumir-board,.kumir-editor,.turtle-editor,.assessment-seed-tools{background:var(--bg);color:var(--ink);border-color:var(--line)}
.assessment-shell{border-color:var(--line);background:var(--bg2)}
.assessment-card,.assessment-option,.diagnostic-chip,.assessment-seed-tools input,.assessment-ready,.assessment-loading{border-color:var(--line);background:var(--panel);color:var(--ink)}
.assessment-toolbar{border-color:var(--line)}.assessment-kicker,.assessment-toolbar span,.assessment-diagnostic-note,.assessment-nav span{color:var(--muted)}.assessment-toolbar strong,.assessment-card h3{color:var(--ink)}
.assessment-tag,.assessment-ready b,.assessment-seed-tools span{color:var(--amber)}
.assessment-option.selected{border-color:var(--cyan);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,var(--panel))}
.assessment-option.correct-answer{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--panel))}
.assessment-card.right{border-color:var(--green);background:color-mix(in srgb,var(--green) 7%,var(--panel))}.assessment-card.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--panel))}

/* Applied assessment scenes. Every state inherits the active chapter theme. */
.assessment-scene{position:relative;margin:12px 0 4px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);overflow:hidden}
.assessment-scene::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--cyan),var(--amber))}
.assessment-scene figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 9px 5px}
.assessment-scene figcaption span{color:var(--amber);font:700 10px "JetBrains Mono",monospace;letter-spacing:.045em;text-transform:uppercase}
.assessment-scene figcaption small{color:var(--muted);font:9px "JetBrains Mono",monospace;text-transform:uppercase;white-space:nowrap}
.assessment-scene>p{margin:8px 4px 0;color:var(--muted);font-size:11px;line-height:1.4}
.as-flow{display:flex;align-items:center;gap:5px;min-width:min-content;padding:3px 4px 5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--cyan) var(--panel)}
.as-node{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;min-width:94px;max-width:150px;min-height:45px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);text-align:center}
.as-node small{color:var(--muted);font:9px "JetBrains Mono",monospace;line-height:1.2;text-transform:uppercase}
.as-node strong{margin-top:3px;color:var(--ink);font:600 10px/1.3 "JetBrains Mono",monospace;overflow-wrap:anywhere}
.as-node-terminal{border-radius:999px}.as-node-terminal small{color:var(--green)}
.as-node-io{padding-inline:17px;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)}.as-node-io small{color:var(--cyan)}
.as-node-process small{color:var(--violet)}
.as-node-condition{min-width:116px;min-height:61px;padding:13px 22px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.as-node-condition small{color:var(--amber)}
.as-node.as-active,.as-represent-card.as-active{border-color:var(--cyan);background:var(--panel2)}
.as-node.as-fault,.as-loop-command.as-fault,.as-code-line.as-fault{border-color:var(--red);color:var(--red);background:var(--panel2)}
.as-node.as-fault small,.as-node.as-fault strong,.as-loop-route.as-fault .as-route-label{color:var(--red)}
.as-node.as-skipped{border-style:dashed;color:var(--muted)}
.as-arrow{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:15px;color:var(--muted);font:700 16px "JetBrains Mono",monospace}.as-arrow.as-active{color:var(--cyan)}
.as-token-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.as-token{display:flex;align-items:baseline;gap:5px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:9px "JetBrains Mono",monospace}
.as-token b{color:inherit;font-size:10px}.as-token small{color:inherit}.as-token.as-active{border-color:var(--cyan);background:var(--panel2);color:var(--cyan)}
.as-empty-token{padding:4px 8px;border:1px dashed var(--line);border-radius:999px;color:var(--muted);font:9px "JetBrains Mono",monospace}

.as-branch-top,.as-loop-top{display:flex;flex-direction:column;align-items:center;gap:4px}
.as-branch-paths,.as-loop-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.as-route,.as-loop-route{min-width:0;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.as-route.as-active,.as-loop-route.as-active{border-color:var(--cyan);background:var(--panel2)}
.as-loop-route.as-exit{border-color:var(--green)}
.as-route-label{display:block;margin-bottom:6px;color:var(--muted);font:700 9px "JetBrains Mono",monospace;text-align:center;text-transform:uppercase}.as-route.as-active .as-route-label,.as-loop-route.as-active .as-route-label{color:var(--cyan)}
.as-route-steps{display:flex;align-items:center;justify-content:center;gap:3px;min-height:50px;overflow-x:auto}.as-route-steps .as-node{min-width:90px;max-width:135px}
.as-merge{display:flex;flex-direction:column;align-items:center;color:var(--muted)}.as-merge span{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font:9px "JetBrains Mono",monospace}.as-merge.as-active{color:var(--cyan)}.as-merge.as-active span{border-color:var(--cyan);background:var(--panel2)}

.as-loop-body{display:flex;align-items:center;justify-content:center;gap:3px;min-height:51px;overflow-x:auto}
.as-loop-command{display:inline-flex;align-items:center;justify-content:center;min-width:94px;min-height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font:10px/1.3 "JetBrains Mono",monospace;text-align:center}
.as-loop-command.as-active{border-color:var(--cyan);background:var(--panel2)}
.as-loop-return{display:block;margin-top:5px;color:var(--muted);font:9px "JetBrains Mono",monospace;text-align:center}.as-loop-route.as-active .as-loop-return{color:var(--cyan)}
.as-loop-route>.as-node{width:min(100%,145px);margin:3px auto 0}

.as-trace{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.35fr);gap:8px;align-items:stretch}
.as-code{min-width:0;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.as-code-line{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:start;padding:3px 5px;border-left:2px solid var(--line);color:var(--ink)}
.as-code-line+.as-code-line{margin-top:2px}.as-code-line>span{color:var(--muted);font:9px/1.45 "JetBrains Mono",monospace;text-align:right}.as-code-line code{padding:0;border:0;background:var(--panel);color:inherit;font:10px/1.45 "JetBrains Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.as-code-line.as-active{border-left-color:var(--cyan);background:var(--panel2)}.as-code-line.as-active code{background:var(--panel2)}.as-code-line.as-fault code{background:var(--panel2);color:var(--red)}
.as-trace-wrap{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:var(--panel);scrollbar-color:var(--cyan) var(--panel)}
.as-trace-table{width:100%;border-collapse:collapse;color:var(--ink);font:9px/1.35 "JetBrains Mono",monospace}
.as-trace-table th,.as-trace-table td{padding:5px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal}.as-trace-table th{background:var(--panel2);color:var(--muted);font-size:8px;text-transform:uppercase}.as-trace-table td:last-child{color:var(--cyan)}.as-trace-table tr:last-child td{border-bottom:0}

.as-represent{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:5px;align-items:center;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--cyan) var(--panel)}
.as-represent-card{display:flex;min-width:0;min-height:74px;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--panel);flex-direction:column}
.as-represent-card span{color:var(--muted);font:9px "JetBrains Mono",monospace;text-transform:uppercase}.as-represent-card code{margin-top:5px;padding:0;background:var(--panel);color:var(--ink);font:9px/1.4 "JetBrains Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere}.as-represent-card.as-active code{background:var(--panel2);color:var(--cyan)}

/* Correctness remains separate from the cyan execution path in every theme. */
.assessment-mark{background:var(--panel2);color:var(--muted)}
.assessment-card.right .assessment-mark{background:var(--panel2);color:var(--green)}.assessment-card.wrong .assessment-mark{background:var(--panel2);color:var(--red)}
.assessment-card.right .assessment-option.selected,.assessment-option.correct-answer{border-color:var(--green);background:var(--panel2);color:var(--green)}
.assessment-card.right .assessment-option.selected>span,.assessment-option.correct-answer>span{border-color:var(--green);color:var(--green)}
.assessment-card.wrong .assessment-option.selected{border-color:var(--red);background:var(--panel2);color:var(--red)}.assessment-card.wrong .assessment-option.selected>span{border-color:var(--red);color:var(--red)}
.assessment-card.missed{border-color:var(--amber);background:var(--panel)}
.assessment-feedback{color:var(--muted)}.assessment-feedback b{color:var(--ink)}
.assessment-loading.error{border-color:var(--red);color:var(--red)}
.assessment-toolbar strong.warning{color:var(--red)}
.diagnostic-chip.strong{border-color:var(--green)}.diagnostic-chip.strong b{color:var(--green)}.diagnostic-chip.weak{border-color:var(--red)}.diagnostic-chip.weak b{color:var(--red)}
.assessment-review-link{color:var(--cyan)}.assessment-review-link:hover{color:var(--amber)}
.assessment-option:focus-visible,.assessment-scene a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

@media(max-width:620px){
  .assessment-scene{padding:9px}.assessment-scene figcaption{align-items:flex-start}.assessment-scene figcaption small{white-space:normal;text-align:right}
  .as-node{min-width:88px}.as-node-condition{min-width:108px}
  .as-branch-paths,.as-loop-paths{grid-template-columns:1fr}.as-route-steps,.as-loop-body{justify-content:flex-start}
  .as-trace{grid-template-columns:1fr}.as-code-line code{font-size:9px}
  .as-represent{display:flex;align-items:stretch}.as-represent-card{flex:0 0 170px}.as-represent>.as-arrow{align-self:center}
}
@media(max-width:420px){.assessment-scene figcaption{display:grid;gap:2px}.assessment-scene figcaption small{text-align:left}.as-trace-table th,.as-trace-table td{padding:5px 4px;font-size:8px}}

/* Assessment text stays neutral; state is carried by its border and surface. */
code{background:var(--bg2)}
.assessment-prompt,.assessment-loading,.assessment-ready{color:var(--muted)}
.assessment-option.selected,.assessment-card.right .assessment-option.selected,.assessment-card.wrong .assessment-option.selected,.assessment-option.correct-answer{color:var(--ink);background:var(--panel2)}
.assessment-card.right .assessment-option.selected>span,.assessment-option.correct-answer>span{color:var(--green)}
.assessment-card.wrong .assessment-option.selected>span{color:var(--red)}
.assessment-option>span{border-color:var(--line);background:var(--panel2);color:var(--muted)}
.assessment-option.selected>span{border-color:var(--cyan);color:var(--cyan)}
.assessment-feedback{color:var(--ink)}
.assessment-seed-tools label,.assessment-seed-tools span,.assessment-nav span{color:var(--muted)}
#examLab #examStatus{color:var(--ink)!important}
.assessment-review-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--cyan)}

/* Completed summaries and skill diagnostics use the active theme surfaces. */
.assessment-result.visible{border-color:var(--line);background:var(--panel);color:var(--ink)}
.assessment-result.visible>strong{color:var(--amber)}
.assessment-result.visible>span{color:var(--ink)}
.assessment-result.visible .assessment-diagnostic-note{color:var(--muted)}
.assessment-result.visible .diagnostic-chip{border-color:var(--line);background:var(--bg);color:var(--ink)}
.assessment-result.visible .diagnostic-chip span{color:var(--ink)}
.assessment-result.visible .diagnostic-chip b{color:var(--ink)}
.assessment-result.visible .diagnostic-chip.strong{border-color:var(--green)}
.assessment-result.visible .diagnostic-chip.strong b{color:var(--green)}
.assessment-result.visible .diagnostic-chip.weak{border-color:var(--red)}
.assessment-result.visible .diagnostic-chip.weak b{color:var(--red)}
.assessment-result.visible .diagnostic-chip.unchecked{border-color:var(--line);background:var(--bg);color:var(--muted)}
.assessment-result.visible .diagnostic-chip.unchecked span,.assessment-result.visible .diagnostic-chip.unchecked b{color:var(--muted)}
