:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;--bg: #0b1220;--surface: #121d30;--surface-soft: #19273b;--surface-hover: #20334d;--text: #e8eef8;--muted: #a8b7ca;--border: #2d3d54;--input: #0e1828;--primary: #4da3df;--primary-hover: #75bae9;--primary-contrast: #07131f;--accent-soft: #162e44;--shadow: #00000045;--danger-bg: #3a1d1c;--danger-text: #ffb4a1;color:var(--text);background:var(--bg)}[data-theme=light]{color-scheme:light;--bg: #f4f7fb;--surface: #ffffff;--surface-soft: #edf2f7;--surface-hover: #eaf3fb;--text: #172033;--muted: #52677b;--border: #dce5ee;--input: #ffffff;--primary: #1769aa;--primary-hover: #0f5791;--primary-contrast: #ffffff;--accent-soft: #edf5fc;--shadow: #17203314;--danger-bg: #fff0eb;--danger-text: #8c3518}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{background:var(--primary);border:0;border-radius:8px;color:var(--primary-contrast);cursor:pointer;font-weight:650;padding:.65rem 1rem}button:hover{background:var(--primary-hover)}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:900px;padding:.75rem 1.5rem}.site-brand{align-items:center;color:var(--text);display:inline-flex;gap:.6rem;text-decoration:none}.site-brand>span{align-items:center;background:#07131f;border:1px solid #437196;border-radius:8px;color:#6fe0ac;display:inline-flex;font-family:SFMono-Regular,Consolas,monospace;font-weight:800;height:2.25rem;justify-content:center;width:2.25rem}.site-brand strong{font-size:.9rem;letter-spacing:.02em}.theme-toggle{align-items:center;background:var(--surface-soft);border:1px solid var(--border);box-shadow:none;color:var(--text);display:inline-flex;gap:.45rem}.theme-toggle:hover{background:var(--surface-hover)}main{margin:0 auto;max-width:900px;padding:2rem 1.5rem 5rem}h1{font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.12;margin:.25rem 0 .8rem}h2{margin:.15rem 0 .5rem}p{line-height:1.6}.eyebrow{color:var(--muted);font-size:.8rem;font-weight:750;letter-spacing:.08em;margin:0;text-transform:uppercase}.course-description{color:var(--muted);font-size:1.1rem;max-width:720px}.course-progress{background:var(--accent-soft);border-radius:8px;display:inline-block;padding:.55rem .8rem}.course-practice{align-items:center;background:linear-gradient(135deg,var(--surface),var(--accent-soft));display:flex;gap:1.25rem;justify-content:space-between;margin:1.25rem 0 1.5rem}.course-practice>div{max-width:52rem}.course-practice h2{margin-top:.3rem}.course-practice>button{flex:0 0 auto}.auth-layout{align-items:center;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);min-height:calc(100vh - 8rem)}.auth-intro p:not(.eyebrow){color:var(--muted);font-size:1.08rem;max-width:34rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 42px var(--shadow);min-width:0;padding:1.5rem;width:100%}.auth-card h2{margin-top:1.25rem}.auth-note{color:var(--muted);margin-top:.35rem}.auth-card form{display:grid;gap:1rem;margin-top:1.25rem;min-width:0}.auth-card label{display:block;font-weight:650;min-width:0}.auth-card input{background:var(--input);border:1px solid var(--border);border-radius:8px;color:var(--text);display:block;margin-top:.4rem;max-width:100%;min-width:0;padding:.7rem;width:100%}.auth-card form>button{margin-top:.25rem;width:100%}.auth-card button:disabled{cursor:wait;opacity:.65}.auth-tabs{background:var(--surface-soft);border-radius:9px;display:grid;gap:.25rem;grid-template-columns:1fr 1fr;padding:.25rem}.auth-tabs button{background:transparent;color:var(--muted);padding:.55rem}.auth-tabs button.active{background:var(--surface);box-shadow:0 2px 8px var(--shadow);color:var(--primary)}.auth-error,.sync-error{background:var(--danger-bg);border-left:4px solid #d56d4b;color:var(--danger-text);margin:0;padding:.7rem .8rem}.auth-loading{padding-top:20vh;text-align:center}.account-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.account-bar>div{align-items:center;display:flex;gap:.65rem}.account-bar>div>span:last-child{display:grid}.account-bar small{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.account-avatar{align-items:center;background:#dcecf8;border-radius:999px;color:#155b8f;display:inline-flex;font-weight:800;height:2.3rem;justify-content:center;width:2.3rem}.sync-error{margin:-1rem 0 1.5rem}.theme-catalog{padding-top:2rem}.theme-lead{color:var(--muted);font-size:1.1rem;max-width:680px}.theme-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.theme-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px var(--shadow);display:grid;gap:1rem;grid-template-columns:auto 1fr;padding:1.35rem}.theme-card-content{min-width:0}.theme-card h2{font-size:1.25rem}.theme-card p:not(.eyebrow){color:var(--muted);margin:.35rem 0 0}.theme-card button{grid-column:2;justify-self:start}.theme-card button:disabled{background:#e9eef3;color:#6b7a89;cursor:not-allowed}.theme-actions{display:flex;flex-wrap:wrap;gap:.65rem;grid-column:2}.theme-actions button{grid-column:auto}.theme-progress{grid-column:1 / -1;width:100%}.theme-progress-summary{color:var(--muted);display:flex;font-size:.78rem;font-weight:650;gap:.75rem;justify-content:space-between}.theme-progress-summary span:first-child{color:var(--text)}.theme-progress-bar{background:var(--surface-soft);border-radius:999px;height:.45rem;margin-top:.5rem;overflow:hidden}.theme-progress-bar span{background:#1a8a62;display:block;height:100%;transition:width .16s ease}.theme-icon{align-items:center;background:#e8f2fb;border-radius:12px;color:#1769aa;display:flex;font-size:1.8rem;height:3rem;justify-content:center;width:3rem}.theme-git .theme-icon{background:#fff1dd;color:#b36a00}.theme-docker .theme-icon{background:#e2f4f6;color:#157681}.theme-web .theme-icon{background:#e0f6ee;color:#08724d}.theme-json .theme-icon{background:#fff0e8;color:#a24816;font-size:1.35rem;font-weight:800}.theme-python .theme-icon{background:#e8eefb;color:#315da8;font-size:1.2rem;font-weight:800}.theme-bash .theme-icon{background:#e7f4e9;color:#276b35;font-family:SFMono-Regular,Consolas,monospace;font-size:1.45rem;font-weight:800}.theme-network .theme-icon{background:#efe8fb;color:#7050a1}.theme-ssh .theme-icon{background:#e7f5f2;color:#176f62}.theme-database .theme-icon{background:#f0e9ff;color:#6741a5}.lab-promo{align-items:center;background:linear-gradient(135deg,#172a40,#1d2638 60%,#24203a);border:1px solid #38506b;border-radius:16px;box-shadow:0 12px 34px var(--shadow);display:grid;gap:1.25rem;grid-template-columns:auto 1fr auto;margin-top:2rem;overflow:hidden;padding:1.5rem;position:relative}[data-theme=light] .lab-promo{background:linear-gradient(135deg,#e8f5ff,#f3f6fb 60%,#f0ebff)}.lab-promo h2{margin-top:.2rem}.lab-promo p:not(.eyebrow){color:var(--muted);margin:.35rem 0 0}.lab-promo-icon{align-items:center;background:#07131f;border:1px solid #437196;border-radius:12px;color:#6fe0ac;display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:1.4rem;font-weight:800;height:3.4rem;justify-content:center;width:3.4rem}.lab-promo-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.lab-promo-meta span{background:#ffffff12;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.75rem;font-weight:700;padding:.3rem .55rem}[data-theme=light] .lab-promo-meta span{background:#fff9}.git-trainer-promo{background:linear-gradient(135deg,#2d211b,#211f29 58%,#172a31);border-color:#654638}[data-theme=light] .git-trainer-promo{background:linear-gradient(135deg,#fff1e8,#f7f3f1 58%,#e7f6f8)}.git-trainer-promo .lab-promo-icon{border-color:#9a5c3f;color:#ff9b71}.linux-cli-promo{background:linear-gradient(135deg,#102b2c,#17232d 58%,#172039);border-color:#286461}[data-theme=light] .linux-cli-promo{background:linear-gradient(135deg,#e4fbf5,#eef7f8 58%,#edf0ff)}.linux-cli-promo .lab-promo-icon{border-color:#2d8c82;color:#68e3cc}.python-ide-promo{background:linear-gradient(135deg,#172b45,#1d2436 58%,#2b2415);border-color:#385e83}[data-theme=light] .python-ide-promo{background:linear-gradient(135deg,#e6f1ff,#f3f5fb 58%,#fff6d8)}.python-ide-promo .lab-promo-icon{border-color:#477aab;color:#76b9ff;font-size:1.05rem}.theme-back{margin-bottom:1.5rem}.reinforcement-card{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin-top:1.5rem}.reinforcement-card h2{margin-top:.2rem}.reinforcement-action{align-items:flex-end;display:grid;flex:0 0 auto;gap:.65rem;justify-items:end}.reinforcement-action button:disabled{cursor:not-allowed;opacity:.55}.module-list{display:grid;gap:1rem;margin-top:2rem}.module-card,.lesson{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px var(--shadow);padding:1.5rem}.module-card>p:not(.eyebrow){color:var(--muted);margin-top:.35rem}.module-glossary-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem}.module-glossary-preview summary{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.module-glossary-preview summary>span:first-child{display:grid;gap:.2rem}.module-glossary-preview summary small,.module-glossary-preview summary>span:last-child{color:var(--muted);font-size:.78rem}.module-glossary-preview[open] summary{border-bottom:1px solid var(--border)}.module-glossary-preview .glossary-list{max-height:28rem;overflow:auto;padding:.35rem 1rem 1rem}.glossary-list{display:grid;gap:0;margin:0}.glossary-list>div{border-bottom:1px solid var(--border);display:grid;gap:.3rem;padding:.9rem 0}.glossary-list>div:last-child{border-bottom:0}.glossary-list dt{color:var(--text);font-weight:800}.glossary-list dd{color:var(--muted);line-height:1.5;margin:0}.glossary-example{background:var(--accent-soft);border-radius:6px;color:var(--text);display:block;margin-top:.45rem;padding:.45rem .55rem}.glossary-fab{align-items:center;bottom:1.25rem;box-shadow:0 10px 30px var(--shadow);display:flex;gap:.45rem;position:fixed;right:1.25rem;z-index:30}.glossary-fab span{align-items:center;background:#fff2;border-radius:5px;display:inline-flex;font-family:Georgia,serif;font-size:.78rem;height:1.6rem;justify-content:center;width:1.8rem}.glossary-overlay{align-items:center;background:#020913cc;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.glossary-dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px #0008;display:grid;max-height:min(42rem,calc(100vh - 2rem));max-width:42rem;overflow:hidden;width:100%}.glossary-dialog>header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:1.25rem}.glossary-dialog h2{margin:.2rem 0 0}.glossary-dialog header p:last-child{color:var(--muted);margin:.3rem 0 0}.glossary-close{font-size:1.5rem;line-height:1;padding:.35rem .65rem}.glossary-search{display:grid;font-size:.82rem;font-weight:750;gap:.4rem;padding:1rem 1.25rem 0}.glossary-search input{background:var(--input);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;padding:.7rem;width:100%}.glossary-search input:focus{border-color:var(--primary);outline:3px solid var(--focus)}.glossary-scroll{min-height:0;overflow:auto;padding:.25rem 1.25rem 1.25rem}.glossary-empty{color:var(--muted)}.lesson-list{list-style:none;margin:1.25rem 0 0;padding:0}.lesson-list li+li{border-top:1px solid var(--border)}.lesson-link{align-items:center;background:transparent;border-radius:0;color:var(--text);display:flex;gap:1rem;justify-content:space-between;padding:1rem 0;text-align:left;width:100%}.lesson-link:hover{background:transparent;color:var(--primary)}.lesson-link span:first-child{display:grid;gap:.35rem}.lesson-link small{color:var(--muted)}.status{border-radius:999px;font-size:.76rem;font-weight:700;padding:.35rem .55rem;white-space:nowrap}.status-not_started{background:#edf1f5;color:#526273}.status-theory_complete{background:#fff2cf;color:#795500}.status-completed{background:#dff5e9;color:#097241}.top-nav{align-items:center;color:var(--muted);display:flex;font-size:.9rem;gap:1rem;margin-bottom:1rem}.back-link,.secondary{background:transparent;border:1px solid var(--border);color:var(--primary)}.back-link:hover,.secondary:hover{background:var(--surface-hover);color:var(--primary-hover)}.lesson{margin:0 auto;max-width:760px}.exercise-prompt{font-size:clamp(1.25rem,2.5vw,1.7rem);line-height:1.35;margin:1.5rem 0 .65rem}.exercise-context{color:var(--muted);margin-top:0}.lesson-story{color:var(--muted)}code{background:var(--surface-soft);border-radius:4px;color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:.92em;padding:.1rem .3rem}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.key-points,.hint-panel{background:var(--accent-soft);border-left:4px solid var(--primary);margin:1.5rem 0;padding:.8rem 1rem}.key-points h2{font-size:1rem;margin:0 0 .4rem}.key-points ul{margin:0;padding-left:1.2rem}fieldset{border:0;margin:1.5rem 0;padding:0}legend{font-size:1.15rem;font-weight:650;line-height:1.4;margin-bottom:1rem}.option,.match{display:block;margin:.85rem 0}.option input{margin-right:.35rem}.match select,.lesson input[type=text],.lesson input:not([type]){background:var(--input);border:1px solid var(--border);border-radius:7px;color:var(--text);display:block;margin-top:.35rem;max-width:100%;padding:.6rem;width:30rem}.text-input-form{display:grid;gap:.75rem;justify-items:start}.ordering-list{display:grid;gap:.65rem;list-style:none;margin:1.25rem 0;padding:0}.ordering-list li{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:9px;display:grid;gap:.7rem;grid-template-columns:auto 1fr auto;padding:.7rem}.order-number{align-items:center;background:#dcebf6;border-radius:999px;color:#155b8f;display:inline-flex;font-size:.8rem;font-weight:800;height:1.7rem;justify-content:center;width:1.7rem}.order-actions{display:flex;gap:.35rem}.order-actions button{min-width:2.3rem}.order-actions button:disabled{color:#93a1ae;cursor:not-allowed;opacity:.55}.classification-list{display:grid;gap:.75rem;margin:1.25rem 0}.classification-item{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:9px;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) minmax(12rem,.8fr);padding:.8rem}.classification-item select{background:var(--input);border:1px solid var(--border);border-radius:7px;color:var(--text);min-width:0;padding:.6rem;width:100%}.feedback{font-weight:700;margin:1rem 0}.feedback-correct{color:#42d39a}.feedback-incorrect{color:#ff9d7d}[data-theme=light] .feedback-correct{color:#08724d}[data-theme=light] .feedback-incorrect{color:#9a3f18}.continue-button{margin-bottom:.5rem}.lesson-step-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.hint-panel{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.hint-panel p{margin:0}.progress-bar{background:var(--surface-soft);border-radius:999px;height:.45rem;margin:.9rem 0 1.5rem;overflow:hidden}.progress-bar span{background:#1a8a62;display:block;height:100%;transition:width .16s ease}.lesson-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.compact{font-size:.85rem;padding:.45rem .65rem}.completion{text-align:center}.completion p{margin-left:auto;margin-right:auto;max-width:560px}.actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.lab-back{margin-bottom:1.25rem}.lab-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.lab-heading>div>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:700px}.lab-completed-badge{background:#163b2e;border:1px solid #287358;border-radius:999px;color:#7ae0b3;font-size:.78rem;font-weight:750;padding:.45rem .7rem;white-space:nowrap}[data-theme=light] .lab-completed-badge{background:#e0f6eb;color:#08724d}.lab-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(15rem,.72fr) minmax(0,1.6fr);margin-top:1.75rem}.lab-mission{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px var(--shadow);padding:1.25rem}.lab-mission>p:not(.eyebrow,.lab-hint){color:var(--muted)}.lab-objective-progress{background:var(--surface-soft);border-radius:999px;height:.4rem;margin:1.1rem 0;overflow:hidden}.lab-objective-progress span{background:#39c88d;display:block;height:100%;transition:width .18s ease}.lab-objectives{display:grid;gap:.7rem;list-style:none;margin:0 0 1.1rem;padding:0}.lab-objectives li{align-items:flex-start;color:var(--muted);display:grid;font-size:.88rem;gap:.55rem;grid-template-columns:1.45rem 1fr}.lab-objectives li span{align-items:center;border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:800;height:1.35rem;justify-content:center;width:1.35rem}.lab-objectives li.done{color:var(--text)}.lab-objectives li.done span{background:#1a8a62;border-color:#1a8a62;color:#fff}.lab-hint{background:var(--accent-soft);border-left:3px solid var(--primary);font-size:.85rem;margin:1rem 0 0;padding:.65rem .75rem}.terminal{background:#071019;border:1px solid #31465b;border-radius:14px;box-shadow:0 16px 44px #0005;color:#d8e4ec;min-width:0;overflow:hidden}.terminal-titlebar{align-items:center;background:#111e2a;border-bottom:1px solid #263b4e;color:#93a8b8;display:grid;font-size:.72rem;grid-template-columns:1fr auto 1fr;padding:.65rem .8rem}.terminal-titlebar>span:last-child{justify-self:end;text-transform:uppercase}.terminal-lights{display:flex;gap:.35rem}.terminal-lights i{background:#ef6d5d;border-radius:999px;height:.65rem;width:.65rem}.terminal-lights i:nth-child(2){background:#e8bd56}.terminal-lights i:nth-child(3){background:#51be73}.terminal-screen{font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;height:27rem;overflow:auto;padding:1rem}.terminal-entry{margin-bottom:.9rem}.terminal-entry pre{color:#aebdca;font:inherit;line-height:1.55;margin:.25rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.terminal-entry.terminal-error pre{color:#ff9d8c}.terminal-entry.terminal-success pre{color:#6fe0ac}.terminal-prompt{color:#6fe0ac;font-weight:700}.terminal-success-card{background:#123629;border:1px solid #287358;border-radius:8px;color:#83e5ba;display:grid;gap:.2rem;padding:.75rem}.terminal-success-card span{font-size:.78rem}.terminal-input-row{align-items:center;background:#0b1721;border-top:1px solid #263b4e;display:grid;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem}.terminal-input-row>span{color:#6fe0ac;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.terminal-input-row input{background:transparent;border:0;color:#f2f7fa;font-family:SFMono-Regular,Consolas,monospace;min-width:0;outline:0;padding:.5rem 0;width:100%}.terminal-input-row input::placeholder{color:#667b8b}.terminal-input-row button{font-size:.78rem;padding:.5rem .7rem}.trainer-task-tabs{display:grid;gap:.65rem;grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.trainer-task-tabs button{align-items:center;background:var(--surface);border:1px solid var(--border);color:var(--muted);display:flex;gap:.6rem;justify-content:flex-start;min-width:0;text-align:left}.trainer-task-tabs button:hover:not(:disabled),.trainer-task-tabs button.active{background:var(--surface-hover);border-color:var(--primary);color:var(--text)}.trainer-task-tabs button:disabled{cursor:not-allowed;opacity:.48}.trainer-task-tabs button>span{align-items:center;background:var(--surface-soft);border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:.72rem;height:1.5rem;justify-content:center;width:1.5rem}.trainer-mode-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding:.85rem 1rem}.trainer-mode-row>div{display:grid;gap:.2rem}.trainer-mode-row>div span{color:var(--muted);font-size:.82rem}.trainer-mode-toggle{align-items:center;cursor:pointer;display:flex;gap:.55rem}.trainer-mode-toggle input{height:1px;opacity:0;position:absolute;width:1px}.trainer-mode-toggle>span{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;height:1.5rem;position:relative;transition:background .16s ease;width:2.7rem}.trainer-mode-toggle>span:after{background:var(--muted);border-radius:999px;content:"";height:1rem;left:.2rem;position:absolute;top:.2rem;transition:transform .16s ease,background .16s ease;width:1rem}.trainer-mode-toggle input:checked+span{background:#174b3d;border-color:#2b8c6d}.trainer-mode-toggle input:checked+span:after{background:#78e0b6;transform:translate(1.15rem)}.trainer-mode-toggle input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.trainer-mode-toggle b{font-size:.78rem;min-width:4.8rem}.trainer-goal{background:var(--accent-soft);border-radius:8px;color:var(--text)!important;font-size:.86rem;padding:.7rem}.trainer-guide{background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));border:1px solid #2c7367;border-radius:10px;margin:1rem 0;padding:.9rem}.trainer-guide h3{font-size:1rem;margin:.25rem 0 .75rem}.trainer-guide dl{display:grid;gap:.65rem;margin:0 0 .85rem}.trainer-guide dl div{display:grid;gap:.2rem}.trainer-guide dt{color:#68e3cc;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}[data-theme=light] .trainer-guide dt{color:#11665b}.trainer-guide dd{color:var(--muted);font-size:.82rem;line-height:1.45;margin:0}.trainer-guide code{color:var(--text);overflow-wrap:anywhere}.trainer-actions{display:flex;flex-wrap:wrap;gap:.55rem}.trainer-next{margin-top:1rem;width:100%}.trainer-glossary{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:1.25rem;padding:1.25rem}.trainer-glossary>h2{margin:.25rem 0 .45rem}.trainer-glossary>p:not(.eyebrow){color:var(--muted);margin-top:0;max-width:760px}.trainer-glossary>dl{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0 0}.trainer-glossary>dl>div{background:var(--surface-soft);border-radius:9px;padding:.8rem}.trainer-glossary dt{font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:800;margin-bottom:.3rem}.trainer-glossary dd{color:var(--muted);font-size:.82rem;line-height:1.5;margin:0}.git-branch{color:#ffb17f}.aurora-terminal{border-color:#286461;box-shadow:0 16px 44px #062c2a55}.aurora-terminal .terminal-titlebar{background:#102628;border-bottom-color:#24504e}.aurora-mark{color:#68e3cc}.aurora-mission{border-color:#28504f}.python-ide-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(15rem,.62fr) minmax(0,1.75fr);margin-top:1.75rem}.python-ide-task{border-color:#385477}.python-ide-task .python-acceptance{color:var(--muted);font-size:.88rem;line-height:1.55}.python-workbench{background:#101621;border:1px solid #34465d;border-radius:14px;box-shadow:0 16px 44px #0005;color:#d9e4ef;min-width:0;overflow:hidden}.python-ide-titlebar{align-items:center;background:#18202d;border-bottom:1px solid #2c3c50;color:#94a6b9;display:grid;font-size:.72rem;grid-template-columns:1fr auto 1fr;padding:.65rem .8rem}.python-ide-titlebar>span:last-child{justify-self:end}.python-ide-main{display:grid;grid-template-columns:10.5rem minmax(0,1fr);min-height:19rem}.python-explorer{background:#111a26;border-right:1px solid #2b3a4c;color:#93a5b8;display:flex;flex-direction:column;font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;gap:.7rem;padding:.85rem .7rem}.python-explorer strong{color:#d0dbe5;font-size:.65rem;letter-spacing:.08em}.python-explorer span{overflow-wrap:anywhere}.python-explorer .active{color:#ecf4fb;font-weight:700}.python-editor-pane{min-width:0}.python-editor-tab{align-items:center;background:#131b27;border-bottom:1px solid #2a394b;color:#c9d5df;display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;gap:.5rem;height:2.35rem;padding:0 .8rem;width:max-content}.python-editor-tab span{color:#71aff1;font-weight:800}.python-editor-tab i{background:#aab8c5;border-radius:999px;height:.4rem;width:.4rem}.python-editor{display:grid;grid-template-columns:2.7rem minmax(0,1fr);height:calc(100% - 2.35rem);min-height:16.65rem}.python-line-numbers{background:#101621;color:#5f7184;display:flex;flex-direction:column;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.7;padding:1rem .65rem;text-align:right;-webkit-user-select:none;user-select:none}.python-line-numbers span{height:1.394rem}.python-editor textarea{background:#101621;border:0;color:#d9e4ef;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.7;min-height:16.65rem;outline:0;padding:1rem .8rem;resize:vertical;-moz-tab-size:4;tab-size:4;width:100%}.python-editor textarea:focus{box-shadow:inset 0 0 0 2px #3a78b7}.python-test-panel{background:#0b111a;border-top:1px solid #2c3c50;min-height:10.5rem;padding:.9rem}.python-test-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.python-test-toolbar>div{display:grid;gap:.15rem}.python-test-toolbar strong{color:#dce7f0;font-size:.7rem;letter-spacing:.08em}.python-test-toolbar span,.python-console-empty{color:#7f93a6;font-size:.72rem}.python-test-toolbar button{background:#26734f;font-size:.78rem;padding:.55rem .75rem}.python-test-toolbar button:hover{background:#318c63}.python-console-empty{margin-bottom:0}.python-run-error,.python-run-summary{border-radius:8px;font-size:.78rem;margin:.75rem 0 0;padding:.65rem .75rem}.python-run-error,.python-run-summary.failed{background:#3c211e;border:1px solid #784039;color:#ffb5a8}.python-run-summary.passed{background:#133327;border:1px solid #28694e;color:#7de0ad}.python-test-grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.65rem}.python-test-grid article{background:#111a25;border:1px solid #314154;border-radius:7px;display:grid;gap:.25rem;min-width:0;padding:.55rem}.python-test-grid article.passed{border-left:3px solid #3fc681}.python-test-grid article.failed{border-left:3px solid #e47865}.python-test-grid article>span{color:#cad7e2;font-size:.68rem;font-weight:750}.python-test-grid code{background:transparent;color:#87bff6;font-size:.7rem;overflow-wrap:anywhere;padding:0}.python-test-grid small{color:#8497aa;font-size:.65rem}.python-statusbar{background:#195f9b;color:#eaf5ff;display:flex;font-size:.65rem;justify-content:space-between;padding:.3rem .7rem}.comments-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;margin-top:2rem;padding:1rem}.comments-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.comments-heading h2{font-size:1.05rem;margin:.2rem 0 0}.comments-heading>span{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:800;height:1.8rem;justify-content:center;min-width:1.8rem;padding:0 .35rem}.comments-note,.comments-state{color:var(--muted);font-size:.82rem}.comment-list{display:grid;gap:0;list-style:none;margin:1rem 0;padding:0}.comment-list li{background:var(--surface);border:1px solid var(--border);padding:.8rem}.comment-list li:first-child{border-radius:9px 9px 0 0}.comment-list li:last-child{border-radius:0 0 9px 9px}.comment-list li:only-child{border-radius:9px}.comment-list li+li{border-top:0}.comment-meta{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.comment-meta strong{font-size:.82rem}.comment-meta time{color:var(--muted);font-size:.7rem}.comment-list p{line-height:1.5;margin:.45rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.comment-form{border-top:1px solid var(--border);display:grid;gap:.55rem;padding-top:1rem}.comment-form label{font-size:.82rem;font-weight:750}.comment-form textarea{background:var(--input);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;line-height:1.45;max-width:100%;min-height:5.5rem;padding:.7rem;resize:vertical;width:100%}.comment-form textarea:focus{border-color:var(--primary);outline:3px solid var(--focus)}.comment-form>div{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.comment-form small{color:var(--muted)}.comment-form button{font-size:.82rem;padding:.6rem .8rem}.comment-form button:disabled{cursor:not-allowed;opacity:.55}.comments-error{color:#ff9d7d;font-size:.8rem;margin-bottom:0}[data-theme=light] .comments-error{color:#9a3f18}@media(max-width:760px){.auth-layout{gap:1.5rem;grid-template-columns:1fr;min-height:auto}.auth-card{justify-self:stretch}.lab-layout,.trainer-task-tabs{grid-template-columns:1fr}.trainer-mode-row{align-items:flex-start;flex-direction:column}.trainer-glossary>dl{grid-template-columns:1fr}.python-ide-layout{grid-template-columns:1fr}}@media(max-width:600px){.site-header-inner{padding:.65rem 1rem}.site-brand strong{font-size:.82rem}main{padding:1.5rem 1rem 3rem}.auth-intro p:not(.eyebrow){font-size:1rem}.auth-card{padding:1.15rem}.account-bar{margin-bottom:1.5rem}.module-card,.lesson{border-radius:10px;padding:1.15rem}.course-practice{align-items:stretch;flex-direction:column}.course-practice>button{width:100%}.reinforcement-card{align-items:stretch;flex-direction:column}.reinforcement-action{justify-items:stretch}.reinforcement-action button{width:100%}.lesson-link,.top-nav,.lesson-toolbar{align-items:flex-start;flex-direction:column;gap:.6rem}.hint-panel{align-items:flex-start;flex-direction:column}.theme-grid{grid-template-columns:1fr}.theme-actions{grid-column:1 / -1;width:100%}.theme-actions button{flex:1 1 auto}.lab-promo{align-items:start;grid-template-columns:auto 1fr}.lab-promo button{grid-column:1 / -1;width:100%}.lab-heading{display:block}.lab-completed-badge{display:inline-block;margin-bottom:.8rem}.terminal-screen{height:23rem}.terminal-input-row{grid-template-columns:minmax(0,1fr) auto}.terminal-input-row>span{display:none}.classification-item{grid-template-columns:1fr}.ordering-list li{align-items:flex-start}.theme-toggle{height:2.65rem;justify-content:center;padding:0;width:2.65rem}.theme-toggle span:last-child{display:none}.python-ide-main{grid-template-columns:1fr}.python-explorer{border-bottom:1px solid #2b3a4c;border-right:0;display:none}.python-test-toolbar{align-items:stretch;flex-direction:column}.python-test-toolbar button{width:100%}.python-test-grid{grid-template-columns:1fr}.python-statusbar span:first-child{display:none}.python-statusbar{justify-content:flex-end}.module-glossary-preview summary{align-items:flex-start;flex-direction:column;gap:.35rem}.glossary-fab{bottom:.75rem;right:.75rem}.glossary-overlay{align-items:flex-end;padding:0}.glossary-dialog{border-bottom:0;border-radius:16px 16px 0 0;max-height:88vh}.glossary-dialog>header,.glossary-search{padding-left:1rem;padding-right:1rem}.glossary-scroll{padding-left:1rem;padding-right:1rem}}
