:root{color:#e7eef6;font-synthesis:none;background:#071019;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#e7eef6;background:#071019;margin:0}button,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh}.topbar{z-index:20;background:#0a141e;border-bottom:1px solid #243443;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex;position:sticky;top:0}.brand-kicker{letter-spacing:.18em;color:#7f9bb1;font-size:.72rem;font-weight:800}.topbar h1{margin:3px 0 0;font-size:1.28rem}.topbar h1 span{color:#7890a4;font-size:.75rem;font-weight:600}.top-stats{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.top-stats>div{text-align:center;min-width:62px;display:grid}.top-stats strong{font-size:1.05rem}.top-stats span{text-transform:uppercase;color:#8298aa;letter-spacing:.08em;font-size:.66rem}.class-toggle{color:#dce8f2;background:#111e29;border:1px solid #425566;border-radius:8px;padding:10px 13px}.class-toggle.active{background:#23364a;border-color:#7494b0}.class-banner{color:#d9e7f4;background:#16283a;border-bottom:1px solid #3f5a72;align-items:flex-start;gap:14px;padding:12px 24px;font-size:.9rem;display:flex}.class-banner strong{white-space:nowrap}.layout{grid-template-columns:270px minmax(0,1fr);display:grid}.sidebar{background:#09131d;border-right:1px solid #22313e;min-height:calc(100vh - 72px);padding:18px 12px 40px}.sidebar-heading{color:#8fa2b2;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:0 8px 12px;font-size:.78rem;display:flex}.link-btn{color:#9db4c6;background:0 0;border:0;padding:4px;text-decoration:underline}.unit{margin:10px 0 18px}.unit-title{color:#637b8e;text-transform:uppercase;letter-spacing:.09em;padding:6px 8px;font-size:.7rem;font-weight:800}.lesson-link{text-align:left;color:#aebdca;background:0 0;border:0;border-radius:7px;grid-template-columns:30px 1fr;align-items:center;width:100%;margin:2px 0;padding:8px 7px;line-height:1.2;display:grid}.lesson-link:hover:not(:disabled),.lesson-link.selected{color:#fff;background:#122330}.lesson-link.done .lesson-status{color:#a8d5b1}.lesson-status{color:#6f879a;font-size:.72rem;font-weight:800}.main{min-width:0;padding:26px clamp(16px,3vw,42px) 60px}.lesson-hero{max-width:1100px;margin:0 auto 20px}.eyebrow{color:#7995ab;letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:800}.lesson-hero h2{margin:5px 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.lesson-hero>p{color:#9eb0bf;max-width:800px;margin:0;line-height:1.55}.tabs{border-bottom:1px solid #273744;gap:8px;margin-top:20px;display:flex}.tabs button{color:#8498a8;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 13px}.tabs button.active{color:#fff;border-color:#8aa6bd}.learn-grid{grid-template-columns:1fr 1fr;gap:16px;max-width:1100px;margin:0 auto;display:grid}.panel{background:#0c1721;border:1px solid #263746;border-radius:12px;padding:20px}.panel-title{text-transform:uppercase;letter-spacing:.06em;color:#a8bac8;margin-bottom:14px;font-size:.83rem;font-weight:800}.definition{border-bottom:1px solid #1e2c37;padding:10px 0}.definition:last-child{border-bottom:0}.definition strong{color:#f1f5f9}.definition p{color:#9aabb9;margin:4px 0 0;line-height:1.5}.panel ul{color:#a9b8c4;margin:0;padding-left:20px;line-height:1.7}.example-panel{grid-column:1/-1}pre{white-space:pre-wrap;word-break:break-word}.example-panel pre{color:#dceaf4;background:#071019;border:1px solid #21313e;border-radius:9px;padding:16px;overflow:auto}.practice-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;max-width:1180px;margin:0 auto;display:grid}.practice-nav{flex-direction:column;gap:8px;display:flex}.practice-choice{color:#c5d1db;text-align:left;background:#0d1822;border:1px solid #263746;border-radius:10px;gap:6px;padding:12px;display:grid}.practice-choice.selected{background:#122331;border-color:#718ca2}.practice-choice.passed{border-color:#3f6650}.practice-choice small{color:#6f879a}.difficulty{text-transform:uppercase;letter-spacing:.09em;border-radius:5px;width:max-content;padding:4px 7px;font-size:.67rem;font-weight:900;display:inline-block}.difficulty.easy{color:#b9dfc5;background:#183527}.difficulty.medium{color:#e7d79d;background:#3b341d}.difficulty.hard{color:#e9b3ba;background:#3a2024}.workspace{flex-direction:column;gap:12px;min-width:0;display:flex}.challenge-card,.editor-card,.output-card,.hint-card,.lesson-footer{background:#0c1721;border:1px solid #263746;border-radius:12px;padding:17px}.challenge-card h3{margin:8px 0 7px;font-size:1.25rem}.challenge-card p{color:#a9b7c2;margin:0;line-height:1.55}.editor-card{padding:0;overflow:hidden}.editor-toolbar{color:#8fa4b5;background:#101e29;border-bottom:1px solid #233542;justify-content:space-between;gap:10px;padding:10px 13px;font-size:.76rem;display:flex}.runtime.ready{color:#a9d6b4}.runtime.error{color:#e5a7ae}textarea{resize:vertical;color:#e9f1f7;tab-size:4;background:#071019;border:0;outline:0;width:100%;min-height:340px;padding:16px;font:14px/1.6 Cascadia Code,Fira Code,Consolas,monospace}.editor-actions{background:#0d1923;border-top:1px solid #233542;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:12px;display:flex}.editor-actions .primary,.editor-actions .secondary{flex:none}.editor-actions .save-message{flex:180px;min-width:0}.primary,.secondary{border:1px solid #0000;border-radius:7px;padding:9px 13px;font-weight:700}.primary{color:#fff;background:#5f7f99;border-color:#7894aa}.secondary{color:#cfdae3;background:#111f2b;border-color:#334654}.output-card pre{color:#cddbe6;background:#071019;border-radius:8px;min-height:72px;margin:8px 0 0;padding:12px}.output-heading{color:#8ea4b6;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800}.check{color:#ead5a6;background:#352c1d;border-radius:7px;margin-top:10px;padding:10px}.check.success{color:#bce2c6;background:#173526}.error-box{color:#efbbc1;background:#3c2025;border-radius:7px;margin:12px;padding:10px}.hint-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hint-card p{color:#8499aa;margin:3px 0 0;font-size:.86rem}.hint-card ol{color:#b6c3ce;width:100%;margin:5px 0 0}.lesson-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.complete-text{color:#acd7b5}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #22313e;border-right:0;min-height:0;max-height:330px;overflow:auto}.practice-layout{grid-template-columns:1fr}.practice-nav{grid-template-columns:repeat(3,1fr);display:grid}}@media (width<=640px){.topbar{align-items:flex-start;padding:15px;position:static}.top-stats>div{display:none}.class-banner{flex-direction:column;gap:5px;padding:12px 15px}.main{padding:20px 12px 45px}.learn-grid{grid-template-columns:1fr}.example-panel{grid-column:auto}.practice-nav{grid-template-columns:1fr}.lesson-footer{flex-direction:column;align-items:flex-start}.editor-actions{flex-wrap:wrap}}.learn-content{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;display:flex}.key-point-list{flex-direction:column;gap:16px;display:flex}.key-point-example{border-bottom:1px solid #1e2c37;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px 0;display:grid}.key-point-example:last-child{border-bottom:0}.key-point-number{color:#c7d7e4;background:#162938;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid}.key-point-body>strong{color:#eef4f8;font-size:1rem;line-height:1.45;display:block}.example-explanation{color:#9eb0bf;margin:7px 0 10px;line-height:1.55}.example-explanation span{color:#c8d5df;font-weight:800}.mini-example-label{color:#7790a3;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:.68rem;font-weight:800}.highlight-code{background:#071019;border:1px solid #21313e;border-radius:9px;margin:10px 0 14px;padding:8px 0;overflow:auto}.highlight-code.compact{margin:4px 0 2px}.highlight-code code{display:block}.code-line{color:#dceaf4;grid-template-columns:38px minmax(max-content,1fr);align-items:center;min-height:25px;padding:0 12px 0 0;font:14px/1.55 Cascadia Code,Fira Code,Consolas,monospace;display:grid}.code-line.highlighted{background:#263a4b;border-left:3px solid #8da9bf}.code-line.highlighted .line-text{color:#fff;font-weight:700}.line-number{color:#526a7b;text-align:right;-webkit-user-select:none;user-select:none;padding-right:11px}.line-text{white-space:pre}.section-intro{color:#899dac;margin:-4px 0 15px}.worked-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.worked-example{background:#0a141e;border:1px solid #243745;border-radius:10px;min-width:0;padding:14px}.worked-example-heading{flex-direction:column;gap:4px;display:flex}.example-number{color:#738da1;text-transform:uppercase;letter-spacing:.09em;font-size:.65rem;font-weight:900}.worked-example p{color:#96a9b8;font-size:.88rem;line-height:1.5}.practice-nav{gap:14px}.practice-group{flex-direction:column;gap:6px;display:flex}.practice-group-title{text-transform:uppercase;letter-spacing:.09em;padding:3px;font-size:.7rem;font-weight:900}.practice-group-title.easy{color:#b9dfc5}.practice-group-title.medium{color:#e7d79d}.practice-group-title.hard{color:#e9b3ba}.practice-choice{grid-template-columns:1fr auto;align-items:center}.practice-choice small{white-space:nowrap;grid-area:1/2}.challenge-card .difficulty{margin-bottom:4px}@media (width<=1000px){.worked-examples{grid-template-columns:1fr}}@media (width<=900px){.practice-nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}}@media (width<=700px){.practice-nav,.key-point-example{grid-template-columns:1fr}.key-point-number{display:none}}.io-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.input-card,.output-card{background:#0c1721;border:1px solid #263746;border-radius:12px;min-width:0;padding:17px}.io-heading-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.io-heading-row small{color:#6f879a;margin-top:3px;font-size:.72rem;display:block}.input-area{resize:vertical;color:#e9f1f7;background:#071019;border:1px solid #263746;border-radius:8px;outline:none;min-height:150px;margin-top:10px;padding:12px;font:14px/1.55 Cascadia Code,Fira Code,Consolas,monospace}.input-area:focus{border-color:#708da4}.input-area::placeholder{color:#536979}.io-help{color:#8197a8;margin-top:9px;font-size:.78rem;line-height:1.45}.io-help code{color:#c9d8e3;background:#12202b;border-radius:4px;padding:1px 4px}.tiny-btn{color:#aebfcb;background:#101d28;border:1px solid #304452;border-radius:6px;padding:5px 8px;font-size:.72rem}@media (width<=820px){.io-grid{grid-template-columns:1fr}}.habit-panel{background:linear-gradient(90deg,#101d28,#0d1720);border-left:4px solid #718da2}.habit-panel h3,.debug-panel h3{color:#edf4f8;margin:3px 0 7px}.habit-panel p,.debug-panel p{color:#9eb0bf;margin:0;line-height:1.6}.debug-panel{border-left:4px solid #8b7f69}.debug-panel .secondary{margin-top:3px}.focus-panel{background:linear-gradient(90deg,#0f1b25,#0c151d);border-left:4px solid #5f7890}.focus-panel p{color:#9fb2c1;margin:.35rem 0 0;line-height:1.6}.focus-lesson-note{border-top:1px solid #223442;padding-top:.55rem}:root{--nw-navy0:#020914;--nw-navy1:#06162f;--nw-navy2:#0b2347;--nw-navy3:#12365f;--nw-blue:#43a7e8;--nw-blue2:#83c8f2;--nw-red:#d51f2a;--nw-white:#f6f9fc;--nw-muted:#9db3c7;--nw-line:#24486c;--nw-gold:#e8b84a;--nw-green:#4fbf8b}body{background:radial-gradient(circle at 82% -10%,#43a7e824,transparent 30rem), linear-gradient(180deg,var(--nw-navy0),#010711 80%);color:var(--nw-white)}body:before{content:"";pointer-events:none;z-index:-1;opacity:.1;background-image:linear-gradient(#43a7e824 1px,#0000 1px),linear-gradient(90deg,#43a7e824 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.topbar{position:relative;box-shadow:0 8px 30px #00000040;border-bottom:1px solid var(--nw-line)!important;background:#041023f2!important}.topbar:after{content:"";background:linear-gradient(90deg,var(--nw-red),var(--nw-blue),transparent 82%);height:2px;position:absolute;bottom:-1px;left:0;right:0}.eyebrow{color:var(--nw-blue2)!important;letter-spacing:.13em!important}.subtitle{color:var(--nw-muted)!important}.sidebar{border-right-color:var(--nw-line)!important;background:linear-gradient(#081c3afa,#041023fa)!important}.lesson-item{color:#b7c8d7!important}.lesson-item:hover{background:#43a7e812!important;border-color:#43a7e838!important}.lesson-item.active{border-color:var(--nw-blue)!important;box-shadow:inset 3px 0 0 var(--nw-red),0 0 18px #43a7e812!important;color:var(--nw-white)!important;background:linear-gradient(90deg,#43a7e826,#43a7e80a)!important}.panel,.exercise-card,.input-card,.output-card{box-shadow:0 12px 28px #00000029;border-color:var(--nw-line)!important;background:linear-gradient(145deg,#091f3df2,#051327f7)!important}.panel-title{color:var(--nw-blue2)!important}.panel h2,.panel h3{color:var(--nw-white)!important}button.primary,.primary{box-shadow:0 5px 18px #43a7e82e;background:linear-gradient(135deg,#238dce,var(--nw-blue))!important;color:#031326!important;border-color:#68baf0!important;font-weight:800!important}button.secondary,.secondary{color:#dcecf7!important;background:#0d2d4ee0!important;border-color:#376a94!important}button.secondary:hover,.secondary:hover{border-color:var(--nw-blue)!important}.class-banner{border-color:var(--nw-red)!important;background:linear-gradient(90deg,#d51f2a24,#43a7e817)!important}.progress-fill{background:linear-gradient(90deg,var(--nw-red),var(--nw-blue))!important}.code-editor,.input-area,.output-card pre{color:#d9ecf8!important;background:#020b16!important;border-color:#244d72!important}.code-editor:focus,.input-area:focus{box-shadow:0 0 0 2px #43a7e81a;border-color:var(--nw-blue)!important}.input-card{border-top:2px solid var(--nw-blue)!important}.output-card{border-top:2px solid var(--nw-red)!important}.output-heading{color:var(--nw-blue2)!important}.habit-panel{border-left-color:var(--nw-gold)!important;background:linear-gradient(90deg,#e8b84a14,#051327f5)!important}.debug-panel{background:linear-gradient(90deg,#d51f2a14,#051327f5)!important;border-left-color:#ef4a51!important}.focus-panel{border-left-color:var(--nw-blue)!important;background:linear-gradient(90deg,#43a7e817,#051327f5)!important}.check.success,.success{color:#76d9aa!important}.highlighted-code{background:#020b16!important;border-color:#234d73!important}.code-line.highlight{border-left-color:var(--nw-blue)!important;background:linear-gradient(90deg,#43a7e82b,#d51f2a0d)!important}.difficulty.easy{border-color:#4fbf8b8c!important}.difficulty.medium{border-color:#e8b84a8c!important}.difficulty.hard{border-color:#d51f2aa6!important}.desktop-gui-note{border-left:4px solid var(--nw-blue);background:linear-gradient(90deg,#43a7e81c,#051327f5)}.instructor-toggle{color:#f3d98f;background:#e8b84a14;border:1px solid #8b6e24;border-radius:8px;padding:8px 10px;font-weight:700}.instructor-toggle.active{border-color:var(--nw-gold);background:linear-gradient(135deg,#e8b84a3b,#d51f2a1c);box-shadow:0 0 18px #e8b84a1a}.instructor-banner{color:#d7c89e;background:linear-gradient(90deg,#e8b84a29,#051327f5);border-bottom:1px solid #e8b84a61;align-items:center;gap:14px;padding:10px 22px;display:flex}.instructor-banner strong{color:#f2d681;white-space:nowrap}.solution-card{border:1px solid #e8b84a7a;border-left:4px solid var(--nw-gold);background:linear-gradient(135deg,#282211db,#061427f7);border-radius:12px;padding:16px;box-shadow:0 12px 28px #00000029}.solution-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.solution-heading strong{color:#f2d681}.solution-heading p{color:#adad9e;margin:5px 0 0;line-height:1.45}.solution-reveal{color:#f2d681;white-space:nowrap;background:#2b2515;border:1px solid #a98b3e;border-radius:8px;padding:8px 11px;font-weight:800}.solution-body{margin-top:14px}.solution-body .highlight-code{border-color:#e8b84a5c!important}.solution-actions{flex-wrap:wrap;gap:8px;margin:10px 0 7px;display:flex}.solution-body small{color:#918b76}@media (width<=720px){.instructor-banner,.solution-heading{flex-direction:column;align-items:flex-start}}.practice-support{gap:8px;margin-top:14px;display:grid}.support-dropdown{background:#101d28;border:1px solid #314657;border-radius:9px;overflow:hidden}.support-dropdown summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#d9e7f2;padding:10px 12px;font-weight:700;list-style-position:inside}.support-dropdown summary:hover{background:#142634}.support-dropdown[open] summary{border-bottom:1px solid #314657}.support-content{color:#b8c7d3;padding:10px 13px 12px;line-height:1.55}.support-content p{color:#b8c7d3;margin:0 0 8px}.support-content p:last-child{margin-bottom:0}.formula-text{white-space:pre-line;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminology-support summary,.formula-support summary{color:#b9dcff}.practice-group-title{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.practice-group-title>span{min-width:0}.practice-group-title>small:not(.section-requirement){margin-left:auto}.practice-group-title>.section-requirement{margin-left:2px}.practice-group-title.challenge{color:#9bd8ff}.section-requirement{text-transform:none;letter-spacing:0;color:#d7a0a4;white-space:nowrap;border:1px solid #d51f2a59;border-radius:999px;padding:3px 7px;font-size:10px}.section-requirement.met{color:#9ee6b5;border-color:#37be6461}.practice-group.challenge{border-top:1px solid #62b5ef2e;margin-top:8px;padding-top:10px}.difficulty.challenge{color:#b9e4ff;background:#2f95d624;border:1px solid #55b5f459}.portfolio-badge{color:#f4d77b;letter-spacing:.04em;background:#e8b84a1a;border:1px solid #e8b84a73;border-radius:999px;margin:8px 0 2px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-block}.requirements-card{background:#0b1823;border:1px solid #334857;border-radius:10px;margin-top:15px;overflow:hidden}.requirements-heading{color:#e4edf4;padding:10px 12px 4px;font-weight:900}.requirements-note{margin:0;padding:0 12px 10px;font-size:12px;line-height:1.45;color:#8fa2b2!important}.requirements-list{border-top:1px solid #2b3d49;gap:0;display:grid}.requirement-item{color:#f09aa1;background:#d51f2a09;border-bottom:1px solid #3146578c;align-items:flex-start;gap:9px;padding:9px 12px;transition:color .15s,background .15s;display:flex}.requirement-item:last-child{border-bottom:0}.requirement-item>span:first-child{width:18px;font-weight:900}.requirement-item.met{color:#9be5b4;background:#29a6560e}.mastery-summary{flex-direction:column;gap:4px;display:flex}.mastery-summary small{color:#8499aa}@media (width<=720px){.practice-group-title{flex-direction:column;align-items:flex-start}}.top-nav-btn{color:#cfeaff;background:#0b1d2b;border:1px solid #2d536f;border-radius:8px;padding:8px 10px;font-weight:750}.top-nav-btn:hover{background:#10283a}.utility-screen{width:100%;max-width:1180px;margin:0 auto;padding:24px}.utility-header{align-items:center;gap:16px;margin-bottom:18px;display:flex}.utility-header h2{margin:3px 0 0}.dashboard-grid,.reference-grid,.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.dashboard-summary{grid-column:1/-1}.big-stat{color:#b9e4ff;font-size:48px;font-weight:950}.mastery-card{gap:10px;display:grid}.mastery-card-head{justify-content:space-between;gap:10px;display:flex}.mastery-card-head span{color:#9fb3c2;font-size:12px}.mastery-pills{flex-wrap:wrap;gap:6px;display:flex}.mastery-pills span{color:#c79095;border:1px solid #3b4b57;border-radius:999px;padding:4px 8px;font-size:12px}.mastery-pills span.met{color:#9be5b4;background:#37be640f;border-color:#37be6466}.reference-card p,.portfolio-card p{color:#aebdca;line-height:1.5}.portfolio-card.complete{border-color:#37be6473}.portfolio-status{color:#d6b6ba;font-weight:800}.portfolio-card.complete .portfolio-status{color:#9be5b4}.instructor-test-card{border:1px solid #62b5ef6b;border-left:4px solid var(--nw-blue);background:linear-gradient(135deg,#0d273ae0,#061427f7);border-radius:12px;padding:16px}.test-rule-list{gap:8px;margin-top:12px;display:grid}.test-rule{background:#081723;border:1px solid #294459;border-radius:8px;gap:3px;padding:10px;display:grid}.test-rule span{color:#9eb1c0;font-size:12px}.reference-test-results{gap:6px;margin-top:10px;display:grid}.test-result{color:#f0a5aa;background:#d51f2a14;border-radius:7px;padding:8px 10px}.test-result.pass{color:#9be5b4;background:#37be6414}.editor-toolbar-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.save-message{color:#9be5b4;font-size:12px;font-weight:800}.project-editor-card textarea[aria-label="Python code editor"]{min-height:440px}.attempt-card{background:#091723;border:1px solid #2e4556;border-radius:11px;padding:14px}.attempt-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attempt-heading p{color:#8fa2b2;margin:4px 0;font-size:12px}.attempt-list{gap:6px;margin-top:9px;display:grid}.attempt-row{color:#d6a1a5;background:#d51f2a0e;border-radius:7px;grid-template-columns:70px 190px 1fr;align-items:start;gap:8px;padding:8px 10px;display:grid}.attempt-row span,.attempt-row small{color:#91a2af}.attempt-row.pass{color:#9be5b4;background:#37be640e}.focus-mode .sidebar,.focus-mode .practice-nav{display:none}.focus-mode .layout{grid-template-columns:1fr}.focus-mode .main{width:100%;max-width:1150px;margin:0 auto}.focus-mode .topbar .brand-kicker,.focus-mode .topbar h1{opacity:.65}@media (width<=760px){.attempt-row{grid-template-columns:1fr}.utility-header,.mastery-card-head{flex-direction:column;align-items:flex-start}.project-editor-card textarea[aria-label="Python code editor"]{min-height:360px}}.level-descriptor{color:#829aaa;text-transform:none;letter-spacing:0;font-size:10px;font-style:normal;font-weight:500}.extra-practice-intro{background:#2f95d612;border:1px solid #62b5ef52;border-radius:10px;margin-bottom:10px;padding:12px}.extra-practice-intro strong{color:#bfe7ff}.extra-practice-intro p{color:#91a9ba;margin:5px 0 0;font-size:12px;line-height:1.45}.practice-group-title.extra-1,.practice-group-title.extra-2{color:#9be5b4}.practice-group-title.extra-3{color:#f3d98f}.practice-group-title.extra-4{color:#ffc98b}.practice-group-title.extra-5{color:#ff9ca5}.difficulty.extra-1,.difficulty.extra-2{color:#9be5b4;background:#37be6414;border:1px solid #37be644d}.difficulty.extra-3{color:#f3d98f;background:#e8b84a14;border:1px solid #e8b84a4d}.difficulty.extra-4{color:#ffc98b;background:#e58a2b14;border:1px solid #e58a2b52}.difficulty.extra-5{color:#ff9ca5;background:#d51f2a14;border:1px solid #d51f2a59}.applied-build-panel{border-left:4px solid var(--nw-blue);background:linear-gradient(135deg,#133850bd,#071627f2)}.applied-build-panel h3{color:#c9ebff}.applied-build-panel p{color:#a9bdca;line-height:1.55}.terminal-card{background:#06111b;border:1px solid #365166;border-radius:12px;overflow:hidden}.terminal-card .io-heading-row{background:#0b1925;border-bottom:1px solid #253c4d;padding:12px 14px}.terminal-output{color:#d7edf9;white-space:pre-wrap;word-break:break-word;background:#03090e;min-height:170px;max-height:390px;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.5;overflow:auto}.terminal-input-row{background:#081722;border-top:1px solid #2c4658;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px 14px;display:grid}.terminal-prompt{color:#79d6ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px}.terminal-input{color:#eef9ff;background:#02090f;border:1px solid #35566e;border-radius:8px;outline:none;width:100%;padding:10px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-input:focus{border-color:#70cfff;box-shadow:0 0 0 2px #50b5f41f}.terminal-help{color:#8fa6b7;background:#09141d;border-top:1px solid #223746;padding:10px 14px}.terminal-card .check{border-bottom:0;border-left:0;border-right:0;border-radius:0;margin:0}.quality-card,.reflection-card{background:#091721;border:1px solid #30495b;border-radius:11px;padding:14px}.quality-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.quality-heading strong{color:#d9efff}.quality-heading small{color:#8195a5}.quality-positive p,.quality-suggestions p{margin:7px 0}.quality-positive{color:#9be5b4}.quality-suggestions{color:#c5d4df}.reflection-card strong{color:#f2d681}.reflection-card p{color:#aebdca}.reflection-card textarea{color:#e8f3fa;resize:vertical;background:#06121c;border:1px solid #395264;border-radius:8px;width:100%;min-height:90px;padding:10px}@media (width<=720px){.terminal-input-row{grid-template-columns:auto 1fr}.terminal-input-row .primary{grid-column:1/-1}.quality-heading{flex-direction:column;align-items:flex-start}}.milestone-card{background:#112b3d99;border:1px solid #62b5ef47;border-radius:10px;margin-top:14px;padding-bottom:8px}.milestone-card ol{color:#b7c9d6;margin:5px 16px 8px 34px;padding:0;line-height:1.5}.milestone-card li{margin:5px 0}.required-practice-intro{background:#12273694;border:1px solid #6f8b9e47;border-radius:10px;margin-bottom:10px;padding:12px}.required-practice-intro strong{color:#d9edf9}.required-practice-intro p{color:#91a9ba;margin:5px 0 0;font-size:12px;line-height:1.45}.brand-home{appearance:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin:0;padding:0}.brand-home:hover .brand-kicker,.brand-home:focus-visible .brand-kicker{color:#b7ddf7}.brand-home:hover h1,.brand-home:focus-visible h1{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.brand-home:focus-visible{outline-offset:5px;outline:2px solid #6fb7e8}.practice-nav,.practice-group,.practice-choice{min-width:0}.practice-choice{grid-template-columns:minmax(0,1fr) minmax(0,max-content);max-width:100%;overflow:hidden}.practice-choice>span{overflow-wrap:anywhere;word-break:break-word;min-width:0}.practice-choice small{white-space:normal;text-align:right;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.practice-group-title{min-width:0}.practice-group-title>span{overflow-wrap:anywhere;min-width:0}.practice-group-title small{white-space:normal;text-align:right}.practice-nav-action{white-space:nowrap}@media (width<=640px){.practice-choice{grid-template-columns:1fr}.practice-choice small{text-align:left;grid-area:auto/1}.practice-nav-action{white-space:normal}}.challenge-card,.milestone-card,.requirements-card,.extra-practice-intro,.reflection-card{min-width:0;max-width:100%}.challenge-card p,.challenge-card code,.milestone-card li,.requirements-card,.extra-practice-intro p,.reflection-card p{overflow-wrap:anywhere;word-break:break-word}.shortcut-note{color:#6f879a;white-space:nowrap;font-size:11px}.planning-card{border:1px solid #62b5ef61;border-left:4px solid var(--nw-blue);background:linear-gradient(135deg,#0d273ac7,#061427f5);border-radius:12px;overflow:hidden}.planning-card>summary{cursor:pointer;color:#d9efff;padding:14px 16px;font-weight:900;list-style-position:inside}.planning-card>summary span{color:#829baa;margin-left:8px;font-size:11px;font-weight:600}.planning-card[open]>summary{border-bottom:1px solid #294459}.planning-intro{color:#9eb1c0;margin:13px 16px 4px;font-size:13px;line-height:1.5}.planning-grid{grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 16px;display:grid}.planning-grid label{background:#071521;border:1px solid #294459;border-radius:9px;flex-direction:column;gap:4px;min-width:0;padding:10px;display:flex}.planning-grid label strong{color:#cfeaff}.planning-grid label span{color:#7f95a6;font-size:11px}.planning-grid textarea{color:#e8f3fa;resize:vertical;background:#020b13;border:1px solid #35566e;border-radius:7px;width:100%;min-height:88px;padding:9px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.mission-control-hero{grid-column:1/-1;border-left:4px solid var(--nw-blue)!important}.mission-control-hero h3{margin:7px 0;font-size:1.55rem}.mission-control-hero p{color:#a9bdca;max-width:850px;line-height:1.55}.home-stat{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.home-stat .big-stat{font-size:40px}.home-stat strong{color:#e7f4fb}.home-stat span{color:#8499aa;font-size:12px}.home-recommendations{grid-column:span 2}.professional-cycle{grid-column:span 1}.cycle-row{border-bottom:1px solid #233746;grid-template-columns:28px 95px 1fr;align-items:start;gap:8px;padding:8px 0;display:grid}.cycle-row:last-child{border-bottom:0}.cycle-row>span{color:#9bd8ff;background:#12314a;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:900;display:grid}.cycle-row strong{color:#dceaf4}.cycle-row em{color:#829aaa;font-size:12px;font-style:normal;line-height:1.4}.coach-screen{gap:14px;display:grid}.coach-explainer p{color:#aebdca;line-height:1.55}.coach-list{gap:8px;margin:10px 0 14px;display:grid}.coach-list-large{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.coach-item{text-align:left;color:#e8f3fa;cursor:pointer;background:#081825;border:1px solid #2c4b61;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:6px;padding:12px;display:grid}.coach-item:hover{background:#0c2232;border-color:#5aaee6}.coach-item span{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coach-item small{color:#8197a8;text-align:right;font-size:10px}.coach-item em{color:#9eb1c0;font-size:12px;font-style:normal;line-height:1.4}.instructor-insights{border-left:4px solid var(--nw-gold)!important}.instructor-insights>p{color:#a8aa9d;line-height:1.5}.insight-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.insight-card{text-align:left;color:#f3dfaa;cursor:pointer;background:#e8b84a0d;border:1px solid #e8b84a52;border-radius:9px;flex-direction:column;align-items:flex-start;gap:5px;padding:11px;display:flex}.insight-card span,.insight-card small{color:#a9a38d}.proficiency-grid{grid-template-columns:1fr;gap:14px;display:grid}.proficiency-summary{border-left:4px solid var(--nw-blue)!important}.proficiency-summary p{color:#aebdca;max-width:900px;line-height:1.55}.proficiency-card{grid-template-columns:52px 1fr;align-items:start;gap:14px;display:grid}.proficiency-card.complete{border-color:#37be6473!important}.phase-number{color:#b9e4ff;background:#102c42;border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:950;display:grid}.proficiency-card p{color:#9fb1bf;margin:5px 0 10px;line-height:1.5}.phase-status{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.phase-status span{color:#8197a8;font-size:12px}.phase-status strong{color:#d7b6ba;font-size:12px}.proficiency-card.complete .phase-status strong{color:#9be5b4}@media (width<=900px){.home-grid{grid-template-columns:1fr 1fr}.home-recommendations,.professional-cycle{grid-column:1/-1}.planning-grid{grid-template-columns:1fr}.shortcut-note{display:none}}@media (width<=640px){.home-grid{grid-template-columns:1fr}.mission-control-hero,.home-recommendations,.professional-cycle{grid-column:1}.coach-item span{flex-direction:column}.coach-item small{text-align:left}.proficiency-card{grid-template-columns:1fr}.phase-number{width:34px;height:34px}.planning-card>summary span{margin:4px 0 0 22px;display:block}}.difficulty.proficiency{color:#d8eeff;background:linear-gradient(90deg,#43a7e826,#e8b84a14);border:1px solid #62b5ef75}.proficiency-selected{background:#2f95d60d;border:1px solid #62b5ef4d;border-radius:10px;margin-bottom:10px;padding:8px}@media (width>=901px){.practice-layout{grid-template-columns:300px minmax(0,1fr);gap:20px;max-width:1380px}}.practice-choice{grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;overflow:visible}.practice-choice>span{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;min-width:0;line-height:1.35}.practice-choice small{white-space:normal;text-align:left;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;grid-area:auto/1;min-width:0;max-width:100%;line-height:1.3}.practice-group-title>span,.practice-group-title small,.extra-practice-intro p{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.lesson-cta-row{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.optional-build-note{background:#62b5ef12;border-left:3px solid #62b5ef8c;border-radius:0 8px 8px 0;padding:10px 12px;font-size:.84rem;color:#9fb7c7!important;margin-top:12px!important}@media (width<=640px){.lesson-cta-row{flex-direction:column}.lesson-cta-row button{width:100%}}.practice-choice-title{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;width:100%;min-width:0;line-height:1.35;display:block}.practice-choice-meta{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.practice-choice-meta small{flex:auto;min-width:0;margin:0}.completion-badge{color:#a9e8bd;letter-spacing:.02em;white-space:nowrap;background:#37be641f;border:1px solid #46be706b;border-radius:999px;flex:none;align-items:center;padding:2px 7px;font-size:.64rem;font-weight:900;display:inline-flex}.practice-choice.passed{background:linear-gradient(135deg,#37be6414,#0d1822 62%);border-color:#47795a}.terminal-card>.check{border-top:0;border-bottom:1px solid #253c4d;padding:11px 14px}.hint-card{border-left:4px solid #e8b84aa6}@media (width<=640px){.practice-choice-meta{flex-direction:column;align-items:flex-start;gap:5px}.completion-badge{align-self:flex-start}}.formula-support summary{color:#d9e8f2;align-items:center;gap:8px;display:flex}.formula-support summary:hover{color:#f2f8fc}.calculator-icon{flex:0 0 22px;width:22px;height:22px;overflow:visible}.calculator-body{fill:#1a4f73;stroke:#8dcff2;stroke-width:1.15px}.calculator-screen{fill:#bde9f7;stroke:#e9fbff;stroke-width:.55px}.calculator-button{fill:#f3f8fb;stroke:#9fb9c9;stroke-width:.45px}.calculator-equals{fill:#d95a63;stroke:#ffb6bc;stroke-width:.4px}.python-programming-icon{vertical-align:middle;align-items:center;gap:3px;margin-right:2px;display:inline-flex}.python-snake{font-size:1.02rem;line-height:1}.python-code-mark{color:#91d7ff;letter-spacing:-.08em;font:900 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.editor-actions{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}.editor-run-group,.practice-navigation-group{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.practice-navigation-group{border-top:1px solid #374f608c;padding-top:9px}.editor-run-group .save-message{flex:150px}.practice-navigation-group .practice-nav-action{white-space:nowrap}@media (width<=640px){.editor-run-group,.practice-navigation-group{align-items:stretch}.editor-run-group button,.practice-navigation-group button{flex:150px}.practice-navigation-group .practice-nav-action{white-space:normal}}.top-nav-btn{align-items:center;gap:6px;display:inline-flex}.nav-symbol-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.whistle-icon{width:21px}.nav-symbol-cutout{fill:var(--nw-navy,#071522);stroke:currentColor}.nav-symbol-detail{fill:none;stroke:currentColor;stroke-width:1.5px}.blueprint-icon{vertical-align:-4px;fill:#49a5e21f;stroke:#8fd3ff;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;margin-right:5px}.blueprint-lines{fill:none;stroke:#b9e5ff;stroke-width:1.25px}.proficiency-summary .panel-title{align-items:center;gap:7px;display:flex}.hint-progress{color:#90a9ba;margin:9px 0 0;font-weight:800;display:block}.quality-explainer{color:#9fb2c0;margin:8px 0 10px;font-size:13px;line-height:1.45}.quality-live-stats{flex-wrap:wrap;gap:8px;margin:8px 0 10px;display:flex}.quality-live-stats span{color:#9fb4c4;background:#07131d;border:1px solid #2d485b;border-radius:999px;padding:5px 8px;font-size:11px}.quality-live-stats strong{color:#d9efff;font-size:12px}.planning-card>summary{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.planning-card>summary span{margin-left:5px}.emoji-nav-icon{filter:saturate(1.18);justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.color-blueprint-icon{vertical-align:-5px;width:23px;height:21px;margin-right:5px;overflow:visible}.blueprint-paper{fill:#2186d8;stroke:#8dd7ff;stroke-width:1.4px}.blueprint-grid{fill:none;stroke:#f4fbff;stroke-width:1.25px;stroke-linecap:round}.blueprint-pencil{fill:#ffd65a;stroke:#f6a623;stroke-width:1px}.blueprint-pencil-tip{fill:#ef6b68;stroke:#ff9b8f;stroke-width:.8px}.blueprint-dot{fill:#74e3a2}.scenario-card{background:linear-gradient(135deg,#185c892e,#11273a5c);border:1px solid #4eb1ec59;border-left:4px solid #4eb1ec;border-radius:10px;margin:14px 0 12px;padding:14px 16px;box-shadow:inset 0 1px #ffffff06}.scenario-heading,.instructions-heading{letter-spacing:.08em;text-transform:uppercase;color:#92d8ff;margin-bottom:7px;font-size:.78rem;font-weight:900}.scenario-card p{color:#d5e8f4;margin:0;line-height:1.55}.instructions-block{background:#07121c47;border:1px solid #5f7e932e;border-radius:9px;margin:0 0 10px;padding:12px 14px}.instructions-block p{white-space:pre-line;margin:0;line-height:1.55}.instructions-heading{color:#c6d6e0}.input-request-card{color:#d9effb;background:linear-gradient(90deg,#1d6fa538,#081722f2);border-top:1px solid #2c4658;flex-direction:column;gap:4px;padding:11px 14px;display:flex}.input-request-label{letter-spacing:.07em;text-transform:uppercase;color:#79d6ff;font-size:11px;font-weight:900}.input-request-card strong{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.input-request-card small{color:#9cb6c7}.terminal-input-row{border-top:1px solid #2c4658b3}@media (width<=640px){.scenario-card,.instructions-block{padding:12px}.input-request-card{padding:10px 12px}}.plain-yellow-whistle{fill:#ffd43b;stroke:#d79b00;stroke-width:1.25px;stroke-linejoin:round;flex:none;width:25px;height:21px;overflow:visible}.plain-yellow-whistle-hole{fill:#1a2028;stroke:#b77d00;stroke-width:1px}.proficiency-reminder{background:linear-gradient(120deg,#215f912e,#0b1c2aeb);border:1px solid #355976;border-left:4px solid #67b9ef;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;max-width:1100px;margin:-2px auto 20px;padding:14px 16px;display:grid}.proficiency-reminder.ready{background:linear-gradient(120deg,#775b172e,#0b1c2af0);border-left-color:#f0c65a}.proficiency-reminder.complete{background:linear-gradient(120deg,#2573492e,#0b1c2af0);border-left-color:#58c884}.proficiency-reminder-icon{filter:saturate(1.2);font-size:30px;line-height:1}.proficiency-reminder-title{color:#eaf7ff;margin-bottom:4px;font-weight:900}.proficiency-reminder-copy p{color:#abc0cf;margin:0 0 8px;font-size:13px;line-height:1.45}.proficiency-reminder-copy small{color:#89a3b5;margin-top:5px;font-weight:700;display:block}.proficiency-reminder-progress{background:#07131d;border:1px solid #28465a;border-radius:999px;height:6px;overflow:hidden}.proficiency-reminder-progress span{background:linear-gradient(90deg,#4c9fe0,#6dd6b4);border-radius:999px;height:100%;display:block}.proficiency-reminder-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:360px;display:flex}.proficiency-home-stat small{color:#8fa8b9;margin-top:3px;line-height:1.35}.proficiency-home-stat button{width:100%;margin-top:10px}@media (width<=900px){.proficiency-reminder{grid-template-columns:auto 1fr}.proficiency-reminder-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}}@media (width<=560px){.proficiency-reminder{grid-template-columns:1fr}.proficiency-reminder-icon{display:none}.proficiency-reminder-actions{grid-column:auto}.proficiency-reminder-actions button{width:100%}}.auth-shell{color:#e7eef6;background:radial-gradient(circle at 15% 10%,#163149 0,#0b1925 34%,#071019 72%);place-items:center;min-height:100vh;padding:clamp(18px,4vw,44px);display:grid}.auth-card{background:#0c1721;border:1px solid #2a3b49;border-radius:26px;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);width:min(1040px,100%);min-height:650px;display:grid;overflow:hidden;box-shadow:0 28px 80px #0000006b}.auth-visual{background:#0a141e;min-height:650px;position:relative;overflow:hidden}.auth-visual img{object-fit:cover;filter:saturate(.94)contrast(1.02);width:100%;height:100%;display:block}.auth-visual:after{content:"";background:linear-gradient(#040c130a 20%,#040c1338 52%,#040c13ed 100%);position:absolute;inset:0}.auth-visual-overlay{z-index:2;position:absolute;bottom:30px;left:30px;right:30px}.auth-visual-overlay h1{color:#fff;margin:9px 0 8px;font-size:clamp(2rem,4vw,3.25rem);line-height:1}.auth-visual-overlay p{color:#d3e0e9;max-width:430px;margin:0;font-size:.96rem;line-height:1.55}.auth-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;color:#f0d170;background:#0710199e;border:1px solid #ffffff47;border-radius:999px;padding:7px 10px;font-size:.68rem;font-weight:900;display:inline-flex}.auth-panel{background:linear-gradient(#101e29 0%,#0b1721 100%);flex-direction:column;justify-content:center;padding:clamp(30px,5vw,58px);display:flex}.auth-brand-row{color:#edf4f8;align-items:center;gap:12px;margin-bottom:42px;display:flex}.auth-brand-row>div:last-child{display:grid}.auth-brand-row strong{font-size:1rem}.auth-brand-row span{color:#8099ab;margin-top:2px;font-size:.75rem}.auth-mark{color:#f0d170;background:#183148;border:1px solid #35536b;border-radius:12px;place-items:center;width:44px;height:44px;font-family:Consolas,monospace;font-weight:900;display:grid}.auth-welcome h2{color:#f3f7fa;margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.15rem)}.auth-welcome p{color:#94a9b9;margin:0 0 24px;line-height:1.55}.auth-notice,.auth-message{color:#e5d7a5;background:#d9ba5c1a;border:1px solid #49503f;border-radius:12px;margin:14px 0;padding:13px 14px;line-height:1.45}.auth-tabs{background:#08131c;border:1px solid #223746;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 24px;padding:5px;display:grid}.auth-tabs button{color:#7f98aa;background:0 0;border:0;border-radius:8px;padding:11px 12px;font-weight:800}.auth-tabs button.active{color:#fff;background:#1b3244;box-shadow:0 2px 10px #00000038}.auth-form{gap:15px;display:grid}.auth-form label{color:#c8d5df;gap:7px;font-size:.84rem;font-weight:800;display:grid}.auth-form input,.instructor-class-tools input,.instructor-class-tools select,.instructor-inline input,.instructor-class-tools select{color:#eaf1f6;font:inherit;background:#071019;border:1px solid #314757;border-radius:10px;outline:none;padding:13px 14px}.auth-form input:focus{border-color:#7798b2;box-shadow:0 0 0 3px #7798b221}.auth-form input::placeholder{color:#5f7789}.auth-form .primary{color:#fff;background:#5f7f99;border-color:#7894aa;border-radius:10px;width:100%;margin-top:5px;padding:13px 16px;font-weight:900}.auth-form .primary:hover:not(:disabled){background:#6d8da6}.optional-label{color:#71899a;font-weight:600}.auth-message{margin-top:16px}.auth-privacy{color:#6f879a;margin:20px 0 0;font-size:.77rem;line-height:1.5}@media (width<=820px){.auth-shell{padding:0}.auth-card{border:0;border-radius:0;grid-template-columns:1fr;min-height:100vh}.auth-visual{min-height:235px;max-height:280px}.auth-visual-overlay{bottom:20px;left:22px;right:22px}.auth-visual-overlay h1{font-size:2.1rem}.auth-visual-overlay p{display:none}.auth-panel{justify-content:flex-start;padding:28px 22px 38px}.auth-brand-row{margin-bottom:28px}}.account-chip{background:#ffffff24;border-radius:12px;align-items:center;gap:7px;padding:6px 10px;font-size:.8rem;display:flex}.account-chip span{opacity:.72}.account-chip .link-btn{font-size:.78rem}.instructor-dashboard-overlay{z-index:9999;background:#18140fad;padding:24px;position:fixed;inset:0;overflow:auto}.instructor-dashboard-panel{background:#f7f2e8;border-radius:20px;width:min(1180px,100%);min-height:80vh;margin:auto;padding:22px}.instructor-dashboard-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.instructor-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.instructor-inline input{min-width:250px}.instructor-class-tools select{min-width:300px;margin-top:12px}.roster-table{gap:4px;display:grid}.roster-row{border-bottom:1px solid #3a30231f;grid-template-columns:2fr .8fr .8fr 1.8fr auto;align-items:center;gap:10px;padding:10px 8px;display:grid}.roster-head{font-weight:800}.student-detail h4{margin-top:22px}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.status-tag{background:#4487541f;border-radius:999px;padding:5px 8px;font-size:.82rem}.danger{color:#8f3232!important;border-color:#a84949!important}@media (width<=760px){.roster-row{grid-template-columns:1fr}.roster-head{display:none}.instructor-dashboard-head{flex-direction:column;align-items:flex-start}.account-chip{justify-content:center;width:100%}}.optional-label{opacity:.72;font-size:.78em;font-weight:600}.brand-home{text-align:left;align-items:center;gap:11px;display:flex}.brand-school-logo{object-fit:contain;filter:drop-shadow(0 3px 7px #00000038);flex:none;width:48px;height:58px}.brand-copy{flex-direction:column;line-height:1.05;display:flex}.brand-title{color:inherit;margin-top:4px;font-size:1.23rem;font-weight:800}.brand-title small{color:#7890a4;margin-left:5px;font-size:.72rem;font-weight:700}.auth-logo-visual{background:radial-gradient(circle at 50% 35%,#173a61 0,#0c233d 38%,#071521 78%);justify-content:center;align-items:center;min-height:650px;display:flex}.auth-logo-visual:before{content:"";pointer-events:none;background:linear-gradient(135deg,#5ba8dc1a,#0000 36%),repeating-linear-gradient(60deg,#ffffff06 0 1px,#0000 1px 22px);position:absolute;inset:0}.auth-logo-halo{background:linear-gradient(#ffffff14,#ffffff06);border:1px solid #79beec3d;border-radius:42px;justify-content:center;align-items:center;width:min(74%,440px);height:430px;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 28px 70px #00000047,inset 0 0 60px #4c9ed614}.auth-school-logo{object-fit:contain;filter:drop-shadow(0 18px 24px #00000052);width:min(84%,350px);height:390px}.auth-message.auth-error{color:#7e2626;background:#fff0f0;border:1px solid #d88989;border-radius:10px;padding:12px 14px;line-height:1.45}@media (width<=820px){.brand-school-logo{width:40px;height:48px}.brand-title{font-size:1.05rem}.auth-logo-halo{border-radius:25px;width:210px;height:170px;top:16px}.auth-school-logo{width:150px;height:150px}.auth-logo-visual{min-height:235px}.auth-visual-overlay{bottom:16px}.auth-visual-overlay .auth-badge{display:none}}.topbar>div:first-child{flex:none}.top-stats{flex:auto}.account-chip-right{flex:none;margin-left:auto}.emoji-nav-icon{font-size:1.05rem;line-height:1}@media (width<=1100px){.account-chip-right{margin-left:0}}@media (width<=760px){.account-chip-right{order:99;justify-content:center;width:100%}}.topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center!important;column-gap:22px!important;display:grid!important}.topbar>div:first-child{grid-column:1;align-self:center}.top-stats{flex-wrap:wrap;grid-column:2;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.account-chip-right{text-align:right;grid-column:3;grid-template-columns:1fr;align-self:center;justify-items:end;gap:4px;min-width:132px;padding:8px 10px;display:grid;margin-left:0!important}.account-chip-right strong{white-space:nowrap}.account-chip-right .link-btn{padding:0;line-height:1.2}@media (width<=1180px){.topbar{grid-template-columns:auto 1fr auto;align-items:start!important}.top-stats{justify-content:flex-end}}@media (width<=860px){.topbar{grid-template-columns:1fr auto;row-gap:12px}.topbar>div:first-child{grid-column:1}.account-chip-right{grid-area:1/2}.top-stats{grid-area:2/1/auto/-1;justify-content:flex-start}}@media (width<=560px){.topbar{grid-template-columns:1fr}.topbar>div:first-child,.account-chip-right,.top-stats{grid-column:1}.account-chip-right{text-align:left;grid-row:auto;justify-items:start;width:100%}.top-stats{grid-row:auto}}.account-chip-right{flex-direction:column;justify-content:center;align-items:flex-end;gap:7px;display:flex!important}.account-identity{flex-direction:column;align-items:flex-end;gap:2px;line-height:1.15;display:flex}.account-identity strong{white-space:nowrap}.account-identity span{opacity:.72;font-size:.76rem}.account-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.account-actions .link-btn{white-space:nowrap;padding:0}@media (width<=560px){.account-chip-right,.account-identity{text-align:left;align-items:flex-start}.account-actions{justify-content:flex-start}}.account-chip.account-chip-right.account-stack{text-align:right!important;flex-direction:column!important;justify-content:center!important;align-items:flex-end!important;gap:8px!important;display:flex!important}.account-chip.account-chip-right.account-stack>.account-identity{width:100%;flex-direction:column!important;align-items:flex-end!important;gap:2px!important;display:flex!important}.account-chip.account-chip-right.account-stack>.account-actions{width:100%;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;display:flex!important}@media (width<=560px){.account-chip.account-chip-right.account-stack,.account-chip.account-chip-right.account-stack>.account-identity{text-align:left!important;align-items:flex-start!important}.account-chip.account-chip-right.account-stack>.account-actions{justify-content:flex-start!important}}.account-chip.account-chip-right.account-stack{text-align:center!important;align-items:center!important}.account-chip.account-chip-right.account-stack>.account-identity{width:100%;text-align:center!important;align-items:center!important}.account-chip.account-chip-right.account-stack>.account-actions{width:100%;justify-content:center!important}@media (width<=560px){.account-chip.account-chip-right.account-stack,.account-chip.account-chip-right.account-stack>.account-identity{text-align:center!important;align-items:center!important}.account-chip.account-chip-right.account-stack>.account-actions{justify-content:center!important}}
