:root{--bg:#f5f6f8;--surface:#fff;--surface-soft:#fafbfc;--text:#222831;--muted:#5c6670;--border:#d9dee5;--border-strong:#c7d0da;--burgundy:#86121c;--burgundy-soft:#f8e8ea;--blue:#1763ab;--blue-dark:#0f5599;--blue-soft:#eef6ff;--success:#0f7a3d;--warning:#a15c00;--shadow:0 16px 38px #2228311c;--radius:8px;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.auth-screen{color:#fff;background:#eef1f4;grid-template-columns:minmax(0,1fr) minmax(360px,460px);min-height:100vh;display:grid}.auth-hero{background:linear-gradient(135deg,#5200063d,#52000600 38%),linear-gradient(150deg,#a116192e,#a1161900 48%),linear-gradient(#960007,#870007 52%,#770007);align-content:center;justify-items:start;gap:14px;min-width:0;padding:clamp(28px,4vw,56px);display:grid}.auth-brand,.auth-feature-grid,.auth-feature-grid article,.auth-form label div,.auth-loading{align-items:center;display:flex}.auth-brand{font-size:18px;font-weight:800}.auth-hero-copy{gap:10px;display:grid}.auth-kicker{color:#ffffffb8;text-transform:uppercase;font-size:12px;font-weight:800}.auth-hero h1{max-width:560px;margin:0;font-size:clamp(34px,4.2vw,54px);line-height:1.06}.auth-hero p{color:#ffffffdb;max-width:460px;margin:0;font-size:17px;line-height:1.4}.auth-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:720px;display:grid}.auth-feature-grid article{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff38;border-radius:6px;align-items:flex-start;gap:10px;padding:16px}.auth-feature-grid article>span{color:#fff;flex:none}.auth-feature-grid strong,.auth-feature-grid p{display:block}.auth-feature-grid strong{margin-bottom:4px}.auth-feature-grid p{font-size:13px;line-height:1.35}.auth-preview-desktop{background:linear-gradient(145deg,#00000014,#0000 34%),linear-gradient(45deg,#ffffff0f,#fff0 44%),linear-gradient(120deg,#48000459,#48000400 52%),linear-gradient(#a00006,#8c0006);border:1px solid #fff3;border-radius:8px;align-content:stretch;min-height:460px;margin-top:6px;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 40px #1f060847}.fly-menu-preview{background:#810005e6;border-right:1px solid #ffffff2e;grid-template-columns:190px minmax(0,1fr);width:min(44%,360px);display:grid;position:absolute;top:0;bottom:48px;left:0}.fly-menu-sidebar,.fly-menu-apps{align-content:start;gap:4px;padding:18px 14px;display:grid}.fly-menu-sidebar{border-right:1px solid #ffffff24}.fly-menu-sidebar span,.fly-menu-apps span{color:#ffffffeb;align-items:center;min-height:34px;padding:0 10px;font-size:13px;display:flex}.fly-menu-preview .auth-preview-menu-title{color:#ffffffbd;text-transform:uppercase;margin:0 0 8px;padding:0 10px;font-size:11px;font-weight:800}.fly-menu-sidebar-footer{border-top:1px solid #ffffff24;gap:4px;margin-top:10px;padding-top:10px;display:grid}.auth-preview-window{background:#fff;border:3px solid #990006;border-radius:2px;position:absolute;overflow:hidden;box-shadow:0 20px 34px #14000138}.auth-preview-window.terminal{width:min(56%,520px);height:220px;top:38px;right:34px}.auth-preview-window.files{width:min(62%,560px);height:230px;bottom:74px;right:36px}.auth-preview-window-bar{color:#fff;background:#990006;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.auth-preview-window-body{gap:6px;padding:12px;display:grid}.auth-preview-window-body.terminal-body{color:#c7ced3;background:#000;min-height:calc(100% - 28px);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:17px}.auth-preview-file-layout{grid-template-columns:146px minmax(0,1fr);min-height:calc(100% - 28px);display:grid}.auth-preview-tree,.auth-preview-grid{align-content:start;gap:8px;padding:12px;display:grid}.auth-preview-tree{background:#fbfbfb;border-right:1px solid #d6dde6}.auth-preview-tree span,.auth-preview-grid span{min-height:30px;color:var(--text);border-radius:4px;align-items:center;padding:0 8px;font-size:12px;display:flex}.auth-preview-tree span:first-child{color:var(--blue);background:#e6eef6}.auth-preview-grid{background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-preview-grid span{background:#f6f8fb}.auth-preview-panel{color:#fff;background:#7e0005f5;border-top:1px solid #ffffff24;align-items:center;gap:8px;min-height:48px;padding:0 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.auth-preview-launcher,.auth-preview-locale,.auth-preview-task{justify-content:center;align-items:center;min-height:32px;display:inline-flex}.auth-preview-launcher{border:1px solid #ffffff38;border-radius:4px;min-width:34px}.auth-preview-task{border:1px solid #ffffff14;padding:0 10px;font-size:13px;font-weight:700}.auth-preview-task.active{background:#ffffff29}.auth-preview-spacer{flex:1}.auth-preview-locale{border:1px solid #ffffff38;border-radius:4px;min-width:34px;font-size:13px;font-weight:700}.auth-preview-time{justify-items:end;gap:2px;display:grid}.auth-preview-time strong{font-size:16px}.auth-preview-time span{color:#ffffffc7;font-size:11px}.auth-preview-logo{color:#fff;letter-spacing:0;border:2px solid #ffffffdb;border-radius:12px;padding:6px 14px;font-size:19px;position:absolute;bottom:76px;right:30px}.auth-panel{min-width:0;color:var(--text);background:#f5f6f8fa;border-left:1px solid #ffffff40;align-content:center;gap:18px;padding:clamp(22px,4vw,46px);display:grid}.auth-panel-header span{color:var(--burgundy);text-transform:uppercase;font-size:12px;font-weight:800}.auth-panel-header h2{margin:8px 0 0;font-size:30px;line-height:1.1}.auth-panel-header p{color:var(--muted);margin:10px 0 0;font-size:16px;line-height:1.45}.auth-tabs{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;font-weight:800}.auth-tabs button.active{color:#fff;background:var(--burgundy)}.auth-tabs button:disabled{cursor:not-allowed;opacity:.45}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.auth-form label div{border:1px solid var(--border-strong);min-height:46px;color:var(--blue);background:#fff;border-radius:7px;gap:9px;padding:0 12px}.auth-form input{width:100%;min-width:0;height:42px;color:var(--text);background:0 0;border:0;outline:0}.auth-submit{width:100%;margin-top:4px}.auth-note{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.auth-message{color:var(--warning);background:#fff7ea;border:1px solid #a15c0052;border-radius:7px;margin:0;padding:10px 12px;font-size:14px;line-height:1.4}.auth-loading{min-height:100vh;color:var(--muted);background:var(--bg);flex-direction:column;justify-content:center;gap:10px}.auth-loading strong{color:var(--burgundy);font-size:30px}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:minmax(190px,260px) minmax(360px,1fr) auto;align-items:center;gap:18px;min-height:64px;padding:10px 18px;display:grid;position:sticky;top:0}.brand-group,.user-actions,.progress-strip,.fly-start,.bottom-actions{align-items:center;display:flex}.brand-group{cursor:pointer;text-align:left;background:0 0;border:0;gap:12px;min-width:0;padding:0}.brand-group:hover .brand-title,.brand-group:focus-visible .brand-title{color:var(--blue)}.brand-group:focus-visible{outline-offset:3px;border-radius:10px;outline:2px solid #1763ab38}.brand-mark{width:34px;height:34px;color:var(--burgundy);background:#fff7f8;border:1px solid #f0cfd3;border-radius:7px;place-items:center;display:grid}.brand-title{color:var(--burgundy);white-space:nowrap;font-size:22px;font-weight:700}.brand-copy{min-width:0;display:grid}.brand-copy small{color:var(--muted);font-size:12px;line-height:1.2}.topbar-mobile-status{display:none}.icon-button,.footer-link{cursor:pointer;background:0 0;border:0}.icon-button{border-radius:var(--radius);place-items:center;width:36px;height:36px;display:grid}.icon-button:hover,.footer-link:hover{background:var(--blue-soft);color:var(--blue)}.progress-strip{min-width:0;color:var(--text);justify-content:center;gap:18px}.progress-strip.compact{justify-content:flex-end;gap:9px;font-size:12px}.progress-strip.compact .progress-track{width:118px;height:6px}.progress-strip.compact strong{min-width:36px}.progress-strip span{white-space:nowrap}.progress-strip strong{min-width:44px;color:var(--text)}.progress-track{background:#e7eaee;border-radius:999px;width:min(300px,24vw);height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--burgundy), #b01827);border-radius:inherit;height:100%}.user-actions{justify-content:flex-end;gap:10px;min-width:0}.backend-chip,.auth-chip{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface-soft);white-space:nowrap;border-radius:6px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.auth-chip.configured{color:var(--blue);background:var(--blue-soft);border-color:#1763ab4d}.auth-chip.demo{color:var(--warning);background:#fff7ea;border-color:#a15c004d}.backend-chip.online,.backend-chip.synced,.backend-chip.supabase-synced{color:var(--success);background:#effaf4;border-color:#0f7a3d4d}.backend-chip.checking{color:var(--blue);background:var(--blue-soft);border-color:#1763ab4d}.backend-chip.local-only,.backend-chip.unavailable,.backend-chip.contract-warning{color:var(--warning);background:#fff7ea;border-color:#a15c004d}.mode-switch{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;justify-self:center;align-items:center;gap:3px;min-height:40px;padding:3px;display:inline-flex}.mode-switch button{min-height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:13px;font-weight:700;display:inline-flex}.mode-switch button.active{color:#fff;background:var(--burgundy)}.primary-button,.secondary-button,.inline-check{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:44px;font-weight:700;display:inline-flex}.primary-button{background:var(--blue);color:#fff;padding:0 22px;box-shadow:0 10px 22px #1763ab3b}.primary-button:hover{background:var(--blue-dark)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.secondary-button{background:var(--surface);color:var(--blue);border-color:var(--blue);padding:0 28px}.secondary-button:hover:not(:disabled){background:var(--blue-soft)}.compact-action{min-height:40px;padding:0 14px;font-size:14px}.user-chip{min-width:118px;max-width:220px;min-height:38px;color:var(--text);border:1px solid var(--border);background:var(--surface-soft);border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.user-chip-copy{min-width:0;display:grid}.user-chip-copy strong,.user-chip-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-chip-copy strong{font-size:13px}.user-chip-copy small{color:var(--muted);font-size:11px}.topbar-primary{min-height:38px;color:var(--burgundy);cursor:pointer;box-shadow:none;background:#fff6f7;border:1px solid #86121c2e;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:0 15px;display:inline-flex}.topbar-primary:hover:not(:disabled),.topbar-primary:focus-visible{background:#f8e8ea}.topbar-primary:disabled{cursor:not-allowed;opacity:.52}.course-home{background:var(--bg);flex:1;align-content:start;gap:18px;padding:24px;display:grid;overflow:auto}.home-hero-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1.3fr) minmax(320px,430px);align-items:stretch;gap:18px;padding:clamp(22px,3vw,34px);display:grid;box-shadow:0 12px 30px #22283114}.home-hero-copy{align-content:center;gap:14px;min-width:0;display:grid}.home-kicker{color:var(--burgundy);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.home-hero-copy h1,.home-section-heading h2{color:var(--text);margin:0;line-height:1.12}.home-hero-copy h1{max-width:800px;font-size:clamp(36px,4vw,56px)}.home-hero-copy p,.flow-card p,.home-practice-strip p{color:var(--muted);margin:0;line-height:1.5}.home-hero-copy p{max-width:720px;font-size:18px}.home-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.home-route-preview{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.home-route-pill{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fbfcfe;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.home-route-pill strong{color:#fff;background:var(--burgundy);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.home-hero-aside{gap:14px;min-width:0;display:grid}.home-progress-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;align-content:space-between;gap:18px;min-width:0;padding:18px;display:grid}.home-progress-heading{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;display:grid}.home-progress-heading>svg{width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border:1px solid #1763ab38;border-radius:7px;padding:9px}.home-progress-heading strong,.home-progress-heading span{overflow-wrap:anywhere;min-width:0;display:block}.home-progress-heading strong{color:var(--text);font-size:18px;line-height:1.25}.home-progress-heading span{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.3}.home-progress-ring{background:conic-gradient(var(--burgundy) var(--course-progress,0deg), #e6ebf0 0deg);border-radius:50%;place-self:center;place-items:center;width:136px;height:136px;display:grid;position:relative}.home-progress-ring:after{content:"";background:#fbfcfe;border-radius:50%;position:absolute;inset:12px}.home-progress-ring span{z-index:1;color:var(--burgundy);font-size:30px;font-weight:800;position:relative}.home-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.home-stat-grid div{border:1px solid var(--border);background:var(--surface);border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.home-stat-grid dt,.home-stat-grid dd{margin:0}.home-stat-grid dt{color:var(--muted);font-size:12px;line-height:1.2}.home-stat-grid dd{color:var(--text);font-size:20px;font-weight:800;line-height:1}.home-next-panel,.home-focus-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.home-next-panel{background:#fbfcfe}.home-next-heading,.home-focus-heading{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;min-width:0;display:grid}.home-focus-heading{grid-template-columns:minmax(0,1fr) auto}.home-next-heading>svg,.home-focus-heading>svg{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border:1px solid #1763ab33;border-radius:7px;padding:8px}.home-next-heading h2,.home-focus-heading h2{color:var(--text);margin:4px 0 0;font-size:20px;line-height:1.2}.home-focus-heading strong{color:var(--burgundy);align-self:start;font-size:24px;line-height:1}.home-next-panel p,.home-focus-copy,.home-empty-note{color:var(--muted);margin:0;line-height:1.45}.home-next-panel code{color:#f8fbff;overflow-wrap:anywhere;background:#222831;border-radius:6px;width:fit-content;max-width:100%;padding:7px 10px}.home-next-preview{background:#1763ab0d;border:1px solid #1763ab2e;border-radius:8px;gap:8px;padding:12px;display:grid}.home-next-preview[data-mode=current]{background:#86121c0a;border-color:#86121c29}.home-next-preview span,.home-next-preview small{color:var(--muted);line-height:1.35}.home-next-preview span{letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.home-next-preview small{font-size:12px}.home-next-preview code{width:fit-content}.home-next-route-note{border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid}.home-next-route-note[data-tone=retry]{background:#86121c0d;border-color:#86121c2e}.home-next-route-note[data-tone=ready]{background:#1763ab0d;border-color:#1763ab2e}.home-next-route-note strong,.home-next-route-note span{overflow-wrap:anywhere;min-width:0}.home-next-route-note strong{color:var(--text);font-size:13px;line-height:1.25}.home-next-route-note span{color:var(--muted);font-size:13px;line-height:1.4}.home-next-attention{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.home-next-attention[data-status=retry]{background:#86121c0d;border-color:#86121c2e}.home-next-attention[data-status=ready]{background:#1763ab0d;border-color:#1763ab2e}.home-next-attention-copy{gap:5px;display:grid}.home-next-attention-copy span,.home-next-attention-copy strong,.home-next-attention-copy p{overflow-wrap:anywhere;min-width:0}.home-next-attention-copy span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.2}.home-next-attention-copy strong{color:var(--text);font-size:14px;line-height:1.25}.home-next-attention-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.home-focus-grid{grid-template-columns:minmax(320px,1.1fr) minmax(280px,.95fr) minmax(280px,.95fr);gap:14px;display:grid}.current-module-card{background:linear-gradient(#fff,#fbfcfe)}.current-module-meta{flex-wrap:wrap;gap:8px;display:flex}.current-module-meta span{border:1px solid var(--border);min-height:28px;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.module-status-pill[data-status=passed]{color:var(--success);background:#effaf4;border-color:#0f7a3d33}.module-status-pill[data-status=retry]{color:var(--burgundy);background:#86121c0f;border-color:#86121c2e}.module-status-pill[data-status=ready]{color:var(--blue);background:#1763ab12;border-color:#1763ab33}.current-module-list,.home-route-list,.home-trajectory-list,.home-activity-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.current-module-list li,.home-activity-list li{border-top:1px solid #5c66701f;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:8px 0;display:grid}.current-module-list li:first-child,.home-activity-list li:first-child{border-top:0;padding-top:0}.current-module-list svg,.home-activity-list li.success span,.home-activity-list li.warning span{color:var(--blue)}.current-module-list span,.home-activity-list strong,.home-activity-list code{overflow-wrap:anywhere;min-width:0}.home-route-list li{border-top:1px solid #5c66701f;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:10px 0;display:grid}.home-route-list li:first-child{border-top:0;padding-top:0}.home-route-list li>span{width:28px;height:28px;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.home-route-list li.done>span{color:#fff;border-color:var(--success);background:var(--success)}.home-route-list li.active>span{color:#fff;border-color:var(--blue);background:var(--blue)}.home-route-list strong,.home-route-list p,.home-activity-list span,.home-activity-list strong,.home-activity-list code{min-width:0}.home-route-list strong{color:var(--text);font-size:14px;line-height:1.25;display:block}.home-route-list p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.35}.home-trajectory-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.home-trajectory-metrics div{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.home-trajectory-metrics span{color:var(--muted);font-size:12px;line-height:1.2}.home-trajectory-metrics strong{color:var(--text);font-size:18px;font-weight:800;line-height:1.1}.home-trajectory-list li{border-top:1px solid #5c66701f;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:10px 0;display:grid}.home-trajectory-list li:first-child{border-top:0;padding-top:0}.home-trajectory-list li>span{width:28px;height:28px;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.home-trajectory-list li[data-tone=done]>span{color:#fff;border-color:var(--success);background:var(--success)}.home-trajectory-list li[data-tone=active]>span,.home-trajectory-list li[data-tone=next]>span{color:#fff;border-color:var(--blue);background:var(--blue)}.home-trajectory-list li[data-tone=warning]>span{color:#fff;border-color:var(--burgundy);background:var(--burgundy)}.home-trajectory-list li[data-tone=ready]>span{color:var(--blue);background:#1763ab14;border-color:#1763ab33}.home-trajectory-copy{gap:5px;display:grid}.home-trajectory-copy small,.home-trajectory-copy strong,.home-trajectory-copy p{overflow-wrap:anywhere;min-width:0}.home-trajectory-copy small{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.2}.home-trajectory-copy strong{color:var(--text);font-size:14px;line-height:1.25}.home-trajectory-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.35}.home-activity-list li{grid-template-columns:74px minmax(0,1fr)}.home-activity-list li span{color:var(--muted);font-size:12px;font-weight:800}.home-activity-list li.success span{color:var(--blue)}.home-activity-list li.warning span{color:var(--burgundy)}.home-activity-list code{color:var(--text);font-size:12px}.home-support-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;display:grid}.home-support-grid.single-column{grid-template-columns:1fr}.home-learning-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.flow-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:16px;display:grid}.flow-card>svg{color:var(--blue)}.flow-card strong{color:var(--text);margin-bottom:7px;font-size:16px;line-height:1.25;display:block}.flow-card p{font-size:14px}.home-scenario-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;padding:18px 20px;display:grid}.scenario-heading{align-items:start}.scenario-heading p{max-width:560px;color:var(--muted);margin:0;line-height:1.45}.scenario-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.scenario-steps li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px;display:grid}.scenario-steps li.done{background:#f4fbf7;border-color:#0f7a3d47}.scenario-steps li.active{background:var(--blue-soft);border-color:#1763ab52}.scenario-steps li>span{width:30px;height:30px;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.scenario-steps li.done>span{color:#fff;border-color:var(--success);background:var(--success)}.scenario-steps li.active>span{color:#fff;border-color:var(--blue);background:var(--blue)}.scenario-steps strong,.scenario-steps p{overflow-wrap:anywhere;min-width:0}.scenario-steps strong{color:var(--text);font-size:14px;line-height:1.25;display:block}.scenario-steps p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.35}.group-scenario-panel .scenario-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-dashboard{grid-template-columns:minmax(320px,1.05fr) minmax(320px,1fr);gap:14px;display:grid}.learning-dashboard article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:14px;min-width:0;padding:16px;display:grid}.dashboard-card-heading{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;min-width:0;display:grid}.dashboard-card-heading>svg{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border:1px solid #1763ab33;border-radius:7px;padding:8px}.dashboard-card-heading h2{color:var(--text);margin:4px 0 0;font-size:19px;line-height:1.22}.dashboard-next-card p,.dashboard-status-card p,.dashboard-recommendation p{color:var(--muted);margin:0;line-height:1.45}.dashboard-next-card>code{overflow-wrap:anywhere;color:#f8fbff;background:#222831;border-radius:6px;width:fit-content;max-width:100%;padding:7px 10px}.dashboard-event-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dashboard-event-list li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:74px minmax(0,1fr) minmax(74px,auto);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.dashboard-event-list li span{color:var(--muted);font-size:12px;font-weight:800}.dashboard-event-list li.success span{color:var(--blue)}.dashboard-event-list li.warning span{color:var(--burgundy)}.dashboard-event-list li strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.25}.dashboard-event-list li code{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:12px}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-metrics div{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;gap:5px;min-width:0;padding:10px;display:grid}.dashboard-metrics strong{color:var(--text);font-size:24px;line-height:1}.dashboard-metrics span{color:var(--muted);font-size:12px;line-height:1.15}.dashboard-recommendation{background:var(--blue-soft);border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px;display:grid}.dashboard-recommendation svg{color:var(--blue)}.dashboard-guidance-card{grid-column:1/-1;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);align-items:center}.data-status-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(250px,.82fr) minmax(280px,1fr) minmax(260px,.8fr);align-items:center;gap:16px;min-width:0;padding:16px 18px;display:grid}.data-status-panel.demo{background:#fffaf1;border-color:#a15c0038}.data-status-panel.ready{background:#f3fbf6;border-color:#0f7a3d38}.data-status-panel.warning{background:#fff6f7;border-color:#86121c33}.data-status-heading{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-width:0;display:grid}.data-status-heading>svg{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border:1px solid #1763ab38;border-radius:7px;padding:8px}.data-status-panel.warning .data-status-heading>svg{color:var(--burgundy);background:#86121c14;border-color:#86121c38}.data-status-heading h2,.data-status-panel p,.data-status-footer span,.data-status-footer em{overflow-wrap:anywhere;min-width:0}.data-status-heading h2{color:var(--text);margin:4px 0 0;font-size:19px;line-height:1.2}.data-status-panel p{color:var(--muted);margin:0;line-height:1.45}.data-status-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.data-status-metrics div{border:1px solid var(--border);background:#ffffffa8;border-radius:7px;gap:5px;min-width:0;padding:9px;display:grid}.data-status-metrics strong{color:var(--text);font-size:20px;line-height:1}.data-status-metrics span{color:var(--muted);font-size:12px;line-height:1.15}.data-status-footer{border-top:1px solid #5c667029;grid-column:1/-1;grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;padding-top:12px;display:grid}.data-status-footer span{color:var(--text);font-weight:800}.data-status-footer em{color:var(--muted);font-style:normal}.data-status-footer button{justify-self:end}.home-section-band{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:16px;padding:20px;display:grid}.home-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.home-section-heading h2{margin-top:6px;font-size:28px}.module-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.module-card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;grid-template-rows:auto auto 1fr auto;gap:12px;min-width:0;min-height:218px;padding:15px;display:grid}.module-card.current{border-color:#1763ab47;box-shadow:0 12px 28px #1763ab14}.module-card-heading{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;display:grid}.module-number{color:#fff;background:var(--burgundy);border-radius:7px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.module-card-heading strong,.module-card-heading small{overflow-wrap:anywhere;min-width:0;display:block}.module-card-heading strong{color:var(--text);font-size:16px;line-height:1.25}.module-card-heading small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.25}.module-card-badge{border:1px solid var(--border);width:fit-content;min-height:24px;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;margin-top:8px;padding:0 9px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.module-card-badge[data-tone=retry]{color:var(--burgundy);background:#86121c0f;border-color:#86121c2e}.module-card-badge[data-tone=ready]{color:var(--blue);background:#1763ab12;border-color:#1763ab33}.module-card-badge[data-tone=passed]{color:var(--success);background:#effaf4;border-color:#0f7a3d33}.module-card-status{background:var(--surface);border-radius:7px;gap:4px;padding:10px 11px;display:grid}.module-card-status strong,.module-card-status span{overflow-wrap:anywhere;min-width:0}.module-card-status strong{color:var(--text);font-size:13px;line-height:1.2}.module-card-status span{color:var(--muted);font-size:12px;line-height:1.35}.module-card-status[data-status=passed]{background:#effaf4}.module-card-status[data-status=retry]{background:#86121c0f}.module-card-status[data-status=ready]{background:#1763ab0f}.module-progress{background:#e7eaee;border-radius:999px;height:7px;overflow:hidden}.module-journey-note{border:1px solid var(--border);background:#fff;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.module-journey-note.compact{padding:9px 11px}.module-journey-note[data-tone=retry]{background:#86121c0d;border-color:#86121c2e}.module-journey-note[data-tone=ready]{background:#1763ab0d;border-color:#1763ab2e}.module-journey-note strong,.module-journey-note span{overflow-wrap:anywhere;min-width:0}.module-journey-note strong{color:var(--text);font-size:13px;line-height:1.2}.module-journey-note span{color:var(--muted);font-size:12px;line-height:1.35}.module-journey-route{border-top:1px dashed #5c66702e;gap:4px;padding-top:10px;display:grid}.module-journey-route.compact{padding-top:9px}.module-journey-route strong,.module-journey-route span{overflow-wrap:anywhere;min-width:0;display:block}.module-journey-route strong{color:var(--text);font-size:12px;line-height:1.2}.module-journey-route span{color:var(--muted);font-size:12px;line-height:1.35}.module-journey-route[data-tone=retry] strong{color:var(--burgundy)}.module-journey-route[data-tone=ready] strong{color:var(--blue)}.module-journey-route[data-tone=passed] strong{color:#2f6d48}.module-progress span{border-radius:inherit;background:var(--blue);height:100%;display:block}.module-lesson-preview{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.module-lesson-preview li{min-width:0;color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;font-size:13px;line-height:1.28;display:grid}.module-lesson-preview svg{color:var(--blue)}.module-lesson-preview span{overflow-wrap:anywhere;min-width:0}.module-open-action{border:1px solid var(--blue);min-height:38px;color:var(--blue);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:800;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.module-open-action:hover:not(:disabled){background:var(--blue-soft)}.module-open-action:disabled{cursor:not-allowed;opacity:.52}.home-practice-strip{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr;align-content:start;gap:14px;min-width:0;padding:16px 20px;display:grid}.home-practice-strip>div:first-child{color:var(--blue);align-items:center;gap:9px;display:flex}.home-practice-strip strong{color:var(--text);line-height:1.2}.home-control-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.home-control-metrics div{border:1px solid var(--border);background:#fff;border-radius:7px;gap:4px;padding:10px;display:grid}.home-control-metrics strong{color:var(--text);font-size:18px;line-height:1}.home-control-metrics span{color:var(--muted);font-size:12px;line-height:1.25}.home-control-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.home-control-list li{border-top:1px solid #5c66701f;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.home-control-list li:first-child{border-top:0;padding-top:0}.home-control-list li strong,.home-control-list li span,.home-control-list li em{overflow-wrap:anywhere;min-width:0}.home-control-list li strong{color:var(--text);font-size:13px;line-height:1.25;display:block}.home-control-list li span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.35;display:block}.home-control-list li em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800;line-height:1.3}.home-control-list li[data-status=passed] em{color:var(--success)}.home-control-list li[data-status=retry] em{color:var(--burgundy)}.home-control-list li[data-status=ready] em{color:var(--blue)}.practice-scale{grid-template-columns:repeat(auto-fit,minmax(10px,1fr));gap:4px;min-width:0;display:grid}.practice-scale span{background:#dfe5eb;border-radius:2px;height:10px}.practice-scale span.done{background:var(--burgundy)}.learning-layout{background:var(--surface);flex:auto;grid-template-columns:280px minmax(400px,.92fr) minmax(560px,1.28fr);height:calc(100vh - 142px);min-height:680px;display:grid;overflow:hidden}.mobile-trainer-nav,.mobile-result-nav{display:none}.course-map-anchor,.lesson-content-anchor,.astra-simulator-anchor{flex-direction:column;min-width:0;min-height:0;scroll-margin-top:16px;display:flex}.course-map-anchor .course-sidebar,.lesson-content-anchor .lesson-panel,.astra-simulator-anchor .astra-workspace{flex:auto}.course-sidebar{border-right:1px solid var(--border);background:#fbfcfe;flex-direction:column;min-height:0;display:flex}.course-list{flex:1;overflow:auto}.course-topic-list{gap:10px;padding:18px 14px;display:grid}.course-topic-card{border:1px solid var(--border);background:#fff;border-radius:10px;gap:10px;padding:14px;display:grid}.course-topic-card.active{background:#f8fbff;border-color:#1763ab38;box-shadow:inset 0 0 0 1px #1763ab0d}.course-topic-card.locked{background:#fbfcfe}.course-topic-card[data-tone=retry]{border-color:#86121c29}.course-topic-card[data-tone=ready]{border-color:#1763ab29}.course-topic-card[data-tone=passed]{border-color:#0f7a3d29}.course-topic-card-header,.course-topic-card-copy{gap:4px;display:grid}.course-topic-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.course-topic-card-copy h2{color:var(--text);margin:0;font-size:18px;line-height:1.2}.course-topic-kicker{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.course-topic-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.35;display:flex}.course-topic-step{color:var(--text);margin:0;font-size:13px;line-height:1.4}.course-topic-action{width:100%;min-height:40px;color:var(--burgundy);cursor:pointer;background:#fff;border:1px solid #86121c24;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.course-topic-action:hover:not(:disabled),.course-topic-action:focus-visible{background:#faf2f3}.course-topic-action:disabled{cursor:not-allowed;opacity:.58}.course-topic-lock-note{color:var(--muted);grid-template-columns:16px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.4;display:grid}.course-section{border-bottom:1px solid var(--border);padding:24px 12px 18px}.section-heading{appearance:none;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 12px 16px;display:flex}.section-heading.collapsed .section-chevron{transform:rotate(180deg)}.section-chevron{transition:transform .18s}.section-heading h2{margin:0;font-size:18px;line-height:1.25}.section-heading-copy{gap:7px;min-width:0;display:grid}.section-status-pill{border:1px solid var(--border);width:fit-content;min-height:24px;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.section-status-pill[data-tone=retry]{color:var(--burgundy);background:#86121c0f;border-color:#86121c2e}.section-status-pill[data-tone=ready]{color:var(--blue);background:#1763ab12;border-color:#1763ab33}.section-status-pill[data-tone=passed]{color:var(--success);background:#effaf4;border-color:#0f7a3d33}.section-status-pill[data-tone=active]{color:var(--text)}.lesson-list{gap:6px;display:grid}.lesson-list.collapsed{display:none}.section-learning-note{border:1px solid var(--border);background:#fff;border-radius:8px;gap:4px;margin:2px 0 6px;padding:10px 12px;display:grid}.section-learning-note[data-tone=retry]{background:#86121c0d;border-color:#86121c2e}.section-learning-note[data-tone=ready]{background:#1763ab0d;border-color:#1763ab2e}.section-learning-note[data-tone=active]{background:#f7fbff;border-color:#1763ab24}.section-learning-note[data-tone=passed]{background:#0f7a3d0d;border-color:#0f7a3d2e}.section-learning-note[data-tone=idle]{border-color:var(--border-strong);background:var(--surface-soft)}.section-learning-note strong,.section-learning-note span{overflow-wrap:anywhere;min-width:0}.section-learning-note strong{color:var(--text);font-size:12px;line-height:1.2}.section-learning-note span{color:var(--muted);font-size:12px;line-height:1.35}.section-route-note{border-bottom:1px dashed #5c667029;gap:4px;margin:-2px 0 8px;padding:0 12px 10px;display:grid}.section-route-note strong,.section-route-note span{overflow-wrap:anywhere;min-width:0}.section-route-note strong{color:var(--text);font-size:11px;line-height:1.2}.section-route-note span{color:var(--muted);font-size:11px;line-height:1.35}.section-route-note[data-tone=retry] strong{color:var(--burgundy)}.section-route-note[data-tone=ready] strong{color:var(--blue)}.section-route-note[data-tone=passed] strong{color:var(--green)}.lesson-item{cursor:pointer;text-align:left;width:100%;min-height:56px;color:var(--text);background:0 0;border:0;border-radius:6px;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:8px 12px;display:grid}.lesson-item:hover{background:#f0f4f8}.lesson-item:disabled{cursor:not-allowed}.lesson-item.active{background:var(--burgundy-soft);color:var(--text);box-shadow:inset -4px 0 0 var(--burgundy)}.lesson-item.locked{color:var(--muted);opacity:.72}.lesson-item.locked:hover{background:0 0}.lesson-number{border:1px solid var(--border-strong);width:32px;height:32px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;font-weight:700;display:grid}.lesson-item.active .lesson-number{color:#fff;background:var(--burgundy);border-color:var(--burgundy)}.lesson-name{overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1.25}.status-icon{color:var(--muted)}.status-icon.done,.status-icon.current{color:var(--blue)}.status-icon.locked{color:var(--warning)}.course-note{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface);gap:12px;margin:16px;padding:16px;display:flex}.course-note svg{color:var(--blue);flex:none}.course-note strong,.course-note span{line-height:1.35;display:block}.course-note strong{color:var(--text);margin-bottom:8px;font-weight:600}.sidebar-gate-note{color:var(--text);background:#f8fbff;border:1px solid #1763ab33;border-radius:8px;grid-template-columns:18px minmax(0,1fr);gap:10px;margin:0 16px 16px;padding:12px;display:grid}.sidebar-gate-note.retry{background:#fff8ee;border-color:#a15c003d}.sidebar-gate-note svg{color:var(--blue);margin-top:2px}.sidebar-gate-note.retry svg{color:var(--warning)}.sidebar-gate-note strong,.sidebar-gate-note span{line-height:1.35;display:block}.sidebar-gate-note strong{margin-bottom:4px;font-size:13px}.sidebar-gate-note span{color:var(--muted);font-size:12px}.sidebar-footer{border-top:1px solid var(--border);align-content:center;gap:3px;min-height:74px;padding:14px 16px;display:grid}.sidebar-progress-card strong{color:var(--text);font-size:20px;line-height:1}.sidebar-progress-card span{color:var(--muted);font-size:13px}.sidebar-focus-note{border-top:1px solid #5c66701f;gap:3px;margin-top:10px;padding-top:10px;display:grid}.sidebar-focus-note-title,.sidebar-focus-note-detail{overflow-wrap:anywhere;min-width:0;margin:0;display:block}.sidebar-focus-note-title{color:var(--text);font-size:12px;line-height:1.2}.sidebar-focus-note-detail{color:var(--muted);font-size:12px;line-height:1.35}.sidebar-focus-note[data-tone=retry] .sidebar-focus-note-title{color:var(--burgundy)}.sidebar-focus-note[data-tone=ready] .sidebar-focus-note-title{color:var(--blue)}.footer-link{min-height:40px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:inline-flex}.lesson-panel{border-right:1px solid var(--border);align-content:start;gap:18px;min-width:0;min-height:0;padding:clamp(24px,2.4vw,34px) 32px 24px;display:grid;overflow:auto}.lesson-copy,.lesson-hero-panel{min-width:0}.lesson-hero-panel{gap:14px;display:grid}.lesson-copy h1{color:var(--burgundy);margin:0;font-size:clamp(32px,2.75vw,42px);line-height:1.16}.lesson-source{max-width:100%;color:var(--blue);background:var(--blue-soft);border:1px solid #1763ab38;border-radius:6px;align-items:center;gap:7px;margin-bottom:12px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.lesson-source span{overflow-wrap:anywhere;min-width:0}.lesson-summary{color:var(--text);max-width:560px;margin:0;font-size:18px;line-height:1.5}.lesson-meta-strip{flex-wrap:wrap;gap:8px;display:flex}.lesson-meta-strip span{border:1px solid var(--border);min-height:30px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.lesson-transition-note,.module-route-note,.module-assessment-route{background:#fbfcfe;border:1px solid #1763ab33;border-radius:8px;gap:4px;min-width:0;padding:12px 14px;display:grid}.lesson-transition-note strong,.module-route-note strong,.module-assessment-route strong{color:var(--blue);text-transform:uppercase;font-size:12px;font-weight:900;line-height:1.2}.lesson-transition-note span,.module-route-note span,.module-assessment-route span{color:var(--text);font-size:14px;line-height:1.35}.module-route-note,.module-assessment-route{margin-top:14px}.module-retry-panel{border-radius:var(--radius);background:linear-gradient(#fffdf8,#fff8ee);border:1px solid #a15c0038;gap:14px;padding:16px 18px;display:grid}.module-retry-heading{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.module-retry-heading svg{color:var(--warning);margin-top:2px}.module-retry-heading span{color:var(--warning);text-transform:uppercase;font-size:12px;font-weight:900;line-height:1.2}.module-retry-heading h2{color:var(--text);margin:5px 0 0;font-size:22px;line-height:1.2}.module-retry-copy{color:var(--muted);margin:0;line-height:1.45}.module-retry-metrics{flex-wrap:wrap;gap:8px;display:flex}.module-retry-metrics span{min-height:30px;color:var(--muted);background:#fff;border:1px solid #a15c0029;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.module-retry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.module-retry-grid article{background:#fff;border:1px solid #a15c0024;border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.module-retry-grid strong{color:var(--text);font-size:13px;line-height:1.3}.module-retry-grid code{width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;background:#fff7ea;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:800}.module-kickoff-panel{border-radius:var(--radius);background:linear-gradient(#fff,#f9fbfe);border:1px solid #1763ab2e;gap:14px;padding:16px 18px;display:grid}.module-kickoff-heading{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.module-kickoff-heading svg{color:var(--blue);margin-top:2px}.module-kickoff-heading span{color:var(--blue);text-transform:uppercase;font-size:12px;font-weight:900;line-height:1.2}.module-kickoff-heading h2{color:var(--text);margin:5px 0 0;font-size:22px;line-height:1.2}.module-kickoff-copy{color:var(--muted);margin:0;line-height:1.45}.module-kickoff-metrics{flex-wrap:wrap;gap:8px;display:flex}.module-kickoff-metrics span{min-height:30px;color:var(--muted);background:#fff;border:1px solid #5c667024;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.module-kickoff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.module-kickoff-grid article{background:var(--surface);border:1px solid #5c667024;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.module-kickoff-grid strong{color:var(--text);font-size:13px;line-height:1.25}.module-kickoff-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.4}.lesson-stage-panel,.lesson-theory-shell,.lesson-test-block{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;gap:16px;padding:18px;display:grid}.lesson-block-tabs{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:8px;padding:12px 18px;display:grid}.lesson-block-tabs-row{flex-wrap:wrap;gap:8px;display:flex}.lesson-block-tab{min-height:34px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #5c667029;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.lesson-block-tab.active,.lesson-block-tab:hover,.lesson-block-tab:focus-visible{color:var(--blue);background:#f3f8fd;border-color:#1763ab2e}.lesson-context-note{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:14px 16px;display:grid}.lesson-context-note svg{color:var(--blue);margin-top:2px}.lesson-context-note strong,.lesson-context-note span{display:block}.lesson-context-note strong{color:var(--text);font-size:14px;line-height:1.25}.lesson-context-note span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4}.lesson-stage-heading{gap:10px;display:grid}.lesson-stage-heading h2,.lesson-stage-section-heading h2{color:var(--text);margin:4px 0 0;font-size:22px;line-height:1.2}.lesson-stage-heading p,.lesson-stage-section-heading p{max-width:360px;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.lesson-stage-grid,.lesson-test-grid{grid-template-columns:1fr;gap:10px;display:grid}.lesson-stage-card,.lesson-test-grid article{border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;min-width:0;padding:14px;display:grid}.lesson-stage-card{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px}.lesson-stage-card[data-status=active]{background:#f7fbff;border-color:#1763ab3d}.lesson-stage-card[data-status=done]{background:#f3fbf6;border-color:#0f7a3d38}.lesson-stage-card-icon{width:40px;height:40px;color:var(--blue);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.lesson-stage-card[data-status=done] .lesson-stage-card-icon{color:var(--success);background:#effaf4}.lesson-stage-card strong,.lesson-test-grid strong{color:var(--text);font-size:15px;line-height:1.3}.lesson-stage-card p,.lesson-test-grid span{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.4}.lesson-stage-section-heading{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.lesson-stage-section-heading svg{color:var(--blue);margin-top:3px}.lesson-theory-intro{gap:10px;display:grid}.lesson-theory-intro-heading{color:var(--text);align-items:center;gap:8px;display:inline-flex}.lesson-theory-intro-heading svg{color:var(--blue)}.lesson-theory-intro p,.lesson-theory-intro span{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.lesson-test-note{border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;padding:14px;display:grid}.lesson-test-note strong,.lesson-test-note span{overflow-wrap:anywhere;min-width:0}.lesson-test-note strong{color:var(--text);font-size:15px;line-height:1.3}.lesson-test-note span{color:var(--muted);font-size:14px;line-height:1.4}.lesson-route-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;gap:14px;padding:16px 18px;display:grid}.lesson-route-heading{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;display:grid}.lesson-route-heading svg{color:var(--blue);margin-top:2px}.lesson-route-heading h2{color:var(--text);margin:0;font-size:18px;line-height:1.3}.lesson-route-heading p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.4}.lesson-route-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.lesson-route-list li{background:var(--surface);border:1px solid #5c667024;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px;display:grid}.lesson-route-list li>span{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.lesson-route-list li strong{color:var(--text);font-size:14px;line-height:1.25;display:block}.lesson-route-list li p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.35}.lesson-route-list li.done>span{color:#fff;border-color:var(--success);background:var(--success)}.lesson-route-list li.active{background:#f7fbff;border-color:#1763ab42}.lesson-route-list li.active>span{color:#fff;border-color:var(--blue);background:var(--blue)}.lesson-learning-grid{grid-template-columns:1fr;gap:14px;display:grid}.lesson-card-surface{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;padding:16px}.goals-block{margin-top:0}.goals-block h2,.lesson-route-heading h2,.lesson-steps h2,.practice-copy h2,.hint-block h2{margin:0;font-size:18px;line-height:1.3}.goals-block ul{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.goals-block li{color:var(--muted);align-items:flex-start;gap:12px;font-size:16px;line-height:1.4;display:flex}.lesson-steps{background:var(--surface-soft);margin-top:0}.lesson-steps-heading{color:var(--blue);align-items:center;gap:8px;display:flex}.lesson-steps-heading h2{color:var(--text)}.lesson-steps ol{gap:8px;margin:14px 0 0;padding-left:22px;display:grid}.lesson-steps li{color:var(--muted);font-size:15px;line-height:1.42}.lesson-checklist{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.lesson-checklist span{border:1px solid var(--border);min-height:30px;color:var(--text);background:#fff;border-radius:6px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.goals-block svg{color:var(--blue);flex:none;margin-top:1px}.practice-block,.hint-block,.feedback-block{border-radius:var(--radius);background:var(--surface)}.practice-block{border:1px solid var(--border-strong);grid-template-columns:44px minmax(0,1fr);gap:18px;margin-top:0;padding:18px;display:grid;box-shadow:0 10px 24px #22283112}.practice-icon{color:#fff;background:var(--blue);border-radius:7px;place-items:center;width:44px;height:44px;display:grid}.practice-copy h2{color:var(--blue);margin-bottom:16px}.practice-copy{min-width:0}.practice-header{align-items:flex-start;gap:12px;display:flex}.practice-copy strong{margin-bottom:8px;font-size:18px;line-height:1.4;display:block}.practice-copy p,.hint-block p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.command-entry{grid-template-columns:1fr;align-items:start;gap:8px;margin-top:16px;display:grid}.command-entry span{color:var(--muted);font-weight:700}.command-entry-note{border:1px solid var(--border);min-height:42px;color:var(--blue);background:var(--blue-soft);border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px}.command-entry-note span{color:var(--text);line-height:1.35}.practice-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.practice-brief-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.practice-brief-card span{color:var(--muted);font-size:12px;font-weight:800}.practice-brief-card strong,.practice-brief-card code{min-width:0;color:var(--text);overflow-wrap:anywhere;line-height:1.35}.practice-brief-card code{font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:14px}.command-entry input{border:1px solid var(--border-strong);width:100%;max-width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:6px;padding:0 12px;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:16px}.command-entry input:focus{border-color:var(--blue);outline:3px solid #1763ab2e}.expected-output{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:12px;display:grid}.expected-output span{color:var(--muted);font-size:13px;font-weight:700}.expected-output code{width:100%;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:7px 10px;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:14px;line-height:1.35;display:block}.feedback-block{min-height:52px;color:var(--muted);border:1px solid var(--border);background:var(--surface-soft);grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:0;padding:16px;display:grid}.feedback-block svg{color:var(--blue);margin-top:2px}.feedback-block.idle,.feedback-block.note{color:var(--text);background:#f7fbff;border-color:#1763ab2e}.feedback-block.success{color:var(--success);background:#effaf4;border-color:#0f7a3d59}.feedback-block.warning{color:var(--warning);background:#fff7ea;border-color:#a15c0059}.result-copy{min-width:0}.result-copy h2{color:var(--text);margin:0 0 6px;font-size:18px;line-height:1.25}.result-copy p{color:inherit;margin:0;line-height:1.45}.result-next-note{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:14px;font-weight:700;line-height:1.35;display:inline-flex}.feedback-block.success .result-next-note{color:var(--success)}.feedback-block.warning .result-next-note{color:var(--warning)}.inline-check{min-height:36px;color:var(--blue);border-color:var(--blue);background:#fff;padding:0 12px}.result-check-action{align-self:center;min-width:188px}.lesson-insights{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:14px}.lesson-insights summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:0 14px;list-style:none;display:grid}.lesson-insights summary::-webkit-details-marker{display:none}.lesson-insights summary span{color:var(--text);font-weight:800}.lesson-insights summary small{color:var(--blue);font-weight:800}.lesson-insights[open] summary{border-bottom:1px solid var(--border)}.lesson-insights .analytics-block,.lesson-insights .teacher-panel{border:0;border-radius:0;margin:0}.staff-insights{border-color:#86121c38}.lesson-completion,.module-completion{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;margin-top:14px;padding:16px;display:grid}.lesson-completion.pending,.module-completion.pending{color:var(--muted);background:#fbfcfe}.lesson-completion.completed,.module-completion.completed{background:#effaf4;border-color:#0f7a3d59}.completion-icon{width:44px;height:44px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.lesson-completion.completed .completion-icon,.module-completion.completed .completion-icon{color:var(--success);background:#fff;border:1px solid #0f7a3d40}.lesson-completion h2,.module-completion h2{color:var(--text);margin:0 0 6px;font-size:18px;line-height:1.25}.lesson-completion p,.module-completion p{color:var(--muted);margin:0;line-height:1.45}.module-completion{border-color:#1763ab38}.module-completion.pending .completion-icon{color:var(--warning);background:#fff7ea;border:1px solid #a15c0040}.module-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.module-metric{border:1px solid var(--border);min-width:0;color:var(--muted);background:#fff;border-radius:7px;gap:3px;padding:10px;font-size:12px;line-height:1.2;display:grid}.module-metric strong{color:var(--text);font-size:18px;line-height:1}.module-completion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.module-completion-card{background:#fff;border:1px solid #1763ab24;border-radius:7px;gap:10px;min-width:0;padding:12px;display:grid}.module-completion-card strong{color:var(--text);font-size:14px;line-height:1.25}.module-completion-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.module-completion-list li{min-width:0;color:var(--text);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;font-size:13px;line-height:1.35;display:grid}.module-completion-list li svg{color:var(--blue);margin-top:1px}.module-completion-note{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.module-completion-preview-title{min-width:0;color:var(--text);grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;font-size:13px;font-weight:800;line-height:1.35;display:grid}.module-completion-preview-title svg{color:var(--blue)}.module-completion-tag-row{flex-wrap:wrap;gap:8px;display:flex}.module-completion-tag-row span{background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;padding:6px 9px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.module-completion-command{background:#f7f9fc;border-radius:7px;gap:6px;padding:10px;display:grid}.module-completion-command span,.module-completion-command small{color:var(--muted);font-size:12px;line-height:1.3}.module-completion-command code{width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;background:#fff;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:800}.module-assessment{border-radius:var(--radius);background:#fff;border:1px solid #1763ab33;margin-top:16px;padding:14px}.module-assessment.passed{background:#fbfffd;border-color:#0f7a3d4d}.module-assessment.retry{background:#fffdf8;border-color:#a15c0047}.module-assessment-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.module-assessment-heading h3{color:var(--text);margin:4px 0 0;font-size:17px;line-height:1.25}.assessment-score{min-width:52px;min-height:34px;color:var(--blue);background:var(--blue-soft);border-radius:6px;place-items:center;font-weight:900;display:inline-grid}.assessment-result{border-radius:7px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;margin-top:12px;padding:10px;font-size:13px;font-weight:700;line-height:1.35;display:grid}.assessment-result.passed{color:var(--success);background:#effaf4}.assessment-result.retry{color:var(--warning);background:#fff7ea}.assessment-question-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.assessment-question-list li{gap:8px;min-width:0;display:grid}.assessment-question-list strong{color:var(--text);font-size:14px;line-height:1.35}.assessment-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.assessment-options button{border:1px solid var(--border);min-height:48px;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.25}.assessment-options button:hover{color:var(--blue);background:var(--blue-soft);border-color:#1763ab73}.assessment-options button.active{border-color:var(--blue);color:var(--text);background:#eef6ff}.assessment-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.module-completion-assessment-status{background:#f8fbff;border:1px solid #1763ab2e;border-radius:7px;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:14px;padding:12px;display:grid}.module-completion-assessment-status.passed{background:#f2fbf6;border-color:#0f7a3d3d}.module-completion-assessment-status.retry{background:#fff8ee;border-color:#a15c003d}.module-completion-assessment-icon{width:40px;height:40px;color:var(--blue);background:#fff;border:1px solid #1763ab1f;border-radius:7px;place-items:center;display:grid}.module-completion-assessment-status.passed .module-completion-assessment-icon{color:var(--success);border-color:#0f7a3d29}.module-completion-assessment-status.retry .module-completion-assessment-icon{color:var(--warning);border-color:#a15c0029}.module-completion-assessment-copy{gap:6px;min-width:0;display:grid}.module-completion-assessment-copy strong{color:var(--text);font-size:14px;line-height:1.25}.module-completion-assessment-copy p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.completion-copy{min-width:0}.completion-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.completion-footer>span{min-width:0;color:var(--success);font-size:13px;font-weight:800;line-height:1.25}.module-completion.pending .completion-footer>span{color:var(--warning)}.completion-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.analytics-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:14px;padding:16px}.analytics-heading,.journal-title{align-items:center;gap:8px;display:flex}.analytics-heading{color:var(--text);margin-bottom:12px}.analytics-heading h2{margin:0;font-size:17px;line-height:1.3}.analytics-heading svg,.journal-title svg{color:var(--blue)}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-tile{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;align-content:start;gap:6px;min-width:0;min-height:82px;padding:12px;display:grid}.metric-tile:last-child{grid-column:1/-1}.metric-tile>span{color:var(--blue)}.metric-tile small{color:var(--muted);font-size:12px;line-height:1.25}.metric-tile strong{color:var(--text);overflow-wrap:anywhere;font-size:18px;line-height:1.25}.journal-preview{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.journal-title{color:var(--muted);font-size:13px;font-weight:700}.journal-preview ol{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.journal-preview li{border:1px solid var(--border);background:#fbfcfe;border-radius:6px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:5px 10px;padding:8px 10px;display:grid}.journal-preview li.success{border-color:#0f7a3d47}.journal-preview li.warning{border-color:#a15c0047}.journal-preview li span{color:var(--muted);grid-row:1/span 2;font-size:12px}.journal-preview li strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.25}.journal-preview code{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.journal-preview p{color:var(--muted);margin:10px 0 0;font-size:14px}.teacher-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:14px;padding:16px}.teacher-panel-header,.journal-toolbar,.teacher-event{align-items:center;display:flex}.teacher-panel-header{justify-content:space-between;gap:12px;margin-bottom:14px}.panel-kicker{color:var(--muted);font-size:12px;font-weight:700;line-height:1.25;display:block}.teacher-panel h2{color:var(--text);margin:3px 0 0;font-size:18px;line-height:1.25}.export-button{min-width:88px;min-height:38px;padding:0 12px}.teacher-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.teacher-summary-tile{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:5px;min-width:0;padding:12px;display:grid}.teacher-summary-tile span{color:var(--blue)}.teacher-summary-tile small{color:var(--muted);font-size:12px}.teacher-summary-tile strong{color:var(--text);font-size:20px;line-height:1.2}.journal-toolbar{border-top:1px solid var(--border);gap:10px;margin-top:14px;padding-top:14px}.journal-toolbar>svg{color:var(--blue);flex:none}.segmented-control{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;min-width:0;padding:3px;display:inline-flex}.segmented-control button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:13px;font-weight:700}.segmented-control button.active{color:#fff;background:var(--blue)}.teacher-journal{gap:8px;margin-top:12px;display:grid}.teacher-event{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:5px 10px;min-width:0;padding:9px 10px;display:grid}.teacher-event.success{border-color:#0f7a3d4d}.teacher-event.warning{border-color:#a15c0059}.event-time{color:var(--muted);grid-row:1/span 2;font-size:12px}.teacher-event div{gap:3px;min-width:0;display:grid}.teacher-event strong,.teacher-event code,.teacher-event small{overflow-wrap:anywhere;min-width:0}.teacher-event strong{color:var(--text);font-size:13px;line-height:1.25}.teacher-event code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.teacher-event>span:last-of-type{color:var(--text);justify-self:end;font-size:12px;font-weight:700}.teacher-event small{color:var(--muted);grid-column:2/-1;font-size:12px}.teacher-empty{min-height:72px;color:var(--muted);text-align:center;border:1px dashed var(--border-strong);border-radius:7px;place-items:center;gap:8px;padding:16px;display:grid}.teacher-empty svg{color:var(--blue)}.group-dashboard{background:var(--bg);flex:1;min-height:0;padding:28px;overflow:auto}.group-toolbar{grid-template-columns:minmax(320px,1fr) auto;align-items:start;gap:24px;margin-bottom:18px;display:grid}.group-toolbar h1{color:var(--burgundy);margin:4px 0 8px;font-size:clamp(30px,2.5vw,40px);line-height:1.12}.group-toolbar p{max-width:760px;color:var(--muted);margin:0;font-size:16px;line-height:1.5}.group-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.file-import-action{position:relative;overflow:hidden}.file-import-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.group-import-notice{background:var(--surface);min-height:42px;color:var(--muted);border:1px solid #5c66702e;border-radius:7px;align-items:center;gap:10px;margin:-4px 0 16px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.group-import-notice.success{color:var(--success);background:#0f7a3d14;border-color:#0f7a3d38}.group-import-notice.warning{color:var(--burgundy);background:#86121c12;border-color:#86121c3d}.group-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.group-summary-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:7px;min-width:0;min-height:128px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.group-summary-card>span{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.group-summary-card small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.25}.group-summary-card strong{color:var(--text);font-size:28px;line-height:1.05}.group-summary-card em{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-style:normal;line-height:1.35}.group-search{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:46px;color:var(--blue);background:var(--surface);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;margin-top:18px;padding:0 14px;display:grid}.group-search input{width:100%;min-width:0;height:42px;color:var(--text);background:0 0;border:0;outline:0}.group-search input::placeholder{color:var(--muted)}.practice-feedback-note{color:var(--text);background:#fff7ea;border:1px solid #a15c0042;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.practice-feedback-note svg{color:var(--warning);margin-top:2px}.practice-feedback-note .result-copy p{color:var(--text);font-size:14px;line-height:1.45}.group-search:focus-within,.lesson-select:focus-within,.journal-filter-grid label:focus-within,.import-job-filter-grid label:focus-within{border-color:#1763ab85;box-shadow:0 0 0 3px #1763ab1f}.lesson-insight-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.lesson-insight-header{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;gap:16px;display:grid}.lesson-insight-header h2{color:var(--text);margin:3px 0 6px;font-size:22px;line-height:1.2}.lesson-insight-header p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.lesson-select{border:1px solid var(--border-strong);min-height:42px;color:var(--blue);background:var(--surface-soft);border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid;position:relative}.lesson-select svg,.journal-filter-grid svg,.import-job-filter-grid svg{pointer-events:none}.lesson-select select{width:100%;min-width:0;height:38px;color:var(--text);appearance:none;cursor:pointer;background:0 0;border:0;outline:0;padding-right:24px;font-weight:700}.filter-select-field{position:relative}.select-chevron{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lesson-insight-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.lesson-insight-metrics div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:3px 8px;min-width:0;padding:10px;display:grid}.lesson-insight-metrics span{color:var(--blue);grid-row:1/span 2}.lesson-insight-metrics small{color:var(--muted);font-size:12px;font-weight:700}.lesson-insight-metrics strong{color:var(--text);font-size:21px;line-height:1.05}.lesson-insight-body{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.command-insight-list,.lesson-outcome-list{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfe;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.command-insight-list ol,.lesson-outcome-list ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.command-insight-list li,.lesson-outcome-list li{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:center;gap:6px 8px;min-width:0;padding:8px;display:grid}.command-insight-list li{grid-template-columns:minmax(0,1fr) 72px 78px}.lesson-outcome-list li{grid-template-columns:minmax(130px,1fr) 112px minmax(90px,.8fr) 64px}.lesson-outcome-list li.completed{border-color:#0f7a3d4d}.lesson-outcome-list li.needs-practice{border-color:#a15c0059}.command-insight-list code,.lesson-outcome-list code,.lesson-outcome-list strong,.command-insight-list span,.command-insight-list em,.lesson-outcome-list span,.lesson-outcome-list em{overflow-wrap:anywhere;min-width:0}.command-insight-list code,.lesson-outcome-list code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.lesson-outcome-list strong{color:var(--text);font-size:13px;line-height:1.25}.command-insight-list span,.lesson-outcome-list span,.command-insight-list em,.lesson-outcome-list em,.command-insight-list p{color:var(--muted);font-size:12px;font-style:normal}.module-assessment-insight{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.module-assessment-header{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:start;gap:16px;display:grid}.module-assessment-header h2{color:var(--text);margin:3px 0 6px;font-size:22px;line-height:1.2}.module-assessment-header p{max-width:720px;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.module-assessment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.module-assessment-summary div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:3px 8px;min-width:0;padding:10px;display:grid}.module-assessment-summary span{color:var(--blue);grid-row:1/span 2}.module-assessment-summary small{color:var(--muted);font-size:12px;font-weight:700}.module-assessment-summary strong{color:var(--text);font-size:21px;line-height:1.05}.module-assessment-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;display:grid}.module-assessment-card{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.module-assessment-card header{gap:4px;display:grid}.module-assessment-card header span{color:var(--blue);font-size:12px;font-weight:800}.module-assessment-card header strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.25}.module-assessment-track{background:#e7eaee;border-radius:999px;height:7px;overflow:hidden}.module-assessment-track span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--burgundy));height:100%;display:block}.module-assessment-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.module-assessment-card dl div{border:1px solid var(--border);background:var(--surface);border-radius:6px;gap:3px;min-width:0;padding:7px;display:grid}.module-assessment-card dt,.module-assessment-card dd{margin:0}.module-assessment-card dt{color:var(--muted);font-size:11px;line-height:1.2}.module-assessment-card dd{color:var(--text);font-size:16px;font-weight:800;line-height:1.1}.module-assessment-card p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.group-import-feedback{gap:10px;min-width:0;margin-bottom:16px;display:grid}.group-import-feedback .group-import-notice{margin:-4px 0 0}.group-import-recovery{border-radius:var(--radius);background:#fffaf1;border:1px solid #a15c0047;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);align-items:center;gap:14px;min-width:0;padding:14px 16px;display:grid}.group-import-recovery h2{color:var(--text);margin:2px 0 5px;font-size:18px;line-height:1.2}.group-import-recovery p{max-width:760px;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.import-recovery-action{min-width:0;color:var(--muted);text-align:right;justify-items:end;gap:8px;font-size:13px;display:grid}.import-recovery-action strong{color:#7a4700;overflow-wrap:anywhere;font-size:13px;line-height:1.25}.import-recovery-action span{overflow-wrap:anywhere}.group-journal-panel,.audit-trail-panel,.import-jobs-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.group-journal-header,.audit-trail-header,.import-jobs-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.group-journal-header h2,.audit-trail-header h2,.import-jobs-header h2{color:var(--text);margin:3px 0 6px;font-size:22px;line-height:1.2}.group-journal-header p,.audit-trail-header p,.import-jobs-header p{max-width:720px;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.audit-trail-badge{min-height:38px;color:var(--success);background:#0f7a3d14;border:1px solid #0f7a3d38;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.import-jobs-actions,.import-jobs-summary{align-items:center;gap:8px;display:inline-flex}.import-jobs-actions{flex-wrap:wrap;justify-content:flex-end}.import-jobs-summary span{border:1px solid var(--border-strong);min-height:38px;color:var(--text);background:var(--surface-soft);border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.journal-filter-grid,.import-job-filter-grid{grid-template-columns:minmax(220px,1fr) minmax(150px,.55fr) minmax(150px,.55fr) minmax(220px,1fr);gap:10px;display:grid}.import-job-filter-grid{grid-template-columns:minmax(150px,.6fr) minmax(150px,.6fr) minmax(220px,1fr)}.journal-filter-grid label,.import-job-filter-grid label{border:1px solid var(--border-strong);min-width:0;min-height:42px;color:var(--blue);background:var(--surface-soft);border-radius:7px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid;position:relative}.journal-filter-grid select,.journal-filter-grid input,.import-job-filter-grid select,.import-job-filter-grid input{width:100%;min-width:0;height:38px;color:var(--text);background:0 0;border:0;outline:0;font-weight:700}.journal-filter-grid select,.import-job-filter-grid select{appearance:none;cursor:pointer;padding-right:24px}.journal-filter-grid input,.import-job-filter-grid input{font-weight:400}.journal-count-row{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.journal-count-row svg{color:var(--blue)}.group-journal-list,.audit-trail-list,.import-jobs-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.group-journal-list li,.audit-trail-list li,.import-jobs-list li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:grid}.group-journal-list li{grid-template-columns:78px minmax(120px,.8fr) minmax(150px,1fr) minmax(120px,1fr) 64px}.audit-trail-list li{border-color:#0f7a3d38;grid-template-columns:78px minmax(150px,.9fr) minmax(130px,.7fr) minmax(180px,1fr) 76px}.import-jobs-list li{grid-template-columns:78px minmax(110px,.55fr) minmax(150px,.9fr) minmax(200px,1fr) 76px}.group-journal-list li.success{border-color:#0f7a3d4d}.group-journal-list li.warning{border-color:#a15c0059}.import-jobs-list li.accepted{border-color:#0f7a3d4d}.import-jobs-list li.rejected{border-color:#a15c0059}.group-journal-list span,.group-journal-list strong,.group-journal-list em,.group-journal-list code,.group-journal-list small,.audit-trail-list span,.audit-trail-list strong,.audit-trail-list em,.audit-trail-list code,.audit-trail-list small,.import-jobs-list span,.import-jobs-list strong,.import-jobs-list em,.import-jobs-list code,.import-jobs-list small{overflow-wrap:anywhere;min-width:0}.group-journal-list span,.group-journal-list em,.group-journal-list small,.audit-trail-list span,.audit-trail-list em,.audit-trail-list small,.import-jobs-list span,.import-jobs-list em,.import-jobs-list small{color:var(--muted);font-size:12px;font-style:normal}.group-journal-list strong,.audit-trail-list strong,.import-jobs-list strong{color:var(--text);font-size:13px}.group-journal-list code,.audit-trail-list code,.import-jobs-list code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.group-journal-list small,.audit-trail-list small,.import-jobs-list small{justify-self:end;font-weight:700}.journal-empty,.audit-trail-empty,.import-jobs-empty{min-height:110px;color:var(--muted);text-align:center;border:1px dashed var(--border-strong);background:#fbfcfe;border-radius:7px;align-content:center;place-items:center;gap:8px;display:grid}.journal-empty svg,.audit-trail-empty svg,.import-jobs-empty svg{color:var(--blue)}.journal-empty strong,.audit-trail-empty strong,.import-jobs-empty strong{color:var(--text)}.ops-dashboard{background:var(--bg);flex:1;min-height:0;padding:28px;overflow:auto}.ops-toolbar{grid-template-columns:minmax(320px,1fr) auto;align-items:start;gap:24px;margin-bottom:18px;display:grid}.ops-toolbar h1{color:var(--burgundy);margin:4px 0 8px;font-size:clamp(30px,2.5vw,40px);line-height:1.12}.ops-toolbar p{max-width:790px;color:var(--muted);margin:0;font-size:16px;line-height:1.5}.ops-source-chip{border:1px solid var(--border);width:fit-content;min-height:32px;color:var(--muted);background:var(--surface);border-radius:6px;align-items:center;gap:7px;margin-top:12px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.ops-source-chip.online{color:var(--success);background:#effaf4;border-color:#0f7a3d4d}.ops-source-chip.checking{color:var(--blue);background:var(--blue-soft);border-color:#1763ab4d}.ops-source-chip.local-only,.ops-source-chip.unavailable,.ops-source-chip.contract-warning{color:var(--warning);background:#fff7ea;border-color:#a15c004d}.ops-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.ops-summary-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:7px;min-width:0;min-height:136px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.ops-summary-tile>span{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.ops-summary-tile.ready>span{color:var(--success);background:#effaf4}.ops-summary-tile.warning>span{color:var(--warning);background:#fff7ea}.ops-summary-tile small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.25}.ops-summary-tile strong{color:var(--text);font-size:24px;line-height:1.05}.ops-summary-tile em{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-style:normal;line-height:1.35}.ops-alerts{border-radius:var(--radius);min-width:0;color:var(--warning);background:#fff7ea;border:1px solid #a15c004d;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;margin-top:16px;padding:14px;display:grid}.ops-alerts.ready{color:var(--success);background:#effaf4;border-color:#0f7a3d4d}.ops-alerts strong{color:var(--text);font-size:15px}.ops-alerts p,.ops-alerts ul{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.ops-alerts ul{gap:4px;padding-left:18px;display:grid}.ops-connection-gate,.ops-deployment-gate,.ops-release-gate{border-radius:var(--radius);background:var(--surface);border:1px solid #a15c004d;gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.ops-connection-gate.connected,.ops-deployment-gate.ready,.ops-release-gate.ready{border-color:#0f7a3d4d}.ops-deployment-gate.warning,.ops-release-gate.warning{border-color:#a15c004d}.ops-deployment-gate.blocked,.ops-release-gate.blocked{border-color:#86121c59}.ops-connection-gate .ops-panel-header>svg,.ops-deployment-gate .ops-panel-header>svg,.ops-release-gate .ops-panel-header>svg{color:var(--warning)}.ops-connection-gate.connected .ops-panel-header>svg,.ops-deployment-gate.ready .ops-panel-header>svg,.ops-release-gate.ready .ops-panel-header>svg{color:var(--success)}.ops-deployment-gate.blocked .ops-panel-header>svg,.ops-release-gate.blocked .ops-panel-header>svg{color:var(--burgundy)}.ops-missing-env{border:1px dashed var(--border-strong);background:#fff7ea;border-radius:7px;gap:8px;min-width:0;padding:12px;display:grid}.ops-missing-env strong{color:var(--text);font-size:14px}.ops-missing-env ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ops-missing-env li{background:var(--surface);border:1px solid #a15c0042;border-radius:6px;min-width:0;padding:7px 8px}.ops-missing-env code{color:var(--muted);overflow-wrap:anywhere;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.ops-missing-env span{color:var(--muted);font-size:12px;line-height:1.35}.ops-gate-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ops-gate-steps article{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;gap:7px;min-width:0;padding:12px;display:grid}.ops-gate-steps article.ready{border-color:#0f7a3d42}.ops-gate-steps article.warning{border-color:#a15c0042}.ops-gate-steps article.blocked{border-color:#86121c42}.ops-gate-steps span{width:fit-content;min-height:24px;color:var(--warning);background:#fff7ea;border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.ops-gate-steps article.ready span{color:var(--success);background:#effaf4}.ops-gate-steps article.blocked span{color:var(--burgundy);background:var(--burgundy-soft)}.ops-gate-steps strong{color:var(--text);font-size:14px}.ops-gate-steps p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.ops-setup-plan{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.ops-preview-plan{border-radius:var(--radius);background:var(--surface);border:1px solid #a15c004d;gap:14px;min-width:0;margin-top:16px;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.ops-preview-plan.ready{border-color:#0f7a3d4d}.ops-preview-plan.blocked{border-color:#86121c59}.ops-setup-plan .ops-panel-header>svg,.ops-preview-plan .ops-panel-header>svg{color:var(--blue)}.ops-preview-plan.ready .ops-panel-header>svg{color:var(--success)}.ops-preview-plan.blocked .ops-panel-header>svg{color:var(--burgundy)}.ops-preview-blockers{background:var(--burgundy-soft);border:1px dashed #86121c47;border-radius:7px;gap:8px;min-width:0;padding:12px;display:grid}.ops-preview-blockers strong{color:var(--text);font-size:14px}.ops-preview-blockers ul{gap:5px;margin:0;padding-left:18px;display:grid}.ops-preview-blockers li{color:var(--muted);font-size:12px;line-height:1.4}.ops-setup-phases{grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;display:grid}.ops-preview-steps{grid-template-columns:repeat(4,minmax(190px,1fr));gap:10px;display:grid}.ops-setup-phases article,.ops-preview-steps article{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.ops-setup-phases article.ready,.ops-preview-steps article.ready{border-color:#0f7a3d42}.ops-preview-steps article.blocked{border-color:#86121c47}.ops-setup-phases header,.ops-preview-steps header{gap:7px;display:grid}.ops-setup-phases span{width:fit-content;min-height:24px;color:var(--warning);background:#fff7ea;border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.ops-preview-steps span{width:fit-content;min-height:24px;color:var(--blue);background:var(--blue-soft);border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.ops-setup-phases article.ready span,.ops-preview-steps article.ready span{color:var(--success);background:#effaf4}.ops-preview-steps article.blocked span{color:var(--burgundy);background:var(--burgundy-soft)}.ops-setup-phases strong,.ops-preview-steps strong{color:var(--text);font-size:14px;line-height:1.25}.ops-setup-phases p,.ops-preview-steps p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.ops-setup-phases ol,.ops-preview-steps ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ops-setup-phases li,.ops-preview-steps li{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0;padding:7px 8px}.ops-setup-phases code,.ops-preview-steps code{color:var(--muted);overflow-wrap:anywhere;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.ops-layout-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:16px;margin-top:16px;display:grid}.ops-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 8px 20px #2228310d}.ops-panel-header{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;display:grid}.ops-panel-header>svg{color:var(--blue);margin-top:3px}.ops-panel-header h2{color:var(--text);margin:0 0 5px;font-size:22px;line-height:1.2}.ops-panel-header p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.ops-checklist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ops-checklist li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:34px minmax(0,1fr);gap:10px;min-width:0;padding:10px;display:grid}.ops-checklist li>span{color:#fff;background:var(--burgundy);border-radius:6px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.ops-checklist strong,.ops-env-list h3{color:var(--text);font-size:14px;line-height:1.25}.ops-checklist code,.ops-env-list code{min-width:0;color:var(--blue);overflow-wrap:anywhere;margin-top:5px;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px;display:inline-block}.ops-checklist p,.ops-env-list p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.4}.ops-env-list{gap:12px;display:grid}.ops-env-list section{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;min-width:0;padding:12px}.ops-env-list h3{margin:0}.ops-env-list ul{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.ops-env-list li{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0;padding:7px 8px}.ops-env-list code{color:var(--muted);margin:0}.group-workspace-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);align-items:start;gap:16px;margin-top:16px;display:grid}.learner-list-column{min-width:0}.learner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0;display:grid}.learner-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:14px;min-width:0;padding:16px;display:grid}.learner-card.selected{border-color:#86121c8c;box-shadow:inset 0 0 0 2px #86121c14}.learner-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.learner-card-header h2{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.25}.learner-card-header span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.learner-card-header>strong{color:var(--burgundy);font-size:22px;line-height:1.2}.learner-progress-track{background:#e7eaee;border-radius:999px;height:8px;overflow:hidden}.learner-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--burgundy), var(--blue));height:100%;display:block}.learner-review-chip{border:1px solid var(--border);min-height:30px;color:var(--blue);background:var(--blue-soft);border-radius:6px;justify-self:start;align-items:center;gap:7px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.learner-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.learner-stats div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.learner-stats dt,.learner-stats dd{margin:0}.learner-stats dt{color:var(--muted);font-size:12px;line-height:1.2}.learner-stats dd{color:var(--text);font-size:18px;font-weight:700;line-height:1.1}.learner-events{gap:10px;min-width:0;display:grid}.learner-events-title{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.learner-events-title svg{color:var(--blue)}.learner-events ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.learner-events li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:58px minmax(0,1fr);gap:3px 8px;min-width:0;padding:9px;display:grid}.learner-events li.success{border-color:#0f7a3d4d}.learner-events li.warning{border-color:#a15c0059}.learner-events li span{color:var(--muted);grid-row:1/span 2;font-size:12px;font-weight:700}.learner-events li strong,.learner-events li code,.learner-events p{overflow-wrap:anywhere;min-width:0}.learner-events li strong{color:var(--text);font-size:13px;line-height:1.25}.learner-events li code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.learner-events p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.profile-open-button{border:1px solid var(--blue);min-height:38px;color:var(--blue);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.profile-open-button:hover{background:var(--blue-soft)}.learner-profile-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 10px 28px #22283112}.profile-header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;display:grid}.profile-avatar{width:44px;height:44px;color:var(--burgundy);background:var(--burgundy-soft);border:1px solid #f0cfd3;border-radius:7px;place-items:center;display:grid}.profile-header h2{color:var(--text);overflow-wrap:anywhere;margin:3px 0 4px;font-size:22px;line-height:1.2}.profile-header p{color:var(--muted);margin:0;font-size:14px}.profile-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-metric-grid div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.profile-metric-grid small{color:var(--muted);font-size:12px;line-height:1.2}.profile-metric-grid strong{color:var(--text);font-size:20px;line-height:1.1}.review-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:12px;padding:14px;display:grid}.review-form-heading,.lesson-history-heading{color:var(--blue);align-items:center;gap:8px;display:flex}.review-form-heading h3,.lesson-history-heading h3{color:var(--text);margin:0;font-size:16px;line-height:1.25}.profile-status-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.profile-status-control button{border:1px solid var(--border);min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;font-size:12px;font-weight:700}.profile-status-control button.active{color:#fff;background:var(--burgundy);border-color:var(--burgundy)}.review-comment{gap:6px;display:grid}.review-comment span{color:var(--muted);font-size:12px;font-weight:700}.review-comment textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;min-width:0;min-height:82px;color:var(--text);background:#fff;border-radius:6px;padding:10px 12px;line-height:1.4}.review-comment textarea:focus{border-color:var(--blue);outline:3px solid #1763ab2e}.review-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-actions span{min-width:0;color:var(--muted);font-size:12px;line-height:1.25}.profile-module-panel{gap:10px;display:grid}.profile-module-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-module-summary div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.profile-module-summary small{color:var(--muted);font-size:12px;line-height:1.2}.profile-module-summary strong{color:var(--text);font-size:20px;line-height:1.1}.profile-module-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.profile-module-list li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:28px minmax(0,1fr) minmax(62px,auto) 74px;align-items:center;gap:8px;min-width:0;padding:9px;display:grid}.profile-module-list li.passed{border-color:#0f7a3d4d}.profile-module-list li.needs-practice{border-color:#a15c0059}.profile-module-list li>span{width:24px;height:24px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.profile-module-list li div{gap:2px;min-width:0;display:grid}.profile-module-list strong,.profile-module-list small,.profile-module-list code,.profile-module-list em{overflow-wrap:anywhere;min-width:0}.profile-module-list strong{color:var(--text);font-size:13px;line-height:1.2}.profile-module-list small,.profile-module-list em{color:var(--muted);font-size:12px;font-style:normal}.profile-module-list code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.profile-module-list em{text-align:right}.lesson-history{gap:10px;display:grid}.lesson-history ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.lesson-history li{border:1px solid var(--border);background:#fbfcfe;border-radius:7px;grid-template-columns:28px minmax(0,1fr) minmax(86px,auto) 58px;align-items:center;gap:8px;min-width:0;padding:9px;display:grid}.lesson-history li.completed{border-color:#0f7a3d4d}.lesson-history li.needs-practice{border-color:#a15c0059}.lesson-history li>span{width:24px;height:24px;color:var(--muted);background:var(--surface-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.lesson-history li div{gap:2px;min-width:0;display:grid}.lesson-history strong,.lesson-history small,.lesson-history code,.lesson-history em{overflow-wrap:anywhere;min-width:0}.lesson-history strong{color:var(--text);font-size:13px;line-height:1.2}.lesson-history small{color:var(--muted);font-size:12px}.lesson-history code{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:12px}.lesson-history em{color:var(--muted);text-align:right;font-size:12px;font-style:normal}.group-empty{min-height:180px;color:var(--muted);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);align-content:center;place-items:center;gap:9px;margin-top:16px;padding:24px;display:grid}.group-empty svg{color:var(--blue)}.group-empty strong{color:var(--text);font-size:18px}.astra-workspace{background:#e9edf1;grid-template-rows:minmax(0,1fr) 54px;min-width:0;min-height:0;padding:14px;display:grid}.desktop-area{background:linear-gradient(125deg,#ffffff0d,#fff0 34%),linear-gradient(145deg,#59000452,#59000400 48%),linear-gradient(40deg,#7c00057a,#7c000500 42%),linear-gradient(#a00006,#8b0006);border:1px solid #8d0006;border-radius:4px 4px 0 0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29,0 16px 24px #22283129}.desktop-icons{z-index:1;gap:18px;display:grid;position:absolute;top:18px;left:18px}.desktop-icon{color:#fff;text-align:center;cursor:pointer;text-shadow:0 2px 4px #00000038;background:0 0;border:0;justify-items:center;gap:7px;width:82px;padding:0;font-size:12px;line-height:1.25;display:grid}.desktop-icon:hover .desktop-icon-mark,.desktop-icon:focus-visible .desktop-icon-mark{background:#ffffff24;border-color:#ffffff47}.desktop-icon:focus-visible{outline-offset:4px;border-radius:10px;outline:2px solid #ffffff57}.desktop-icon-mark{background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;place-items:center;width:54px;height:54px;display:grid}.desktop-icon-mark.browser{color:#ffd85a}.desktop-icon-mark.trash{color:#8fd3ff}.desktop-icon-mark.home{color:#ffd763}.desktop-icon-mark.terminal{color:#aff1be}.desktop-icon-mark.computer{color:#57d3ff}.desktop-icon-mark.help{color:#ffe17a}.desktop-icon span{white-space:pre-line}.fly-menu-preview{z-index:2;background:#820005eb;border-right:1px solid #ffffff24;grid-template-columns:190px minmax(0,1fr);width:min(46%,410px);display:grid;position:absolute;top:0;bottom:54px;left:0}.fly-menu-sidebar,.fly-menu-apps,.fly-menu-sidebar-footer{align-content:start;display:grid}.fly-menu-sidebar{border-right:1px solid #ffffff24;gap:2px;padding:16px 10px 10px}.fly-menu-apps{gap:4px;padding:16px 10px}.fly-menu-sidebar span,.fly-menu-sidebar-footer span{color:#fffffff0;align-items:center;min-height:32px;padding:0 10px;font-size:13px;display:flex}.fly-menu-sidebar span.active{background:#ffffff29}.fly-menu-sidebar-footer{border-top:1px solid #ffffff24;gap:4px;margin-top:10px;padding-top:10px}.fly-menu-entry{color:#fff;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:4px;width:100%;min-height:58px;padding:10px 12px;display:grid}.fly-menu-entry:hover,.fly-menu-entry:focus-visible{background:#ffffff1f;border-color:#ffffff2e}.fly-menu-entry strong{font-size:14px;line-height:1.3}.fly-menu-entry small{color:#ffffffbd;font-size:12px;line-height:1.35}.desktop-brand-watermark{z-index:1;position:absolute;bottom:76px;right:28px}.desktop-brand-watermark span{color:#fff;letter-spacing:0;border:2px solid #ffffffdb;border-radius:12px;align-items:center;padding:8px 18px;font-size:18px;display:inline-flex}.workspace-helper{z-index:1;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#57000594;border:1px solid #ffffff29;border-radius:10px;gap:8px;width:min(420px,100% - 80px);padding:18px;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 32px #29040638}.workspace-helper strong{font-size:18px;line-height:1.2}.workspace-helper span{color:#ffffffdb;font-size:14px;line-height:1.45}.sim-window{background:var(--surface);box-shadow:var(--shadow);border:3px solid #990006;border-radius:2px;position:absolute;overflow:hidden}.terminal-window{z-index:3;width:min(52%,560px);height:276px;min-height:0;top:30px;right:26px}.file-window{z-index:3;width:auto;height:318px;min-height:0;bottom:26px;left:140px;right:26px}.window-titlebar{color:#fff;background:#990006;border-bottom:1px solid #7b0005;grid-template-columns:20px minmax(0,1fr) 24px;align-items:center;gap:10px;height:32px;padding:0 9px;font-size:13px;font-weight:700;display:grid}.terminal-window .window-titlebar{grid-template-columns:20px minmax(0,1fr) auto 24px}.terminal-window .window-controls{grid-column:4}.window-titlebar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.window-titlebar svg{color:#fff}.window-controls{justify-content:flex-end;display:flex}.window-close-button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffffe6;place-items:center;width:16px;height:16px;padding:0;display:grid}.window-close-button:hover,.window-close-button:focus-visible{background:#ffffff2e}.window-menu{border-bottom:1px solid var(--border);min-height:34px;color:var(--text);white-space:nowrap;background:#f6f6f6;align-items:center;gap:24px;padding:0 10px;font-size:14px;display:flex;overflow:hidden}.fly-toolbar{background:#e9e9e9;border-bottom:1px solid #cfd4da;align-items:center;gap:9px;min-height:48px;padding:0 10px;display:flex}.terminal-toolbar{gap:8px}.toolbar-action{color:#3b5f7a;background:#f7f7f7;border:1px solid #c9ced4;border-radius:3px;place-items:center;width:32px;height:32px;display:grid}.toolbar-action.add{color:#6ead35}.toolbar-action.close{color:#b3232d}.toolbar-action.muted{opacity:.42}.toolbar-divider{background:#c4c8cd;width:1px;height:32px}.toolbar-chip{min-height:34px;color:var(--text);background:#fff;border:1px solid #c6ccd3;border-radius:4px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.toolbar-ok{color:#fff;background:#75b43b;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.terminal-body{color:#c7ced3;background:#000;height:calc(100% - 114px);min-height:0;padding:8px 10px;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:17px;line-height:1.45;overflow:auto}.terminal-body.can-type{cursor:text}.terminal-task-note{background:#1763ab1f;border:1px solid #1763ab59;border-radius:6px;gap:6px;margin-bottom:12px;padding:10px 12px;display:grid}.terminal-task-note.passive{background:#ffffff0f;border-color:#ffffff29}.terminal-task-note strong{color:#fff;text-transform:uppercase;font-size:12px}.terminal-task-note code{color:#fff;overflow-wrap:anywhere;background:#ffffff1a;border-radius:4px;width:fit-content;max-width:100%;padding:3px 8px}.terminal-task-note span{color:#c7ced3;font-size:13px;line-height:1.4}.terminal-line.command,.terminal-live-line span{color:#d0d6db;font-weight:700}.terminal-line.output{color:#c7ced3;white-space:pre-wrap}.terminal-line.error{color:var(--warning);white-space:pre-wrap}.terminal-live-line{align-items:baseline;gap:8px;min-height:28px;display:flex}.terminal-live-line>span{flex-shrink:0}.terminal-live-line strong,.terminal-live-line input{color:#f0f2f4;background:0 0;border:0;outline:0;min-width:16px;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:17px;font-weight:400}.terminal-live-line input{caret-color:#f0f2f4;flex:auto;width:100%;min-width:0;height:26px;padding:0;line-height:1.45}.terminal-live-line:focus-within input{color:#fff}.terminal-live-line input::placeholder{color:#f0f2f46b}.cursor{background:#cfd4d8;width:8px;height:20px;display:inline-block}.cursor.success{background:var(--success)}.terminal-live-line:focus-within .cursor{background:#1aa35f;animation:1s steps(2,start) infinite terminal-caret}.terminal-history-hint{color:#fff;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff47;border-radius:4px;justify-content:center;align-items:center;min-height:22px;padding:0 7px;font-size:11px;font-weight:800;line-height:1.15;display:inline-flex}@keyframes terminal-caret{50%{opacity:0}}.file-toolbar{border-bottom:1px solid var(--border);min-height:48px;color:var(--text);background:#e9e9e9;grid-template-columns:26px 26px 26px 26px 26px auto auto minmax(0,1fr);align-items:center;gap:7px;padding:0 8px;display:grid}.file-toolbar>.toolbar-round{width:26px;height:26px;color:var(--muted);place-items:center;display:grid}.file-toolbar .toolbar-round{color:#67a83a;flex-shrink:0}.file-toolbar-chip{min-height:32px;color:var(--text);white-space:nowrap;background:#f6f6f6;border:1px solid #c6ccd3;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.file-toolbar div{border:1px solid var(--border);height:28px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:3px;align-items:center;padding:0 10px;font-size:12px;display:flex;overflow:hidden}.file-content{grid-template-columns:135px minmax(0,1fr);height:calc(100% - 142px);min-height:0;display:grid;overflow:hidden}.file-nav{border-right:1px solid var(--border);background:#fbfbfb;align-content:start;gap:7px;padding:12px 10px;font-size:12px;display:grid}.file-nav strong{margin-bottom:2px}.file-nav span{color:var(--muted);border-radius:4px;padding:5px 8px}.file-nav .selected{color:#1763ab;background:#eaf3fb}.folder-grid{grid-template-columns:repeat(4,minmax(64px,1fr));gap:12px;padding:16px;display:grid;overflow:auto}.folder-tile{color:var(--text);text-align:center;justify-items:center;gap:6px;font-size:12px;line-height:1.25;display:grid}.folder-tile span{overflow-wrap:anywhere;max-width:100%}.folder-tile svg{color:#e2b528;fill:#ffd84d}.folder-tile.file svg{color:var(--muted);fill:none}.folder-tile small{color:var(--muted);font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:10px;line-height:1.1}.folder-empty-state{min-height:136px;color:var(--muted);text-align:center;background:#f7fafc;border:1px dashed #c7d1dc;border-radius:6px;grid-column:1/-1;align-content:center;justify-items:center;gap:7px;display:grid}.folder-empty-state svg{color:#e2b528;fill:#ffd84d}.folder-empty-state strong{color:var(--text);font-size:13px}.folder-empty-state span{max-width:260px;font-size:12px;line-height:1.35}.file-status{border-top:1px solid var(--border);min-height:28px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:12px;display:flex}.file-status strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:11px;font-weight:700;overflow:hidden}.file-status.active-path{color:#1763ab;background:#eef6fc}.file-status.active-path strong{color:#1763ab}.fly-panel{color:#fff;background:#990006;border:1px solid #8a0006;border-top:0;border-radius:0 0 4px 4px;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:0 12px;display:flex}.fly-panel-left,.fly-panel-right{align-items:center;display:flex}.fly-panel-right{gap:10px}.fly-start{color:#fff;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff38;justify-content:center;align-items:center;gap:8px;min-width:74px;height:48px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.fly-start:hover,.fly-start.active{background:#ffffff1f}.fly-start span{white-space:nowrap}.fly-launcher{border-right:1px solid #ffffff38;align-items:center;gap:10px;min-height:48px;padding-right:10px;display:inline-flex}.fly-launcher-button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:4px;place-items:center;width:34px;height:34px;padding:0;display:grid}.fly-launcher-button:hover,.fly-launcher-button:focus-visible{background:#ffffff29}.fly-app{color:#fff;border:1px solid #0000;border-radius:0;align-items:center;gap:7px;min-width:34px;max-width:190px;height:38px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.fly-app.active{background:#b51b21;border-color:#ffffff2e}.fly-app span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fly-spacer{flex:1}.locale{color:#fff;background:#00000024;border:1px solid #ffffff40;place-items:center;min-width:32px;min-height:30px;font-weight:700;display:grid}.fly-panel-counter{background:#00000024;border:1px solid #ffffff40;border-radius:4px;place-items:center;min-width:28px;min-height:30px;font-size:13px;font-weight:700;display:grid}.fly-time{justify-items:end;gap:2px;display:grid}.fly-time strong{font-size:16px;font-weight:700}.fly-time span{color:#fffc;font-size:11px}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(180px,260px);align-items:center;gap:18px;min-height:78px;padding:12px 22px;display:grid;position:relative}.bottom-nav[data-ready=false]{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}.bottom-progress-copy{text-align:center;justify-self:center;gap:2px;min-width:0;display:grid}.bottom-progress-copy>strong{color:var(--text);font-size:18px}.bottom-progress-copy>span{color:var(--muted);font-size:13px;line-height:1.35}.bottom-actions{justify-content:flex-end;gap:18px}.next-button{min-width:176px}@media (width<=1320px){.topbar{grid-template-columns:1fr;gap:12px}.progress-strip,.user-actions{justify-content:flex-start}.user-actions{flex-wrap:wrap}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-layout{flex:1;grid-template-columns:280px minmax(0,1fr);height:auto;overflow:auto}.lesson-panel{border-right:0}.astra-simulator-anchor{grid-column:1/-1}.astra-workspace{border-top:1px solid var(--border);min-height:760px}.group-toolbar{grid-template-columns:1fr}.group-actions{justify-content:flex-start}.group-import-recovery{grid-template-columns:1fr}.import-recovery-action{text-align:left;justify-items:start}.ops-toolbar,.ops-layout-grid,.ops-gate-steps,.ops-preview-steps,.ops-setup-phases,.group-workspace-grid,.lesson-insight-header,.lesson-insight-body,.module-assessment-header,.group-journal-header,.audit-trail-header,.import-jobs-header{grid-template-columns:1fr}.module-assessment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-filter-grid,.import-job-filter-grid,.group-summary-grid,.ops-summary-grid,.learner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.auth-screen{grid-template-columns:1fr}.auth-hero{min-height:auto;padding:28px 18px}.auth-hero h1{font-size:36px}.auth-course-points{width:100%;max-width:none}.auth-preview-desktop{min-height:300px}.fly-menu-preview{grid-template-columns:1fr;width:66%}.fly-menu-apps{display:none}.auth-preview-window.terminal{width:min(56%,260px);height:170px;top:22px;right:16px}.auth-preview-window.files{width:min(72%,280px);height:170px;bottom:66px;right:16px}.auth-preview-logo{padding:4px 10px;font-size:14px;bottom:56px;right:14px}.auth-panel{border-left:0;padding:24px 18px 30px}.topbar,.learning-layout,.bottom-nav{grid-template-columns:1fr}.learning-layout{scroll-behavior:smooth;padding-bottom:156px}.bottom-nav{z-index:80;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f6f8f7;align-items:center;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 24px #22283124}.bottom-nav[data-ready=false]{grid-template-columns:minmax(104px,132px) minmax(0,1fr)}.bottom-nav[data-ready=true]{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav[data-ready=true]>.secondary-button{grid-area:2/1}.bottom-nav[data-ready=true] .bottom-actions{grid-area:2/2}.bottom-nav[data-ready=true] .bottom-progress-copy{grid-area:1/1/auto/-1}.bottom-nav .bottom-progress-copy>strong{font-size:16px}.bottom-nav .bottom-progress-copy>span{font-size:12px;line-height:1.4}.topbar{padding:12px 16px;position:static}.brand-group,.user-actions,.progress-strip,.bottom-actions,.progress-track{width:100%}.progress-strip.compact,.topbar-primary{display:none}.user-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.user-chip{flex:1;justify-content:flex-start}.topbar-mobile-status{gap:10px;width:100%;display:grid}.topbar-mobile-progress{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.topbar-mobile-progress>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.topbar-mobile-progress span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.2}.topbar-mobile-progress strong{color:var(--text);font-size:16px;line-height:1}.topbar-mobile-primary{justify-content:center;width:100%}.course-map-anchor,.lesson-content-anchor,.astra-simulator-anchor{scroll-margin-top:64px}.course-sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:380px;overflow:hidden}.course-list{max-height:300px}.course-section{padding:16px 12px 12px}.course-note,.sidebar-footer{display:none}.lesson-panel{padding:28px 18px}.lesson-copy h1{font-size:30px}.lesson-summary{font-size:17px}.lesson-route-list,.practice-brief-grid,.lesson-stage-grid,.lesson-test-grid{grid-template-columns:1fr}.lesson-topic-heading{display:grid}.practice-header,.feedback-block,.bottom-progress-copy{text-align:left;justify-items:stretch}.practice-header{display:grid}.practice-block{grid-template-columns:1fr}.lesson-stage-heading{justify-items:start;display:grid}.lesson-stage-heading p,.lesson-stage-section-heading p{max-width:none}.result-check-action{grid-column:1/-1;width:100%;min-width:0}.lesson-completion,.module-completion,.completion-footer{grid-template-columns:1fr}.lesson-completion,.module-completion{display:grid}.module-metrics,.module-completion-grid,.module-completion-assessment-status{grid-template-columns:1fr}.module-completion-assessment-icon{width:36px;height:36px}.home-control-metrics,.home-trajectory-metrics,.home-control-list li{grid-template-columns:1fr}.module-assessment-heading,.assessment-actions{justify-content:stretch;display:grid}.assessment-score{width:100%}.assessment-options{grid-template-columns:1fr}.completion-footer,.completion-actions{justify-content:stretch;display:grid}.command-entry,.analytics-grid,.teacher-summary-grid{grid-template-columns:1fr}.mode-switch{flex-wrap:wrap;width:100%}.mode-switch button{flex:132px}.course-home{padding:18px 16px 24px}.home-hero-panel,.home-learning-flow,.scenario-steps,.learning-dashboard,.home-focus-grid,.home-support-grid,.home-practice-strip,.dashboard-guidance-card{grid-template-columns:1fr}.home-hero-panel{padding:20px}.home-hero-copy h1{font-size:34px}.home-hero-copy p{font-size:16px}.home-actions{display:grid}.home-route-preview{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-route-pill{justify-content:flex-start;width:100%}.home-hero-aside,.home-focus-grid,.home-support-grid{gap:12px}.home-focus-heading{grid-template-columns:1fr;gap:8px}.home-focus-heading strong{justify-self:start}.home-activity-list li{grid-template-columns:1fr}.home-activity-list li span,.home-activity-list li strong,.home-activity-list li code{grid-column:auto}.home-section-heading{align-items:start;gap:12px;display:grid}.module-grid{grid-template-columns:1fr}.group-dashboard,.ops-dashboard{padding:22px 16px 28px}.group-toolbar h1,.ops-toolbar h1{font-size:30px}.group-actions,.ops-toolbar,.ops-layout-grid,.ops-summary-grid,.ops-gate-steps,.ops-preview-steps,.ops-setup-phases,.group-workspace-grid,.group-summary-grid,.lesson-insight-metrics,.module-assessment-summary,.module-assessment-grid,.journal-filter-grid,.import-job-filter-grid,.learner-grid{grid-template-columns:1fr}.group-actions{width:100%;display:grid}.learner-stats,.profile-metric-grid,.profile-module-summary,.profile-status-control{grid-template-columns:1fr}.review-actions{display:grid}.lesson-history li,.profile-module-list li{grid-template-columns:28px minmax(0,1fr)}.command-insight-list li,.lesson-outcome-list li,.group-journal-list li,.audit-trail-list li,.import-jobs-list li,.dashboard-event-list li,.ops-checklist li{grid-template-columns:1fr}.lesson-history code,.lesson-history em,.profile-module-list code,.profile-module-list em,.lesson-outcome-list em{text-align:left;grid-column:2}.lesson-outcome-list em{grid-column:auto}.group-journal-list small,.import-jobs-list small{justify-self:start}.teacher-event{grid-template-columns:42px minmax(0,1fr)}.teacher-event>span:last-of-type{justify-self:start}.teacher-event small{grid-column:2}.astra-workspace{min-height:720px;padding:12px}.desktop-area{min-height:640px}.fly-menu-preview,.desktop-brand-watermark{display:none}.desktop-icons{gap:12px;padding:12px;display:flex;position:static}.workspace-helper{width:auto;inset:auto 16px 92px;transform:none}.desktop-icon{min-width:86px}.desktop-icon-mark{width:46px;height:46px}.desktop-icon span{font-size:11px}.terminal-window,.file-window{width:auto;max-width:calc(100% - 32px);left:16px;right:16px}.terminal-window{height:238px;top:100px}.file-window{height:268px;bottom:22px;left:16px}.folder-grid{grid-template-columns:repeat(2,minmax(70px,1fr))}.file-content{grid-template-columns:110px minmax(0,1fr)}.file-toolbar{grid-template-columns:26px 26px 26px 26px 26px minmax(0,1fr);overflow:hidden}.file-toolbar-chip{display:none}.file-toolbar div{min-width:0}.fly-panel{gap:8px;overflow:hidden}.fly-panel-left,.fly-panel-right{gap:8px;min-width:0}.fly-launcher{gap:8px;padding-right:8px}.fly-app{min-width:38px;max-width:46px;padding:0 8px}.fly-app span,.fly-time span,.fly-panel-counter{display:none}.bottom-nav{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.bottom-actions{grid-template-columns:1fr;display:grid}.secondary-button,.primary-button,.check-button,.next-button{width:100%;min-width:0}}@media (width<=520px){.brand-title{font-size:19px}.auth-hero{padding:24px 16px}.auth-hero h1{font-size:30px}.auth-hero p{font-size:16px}.home-stat-grid,.home-route-preview{grid-template-columns:1fr}.current-module-meta{grid-template-columns:1fr;display:grid}.flow-card,.module-card-heading{grid-template-columns:1fr}.module-retry-panel,.module-kickoff-panel,.lesson-route-panel,.lesson-stage-panel,.lesson-theory-shell,.lesson-test-block,.lesson-card-surface,.practice-block,.hint-block,.feedback-block{padding:16px}.module-retry-grid,.module-kickoff-grid,.lesson-route-list,.lesson-stage-grid,.lesson-test-grid,.lesson-route-heading{grid-template-columns:1fr}.lesson-route-list li{grid-template-columns:28px minmax(0,1fr);padding:10px}.home-progress-panel,.home-next-panel,.home-focus-card,.home-practice-strip,.home-section-band{padding:16px}.home-progress-ring{width:120px;height:120px}.home-next-heading h2,.home-focus-heading h2{font-size:18px}.home-section-band{padding:16px}.lesson-item{grid-template-columns:34px minmax(0,1fr)}.lesson-item .status-icon{display:none}.file-window{min-height:315px}.terminal-body,.terminal-live-line strong,.terminal-live-line input{font-size:15px}.terminal-body{padding:8px}.terminal-live-line{gap:5px}.terminal-history-hint{min-height:20px;padding:0 5px;font-size:10px}.cursor{width:7px;height:18px}.file-content{grid-template-columns:1fr}.file-nav{display:none}.window-menu{gap:10px;font-size:11px}.group-search{grid-template-columns:22px minmax(0,1fr)}.learner-events li{grid-template-columns:1fr}.learner-events li span{grid-row:auto}}
