.student-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-course-card{background:#fff;border:1px solid #e1e7f0;border-radius:14px;flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.student-course-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #172b4d12}.student-course-card-top{color:#2f6bff;justify-content:space-between;align-items:center;display:flex}.student-course-card h2{letter-spacing:-.045em;margin:0;font-size:1.12rem}.student-course-card p{color:#6f7b91;min-height:38px;margin:0;font-size:.78rem;line-height:1.55}.course-progress{gap:7px;margin-top:auto;display:grid}.course-progress>div:first-child{color:#6f7b91;justify-content:space-between;font-size:.7rem;display:flex}.course-progress strong{color:#172033}.progress-track{background:#e9edf4;border-radius:8px;height:7px;overflow:hidden}.progress-track i{background:#2f6bff;border-radius:8px;height:100%;display:block}.student-course-meta{color:#6f7b91;justify-content:space-between;gap:8px;font-size:.68rem;display:flex}.student-course-meta span{align-items:center;gap:4px;display:flex}.student-course-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:20px;display:grid}.student-tree{padding:15px;position:sticky;top:20px}.student-tree-head{color:#2d62d4;align-items:center;gap:8px;padding:5px 7px 14px;font-size:.82rem;display:flex}.tree-module{border-top:1px solid #edf0f5;padding:13px 0 0}.tree-module h2{color:#526078;margin:0 7px 8px;font-size:.76rem}.tree-lesson,.tree-task{text-align:left;color:#526078;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.tree-lesson{padding:9px 7px;font-size:.75rem;font-weight:800}.tree-lesson>span,.tree-task>span{align-items:center;gap:6px;display:flex}.tree-lesson small{color:#8a94a5;font-size:.62rem;font-weight:600}.tree-lesson:hover,.tree-lesson.selected,.tree-task:hover,.tree-task.selected{color:#285ed4;background:#eef3ff}.tree-lesson.locked{color:#9aa4b3}.tree-task{padding:7px 7px 7px 26px;font-size:.7rem}.student-workspace{gap:16px;min-width:0;display:grid}.course-description{color:#6f7b91;max-width:620px;margin:9px 0 0;font-size:.78rem}.course-progress-pill{color:#285ed4;background:#edf2ff;border-radius:10px;align-items:center;gap:10px;padding:10px 13px;display:flex}.course-progress-pill strong{font-size:1.2rem}.course-progress-pill span{color:#526078;font-size:.68rem}.lesson-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.lesson-heading .due{align-items:center;gap:4px;display:flex}.lesson-content{min-height:300px}.lesson-content h2{margin:0 0 18px;font-size:1.4rem}.student-task{max-width:none}.student-task>p{white-space:pre-wrap}.reviewer-comment{color:#526078;background:#f2f6ff;border-left:3px solid #7ba5ff;padding:10px 13px;font-size:.76rem}.reviewer-comment strong{color:#315fc6}.reviewer-comment p{margin:5px 0 0;line-height:1.5}.locked-lesson,.unavailable-course{color:#6f7b91;place-items:start;gap:9px;display:grid}.locked-lesson h2,.unavailable-course h2{color:#172033;margin:0}.locked-lesson p,.unavailable-course p{margin:0;font-size:.8rem}.locked-lesson svg,.unavailable-course svg{color:#8a94a5}.empty-state{place-items:center;gap:7px;display:grid}.empty-state svg{color:#2f6bff}.empty-state p{margin:0}.runner-actions .runner-save:disabled{opacity:.55}@media (width<=1050px){.student-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-layout{grid-template-columns:1fr}.student-tree{position:static}}@media (width<=600px){.student-course-grid{grid-template-columns:1fr}.course-progress-pill{justify-content:center;width:100%}.student-course-meta{flex-wrap:wrap}.tree-lesson{padding:11px 7px}.lesson-content,.student-task{padding:18px}}.student-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));max-width:1120px}@media (width<=1050px){.student-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.student-course-grid{grid-template-columns:1fr}}.sidebar nav a.active{color:#fff;background:#29466f}.quick-actions{gap:9px;display:grid}.quick-actions a{justify-content:flex-start}.pagination{color:#6f7b91;justify-content:center;align-items:center;gap:16px;padding:18px 0 2px;font-size:.75rem;display:flex}.pagination button{min-height:35px}.attendance-tools{color:#6f7b91;justify-content:space-between;align-items:center;margin:14px 0;font-size:.75rem;display:flex}.entity-row{border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.entity-row strong{font-size:.82rem;display:block}.entity-row small{color:#6f7b91;margin-top:3px;font-size:.7rem;display:block}.row-actions{align-items:center;gap:2px;display:flex}.settings-form{gap:14px;display:grid}.settings-form h2,.panel>h2{letter-spacing:-.045em;margin:0 0 5px;font-size:1.1rem}.settings-form label{color:#526078;gap:7px;font-size:.76rem;font-weight:800;display:grid}.settings-form input,.editor-form input,.editor-form select,.editor-form textarea{color:#172033;border:1px solid #e1e7f0;border-radius:8px;padding:9px}.settings-form button{justify-self:start}.reset-form{background:#f7f9ff;border-radius:9px;padding:12px}.reset-form strong{font-size:.76rem}.review-detail{gap:12px;width:100%;display:grid}.review-code-grid{grid-template-columns:2fr 1fr 1fr;gap:9px;display:grid}.review-code-grid small{color:#6f7b91;margin-bottom:4px;font-size:.68rem;display:block}.review-code-grid pre{max-width:none;min-height:62px;margin:0;overflow:auto}.review-detail textarea{resize:vertical;border:1px solid #e1e7f0;border-radius:8px;width:100%;min-height:70px;padding:9px}.empty-state{text-align:center;color:#6f7b91;padding:22px;font-size:.8rem}.check-line{color:#6f7b91;align-items:center;gap:7px;font-size:.75rem;display:flex}.check-line input{accent-color:#2f6bff}.editor-form{background:#f8faff;border-radius:9px;padding:12px}.editor-lesson{display:block}.editor-lesson>.row-actions{justify-content:flex-end;margin-top:8px}.task-chip{color:#526078;background:#f2f5fa;border-radius:6px;align-items:center;gap:4px;width:max-content;max-width:100%;margin-top:4px;padding:4px 6px;font-size:.7rem;display:flex}.task-chip button{min-height:22px;padding:0 5px;font-size:.65rem}.add-form{border:1px dashed #c2ccdd;border-radius:8px;padding:11px}.add-form textarea{min-height:55px}.modal h2{margin:0}.import-label{cursor:pointer;width:max-content}.import-preview{background:#fbfcff;border:1px solid #e1e7f0;border-radius:9px;margin-top:10px;padding:12px;font-size:.74rem;line-height:1.8}.invalid-row{color:#b34d3d}.code-list{color:#176e56;background:#f2faf6;border-radius:9px;gap:5px;margin-top:10px;padding:12px;font-size:.78rem;display:grid}.code-list code{background:#fff;border-radius:5px;padding:3px 6px;font-family:Source Code Pro,monospace}.form-success,.form-error{margin:0 0 12px}.header-actions form{margin:0}.lesson-row .task-form{width:100%}*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;min-width:320px;margin:0;font-family:Manrope,Inter,system-ui,sans-serif}button{cursor:pointer}a{color:inherit;text-decoration:none}.inline-form{flex-wrap:wrap;align-items:center;gap:9px;margin:14px 0;display:flex}.inline-form input,.course-nav input{color:#172033;border:1px solid #e1e7f0;border-radius:9px;flex:1;min-width:160px;padding:10px 12px}.course-nav form{gap:9px;margin-bottom:18px;display:grid}.content-card{border-top:1px solid #e1e7f0;padding:18px 0}.content-card h3{margin:0;font-size:1rem}.runner-save{color:#aebfdc}.review-card pre{white-space:pre-wrap;background:#f4f6fa;border-radius:7px;max-width:550px;padding:9px;font-size:.72rem}.editor-input{border:1px solid #e1e7f0;border-radius:8px;margin-bottom:8px;padding:9px;font-size:1.2rem;font-weight:800;display:block}.editor-title textarea,.lesson-form textarea,.task-form textarea{resize:vertical;border:1px solid #e1e7f0;border-radius:8px;width:100%;min-height:70px;padding:9px;display:block}.assignment-box{background:#f5f8ff;border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:12px;font-size:.75rem;display:flex}.assignment-box label{align-items:center;gap:5px;display:flex}.lesson-form,.task-form{gap:8px;margin:12px 0;display:grid}.lesson-form input,.lesson-form select,.task-form input{border:1px solid #e1e7f0;border-radius:8px;padding:9px}.content-heading{justify-content:space-between;align-items:center;display:flex}.markdown-preview{background:#fbfcfe;border:1px solid #e1e7f0;border-radius:8px;padding:12px;font-size:.82rem;line-height:1.5}.markdown-preview img{max-width:100%;height:auto}.markdown-preview p{margin:5px 0}.form-success{color:#168567;font-size:.8rem}:root{--ink:#172033;--muted:#6f7b91;--navy:#172b4d;--blue:#2f6bff;--line:#e1e7f0;--panel:#fff;--green:#168567}.auth-page{background:#fff;grid-template-columns:minmax(380px,1.12fr) minmax(420px,.88fr);min-height:100vh;display:grid}.auth-intro{background:var(--navy);color:#f7faff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px clamp(34px,7vw,112px);display:flex;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid #bdd3ff29;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-190px;right:-220px;box-shadow:0 0 0 70px #bdd3ff0a,0 0 0 140px #bdd3ff06}.brand{z-index:1;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;display:flex;position:relative}.brand-mark{background:var(--blue);color:#fff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.auth-intro h1{letter-spacing:-.065em;max-width:660px;margin:.5rem 0 1.2rem;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1.04}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 .55rem;font-size:.7rem;font-weight:800}.auth-intro .eyebrow{color:#94b4ef}.intro-copy{color:#c0ceea;max-width:480px;font-size:1.05rem;line-height:1.7}.intro-stat{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.intro-stat strong{color:#82a9ff;letter-spacing:-.06em;font-size:3.2rem}.intro-stat span{color:#c0ceea;font-size:.85rem;line-height:1.4}.auth-card{place-items:center;padding:44px;display:grid}.auth-card-inner{width:100%;max-width:388px}.auth-card h2{letter-spacing:-.05em;margin:0 0 2rem;font-size:2rem}.role-switch{background:#f0f3f8;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:28px;padding:4px;display:grid}.role-switch button{color:var(--muted);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 8px;font-size:.84rem;font-weight:700;display:flex}.role-switch .selected{color:var(--ink);background:#fff;box-shadow:0 2px 8px #182c5510}.auth-card form{gap:17px;display:grid}.auth-card label,.modal label{color:#4b5870;gap:8px;font-size:.82rem;font-weight:700;display:grid}.auth-card input,.modal input,.modal select{border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;padding:13px 14px}.auth-card input:focus,.modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6bff16}.primary,.secondary,.ghost{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:.84rem;font-weight:800;display:inline-flex}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 13px #2f6bff2b}.primary:hover{background:#245de5}.secondary{color:#2659cb;background:#edf2ff}.ghost{color:#53617a;background:0 0}.ghost:hover{background:#f1f4f8}.auth-submit{width:100%;margin-top:6px}.auth-hint{color:var(--muted);margin:17px 0 0;font-size:.76rem;line-height:1.55}.form-error{color:#b34d3d;margin:0;font-size:.8rem}.app-shell{min-height:100vh;display:flex}.sidebar{color:#d6e0f3;z-index:5;background:#152746;flex-direction:column;width:245px;padding:28px 16px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{color:#fff;margin-bottom:38px;padding:0 11px}.side-top{align-items:center;display:flex}.close-menu,.mobile-menu{display:none}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#aebfdc;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:.86rem;font-weight:700;display:flex}.sidebar nav a:hover,.sidebar nav .nav-active{color:#fff;background:#29466f}.side-bottom{margin-top:auto}.profile{align-items:center;gap:10px;padding:13px 10px;display:flex}.profile strong{color:#fff;font-size:.78rem;display:block}.profile small{color:#aebfdc;font-size:.67rem}.avatar{color:#245bd8;background:#dce7ff;border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-size:.72rem;font-weight:800;display:grid}.avatar.coral{color:#c6533d;background:#ffe3df}.avatar.blue{color:#2d63da;background:#e5edff}.sign-out{color:#aebfdc;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 10px;font-size:.82rem;font-weight:700;display:flex}.workspace{width:calc(100% - 245px);max-width:1600px;margin-left:245px;padding:42px clamp(26px,4.6vw,76px)}.page-header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:32px;display:flex}.page-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(1.85rem,3.4vw,2.7rem);line-height:1.05}.header-actions{gap:9px;display:flex}.metrics{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-height:138px;padding:21px;display:flex}.metric strong{letter-spacing:-.07em;font-size:2rem}.metric span{color:#516078;margin-top:7px;font-size:.78rem}.metric small{color:var(--muted);margin-top:auto;font-size:.7rem}.metric .positive{color:var(--green)}.two-col{grid-template-columns:1.18fr .82fr;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.panel-heading{justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px;display:flex}.panel-heading h2,.editor h2,.modal h2,.attendance h2,.review-card h2,.student-progress h2{letter-spacing:-.045em;margin:0;font-size:1.2rem}.panel-heading a{color:#2b61d6;align-items:center;gap:3px;font-size:.76rem;font-weight:800;display:flex}.lesson-list{display:grid}.lesson-row{border-top:1px solid #edf0f5;align-items:center;gap:12px;padding:12px 0;display:flex}.lesson-index{color:#2c62dc;background:#eef3ff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:800;display:grid}.lesson-index.locked{color:#8f98a7;background:#f2f3f5}.lesson-row div{flex:1;gap:3px;display:grid}.lesson-row strong,.editor-lessons strong{font-size:.82rem}.lesson-row small,.editor-lessons small{color:var(--muted);font-size:.69rem}.badge{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:800}.badge.success{color:#168567;background:#e5f7f0}.badge.muted{color:#758095;background:#eff1f4}.badge.warning{color:#a96f0e;background:#fff2dc}.attention-item{border-top:1px solid #edf0f5;align-items:center;gap:11px;padding:15px 0;display:flex}.attention-item div{flex:1}.attention-item strong{font-size:.82rem;display:block}.attention-item small{color:var(--muted);font-size:.68rem}.table-panel{padding:0;overflow:hidden}.table-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:.76rem;font-weight:800}.tabs .tab-active{color:#285ed4;background:#eaf0ff}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.07em;color:#7c8799;white-space:nowrap;background:#f9fafc;padding:13px 20px;font-size:.65rem}td{color:#526078;white-space:nowrap;border-top:1px solid #edf0f5;padding:15px 20px;font-size:.78rem}td strong{color:var(--ink);font-size:.8rem;display:block}td small{color:var(--muted);margin-top:3px;font-size:.68rem;display:block}td code{color:#34425c;background:#f2f5fa;border-radius:5px;padding:5px 7px;font-family:Source Code Pro,monospace;font-size:.7rem}.progress-cell{color:#50607a;align-items:center;gap:9px;font-size:.75rem;display:flex}.progress-cell>span{background:#e9edf4;border-radius:10px;width:83px;height:6px;display:block;overflow:hidden}.progress-cell i{background:var(--blue);border-radius:10px;height:100%;display:block}.modal-backdrop{z-index:20;background:#14284774;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;gap:16px;width:min(440px,100%);padding:30px;display:grid;position:relative;box-shadow:0 24px 70px #1428473c}.modal-close{color:var(--muted);background:0 0;border:0;position:absolute;top:13px;right:13px}.course-layout{grid-template-columns:280px 1fr;gap:22px;display:grid}.course-nav h2{letter-spacing:-.05em;margin:0 0 20px;font-size:1.28rem}.module-tree{gap:4px;display:grid}.module-item{text-align:left;color:#536078;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:7px;padding:11px;font-size:.78rem;font-weight:700;display:flex}.module-item span{color:#929dad;font-size:.65rem;font-weight:600}.module-item.selected{color:#265fd7;background:#eaf0ff}.add-line{color:#2e65d9;background:0 0;border:0;align-items:center;gap:5px;padding:18px 10px 0;font-size:.75rem;font-weight:800;display:flex}.editor-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding-bottom:18px;display:flex}.publish-toggle{border:0}.editor-lessons{display:grid}.editor-lessons article{border-bottom:1px solid #edf0f5;align-items:center;gap:12px;padding:17px 0;display:flex}.editor-lessons article div{flex:1;gap:4px;display:grid}.add-lesson{color:#315fc5;background:#f9fbff;border:1px dashed #aebbd2;border-radius:9px;justify-content:center;gap:6px;width:100%;margin-top:18px;padding:11px;font-size:.78rem;font-weight:800;display:flex}.lesson-note{color:#52627d;background:#f3f7ff;border-radius:9px;gap:9px;margin-top:20px;padding:13px;font-size:.74rem;line-height:1.5;display:flex}.review-stack{gap:12px;display:grid}.review-card{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.review-main{align-items:center;gap:13px;display:flex}.review-main h2{font-size:.96rem}.review-main p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.76rem}.review-actions{gap:8px;display:flex}.attendance{max-width:760px}.attendance-info{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;display:flex}select{border:1px solid var(--line);color:#425069;background:#fff;border-radius:8px;padding:9px;font-size:.76rem}.attendance-row{border-bottom:1px solid #edf0f5;grid-template-columns:38px 1fr auto 18px 105px;align-items:center;gap:11px;padding:14px 0;font-size:.8rem;display:grid}.attendance-row span:nth-of-type(2){color:var(--muted);font-size:.7rem}.attendance-row input{accent-color:var(--blue);width:16px;height:16px}.attendance-row i{color:var(--green);font-size:.7rem;font-style:normal;font-weight:700}.filters{gap:10px;margin:-10px 0 22px;display:flex}.student-layout{grid-template-columns:minmax(280px,.78fr) minmax(400px,1.22fr);align-items:start;gap:22px;display:grid}.task-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:25px}.task-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.due{color:var(--muted);font-size:.73rem;font-weight:700}.task-panel h2{letter-spacing:-.05em;margin:0 0 12px;font-size:1.35rem}.task-panel>p{color:#4f5e77;margin-bottom:24px;font-size:.84rem;line-height:1.7}.task-panel code,.example code{background:#f2f5fa;border-radius:4px;padding:1px 4px;font-family:Source Code Pro,monospace;font-size:.78rem}.example{background:#f7f9fc;border:1px solid #e9edf4;border-radius:10px;margin-bottom:15px;padding:14px;font-size:.76rem}.example strong{margin-bottom:10px;font-size:.73rem;display:block}.example div{color:var(--muted);border-top:1px solid #e8edf4;justify-content:space-between;padding:7px 0;display:flex}.hint{color:#4f5e77;background:#f2f6ff;border-left:3px solid #7ba5ff;padding:11px 13px;font-size:.76rem}.hint strong{color:#315fc6}.hint p{margin:6px 0 0;line-height:1.5}.submission-state{color:#5d6c83;gap:9px;margin-top:18px;font-size:.72rem;line-height:1.5;display:flex}.submission-state svg{color:#315fc6;flex:none}.runner{color:#dce6f8;background:#18233a;border:1px solid #263652;border-radius:14px;padding:16px;box-shadow:0 15px 35px #18233a17}.runner-head{justify-content:space-between;align-items:center;padding:2px 4px 13px;display:flex}.runner-head .eyebrow{color:#8498bc;margin-bottom:3px}.runner-head strong{font-size:.8rem}.offline-note{color:#9cb0d3;background:#253652;border-radius:6px;padding:5px 7px;font-size:.65rem}.code-label,.io-label{color:#9db1d3;align-items:center;gap:5px;margin:0 4px 7px;font-family:Source Code Pro,monospace;font-size:.68rem;display:flex}.code-editor{resize:vertical;color:#e8f0ff;background:#111a2c;border:1px solid #2b3b58;border-radius:9px;outline:none;width:100%;min-height:260px;padding:15px;font:500 .83rem/1.65 Source Code Pro,monospace;display:block}.code-editor:focus{border-color:#527df1}.io-grid{grid-template-columns:.6fr 1.4fr;gap:12px;margin-top:14px;display:grid}.io-grid label{color:#9db1d3;gap:7px;font-size:.68rem;display:grid}.io-grid textarea{resize:vertical;color:#e8f0ff;background:#111a2c;border:1px solid #2b3b58;border-radius:8px;width:100%;height:86px;padding:9px;font:500 .75rem Source Code Pro,monospace}.console{color:#b5d9c8;white-space:pre-wrap;background:#0e1524;border:1px solid #2b3b58;border-radius:8px;min-height:86px;margin:0;padding:10px;font:500 .75rem/1.5 Source Code Pro,monospace}.runner-actions{justify-content:flex-end;gap:9px;padding-top:14px;display:flex}.runner .secondary{color:#dbe8ff;background:#253a60}.student-progress{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:24px;padding:22px}.student-progress h2{margin-bottom:16px;font-size:1.2rem}.progress-overall{align-items:center;gap:12px;display:flex}.progress-overall>span{color:var(--muted);font-size:.75rem}.mobile-menu{z-index:4;border:1px solid var(--line);width:39px;height:39px;color:var(--navy);background:#fff;border-radius:8px;position:fixed;top:15px;left:15px}@media (width<=1050px){.metrics{grid-template-columns:repeat(2,1fr)}.student-layout,.two-col,.course-layout{grid-template-columns:1fr}.course-nav{display:none}}@media (width<=760px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:auto;padding:30px}.auth-intro>div:nth-child(2){margin:58px 0 36px}.auth-intro h1{font-size:2.55rem}.auth-card{padding:34px 23px}.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:12px 0 36px #15274640}.workspace{width:100%;margin:0;padding:70px 17px 28px}.mobile-menu,.close-menu{place-items:center;display:grid}.close-menu{color:#fff;background:0 0;border:0;margin-left:auto}.page-header{flex-direction:column;align-items:start;margin-bottom:24px}.header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.header-actions button{padding:0 8px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:121px;padding:15px}.metric strong{font-size:1.65rem}.panel{padding:17px}.table-tools{padding:12px}.table-tools .ghost{font-size:0}.table-tools .ghost svg{margin:0}.review-card{flex-direction:column;align-items:start}.review-actions{width:100%}.review-actions button{flex:1}.attendance-info{flex-direction:column;align-items:start}.attendance-row{grid-template-columns:36px 1fr 18px;gap:8px}.attendance-row span:nth-of-type(2),.attendance-row i{grid-column:2}.attendance-row input{grid-area:1/3}.filters{grid-template-columns:1fr;display:grid}.task-panel{padding:18px}.io-grid{grid-template-columns:1fr}.runner{padding:11px}.code-editor{min-height:215px}.progress-overall{flex-direction:column;align-items:start}.auth-card h2{font-size:1.7rem}.sidebar nav{margin-top:5px}}.runner-head strong{margin-left:6px}.student-app .sidebar,.student-app .workspace{transition:width .2s,margin-left .2s,transform .2s}.student-app .sidebar{width:245px}.student-app .workspace{width:calc(100% - 245px);max-width:none;margin-left:245px}.student-app.student-sidebar-collapsed .sidebar{width:76px;padding-inline:12px}.student-app.student-sidebar-collapsed .workspace{width:calc(100% - 76px);margin-left:76px}.student-app .brand-name,.student-app .nav-label,.student-app .profile-copy{white-space:nowrap;overflow:hidden}.student-app.student-sidebar-collapsed .brand-name,.student-app.student-sidebar-collapsed .nav-label,.student-app.student-sidebar-collapsed .profile-copy{display:none}.student-app.student-sidebar-collapsed .side-top{justify-content:center}.student-app.student-sidebar-collapsed .side-brand{padding:0}.student-app.student-sidebar-collapsed .side-bottom{align-items:center}.student-app.student-sidebar-collapsed .profile{justify-content:center}.student-app.student-sidebar-collapsed .sign-out{justify-content:center;padding-inline:0}.sidebar-collapse{color:#9fb4da;background:0 0;border:0;border-radius:7px;place-items:center;padding:7px;display:grid}.sidebar-collapse:hover,.sidebar-collapse:focus-visible{color:#fff;outline-offset:2px;background:#ffffff18;outline:2px solid #80a8ff}.student-app.student-sidebar-collapsed .sidebar-collapse{display:grid}.student-sidebar-overlay{display:none}.student-course-page{min-height:calc(100vh - 55px)}.student-course-page .student-lesson-header{max-width:1440px;margin-inline:auto}.student-lesson-header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px;display:flex}.student-lesson-header-main{min-width:0}.student-lesson-header-main h1{letter-spacing:-.06em;margin:4px 0 7px;font-size:clamp(1.7rem,3vw,2.8rem)}.student-back-link{color:#55709b;align-items:center;gap:6px;margin-bottom:17px;font-size:.76rem;font-weight:800;display:inline-flex}.student-back-link:focus-visible,.student-outline button:focus-visible,.student-outline-toggle:focus-visible{outline-offset:2px;outline:3px solid #86a9ff}.student-lesson-due{color:#6f7b91;align-items:center;gap:6px;margin:0;font-size:.74rem;display:flex}.student-lesson-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.student-outline-toggle{align-items:center;gap:7px;display:inline-flex}.student-course-body{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px;display:grid}.student-course-body.is-lecture.without-outline,.student-course-body.is-practice{display:block}.student-course-main{min-width:0}.student-outline-backdrop{display:none}.student-outline{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 14px 32px #1527460d}.student-outline-docked{max-height:calc(100vh - 36px);position:sticky;top:18px}.student-outline-drawer{z-index:20;border-width:0 0 0 1px;border-radius:0;width:min(360px,92vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 38px #15274626}.student-outline-header{border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:center;min-height:58px;padding:14px 15px;display:flex}.student-outline-title{color:#315fc6;align-items:center;gap:8px;display:inline-flex}.student-outline-close,.student-outline-hide{color:#687995;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:6px;display:inline-flex}.student-outline-close:hover,.student-outline-hide:hover{color:#315fc6;background:#f0f4fb}.student-outline-scroll{max-height:calc(100vh - 120px);padding:13px 10px;overflow:auto}.student-outline-module+.student-outline-module{margin-top:16px}.student-outline-module h2{color:#687995;letter-spacing:.07em;text-transform:uppercase;margin:0 7px 6px;font-size:.68rem}.student-outline-lesson,.student-outline-task{text-align:left;color:#526078;background:0 0;border:0;border-radius:9px;width:100%}.student-outline-lesson{justify-content:space-between;align-items:center;gap:8px;padding:10px 8px;font-weight:800;display:flex}.student-outline-lesson:hover,.student-outline-task:hover{background:#f5f8ff}.student-outline-lesson.selected{color:#315fc6;background:#edf3ff}.student-outline-lesson.locked{color:#8b96a9}.student-outline-lesson.locked small{color:#b17c30}.student-outline-label{align-items:center;gap:7px;min-width:0;display:flex}.student-outline-label>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-outline-lesson small{text-overflow:ellipsis;white-space:nowrap;color:#8b96a9;flex:none;max-width:112px;font-size:.62rem;overflow:hidden}.student-outline-task{padding:7px 8px 7px 28px;font-size:.73rem;display:block}.student-outline-task span{align-items:center;gap:5px;display:flex}.student-outline-task small{color:#8b96a9;margin:3px 0 0 18px;font-size:.62rem;display:block}.student-lesson-status{white-space:nowrap;align-items:center;gap:3px;font-size:.62rem;font-weight:700;display:inline-flex}.student-lesson-status.completed{color:#2a9271}.student-lesson-status.pending{color:#af7720}.student-lesson-status.revision{color:#bc5948}.student-lesson-status.draft,.student-lesson-status.progress{color:#55709b}.student-outline-task.selected{color:#315fc6;background:#e8f0ff;font-weight:800}.student-outline-check{color:#8490a3;align-items:center;gap:5px;padding:7px 8px 7px 28px;font-size:.7rem;display:flex}.student-outline-check svg{color:#7e91b0}.student-outline-hide{justify-content:center;width:calc(100% - 20px);margin:0 10px 10px;padding:9px}.student-lecture-view{min-height:58vh;padding:clamp(24px,5vw,54px)}.student-lecture-view>.markdown-renderer{max-width:860px;margin-inline:auto}.student-lecture-view>h2{letter-spacing:-.05em;margin:18px 0 25px;font-size:clamp(1.5rem,3vw,2.25rem)}.student-lecture-view>.student-content-block{margin-top:18px}.student-lecture-block{scroll-margin-top:24px}.lecture-toc{background:#f8faff;border:1px solid #e4eaf3;border-radius:12px;gap:7px;margin:12px 0 24px;padding:14px 16px;display:grid}.lecture-toc strong{color:#526078;font-size:.75rem}.lecture-toc a{color:#315fc6;font-size:.8rem;font-weight:700;text-decoration:none}.lecture-toc a:hover,.lecture-toc a:focus-visible{text-decoration:underline}.student-lecture-completion{background:#f8faff;border:1px solid #dfe7f3;border-radius:14px;gap:14px;margin-top:28px;padding:18px;display:grid}.student-lecture-completion.is-completed{background:#f1fbf7;border-color:#b8e3d3}.student-completion-copy{align-items:flex-start;gap:10px;display:flex}.student-completion-icon{color:#315fc6;display:inline-flex}.is-completed .student-completion-icon{color:#2a9271}.student-completion-copy strong{color:#1d2b44;display:block}.student-completion-copy p{color:#71809a;margin:4px 0 0;font-size:.8rem;line-height:1.5}.student-lecture-completion>button{justify-self:start;min-height:42px}.student-next-step{color:#315fc6;align-items:center;gap:8px;padding-top:4px;font-size:.78rem;display:flex}.student-next-step span{color:#71809a}.student-next-step-card{background:#f4f8ff;border:1px solid #d7e3fb;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding:16px 18px;display:flex}.student-next-step-card>div{gap:3px;display:grid}.student-next-step-card strong{color:#1d2b44}.student-next-step-card button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.student-course-resume{background:#f4f8ff;border-radius:8px;padding:9px 11px;color:#55709b!important;min-height:0!important;margin:0!important;font-size:.74rem!important}.student-course-resume strong{color:#315fc6}.student-workspace-navigation{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.student-workspace-navigation button{min-height:38px}.student-progress-summary{color:#71809a;flex-wrap:wrap;gap:8px;margin-top:7px;font-size:.62rem;display:flex}.student-progress-summary span{background:#f2f5fa;border-radius:6px;padding:3px 6px}.student-progress-summary strong{color:#2a4270}.lesson-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-practice-shell{min-width:0}.student-practice-layout{grid-template-columns:minmax(300px,.9fr) minmax(470px,1.1fr);align-items:start;gap:20px;display:grid}.practice-task-column{min-width:0}.practice-task-column h2{letter-spacing:-.05em;margin:17px 0 11px;font-size:clamp(1.35rem,2vw,1.9rem)}.practice-task-column .task-statement{color:#4f5e77;margin-bottom:21px;line-height:1.7}.practice-task-column>.markdown-renderer{max-width:860px}.practice-materials{gap:12px;display:grid}.practice-runner-column{min-width:0;position:sticky;top:18px}.practice-runner-column .runner{min-height:520px}.practice-tabs{display:none}@media (width<=1100px){.student-practice-layout{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr)}.student-course-body{grid-template-columns:265px minmax(0,1fr);gap:15px}}@media (width<=900px){.student-outline-backdrop{z-index:19;background:#0d1d3866;border:0;display:block;position:fixed;inset:0}.student-practice-layout{grid-template-columns:1fr}.practice-tabs{border:1px solid var(--line);background:#eaf0f8;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:13px;padding:4px;display:grid}.practice-tabs button{color:#687995;background:0 0;border:0;border-radius:7px;padding:10px;font-weight:800}.practice-tabs button.active{color:#315fc6;background:#fff;box-shadow:0 2px 8px #15274614}.student-practice-layout[data-active-tab=task] .practice-runner-column,.student-practice-layout[data-active-tab=runner] .practice-task-column{display:none}.practice-runner-column{position:static}.student-course-body:not(.is-practice){grid-template-columns:1fr}.student-outline-docked{z-index:20;width:min(320px,100vw - 32px);max-height:calc(100vh - 92px);position:fixed;top:76px;left:16px}.student-outline-docked .student-outline-scroll{max-height:calc(100vh - 210px)}.student-course-body.is-lecture{display:block}.student-course-body.is-lecture .student-course-main{width:100%}}@media (width<=760px){.student-app .sidebar{width:245px}.student-app .workspace,.student-app.student-sidebar-collapsed .workspace{width:100%;margin-left:0;padding-top:70px}.student-app.student-sidebar-collapsed .sidebar{width:245px;padding-inline:24px;transform:translate(-100%)}.student-app.student-sidebar-collapsed .sidebar.open{transform:translate(0)}.student-app.student-sidebar-collapsed .brand-name,.student-app.student-sidebar-collapsed .nav-label,.student-app.student-sidebar-collapsed .profile-copy{display:block}.student-app.student-sidebar-collapsed .side-top{justify-content:space-between}.student-app.student-sidebar-collapsed .side-brand{padding:initial}.student-app.student-sidebar-collapsed .side-bottom{align-items:initial}.student-app.student-sidebar-collapsed .profile{justify-content:initial}.student-app.student-sidebar-collapsed .sign-out{justify-content:initial;padding-inline:0}.student-app .sidebar-collapse{display:none}.student-sidebar-overlay{z-index:4;background:#0d1d3870;border:0;display:block;position:fixed;inset:0}.student-lesson-header{flex-direction:column;align-items:flex-start;gap:14px}.student-lesson-header-actions{justify-content:space-between;width:100%}.student-lesson-header-actions .course-progress-pill{max-width:100%}.student-course-body{display:block}.student-outline-drawer{width:100%;max-width:360px}.student-lecture-view{padding:22px 18px}.student-lecture-view>.markdown-renderer{max-width:none}.student-practice-layout{gap:12px}.practice-task-column,.practice-runner-column .runner{padding:17px}.practice-runner-column .runner{min-height:0}.runner-actions{flex-wrap:wrap}.runner-actions button{flex:130px}.student-workspace-navigation{width:100%}.student-workspace-navigation button{flex:1 1 0;padding-inline:8px;font-size:.74rem}.student-next-step-card{flex-direction:column;align-items:flex-start}.student-next-step-card button,.student-lecture-completion>button{justify-content:center;width:100%}.student-progress-summary{width:100%}.student-mobile-action-bar{z-index:2;background:#18233af2;border-top:1px solid #2b3b58;margin:0 -17px;padding:8px 17px;position:sticky;bottom:0}}.console-error{color:#ffb1a7;border-color:#6b3941;margin-top:7px}.runner-local-restore{color:#9ec0ff;background:0 0;border:0;padding:6px 4px;font-size:.72rem;text-decoration:underline}.runner-elapsed{color:#8498bc;margin-top:8px;font-size:.68rem;display:block}.student-mobile-action-bar{display:block}@media (prefers-reduced-motion:reduce){.student-app .sidebar,.student-app .workspace{transition:none}}:root{--ui-bg:#f4f7fb;--ui-surface:#fff;--ui-surface-muted:#f8faff;--ui-text:#17233b;--ui-text-muted:#687790;--ui-border:#dfe6f0;--ui-primary:#2f6bff;--ui-primary-soft:#eaf1ff;--ui-success:#188866;--ui-success-soft:#e6f7f0;--ui-warning:#a66b0e;--ui-warning-soft:#fff3dc;--ui-danger:#ba5040;--ui-danger-soft:#fff0ed;--ui-radius-sm:8px;--ui-radius-md:12px;--ui-radius-lg:16px;--ui-shadow-sm:0 2px 12px #1931570d;--ui-shadow-md:0 18px 50px #1931571c;--ui-focus:0 0 0 3px #2f6bff3d}body{background:var(--ui-bg);color:var(--ui-text)}button,input,select,textarea{font:inherit;min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ui-focus);outline:0}.ui-button,.primary,.secondary,.ghost,.danger,.app-sidebar .nav-group-items a{min-height:44px}.skip-link{z-index:200;border-radius:var(--ui-radius-sm);background:var(--ui-text);color:#fff;box-shadow:var(--ui-shadow-md);padding:10px 14px;font-size:.78rem;font-weight:800;transition:transform .15s;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--ui-bg)}.app-shell .app-sidebar{background:var(--ui-surface);width:260px;color:var(--ui-text);border-right:1px solid var(--ui-border);padding:24px 14px;transition:width .2s,transform .2s;box-shadow:2px 0 18px #19315708}.app-shell .workspace{background:var(--ui-bg);width:calc(100% - 260px);max-width:none;margin-left:260px;padding:34px clamp(20px,4vw,64px) 56px;transition:margin-left .2s,width .2s}.app-shell .workspace>*{width:100%;max-width:1440px;margin-inline:auto}.app-shell .workspace:focus{outline:none}.app-shell.sidebar-collapsed .app-sidebar{width:76px;padding-inline:10px}.app-shell.sidebar-collapsed .workspace{width:calc(100% - 76px);margin-left:76px}.app-sidebar .side-brand{color:var(--ui-text);margin-bottom:28px;padding-inline:9px}.app-sidebar .side-top{min-height:44px}.app-sidebar .brand-mark{flex:none}.sidebar-collapse{color:var(--ui-text-muted);border-radius:var(--ui-radius-sm);background:0 0;border:0;place-items:center;min-width:44px;margin-left:auto;display:grid}.sidebar-collapse:hover,.sidebar-collapse:focus-visible{background:var(--ui-primary-soft);color:var(--ui-primary)}.close-menu{color:var(--ui-text-muted)}.app-nav{gap:20px;display:grid;overflow-y:auto}.nav-group{gap:7px;display:grid}.nav-group-label{color:#74839a;letter-spacing:.1em;text-transform:uppercase;margin:0 10px;font-size:.64rem;font-weight:800}.nav-group-items{gap:3px;display:grid}.app-sidebar .nav-group-items a{border-radius:var(--ui-radius-sm);min-height:44px;color:var(--ui-text-muted);padding:10px 12px}.app-sidebar .nav-group-items a:hover{color:var(--ui-text);background:#f1f5fb}.app-sidebar .nav-group-items a.nav-active{background:var(--ui-primary-soft);color:#245ddd}.app-sidebar .nav-group-items a svg{flex:none}.app-shell.sidebar-collapsed .brand-name,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .profile-copy,.app-shell.sidebar-collapsed .nav-group-label{display:none}.app-shell.sidebar-collapsed .side-brand,.app-shell.sidebar-collapsed .side-top,.app-shell.sidebar-collapsed .profile,.app-shell.sidebar-collapsed .sign-out{justify-content:center}.app-shell.sidebar-collapsed .side-brand{padding-inline:0}.app-shell.sidebar-collapsed .sidebar-collapse{margin-left:0}.app-sidebar .profile strong{color:var(--ui-text)}.app-sidebar .profile small{color:var(--ui-text-muted)}.app-sidebar .sign-out{color:var(--ui-text-muted);border-radius:var(--ui-radius-sm);min-height:44px}.app-sidebar .sign-out:hover{color:var(--ui-text);background:#f1f5fb}.breadcrumbs{color:#91a0b4;margin-bottom:22px}.breadcrumbs strong{color:var(--ui-text-muted)}.breadcrumbs strong[aria-current=page]{color:var(--ui-text)}.page-header{margin-bottom:28px}.page-header-copy{min-width:0}.page-header h1{color:var(--ui-text)}.page-description{color:var(--ui-text-muted)}.panel,.metric,.review-card,.task-panel,.student-progress,.student-course-card,.course-nav,.editor,.attendance{border-color:var(--ui-border);box-shadow:var(--ui-shadow-sm);border-radius:var(--ui-radius-lg)}.primary,.ui-button-primary{background:var(--ui-primary);min-height:44px}.secondary,.ui-button-secondary{background:var(--ui-primary-soft);color:#255cd0;min-height:44px}.ghost,.ui-button-ghost,.danger,.ui-button-danger{min-height:44px}.student-course-card{transition:transform .15s,box-shadow .15s}.student-course-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.student-course-cta{color:var(--ui-primary);align-items:center;gap:7px;margin-top:18px;font-size:.78rem;font-weight:800;display:inline-flex}.student-course-skeleton{background:linear-gradient(100deg,#fff 30%,#f0f4fb 45%,#fff 60%) 0 0/200% 100%;min-height:250px;animation:1.4s ease-in-out infinite ui-shimmer;overflow:hidden}.student-course-skeleton span{background:#e8edf5;border-radius:5px;width:72%;height:13px;display:block}.student-course-skeleton span:nth-child(2){width:90%;height:26px}.student-course-skeleton span:nth-child(3){width:100%}.student-course-skeleton span:nth-child(4){width:55%;margin-top:auto}.auth-page{background:var(--ui-bg)}.auth-intro{background:#152b50}.auth-intro-copy{z-index:1;position:relative}.auth-benefits{color:#c8d6ef;gap:9px;font-size:.8rem;display:grid}.auth-card{background:var(--ui-surface)}.auth-card-inner{max-width:420px}.auth-card input{background:#fbfcff;min-height:48px}.auth-card .form-error{border-radius:var(--ui-radius-sm);background:var(--ui-danger-soft);border:1px solid #f1d5d0;padding:11px 12px}.auth-card .auth-hint{margin-top:13px}.ui-dialog-overlay{z-index:100;background:#10224273;animation:.15s ui-fade;position:fixed;inset:0}.ui-dialog-content{z-index:101;background:var(--ui-surface);border-radius:var(--ui-radius-lg);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--ui-shadow-md);padding:28px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.ui-dialog-title{letter-spacing:-.03em;margin:0;padding-right:28px;font-size:1.2rem}.ui-dialog-description{color:var(--ui-text-muted);margin:8px 0 0;font-size:.82rem;line-height:1.5}.ui-dialog-close{border-radius:var(--ui-radius-sm);min-width:44px;color:var(--ui-text-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:14px;right:14px}.ui-dialog-close:hover{background:var(--ui-surface-muted);color:var(--ui-text)}.ui-dialog-content .modal{box-shadow:none;width:auto;padding:0}.ui-button{border-radius:var(--ui-radius-sm);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.ui-button:disabled,.primary:disabled,.secondary:disabled,.ghost:disabled,.danger:disabled{opacity:.55;cursor:not-allowed}.ui-badge{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.68rem;font-weight:800;display:inline-flex}.ui-badge-success{color:var(--ui-success);background:var(--ui-success-soft)}.ui-badge-warning{color:var(--ui-warning);background:var(--ui-warning-soft)}.ui-badge-danger{color:var(--ui-danger);background:var(--ui-danger-soft)}.ui-badge-info{color:#255cd0;background:var(--ui-primary-soft)}.ui-badge-neutral{color:var(--ui-text-muted);background:#eef2f7}.ui-surface{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.ui-progress-wrap{align-items:center;gap:10px;display:flex}.ui-progress{background:#e7edf7;border-radius:999px;flex:1;height:8px;overflow:hidden}.ui-progress span{border-radius:inherit;background:var(--ui-primary);height:100%;display:block}.ui-progress-label{color:var(--ui-text-muted);font-size:.75rem;font-weight:800}.ui-field{color:var(--ui-text-muted);gap:7px;font-size:.76rem;font-weight:800;display:grid}.ui-field small{color:#91a0b4;font-size:.68rem;font-weight:600}.ui-field-error{color:var(--ui-danger)!important}.app-sidebar-overlay{display:none}.route-loading,.route-error{place-items:center;min-height:55vh;padding:24px;display:grid}.route-loading p,.route-error .panel{margin:0}.route-loading p{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text-muted);box-shadow:var(--ui-shadow-sm);align-items:center;gap:10px;padding:16px 18px;display:inline-flex}.route-loading p:before{content:"";border:2px solid #c9d6ec;border-top-color:var(--ui-primary);border-radius:50%;width:16px;height:16px;animation:.9s linear infinite spin}.route-error .panel{max-width:520px}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.app-shell .app-sidebar{width:270px;transform:translate(-100%);box-shadow:14px 0 36px #1022422e}.app-shell .app-sidebar.open{transform:translate(0)}.app-shell .workspace,.app-shell.sidebar-collapsed .workspace{width:100%;margin-left:0;padding:70px 16px 36px}.app-shell .workspace>*{max-width:none}.app-shell.sidebar-collapsed .app-sidebar{width:270px;padding-inline:14px}.app-shell.sidebar-collapsed .app-sidebar .brand-name,.app-shell.sidebar-collapsed .app-sidebar .nav-label,.app-shell.sidebar-collapsed .app-sidebar .profile-copy,.app-shell.sidebar-collapsed .app-sidebar .nav-group-label{display:block}.app-shell.sidebar-collapsed .sidebar-collapse{display:none}.app-sidebar-overlay{z-index:4;background:#10224273;border:0;display:block;position:fixed;inset:0}.ui-dialog-content{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:22px 18px}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-card{order:1;align-items:start;min-height:62vh;padding:34px 20px}.auth-intro{order:2;min-height:38vh;padding:28px 20px}.auth-intro .auth-intro-copy{margin:24px 0 0}.auth-intro h1{font-size:2.15rem}.intro-copy{font-size:.9rem}.page-header{gap:16px}.page-header-copy,.page-header .header-actions{width:100%}}@media (width<=390px){.page-header h1{font-size:1.75rem}.header-actions{grid-template-columns:1fr;display:grid}.metrics{grid-template-columns:1fr}.panel,.task-panel{padding:16px}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;display:block}.table-wrap thead{display:none}.table-wrap tbody{gap:10px;display:grid}.table-wrap tr{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:13px}.table-wrap td{white-space:normal;text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.table-wrap td:first-child{text-align:left;border-bottom:1px solid var(--ui-border);margin-bottom:5px;padding-bottom:9px;display:block}.table-wrap td:nth-child(2):before{content:"Группа"}.table-wrap td:nth-child(3):before{content:"Подгруппа"}.table-wrap td:nth-child(4):before{content:"Статус"}.table-wrap td:nth-child(5):before{content:"Действия"}.table-wrap td:before{color:var(--ui-text-muted);text-align:left;font-size:.68rem;font-weight:800}.table-wrap td button{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.student-app{--student-bg:#f5f7fb;--student-surface:#fff;--student-ink:#18263f;--student-muted:#6e7d95;--student-line:#dfe7f2;--student-blue:#2f6bff;--student-blue-soft:#edf3ff;--student-green:#16886a;--student-green-soft:#e8f8f1;--student-amber:#a66d17;--student-amber-soft:#fff4df;--student-shadow:0 12px 34px #1f375e12;background:var(--student-bg)}.student-app .workspace{background:var(--student-bg)}@media (width>=901px){.student-app .workspace.workspace-immersive{width:calc(100% - 260px);max-width:none;margin-left:260px;padding:0 0 56px}.student-app.sidebar-collapsed .workspace.workspace-immersive{width:calc(100% - 76px);margin-left:76px}.student-app .workspace.workspace-immersive>*{width:100%;max-width:none;margin-inline:0}.student-app .workspace.workspace-immersive>.breadcrumbs{margin-bottom:10px;padding:22px clamp(24px,4vw,64px) 0}.student-course-workspace .student-lesson-header{max-width:none;margin:0;padding:20px clamp(24px,4vw,64px) 24px}.student-course-workspace .student-workspace-navigation{margin:0;padding:12px clamp(24px,4vw,64px)}.student-course-workspace .student-course-body,.student-course-workspace .student-course-main,.student-course-workspace .student-practice-workspace{width:100%;max-width:none}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{grid-template-columns:minmax(0,1fr) minmax(360px,42vw);align-items:stretch;gap:0;width:100%;min-height:100vh}.student-course-workspace.is-practice .practice-task-column{border:0;border-right:1px solid var(--student-line);min-height:100vh;box-shadow:none;border-radius:0;padding:clamp(32px,4vw,68px) clamp(28px,5vw,84px)}.student-course-workspace.is-practice .practice-runner-column{align-self:start;height:100vh;min-height:100vh;position:sticky;top:0;overflow:hidden}.student-course-workspace.is-practice .practice-runner-column .runner{height:100%;min-height:100vh;max-height:100vh;box-shadow:none;border:0;border-radius:0;padding:clamp(22px,2.4vw,38px) clamp(20px,2.7vw,44px);position:relative;top:auto;overflow:hidden auto}.student-course-workspace.is-practice .practice-runner-column .runner-head{z-index:2;background:#18233a;margin:-2px -2px 0;position:sticky;top:-1px}.student-course-workspace.is-practice .practice-runner-column .student-mobile-action-bar{z-index:2;background:linear-gradient(#18233a00,#18233a 24%);margin-inline:-2px;padding:10px 2px 2px;position:sticky;bottom:0}}.student-app .breadcrumbs{color:#8b99ad;letter-spacing:.01em;font-size:.72rem}.student-app .page-header{margin-bottom:24px}.student-app .page-header h1{letter-spacing:-.065em;max-width:680px;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.02}.student-app .page-description{max-width:620px;font-size:.88rem;line-height:1.65}.student-learning-overview{background:linear-gradient(110deg,#f0f5ff 0%,#fff 72%);border:1px solid #d9e5f4;border-radius:18px;justify-content:space-between;align-items:center;gap:28px;max-width:1120px;margin:0 0 22px;padding:22px 24px;display:flex;box-shadow:0 8px 22px #2552970d}.student-learning-overview-copy{align-items:flex-start;gap:14px;min-width:0;display:flex}.student-overview-mark{width:36px;height:36px;color:var(--student-blue);background:#dce8ff;border-radius:11px;flex:0 0 36px;place-items:center;display:grid}.student-overview-kicker{color:var(--student-blue);letter-spacing:.04em;margin:0 0 5px;font-size:.68rem;font-weight:850}.student-learning-overview h2{color:var(--student-ink);letter-spacing:-.035em;margin:0;font-size:1.08rem}.student-learning-overview-copy p:last-child{max-width:580px;color:var(--student-muted);margin:5px 0 0;font-size:.78rem;line-height:1.55}.student-learning-overview-stats{border-left:1px solid #d9e5f4;flex:none;gap:24px;padding-left:24px;display:flex}.student-learning-overview-stats div{gap:2px;display:grid}.student-learning-overview-stats strong{color:var(--student-ink);letter-spacing:-.04em;font-size:1.25rem}.student-learning-overview-stats span{color:var(--student-muted);white-space:nowrap;font-size:.68rem}.student-course-grid{gap:18px;max-width:1120px}.student-resume-banner{max-width:1120px;color:var(--student-ink);background:#edf4ff;border:1px solid #c9daf8;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin:0 0 19px;padding:14px 16px;transition:border-color .18s,background .18s,transform .18s;display:grid;box-shadow:0 7px 22px #2f6bff0f}.student-resume-banner:hover{background:#e8f1ff;border-color:#9fbcf0;transform:translateY(-1px)}.student-resume-banner:focus-visible{border-color:var(--student-blue);box-shadow:0 0 0 4px #2f6bff2e}.student-resume-banner-icon{color:#fff;background:var(--student-blue);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.student-resume-banner-copy{gap:2px;min-width:0;display:grid}.student-resume-banner-copy small{color:var(--student-blue);font-size:.63rem;font-weight:850}.student-resume-banner-copy strong,.student-resume-banner-copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-resume-banner-copy strong{font-size:.84rem}.student-resume-banner-copy>span{color:#6e82a4;font-size:.68rem}.student-resume-banner-action{color:var(--student-blue);white-space:nowrap;align-items:center;gap:6px;font-size:.7rem;font-weight:850;display:inline-flex}.student-course-card{border:1px solid var(--student-line);background:var(--student-surface);border-radius:18px;min-height:310px;padding:23px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;box-shadow:0 7px 24px #1e3a640b}.student-course-card:hover{box-shadow:var(--student-shadow);border-color:#b9cdf3;transform:translateY(-3px)}.student-course-card:focus-visible{border-color:var(--student-blue);box-shadow:0 0 0 4px #2f6bff33, var(--student-shadow)}.student-course-card-top{min-height:28px}.student-course-status{color:var(--student-muted);align-items:center;gap:7px;font-size:.67rem;font-weight:850;display:inline-flex}.student-course-status i{background:#aeb9c8;border-radius:999px;width:7px;height:7px;display:block}.student-course-status.is-active{color:var(--student-blue)}.student-course-status.is-active i{background:var(--student-blue);box-shadow:0 0 0 4px #e5edff}.student-course-status.is-finished{color:var(--student-green)}.student-course-status.is-finished i{background:var(--student-green);box-shadow:0 0 0 4px #e5f7f0}.student-course-card-arrow{width:32px;height:32px;color:var(--student-blue);background:var(--student-blue-soft);border-radius:10px;place-items:center;display:grid}.student-course-card-title{margin:17px 0 24px}.student-course-card h2{color:var(--student-ink);font-size:1.22rem;line-height:1.14}.student-course-card p{color:var(--student-muted);line-height:1.6}.course-progress{border-top:1px solid #edf1f7;gap:8px;padding-top:15px}.student-course-progress-label{color:var(--student-muted);font-size:.7rem}.student-course-progress-label strong{color:var(--student-ink)}.progress-track{background:#edf1f7;height:8px}.progress-track i{background:linear-gradient(90deg,#2f6bff,#6f96ff)}.student-course-meta{justify-content:initial;color:var(--student-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:18px;font-size:.67rem;display:grid}.student-course-meta span{min-width:0}.student-course-meta svg{color:#8ba2c5;flex:none}.student-course-deadline{color:var(--student-amber)!important}.student-course-deadline svg{color:var(--student-amber)}.student-course-cta{color:var(--student-blue);margin-top:auto;padding-top:18px;font-size:.76rem;font-weight:850}.student-course-cta svg:last-child{margin-left:auto;transition:transform .18s}.student-course-card:hover .student-course-cta svg:last-child{transform:translate(3px)}.student-lesson-header{border-bottom:1px solid #dfe7f2;align-items:flex-end;margin-bottom:26px;padding-bottom:22px}.student-lesson-header-topline,.student-lesson-type-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-lesson-header-topline{gap:14px}.student-course-context{color:#8290a8;align-items:center;gap:6px;font-size:.72rem;font-weight:750;display:inline-flex}.student-course-context svg{color:#91a8cc}.student-lesson-type-row{margin-top:19px}.student-lesson-type{border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:.65rem;font-weight:850;display:inline-flex}.student-lesson-type.is-lecture{color:var(--student-green);background:var(--student-green-soft)}.student-lesson-type.is-practice{color:var(--student-amber);background:var(--student-amber-soft)}.student-step-indicator{color:#7e8ea9;margin:0;font-size:.7rem;font-weight:750}.student-lesson-header-main h1{max-width:800px;color:var(--student-ink);margin:9px 0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03}.student-back-link{color:#607695;margin-bottom:0}.student-lesson-due{color:#7c8ba2}.student-lesson-header-actions{align-items:flex-end}.student-outline-toggle{min-height:44px;color:var(--student-blue);background:var(--student-blue-soft);border:1px solid #cddcf6;border-radius:11px}.course-progress-pill{background:#fff;border:1px solid #d6e3fb;border-radius:13px;min-width:230px;box-shadow:0 5px 18px #1f375e0d}.course-progress-pill strong{color:var(--student-blue);font-size:1.55rem}.course-progress-pill span{color:#7788a2;line-height:1.45}.student-progress-summary{gap:5px;margin-top:8px}.student-progress-summary span{background:#fafcff;border:1px solid #e3eaf5;border-radius:7px;gap:1px;min-width:57px;padding:5px 7px;display:grid}.student-progress-summary small{color:#91a0b4;font-size:.58rem}.student-progress-summary strong{color:#3c537b;font-size:.68rem}.student-outline{border-color:var(--student-line);border-radius:16px;box-shadow:0 9px 28px #1f375e0f}.student-outline-backdrop.is-drawer{z-index:19;background:#0d1d3861;border:0;display:block;position:fixed;inset:0}.student-outline-header{background:#fbfcff}.student-outline-title{color:var(--student-blue)}.student-outline-module h2{color:#8290a8;letter-spacing:.08em}.student-outline-lesson,.student-outline-task{min-height:44px}.student-outline-lesson.selected{box-shadow:inset 3px 0 0 var(--student-blue)}.student-outline-task.selected{box-shadow:inset 3px 0 #7d9fff}.student-workspace-navigation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:0 0 14px;display:grid}.student-adjacent-lesson{color:#627592;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-width:0;min-height:52px;padding:7px 11px;display:flex}.student-adjacent-lesson-next{text-align:right;justify-content:flex-end}.student-adjacent-lesson:not(:disabled):hover{color:var(--student-blue);background:#fbfcff;border-color:#d7e3f7}.student-adjacent-lesson:disabled{opacity:.45;cursor:default}.student-adjacent-lesson>span:last-child,.student-adjacent-lesson>span:first-child{flex:none;font-size:1.1rem}.student-adjacent-lesson span:not([aria-hidden]){gap:2px;min-width:0;display:grid}.student-adjacent-lesson small{color:#97a4b7;font-size:.61rem;font-weight:800}.student-adjacent-lesson strong{color:#405575;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:800;overflow:hidden}.student-navigation-position{color:#8796ac;text-align:center;min-width:54px;font-size:.68rem;font-weight:850}.student-lecture-view{border:1px solid var(--student-line);min-height:0;box-shadow:var(--student-shadow);border-radius:18px;padding:clamp(28px,5vw,64px) clamp(20px,7vw,92px)}.student-lecture-view>.markdown-renderer,.student-lecture-view>.student-content-block,.student-lecture-view>.student-lecture-completion,.student-lecture-view>.lecture-toc,.student-lecture-view>.lesson-heading,.student-lecture-view>h2{max-width:860px;margin-inline:auto}.student-lecture-view>h2{margin-top:18px}.student-lecture-reading{max-width:860px;margin-inline:auto}.student-lecture-reading>.markdown-renderer{max-width:none}.student-lecture-reading>.student-lecture-block{margin-top:22px}.student-lecture-view .markdown-renderer{color:#30425f;font-size:.96rem;line-height:1.78}.student-lecture-view .markdown-renderer h1,.student-lecture-view .markdown-renderer h2,.student-lecture-view .markdown-renderer h3{color:var(--student-ink);line-height:1.2}.student-lecture-view .markdown-renderer h2{margin-top:2.1em}.student-lecture-view .markdown-renderer blockquote{background:#f4f7ff;border-left-color:#86a9ff}.student-next-step-card{background:#f5f8ff;border-color:#cfe0ff;max-width:860px;margin-inline:auto}.student-practice-layout{gap:18px}.practice-task-column,.practice-runner-column .runner{border-radius:18px}.practice-task-column{border-color:var(--student-line);box-shadow:var(--student-shadow);padding:clamp(22px,3vw,36px)}.practice-task-column h2{color:var(--student-ink);font-size:clamp(1.55rem,2.5vw,2.2rem)}.practice-task-column .task-statement{color:#30425f;font-size:.93rem;line-height:1.76}.practice-task-column .markdown-renderer{line-height:1.7}.practice-task-context{color:#7c8ba2;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.practice-task-context .due{white-space:nowrap;align-items:center;gap:5px;font-size:.69rem;font-weight:750;display:inline-flex}.practice-section{min-width:0}.practice-section>h3{color:var(--student-ink);letter-spacing:-.02em;margin:0 0 12px;font-size:.93rem}.practice-condition{border-bottom:1px solid #edf1f7;padding-bottom:22px}.practice-condition .task-statement{max-width:760px;margin:0}.practice-condition .task-statement>:first-child,.practice-lesson-content>:first-child,.practice-hint .markdown-renderer>:first-child{margin-top:0}.practice-condition .task-statement>:last-child,.practice-lesson-content>:last-child,.practice-hint .markdown-renderer>:last-child{margin-bottom:0}.practice-materials{border:0;gap:14px;margin-top:0;padding:24px 0 4px;display:grid}.practice-materials>h3{margin-bottom:0}.practice-lesson-content{margin-top:0}.practice-material-blocks{gap:14px;display:grid}.practice-examples{background:#fbfcff;border:1px solid #e3eaf4;border-radius:13px;gap:11px;margin-top:22px;padding:17px;display:grid}.practice-examples>h3{margin-bottom:0}.practice-example-list{gap:8px;display:grid}.practice-example-row{border-top:1px solid #e7edf5;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);align-items:start;gap:12px;padding:9px 0;display:grid}.practice-example-row:first-child{border-top:0}.practice-example-row>span{color:#7486a2;font-size:.7rem;font-weight:800}.practice-example-row pre{color:#263956;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;margin:0;font:500 .76rem/1.55 Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.practice-example-row code{font:inherit}.practice-hint{background:#f3f7ff;border:1px solid #d5e1fb;border-left:3px solid #79a2ff;border-radius:12px;gap:6px;margin-top:20px;padding:15px 17px;display:grid}.practice-hint>h3{color:#315fc6;margin-bottom:0}.practice-hint .markdown-renderer p:first-child{margin-top:0}.practice-hint .markdown-renderer p:last-child{margin-bottom:0}.practice-submission-summary{background:#fbfcff;border:1px solid #e4eaf3;border-radius:13px;gap:10px;margin-top:22px;padding:17px;display:grid}.practice-submission-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-submission-heading h3{margin:0}.practice-submission-summary .submission-state{border-top:0;margin:0;padding:0}.practice-submission-summary .reviewer-comment{margin-top:2px}@media (width>=601px){.practice-task-context{display:none}}.practice-runner-column .runner{border:1px solid #2b3d60;top:18px;box-shadow:0 14px 36px #0e1b3433}.student-app .runner-head strong{color:#f1f5ff;font-size:.86rem}.student-app .runner-head .eyebrow{letter-spacing:.12em;font-size:.61rem}.student-app .runner .code-editor,.student-app .runner .io-grid textarea,.student-app .runner .console{border-color:#31466b}.student-app .runner .code-editor:focus,.student-app .runner .io-grid textarea:focus{border-color:#7fa4ff;box-shadow:0 0 0 3px #648eff2e}.student-app .runner-actions{gap:7px}.student-app .runner-actions button{min-height:42px}.student-app .runner-actions .primary{box-shadow:0 7px 18px #2f6bff4d}.student-app .interactive-block{border-color:#dfe7f2;border-radius:15px;margin-top:22px;padding:18px;box-shadow:0 7px 22px #1f375e0b}.student-app .interactive-options label{color:#425572;border-color:#dfe7f2;min-height:44px}.student-app .interactive-options label:hover{background:#f7f9ff;border-color:#8eaff5}.student-app .interactive-options label:has(input:focus-visible){background:#f7f9ff;border-color:#8eaff5}.student-app .example,.student-app .hint,.student-app .reviewer-comment{border-radius:12px}.submission-state{color:#72839c;border-top:1px solid #edf1f7;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;font-size:.72rem;display:flex}@media (width<=900px){.student-learning-overview{flex-direction:column;align-items:flex-start}.student-learning-overview-stats{border-top:1px solid #d9e5f4;border-left:0;width:100%;padding:14px 0 0}.student-lesson-header,.student-lesson-header-actions{align-items:stretch}.student-lesson-header-actions .course-progress-pill{flex:1}.student-workspace-navigation{gap:5px}.student-adjacent-lesson{padding-inline:6px}}@media (width<=600px){.student-app .page-header h1{font-size:2.15rem}.student-learning-overview{border-radius:15px;padding:18px}.student-learning-overview h2{font-size:1rem}.student-learning-overview-copy p:last-child{font-size:.74rem}.student-learning-overview-stats{gap:18px}.student-resume-banner{grid-template-columns:auto minmax(0,1fr);gap:10px}.student-resume-banner-action{grid-column:2;justify-self:start}.student-course-card{border-radius:16px;min-height:0;padding:20px}.student-course-card-title{margin:15px 0 20px}.student-course-meta{grid-template-columns:1fr}.student-lesson-header{margin-bottom:16px;padding-bottom:17px}.student-lesson-header-main h1{font-size:2rem}.student-lesson-header-actions{grid-template-columns:1fr;display:grid}.student-outline-toggle,.course-progress-pill{width:100%}.student-workspace-navigation{grid-template-columns:1fr auto 1fr}.student-adjacent-lesson{min-height:46px}.student-adjacent-lesson strong{max-width:100px}.student-adjacent-lesson small{font-size:.56rem}.student-lecture-view{border-radius:15px;padding:22px 17px 28px}.practice-task-column{padding:20px 17px}.practice-task-context{margin-bottom:13px;display:flex}.student-course-page.is-practice .student-lesson-type,.student-course-page.is-practice .student-lesson-due{display:none}.practice-condition{padding-bottom:18px}.practice-materials{padding-top:20px}.practice-example-row{grid-template-columns:1fr;gap:5px}.practice-examples,.practice-hint,.practice-submission-summary{padding:14px}.practice-submission-heading{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){.student-course-card,.student-course-cta svg:last-child{transition:none}}.student-course-workspace .student-lecture-view{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.student-lecture-document{background:#fff;border:1px solid #dce6f3;border-radius:22px;width:min(100%,1120px);margin-inline:auto;padding:clamp(28px,4vw,56px) clamp(24px,5vw,68px) clamp(34px,5vw,68px);box-shadow:0 16px 40px #1f375e12}.student-lecture-document>.lesson-heading{max-width:900px;margin:0 auto 22px}.student-lecture-document>h2{max-width:900px;color:var(--student-ink);letter-spacing:-.055em;margin:0 auto 22px;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.1}.student-lecture-document .lecture-toc{background:0 0;border:0;border-bottom:1px solid #e7edf5;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:900px;margin:0 auto 30px;padding:0 0 18px;display:flex}.student-lecture-document .lecture-toc strong{color:#8290a8;letter-spacing:.03em;margin-right:5px;font-size:.65rem}.student-lecture-document .lecture-toc a{color:#49658e;background:#f8faff;border:1px solid #dce6f4;border-radius:8px;padding:7px 10px;font-size:.7rem;font-weight:800;text-decoration:none}.student-lecture-document .lecture-toc a:hover,.student-lecture-document .lecture-toc a:focus-visible{color:var(--student-blue);background:#edf3ff;border-color:#b8ccef;text-decoration:none}.student-lecture-document .student-lecture-reading,.student-lecture-document>.student-lecture-completion{width:min(100%,900px);margin-inline:auto}.student-lecture-document .student-lecture-reading>.markdown-renderer{color:#30425f;font-size:.98rem;line-height:1.8}.student-lecture-document .student-lecture-reading>.markdown-renderer>:first-child{margin-top:0}.student-lecture-document .student-lecture-reading>.markdown-renderer>:last-child{margin-bottom:0}.student-lecture-document .student-lecture-block{margin-top:26px}.student-lecture-document .student-lecture-block>.interactive-block{box-shadow:none;margin-top:0}.student-course-workspace.is-practice .practice-task-column>h2{margin-top:0}@media (width>=901px){.student-course-workspace .student-lesson-header{padding-top:10px;padding-bottom:17px}.student-course-workspace .student-lesson-type-row{margin-top:10px}.student-course-workspace .student-lesson-header-main h1{margin-top:7px;margin-bottom:6px;font-size:clamp(2.1rem,3.3vw,3.15rem)}.student-course-workspace .student-course-body.is-lecture{padding:12px clamp(24px,4vw,64px) 0}.student-course-workspace.is-practice .practice-task-column{background:#fff}}@media (width<=900px){.student-lecture-document{border-radius:16px;padding:24px 18px 30px}.student-lecture-document .lecture-toc{align-items:stretch;gap:7px;margin-bottom:24px;padding-bottom:16px;display:grid}.student-lecture-document .lecture-toc strong{margin:0}.student-lecture-document .lecture-toc a{display:block}}.course-progress-pill small{color:#7788a2;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:.62rem;font-weight:750;display:block}@media (width>=1280px){.student-course-workspace.is-lecture .student-course-body.is-lecture{grid-template-columns:272px minmax(0,1fr);gap:28px;padding-inline:clamp(28px,4vw,72px)}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{grid-template-columns:minmax(0,1.06fr) minmax(460px,.94fr)}.student-course-workspace.is-practice .practice-task-column{padding:clamp(40px,5vw,80px)}}@media (width>=901px) and (width<=1279px){.student-course-workspace .student-lesson-header{gap:16px;min-height:0;padding:18px clamp(24px,4vw,48px)}.student-course-workspace .student-lesson-header-main h1{font-size:clamp(2rem,5vw,2.75rem)}.student-course-workspace .course-progress-pill{min-width:auto;padding:10px 13px}.student-course-workspace .course-progress-pill>div>span,.student-course-workspace .course-progress-pill .student-progress-summary{display:none}.student-course-workspace .course-progress-pill strong{font-size:1.3rem}.student-course-workspace .student-course-body.is-lecture{padding:20px clamp(24px,6vw,72px) 0;display:block}.student-course-workspace .student-lecture-document{width:min(100%,820px);margin-inline:auto}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{background:0 0;min-height:0;display:block}.student-course-workspace.is-practice .practice-task-column{border:0;border-radius:20px;min-height:0;padding:clamp(30px,5vw,56px);box-shadow:0 12px 32px #19305614}.student-course-workspace.is-practice .practice-runner-column{border-radius:20px;height:auto;min-height:0;margin:20px clamp(24px,6vw,72px) 0;position:static;overflow:visible}.student-course-workspace.is-practice .practice-runner-column .runner{border-radius:20px;height:auto;min-height:560px;max-height:none;overflow:visible}.student-course-workspace.is-practice .practice-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100% - clamp(48px,12vw,144px),480px);margin:20px auto 0;display:grid}.student-course-workspace.is-practice .student-practice-layout[data-active-tab=task] .practice-runner-column,.student-course-workspace.is-practice .student-practice-layout[data-active-tab=runner] .practice-task-column{display:none}}@media (width<=1279px){.student-course-workspace .student-workspace-navigation{padding-inline:clamp(20px,4vw,48px)}.student-course-workspace .student-lesson-header-actions{align-items:flex-end}}@media (width>=901px){.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{grid-template-columns:minmax(360px, var(--task-pane,40%)) 10px minmax(520px, 1fr);height:calc(100dvh - 132px);min-height:calc(100dvh - 132px);overflow:hidden}.student-course-workspace.is-practice .practice-task-column{height:100%;min-height:0;box-shadow:none;border-radius:0;overflow:auto}.student-course-workspace.is-practice .practice-runner-column{border-radius:0;height:100%;min-height:0;position:static;overflow:hidden}.student-course-workspace.is-practice .practice-runner-column .ide-runner{grid-template-rows:auto minmax(280px, 1fr) 10px var(--console-height,220px) auto auto;border:0;border-radius:0;height:100%;min-height:0;max-height:none;padding:18px 20px 14px;display:grid;overflow:hidden}.panel-resizer{appearance:none;z-index:2;background:0 0;border:0;padding:0;position:relative}.panel-resizer:before{content:"";background:#bdcbe0;border-radius:999px;transition:background .15s,box-shadow .15s;position:absolute}.panel-resizer:hover:before,.panel-resizer:focus-visible:before{background:#4b7cff;box-shadow:0 0 0 3px #4b7cff2e}.panel-resizer:focus-visible{outline:none}.panel-resizer.horizontal{cursor:col-resize}.panel-resizer.horizontal:before{inset:0 3px}.panel-resizer.vertical{cursor:row-resize}.panel-resizer.vertical:before{inset:3px 0}.editor-zone{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.monaco-editor-shell,.monaco-editor-host{height:100%;min-height:0}.monaco-editor-host{border:1px solid #31466b;border-radius:9px;overflow:hidden}.runner-console-zone{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.runner-console-tabs{border-bottom:1px solid #31466b;align-items:center;gap:4px;display:flex}.runner-console-tabs button{color:#9db1d3;background:0 0;border:0;padding:7px 10px;font-size:.7rem;font-weight:800}.runner-console-tabs button[aria-selected=true]{color:#fff;border-bottom:2px solid #7fa4ff}.runner-console-tabs .has-errors{color:#ffb1a7}.runner-console-content{min-height:0}.runner-console-content .console,.console-input-label textarea{box-sizing:border-box;border-radius:0 0 8px 8px;width:100%;height:100%;min-height:0;margin:0}.console-input-label{color:#9db1d3;gap:5px;height:100%;padding-top:6px;font-size:.68rem;display:grid}.console-input-label textarea{resize:none;color:#e8f0ff;background:#111a2c;border:1px solid #31466b;padding:10px;font:.78rem/1.5 ui-monospace,monospace}.runner-status{color:#9db1d3;align-items:center;gap:8px;font-size:.65rem;display:flex}.runner-example-check{color:#a9c2ff;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:8px 2px 0;font-size:.72rem;font-weight:800;display:inline-flex}}@media (width<=900px){.panel-resizer{display:none}.student-course-workspace.is-practice .practice-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ide-runner .editor-zone,.ide-runner .runner-console-zone{margin-top:12px}.ide-runner .runner-console-tabs{gap:4px;display:flex}.ide-runner .runner-console-tabs button{color:#aabbd8;background:#18233a;border:1px solid #31466b;border-radius:7px;flex:1;padding:8px;font-size:.7rem}.ide-runner .runner-console-tabs button[aria-selected=true]{color:#fff;border-color:#7fa4ff}.ide-runner .console-input-label{color:#9db1d3;gap:6px;margin-top:8px;font-size:.7rem;display:grid}.ide-runner .console-input-label textarea{box-sizing:border-box;color:#e8f0ff;background:#111a2c;border:1px solid #31466b;border-radius:8px;width:100%;min-height:112px;padding:10px}.ide-runner .console{min-height:112px;margin-top:8px}.ide-runner .runner-example-check{color:#a9c2ff;background:0 0;border:0;padding:10px 0 0;font-weight:800}}.student-course-workspace{--workspace-canvas:#f6f8fc;--workspace-paper:#fff;--workspace-ink:#16233b;--workspace-muted:#64748b;--workspace-line:#dce5f1;--workspace-blue:#2f6bff;--workspace-blue-soft:#edf3ff;--workspace-green:#167a62;--workspace-amber:#a96612;--workspace-ide:#111b2e;--workspace-ide-panel:#0c1526;--workspace-ide-line:#2c4268;color:var(--workspace-ink);background:var(--workspace-canvas)}.student-course-workspace .student-lesson-header{border-bottom:1px solid var(--workspace-line);background:color-mix(in srgb, var(--workspace-paper) 88%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin:0;padding:22px clamp(24px,4vw,64px) 18px;display:grid}.student-course-workspace .student-lesson-header-main h1{max-width:780px;color:var(--workspace-ink);letter-spacing:-.055em;margin:8px 0 6px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.05}.student-course-workspace .student-lesson-header-topline{gap:12px}.student-course-workspace .student-back-link{color:#46658f;font-size:.75rem}.student-course-workspace .student-course-context{color:#7789a5}.student-course-workspace .student-lesson-type-row{margin-top:13px}.student-course-workspace .student-step-indicator,.student-course-workspace .student-lesson-due{color:var(--workspace-muted)}.student-course-workspace .student-lesson-header-actions{gap:10px}.student-course-workspace .student-outline-toggle{color:#235ad5;background:var(--workspace-blue-soft);min-height:42px;box-shadow:none;border:1px solid #cbdcf8;border-radius:10px;padding-inline:13px}.student-course-workspace .course-progress-pill{background:var(--workspace-paper);min-width:244px;box-shadow:none;border:1px solid #dce6f5;border-radius:13px;padding:11px 13px}.student-course-workspace .course-progress-pill strong{color:var(--workspace-blue)}.student-course-workspace .student-course-body{min-width:0}.student-course-workspace .student-workspace-navigation{border-bottom:1px solid var(--workspace-line);background:var(--workspace-paper);min-height:54px;margin:0;padding:8px clamp(24px,4vw,64px)}.student-course-workspace .student-adjacent-lesson{border-radius:8px;min-height:38px;padding:5px 8px}.student-course-workspace .student-adjacent-lesson small{font-size:.6rem}.student-course-workspace .student-adjacent-lesson strong{font-size:.69rem}.student-course-workspace .student-navigation-position{color:#8a99af}.student-course-workspace.is-lecture .student-course-body{max-width:1400px;margin-inline:auto;padding:26px clamp(24px,4vw,64px) 72px}.student-course-workspace.is-lecture .student-course-main{min-width:0}.student-course-workspace .student-lecture-view{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.student-course-workspace .student-lecture-document{border:1px solid var(--workspace-line);background:var(--workspace-paper);border-radius:18px;width:min(100%,920px);margin-inline:auto;padding:clamp(34px,5vw,66px) clamp(24px,7vw,92px) clamp(42px,6vw,82px);box-shadow:0 18px 44px #21375b0f}.student-course-workspace .student-lecture-document>.lesson-heading,.student-course-workspace .student-lecture-document>h2,.student-course-workspace .student-lecture-document .student-lecture-reading,.student-course-workspace .student-lecture-document>.student-lecture-completion{width:min(100%,720px);margin-inline:auto}.student-course-workspace .student-lecture-document>.lesson-heading{margin-bottom:22px}.student-course-workspace .student-lecture-document>h2{letter-spacing:-.05em;margin-top:0;margin-bottom:28px;font-size:clamp(1.85rem,3vw,2.5rem);line-height:1.1}.student-course-workspace .student-lecture-document .lecture-toc{background:#f8faff;border:1px solid #e4ebf5;border-radius:12px;width:min(100%,720px);margin:0 auto 32px;padding:16px 18px}.student-course-workspace .student-lecture-document .lecture-toc strong{color:#506887;margin-bottom:8px;font-size:.72rem;display:block}.student-course-workspace .student-lecture-document .lecture-toc a{color:#315fc6;background:0 0;border:0;border-radius:0;padding:5px 0;font-size:.79rem;display:block}.student-course-workspace .student-lecture-reading>.markdown-renderer{color:#334561;font-size:1rem;line-height:1.82}.student-course-workspace .student-lecture-reading>.markdown-renderer h2,.student-course-workspace .student-lecture-reading>.markdown-renderer h3{color:var(--workspace-ink);margin-top:2.25em;line-height:1.18}.student-course-workspace .student-lecture-reading>.markdown-renderer h2{font-size:1.6rem}.student-course-workspace .student-lecture-reading>.markdown-renderer h3{font-size:1.17rem}.student-course-workspace .student-lecture-block{margin-top:28px}.student-course-workspace .student-lecture-completion{border-radius:13px;margin-top:34px}.student-course-workspace .student-outline-docked{border-radius:14px;top:20px;box-shadow:0 12px 30px #21375b12}.student-course-workspace.is-practice .student-course-main,.student-course-workspace.is-practice .student-practice-shell{width:100%}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{background:var(--workspace-paper);width:100%;min-width:0;display:grid}.student-course-workspace.is-practice .practice-task-column{background:var(--workspace-paper);min-width:0;box-shadow:none;border:0;border-radius:0}.student-course-workspace.is-practice .practice-task-column>h2,.student-course-workspace.is-practice .practice-task-column>.practice-section{width:min(100%,760px);margin-right:auto}.student-course-workspace .practice-task-column h2{color:var(--workspace-ink);margin:0 0 24px}.student-course-workspace .practice-section>h3{color:#263a57}.student-course-workspace .practice-materials{padding-top:28px}.student-course-workspace .practice-examples{background:#f8faff;border-color:#e2eaf4}.student-course-workspace .practice-hint{background:#f2f6ff;border-color:#cbdcff}.student-course-workspace .practice-submission-summary{background:#fbfcff;border-color:#e1e8f2}.student-course-workspace .ide-runner{background:var(--workspace-ide);box-shadow:none;border:0;border-radius:0}.student-course-workspace .runner-head{border-bottom:1px solid var(--workspace-ide-line);padding-bottom:14px}.student-course-workspace .runner-head strong{color:#f2f6ff}.student-course-workspace .runner-status{color:#aebfdb}.student-course-workspace .runner-console-tabs{border-bottom-color:var(--workspace-ide-line)}.student-course-workspace .runner-console-tabs button{min-height:36px}.student-course-workspace .runner-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.student-course-workspace .runner-actions button{min-height:40px}.student-course-workspace .runner-actions .primary{box-shadow:none}.student-course-workspace .runner-example-check{margin-top:4px}@media (width>=1100px){.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{grid-template-columns:minmax(360px, var(--task-pane,40%)) 8px minmax(520px, 1fr);height:calc(100dvh - 162px);min-height:560px;overflow:hidden}.student-course-workspace.is-practice .practice-task-column{height:100%;padding:clamp(32px,4vw,64px) clamp(30px,5vw,84px) 56px;overflow-y:auto}.student-course-workspace.is-practice .practice-runner-column{height:100%;min-height:0;position:static;overflow:hidden}.student-course-workspace.is-practice .practice-runner-column .ide-runner{grid-template-rows:auto minmax(220px, 1fr) 8px minmax(150px, var(--console-height,220px)) auto auto;height:100%;min-height:0;padding:20px 22px 16px;display:grid;overflow:hidden}.student-course-workspace .editor-zone,.student-course-workspace .runner-console-zone,.student-course-workspace .monaco-editor-shell,.student-course-workspace .monaco-editor-host{height:100%;min-height:0}.student-course-workspace .runner-console-content{min-height:0}.student-course-workspace .runner-console-content .console,.student-course-workspace .console-input-label,.student-course-workspace .console-input-label textarea{height:100%;min-height:0}.student-course-workspace .panel-resizer.horizontal{cursor:col-resize;display:block}.student-course-workspace .panel-resizer.vertical{cursor:row-resize;display:block}}@media (width>=901px) and (width<=1099px){.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{background:0 0;padding:0 clamp(24px,5vw,56px) 44px;display:block}.student-course-workspace.is-practice .practice-task-column,.student-course-workspace.is-practice .practice-runner-column{display:none}.student-course-workspace.is-practice .student-practice-layout[data-active-tab=task] .practice-task-column,.student-course-workspace.is-practice .student-practice-layout[data-active-tab=code] .practice-runner-column,.student-course-workspace.is-practice .student-practice-layout[data-active-tab=console] .practice-runner-column{display:block}.student-course-workspace.is-practice .practice-task-column{border:1px solid var(--workspace-line);border-radius:16px;padding:32px 36px}.student-course-workspace.is-practice .practice-runner-column{margin-top:0}.student-course-workspace.is-practice .ide-runner{border-radius:16px;min-height:620px;padding:24px}.student-course-workspace .practice-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100% - 48px,560px);margin:18px auto 14px;display:grid}}@media (width<=900px){.student-course-workspace .student-lesson-header{grid-template-columns:1fr;gap:16px;padding:18px 16px 14px}.student-course-workspace .student-lesson-header-main h1{font-size:clamp(1.75rem,9vw,2.25rem)}.student-course-workspace .student-lesson-header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.student-course-workspace .course-progress-pill{min-width:0}.student-course-workspace .student-outline-toggle{justify-content:center;width:100%}.student-course-workspace .student-workspace-navigation{padding:6px 12px}.student-course-workspace .student-adjacent-lesson small{display:none}.student-course-workspace .student-adjacent-lesson strong{max-width:105px}.student-course-workspace.is-lecture .student-course-body{padding:18px 14px 42px}.student-course-workspace .student-lecture-document{border-radius:14px;padding:26px 18px 34px}.student-course-workspace .student-lecture-document .lecture-toc{padding:13px 14px}.student-course-workspace .student-lecture-reading>.markdown-renderer{font-size:.96rem;line-height:1.74}.student-course-workspace.is-practice .practice-tabs{border:0;border-bottom:1px solid var(--workspace-line);background:var(--workspace-paper);border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0;padding:7px 12px;display:grid}.student-course-workspace .practice-tabs button{border-radius:8px;min-height:40px;padding:8px 4px;font-size:.72rem}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{background:var(--workspace-paper);display:block}.student-course-workspace.is-practice .practice-task-column,.student-course-workspace.is-practice .practice-runner-column{display:none}.student-course-workspace.is-practice .student-practice-layout[data-active-tab=task] .practice-task-column,.student-course-workspace.is-practice .student-practice-layout[data-active-tab=code] .practice-runner-column,.student-course-workspace.is-practice .student-practice-layout[data-active-tab=console] .practice-runner-column{display:block}.student-course-workspace.is-practice .practice-task-column{padding:26px 17px 42px}.student-course-workspace.is-practice .practice-runner-column{margin:0}.student-course-workspace.is-practice .ide-runner{border-radius:0;min-height:calc(100dvh - 242px);padding:16px 14px 12px}.student-course-workspace .ide-runner[data-mobile-view=code] .runner-console-zone,.student-course-workspace .ide-runner[data-mobile-view=code] .panel-resizer,.student-course-workspace .ide-runner[data-mobile-view=console] .editor-zone{display:none}.student-course-workspace .ide-runner[data-mobile-view=console]{grid-template-rows:auto minmax(260px,1fr) auto auto}.student-course-workspace .ide-runner[data-mobile-view=console] .runner-console-zone{min-height:260px}.student-course-workspace .runner-actions{flex-wrap:wrap;justify-content:stretch}.student-course-workspace .runner-actions button{flex:132px}.student-course-workspace .student-mobile-action-bar{padding:10px 14px max(12px, env(safe-area-inset-bottom));margin:6px -14px -12px}}.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{background:var(--workspace-paper)}.student-course-workspace.is-practice .practice-task-column{color:var(--workspace-ink)}.student-course-workspace .practice-task-context{margin-bottom:18px}.student-course-workspace .practice-task-name{color:#3b5272;margin:0 0 16px;font-size:.92rem;font-weight:800;line-height:1.35}.student-course-workspace .practice-condition{padding-bottom:18px}.student-course-workspace .practice-condition .task-statement{color:#40536e;font-size:.86rem;line-height:1.65}.student-course-workspace .practice-condition .task-statement ul,.student-course-workspace .practice-condition .task-statement ol{padding-left:20px}.student-course-workspace .practice-disclosure{border-top:1px solid #e5ecf5;margin-top:14px}.student-course-workspace .practice-disclosure summary{color:#395274;cursor:pointer;justify-content:space-between;align-items:center;min-height:46px;font-size:.82rem;font-weight:800;list-style:none;display:flex}.student-course-workspace .practice-disclosure summary::-webkit-details-marker{display:none}.student-course-workspace .practice-disclosure summary>span{align-items:center;gap:8px;display:inline-flex}.student-course-workspace .practice-disclosure summary>svg{transition:transform .18s}.student-course-workspace .practice-disclosure[open] summary>svg{transform:rotate(180deg)}.student-course-workspace .practice-disclosure summary:focus-visible{outline-offset:-3px;border-radius:8px;outline:3px solid #2f6bff3d}.student-course-workspace .practice-disclosure-content{color:#52637a;padding:2px 0 18px;font-size:.82rem;line-height:1.65}.student-course-workspace .practice-disclosure-content>.markdown-renderer>:first-child{margin-top:0}.student-course-workspace .practice-disclosure-content>.markdown-renderer>:last-child{margin-bottom:0}.student-course-workspace .practice-material-blocks{gap:12px;margin-top:12px}.student-course-workspace .practice-examples{background:#f8faff;border-radius:10px;gap:7px;margin-top:16px;padding:13px 14px}.student-course-workspace .practice-examples h3{margin-bottom:2px;font-size:.76rem}.student-course-workspace .practice-example-row{grid-template-columns:84px minmax(0,1fr);gap:8px}.student-course-workspace .practice-example-row span{color:#73839b;font-size:.67rem}.student-course-workspace .practice-example-row pre{color:#263e61;min-width:0;font-size:.72rem}.student-course-workspace .practice-hint{border-top-color:#d9e4fa}.student-course-workspace .practice-hint summary{color:#315fc6}.student-course-workspace .practice-submission-summary{box-shadow:none;border-radius:10px;gap:7px;margin-top:16px;padding:13px 14px;display:grid}.student-course-workspace .practice-submission-heading h3{margin:0;font-size:.78rem}.student-course-workspace .submission-state{color:#71819a;font-size:.69rem}@media (width>=1100px){.student-course-workspace.is-practice .student-practice-layout.full-bleed-layout{grid-template-columns:minmax(280px, var(--task-pane)) 12px minmax(520px, 1fr);box-sizing:border-box;width:calc(100% - clamp(14px,1.5vw,28px));max-width:calc(100% - clamp(14px,1.5vw,28px));height:calc(100dvh - 156px);min-height:600px;margin-right:clamp(14px,1.5vw,28px);overflow:hidden}.student-course-workspace.is-practice .practice-task-column{padding:26px 24px 40px}.student-course-workspace.is-practice .practice-task-column>h2,.student-course-workspace.is-practice .practice-task-column>.practice-section,.student-course-workspace.is-practice .practice-task-column>.practice-disclosure{width:100%;max-width:none}.student-course-workspace.is-practice .practice-runner-column .ide-runner{grid-template-rows:auto minmax(260px,1fr) 8px minmax(180px,33%) auto auto;min-width:0;padding:16px 18px 14px}.student-course-workspace.is-practice .practice-runner-column,.student-course-workspace.is-practice .editor-zone,.student-course-workspace.is-practice .monaco-editor-shell,.student-course-workspace.is-practice .monaco-editor-host{min-width:0;max-width:100%}.student-course-workspace.is-practice .panel-resizer.horizontal{cursor:col-resize;background:#f5f8fd;place-items:center;width:12px;min-width:12px;display:grid}.student-course-workspace.is-practice .panel-resizer.horizontal:before{background:#aebed6;width:3px;height:48px;position:static}.student-course-workspace.is-practice .panel-resizer.horizontal:after{content:"";background:#4b7cff;border-radius:50%;width:7px;height:7px;margin-top:-28px;box-shadow:0 0 0 3px #edf3ff}.student-course-workspace .runner-head{justify-content:space-between;align-items:center;min-height:30px;padding-bottom:10px;display:flex}.student-course-workspace .runner-head .eyebrow{display:none}.student-course-workspace .runner-head strong:before{content:"solution.py  ·  ";color:#9fb4d7;font-size:.72rem;font-weight:700}.student-course-workspace .editor-zone{margin-top:8px}.student-course-workspace .code-label{display:none}.student-course-workspace .runner-console-zone{padding-top:6px}.student-course-workspace .runner-console-content{min-height:0}.student-course-workspace .console-input-label{min-height:0;padding-top:4px}.student-course-workspace .console-input-label textarea{min-height:0}.student-course-workspace .runner-actions{padding-top:10px}.student-course-workspace .runner-actions .ghost{color:#b7c6e0}.student-course-workspace .runner-example-check{padding:4px 0 0}.student-course-workspace .runner-save,.student-course-workspace .runner-local-restore,.student-course-workspace .runner-elapsed,.student-course-workspace .ide-runner>.runner-save{font-size:.68rem}}@media (width<=1099px){.student-course-workspace .practice-disclosure-content{font-size:.86rem}.student-course-workspace .practice-task-name{font-size:1rem}}@media (prefers-reduced-motion:reduce){.student-course-workspace *,.student-course-workspace :before,.student-course-workspace :after{scroll-behavior:auto!important;transition:none!important}}
