:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--inset:#060a13;--bg:#0a0f1c;--panel:#0f1728;--panel-soft:#131e33;--panel-raised:#182440;--border:#24334c;--border-strong:#33465f;--text:#e4ebf5;--muted:#8ba1bd;--accent:#3b82f6;--accent-strong:#85b3ff;--accent-hover:#2f70e8;--danger:#ff8585;--success:#3fdf9f;--warning:#f6c453;--font-sans:"Segoe UI", "SF Pro Text", -apple-system, system-ui, "Helvetica Neue", Arial, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--text-xs:.72rem;--text-sm:.78rem;--text-md:.88rem;--text-lg:1.05rem;--text-xl:1.4rem}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;overflow-x:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.control-label,.app-kicker,.badge,.status-card>span,.ide-status-strip,.ide-titlebar>span:last-child,.probe-grid span,.reference-drive-line span,.reference-forward-line span:first-child,.reference-chip-group>span,.mapping-grid span,th{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase}button{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--panel-raised);color:var(--text);cursor:pointer;font:inherit;min-height:38px;padding:0 14px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:not(:disabled):hover{background:var(--accent-hover)}button:not(:disabled):hover{border-color:var(--accent-strong)}button.danger{color:var(--danger)}input,select{background:var(--panel-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font:inherit;width:100%;min-height:38px;padding:0 10px}textarea{background:var(--panel-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font:inherit;resize:vertical;width:100%;padding:10px;line-height:1.45}pre{white-space:pre-wrap;margin:0}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);padding:10px var(--space-3);text-align:left;vertical-align:top}th{background:var(--panel-soft);color:var(--muted);font-size:var(--text-xs)}h3{margin:0;font-size:.9rem}.app-shell{gap:var(--space-4);max-width:1500px;min-height:100vh;padding:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.topbar,.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.topbar{align-items:center;gap:var(--space-4);padding:var(--space-4) 18px;justify-content:space-between;display:flex}.title-block{flex-direction:column;gap:3px;min-width:0;display:flex}.title-block p{overflow-wrap:anywhere}.title-block h1,.panel h2{margin:0}.title-block h1{font-size:var(--text-xl);letter-spacing:0}.title-block p,.panel p{color:var(--muted);margin:0}.app-kicker{color:var(--accent-strong);font-size:var(--text-xs);font-weight:700}.control-groups{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.control-label{color:var(--muted);font-size:var(--text-xs);font-weight:700}.field-stack,.local-runner-body{gap:var(--space-3);flex-direction:column;display:flex}.local-debug-form{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.local-debug-form .span-2{grid-column:1/-1}.toggle-row{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);align-items:center;gap:var(--space-3);min-height:42px;padding:0 var(--space-3);display:flex}.toggle-row input{width:auto;min-height:auto}.json-output{background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);min-height:180px;padding:var(--space-3);overflow:auto}.summary-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.status-card{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-md);min-height:82px;padding:var(--space-3)}.status-card>span{color:var(--muted);font-size:var(--text-xs);margin-bottom:var(--space-2);font-weight:700;display:block}.status-card strong{font-size:var(--text-lg);display:block}.status-card .badge{margin-bottom:0;margin-top:var(--space-2);width:fit-content;display:inline-flex}.student-workspace{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) 340px;display:grid}.ide-panel{min-height:700px}.loading-shell{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--muted);min-height:180px;padding:var(--space-6);font-weight:700}.panel{min-width:0;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:var(--space-3);padding:14px var(--space-4);justify-content:space-between;display:flex}.panel-header h2{font-size:1rem}.panel-body{padding:var(--space-4)}.console{background:var(--inset);border-radius:var(--radius-md);color:#cfe0f7;font-family:var(--mono);min-height:340px;padding:14px;font-size:.85rem;line-height:1.5;overflow:auto}.compact-console{margin:var(--space-3) 0;min-height:120px}.artifact{background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-md);color:#cfe0f7;font-family:var(--mono);font-size:var(--text-sm);max-height:360px;padding:var(--space-3);line-height:1.45;overflow:auto}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);padding:4px 9px;font-weight:700;display:inline-flex}.badge.pass,.badge.connected{color:var(--success);background:#3fdf9f24}.badge.fail,.badge.error{color:var(--danger);background:#ff858524}.badge.hardware,.badge.running{color:var(--accent-strong);background:#3b82f62e}.badge.idle,.badge.stopped,.badge.empty{color:var(--warning);background:#f6c4531f}.empty-state{color:var(--muted);padding:var(--space-5);text-align:center}.hardware-state{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mapping-grid,.reference-summary{gap:var(--space-3);margin:0 0 var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mapping-grid label{flex-direction:column;gap:6px;display:flex}.mapping-grid span,.mapping-step span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.mapping-steps{margin:0 0 var(--space-3);flex-direction:column;gap:10px;display:flex}.mapping-step{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);grid-template-columns:minmax(160px,1fr) auto;gap:10px;display:grid}.mapping-step strong,.mapping-step span{display:block}.segmented{gap:var(--space-2);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.segmented button.selected{border-color:var(--accent);color:var(--accent-strong);background:#3b82f638}.reference-actions{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.ide-shell{background:var(--panel);grid-template-columns:232px minmax(0,1fr);gap:0;min-height:620px;padding:0;display:grid}.file-explorer{background:var(--panel-soft);border-right:1px solid var(--border);color:var(--text);flex-direction:column;min-width:0;display:flex}.file-explorer-header,.file-explorer-footer{border-bottom:1px solid var(--border);align-items:center;gap:var(--space-2);justify-content:space-between;padding:10px;display:flex}.file-explorer-footer{border-bottom:0;border-top:1px solid var(--border);flex-wrap:wrap;margin-top:auto}.icon-actions{gap:6px;display:flex}.icon-actions button,.file-explorer-footer button{background:var(--panel-raised);border-color:var(--border-strong);color:var(--text);font-size:var(--text-sm);min-height:30px;padding:0 9px}.file-explorer-footer button:disabled{color:var(--muted)}.file-explorer-footer .danger{color:var(--danger)}.hidden-input{display:none}.file-list{gap:var(--space-1);padding:var(--space-2);display:grid}.file-row{border-radius:var(--radius-md);color:var(--muted);background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:34px;display:grid;overflow:hidden}.file-row.active{color:#fff;background:#1d4ed8;border-color:#2563eb}.file-row.renaming{background:var(--panel-raised);border-color:#38bdf8}.file-open-button,.file-rename-button{color:inherit;background:0 0;border:0}.file-open-button{align-items:center;gap:var(--space-2);min-width:0;min-height:34px;padding:0 var(--space-2);text-align:left;justify-content:flex-start;display:flex;overflow:hidden}.file-open-button:disabled{cursor:text}.file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-rename-button{color:var(--accent-strong);font-size:var(--text-xs);opacity:0;min-height:28px;padding:0 var(--space-2)}.file-row:hover .file-rename-button,.file-row.active .file-rename-button{opacity:1}.file-rename-input{background:var(--inset);border-radius:var(--radius-sm);color:#fff;font:inherit;min-width:0;height:30px;padding:0 var(--space-2);border:1px solid #38bdf8;grid-column:1/-1;width:calc(100% - 12px);margin:1px 6px}.file-dot{background:#38bdf8;border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.editor-pane{background:var(--inset);grid-template-rows:auto auto minmax(300px,1fr) auto auto auto;gap:0;min-width:0;display:grid;overflow:hidden}.ide-titlebar{background:var(--panel-soft);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;min-height:38px;padding:0 14px;display:flex}.ide-titlebar strong{margin-right:auto;font-size:.86rem}.ide-titlebar>span:last-child{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ide-window-controls{gap:6px;display:flex}.ide-window-controls span{border-radius:50%;width:10px;height:10px}.ide-window-controls span:first-child{background:#ef4444}.ide-window-controls span:nth-child(2){background:#f59e0b}.ide-window-controls span:nth-child(3){background:#22c55e}.editor-toolbar{background:var(--panel-raised);border-bottom:1px solid var(--border);align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 14px;justify-content:space-between;display:flex}.run-status{gap:var(--space-1);min-width:0;display:grid}.editor-toolbar strong{color:var(--text);font-size:var(--text-md);overflow-wrap:anywhere}.editor-actions{flex:none;align-items:center;margin:0}.telemetry-toggle{background:var(--panel-soft);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.telemetry-toggle input{accent-color:var(--accent);width:16px;height:16px}.monaco-editor-host{border:0;min-width:0;max-width:100%;min-height:300px;overflow:hidden}.ide-status-strip{background:var(--panel-raised);border-top:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);align-items:center;gap:var(--space-3);flex-wrap:wrap;min-height:32px;padding:0 14px;font-weight:700;display:flex}.reference-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.run-console{background:var(--panel-soft);border:0;border-top:1px solid var(--border);border-radius:0;padding:10px 14px 14px}.run-console-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.run-console .console{background:var(--inset);min-height:86px;max-height:120px}.run-history{background:var(--panel);border-top:1px solid var(--border);padding:10px 14px 12px}.run-history ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.run-history li{color:var(--text);align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto auto;min-height:30px;display:grid}.run-history strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-history li>span:not(.badge),.run-history p,.run-history .run-console-header>span:last-child{color:var(--muted);font-size:var(--text-sm)}.reference-rail{gap:var(--space-3);top:var(--space-4);display:grid;position:sticky}.reference-rail .saved-reference-pane{border-color:var(--border-strong)}.motion-view-pane{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3)}.motion-canvas{background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:auto;display:block;overflow:hidden}.motion-canvas pattern path{fill:none;stroke:#17223a;stroke-width:1px}.motion-grid-bg{fill:url(#motion-grid)}.motion-axis{stroke:var(--border-strong);stroke-dasharray:4 6;stroke-width:1px}.motion-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.motion-path.expected{stroke:#5c718f;stroke-dasharray:7 7;stroke-width:3px}.motion-path.actual{stroke:#61a0ff;stroke-width:5px}.motion-sample{fill:#cfe0f7;stroke:#61a0ff;stroke-width:2px}.motion-robot{transition:transform .18s}@media (prefers-reduced-motion:reduce){.motion-robot{transition:none}}.motion-robot rect{fill:var(--panel-soft);stroke:#61a0ff;stroke-width:4px}.motion-robot path{fill:#61a0ff}.motion-robot circle{fill:#cfe0f7}.motion-label{fill:var(--muted);font-family:var(--mono);letter-spacing:.07em;text-anchor:middle;text-transform:uppercase;font-size:11px;font-weight:700}.motion-debug{margin-top:10px}.mini-status{grid-template-columns:1fr;gap:10px;display:grid}.mini-status .status-card{min-height:74px}.saved-reference-pane{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-3);align-self:start}.saved-reference-header{border-bottom:1px solid var(--border);align-items:center;gap:var(--space-3);justify-content:space-between;margin:0 0 10px;padding:0 0 10px;display:flex}.saved-reference-header h3{font-size:var(--text-md)}.saved-reference-header p{color:var(--muted);font-size:var(--text-xs);margin:2px 0 0}.reference-hub-line,.reference-drive-line,.reference-forward-line{align-items:center;gap:var(--space-2);display:flex}.reference-hub-line{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.reference-hub-line strong{color:var(--text);font-size:.9rem}.reference-drive-line{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) 10px;margin-bottom:10px}.reference-drive-line span,.reference-forward-line span:first-child,.reference-chip-group>span{color:var(--muted);font-size:.7rem;font-weight:700}.reference-drive-line strong{font-size:1rem}.reference-drive-line small{color:var(--text);font-size:var(--text-sm);margin-right:6px;font-weight:700}.reference-chip-groups{gap:var(--space-2);display:grid}.reference-chip-group{gap:var(--space-1);display:grid}.reference-chip-group div{flex-wrap:wrap;gap:5px;display:flex}.reference-chip-group em{color:var(--muted);font-size:var(--text-sm);font-style:normal}.reference-chip{background:var(--panel-raised);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text);font-family:var(--mono);padding:3px 7px;font-size:.76rem;font-weight:700}.muted-chip{color:var(--muted)}.reference-forward-line{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.reference-forward-line strong{font-size:var(--text-md);margin-right:auto}.empty-reference{flex-direction:column;display:flex}.debug-details{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3);padding:10px var(--space-3)}.debug-details summary{color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:700}.debug-details[open] summary{margin-bottom:10px}.diagnostics-stack{gap:10px;display:grid}.fold-panel{overflow:visible}.fold-summary{cursor:pointer;align-items:center;gap:var(--space-3);padding:14px var(--space-4);font-weight:700;list-style:none;display:flex}.fold-summary .badge{margin-left:auto}.fold-summary::-webkit-details-marker{display:none}.fold-summary:before{color:var(--muted);content:"▸";font-family:var(--mono);margin-right:2px}.fold-panel[open] .fold-summary{border-bottom:1px solid var(--border)}.fold-panel[open] .fold-summary:before{content:"▾"}.setup-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.setup-section{min-width:0}.setup-section h3{margin-bottom:10px}.wide-section{grid-column:1/-1}.compact-state{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostics-stack .debug-details{margin-top:0}.compact-empty{padding:var(--space-3)}.probe-grid{border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.probe-grid div{background:var(--panel-soft);border-bottom:1px solid var(--border);min-width:0;padding:10px var(--space-3)}.probe-grid div:nth-child(odd){border-right:1px solid var(--border)}.probe-grid div:nth-last-child(-n+2){border-bottom:0}.probe-grid span{color:var(--muted);font-size:var(--text-xs);margin-bottom:6px;font-weight:700;display:block}.probe-grid strong{font-family:var(--mono);font-size:var(--text-sm);overflow-wrap:anywhere;display:block}.callout{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin:0 0 10px;font-weight:700}.callout.connected{color:var(--success);background:#3fdf9f14;border-color:#3fdf9f4d}.callout.error{color:var(--danger);background:#ff858514;border-color:#ff85854d}.callout.running{color:var(--accent-strong);background:#3b82f61a;border-color:#3b82f659}.callout.stopped{color:var(--warning);background:#f6c45314;border-color:#f6c4534d}.coach-body{gap:var(--space-3);display:grid}.coach-context-strip{gap:var(--space-2);flex-wrap:wrap;display:flex}.coach-context-strip span{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--mono);font-size:var(--text-xs);padding:4px 9px;font-weight:700}.auth-status{position:relative}.auth-card{border:1px solid var(--border);border-radius:var(--radius-pill);background:#060a13b8;align-items:center;gap:10px;min-height:42px;padding:5px 6px 5px 8px;display:flex;box-shadow:inset 0 1px #ffffff09}.auth-reconnect-notice{background:var(--panel);border:1px solid var(--accent);box-shadow:var(--shadow);border-radius:10px;max-width:360px;margin:8px 0 0;padding:8px 10px;font-size:.78rem;line-height:1.35}.auth-card.is-signed-in{border-color:#3fdf9f42}.auth-card-loading{color:var(--muted);font-size:var(--text-sm);padding-right:14px}.auth-avatar{border:1px solid var(--border-strong);object-fit:cover;border-radius:50%;width:30px;height:30px}.auth-avatar-fallback,.auth-avatar-placeholder{background:var(--panel-raised);color:var(--accent-strong);font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.auth-avatar-placeholder{opacity:.55}.auth-identity,.auth-guest-copy{flex-direction:column;min-width:0;line-height:1.15;display:flex}.auth-identity strong,.auth-guest-copy strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.auth-identity>span,.auth-guest-copy>span{color:var(--muted);font-size:var(--text-xs)}.auth-plan{border-radius:var(--radius-pill);color:var(--success);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;background:#3fdf9f17;border:1px solid #3fdf9f3d;padding:5px 8px;font-size:.67rem;font-weight:800}.google-signin{border-radius:var(--radius-pill);color:#182033;font-size:var(--text-sm);background:#fff;border-color:#fff;align-items:center;gap:8px;min-height:32px;padding:6px 12px;font-weight:750;display:inline-flex}.google-signin:hover:not(:disabled){background:#eef3fb;border-color:#eef3fb}.google-mark{flex:none;width:17px;height:17px}.auth-signout{border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-xs);background:0 0;border-color:#0000;padding:6px 8px;font-weight:700}.auth-signout:hover:not(:disabled){background:var(--panel-raised);border-color:var(--border);color:var(--text)}.quiet-action{color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;padding:4px 0;font-weight:700;text-decoration:underline}.quiet-action:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.coach-chat-log{gap:var(--space-3);display:grid}.coach-composer{background:var(--panel);border-top:1px solid var(--border);gap:var(--space-2);margin:0 calc(var(--space-3) * -1) calc(var(--space-3) * -1);padding:var(--space-3);z-index:1;display:grid;position:sticky;bottom:0}.coach-quota-status{border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);background:#53c2f61a;border:1px solid #53c2f659;padding:8px 10px;font-weight:700}.coach-composer textarea{min-height:84px;padding-right:54px}.coach-composer-field{position:relative}.composer-send{background:var(--accent);bottom:calc(var(--space-3) + 10px);color:#08131f;height:36px;right:calc(var(--space-3) + 10px);border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;font-size:22px;font-weight:800;display:inline-flex;position:absolute}.composer-send:disabled{background:var(--border);color:var(--muted)}.composer-send:focus-visible,.diagnosis-actions button:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.coach-composer-actions{justify-content:space-between;align-items:center}.coach-turn{gap:var(--space-2);display:grid}.coach-message{border:1px solid var(--border);border-radius:var(--radius-md);gap:var(--space-3);overflow-wrap:anywhere;max-width:min(100%,920px);padding:var(--space-3);display:grid}.user-message{justify-self:end;width:min(100%,720px)}.coach-response{justify-self:start;width:100%}.coach-request-status{min-height:88px}.coach-thinking-line{align-items:center;gap:10px;display:flex}.coach-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:16px;height:16px;animation:.8s linear infinite coach-spin;display:inline-block}@keyframes coach-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.coach-spinner{border-right-color:currentColor;animation:none}}.diagnosis-card{background:var(--panel-soft);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-3);border:1px solid #3fdf9f52;display:grid}.diagnosis-card p,.coach-response p{margin:0}.diagnosis-headline{color:var(--text);font-size:var(--text-lg);font-weight:800}.diagnosis-evidence{color:var(--muted);font-family:var(--mono);font-size:var(--text-sm)}.diagnosis-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.learning-recap-log{gap:var(--space-2);display:grid}.learning-recap{border-left:3px solid var(--accent);gap:var(--space-1);padding:var(--space-3);background:#3b82f614;display:grid}.learning-recap p{margin:0}.technical-details{color:var(--muted);font-size:var(--text-sm)}.technical-details summary{cursor:pointer;font-weight:700}.technical-details pre{margin:var(--space-2) 0 0;white-space:pre-wrap;overflow-x:auto}.user-message{background:var(--panel-soft)}.user-message p{color:var(--text)}.coach-section{gap:var(--space-1);display:grid}.coach-section p{margin:0}.coach-section ul{padding-left:var(--space-4);margin:0}.coach-timing-strip{gap:var(--space-2);padding-top:var(--space-1);flex-wrap:wrap;display:flex}.coach-timing-strip span{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--mono);font-size:var(--text-xs);padding:3px 8px;font-weight:700}@media (max-width:900px){.app-shell{padding:var(--space-3)}.topbar{flex-direction:column;align-items:stretch;min-width:0}.control-groups{align-items:stretch}.auth-card{border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:flex-start;padding:8px}.auth-card.is-guest .google-signin,.auth-card.is-signed-in .auth-signout{margin-left:auto}.controls{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%}.controls button{width:100%}.editor-toolbar{flex-direction:column}.editor-actions{grid-template-columns:1fr;width:100%;display:grid}.editor-actions button{width:100%}.hardware-state,.local-debug-form,.mapping-grid,.reference-summary,.probe-grid,.setup-grid,.summary-grid,.student-workspace,.ide-shell{grid-template-columns:1fr}.file-explorer{border-bottom:1px solid var(--border);border-right:0}.file-explorer-header,.file-explorer-footer{flex-direction:column;align-items:stretch}.icon-actions{grid-template-columns:1fr 1fr;display:grid}.icon-actions button,.file-explorer-footer button{width:100%}.file-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.reference-rail{position:static}.compact-state,.mapping-step,.segmented{grid-template-columns:1fr}}
