:root{--bg:#f7f8fc;--ink:#111827;--muted:#667085;--line:#e5e7eb;--primary:#635bff;--primary-dark:#5048e5;--dark:#10131d;--card:#fff;--green:#48d597;--radius:22px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}.navbar{height:78px;display:flex;align-items:center;gap:38px;padding:0 max(20px,calc((100% - 1120px)/2));background:#f7f8fcdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(229,231,235,.7)}.logo{font-family:Space Grotesk;font-weight:700;font-size:20px;display:flex;align-items:center;gap:9px;margin-right:auto}.logo-mark{background:var(--primary);color:#fff;border-radius:9px;padding:4px 7px;font-size:14px}.navbar nav{display:flex;gap:28px;color:#596273;font-size:14px;font-weight:500}.navbar nav a:hover{color:var(--primary)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:0;background:var(--primary);color:#fff;border-radius:12px;padding:14px 21px;font-weight:700;font-size:14px;cursor:pointer;transition:.2s;box-shadow:0 8px 20px #635bff2e}.btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-small{padding:10px 16px}.btn-outline{background:transparent;color:var(--primary);border:1px solid #d8d5ff;box-shadow:none}.btn-outline:hover{color:#fff}.menu-btn{display:none;border:0;background:none;font-size:24px}.hero{position:relative;overflow:hidden;padding:88px 0 78px;background:radial-gradient(circle at 78% 30%,#e9e6ff 0,transparent 28%),linear-gradient(180deg,#fafaff,#f7f8fc)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--primary)}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:22px}.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--green)}h1,h2{font-family:Space Grotesk,sans-serif;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(48px,6vw,74px);max-width:650px}h1 em,h2 em{font-style:normal;color:var(--primary)}.hero-text{font-size:18px;color:var(--muted);max-width:590px;margin:24px 0 30px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;font-weight:700}.hero-proof{display:flex;align-items:center;gap:13px;margin-top:35px}.avatars{display:flex}.avatars span{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;margin-right:-8px;border:2px solid var(--bg);font-size:15px}.hero-proof strong,.hero-proof small{display:block}.hero-proof strong{font-size:12px}.hero-proof small{color:#8992a3;font-size:11px}.hero-card{position:relative}.code-window{background:#171a26;border-radius:20px;padding:0 0 22px;box-shadow:0 28px 70px #181c3238;overflow:hidden;transform:rotate(1deg)}.window-top{height:50px;background:#202432;display:flex;align-items:center;padding:0 18px;color:#8992a3;font:12px monospace;gap:18px}.dots{display:flex;gap:6px}.dots i{display:block;width:8px;height:8px;border-radius:50%;background:#555b6e}.code-window pre{padding:30px 30px 22px;color:#e9ecf4;font:15px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace}.purple{color:#c5a5ff}.green{color:#72e2a7}.orange{color:#ffbd78}.blue{color:#7cb8ff}.function{color:#f08fff}.terminal-line{border-top:1px solid #2c3141;margin:0 22px;padding-top:16px;color:#72e2a7;font:12px monospace}.terminal-line span{color:#7cb8ff}.floating-badge{position:absolute;background:#fff;border:1px solid #e6e7ee;border-radius:13px;padding:10px 14px;font-size:12px;font-weight:700;box-shadow:0 12px 30px #1e23371f}.badge-one{right:-18px;top:22%}.badge-two{left:-22px;bottom:12%}.stats{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}.stats-grid>div{text-align:center;border-right:1px solid var(--line)}.stats-grid>div:last-child{border:0}.stats-grid strong{display:block;font:700 25px Space Grotesk}.stats-grid span{font-size:12px;color:var(--muted)}.section{padding:105px 0}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:50px}.section-heading h2,.center-heading h2,.faq-grid h2,.cta h2{font-size:48px;margin-top:12px}.section-heading>p{color:var(--muted);max-width:450px}.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;min-height:260px;position:relative;transition:.2s}.module:hover{transform:translateY(-4px);box-shadow:0 18px 40px #141e3c12}.module.featured{border-color:#d8d5ff;background:linear-gradient(145deg,#fff,#f5f3ff)}.module-number{position:absolute;right:20px;top:19px;color:#a0a7b5;font:700 12px monospace}.module-icon{font-size:27px;color:var(--primary);margin-bottom:22px}.module h3{font:700 20px Space Grotesk;margin-bottom:10px}.module p{color:var(--muted);font-size:13px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tags span{background:#f0f1f6;border-radius:100px;padding:5px 9px;font-size:10px;color:#596273}.class-section{background:#fff}.class-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}.class-step{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:27px;position:relative;min-height:225px;transition:.2s}.class-step:hover{transform:translateY(-4px);box-shadow:0 18px 40px #141e3c12}.class-step.main-step,.class-step.live-step{background:linear-gradient(145deg,#fff,#f5f3ff);border-color:#dcd9ff}.class-step.quiz-step{border-color:#cfeedd;background:linear-gradient(145deg,#fff,#f2fcf7)}.step-icon{font-size:28px;margin-bottom:20px}.step-number{position:absolute;right:19px;top:18px;color:#a0a7b5;font:700 11px monospace}.class-step h3{font:700 18px Space Grotesk;margin-bottom:9px}.class-step p{color:var(--muted);font-size:12px}.class-step p strong{color:var(--ink)}.support-card{margin-top:25px;border-radius:20px;padding:28px 30px;background:var(--dark);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.support-icon{width:52px;height:52px;border-radius:15px;background:#252a3a;display:grid;place-items:center;font-size:24px}.support-card .section-kicker{color:#9b93ff}.support-card h3{font:700 20px Space Grotesk;margin:3px 0 5px}.support-card p{font-size:12px;color:#aeb5c5}.support-goal{border-left:1px solid #353a49;padding-left:25px;display:flex;flex-direction:column;gap:3px}.support-goal strong{font-size:12px}.support-goal span{font-size:11px;color:#8f96a6}.dark-section{background:var(--dark);color:#fff}.method-grid{display:block;max-width:760px}.dark-section .section-kicker{color:#9b93ff}.dark-section h2{font-size:53px;margin:13px 0 20px}.muted{color:#aeb5c5;max-width:620px}.method-list{margin-top:35px}.method-list>div{display:flex;gap:18px;padding:18px 0;border-top:1px solid #2a2f3c}.method-list b{color:#8e86ff;font:700 12px monospace;padding-top:3px}.method-list strong,.method-list small{display:block}.method-list strong{font-size:14px}.method-list small{color:#858d9e;font-size:12px;margin-top:3px}.gallery-section{background:#fff}.screenshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.screenshot-card{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 45px #141e3c14}.screenshot-card img{width:100%;height:100%;display:block;object-fit:cover}.screenshot-card figcaption{position:absolute;left:16px;bottom:16px;background:#10131ddb;color:#fff;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700}.reviews-section{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 45px #141e3c14}.review-card img{width:100%;height:100%;display:block;object-fit:cover}.center-heading{text-align:center;margin-bottom:48px}.center-heading>p{color:var(--muted);max-width:550px;margin:16px auto}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.benefit-grid>div{background:#fff;border:1px solid var(--line);padding:34px;border-radius:18px}.benefit-icon{font-size:27px}.benefit h3{font:700 19px Space Grotesk;margin:18px 0 8px}.benefit p{color:var(--muted);font-size:13px}.pricing-section{background:#f0f1f7}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:850px;margin:auto}.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;position:relative}.price-card.popular{border:2px solid var(--primary);box-shadow:0 18px 50px #635bff1f}.popular-label{position:absolute;top:-13px;right:22px;background:var(--primary);color:#fff;border-radius:100px;padding:6px 11px;font-size:9px;font-weight:800;letter-spacing:.08em}.price-label{font-size:11px;letter-spacing:.14em;font-weight:800;color:#777f90}.price{display:flex;align-items:flex-end;gap:9px;margin:12px 0}.price strong{font:700 55px Space Grotesk;letter-spacing:-.05em}.price span{font-size:11px;color:var(--muted);line-height:1.25;margin-bottom:9px}.price-card>p{font-size:13px;color:var(--muted);min-height:48px}.price-card ul{list-style:none;margin:22px 0 28px;border-top:1px solid var(--line);padding-top:17px}.price-card li{font-size:12px;margin:10px 0}.cta-section{padding:90px 0;background:linear-gradient(135deg,#15182a,#28234c);color:#fff}.cta{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}.cta .section-kicker{color:#a39bff}.cta h2{font-size:46px}.cta p{color:#aeb5c5;margin-top:14px}.cta-btn{font-size:18px;padding:20px 32px;border-radius:16px;box-shadow:0 18px 40px #635bff57,0 0 0 1px #ffffff14}.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;padding:0 20px}.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:13px;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--primary);font-size:20px;font-weight:400}.faq p{color:var(--muted);font-size:12px;padding:0 0 19px;max-width:650px}footer{background:#fff;border-top:1px solid var(--line);padding:35px 0}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:35px}.footer-grid p{font-size:11px;color:var(--muted);margin-top:8px}.footer-links{display:flex;gap:20px;font-size:11px;color:#626b7b}.copyright{font-size:10px;color:#9299a8}.journey{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.journey-line{position:absolute;left:50%;top:25px;bottom:25px;width:1px;background:linear-gradient(#d8d5ff,#e5e7eb);z-index:0}.journey-card{z-index:1;background:#fff}.journey-card:nth-of-type(2n){transform:translateY(38px)}.journey-card:nth-of-type(2n):hover{transform:translateY(34px)}.journey-card.final{border-color:#d8d5ff;background:linear-gradient(145deg,#fff,#f5f3ff)}.program-note{margin-top:75px;padding:25px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:flex-start;gap:18px}.program-note-icon{font-size:27px}.program-note strong{font:700 16px Space Grotesk}.program-note p{color:var(--muted);font-size:12px;margin-top:4px}.program-goal{margin:70px auto 0;max-width:760px;text-align:center;padding:42px 30px;border-radius:22px;background:var(--dark);color:#fff}.program-goal .section-kicker{color:#9b93ff}.program-goal h3{font:700 34px/1.1 Space Grotesk;letter-spacing:-.03em;margin:13px 0}.program-goal p{color:#aeb5c5;font-size:13px;max-width:580px;margin:auto}@media(max-width:850px){.navbar nav,.navbar>.btn{display:none}.menu-btn{display:block}.navbar{padding:0 20px}.hero{padding-top:55px}.hero-grid,.method-grid,.cta,.faq-grid{grid-template-columns:1fr;gap:45px}.hero-card{max-width:650px;margin:auto}.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}.stats-grid>div:nth-child(2){border:0}.section-heading{grid-template-columns:1fr;gap:20px}.modules,.benefit-grid,.pricing-grid,.journey,.class-flow,.screenshot-grid,.review-grid{grid-template-columns:1fr}.screenshot-card{min-height:auto}.support-card{grid-template-columns:auto 1fr}.support-goal{grid-column:2;border-left:0;border-top:1px solid #353a49;padding:16px 0 0}.journey-line{display:none}.journey-card:nth-of-type(2n),.journey-card:nth-of-type(2n):hover{transform:none}.program-note{margin-top:45px}.section{padding:75px 0}.cta{gap:30px}.footer-grid{grid-template-columns:1fr}.footer-links{order:3;flex-wrap:wrap}.copyright{order:4}.faq-grid{gap:35px}}@media(max-width:520px){.container{width:min(100% - 28px,1120px)}h1{font-size:43px}.hero-text{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;gap:15px}.text-link{text-align:center}.code-window pre{font-size:12px;padding:22px 18px}.floating-badge{display:none}.section-heading h2,.center-heading h2,.faq-grid h2,.cta h2,.dark-section h2{font-size:37px}.price strong{font-size:47px}.cta-btn{width:100%;font-size:16px;padding:18px 24px}}html,body{max-width:100%;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}.container{width:min(1120px,calc(100vw - 40px));max-width:100%}.hero-grid,.hero-copy,.hero-card,.section-heading,.stats-grid,.journey,.class-flow,.support-card,.method-grid,.screenshot-grid,.review-grid,.benefit-grid,.pricing-grid,.cta,.faq-grid,.footer-grid,.module,.class-step,.price-card,.program-note,.program-goal{min-width:0}.hero-copy,.hero-card,.code-window,.window-top,.terminal-line,.hero-proof,.support-card>*,.method-list>div>span,.price-card>*,.faq details{max-width:100%;min-width:0}h1,h2,h3,p,a,span,strong,small,summary,li{overflow-wrap:anywhere}.btn{max-width:100%;white-space:normal;text-align:center}.code-window{max-width:100%}.code-window pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.code-window code{white-space:inherit}@media(max-width:850px){.container{width:min(100% - 40px,1120px)}.hero-grid,.cta{width:100%;max-width:100%;overflow:hidden}.hero-copy,.hero-card{width:100%;max-width:100%;justify-self:stretch}.hero-card{margin-inline:0}.code-window{transform:none}.floating-badge{right:auto;left:auto}.support-card,.program-note{overflow:hidden}.review-card img{height:auto}}@media(max-width:520px){.container{width:min(100% - 28px,1120px)}.hero{padding-inline:0}h1{font-size:clamp(34px,11vw,43px)}.hero-text{max-width:100%}.hero-actions,.hero-actions .btn{width:100%}.code-window pre{font-size:11px;line-height:1.75;padding:20px 16px}.window-top{padding-inline:14px;gap:12px}.terminal-line{margin-inline:16px;overflow-wrap:anywhere}.support-card{grid-template-columns:1fr}.support-goal{grid-column:auto}.program-note{display:grid}}.student-app .portal-header{position:sticky;top:0;z-index:30;box-shadow:0 1px #14192d0a;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px)}.student-nav{padding:4px;background:#f5f5fa;border:1px solid #e8e8f1;border-radius:12px}.student-nav a{position:relative;min-width:92px;padding:9px 14px;border-radius:9px;text-align:center;transition:background-color .18s,color .18s,box-shadow .18s,transform .18s}.student-nav a:hover{background:#fff;color:#5147d9;box-shadow:0 2px 8px #23224b14;transform:translateY(-1px)}.student-nav a.active{background:linear-gradient(135deg,#6b5cff,#5548ed);color:#fff;box-shadow:0 5px 14px #5b4cee40}.student-nav a:focus-visible,.portal-admin-link:focus-visible,.portal-logout:focus-visible{outline:3px solid rgba(99,86,255,.24);outline-offset:2px}.portal-user>span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344054;font-weight:650}.portal-admin-link,.portal-logout{padding:8px 10px!important;border-radius:8px!important}.portal-admin-link{background:#f0eeff;color:#5b4eed!important}.portal-admin-link:hover{background:#e5e1ff}.portal-logout:hover{background:#fff1f3;color:#b4233c!important}.portal-language{display:flex;padding:3px;border:1px solid #e2e5ed;border-radius:9px;background:#f7f8fb}.portal-language button{border:0;border-radius:6px;background:transparent;padding:5px 7px;color:#707891;font:800 10px Inter;cursor:pointer}.portal-language button.active{background:#635bff;color:#fff;box-shadow:0 2px 7px #635bff3d}.homework-start-error{display:grid;gap:4px;margin:0 0 18px;padding:14px 16px;border:1px solid #f1b9c3;border-radius:12px;background:#fff2f4;color:#9f1732;font-size:13px}.homework-start-error strong{font-size:14px}.homework-sort{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.homework-sort label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:750}.homework-sort select{min-width:235px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:600 13px Inter}.homework-sort>span{color:var(--muted);font-size:12px}.homework-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.homework-card-meta time{color:var(--muted);font-size:11px}.homework-dates{display:flex!important;justify-content:space-between!important;gap:12px;margin-top:10px}.homework-dates small:last-child{text-align:right}@media(max-width:600px){.homework-sort{align-items:stretch;flex-direction:column}.homework-sort select{width:100%;min-width:0}.homework-dates{align-items:flex-start;flex-direction:column}.homework-dates small:last-child{text-align:left}}.modal-form fieldset>label{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%;min-height:34px;padding:3px 2px;font-size:13px;font-weight:650}.modal-form fieldset>label input[type=checkbox]{width:16px!important;height:16px!important;margin:0;justify-self:center;accent-color:var(--primary)}.theme-toggle{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);color:var(--ink);box-shadow:0 8px 25px #13182a2e;font:700 12px Inter;cursor:pointer}.theme-toggle span{font-size:16px}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}[data-theme=dark]{color-scheme:dark;--bg:#10131d;--portal-bg:#10131d;--ink:#eef1f8;--muted:#aeb5c5;--line:#303649;--card:#191d2a;--dark:#090b12;--primary:#8a80ff;--primary-dark:#7468ff}[data-theme=dark] body,[data-theme=dark] .student-app,[data-theme=dark] .admin-app,[data-theme=dark] .admin-main{background:#10131d;color:var(--ink)}[data-theme=dark] .navbar,[data-theme=dark] .portal-header,[data-theme=dark] .admin-top,[data-theme=dark] footer,[data-theme=dark] .stats,[data-theme=dark] .class-section,[data-theme=dark] .gallery-section,[data-theme=dark] .reviews-section{background:#151925;color:var(--ink);border-color:var(--line)}[data-theme=dark] .hero{background:radial-gradient(circle at 78% 30%,#29244b 0,transparent 30%),linear-gradient(180deg,#151827,#10131d)}[data-theme=dark] .module,[data-theme=dark] .class-step,[data-theme=dark] .price-card,[data-theme=dark] .session-card,[data-theme=dark] .password-panel,[data-theme=dark] .student-collections>section,[data-theme=dark] .homework-card,[data-theme=dark] .coding-question,[data-theme=dark] .grading-question,[data-theme=dark] .admin-section,[data-theme=dark] .stat-card,[data-theme=dark] .panel,[data-theme=dark] .data-table,[data-theme=dark] .group-card,[data-theme=dark] .modal,[data-theme=dark] .auth-card,[data-theme=dark] .homework-submit,[data-theme=dark] .grading-actions{background:#191d2a;color:var(--ink);border-color:var(--line)}[data-theme=dark] .module.featured,[data-theme=dark] .class-step.main-step,[data-theme=dark] .class-step.live-step,[data-theme=dark] .journey-card.final{background:linear-gradient(145deg,#1b2030,#252143)}[data-theme=dark] .pricing-section,[data-theme=dark] .auth-page{background:#121621}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .session-filters,[data-theme=dark] .student-nav,[data-theme=dark] .portal-language,[data-theme=dark] .resource-list>a,[data-theme=dark] .student-collections a,[data-theme=dark] .thead{background:#121621!important;color:var(--ink)!important;border-color:var(--line)!important}[data-theme=dark] .trow,[data-theme=dark] .row,[data-theme=dark] .admin-question,[data-theme=dark] .assignment-row{border-color:var(--line)}[data-theme=dark] .student-nav a:hover{background:#242a3b}[data-theme=dark] .portal-user>span,[data-theme=dark] .navbar nav,[data-theme=dark] .module p,[data-theme=dark] .class-step p,[data-theme=dark] .price-card>p{color:var(--muted)}[data-theme=dark] .modal-backdrop{background:#020409b8}[data-theme=dark] .released-grade,[data-theme=dark] .answer-feedback{background:#15352c;color:#d2f8e4;border-color:#30634d}[data-theme=dark] .released-grade p,[data-theme=dark] .answer-feedback p{color:inherit}[data-theme=dark] .admin-question pre{background:var(--bg);color:var(--ink);border:1px solid var(--line)}[data-theme=dark] .code-output{background:#10131d;color:#e9edf7;border:1px solid var(--line)}.student-app{min-height:100vh;background:#f6f7fb}.student-nav{display:flex;gap:6px}.student-nav a{padding:8px 11px;border-radius:8px;color:#667085;font-size:13px;font-weight:700}.student-nav a:hover{background:#eeecff;color:#554bc7}.portal-user{display:flex;align-items:center;gap:12px;font-size:13px}.portal-user>a{color:var(--primary);font-weight:700}.student-shell{width:min(1120px,calc(100% - 40px));margin:auto;padding:42px 0}.student-page>.portal-intro{margin-bottom:28px}.student-page>.portal-intro h1{font-size:42px}.homework-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.homework-card{display:block;background:#fff;border:1px solid #e6e9f0;border-radius:15px;padding:20px;transition:.16s}.homework-card:hover{border-color:#c9c4ff;transform:translateY(-2px)}.homework-card>div{display:flex;justify-content:space-between}.homework-card h3{font:700 19px Space Grotesk;margin:14px 0 5px}.homework-card p{color:#667085;font-size:13px;min-height:42px}.homework-card small{color:#7a8296}.homework-card>strong{display:block;color:#315ca8;margin-top:12px}.homework-status{padding:4px 7px;border-radius:6px;background:#eef0f5;color:#657086;font-size:10px;font-weight:800;text-transform:uppercase}.homework-status.graded{background:#e4f8ed;color:#19734f}.homework-status.overdue{background:#fff1f3;color:#b4233c}.homework-status.grading,.homework-status.submitted{background:#fff8e6;color:#916200}.homework-instructions{padding:16px;background:#fff;border:1px solid #e6e9f0;border-radius:12px;color:#596273;margin-bottom:18px}.question-list,.grading-list{display:grid;gap:18px}.coding-question,.grading-question,.admin-section{background:#fff;border:1px solid #e6e9f0;border-radius:14px;padding:22px}.coding-question>header,.grading-question>header{display:flex;justify-content:space-between;margin-bottom:12px;color:#635bff}.coding-question>p,.grading-question>p{margin-bottom:14px}.coding-question>label{display:grid;gap:5px;margin-top:12px;font-size:12px;font-weight:700}.coding-question textarea,.overall-feedback textarea,.grade-fields textarea{padding:10px;border:1px solid #dfe3ed;border-radius:8px;min-height:70px;font:13px monospace}.runner-actions{margin-top:10px}.code-output,.grading-question pre{white-space:pre-wrap;overflow:auto;background:#171a26;color:#e6e8ef;border-radius:9px;padding:14px;margin-top:10px;font:12px/1.6 monospace}.homework-submit,.grading-actions{position:sticky;bottom:12px;display:flex;justify-content:flex-end;align-items:center;gap:10px;background:#fff;border:1px solid #dfe3ed;border-radius:12px;padding:12px 15px;margin-top:20px;box-shadow:0 8px 30px #1b203317}.homework-submit>span,.grading-actions>span{margin-right:auto;color:#667085;font-size:12px}.released-grade,.answer-feedback{background:#eaf8f1;border:1px solid #c9ebd8;border-radius:10px;padding:14px;margin-bottom:16px}.answer-feedback{margin:14px 0 0}.homework-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-section{margin-bottom:18px}.admin-section>h3{font:700 18px Space Grotesk;margin-bottom:14px}.admin-question{border-top:1px solid #edf0f5;padding:15px 0}.admin-question>div:first-child,.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-question>p{margin:7px 0}.admin-question pre{background:#f7f8fc;border-radius:7px;padding:10px;white-space:pre-wrap;font:12px monospace}.assignment-row{padding:12px;border-top:1px solid #edf0f5}.assignment-row small{display:block;color:#798198}.code-field{font-family:monospace!important}.grade-fields{display:grid;grid-template-columns:130px 1fr;gap:12px;margin-top:15px}.grade-fields label,.overall-feedback{display:grid;gap:5px;font-size:12px;font-weight:700}.grade-fields input{padding:10px;border:1px solid #dfe3ed;border-radius:8px}.overall-feedback{margin-top:18px}.modal-form label{display:grid;gap:5px;font-size:12px;font-weight:700}@media(max-width:750px){.portal-header{height:auto;min-height:72px;flex-wrap:wrap;gap:10px;padding-block:12px}.student-nav{order:3;width:100%;justify-content:center}.student-shell{width:min(100% - 24px,1120px);padding:28px 0}.homework-grid,.homework-admin-grid,.grade-fields{grid-template-columns:1fr}.homework-submit,.grading-actions{flex-wrap:wrap}.portal-user>span{display:none}}.admin-page>.data-table>.thead,.admin-page>.data-table>.trow{grid-template-columns:1.2fr 1fr .55fr 1.4fr}.trow form .link-button{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #d7e4ff;border-radius:7px;background:#eef4ff;color:#315ca8}.password-input{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.password-input input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.group-card>div{margin-top:12px}.session-editor{max-height:72vh;overflow:auto;padding-right:4px}.session-editor>label{display:grid;gap:6px;font-size:12px;font-weight:700}.extra-resource{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;width:100%}.resource-table .trow,.resource-table .thead{grid-template-columns:1.1fr 1fr .55fr 1fr}@media(max-width:600px){.extra-resource{grid-template-columns:1fr}}.session-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:15px;background:#fff;border:1px solid #e8eaf1;border-radius:12px}.session-filters label{display:grid;gap:5px;color:#667085;font-size:11px;font-weight:700}.session-filters select,.session-filters input{min-height:38px;padding:8px 10px;border:1px solid #dfe3ed;border-radius:8px;background:#fff;font:500 13px Inter;color:#22283a}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.action-button{min-height:32px;padding:6px 10px;border-radius:7px;border:1px solid transparent;font:700 11px Inter;cursor:pointer;transition:background .15s,border-color .15s}.action-button.publish{background:#eeecff;color:#554bc7;border-color:#dcd8ff}.action-button.publish:hover{background:#dfdcff}.action-button.edit{background:#f4f6f9;color:#3e4b63;border-color:#dfe3ea}.action-button.edit:hover,.action-button.neutral:hover{background:#e9edf3}.action-button.delete{background:#fff1f3;color:#b4233c;border-color:#ffd5dc}.action-button.delete:hover{background:#ffe2e7}.action-button.neutral{background:#f8f9fb;color:#667085;border-color:#dfe3ea}@media(max-width:600px){.session-filters{align-items:stretch}.session-filters label{flex:1 1 100%}.session-filters select,.session-filters input{width:100%}}.action-button.manage{background:#eef4ff;color:#315ca8;border-color:#d7e4ff}.action-button.manage:hover{background:#dfeaff}.action-button.reset{background:#fff8e6;color:#916200;border-color:#f4dfad}.action-button.reset:hover{background:#ffefc3}.resource-table .link-button,.group-card .link-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;margin:2px;border:1px solid #dfe3ea;border-radius:7px;background:#f4f6f9;color:#3e4b63;font:700 11px Inter}.resource-table a.link-button,.group-card .link-button:first-child{background:#eef4ff;color:#315ca8;border-color:#d7e4ff}.resource-table .link-button:hover,.group-card .link-button:hover{background:#e9edf3}.resource-table .link-button.danger,.group-card .link-button.danger{background:#fff1f3;color:#b4233c;border-color:#ffd5dc}.resource-table .link-button.danger:hover,.group-card .link-button.danger:hover{background:#ffe2e7}.student-list{display:grid;gap:10px;margin-top:22px}.student-list form{padding:12px;border:1px solid var(--line);border-radius:10px}.student-list small{display:block;color:var(--muted);margin:3px 0 9px}.student-list fieldset{margin-bottom:6px}.auth-loading{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted);gap:12px}.spinner{width:34px;height:34px;margin:auto;border:3px solid #dedcfb;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.resource-toolbar{margin-bottom:22px}.resource-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:700;max-width:340px}.resource-toolbar select,.modal-form select{padding:11px;border:1px solid #dfe3ed;border-radius:8px;background:#fff;font:inherit}.collection-heading{margin:18px 0}.collection-heading h3{font:700 24px Space Grotesk}.collection-heading p{color:var(--muted)}.link-button.danger{color:#c5364f}.credentials p{color:var(--muted);font-size:13px}.credentials dl{display:grid;grid-template-columns:145px 1fr;gap:10px;margin:20px 0;font-size:13px}.credentials dt{color:var(--muted)}.credentials dd{font-weight:700}.password-value{font:700 18px monospace!important;color:var(--primary)}.credential-actions{display:flex;gap:10px}.button.secondary{background:#eceaff;color:#5048e5}.materials-section{margin-top:45px}.student-collections{display:grid;gap:18px}.student-collections>section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.student-collections h3{font:700 20px Space Grotesk}.student-collections>section>p{color:var(--muted);font-size:13px;margin:4px 0 12px}.student-collections section>div{display:grid;gap:7px}.student-collections a{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:9px;background:#f7f8fc;font-size:13px}.student-collections small{display:block;color:var(--muted)}.admin-app{min-height:100vh;display:grid;grid-template-columns:245px 1fr;background:#f6f7fb}.admin-sidebar{background:#171a2b;color:#d9dcee;padding:28px 16px;display:flex;flex-direction:column;gap:38px}.admin-sidebar .logo{color:#fff;padding:0 10px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a,.sidebar-bottom a{padding:11px 13px;border-radius:9px;font-size:14px;font-weight:700;color:#aeb4cc}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:#292e48;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:4px}.admin-main{min-width:0}.admin-top{min-height:82px;padding:14px 38px;background:#fff;border-bottom:1px solid #e8eaf1;display:flex;align-items:center;justify-content:space-between}.admin-top small,.admin-person small,.row small,.trow small{display:block;color:#798198;font-size:12px}.admin-top h1{font:700 22px Space Grotesk;text-transform:capitalize}.admin-person{display:flex;gap:10px;align-items:center;font-size:13px}.admin-person button{margin-left:9px;border:0;background:none;color:#635bff;font-weight:700;cursor:pointer}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e9e7ff;color:#554bc7;font-weight:800}.admin-page{padding:38px;max-width:1400px;margin:auto}.page-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px}.page-title h2{font:700 28px Space Grotesk}.page-title p{color:#707891;font-size:14px;margin-top:3px}.button{border:0;background:#635bff;color:#fff;padding:10px 14px;border-radius:9px;font:700 13px Inter;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card,.panel,.data-table,.group-card{background:#fff;border:1px solid #e8eaf1;border-radius:13px}.stat-card{padding:20px}.stat-card b{display:block;font:700 30px Space Grotesk}.stat-card span{color:#707891;font-size:13px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{padding:20px}.panel h3{display:flex;justify-content:space-between;font-size:16px;margin-bottom:11px}.panel h3 a{font-size:12px;color:#635bff}.row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #edf0f5;font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.toolbar input{width:min(360px,100%);padding:11px 13px;border:1px solid #dfe3ed;border-radius:9px;font:inherit}.toolbar span{color:#707891;font-size:13px}.thead,.trow{display:grid;grid-template-columns:1.35fr 1fr .65fr .7fr;gap:15px;align-items:center;padding:14px 18px}.thead{background:#fafbfc;color:#707891;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.06em}.trow{border-top:1px solid #edf0f5;font-size:13px}.badge{display:inline-block;font-style:normal;background:#eef0f5;color:#657086;padding:4px 7px;border-radius:6px;font-size:11px;margin:2px}.badge.active,.badge.published{background:#e4f8ed;color:#19734f}.badge.draft{background:#fff3d7;color:#9b6500}.link-button{border:0;background:none;color:#635bff;font-weight:700;cursor:pointer;font-size:12px;padding:3px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.group-card{padding:20px}.group-card h3{font:700 18px Space Grotesk}.group-card p{font-size:13px;color:#707891;min-height:42px;margin:7px 0}.group-card b{font-size:12px}.empty-state,.loading{padding:35px;text-align:center;color:#7a8296;font-size:14px}.toast{margin:15px 38px 0;padding:12px 15px;border-radius:9px;font-size:13px}.toast.success{background:#e7f8ef;color:#176b49}.toast.error{background:#fff0f1;color:#b42336}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#16182b88;display:grid;place-items:center;padding:20px}.modal{background:#fff;width:min(100%,500px);border-radius:15px;padding:22px;box-shadow:0 20px 50px #0003}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal header h2{font:700 21px Space Grotesk}.modal header button{border:0;background:none;font-size:27px;cursor:pointer}.modal-form{display:grid;gap:12px}.modal-form input,.modal-form textarea{padding:11px 12px;border:1px solid #dfe3ed;border-radius:8px;font:inherit}.modal-form textarea{min-height:85px}.modal-form fieldset{border:1px solid #dfe3ed;border-radius:8px;padding:10px;display:grid;gap:5px;font-size:13px}.hint{font-size:12px;color:#707891}.inline-check{display:inline-flex;gap:4px;margin:2px;font-size:11px}@media(max-width:850px){.admin-app{grid-template-columns:1fr}.admin-sidebar{padding:13px 17px;display:flex;flex-direction:row;align-items:center;gap:18px}.admin-sidebar nav{display:flex;gap:3px;overflow:auto}.admin-sidebar .logo{white-space:nowrap}.sidebar-bottom{display:none}.admin-top{padding:14px 20px}.admin-page{padding:25px 18px}.stat-grid,.dashboard-grid,.card-grid{grid-template-columns:1fr 1fr}.thead{display:none}.trow{grid-template-columns:1fr;gap:6px}.data-table{overflow:hidden}.toast{margin:12px 18px 0}}@media(max-width:520px){.admin-sidebar nav a{padding:7px;font-size:12px}.admin-sidebar .logo{font-size:15px}.admin-person span:not(.avatar){display:none}.stat-grid,.dashboard-grid,.card-grid{grid-template-columns:1fr}.page-title{gap:15px;flex-direction:column}.row{gap:10px}.admin-top h1{font-size:19px}}:root{--portal-bg:#f7f8fc}.language{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.language button,.text-button{border:0;background:transparent;padding:6px 9px;cursor:pointer;color:var(--muted);font-weight:700}.language button.active{background:var(--primary);color:#fff}.text-button:hover{color:var(--primary)}.auth-page{min-height:100vh;padding:32px;display:grid;place-content:center;background:radial-gradient(circle at 80% 10%,#e5e1ff,transparent 35%),var(--portal-bg)}.auth-page>.logo{position:absolute;top:28px;left:32px}.auth-card{width:min(100%,460px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 20px 55px #141e3c1a;display:grid;gap:17px}.auth-card h1{font-size:38px}.auth-card p{color:var(--muted);font-size:14px}.auth-card label,.admin-box label{font-size:13px;font-weight:700;display:grid;gap:6px}.auth-card input,.admin-box input,.admin-box textarea,.admin-box select,.password-panel input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.admin-box textarea{min-height:70px;resize:vertical}.error{color:#be123c!important}.portal-header{height:72px;padding:0 max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.portal-nav{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:700}.portal-nav a{color:var(--primary)}.portal-shell{width:min(1040px,calc(100% - 40px));margin:0 auto;padding:64px 0}.portal-intro{margin-bottom:44px}.portal-intro h1{font-size:48px;margin:7px 0}.portal-intro p{color:var(--muted)}.portal-shell h2{font:700 24px Space Grotesk;margin-bottom:18px}.session-list{display:grid;gap:18px}.session-card,.admin-box,.password-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.session-meta{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:8px}.tag,.status{display:inline-block;border-radius:20px;padding:3px 8px;background:#eceaff;color:#554bc7;font-size:11px;font-weight:700}.session-card h3{font:700 22px Space Grotesk;margin-bottom:7px}.session-card>p{color:var(--muted);font-size:14px}.resource-list{display:grid;gap:9px;margin-top:20px}.resource-list>a{display:flex;justify-content:space-between;padding:11px 13px;border-radius:10px;background:#f7f8fc;font-size:13px}.resource-list>a:hover{background:#eeecff;color:var(--primary)}.homework{background:#effbf5;border-left:3px solid var(--green);padding:13px;border-radius:8px;font-size:13px}.homework p{margin:5px 0;color:var(--muted)}.homework a{font-weight:700;color:var(--primary)}.empty{border:1px dashed var(--line);border-radius:16px;padding:40px;color:var(--muted);text-align:center}.password-panel{margin-top:35px}.password-panel form{display:flex;gap:10px;align-items:center}.password-panel span{color:#16845b;font-size:13px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-box{margin-bottom:20px}.admin-box form{display:grid;gap:11px}.admin-box fieldset{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px}.admin-box legend{font-size:12px;padding:0 4px;color:var(--muted)}.admin-box .check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:5px;font-weight:500}.admin-box .check input{width:auto}.simple-list{list-style:none;margin-top:22px;border-top:1px solid var(--line)}.simple-list li{font-size:13px;padding:9px 0;border-bottom:1px solid var(--line)}.session-form{grid-template-columns:repeat(2,minmax(0,1fr))}.session-form textarea,.session-form fieldset,.session-form button{grid-column:1/-1}.admin-sessions{display:grid;gap:8px;margin-top:20px}.admin-sessions>div{display:flex;justify-content:space-between;background:var(--bg);padding:10px;border-radius:9px;font-size:13px}.status.published{background:#ddf8e9;color:#167a54}.status.draft{background:#f0f1f6;color:#697386}.notice{padding:12px 15px;border-radius:10px;background:#eefaf4;color:#167a54;margin-bottom:18px;font-size:14px}@media(max-width:700px){.navbar nav{display:none}.portal-header{padding:0 16px}.portal-nav{gap:8px}.portal-shell{width:min(100% - 28px,1040px);padding:38px 0}.portal-intro h1{font-size:38px}.admin-grid,.session-form{grid-template-columns:1fr}.password-panel form{align-items:stretch;flex-direction:column}.auth-page{padding:20px}.auth-page>.logo{top:20px;left:20px}.auth-card{padding:26px}.auth-card h1{font-size:32px}}.admin-learning-groups{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;align-items:center;margin-bottom:22px;padding:20px 22px;background:linear-gradient(135deg,#f6f4ff,#fff);border:1px solid #ddd9ff;border-radius:14px}.admin-learning-groups h3{font:700 20px Space Grotesk;margin:4px 0}.admin-learning-groups p{max-width:650px;color:#667085;font-size:13px;line-height:1.55}.admin-learning-groups small{display:block;margin-top:7px;color:#7a8296}.membership-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.membership-form .inline-check{display:inline-flex;align-items:center;gap:7px;min-height:34px;margin:0;padding:6px 10px;background:#fff;border:1px solid #dfe3ed;border-radius:8px;font-size:12px;font-weight:650}.membership-form .inline-check:has(input:checked){background:#eeecff;border-color:#c9c4ff;color:#554bc7}.membership-form input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--primary)}.membership-form>.link-button{min-height:34px;padding:6px 11px;border:1px solid #d7e4ff;border-radius:8px;background:#eef4ff;color:#315ca8}.admin-learning-groups .membership-form{justify-content:flex-end}[data-theme=dark] .admin-learning-groups{background:linear-gradient(135deg,#211f37,#191d2a);border-color:#3b4160}[data-theme=dark] .admin-learning-groups p,[data-theme=dark] .admin-learning-groups small{color:var(--muted)}[data-theme=dark] .membership-form .inline-check{background:#121621;border-color:var(--line);color:var(--ink)}[data-theme=dark] .membership-form .inline-check:has(input:checked){background:#292650;border-color:#655bd0;color:#dcd9ff}@media(max-width:760px){.admin-learning-groups{grid-template-columns:1fr}.admin-learning-groups .membership-form{justify-content:flex-start}}[data-theme=dark] .recording-code-editor .cm-editor,[data-theme=dark] .recording-code-editor .cm-gutters{background:#121621;color:#edf0f8}[data-theme=dark] .recording-code-editor .cm-gutters{border-right-color:#343a4c;color:#8d96ad}[data-theme=dark] .recording-code-editor .cm-activeLine,[data-theme=dark] .recording-code-editor .cm-activeLineGutter{background:#1d2231}[data-theme=dark] .recording-code-editor .cm-cursor{border-left-color:#fff}.resource-list>.recording-play-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-radius:10px;background:#f1efff;color:var(--ink);font:500 13px Inter;text-align:left;cursor:pointer;transition:background-color .16s,color .16s,transform .16s}.resource-list>.recording-play-button b{color:var(--primary);font-size:12px;white-space:nowrap}.resource-list>.recording-play-button:hover{background:#e7e3ff;color:var(--primary);transform:translateY(-1px)}.resource-list>.recording-play-button:focus-visible{outline:3px solid rgba(99,86,255,.28);outline-offset:2px}.recording-page{display:grid;gap:22px}.recording-back{width:max-content;color:var(--primary);font-size:13px;font-weight:750}.recording-back:hover{text-decoration:underline}.recording-page-header{max-width:850px}.recording-page-header h1{margin:7px 0 10px;font:700 clamp(32px,5vw,52px)/1.05 "Space Grotesk"}.recording-page-header>p{margin-top:12px;color:var(--muted);font-size:15px;line-height:1.65}.recording-theater{position:relative;aspect-ratio:16/9;overflow:hidden;background:#080a10;border:1px solid var(--line);border-radius:17px;box-shadow:0 22px 60px #13192b38}.recording-theater iframe{display:block;width:100%;height:100%;border:0}.recording-watermark{position:absolute;z-index:3;top:14px;right:16px;padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#0a0c129e;box-shadow:0 4px 18px #00000038;color:#fff;font:800 13px Space Grotesk;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none}.recording-fullscreen{position:absolute;z-index:4;right:16px;bottom:16px;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.34);border-radius:9px;background:#0a0c12c7;color:#fff;font:750 12px Inter;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recording-fullscreen:hover{background:#635bffeb}.recording-fullscreen:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:2px}.recording-theater:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}.recording-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-10px;color:var(--muted);font-size:12px}.recording-caption strong{color:var(--ink);font-size:13px}.recording-fullscreen-error{margin-top:-12px;color:#b4233c;font-size:12px;font-weight:700}.recording-scratchpad{display:grid;gap:16px;margin-top:8px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:16px}.recording-scratchpad>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.recording-scratchpad h2{margin:5px 0 4px;font:700 24px Space Grotesk}.recording-scratchpad header p{color:var(--muted);font-size:13px;line-height:1.55}.recording-scratchpad>label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:750}.recording-scratchpad>label>textarea{min-height:78px;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.recording-code-editor{overflow:hidden;border:1px solid var(--line);border-radius:11px}.recording-runner-actions{display:flex;align-items:center;gap:13px}.recording-runner-actions span{color:var(--muted);font-size:11px}.recording-scratchpad .code-output{margin-top:0;max-height:300px}.recording-related{margin-top:8px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:15px}.recording-related h2{font:700 19px Space Grotesk}.recording-page-state{padding:54px 24px;background:var(--card);border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.recording-page-state.invalid,.recording-page-state.error{border-color:#f1b9c3;background:#fff5f6;color:#9f1732}.field-help,.field-error{display:block;font-size:11px;line-height:1.45}.field-help{color:var(--muted);font-weight:500}.field-error{color:#b4233c;font-weight:700}.session-editor input[aria-invalid=true]{border-color:#d92d4a!important;box-shadow:0 0 0 3px #d92d4a1a}[data-theme=dark] .resource-list>.recording-play-button{background:#24213e;color:var(--ink)}[data-theme=dark] .resource-list>.recording-play-button:hover{background:#302b55;color:#c7c2ff}[data-theme=dark] .recording-page-state.invalid,[data-theme=dark] .recording-page-state.error{background:#2a1820;color:#ffb4c0;border-color:#713344}[data-theme=dark] .recording-code-editor{border-color:#343a4c}[data-theme=dark] .recording-scratchpad>label>textarea{background:#121621}@media(max-width:650px){.recording-page{gap:16px}.recording-page-header h1{font-size:32px}.recording-theater{border-radius:11px}.recording-watermark{top:8px;right:8px;padding:5px 8px;font-size:11px}.recording-fullscreen{right:9px;bottom:9px;padding:8px 10px}.recording-caption{align-items:flex-start;flex-direction:column;gap:3px}.recording-scratchpad{padding:17px}.recording-scratchpad>header{align-items:stretch;flex-direction:column}.recording-scratchpad>header button{align-self:flex-start}.recording-runner-actions{align-items:flex-start;flex-direction:column}.recording-related{padding:17px}}.learning-table-shell{width:100%;overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px}.learning-table{width:100%;border-collapse:collapse;min-width:680px;color:var(--ink);font-size:13px}.learning-table th,.learning-table td{padding:14px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.learning-table tr:last-child>td{border-bottom:0}.learning-table th{background:var(--bg);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.learning-table tbody tr:not(.learning-table-detail):hover{background:color-mix(in srgb,var(--primary) 5%,var(--card))}.learning-table td:first-child{font-weight:700}.learning-table td small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.learning-table td a:not(.action-button){color:var(--primary);text-decoration:none}.learning-table td a:not(.action-button):hover{text-decoration:underline}.learning-table .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.learning-table .row-actions .action-button{white-space:nowrap}.learning-table .action-cell{text-align:right}.learning-table .empty-cell{text-align:center;color:var(--muted);font-weight:400;padding:30px}.learning-table-detail>td{padding:0 16px 18px;background:color-mix(in srgb,var(--primary) 3%,var(--card))}.learning-table-detail .learning-table-shell{margin-top:6px}.learning-table-detail .learning-table{min-width:540px}.learning-table-toggle{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;padding:3px 0;text-align:left}.learning-table-toggle .chevron{display:inline-block;color:var(--primary);transition:transform .2s}.learning-table-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.learning-table-toggle:focus-visible,.learning-table a:focus-visible,.learning-table button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.learning-table-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.learning-table-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.learning-table-filters input,.learning-table-filters select{min-height:38px;box-sizing:border-box;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.learning-table-filters input[type=search]{min-width:190px}.learning-table-filters .filter-count{margin-left:auto;color:var(--muted);font-size:12px}.learning-table-status{display:inline-block;border-radius:6px;padding:5px 8px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.learning-table-status.solved,.learning-table-status.live,.learning-table-status.graded{background:#e4f8ed;color:#19734f}.learning-table-status.in-progress,.learning-table-status.scheduled,.learning-table-status.draft{background:#fff3d7;color:#8b5d00}.learning-table-status.archived,.learning-table-status.overdue{background:#fff1f3;color:#b4233c}[data-theme=dark] .learning-table-status.solved,[data-theme=dark] .learning-table-status.live,[data-theme=dark] .learning-table-status.graded{background:#163b30;color:#a5ebca}[data-theme=dark] .learning-table-status.in-progress,[data-theme=dark] .learning-table-status.scheduled,[data-theme=dark] .learning-table-status.draft{background:#483718;color:#ffe09a}[data-theme=dark] .learning-table-status.archived,[data-theme=dark] .learning-table-status.overdue{background:#4a242c;color:#ffb9c7}@media(max-width:700px){.learning-table-shell{margin-inline:0}.learning-table th,.learning-table td{padding:11px 12px}.learning-table-filters>*{flex:1 1 150px}.learning-table-filters .filter-count{flex-basis:100%;margin-left:0}}.student-app .cm-editor .cm-content,.admin-app .cm-editor .cm-content{font-size:15px!important;line-height:1.55}.student-app .cm-editor .cm-gutters,.admin-app .cm-editor .cm-gutters{font-size:14px!important}.student-app .coding-question textarea:not(.text-answer),.student-app .task-question-card textarea:not(.text-answer),.student-app .recording-scratchpad>label>textarea,.student-app .code-output,.admin-app .code-output,.student-app .task-question-card pre,.admin-app .task-question-card pre,.admin-app .grading-question pre{font-size:14px!important;line-height:1.55}.admin-app .code-field,.admin-app .task-page .modal-form .code-field{font-size:15px!important;line-height:1.55}.markdown-content{min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.65;color:inherit}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content table{margin:0 0 1rem}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{line-height:1.3;margin:1.25rem 0 .5rem;color:inherit}.markdown-content h1{font-size:1.5rem}.markdown-content h2{font-size:1.3rem}.markdown-content h3{font-size:1.14rem}.markdown-content ul,.markdown-content ol{padding-left:1.5rem}.markdown-content li+li{margin-top:.3rem}.markdown-content a,.markdown-link-label{color:var(--primary,#6258ff);text-decoration:underline;text-underline-offset:2px}.markdown-content a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.markdown-content code{padding:.1em .32em;border-radius:4px;background:color-mix(in srgb,var(--ink,#172036) 9%,transparent);font-size:.9em}.markdown-content pre{max-width:100%;overflow-x:auto;padding:1rem;border-radius:10px;background:color-mix(in srgb,var(--ink,#172036) 8%,var(--card,#fff));border:1px solid var(--line,#dde2ed);white-space:pre;overflow-wrap:normal}.markdown-content pre code{padding:0;background:none;white-space:pre}.markdown-content blockquote{padding:.3rem 0 .3rem 1rem;border-left:3px solid var(--primary,#6258ff);color:var(--muted,#66718a)}.markdown-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.markdown-content th,.markdown-content td{padding:.5rem .7rem;border:1px solid var(--line,#dde2ed);text-align:left}.markdown-content img{display:block;max-width:100%;height:auto}.markdown-compact{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.markdown-compact p,.markdown-compact ul,.markdown-compact ol{margin-bottom:.35rem}.markdown-field{display:grid;gap:.5rem;min-width:0;width:100%}.markdown-field-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.markdown-field-heading label{font-weight:600}.markdown-field-tabs{display:flex;gap:.2rem;border:1px solid var(--line,#dde2ed);border-radius:8px;padding:3px}.markdown-field-tabs button{border:0;border-radius:5px;background:transparent;color:var(--muted,#66718a);padding:.35rem .65rem;cursor:pointer}.markdown-field-tabs button.active{background:var(--primary,#6258ff);color:#fff}.markdown-field textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:8rem;resize:vertical}.markdown-field textarea[hidden]{display:none}.markdown-field-preview{box-sizing:border-box;width:100%;min-width:0;min-height:8rem;padding:1rem;border:1px solid var(--line,#dde2ed);border-radius:10px;background:var(--card,#fff);overflow:auto}.markdown-field small{color:var(--muted,#66718a)}@media(max-width:600px){.markdown-content pre{padding:.7rem}.markdown-field-heading{align-items:flex-start}}.analytics-page .page-title{align-items:center}.analytics-page .page-title h2{margin:5px 0}.analytics-page .page-title p{max-width:700px;line-height:1.55}.analytics-back{white-space:nowrap}.analytics-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:13px;margin-bottom:22px}.analytics-stat{min-width:0;padding:18px 19px;background:var(--card,#fff);border:1px solid var(--line,#e8eaf1);border-radius:13px}.analytics-stat>span,.analytics-stat small{display:block;color:var(--muted,#707891);font-size:12px}.analytics-stat>b{display:block;margin:9px 0 4px;color:var(--ink,#171a2b);font:700 29px Space Grotesk,sans-serif}.analytics-stat small{font-size:10px;line-height:1.5}.analytics-section{margin-top:19px;padding:21px;background:var(--card,#fff);border:1px solid var(--line,#e8eaf1);border-radius:14px}.analytics-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.analytics-section-heading h3{margin:5px 0 4px;font:700 19px Space Grotesk,sans-serif;color:var(--ink,#171a2b)}.analytics-section-heading p,.analytics-section-heading>span{color:var(--muted,#707891);font-size:11px;line-height:1.5}.analytics-section-heading>a{color:var(--primary,#635bff);font-size:12px;font-weight:750;white-space:nowrap}.analytics-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.analytics-chart{min-width:0;padding:14px 13px 10px;border:1px solid var(--line,#e8eaf1);border-radius:11px;background:var(--bg,#f8f9fc)}.analytics-chart h4{margin-bottom:13px;font-size:12px;color:var(--ink,#171a2b)}.weekly-bars{display:flex;align-items:flex-end;gap:5px;height:118px;overflow-x:auto;padding:0 0 5px}.weekly-bar-column{flex:1 0 22px;display:grid;grid-template-rows:15px 1fr 20px;gap:4px;min-width:22px;text-align:center}.weekly-bar-value{font-size:9px;color:var(--muted,#707891)}.weekly-bar-track{display:flex;align-items:flex-end;justify-content:center;height:100%;border-bottom:1px solid var(--line,#e8eaf1)}.weekly-bar-track>span{display:block;width:min(17px,80%);min-height:0;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#8177ff,#635bff);transition:height .2s ease}.weekly-bar-column small{overflow:hidden;color:var(--muted,#707891);font-size:8px;white-space:nowrap}.analytics-funnel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.funnel-step{min-width:0;padding:13px;background:var(--bg,#f8f9fc);border:1px solid var(--line,#e8eaf1);border-radius:10px}.funnel-step>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted,#707891);font-size:10px}.funnel-step strong{color:var(--ink,#171a2b);font-size:17px}.funnel-track{height:6px;margin-top:12px;overflow:hidden;border-radius:8px;background:var(--line,#e8eaf1)}.funnel-track span{display:block;height:100%;border-radius:inherit;background:var(--primary,#635bff)}.analytics-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.analytics-group-card{padding:16px;border:1px solid var(--line,#e8eaf1);border-radius:11px;background:var(--bg,#f8f9fc)}.analytics-group-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.analytics-group-card h4{font:700 15px Space Grotesk,sans-serif;color:var(--ink,#171a2b)}.analytics-group-card>p{margin:7px 0 13px;color:var(--muted,#707891);font-size:11px}.analytics-group-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.analytics-group-metrics span{color:var(--muted,#707891);font-size:9px}.analytics-group-metrics b{display:block;margin-bottom:2px;color:var(--ink,#171a2b);font:700 16px Space Grotesk,sans-serif}.analytics-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.analytics-filters label{display:grid;gap:5px;color:var(--muted,#707891);font-size:10px;font-weight:750}.analytics-filters input,.analytics-filters select{min-width:175px;min-height:37px;padding:8px 10px;border:1px solid var(--line,#dfe3ed);border-radius:8px;background:var(--card,#fff);color:var(--ink,#171a2b);font:500 12px Inter,sans-serif}.analytics-filters>span{margin:0 0 10px auto;color:var(--muted,#707891);font-size:11px}.analytics-table-scroll{overflow:auto;border:1px solid var(--line,#e8eaf1);border-radius:10px}.analytics-table{width:100%;min-width:1120px;border-collapse:collapse;background:var(--card,#fff);color:var(--ink,#171a2b);font-size:11px}.analytics-table th{padding:11px 12px;background:var(--bg,#f8f9fc);color:var(--muted,#707891);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.analytics-table td{padding:12px;border-top:1px solid var(--line,#e8eaf1);vertical-align:top}.analytics-table td small{display:block;margin-top:4px;color:var(--muted,#707891);font-size:9px}.analytics-student-button{display:grid;gap:3px;padding:0;border:0;background:transparent;color:var(--ink,#171a2b);text-align:left;cursor:pointer}.analytics-student-button:hover b{color:var(--primary,#635bff)}.analytics-student-button small{color:var(--muted,#707891);font-size:10px}.analytics-overdue{color:#b4233c;font-weight:800}.analytics-signals{display:grid;gap:4px}.analytics-signals span{width:max-content;max-width:130px;padding:3px 6px;border:1px solid #ffd5dc;border-radius:6px;background:#fff1f3;color:#a32239;font-size:9px;font-weight:750}.analytics-good{color:#17724c;font-size:10px;font-weight:750}.analytics-detail-row>td{padding:0!important;background:var(--bg,#f8f9fc)}.analytics-detail{display:grid;gap:14px;padding:17px 20px;border-top:1px solid var(--line,#e8eaf1)}.analytics-detail-heading{display:flex;justify-content:space-between;gap:14px}.analytics-detail-heading h4{font:700 15px Space Grotesk,sans-serif}.analytics-detail-heading p,.analytics-detail-heading>a{color:var(--muted,#707891);font-size:10px}.analytics-detail-heading>a{color:var(--primary,#635bff);font-weight:750;white-space:nowrap}.analytics-detail-activity{display:grid;gap:8px;color:var(--ink,#171a2b);font-size:11px}.analytics-detail-activity>span{color:var(--muted,#707891)}.analytics-detail-activity ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.analytics-detail-activity li{display:grid;grid-template-columns:130px 1fr 155px;gap:10px;align-items:center;padding:7px 9px;border-radius:7px;background:var(--card,#fff)}.activity-kind{color:var(--primary,#635bff);font-size:10px;font-weight:750}.analytics-detail-activity time{color:var(--muted,#707891);font-size:9px;text-align:right}.analytics-detail-touchpoints{display:flex;gap:8px;flex-wrap:wrap}.analytics-detail-touchpoints span{padding:7px 9px;border:1px solid var(--line,#e8eaf1);border-radius:7px;color:var(--muted,#707891);font-size:10px}.analytics-detail-touchpoints b{color:var(--ink,#171a2b)}.analytics-state,.analytics-empty{padding:24px;color:var(--muted,#707891);text-align:center}.analytics-error{margin-bottom:14px;padding:12px;border:1px solid #ffd5dc;border-radius:9px;background:#fff1f3;color:#a32239;font-size:12px}.analytics-promo{display:flex;align-items:center;gap:14px;margin-top:18px;padding:17px 20px;border:1px solid #dcd8ff;border-radius:12px;background:linear-gradient(100deg,#f2f0ff,#fff);color:var(--ink,#171a2b)}.analytics-promo-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:10px;background:#635bff;color:#fff;font-size:21px;font-weight:800}.analytics-promo>span:nth-child(2){display:grid;gap:3px}.analytics-promo b{font:700 14px Space Grotesk,sans-serif}.analytics-promo small{color:var(--muted,#707891);font-size:11px}.analytics-promo>strong{margin-left:auto;color:var(--primary,#635bff);font-size:11px;white-space:nowrap}[data-theme=dark] .analytics-stat,[data-theme=dark] .analytics-section{background:#191d2a;border-color:var(--line)}[data-theme=dark] .analytics-chart,[data-theme=dark] .funnel-step,[data-theme=dark] .analytics-group-card,[data-theme=dark] .analytics-detail-row>td{background:#141824}[data-theme=dark] .analytics-table th{background:#202536}[data-theme=dark] .analytics-detail-activity li{background:#191d2a}[data-theme=dark] .analytics-signals span{background:#351d27;border-color:#60303f;color:#ffbac6}[data-theme=dark] .analytics-good{color:#67d2a1}[data-theme=dark] .analytics-promo{border-color:#39355c;background:linear-gradient(100deg,#211f37,#191d2a)}[data-theme=dark] .analytics-error{background:#2a1820;border-color:#713344;color:#ffb4c0}@media(max-width:900px){.analytics-trends{grid-template-columns:1fr}.analytics-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.analytics-page .page-title{align-items:flex-start}.analytics-section{padding:15px}.analytics-section-heading{align-items:flex-start;flex-direction:column}.analytics-filters{align-items:stretch}.analytics-filters label,.analytics-filters input,.analytics-filters select{width:100%}.analytics-filters>span{margin:0}.analytics-funnel{grid-template-columns:1fr}.analytics-detail-heading{align-items:flex-start;flex-direction:column}.analytics-detail-activity li{grid-template-columns:1fr;gap:4px}.analytics-detail-activity time{text-align:left}.analytics-promo{align-items:flex-start}.analytics-promo>strong{display:none}}.live-settings-page{max-width:1150px}.live-settings-eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:#7c64d4}.live-settings-scope{font-size:12px;border:1px solid var(--line,#dedde6);border-radius:100px;padding:8px 12px;white-space:nowrap}.live-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.live-settings-card{border:1px solid var(--line,#dedde6);background:var(--card,#fff);border-radius:16px;padding:26px;color:var(--ink,#222230)}.live-settings-card-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.live-settings-card-heading>svg{width:25px;height:25px;flex-shrink:0;color:#8c70e8}.live-settings-card h3{margin:0 0 7px;font-size:18px}.live-settings-card p{margin:0;line-height:1.6}.live-settings-card-heading p,.live-settings-tip,.live-settings-footer>p{font-size:13px;color:var(--muted,#686878)}.live-settings-card label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600;margin:18px 0}.live-settings-card select{width:100%;min-width:0;padding:12px;border:1px solid var(--line,#dedde6);border-radius:8px;background:var(--input-bg,var(--card,#fff));color:inherit;font:inherit}.live-settings-card .live-settings-tip,.live-settings-behavior{margin-top:20px}.live-settings-behavior label{max-width:540px}.live-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}.live-settings-footer>p{max-width:560px;line-height:1.6}.live-settings-footer>div{display:flex;gap:10px;flex-shrink:0}.live-settings-notice{padding:16px;border-radius:10px;background:#e7f4ed;color:#215c3b;line-height:1.5}.live-settings-error{padding:16px;border-radius:10px;background:#fce9e9;color:#923434}html[data-theme=dark] .live-settings-card{background:#191c25;border-color:#353844;color:#eeeef4}html[data-theme=dark] .live-settings-card select{background:#222632;border-color:#424656;color:#eeeef4}html[data-theme=dark] .live-settings-tip,html[data-theme=dark] .live-settings-card-heading p,html[data-theme=dark] .live-settings-footer>p{color:#afb3c4}@media(max-width:760px){.live-settings-grid{grid-template-columns:1fr}.live-settings-card{padding:20px}.live-settings-footer{align-items:stretch;flex-direction:column;gap:8px}.live-settings-footer>div{flex-wrap:wrap}.live-settings-page .page-title{align-items:flex-start;gap:14px;flex-direction:column}}.live-settings-page,.live-settings-page h2,.live-settings-page h3,.live-settings-page button{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.live-settings-page .page-title h2{letter-spacing:-.03em}.live-settings-footer button{font-size:13px}.payment-receipt-dialog{width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line,#e5e8f0);border-radius:18px;color:var(--ink,#171a2b);background:var(--card,#fff);margin:auto;box-shadow:0 24px 90px #15162d40;overflow:auto}.payment-receipt-dialog::backdrop{background:#15162da8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.payment-receipt-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line,#e5e8f0)}.payment-receipt-dialog h2{font-size:20px;margin:0}.payment-receipt-dialog header p{font-size:12px;margin-top:5px;color:var(--muted,#73778e)}.payment-receipt-preview{padding:18px;background:var(--bg,#f4f3ff)}.payment-receipt-preview img{display:block;width:100%;height:auto;border:1px solid #e4e3ed;border-radius:3px}.payment-receipt-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-top:1px solid var(--line,#e5e8f0)}.payment-receipt-footer p{font-size:11px;color:var(--muted,#73778e);margin:0;min-width:0}.payment-receipt-footer code{display:block;font-size:10px;overflow-wrap:anywhere;margin-top:5px;color:var(--ink,#171a2b)}.payment-receipt-footer .button{font-size:12px;min-height:38px}.receipt-error{display:block;max-width:240px;color:#b4233c;font-size:11px;margin-top:6px}[data-theme=dark] .payment-receipt-dialog{background:#191d2a;border-color:var(--line)}[data-theme=dark] .payment-receipt-preview{background:#111522}[data-theme=dark] .receipt-error{color:#ffb4c0}@media(max-width:500px){.payment-receipt-dialog>header,.payment-receipt-footer{padding:14px}.payment-receipt-preview{padding:10px}.payment-receipt-footer .button{width:100%;text-align:center}}.admin-sidebar nav a.active{background:#39375f;color:#fff;box-shadow:inset 3px 0 #8178ff}.admin-sidebar nav a:not(.active):hover{background:#292e48;color:#fff}.admin-sidebar nav a:focus-visible{outline:2px solid #aaa4ff;outline-offset:2px}.payment-admin-page{max-width:1500px}.analytics-method-note{color:var(--muted);font-size:11px;line-height:1.55}.payment-row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.payment-help{color:var(--muted);font-size:12px;margin:12px 0}.payment-section>summary{cursor:pointer;font-weight:700}.payment-history-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:12px}.payment-history-entry small{display:block;margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.payment-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--card,#fff);color:var(--ink);box-shadow:0 24px 80px #0004}.payment-dialog::backdrop{background:#12162999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.payment-dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.payment-dialog header h2{font-size:23px}.payment-dialog-form{display:grid;gap:15px}.payment-dialog-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.payment-dialog-form input,.payment-dialog-form select,.payment-dialog-form textarea{min-width:0;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg,#f7f8fc);color:var(--ink);font:inherit;box-sizing:border-box}.payment-dialog-form input:focus-visible,.payment-dialog-form select:focus-visible,.payment-dialog-form textarea:focus-visible{outline:2px solid var(--accent,#635bff);outline-offset:2px}.payment-dialog-form p{font-size:13px;color:var(--muted);line-height:1.6}[data-theme=dark] .payment-dialog{background:#191d2a}@media(max-width:650px){.payment-history-entry{align-items:flex-start;flex-direction:column}.payment-dialog{padding:18px}.payment-dialog .payment-modal-actions{flex-wrap:wrap}.payment-row-actions .action-button{white-space:normal}}.payment-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:-4px 0 22px}.payment-stat-grid article,.payment-section,.payment-analytics-kpis article,.payment-chart-card,.payment-group-card{background:var(--card,#fff);border:1px solid var(--line,#e5e8f0);border-radius:14px;color:var(--ink,#171a2b)}.payment-stat-grid article{display:grid;gap:5px;padding:19px}.payment-stat-grid span,.payment-analytics-kpis span{color:var(--muted,#707891);font-size:12px;font-weight:700}.payment-stat-grid strong{font:700 27px Space Grotesk,sans-serif}.payment-stat-grid small{color:var(--muted,#707891);font-size:11px}.payment-section{padding:20px;margin:18px 0}.payment-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.payment-section-heading h3,.payment-chart-card h4,.payment-group-card h4{font:700 17px Space Grotesk,sans-serif}.payment-section-heading p{margin-top:4px;color:var(--muted,#707891);font-size:12px}.payment-fee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px}.payment-fee-grid article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line,#e5e8f0);border-radius:10px;background:var(--bg,#f7f8fc)}.payment-fee-grid article>div{display:grid;gap:3px}.payment-fee-grid article small{color:var(--muted,#707891);font-size:10px}.payment-fee-grid label{display:flex;align-items:center;gap:5px;color:var(--muted,#707891);font-size:10px;font-weight:700}.payment-fee-grid input{width:96px;min-height:35px;padding:7px;border:1px solid var(--line,#dfe3ed);border-radius:7px;background:var(--card,#fff);color:var(--ink,#171a2b);font:600 13px Inter}.payment-fee-grid .action-button{grid-column:1/-1;justify-self:end}.payment-group-table{min-width:1190px}.payment-group-table td:first-child{min-width:175px;max-width:245px;white-space:normal;overflow-wrap:anywhere}.payment-group-table td:not(:first-child){white-space:nowrap}.payment-group-table td:last-child{min-width:175px}.payment-group-input{box-sizing:border-box;min-height:35px;padding:7px 9px;border:1px solid var(--line,#dfe3ed);border-radius:8px;background:var(--card,#fff);color:var(--ink,#171a2b);font:600 12px Inter}.payment-group-input.fee{width:100px}.payment-group-input.day{width:64px}.payment-group-input:focus-visible{outline:2px solid var(--primary,#6258ff);outline-offset:2px}.payment-mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#f7f8fc)}.payment-mode-selector button{min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:700 13px Inter;cursor:pointer}.payment-mode-selector button.selected{background:var(--card,#fff);color:var(--ink);box-shadow:0 1px 4px #0002}.payment-request-preview{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#f7f8fc);line-height:1.5}.payment-request-preview small{color:var(--muted);overflow-wrap:anywhere}.payment-filters,.payment-analytics-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.payment-filters label,.payment-analytics-filters label{display:grid;gap:5px;color:var(--muted,#707891);font-size:10px;font-weight:750}.payment-filters input,.payment-filters select,.payment-analytics-filters input,.payment-analytics-filters select{min-height:36px;max-width:230px;padding:7px 9px;border:1px solid var(--line,#dfe3ed);border-radius:8px;background:var(--card,#fff);color:var(--ink,#171a2b);font:500 12px Inter}.payment-filters>span{margin-left:auto;color:var(--muted,#707891);font-size:11px}.payment-table-wrap{overflow:auto;border:1px solid var(--line,#e5e8f0);border-radius:10px}.payment-table{width:100%;min-width:950px;border-collapse:collapse;text-align:left;font-size:12px}.payment-table th{padding:11px 12px;background:var(--bg,#f7f8fc);color:var(--muted,#707891);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.payment-table td{padding:12px;border-top:1px solid var(--line,#e9ebf1);vertical-align:middle}.payment-table td small{display:block;margin-top:4px;color:var(--muted,#707891);font-size:10px}.payment-status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.payment-status.paid{background:#e4f8ed;color:#19734f}.payment-status.unpaid{background:#fff1f3;color:#b4233c}.payment-empty{padding:28px!important;text-align:center;color:var(--muted,#707891)}.payment-history-list{display:grid}.payment-history-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-top:1px solid var(--line,#e9ebf1);font-size:11px}.payment-history-list article small{display:block;margin-top:4px;color:var(--muted,#707891);font-size:10px}.payment-history-list .payment-void-reason{color:#b4233c}.payment-status.voided{background:#f0f1f5;color:#697386}.payment-modal header>div p{color:var(--muted,#707891);font-size:12px;margin-top:4px}.payment-modal .modal-form>label{display:grid;gap:5px;font-size:11px;font-weight:750}.payment-modal .modal-form input,.payment-modal .modal-form select{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line,#dfe3ed);border-radius:8px;background:var(--card,#fff);color:var(--ink,#171a2b);font:500 13px Inter}.payment-modal-note{padding:11px;border:1px solid #dcd8ff;border-radius:9px;background:#f5f3ff;color:#5147ba;font-size:11px;line-height:1.5}.payment-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.payment-analytics-section{display:grid;gap:14px}.payment-analytics-filters{margin:-4px 0 0}.payment-analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payment-analytics-kpis article{display:grid;gap:7px;padding:15px}.payment-analytics-kpis strong{font:700 23px Space Grotesk,sans-serif}.payment-analytics-kpis small{color:var(--muted,#707891);font-size:10px}.payment-analytics-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:12px}.payment-chart-card,.payment-group-card{padding:17px;min-width:0}.payment-month-chart{display:grid;grid-template-columns:repeat(12,minmax(32px,1fr));gap:7px;align-items:end;min-height:190px;margin-top:13px;overflow-x:auto}.payment-month-chart>div{display:grid;grid-template-rows:125px auto auto;align-items:end;justify-items:center;gap:4px;min-width:36px}.payment-month-bar{height:100%;width:100%;display:flex;align-items:end;justify-content:center;background:var(--bg,#f7f8fc);border-radius:6px 6px 2px 2px}.payment-month-bar span{display:block;width:min(70%,22px);min-height:3px;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,#857cff,#635bff)}.payment-month-chart small{color:var(--muted,#707891);font-size:9px}.payment-month-chart b{font-size:9px;text-align:center}.payment-group-card{display:grid;align-content:start;gap:9px}.payment-group-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line,#e9ebf1);font-size:11px}.payment-group-row small{display:block;margin-top:3px;color:var(--muted,#707891);font-size:9px}.payment-block-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,#e9e5ff,transparent 38%),var(--portal-bg,#f7f8fc)}.payment-block-card{width:min(100%,650px);padding:34px;background:var(--card,#fff);border:1px solid var(--line,#e5e8f0);border-radius:20px;box-shadow:0 22px 65px #161b301f;color:var(--ink,#171a2b)}.payment-block-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:14px;background:#fff1f3;color:#b4233c;font-size:25px;font-weight:900}.payment-block-card h1{margin:8px 0 12px;font:700 clamp(26px,4vw,36px)/1.1 "Space Grotesk",sans-serif}.payment-block-card>p{color:var(--muted,#707891);font-size:14px;line-height:1.65}.payment-due-list{display:grid;gap:8px;margin:20px 0}.payment-due-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line,#e5e8f0);border-radius:10px;background:var(--bg,#f7f8fc)}.payment-due-list article>div{display:grid;gap:4px}.payment-due-list article span{color:var(--muted,#707891);font-size:11px}.payment-due-list article strong{white-space:nowrap;font-size:14px}.payment-contact-note{margin-bottom:16px}.payment-block-actions{display:flex;gap:8px;margin-top:18px}[data-theme=dark] .payment-stat-grid article,[data-theme=dark] .payment-section,[data-theme=dark] .payment-analytics-kpis article,[data-theme=dark] .payment-chart-card,[data-theme=dark] .payment-group-card{background:#191d2a;border-color:var(--line);color:var(--ink)}[data-theme=dark] .payment-fee-grid article,[data-theme=dark] .payment-table th,[data-theme=dark] .payment-month-bar,[data-theme=dark] .payment-due-list article{background:#121621;border-color:var(--line);color:var(--ink)}[data-theme=dark] .payment-mode-selector,[data-theme=dark] .payment-request-preview{background:#121621;border-color:var(--line)}[data-theme=dark] .payment-group-input,[data-theme=dark] .payment-mode-selector button.selected{background:#191d2a;border-color:var(--line);color:var(--ink)}[data-theme=dark] .payment-fee-grid input,[data-theme=dark] .payment-filters input,[data-theme=dark] .payment-filters select,[data-theme=dark] .payment-analytics-filters input,[data-theme=dark] .payment-analytics-filters select,[data-theme=dark] .payment-modal .modal-form input,[data-theme=dark] .payment-modal .modal-form select{background:#121621;border-color:var(--line);color:var(--ink)}[data-theme=dark] .payment-modal-note{background:#24213e;border-color:#39355c;color:#d4d0ff}[data-theme=dark] .payment-block-page{background:radial-gradient(circle at 80% 10%,#282442,transparent 38%),#10131d}[data-theme=dark] .payment-block-card{background:#191d2a;border-color:var(--line);color:var(--ink)}[data-theme=dark] .payment-block-icon{background:#351c27;color:#ffb4c0}@media(max-width:950px){.payment-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-analytics-grid{grid-template-columns:1fr}}@media(max-width:650px){.payment-stat-grid{grid-template-columns:1fr}.payment-filters label,.payment-filters input,.payment-filters select,.payment-analytics-filters label,.payment-analytics-filters input,.payment-analytics-filters select{width:100%;max-width:none}.payment-filters>span{margin-left:0}.payment-section{padding:14px}.payment-analytics-kpis{grid-template-columns:1fr 1fr}.payment-analytics-kpis strong{font-size:18px}.payment-block-card{padding:23px}.payment-due-list article{align-items:flex-start;flex-direction:column}.payment-block-actions{align-items:stretch;flex-direction:column}.payment-month-chart{grid-template-columns:repeat(6,minmax(44px,1fr));row-gap:14px}}.session-homework-picker{display:grid;gap:12px}.session-homework-picker p{margin:0}.session-homework-row{display:flex;gap:10px;align-items:end}.session-homework-row>label{flex:1;min-width:0}.session-homework-row>button{margin-bottom:2px;flex-shrink:0}.session-homework-picker>button{justify-self:start}.session-extra-row{display:grid;gap:10px;margin-bottom:14px}.session-extra-row>button{justify-self:end}.session-internal-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-internal-status small{color:var(--muted, #667085)}@media(max-width:500px){.session-homework-row{align-items:stretch;flex-direction:column}.session-homework-row>button{align-self:end}}.schedule-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}.schedule-toolbar strong{margin-right:auto}.schedule-toolbar select{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;overflow:auto}.week-grid>section{min-height:260px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.week-grid header{display:grid;gap:3px;padding-bottom:9px;border-bottom:1px solid var(--line)}.week-grid header small,.week-grid>section>p{color:var(--muted);font-size:10px}.week-grid article{display:grid;gap:5px;margin-top:9px;padding:10px;border-left:4px solid #655bff;border-radius:8px;background:var(--bg)}.week-grid article.conflict{border-color:#e45858;background:#fff2f2}.week-grid article span{font-weight:700}.week-grid article small{color:var(--muted)}.week-grid article div{display:flex;gap:8px}.danger{color:#c83d4f!important}.challenge-admin-grid,.challenge-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}.challenge-admin-grid article,.challenge-student-grid>a{display:grid;gap:10px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none}.challenge-admin-grid article>div,.challenge-student-grid>a>div{display:flex;gap:7px}.challenge-admin-grid p,.challenge-student-grid p{color:var(--muted);line-height:1.5}.difficulty{display:inline-flex;width:max-content;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase}.difficulty.easy{background:#e7f8ef;color:#19734f}.difficulty.medium{background:#fff4d8;color:#8e6500}.difficulty.hard{background:#fff0f2;color:#b4233c}.challenge-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.challenge-fields,.challenge-fields label{display:grid;gap:7px}.challenge-fields input,.challenge-fields textarea,.challenge-fields select,.test-editor input,.test-editor textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);box-sizing:border-box}.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.section-heading{display:flex;justify-content:space-between;align-items:center}.test-editor{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.failure-list{display:flex;flex-wrap:wrap;gap:7px}.failure-list span{padding:7px 9px;border-radius:20px;background:var(--bg);font-size:11px}.challenge-editor-grid>*{min-width:0}.challenge-fields,.challenge-fields textarea,.test-editor,.test-editor textarea,.challenge-results,.challenge-results article{min-width:0;overflow-wrap:anywhere}.challenge-fields textarea,.test-editor textarea{white-space:pre-wrap;overflow:auto;max-width:100%;resize:vertical}.challenge-toolbar,.challenge-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.challenge-filter select{min-width:140px}.portal-challenge-status{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;font-weight:700;white-space:nowrap}.portal-challenge-status span+span{border-left:1px solid var(--line);padding-left:8px}.session-task-link{display:inline-flex;margin-top:12px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--accent);font-weight:700;text-decoration:none;background:var(--surface)}.session-task-link:hover{background:var(--accent-soft)}.task-question-card,.task-assignment-card{min-width:0;overflow-wrap:anywhere}.task-question-card pre,.task-assignment-card pre{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word}.challenge-results{display:grid;gap:7px;margin:16px 0}.challenge-results article{display:flex;justify-content:space-between;padding:10px;border-radius:8px}.challenge-results .passed{background:#e7f8ef;color:#19734f}.challenge-results .failed{background:#fff0f2;color:#b4233c}.attempt-row,.leaderboard article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px;border-top:1px solid var(--line)}.leaderboard{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card)}.leaderboard article.me{background:#f1efff}.leaderboard article>span{display:grid}.leaderboard small,.trust-note{color:var(--muted);font-size:11px}.choice-list{display:grid;gap:8px}.choice-list label{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px}.choice-list input{width:18px;height:18px}.text-answer,.written-answer{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);box-sizing:border-box}.written-answer{white-space:pre-wrap}.choice-admin{display:grid;gap:8px}.choice-admin>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px}.choice-admin>div label{display:flex;align-items:center;gap:5px}[data-theme=dark] .week-grid article.conflict{background:#3a2027}.leaderboard article.me{background:#292446}@media(max-width:1050px){.week-grid{grid-template-columns:repeat(7,minmax(180px,1fr))}.challenge-editor-grid{grid-template-columns:1fr}}@media(max-width:650px){.field-row{grid-template-columns:1fr}.challenge-results article{flex-direction:column;gap:5px}}@media(max-width:650px){.portal-challenge-status{margin-left:0;font-size:11px;padding:6px 9px}.challenge-toolbar{align-items:stretch}.challenge-toolbar>*{width:100%}.session-task-link{width:100%;justify-content:center;box-sizing:border-box}}.student-app .portal-header{gap:14px}.student-app .portal-header .logo{margin-right:0;white-space:nowrap}.student-app .student-nav{min-width:0;margin-inline:auto}.student-app .portal-user{flex-shrink:0;gap:9px}.student-app .portal-user .portal-challenge-status{display:inline-flex;align-items:center;gap:9px;min-height:35px;margin:0;padding:4px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:12px;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;transition:border-color .18s,background-color .18s,color .18s}.student-app .portal-user .portal-challenge-status:hover{border-color:var(--primary);background:var(--card);color:var(--primary)}.student-app .portal-user .portal-challenge-status:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.portal-challenge-status .coin-count,.leaderboard .coin-count{display:inline-flex;align-items:center;gap:5px}.portal-challenge-status .coin-count [aria-hidden],.leaderboard .coin-count [aria-hidden]{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--primary);color:var(--card);font-size:10px;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.leaderboard .coin-count{min-height:35px;padding:4px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.portal-challenge-status .coin-rank{padding-left:9px;border-left:1px solid var(--line);color:var(--primary)}.student-app .session-task-link{border-color:var(--line);background:var(--bg);color:var(--primary)}.student-app .session-task-link:hover{border-color:var(--primary);background:var(--card)}.challenge-directory .challenge-filter{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:750}.challenge-directory .challenge-filter select{min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:600 13px Inter,system-ui,sans-serif}.challenge-directory .challenge-toolbar{margin:0 0 18px}.challenge-directory .challenge-toolbar>span{color:var(--muted);font-size:12px}.challenge-editor-grid .admin-section{min-width:0;background:var(--card);border-color:var(--line)}.challenge-editor-grid .challenge-fields label,.challenge-editor-grid .test-editor label{min-width:0;color:var(--ink);font-size:13px;font-weight:650}.challenge-editor-grid .test-editor label{display:grid;gap:6px}.challenge-editor-grid .test-editor{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.challenge-editor-grid .test-editor textarea{min-height:90px;resize:vertical}.challenge-editor-grid .test-editor .inline-check{display:flex;align-items:center;gap:8px}.challenge-editor-grid .test-editor .inline-check input{width:16px;height:16px;margin:0;accent-color:var(--primary)}.challenge-editor-grid .test-editor>.action-button{justify-self:start}.challenge-editor-grid .cm-editor{max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:9px}.challenge-editor-grid .cm-scroller{max-width:100%;overflow:auto}.challenge-editor-grid .code-output{max-width:100%;min-height:44px;max-height:250px;overflow:auto;overflow-wrap:anywhere}.task-page{min-width:0}.task-page .page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 24px}.task-page .page-title h2{margin:3px 0 6px;font:700 clamp(27px,3vw,34px)/1.15 "Space Grotesk",sans-serif;color:var(--ink)}.task-page .page-title p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;overflow-wrap:anywhere}.task-page .page-title>a{flex-shrink:0}.task-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:16px}.task-template-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--ink);text-decoration:none;overflow-wrap:anywhere;transition:border-color .18s,box-shadow .18s,transform .18s}a.task-template-card:hover,a.task-template-card:focus-visible{border-color:var(--primary);box-shadow:0 9px 24px #1d223b1a;transform:translateY(-2px)}.task-template-card h3{margin:2px 0 0;font:700 19px/1.3 Space Grotesk,sans-serif}.task-template-card p{margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.task-template-card .action-button{margin-top:auto}.task-page .empty-state{grid-column:1/-1;border:1px dashed var(--line);border-radius:13px;background:var(--card)}.task-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.task-editor-grid>*{min-width:0}.task-page .admin-section{background:var(--card);border-color:var(--line)}.task-page .admin-section>h3{color:var(--ink)}.task-page .modal-form input,.task-page .modal-form textarea,.task-page .modal-form select,.task-page .inline-form input,.task-page .inline-form select,.task-page>textarea,.task-page .task-question-card input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.task-page .modal-form textarea{min-height:105px;resize:vertical}.task-page .modal-form .code-field{min-height:145px;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace!important}.task-page :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.task-page .inline-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0}.task-page .inline-form>:is(input,select){flex:1 1 170px;min-height:39px}.task-page .inline-form>.button{min-height:39px}.task-question-card{padding:16px 0;border-top:1px solid var(--line)}.task-question-card:first-of-type{margin-top:9px}.task-question-card b,.task-question-card h3{color:var(--ink);font-size:14px}.task-question-card p{margin:7px 0;color:var(--muted);font-size:13px;line-height:1.6;white-space:pre-wrap}.task-question-card>span{color:var(--primary);font-size:12px;font-weight:700}.task-page .assignment-row{border-color:var(--line);font-size:13px}.task-page .assignment-row>span:first-child{min-width:0;overflow-wrap:anywhere}.task-page .assignment-row .action-button{flex-shrink:0}.portal-page.task-page .coding-question{background:var(--card);border-color:var(--line)}.portal-page.task-page .coding-question>header{gap:10px;flex-wrap:wrap;color:var(--primary);font-weight:700}.portal-page.task-page .coding-question>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.portal-page.task-page .coding-question>.action-button{margin-top:13px}.portal-page.task-page .coding-question>textarea{display:block;width:100%;min-height:150px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;resize:vertical}.portal-page.task-page .coding-question .cm-editor{overflow:hidden;border:1px solid var(--line);border-radius:9px}.portal-page.task-page .choice-row{display:flex;grid-template-columns:none;align-items:center;gap:11px;width:100%;min-height:45px;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer}.portal-page.task-page .choice-row:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--card))}.portal-page.task-page .choice-row input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;margin:0;accent-color:var(--primary)}.task-page .homework-submit{background:var(--card);border-color:var(--line)}.task-page .released-grade{color:var(--ink)}.task-page .data-table{background:var(--card);border-color:var(--line)}.task-page .trow{min-width:0}.task-page .trow>*{min-width:0;overflow-wrap:anywhere}.task-page>.task-question-card{margin-bottom:16px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.task-page>.task-question-card pre{margin:14px 0;padding:14px;border-radius:9px;background:var(--bg);color:var(--ink);font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.task-page>.task-question-card .inline-form input:first-child{flex:0 0 100px}.task-page>textarea{display:block;min-height:100px;resize:vertical}[data-theme=dark] .task-template-card,[data-theme=dark] .task-page>.task-question-card,[data-theme=dark] .task-page .data-table,[data-theme=dark] .task-page .admin-section,[data-theme=dark] .task-page .homework-submit{background:var(--card);border-color:var(--line)}[data-theme=dark] .task-page .modal-form :is(input,select,textarea),[data-theme=dark] .task-page .inline-form :is(input,select),[data-theme=dark] .task-page>textarea,[data-theme=dark] .task-page .task-question-card input,[data-theme=dark] .portal-page.task-page .coding-question>textarea{background:var(--bg)!important;color:var(--ink)!important;border-color:var(--line)!important}[data-theme=dark] .portal-page.task-page .choice-row{background:var(--bg);color:var(--ink)}[data-theme=dark] .portal-page.task-page .choice-row:has(input:checked){background:#292650}[data-theme=dark] .portal-page.task-page .coding-question .cm-editor,[data-theme=dark] .portal-page.task-page .coding-question .cm-gutters{background:var(--bg);color:var(--ink)}@media(max-width:1220px){.student-app .portal-header{flex-wrap:wrap;height:auto;min-height:72px;padding-block:11px}.student-app .student-nav{order:3;width:100%;justify-content:center;overflow-x:auto}.student-app .portal-user{margin-left:auto}}@media(max-width:850px){.task-editor-grid{grid-template-columns:1fr}}@media(max-width:650px){.student-app .portal-header{gap:10px}.student-app .student-nav{justify-content:flex-start}.student-app .portal-user{flex-wrap:wrap;justify-content:flex-end;gap:7px}.student-app .portal-user .portal-challenge-status{min-height:32px;padding:4px 8px}.task-page .page-title{flex-direction:column;gap:12px}.task-page .inline-form{align-items:stretch}.task-page .inline-form>*{flex:1 1 100%}.task-page .assignment-row{align-items:flex-start;flex-wrap:wrap}.task-page .assignment-row .action-button{width:100%;justify-content:center}.task-page .homework-submit{align-items:stretch}.task-page .homework-submit>span{flex:1 1 100%}.task-page .homework-submit button{flex:1 1 auto}.task-page>.task-question-card .inline-form input:first-child{flex:1 1 100%}}.student-app .student-shell:has(>.challenge-workspace){width:min(1480px,calc(100% - 36px));padding:22px 0 36px}.challenge-workspace{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);align-items:start;gap:14px;min-width:0}.challenge-problem-pane,.challenge-code-pane{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}.challenge-problem-pane{display:flex;flex-direction:column;max-height:calc(100vh - 132px);min-height:540px}.challenge-problem-head{flex:none;padding:18px 22px 15px;border-bottom:1px solid var(--line)}.challenge-back-link{display:inline-block;margin-bottom:15px;color:var(--primary);font-size:12px;font-weight:750}.challenge-back-link:hover{text-decoration:underline}.challenge-back-link:focus-visible,.challenge-attempts-pane summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.challenge-problem-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:650}.challenge-problem-head h1{max-width:none;margin:9px 0 0;font:700 clamp(21px,2.1vw,27px)/1.2 "Space Grotesk",sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere}.challenge-problem-body{flex:1;min-height:0;overflow:auto;padding:20px 22px;scrollbar-gutter:stable}.challenge-problem-body .markdown-content{font-size:13px;line-height:1.62}.challenge-problem-body .markdown-content :is(h1,h2,h3,h4){margin:1.1rem 0 .45rem;font-family:Space Grotesk,sans-serif;line-height:1.3;letter-spacing:-.015em}.challenge-problem-body .markdown-content h1{font-size:1.2rem}.challenge-problem-body .markdown-content h2{font-size:1.12rem}.challenge-problem-body .markdown-content h3{font-size:1.03rem}.challenge-problem-body .markdown-content h4{font-size:.94rem}.challenge-problem-body .markdown-content :is(p,ul,ol,blockquote,pre,table){margin-bottom:.8rem}.challenge-problem-body .markdown-content pre{padding:10px 12px;font-size:12px}.challenge-attempts-pane{flex:none;max-height:34vh;overflow:auto;border-top:1px solid var(--line);font-size:12px}.challenge-attempts-pane summary{display:flex;justify-content:space-between;gap:12px;padding:13px 20px;cursor:pointer;font-weight:750;list-style:none}.challenge-attempts-pane summary::-webkit-details-marker{display:none}.challenge-attempts-pane summary:after{content:"⌄";margin-left:auto;color:var(--muted)}.challenge-attempts-pane[open] summary:after{content:"⌃"}.challenge-attempts-pane summary span{margin-left:2px;color:var(--muted);font-weight:600}.challenge-attempts-pane .attempt-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;margin:0 16px;padding:11px 4px;font-size:11px}.challenge-attempts-pane .attempt-row span{grid-column:1/-1;color:var(--muted)}.challenge-attempts-pane .attempt-row strong{white-space:nowrap;color:var(--primary)}.challenge-empty-attempts{padding:4px 20px 18px;color:var(--muted)}.challenge-code-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.challenge-code-head .section-kicker{font-size:10px;letter-spacing:.1em}.challenge-code-head h2{margin:2px 0 0;font:700 17px/1.2 Space Grotesk,sans-serif;letter-spacing:-.02em}.challenge-earned-coins{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--primary);font-size:11px;white-space:nowrap}.challenge-code-editor{min-width:0;overflow:hidden;border-bottom:1px solid var(--line)}.challenge-code-editor .cm-editor{max-width:100%;font-size:13px}.challenge-code-editor .cm-scroller{max-width:100%;overflow:auto}.challenge-code-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid var(--line)}.challenge-code-actions button{min-height:38px}.challenge-console{min-height:140px;padding:18px 20px}.challenge-console h3{margin:0 0 9px;font:700 15px Space Grotesk,sans-serif}.challenge-console-empty{color:var(--muted);font-size:12px}.challenge-workspace-message{margin:0 0 10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:12px;overflow-wrap:anywhere}.challenge-console .challenge-results{margin:0}.challenge-console .challenge-results article{align-items:flex-start;gap:12px;overflow-wrap:anywhere;font-size:12px}.challenge-console .challenge-results article span{text-align:right;white-space:pre-wrap}.challenge-code-pane>.trust-note{display:block;margin:0;padding:0 20px 17px;line-height:1.5}[data-theme=dark] .challenge-code-editor .cm-editor,[data-theme=dark] .challenge-code-editor .cm-gutters{background:var(--bg);color:var(--ink)}[data-theme=dark] .challenge-console .challenge-results .passed{background:#173b32;color:#b1efd0}[data-theme=dark] .challenge-console .challenge-results .failed{background:#48252f;color:#ffc4cf}@media(max-width:1000px){.challenge-workspace{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}.challenge-problem-head,.challenge-problem-body{padding-inline:17px}}@media(max-width:760px){.student-app .student-shell:has(>.challenge-workspace){width:min(100% - 24px,700px);padding-top:18px}.challenge-workspace{grid-template-columns:minmax(0,1fr)}.challenge-problem-pane{min-height:0;max-height:none}.challenge-problem-body{max-height:none;overflow:visible}.challenge-attempts-pane{max-height:300px}.challenge-code-editor .cm-editor{min-height:320px}.challenge-code-actions{justify-content:stretch}.challenge-code-actions button{flex:1 1 160px}}@media(max-width:480px){.challenge-problem-head,.challenge-problem-body,.challenge-code-head,.challenge-console{padding-inline:15px}.challenge-problem-head h1{font-size:21px}.challenge-code-actions{padding-inline:13px}.challenge-console .challenge-results article{flex-direction:column;gap:4px}.challenge-console .challenge-results article span{text-align:left}}.modal.challenge-create-dialog{width:min(620px,calc(100vw - 32px));max-height:min(90vh,860px);overflow:auto}.challenge-create-dialog .modal-form{gap:15px}.challenge-create-dialog .modal-form>label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:700}.challenge-create-dialog .modal-form :is(input,select,textarea){width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}.challenge-create-dialog .markdown-field textarea{min-height:110px}.challenge-create-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.challenge-create-actions button{min-height:38px}@media(max-width:520px){.challenge-create-actions button{flex:1 1 100%}}.coin-leaderboard-page .page-title{align-items:flex-start}.coin-summary-panel,.coin-activity-panel{margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}.coin-summary-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.coin-summary-heading h3,.coin-activity-panel h3{margin:0;font-size:17px}.coin-summary-panel>p{margin:14px 0 0;color:var(--muted);font-size:13px}.coin-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.coin-breakdown>div{display:flex;justify-content:space-between;gap:8px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:12px}.coin-breakdown span{color:var(--muted)}.coin-breakdown strong{color:var(--ink)}.coin-activity-panel{margin-top:22px}.coin-activity-list{margin-top:10px}.coin-activity-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.coin-activity-list article>span{min-width:0}.coin-activity-list article strong,.coin-activity-list article small{display:block}.coin-activity-list article small{margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.coin-gain{color:#16835c}.coin-reversal{color:#d1495b}[data-theme=dark] .coin-gain{color:#73dcaa}[data-theme=dark] .coin-reversal{color:#ffa4af}@media(max-width:700px){.coin-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.coin-leaderboard-page .page-title{flex-wrap:wrap}}@media(max-width:420px){.coin-breakdown{grid-template-columns:1fr}.coin-summary-panel,.coin-activity-panel{padding:15px}}.portal-record-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0 14px}.portal-record-toolbar label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.portal-record-toolbar .portal-record-search{flex:1 1 250px;max-width:440px}.portal-record-toolbar :is(input,select){width:100%;min-height:42px;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--card);color:var(--ink);font:inherit}.portal-record-toolbar>span{margin-left:auto;color:var(--muted);font-size:13px}.portal-record-shell{min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}.portal-record-table{width:100%;border-collapse:collapse;color:var(--ink);font-size:14px;line-height:1.5;min-width:640px}.portal-record-table :is(th,td){padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.portal-record-table th{background:var(--bg);color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.portal-record-table tbody tr:last-child>td{border-bottom:0}.portal-record-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 3%,var(--card))}.portal-record-table td{overflow-wrap:anywhere}.portal-record-table td:first-child{font-weight:inherit}.portal-record-table .record-title{display:inline-block;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.45}.portal-record-table .record-title:hover{color:var(--primary);text-decoration:underline}.portal-record-table .record-meta{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:400}.portal-record-table .record-main{width:40%;min-width:210px}.portal-record-table .record-date{white-space:nowrap;font-variant-numeric:tabular-nums}.portal-record-table .record-tags{display:flex;flex-wrap:wrap;gap:6px}.portal-record-table .record-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.portal-record-table .record-actions :is(a,button){min-height:38px;white-space:nowrap;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.portal-record-table .record-action-heading{text-align:right}.portal-record-table .record-live-link{background:#d52436!important;color:#fff!important;border:1px solid #d52436;text-decoration:none!important}.portal-record-table .record-live-link:hover{background:#b51628!important}.portal-record-table .record-details{margin-top:8px;font-size:13px;font-weight:400;color:var(--muted)}.portal-record-table .record-details summary{width:fit-content;max-width:100%;cursor:pointer;color:var(--primary);font-weight:650;padding:3px 0}.portal-record-table .record-details p{margin:9px 0 0;white-space:pre-wrap;color:var(--muted)}.portal-record-table .record-resource-list{display:grid;gap:10px;margin:10px 0 0;padding-left:18px;max-width:350px}.portal-record-table .record-resource-list a{font-size:13px;color:var(--primary);text-decoration:none}.portal-record-table .record-resource-list a:hover{text-decoration:underline}.portal-record-table .record-empty{padding:36px 20px;text-align:center;color:var(--muted);font-weight:400}.portal-record-table :is(a,button,summary):focus-visible,.portal-record-toolbar :is(input,select,button):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.portal-record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.portal-record-heading h2{margin:0;font-size:20px}.portal-record-heading>span{color:var(--muted);font-size:13px}.portal-record-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-record-feedback{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);overflow-wrap:anywhere}.portal-record-table .record-review-feedback{margin-top:10px;color:var(--ink)}.portal-record-table .record-review-feedback>p:first-child{margin-top:0}.portal-record-table.compact{min-width:0;font-size:12px}.portal-record-table.compact :is(th,td){padding:11px 12px}@media(max-width:700px){.portal-record-toolbar{align-items:stretch;gap:10px}.portal-record-toolbar label,.portal-record-toolbar .portal-record-search{flex:1 1 100%;max-width:none}.portal-record-toolbar>span{margin-left:0;align-self:center}.portal-record-toolbar button{margin-left:auto;min-height:44px}.portal-record-shell{overflow:visible}.portal-record-table{display:block;width:100%;min-width:0!important}.portal-record-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-record-table tbody{display:block;padding:0}.portal-record-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0;padding:18px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-width:0}.portal-record-table tbody>tr:last-child{border-bottom:0}.portal-record-table tbody>tr>td{display:block;min-width:0;max-width:100%;width:auto;padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.portal-record-table tbody>tr>td[data-label]:before{display:block;content:attr(data-label);margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.015em}.portal-record-table tbody>tr>:is(.record-main,.record-full,.record-action-cell,td[colspan]){grid-column:1/-1}.portal-record-table tbody>tr>.record-main{min-width:0}.portal-record-table .record-actions{justify-content:flex-start;gap:8px}.portal-record-table .record-actions :is(a,button){min-height:44px;white-space:normal}.portal-record-table .record-title{font-size:15px}.portal-record-table .record-date{white-space:normal}.portal-record-table .record-empty{padding:14px 0}.portal-record-table.compact tbody>tr{padding:14px}.portal-record-table.compact tbody>tr>td{padding:0}}.complete-profile-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--bg);color:var(--ink)}.complete-profile-card{position:relative;width:min(100%,480px);padding:32px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 18px 45px #141b2c18;text-align:center}.complete-profile-card h1{margin:15px 0 9px;font:700 clamp(25px,4vw,34px) "Space Grotesk",sans-serif}.complete-profile-card>p{margin:0 auto 24px;max-width:350px;color:var(--muted);line-height:1.6}.complete-profile-card form{display:grid;gap:15px;text-align:left}.complete-profile-card label,.exercise-generate-controls label,.exercise-chapter-form label{display:grid;gap:7px;font-weight:700;font-size:13px;min-width:0}.complete-profile-card input,.exercise-generate-controls select,.exercise-chapter-form :is(input,select,textarea){width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.complete-profile-card .button{width:100%}.complete-profile-card>.text-button{margin-top:18px}.complete-profile-language{display:flex;justify-content:center;gap:5px;margin-top:10px}.complete-profile-language button{border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--muted);padding:5px 10px;cursor:pointer}.complete-profile-language button.active{background:var(--primary);border-color:var(--primary);color:#fff}.exercise-create-panel,.exercise-history,.exercise-review-panel{border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);padding:20px;margin-bottom:17px}.exercise-quota{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-bottom:17px;color:var(--muted);font-size:13px}.exercise-quota b{color:var(--ink)}.exercise-quota small{margin-left:auto}.exercise-generate-controls{display:grid;grid-template-columns:minmax(200px,2fr) minmax(145px,1fr) auto;gap:12px;align-items:end}.exercise-generate-controls .button{min-height:43px;white-space:nowrap}.exercise-history h2{font-size:19px;margin:0 0 14px}.exercise-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.exercise-table{width:100%;border-collapse:collapse;min-width:690px;background:var(--card);color:var(--ink)}.exercise-table th,.exercise-table td{text-align:left;vertical-align:middle;padding:13px;border-bottom:1px solid var(--line);font-size:13px}.exercise-table th{background:var(--bg);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.exercise-table tr:last-child td{border-bottom:0}.exercise-table td small{display:block;color:var(--muted);margin-top:4px}.exercise-table td strong{overflow-wrap:anywhere}.exercise-table .row-actions{display:flex;gap:5px;flex-wrap:nowrap}.exercise-table .action-button{white-space:nowrap}.exercise-ai-note,.exercise-quota-inline{color:var(--muted);font-size:12px;line-height:1.5}.exercise-workspace .challenge-problem-body{overflow-wrap:anywhere}.exercise-written-answer{display:block;width:calc(100% - 40px);min-height:390px;margin:15px 20px 0;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.exercise-run-input{display:grid;gap:8px;padding:14px 20px 0;color:var(--ink)}.exercise-run-input label{font-size:13px;font-weight:700}.exercise-run-input textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--bg);color:var(--ink);font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.exercise-sample-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}.exercise-sample-buttons>span{font-size:12px;color:var(--muted);margin-right:4px}.exercise-sample-buttons .selected{border-color:var(--primary);color:var(--primary)}.exercise-workspace .challenge-code-actions{flex-wrap:wrap}.exercise-workspace .exercise-quota-inline{margin:0;padding:0 20px 14px}.exercise-review-panel{margin:0 20px 17px;padding:18px}.exercise-review-panel h3{margin:0 0 10px;font-size:16px}.exercise-review-panel p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:8px 0}.exercise-review-panel small{color:var(--muted)}.exercise-review-score{display:inline-block;color:var(--primary);font-size:24px}.exercise-review-panel details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.exercise-review-panel summary{cursor:pointer;font-weight:700}.exercise-review-panel details article{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.exercise-chapter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.exercise-chapter-form .exercise-guidance-field,.exercise-chapter-form .row-actions{grid-column:1/-1}.exercise-chapter-form textarea{resize:vertical}.exercise-chapter-page .exercise-table{min-width:820px}[data-theme=dark] .complete-profile-card,[data-theme=dark] .exercise-create-panel,[data-theme=dark] .exercise-history,[data-theme=dark] .exercise-review-panel,[data-theme=dark] .exercise-table{background:var(--card);color:var(--ink)}[data-theme=dark] .exercise-written-answer,[data-theme=dark] .exercise-run-input textarea,[data-theme=dark] .complete-profile-card input,[data-theme=dark] .exercise-generate-controls select,[data-theme=dark] .exercise-chapter-form :is(input,select,textarea){background:var(--bg);color:var(--ink);border-color:var(--line)}@media(max-width:760px){.exercise-generate-controls{grid-template-columns:minmax(0,1fr)}.exercise-quota small{margin-left:0;width:100%}.exercise-chapter-form{grid-template-columns:minmax(0,1fr)}.complete-profile-card{padding:25px 20px}.exercise-create-panel,.exercise-history{padding:16px}}.course-admin-page,.course-portal-page{min-width:0;max-width:100%;text-align:left}.course-admin-page{display:grid;gap:20px}.course-admin-heading h2,.course-portal-heading h1,.course-lesson-heading h1{margin:8px 0;font:700 clamp(27px,3vw,38px)/1.15 "Space Grotesk",Inter,sans-serif;color:var(--ink)}.course-admin-heading p,.course-portal-heading p,.course-lesson-heading p,.course-steps-heading p{color:var(--muted)}.course-admin-heading>a,.course-portal-heading>a,.course-lesson-heading>a{color:var(--primary);font-weight:700}.course-portal-heading>a.button{color:#fff}.course-visibility-note{width:fit-content;max-width:100%;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--primary) 9%,var(--card));color:var(--ink)!important}.course-admin-card,.course-portal-card,.course-description-panel,.course-practice-panel,.course-review-question,.course-review-result{min-width:0;padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--ink)}.course-admin-card h3,.course-description-panel h2,.course-practice-panel h2{margin:0 0 15px;font:700 20px Space Grotesk,Inter,sans-serif}.course-admin-card :is(input,select,textarea),.course-portal-page :is(input,select,textarea){box-sizing:border-box;max-width:100%;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:10px 12px;font:inherit}.course-admin-card label:not(.course-checkbox),.course-step-form{display:grid;gap:7px;min-width:0;font-weight:650}.course-admin-card label:not(.course-checkbox)>:is(input,select,textarea){width:100%}.course-create-form,.course-details-form,.course-step-form{display:grid;gap:15px}.course-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.course-action-row>*{min-height:40px}.course-message{min-width:0;overflow-wrap:anywhere;margin:9px 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}.course-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--ink);font-size:12px;font-weight:800;text-transform:capitalize}.course-status.published{background:color-mix(in srgb,#2aa876 20%,var(--card));color:var(--ink)}.course-status.archived{background:color-mix(in srgb,#c87373 18%,var(--card))}.course-directory-list,.course-admin-steps,.course-outline{display:grid;gap:12px;min-width:0}.course-directory-row{display:flex;align-items:center;gap:15px;min-width:0;padding:16px 19px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.course-directory-row>span:first-child{display:grid;gap:3px;min-width:0;margin-right:auto}.course-directory-row strong,.course-directory-row small{overflow-wrap:anywhere}.course-directory-row small,.course-step-card>header small{color:var(--muted)}.course-directory-row>b{color:var(--primary);white-space:nowrap}.course-empty{padding:25px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:left}.course-steps-heading,.course-step-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:0}.course-steps-heading h3{margin:0;font:700 21px Space Grotesk,Inter,sans-serif}.course-step-card>header{padding-bottom:15px;border-bottom:1px solid var(--line)}.course-step-card>header:has(+.course-step-body[hidden]){padding-bottom:0;border-bottom:0}.course-step-card>header>div:nth-child(2){display:grid;gap:3px;min-width:0;margin-right:auto}.course-step-state.draft{color:var(--muted)}.course-step-state.published{color:var(--primary)}.course-step-toggle{min-width:104px}.course-step-body[hidden]{display:none}.course-step-index{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--primary) 15%,var(--card));color:var(--primary);font-weight:800}.course-step-form{padding-top:18px}.course-checkbox{display:flex;align-items:center;gap:8px;font-weight:650}.course-checkbox input{width:17px;height:17px;accent-color:var(--primary)}.course-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}.course-step-subsection{display:grid;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.course-step-subsection h4{margin:0;font-size:17px}.course-step-subsection p{margin:0;color:var(--muted)}.course-upload-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.course-upload-row input{max-width:min(100%,400px)}.course-step-subsection progress{width:min(100%,420px);accent-color:var(--primary)}.course-quiz-editor{display:grid;gap:12px;min-width:0;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.course-quiz-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-choice-list{display:grid;gap:8px}.course-choice-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.course-choice-row .course-checkbox{white-space:nowrap}.course-portal-page{display:grid;gap:22px}.course-portal-heading{display:grid;justify-items:start;gap:8px}.course-portal-heading>*{max-width:100%}.course-portal-heading p{margin:0}.course-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:15px}.course-portal-card{display:grid;justify-items:start;gap:11px}.course-portal-card h2{margin:0;font:700 22px/1.25 Space Grotesk,Inter,sans-serif;overflow-wrap:anywhere}.course-kind{font-size:12px;font-weight:800;color:var(--primary);text-transform:uppercase}.course-portal-card .button{align-self:end;justify-self:end;margin-left:auto}.course-summary{max-height:8em;overflow:hidden;color:var(--muted);font-size:14px}.course-outline{list-style:none;margin:0;padding:0}.course-outline li>a{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.course-outline li>a>span:nth-child(2){display:grid;gap:4px;min-width:0;margin-right:auto}.course-outline small{color:var(--muted)}.course-lesson-heading{display:grid;justify-items:start;gap:4px}.course-lesson-heading>span{color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase}.course-lesson-heading p{margin:0}.student-app .student-shell:has(>.course-lesson-page){width:min(1240px,calc(100% - 40px))}.course-video-frame{display:grid;place-items:center;width:100%;max-width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:15px;background:#090c15;color:#fff}.course-video-frame iframe{display:block;width:100%;height:100%;border:0}.course-video-frame p{padding:18px;text-align:center;overflow-wrap:anywhere}.course-practice-panel{display:grid;gap:15px}.course-practice-panel p{color:var(--muted);margin:0}.course-practice-panel .cm-editor{width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.course-practice-panel .cm-content{font-size:16px!important;line-height:1.65}.course-practice-panel .cm-gutters{font-size:15px!important}.course-practice-panel .cm-scroller{overflow-x:auto}.course-description-panel .markdown-content{max-width:78ch}.course-review-intro{min-width:0}.course-review-questions{display:grid;gap:14px}.course-review-question{display:grid;gap:10px;margin:0}.course-review-question legend{padding:0 6px;color:var(--primary);font-weight:800}.course-review-question .markdown-content{margin-bottom:3px}.course-choice-hint{margin:0;color:var(--muted);font-size:13px}.course-review-choice{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;cursor:pointer;overflow-wrap:anywhere}.course-review-choice:has(input:checked){background:color-mix(in srgb,var(--primary) 11%,var(--card));border-color:var(--primary)}.course-review-choice input{flex:0 0 auto;margin-top:3px;accent-color:var(--primary)}.course-review-choice span{flex:1;min-width:0}.course-review-choice small{color:#238354;font-weight:900}.course-correct,.course-incorrect{margin:4px 0 0;font-weight:750}.course-correct{color:#238354}.course-incorrect{color:#bd4660}.course-review-result{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.course-review-result p{width:100%;margin:0;color:var(--muted)}.course-step-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:15px;border-top:1px solid var(--line)}.course-step-navigation a{display:inline-flex;align-items:center;min-height:44px;color:var(--primary);font-weight:750}.course-step-navigation>span:last-child{text-align:right}@media(max-width:760px){.student-app .student-shell:has(>.course-lesson-page){width:min(100% - 24px,700px)}.course-admin-card,.course-portal-card,.course-description-panel,.course-practice-panel,.course-review-question,.course-review-result{padding:16px}.course-two-col,.course-choice-row{grid-template-columns:minmax(0,1fr)}.course-choice-row{padding:10px;border:1px solid var(--line);border-radius:9px}.course-choice-row>*{width:100%}.course-steps-heading{align-items:flex-start;flex-direction:column}.course-step-card>header{flex-wrap:wrap}.course-step-card>header .course-action-row{width:100%;justify-content:flex-end}.course-portal-page{gap:16px}.course-video-frame{border-radius:10px}.course-step-navigation{grid-template-columns:1fr 1fr}.course-step-navigation>a{grid-column:1/-1;grid-row:2;justify-self:center}.course-step-navigation>span:last-child{justify-self:end}}@media(max-width:390px){.course-action-row>*{flex:1 1 auto}.course-lesson-heading h1{font-size:26px}}.course-learning-layout{display:flex;align-items:flex-start;gap:26px;min-width:0}.course-outline-mobile-label{display:none}.course-lesson-content{display:grid;gap:22px;flex:1;min-width:0;text-align:left}.course-sidenav{position:sticky;top:90px;flex:0 0 268px;max-height:calc(100dvh - 110px);overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--card);padding:12px;color:var(--ink);transition:flex-basis .18s}.course-sidenav.is-collapsed{flex-basis:64px;padding:8px}.course-outline-toggle{width:100%;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:700 15px inherit;cursor:pointer}.course-outline-toggle:hover{background:var(--bg)}.is-collapsed .course-outline-toggle{justify-content:center}.is-collapsed .course-outline-toggle svg{transform:rotate(180deg)}.course-outline-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 10px 20px;font-size:12px;color:var(--muted)}.course-outline-progress strong{color:var(--ink)}.course-outline-progress progress{width:100%;height:5px;accent-color:var(--primary);border:0}.course-sidenav ol{display:grid;gap:6px;list-style:none;padding:0;margin:0}.course-sidenav li>a,.course-sidenav li>.is-locked{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px;border-radius:10px;color:var(--ink);text-decoration:none;border:1px solid transparent}.course-sidenav li>a:hover{background:var(--bg);border-color:var(--line)}.course-sidenav li>a[aria-current=step]{background:color-mix(in srgb,var(--primary) 10%,var(--card));border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.course-sidenav li>a>span:last-child{min-width:0}.course-sidenav b{display:block;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.course-sidenav small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.course-sidenav .is-locked{color:var(--muted)!important;background:color-mix(in srgb,var(--muted) 5%,var(--card));cursor:not-allowed}.course-outline-symbol{display:grid;place-items:center;flex:0 0 26px;width:26px;font-size:12px;font-weight:800;color:var(--muted)}.is-complete .course-outline-symbol{color:#27835e}.course-sidenav [aria-current=step] .course-outline-symbol{color:var(--primary)}.is-collapsed li>a,.is-collapsed li>.is-locked{padding:8px 0;min-height:44px;justify-content:center}.course-outline-home{display:block;margin-top:16px;padding:10px;font-size:12px;color:var(--primary);line-height:1.5}.is-collapsed .course-outline-home{text-align:center;font-size:20px}.course-locked-title,.course-locked-notice{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:14px}.course-locked-title{font-weight:650}.course-locked-title svg,.course-locked-notice svg{flex-shrink:0}.course-locked-panel{padding:48px 24px;border:1px dashed var(--line);background:var(--card);border-radius:14px;text-align:center;display:grid;justify-items:center;gap:12px}.course-locked-panel p{max-width:44ch;color:var(--muted);line-height:1.7}.course-video-status{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:0}.course-final-editor{display:grid;gap:16px}.course-final-editor>p{color:var(--muted);margin:0;line-height:1.65}.course-final-editor>.button{justify-self:start}.course-final-project{margin-top:12px}.course-final-heading h2{margin:8px 0!important}.course-final-heading p{line-height:1.7}.course-final-project label{display:grid;gap:8px}.course-final-project textarea{width:100%}.course-final-feedback{border-left:3px solid var(--primary);padding:14px 18px;background:var(--bg);border-radius:0 9px 9px 0}.course-final-feedback>strong{font-size:20px}.course-final-feedback .markdown-content{margin-top:12px}.course-certificate-earned{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid color-mix(in srgb,#27835e 35%,var(--line));border-radius:12px;background:color-mix(in srgb,#27835e 8%,var(--card))}.course-certificate-earned>span{font-size:44px;color:#27835e}.course-certificate-earned>div{display:grid;justify-items:start;gap:12px}@media(max-width:960px){.course-sidenav{flex-basis:220px}.course-learning-layout{gap:16px}}@media(max-width:700px){.course-learning-layout{flex-direction:column}.course-sidenav{position:static;flex-basis:auto;width:100%;max-height:320px}.course-sidenav.is-collapsed{flex-basis:auto;width:100%;display:block;max-height:none}.course-sidenav.is-collapsed nav{display:none}.course-sidenav.is-collapsed .course-outline-toggle{justify-content:flex-start}.course-outline-mobile-label{display:inline}.course-lesson-content{width:100%}.course-sidenav li>a,.course-sidenav li>.is-locked{min-height:48px}.course-locked-notice{font-size:12px}}.sessions-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.start-live-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 16px;border:1px solid #be123c;border-radius:10px;background:#dc2626;color:#fff;font:inherit;font-weight:700;cursor:pointer}.start-live-button:hover:not(:disabled){background:#b91c1c}.start-live-button:disabled{opacity:.6}.live-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff47}.live-session-dialog{max-width:520px;width:min(520px,calc(100vw - 28px))}.live-session-intro,.live-session-retry{color:var(--muted,#667085);line-height:1.5}.live-session-group-list{display:grid;gap:8px;max-height:min(44vh,360px);overflow-y:auto;padding:2px}.live-session-group{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line,#dce1eb);border-radius:10px;cursor:pointer;background:var(--card,#fff);color:var(--ink,#172033)}.live-session-group input{width:18px;height:18px;flex:none;margin:0;accent-color:#dc2626}.live-session-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}.realtime-recording-list{display:grid;gap:10px}.realtime-recording-list article{padding:13px;border:1px solid var(--line,#dce1eb);border-radius:10px}.realtime-recording-list article>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.realtime-recording-list small{color:var(--muted,#667085)}.realtime-recording-list p[role=alert]{color:#c93030}.realtime-playback-frame{aspect-ratio:16/9;width:100%;max-width:1100px;margin:15px 0;background:#111827;border-radius:12px;overflow:hidden}.realtime-playback-frame iframe{width:100%;height:100%;border:0}.admin-app:has(.realtime-classroom){grid-template-columns:minmax(0,1fr)}.admin-app:has(.realtime-classroom) :is(.admin-sidebar,.admin-top),.student-app:has(.realtime-classroom) .portal-header,body:has(.realtime-classroom) .theme-toggle{display:none}.student-app .student-shell:has(>.realtime-classroom){width:100%;max-width:none;padding:0}.realtime-classroom{box-sizing:border-box;position:relative;display:flex;flex-direction:column;width:100%;height:100dvh;min-height:360px;min-width:0;overflow:hidden;background:#101216;color:#f4f6fb}.realtime-classroom:is(:fullscreen,.is-expanded){position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;width:100vw;height:100dvh;min-height:0}.realtime-classroom-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:7px 16px;border-bottom:1px solid #292d35;background:#16191f}.realtime-classroom-heading{display:flex;align-items:center;gap:11px;min-width:0}.realtime-classroom-heading>div{display:flex;align-items:baseline;gap:10px;min-width:0}.realtime-back-button{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;color:#d3d7e3;font-size:1.15rem;text-decoration:none}.realtime-back-button:hover{background:#292d35;color:#fff}.realtime-classroom-header h1{margin:0;font-size:clamp(.94rem,1.35vw,1.08rem);line-height:1.2;white-space:nowrap}.realtime-classroom-header p{margin:0;max-width:44vw;color:#8f98a8;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.realtime-classroom-header p:not(:empty):before{content:"·";margin-right:10px;color:#596171}.realtime-classroom-actions{flex:none}.realtime-classroom .badge{min-height:27px;padding:4px 9px;color:#d9dde6;background:#282d36}.realtime-classroom .badge.active{color:#b8f4d2;background:#173a2d}.realtime-entry{display:grid;gap:16px;width:min(620px,calc(100% - 32px));margin:auto;padding:clamp(18px,3vw,32px);overflow:auto;border:1px solid #394052;border-radius:16px;background:#1b202b;line-height:1.6}.realtime-entry p{margin:0;color:#c9d1df}.realtime-entry label{display:flex;align-items:flex-start;gap:12px}.realtime-entry input{width:20px;height:20px;flex:none;margin-top:4px}.realtime-entry small{color:#b7c1d3}.realtime-classroom>:is(.realtime-warning,.realtime-error){flex:none;max-height:100px;overflow:auto;margin:0;border-radius:0}.realtime-error{padding:10px 16px;background:#56252d;color:#ffe1e4;overflow-wrap:anywhere}.realtime-warning{padding:10px 16px;background:#45371d;color:#ffe4a3}.realtime-room-loading{margin:auto;padding:24px;color:#dbe1ec}.realtime-meet-ui{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;width:100%;overflow:hidden;background:#101216;color:#f4f6fb}.realtime-classroom-grid{position:relative;display:grid;flex:1;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);overflow:hidden}.realtime-classroom-grid[data-tasks-open=true]{grid-template-columns:minmax(0,var(--task-percent,65%)) 8px minmax(0,1fr)}.realtime-video-pane{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.realtime-classroom-grid[data-tasks-open=true] .realtime-video-pane{grid-column:3;grid-row:1}.realtime-task-pane{display:none;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:clamp(14px,2vw,26px);background:var(--card,#fff);color:var(--ink,#172033)}.realtime-classroom-grid[data-tasks-open=true] .realtime-task-pane{display:block;grid-column:1;grid-row:1}.realtime-split-handle{grid-column:2;grid-row:1;background:#2d3139;cursor:col-resize;touch-action:none}.realtime-split-handle:hover,.realtime-split-handle:focus-visible{background:#7567e8;outline:2px solid #bdb6ff;outline-offset:-2px}.realtime-meeting-frame{position:relative;flex:1;min-height:0;min-width:0;padding:12px;overflow:hidden}.realtime-meeting-frame.is-setup{overflow:auto}.realtime-meeting-frame.is-setup{display:flex;padding:clamp(16px,4vw,56px);background:radial-gradient(ellipse at 15% 15%,#25233d66,transparent 65%),#101216}.realtime-prejoin{box-sizing:border-box;width:min(1040px,100%);margin:auto;color:#f4f6fb}.realtime-prejoin-heading{margin-bottom:26px}.realtime-prejoin-eyebrow{color:#b8afff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.realtime-prejoin-heading h2{margin:8px 0;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;letter-spacing:-.03em}.realtime-prejoin-heading p{margin:0;color:#aab4c6;font-size:.94rem;line-height:1.5}.realtime-prejoin-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:30px;align-items:start}.realtime-prejoin-preview{min-width:0}.realtime-preview-video{position:relative;aspect-ratio:16/10;border:1px solid #3d4353;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#363b51,#1b202c);isolation:isolate}.realtime-preview-video rtk-participant-tile{display:flex;align-items:center;justify-content:center;width:100%;height:100%;--rtk-border-radius-lg:20px}.realtime-preview-video rtk-avatar{width:96px;height:96px;font-size:32px}.realtime-preview-badge,.realtime-preview-name{position:absolute;z-index:2;padding:7px 11px;background:#111521c9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff1f;border-radius:8px;font-size:.72rem;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.realtime-preview-badge{top:14px;left:14px;color:#d5d9e9}.realtime-preview-name{bottom:14px;left:14px;font-weight:650;color:#f4f6fb}.realtime-preview-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0 12px}.realtime-preview-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 15px;border:1px solid #454b5a;border-radius:24px;background:#252a35;color:#e1e5ee;font:inherit;font-size:.8rem;cursor:pointer}.realtime-preview-toggle.is-active{background:#4e448c;border-color:#8c7ee4;color:#fff}.realtime-preview-toggle:disabled{cursor:default;color:#aeb5c5;background:#1b202a;border-color:#343b49}.realtime-preview-toggle svg{width:18px;height:18px;flex:none}.realtime-preview-note{max-width:440px;margin:0 auto;text-align:center;color:#aab4c6;font-size:.79rem;line-height:1.65}.realtime-prejoin-devices{min-width:0;display:grid;gap:16px;padding:24px;border:1px solid #353c4a;border-radius:20px;background:#1a1f29;box-shadow:0 12px 40px #0002}.realtime-prejoin-devices h3{display:flex;align-items:center;gap:10px;font-size:1rem;margin:0 0 2px}.realtime-prejoin-devices svg{width:19px;height:19px;flex:none}.realtime-device-field{display:grid;gap:8px;min-width:0}.realtime-device-field label{display:flex;align-items:center;gap:8px;color:#c4ccdc;font-size:.78rem;font-weight:600}.realtime-device-field label svg{width:16px;height:16px;color:#929db3}.realtime-device-field select{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:44px;padding:10px 30px 10px 12px;border:1px solid #465064;border-radius:9px;background:#242b39;color:#f0f3fa;font:inherit;font-size:.82rem;text-overflow:ellipsis;color-scheme:dark}.realtime-device-field select:disabled{color:#9faac0;background:#202632;opacity:1}.realtime-speaker-test{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 12px;border:1px solid #515b73;border-radius:9px;background:transparent;color:#d6d0ff;font:inherit;font-size:.82rem;cursor:pointer}.realtime-speaker-test:hover:not(:disabled){background:#2b2d44}.realtime-speaker-test:disabled{opacity:.55;cursor:wait}.realtime-prejoin-devices>small,.realtime-device-hint{font-size:.73rem;color:#a5b0c4;line-height:1.6;margin:0}.realtime-prejoin-error{padding:10px 12px;margin:0;border:1px solid #8a4250;border-radius:8px;background:#452630;color:#ffdde3;font-size:.78rem;line-height:1.5}.realtime-prejoin-action{display:grid;gap:11px;padding-top:17px;border-top:1px solid #353d4d}.realtime-prejoin-action>button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:48px;padding:12px 16px;border:1px solid #9788ff;border-radius:10px;background:#7461dc;color:#fff;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 5px 16px #44358c44}.realtime-prejoin-action>button:hover:not(:disabled){background:#8672ed}.realtime-prejoin-action>button:disabled{opacity:.55;cursor:wait}.realtime-prejoin-action>small{display:flex;justify-content:center;align-items:center;gap:6px;color:#b4c6be;font-size:.68rem}.realtime-prejoin-action>small svg{width:14px;height:14px;color:#8fd0b1}@media(max-width:780px){.realtime-prejoin-content{grid-template-columns:1fr;gap:22px}.realtime-prejoin{max-width:560px}.realtime-prejoin-heading{margin-bottom:20px}.realtime-preview-video{aspect-ratio:16/9;max-height:300px}.realtime-prejoin-devices{padding:20px}.realtime-meeting-frame.is-setup{padding:22px 16px}.realtime-preview-controls{margin:14px 0 10px}.realtime-preview-note{font-size:.75rem}}@media(prefers-reduced-motion:no-preference){.realtime-prejoin button{transition:background .15s,border-color .15s}}.realtime-device-check{display:grid;gap:12px;width:min(100%,600px);margin:auto;padding:12px 0 24px}.realtime-device-check rtk-participant-tile{display:block;aspect-ratio:16/9;max-height:280px;width:100%;border-radius:12px;overflow:hidden;background:#202633}.realtime-device-check label{display:grid;gap:5px;color:#c5cede;font-size:.8rem}.realtime-device-check small{color:#b6c2d6}.realtime-preview-tools{display:flex;gap:10px}.realtime-preview-tools .realtime-control-button{width:100px}.realtime-meet-stage,.realtime-meet-stage rtk-grid{display:block;width:100%;height:100%;min-height:0}.realtime-join-strip{display:flex;flex:none;align-items:center;justify-content:space-between;gap:20px;padding:13px 20px;background:#20242c;border-bottom:1px solid #363b46}.realtime-join-strip div{display:grid;gap:5px}.realtime-join-strip span{max-width:640px;font-size:.82rem;color:#c5cede}.realtime-join-strip button{flex:none;padding:11px 18px;border:0;border-radius:10px;background:#7668ee;color:#fff;font:inherit;font-weight:750;min-height:44px;cursor:pointer}.realtime-join-strip button:hover:not(:disabled){background:#887bf7}.realtime-join-strip button:disabled{opacity:.6}.realtime-meet-bottom{position:relative;z-index:10;display:grid;flex:none;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;padding:9px 16px max(9px,env(safe-area-inset-bottom));min-width:0;border-top:1px solid #2b2f37;background:#171a20}.realtime-activation-retry{justify-self:center;padding:7px 12px;border:1px solid #d39b43;border-radius:5px;background:#3a2a18;color:#ffe4b0;font:inherit;cursor:pointer}.realtime-activation-retry:disabled{opacity:.65;cursor:wait}.realtime-meet-status{display:grid;align-content:center;gap:5px;font-size:.72rem;max-width:200px;color:#bfc9d9}.realtime-recording-indicator{color:#ff9eae;font-weight:650}.realtime-sharing-indicator{color:#c6bfff}.realtime-meet-controls{display:flex;grid-column:2;align-items:center;justify-content:center;gap:7px;min-width:0}.realtime-control-button{box-sizing:border-box;display:inline-flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:58px;height:54px;min-height:54px;padding:6px 3px;border:1px solid #383d47;border-radius:12px;background:#292d35;color:#f1f3f8;font:inherit;cursor:pointer}.realtime-control-button svg{width:21px;height:21px;flex:none}.realtime-control-button small{max-width:100%;font-size:.62rem;line-height:1.15;text-align:center;overflow-wrap:anywhere}.realtime-control-button:hover:not(:disabled){background:#373c46;border-color:#4a505c}.realtime-control-button.is-active{background:#5d50c7;color:#fff;border-color:#7d70ed}.realtime-control-button.is-danger{background:#a8384d;color:#fff;border-color:#bd4960}.realtime-control-button.is-danger:hover{background:#bd4057}.realtime-control-button:disabled{opacity:.46;cursor:not-allowed}.realtime-meet-controls>.realtime-control-button,.realtime-meet-controls>.realtime-more>.realtime-control-button{width:48px;height:48px;min-height:48px;padding:0;border-radius:50%}.realtime-meet-controls>.realtime-control-button>small,.realtime-meet-controls>.realtime-more>.realtime-control-button>small{display:none}.realtime-more{display:flex;position:relative}.realtime-more>.realtime-control-button{display:none}.realtime-secondary-controls{display:flex;gap:6px}.realtime-secondary-controls>.realtime-control-button{width:48px;height:48px;min-height:48px;padding:0;border-radius:50%}.realtime-secondary-controls>.realtime-control-button>small{display:none}.realtime-meet-sidebar{position:absolute;top:0;right:0;bottom:84px;width:min(380px,100%);height:auto;z-index:15;background:#1b202a;border-left:1px solid #434b5b;box-shadow:-10px 0 30px #0005}.realtime-moderation{position:absolute;top:12px;bottom:96px;right:12px;width:min(430px,calc(100% - 24px));overflow:auto;z-index:20;padding:18px;background:#1c2230;color:#f4f6ff;border:1px solid #526079;border-radius:14px;box-shadow:0 16px 45px #0008}.realtime-moderation-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.realtime-moderation-header svg{width:20px;height:20px}.realtime-moderation button{min-height:38px;border:1px solid #626c82;border-radius:7px;background:#30394c;color:#f3f5fc;padding:6px 10px;font:inherit;font-size:.8rem;cursor:pointer}.realtime-moderation button:disabled{opacity:.45;cursor:not-allowed}.realtime-request-queue{padding:16px 0}.realtime-request-queue h3{font-size:.88rem;margin:0 0 10px}.realtime-request-queue p{color:#b9c3d5;font-size:.85rem}.realtime-request-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #364055;font-size:.85rem;overflow-wrap:anywhere}.realtime-request-row>div{display:flex;flex-wrap:wrap;gap:6px}.realtime-mobile-tabs,.realtime-mini-drag{display:none}.realtime-task-toast{position:absolute;top:94px;left:50%;transform:translate(-50%);z-index:30;max-width:calc(100% - 24px);padding:12px 18px;border:1px solid #c4b5fd;border-radius:12px;background:#5149db;color:#fff;font:inherit;font-size:.85rem;font-weight:700;box-shadow:0 8px 24px #0008;cursor:pointer}.realtime-classroom :is(button,a,input,textarea,[tabindex]):focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}.realtime-live-tasks{display:grid;align-content:start;gap:18px;max-width:1100px;margin:0 auto}.realtime-pane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.realtime-pane-heading h2{margin:0 0 5px;font-size:clamp(1.1rem,1.7vw,1.45rem)}.realtime-pane-heading small{color:var(--muted,#667085)}.realtime-pane-heading button,.realtime-task-back{min-height:42px;padding:8px 14px;border:1px solid var(--line,#dce1eb);border-radius:9px;color:var(--ink,#172033);background:var(--card,#fff);cursor:pointer}.realtime-task-actions,.realtime-quick-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.realtime-task-actions a{color:var(--accent,#635bff);font-weight:650;font-size:.85rem}.realtime-quick-task{display:grid;gap:14px;border:1px solid var(--line,#dce1eb);border-radius:12px;padding:18px}.realtime-quick-task h3,.realtime-task-inbox h3{margin:0 0 12px;font-size:1rem}.realtime-quick-task p{margin:0;color:var(--muted,#667085);font-size:.85rem}.realtime-quick-task label,.realtime-advanced-fields{display:grid;gap:7px;min-width:0}.realtime-quick-task :is(textarea,input){box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid var(--line,#dce1eb);border-radius:8px;background:var(--card,#fff);color:var(--ink,#172033);font:inherit}.realtime-quick-task textarea{resize:vertical}.realtime-advanced-toggle{justify-self:start;min-height:40px;border:0;background:transparent;color:var(--accent,#635bff);font:inherit;cursor:pointer}.realtime-advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.realtime-task-table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left;table-layout:fixed}.realtime-task-table th{padding:12px 10px;color:var(--muted,#667085);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line,#dce1eb)}.realtime-task-table td{padding:14px 10px;border-bottom:1px solid var(--line,#dce1eb);vertical-align:top;overflow-wrap:anywhere}.realtime-task-table th:last-child{width:35%}.realtime-task-table td>small{display:block;margin-top:5px;color:var(--muted,#667085)}.realtime-task-table button{min-height:40px;padding:6px 9px;border:1px solid var(--line,#dce1eb);border-radius:7px;color:var(--ink,#172033);background:var(--card,#fff);font:inherit;cursor:pointer;text-align:left}.realtime-task-table details summary{cursor:pointer;padding:8px 0}.realtime-submission-preview{display:grid;gap:8px;margin-top:10px}.realtime-submission-preview pre{max-height:280px;overflow:auto;margin:0;padding:14px;border-radius:8px;background:#121722;color:#edf2ff;font-size:15px;white-space:pre}.realtime-embedded-task{width:100%;padding:0}.realtime-embedded-task .portal-intro{margin:12px 0}.realtime-embedded-task .portal-intro h1{font-size:1.25rem}.realtime-embedded-task .question-list{display:block}.realtime-embedded-task .coding-question{min-width:0;margin:14px 0}.realtime-task-pane .cm-editor{min-height:300px;max-width:100%;font-size:16px}.realtime-task-pane :is(pre,.cm-scroller){max-width:100%;overflow:auto}.realtime-task-pane .homework-submit{position:static;flex-wrap:wrap}@media(max-width:1280px){.realtime-more>.realtime-control-button{display:inline-flex}.realtime-secondary-controls{display:none;position:absolute;bottom:calc(100% + 16px);right:0;z-index:25;width:264px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid #566179;border-radius:14px;background:#252d3e;box-shadow:0 12px 30px #0008}.realtime-secondary-controls[data-open=true]{display:grid}.realtime-secondary-controls>.realtime-control-button{width:100%;height:64px;min-height:64px;border-radius:12px}.realtime-secondary-controls>.realtime-control-button>small{display:block}}@media(max-width:900px){.realtime-meet-bottom{grid-template-columns:1fr;gap:7px;padding:7px 12px}.realtime-meet-status{display:flex;grid-column:1;grid-row:1;flex-wrap:wrap;justify-content:center;gap:5px 14px;max-width:none;font-size:.68rem}.realtime-meet-controls{grid-column:1;grid-row:2}.realtime-meet-sidebar{bottom:110px}.realtime-moderation{bottom:122px}.realtime-advanced-fields{grid-template-columns:1fr}}@media(max-width:700px){.realtime-classroom-header{min-height:48px;padding:5px 9px;gap:8px}.realtime-classroom-heading{gap:7px}.realtime-back-button{width:34px;height:34px}.realtime-classroom-header h1{font-size:.9rem}.realtime-classroom-header p{display:none}.realtime-mobile-tabs{display:flex;flex:none;gap:8px;padding:6px 12px;background:#171b23}.realtime-mobile-tabs button{min-height:36px;padding:5px 16px;border:1px solid #455068;border-radius:8px;background:transparent;color:#c3cede;font:inherit;font-size:.8rem;cursor:pointer}.realtime-mobile-tabs button[aria-selected=true]{background:#3e375d;border-color:#8c7bc9;color:#ede7ff}.realtime-classroom-grid,.realtime-classroom-grid[data-tasks-open=true]{display:flex;flex-direction:column}.realtime-classroom-grid .realtime-task-pane,.realtime-classroom-grid[data-tasks-open=true] .realtime-task-pane{display:none}.realtime-classroom-grid .realtime-video-pane{flex:1}.realtime-classroom-grid[data-mobile-tasks=true] .realtime-task-pane{display:block;flex:1;padding:14px}.realtime-classroom-grid[data-mobile-tasks=true] .realtime-video-pane{flex:none;height:102px;background:#151b26;border-bottom:1px solid #35415a}.realtime-classroom-grid[data-mobile-tasks=true] .realtime-meeting-frame{position:absolute;top:5px;right:calc(12px - var(--mini-x,0px));width:152px;height:90px;padding:0;border:1px solid #687792;border-radius:8px}.realtime-classroom-grid[data-mobile-tasks=true] .realtime-mini-drag{display:block;position:absolute;top:4px;right:4px;width:30px;height:30px;border:1px solid #8e9bb3;border-radius:7px;background:#1b243be8;color:#fff;cursor:grab;touch-action:none}.realtime-split-handle{display:none}.realtime-meeting-frame{padding:5px}.realtime-join-strip{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.realtime-join-strip span{font-size:.75rem}.realtime-meet-bottom{padding:7px 6px max(7px,env(safe-area-inset-bottom))}.realtime-meet-controls{gap:4px;justify-content:center}.realtime-meet-controls>.realtime-control-button,.realtime-meet-controls>.realtime-more>.realtime-control-button{width:40px;height:40px;min-height:40px;padding:0}.realtime-control-button>small{display:none}.realtime-secondary-controls{right:-44px;bottom:calc(100% + 12px);width:260px;max-width:calc(100vw - 24px)}.realtime-secondary-controls .realtime-control-button>small{display:block;font-size:.68rem}.realtime-meet-sidebar{bottom:90px;width:100%}.realtime-moderation{bottom:100px;padding:14px}.realtime-task-toast{top:120px;font-size:.78rem}.realtime-task-table{font-size:.8rem}.realtime-task-table :is(th,td){padding:10px 5px}.realtime-quick-task{padding:12px}}@media(max-width:520px){.sessions-page-actions,.sessions-page-actions>button{width:100%}.live-session-dialog-actions{flex-direction:column-reverse}.live-session-dialog-actions>button{width:100%}}.realtime-meet-stage{position:relative}.realtime-screen-expand{position:absolute;top:10px;left:10px;z-index:5;display:flex;align-items:center;gap:8px;max-width:calc(100% - 20px);min-height:40px;padding:9px 13px;border:1px solid #9c8ff0;border-radius:9px;background:#292441ed;color:#fff;font:inherit;font-size:.8rem;cursor:pointer;box-shadow:0 3px 12px #0004}.realtime-screen-expand svg{width:18px;height:18px;flex:none}.realtime-screen-viewer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;min-width:0;min-height:0;background:#101216;color:#edf1fa;box-sizing:border-box}.realtime-screen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#1a1f29;border-bottom:1px solid #353e50;flex:none}.realtime-screen-toolbar>div:first-child{display:grid;gap:6px;min-width:0}.realtime-screen-toolbar strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.realtime-screen-toolbar small{font-size:.73rem;color:#abb7ce}.realtime-screen-actions{display:flex;flex-wrap:wrap;gap:8px;flex:none}.realtime-screen-viewer button{min-height:40px;padding:8px 12px;border:1px solid #58647b;border-radius:8px;background:#283142;color:#edf1fa;font:inherit;font-size:.8rem;cursor:pointer}.realtime-screen-viewer button[aria-pressed=true]{background:#574697;border-color:#b9a9ff}.realtime-screen-viewer button:focus-visible{outline:3px solid #b4a6ff;outline-offset:3px}.realtime-screen-hint{flex:none;padding:10px 20px;margin:0;color:#b8c3d7;font-size:.75rem;line-height:1.5}.realtime-screen-canvas{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;background:#080a0f}.realtime-screen-canvas video{display:block;width:100%;height:100%;object-fit:contain;max-width:none;max-height:none}.realtime-screen-canvas[data-original-size=true] video{object-fit:contain;flex:none}.realtime-screen-viewer:fullscreen{width:100%;height:100%}.realtime-presentation{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:#101216;color:#edf1fa}.realtime-screen-viewer.is-embedded{position:relative;inset:auto;flex:1;z-index:1;overflow:hidden}.realtime-screen-viewer.is-embedded .realtime-screen-toolbar{padding:10px 14px;gap:8px;flex-wrap:wrap}.realtime-screen-viewer.is-embedded .realtime-screen-hint{padding:5px 14px}.realtime-camera-strip{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px;flex:none;height:104px;max-height:20%}.realtime-camera-strip>div:not(.realtime-camera-pagination){height:100%;width:150px;min-width:0;overflow:hidden;border-radius:8px}.realtime-camera-strip rtk-participant-tile{width:100%;height:100%}.realtime-camera-pagination{display:flex;align-items:center;gap:7px;font-size:.75rem}.realtime-camera-pagination button{background:#283142;color:#fff;border:1px solid #58647b;border-radius:6px;min-height:36px;min-width:36px}.realtime-share-tip{margin:0;padding:5px 12px;font-size:.73rem;color:#bfcae0;line-height:1.4}.realtime-quality-panel{padding:18px;border:1px solid #46546d;border-radius:12px;background:#151b27;color:#edf1fa;font-size:.8rem;line-height:1.5;text-align:left}.realtime-quality-panel.is-floating{position:absolute;right:12px;top:12px;bottom:100px;width:min(460px,calc(100% - 24px));z-index:70;overflow:auto;box-sizing:border-box;box-shadow:0 12px 45px #0006}.realtime-quality-panel header,.realtime-quality-panel footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.realtime-quality-panel header>div{display:grid;gap:5px}.realtime-quality-panel p,.realtime-quality-panel small{color:#bbc7df}.realtime-quality-panel h4{margin:14px 0 8px;color:#fff}.realtime-quality-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.realtime-quality-panel dl>div{padding:8px;background:#202a3a;border-radius:7px;min-width:0}.realtime-quality-panel dt{font-size:.7rem;color:#b2c0dc}.realtime-quality-panel dd{margin:3px 0 0;font-variant-numeric:tabular-nums;color:#fff;overflow-wrap:anywhere}.realtime-quality-panel article,.realtime-quality-panel details{border-top:1px solid #36465e;margin-top:10px;padding-top:8px}.realtime-quality-panel summary{cursor:pointer}.realtime-quality-panel button{background:#29374f;border:1px solid #63728c;color:#fff;padding:8px 12px;border-radius:7px;min-height:40px;cursor:pointer}.realtime-quality-panel button:disabled{opacity:.5;cursor:default}@media(max-width:700px){.realtime-camera-strip{height:72px}.realtime-camera-strip>div:not(.realtime-camera-pagination){width:112px}.realtime-screen-viewer.is-embedded .realtime-screen-toolbar{padding:8px;gap:6px}.realtime-screen-viewer.is-embedded .realtime-screen-hint{display:none}}@media(max-width:700px){.realtime-screen-toolbar{align-items:stretch;flex-direction:column;gap:12px;padding:14px}.realtime-screen-actions{gap:6px}.realtime-screen-actions button{flex:1;min-height:44px;font-size:.75rem;padding:7px}.realtime-screen-hint{padding:9px 14px}.realtime-screen-expand{font-size:.72rem;padding:7px 9px}.realtime-classroom-grid[data-mobile-tasks=true] .realtime-screen-expand{top:2px;left:2px;min-height:30px;padding:3px 5px;font-size:.6rem}}.realtime-activity-alert{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:1600;display:flex;align-items:center;gap:20px;max-width:min(560px,calc(100vw - 32px));padding:14px 18px;border:1px solid #575078;border-radius:12px;background:#242133;color:#f5f2ff;font:600 13px/1.5 Inter,system-ui,sans-serif;box-shadow:0 12px 40px #0005}.realtime-activity-alert button{border:0;background:transparent;color:inherit;font-size:24px;padding:2px 7px;cursor:pointer}.realtime-activity-alert button:focus-visible{outline:2px solid #b9a8ff}.meet-recordings-panel .task-section-heading{align-items:flex-start;gap:1rem}.meet-recordings-panel .task-section-heading p{max-width:70ch}.meet-recording-empty{color:var(--muted,#69748d);margin:.85rem 0 0}.meet-recording-table-wrap{overflow-x:auto;margin-top:1rem;border:1px solid var(--line);border-radius:14px}.meet-recording-table{width:100%;min-width:620px;border-collapse:collapse;text-align:left}.meet-recording-table th,.meet-recording-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.meet-recording-table tr:last-child td{border-bottom:0}.meet-recording-table th{color:var(--muted,#69748d);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.meet-recording-table td:first-child{min-width:11rem}.meet-recording-table td small{display:block;margin-top:.2rem;color:var(--muted,#69748d);overflow-wrap:anywhere}.meet-recording-table .row-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.meet-recording-table .meet-recording-error{color:#c22d49;max-width:35ch}@media(max-width:700px){.meet-recordings-panel .task-section-heading{flex-direction:column}.meet-recording-table th,.meet-recording-table td{padding:.7rem}}.session-detail{max-width:1200px}.session-detail .admin-section{margin-top:1.25rem;min-width:0;overflow-wrap:anywhere}.task-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.task-create-grid form,.task-create-grid>div,.registration-card{display:grid;align-content:start;gap:.75rem;padding:1rem;border:1px solid var(--border,#dfe3eb);border-radius:14px;background:var(--surface,#fff)}.task-create-grid input,.task-create-grid textarea,.task-create-grid select,.task-question-form input,.task-question-form textarea,.task-question-form select,.task-grading-form input,.task-grading-form textarea,.task-review-nav select{width:100%;min-width:0}.task-selection{display:flex;flex-wrap:wrap;gap:.65rem}.task-select{display:flex;align-items:center;gap:.5rem;max-width:100%;padding:.65rem .9rem;border:1px solid var(--border,#dfe3eb);border-radius:12px;background:var(--surface,#fff);color:inherit;cursor:pointer}.task-select.active{border-color:#6257f6;box-shadow:0 0 0 2px #6257f626}.task-section-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.task-question-list{display:grid;gap:.75rem;margin:1rem 0}.task-details-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.8fr) auto;align-items:end;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid var(--border,#dfe3eb);border-radius:12px}.task-details-form label{display:grid;gap:.35rem;min-width:0}.task-details-form input,.task-details-form textarea{width:100%;min-width:0}.task-details-form textarea{min-height:42px}.task-question-card{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.task-question-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.task-question-card small{display:block;margin:.45rem 0}.task-question-form{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--border,#dfe3eb);border-radius:14px}.task-question-form label,.task-grading-form label{display:grid;gap:.35rem}.task-question-form textarea{min-height:90px}.task-question-form .code-field{font-family:monospace;min-height:130px}.task-choices{display:grid;gap:.6rem}.task-choices label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem}.task-choices label input[type=checkbox]{width:auto}.task-review-nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.task-review-nav select{width:auto;max-width:350px;flex:1}.task-grading-form{display:grid;gap:1rem}.task-grading-form .task-question-card{display:grid;gap:.7rem}.registration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.registration-card fieldset{display:grid;gap:.5rem}.registration-card h4,.registration-card p{margin:0}.registration-approvals{margin-bottom:1.25rem}.registration-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.registration-heading h3{margin:0}.registration-table .thead,.registration-table .trow{grid-template-columns:minmax(160px,1.2fr) minmax(100px,.7fr) minmax(150px,.8fr) minmax(260px,1.6fr)}.registration-group select{width:100%;min-width:0;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}.registration-table .row-actions{justify-content:flex-end}.registration-table .row-actions button{white-space:nowrap}.registration-approvals>p{color:var(--muted);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.session-detail :is(input,textarea,select){box-sizing:border-box;min-width:0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit}.session-detail textarea{max-width:100%;resize:vertical;line-height:1.5}.session-detail :is(input,textarea,select):focus-visible,.registration-table select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.task-choices label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:.5rem}.task-choices label input[type=checkbox]{width:18px;height:18px;padding:0}.task-review-nav select{min-height:36px}.task-publish-form{display:grid;gap:14px;max-width:850px;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.task-publish-form>label{display:grid;gap:6px;min-width:0;font-weight:700;font-size:13px}.task-publish-form>label :is(input,textarea){width:100%}.task-publish-form>label textarea{min-height:72px}.task-publish-form fieldset{min-width:0}.task-publish-form .task-question-form{background:var(--card);border-color:var(--line)}.task-publish-form .task-question-form>label{min-width:0}.task-publish-form .task-question-form :is(input,textarea,select){width:100%}.task-publish-form .task-question-form .task-choices input[type=checkbox]{width:18px}.live-class-panel .row-actions{margin-top:14px}.live-class-panel p{color:var(--muted);line-height:1.5}.task-selection{margin-top:16px}.session-task-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.session-task-table{width:100%;min-width:550px;border-collapse:collapse;color:var(--ink);font-size:13px;text-align:left}.session-task-table th{padding:12px 15px;background:var(--bg);color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.session-task-table td{padding:13px 15px;border-top:1px solid var(--line);vertical-align:middle}.session-task-table td:first-child{max-width:360px;overflow-wrap:anywhere}.session-task-table tr.selected{background:color-mix(in srgb,var(--primary) 9%,var(--card))}.session-task-table td:last-child{text-align:right;white-space:nowrap}.task-table-empty{padding:14px 15px;color:var(--muted)}.task-result-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 15px}.meet-link-field{display:grid;gap:7px;max-width:700px;margin:14px 0;color:var(--ink);font-size:12px;font-weight:700}.meet-link-field>div{display:flex;gap:9px;align-items:center}.meet-link-field input{flex:1;min-width:0;font:12px ui-monospace,SFMono-Regular,Consolas,monospace!important}.meet-link-field button{white-space:nowrap}[data-theme=dark] .session-detail .task-question-card,[data-theme=dark] .session-detail .task-question-form,[data-theme=dark] .session-detail .task-details-form,[data-theme=dark] .session-detail .task-publish-form{background:var(--card);color:var(--ink);border-color:var(--line)}[data-theme=dark] .session-detail .task-question-card pre{background:var(--bg);color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:8px}[data-theme=dark] .portal-page.task-page .released-grade,[data-theme=dark] .portal-page.task-page .answer-feedback{background:#15352c;color:#d2f8e4;border-color:#30634d}[data-theme=dark] .portal-page.task-page .coding-question .cm-theme-dark .cm-editor{background:#282c34;color:#e6edf7}@media(max-width:850px){.registration-table .thead{display:none}.registration-table .trow{grid-template-columns:1fr;gap:10px}.registration-table .row-actions{justify-content:flex-start}.registration-table .registration-group{width:100%}}.student-session-detail .session-card,.student-session-detail .task-template-grid{margin-top:1rem}.student-live-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:0 0 22px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.student-live-banner>div{display:grid;gap:3px;flex:1;min-width:180px}.student-live-banner small{color:var(--muted)}.student-live-banner .button{text-decoration:none;white-space:nowrap}@media(max-width:760px){.task-create-grid,.task-details-form{grid-template-columns:1fr}.task-section-heading{display:flex;align-items:center;flex-wrap:wrap}.task-section-heading button{margin-top:0}.task-review-nav>*{flex:1}.session-detail .row-actions{flex-wrap:wrap}.meet-link-field>div{align-items:stretch;flex-direction:column}.meet-link-field button{align-self:flex-start}}.session-attendance .attendance-summary{margin:12px 0;color:var(--muted);font-size:13px}.attendance-table td:first-child strong,.attendance-table td:first-child small{display:block}.attendance-table td:first-child small{margin-top:3px;color:var(--muted);font-size:11px}.attendance-table select{width:100%;min-width:150px;font-size:12px}.attendance-history-toggle{margin-top:14px;border:0;background:none;color:var(--primary);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}.attendance-history-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.attendance-history{max-height:230px;overflow:auto;margin-top:9px;padding:4px 13px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--muted);font-size:12px}.attendance-history p{margin:9px 0;overflow-wrap:anywhere}.attendance-history strong{color:var(--ink)}.modal.student-edit-dialog{width:min(680px,calc(100vw - 32px));max-height:min(90vh,850px);overflow:auto}.student-edit-form{gap:17px}.student-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.student-edit-fields label{min-width:0}.student-edit-fields input,.student-edit-fields select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}.student-edit-groups{min-width:0;border-color:var(--line)!important}.student-edit-groups>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.student-edit-groups label{display:flex!important;align-items:center;gap:9px;min-width:0;padding:8px 6px;font-size:13px}.student-edit-groups input[type=checkbox]{flex:none;width:17px;height:17px;margin:0;accent-color:var(--primary)}.student-edit-groups small{color:var(--muted)}.student-edit-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.student-edit-meta strong{color:var(--ink)}.student-edit-actions{display:flex;justify-content:flex-end;gap:9px}@media(max-width:580px){.student-edit-fields,.student-edit-groups>div{grid-template-columns:1fr}.student-edit-actions>*{flex:1}}.admin-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;width:100%}.admin-sidebar .admin-sidebar-header .logo{display:flex;align-items:center;gap:8px;min-width:0;padding:0;font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:14px}.admin-sidebar-header .logo-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border-radius:10px;font-family:ui-monospace,monospace;font-size:15px;line-height:1;white-space:nowrap}.admin-sidebar-brand{white-space:nowrap}.admin-sidebar-toggle{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:7px;border:1px solid #3d435e;border-radius:9px;background:transparent;color:#b8bfd5;cursor:pointer}.admin-sidebar-toggle:hover{background:#292e48;color:#fff;border-color:#635b91}.admin-sidebar-toggle svg,.admin-sidebar .admin-menu-toggle svg{width:20px;height:20px;flex:none}.admin-sidebar .admin-nav-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;padding:10px 12px;font-family:Inter,system-ui,sans-serif;font-size:13px;text-decoration:none;line-height:1.3}.admin-nav-link>svg{display:block;flex:0 0 20px;width:20px;height:20px;color:#909ab9}.admin-sidebar .admin-nav-link:is(:hover,.active){background:#292e48;color:#fff}.admin-nav-link:is(:hover,.active)>svg{color:#c5bdff}.admin-sidebar :is(.admin-sidebar-toggle,.admin-nav-link,.logo):focus-visible{outline:2px solid #b5aaff;outline-offset:2px}.admin-app:has(.realtime-classroom)>.admin-sidebar-wrap{display:none}@media(min-width:851px){.admin-app .admin-sidebar-wrap .admin-sidebar{position:sticky;top:0;height:100dvh;padding:22px 12px 16px;gap:22px}.admin-sidebar .admin-mobile-nav-panel{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;width:100%}.admin-sidebar .admin-mobile-nav-panel nav{display:grid;gap:4px;overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#424966 transparent;padding:3px}.admin-sidebar .sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #303650;flex:none}.admin-app.is-sidebar-collapsed:not(:has(.realtime-classroom)){grid-template-columns:76px minmax(0,1fr)}.is-sidebar-collapsed .admin-sidebar .admin-sidebar-header{flex-direction:column;gap:14px}.is-sidebar-collapsed .admin-sidebar-brand,.is-sidebar-collapsed .admin-nav-label{display:none}.is-sidebar-collapsed .admin-sidebar .admin-nav-link{justify-content:center;padding:10px 0;gap:0;border-radius:10px}.is-sidebar-collapsed .admin-sidebar .admin-nav-link.active{background:#383052;box-shadow:inset 0 0 0 1px #62558a}}@media(max-width:850px){.admin-sidebar-toggle{display:none}.admin-sidebar-header{width:auto;min-width:0}.admin-sidebar .admin-sidebar-header .logo{font-size:16px}.admin-sidebar .admin-mobile-nav-panel .admin-nav-link{gap:10px}}.admin-page>.page-title{gap:20px;align-items:center}.admin-page>.page-title>*{min-width:0;max-width:100%}.admin-page>.page-title h2{line-height:1.2;overflow-wrap:anywhere}.admin-page>.page-title p{max-width:68ch;line-height:1.6}.admin-page>.session-filters{background:var(--card);border-color:var(--line);align-items:end;gap:12px}.admin-page>.session-filters label{flex:1 1 145px;min-width:0;color:var(--muted);font-size:12px}.admin-page>.session-filters :is(input,select){width:100%;min-width:0;min-height:42px;background:var(--card);color:var(--ink);border-color:var(--line)}.admin-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-filter-actions .action-button{min-height:42px}.admin-list-summary{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.admin-list-summary>:first-child{color:var(--ink);font-weight:700}.admin-inline-error{margin:0 0 16px;padding:12px 14px;border:1px solid #f6cbd3;border-radius:10px;background:#fff1f3;color:#a91e35;font-size:13px}.admin-muted{color:var(--muted)}.admin-page .learning-table{font-size:13px;line-height:1.5}.admin-page .learning-table :is(th,td){overflow-wrap:anywhere}.admin-page .learning-table th{font-size:11px;line-height:1.4;letter-spacing:.04em}.admin-page .learning-table td{vertical-align:top}.admin-page .learning-table td .badge{margin:0 4px 4px 0}.admin-page .learning-table .action-cell{vertical-align:middle}.admin-page .learning-table .row-actions{gap:7px;align-items:center}.admin-page .learning-table .action-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;line-height:1.3;font-size:12px;text-align:center;text-decoration:none;white-space:normal}.admin-page .learning-table .action-button:focus-visible,.admin-page>.session-filters :is(button,input,select):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.admin-page .learning-table-status{font-style:normal;text-transform:capitalize}.admin-page .learning-table-status:is(.published,.active,.approved,.released){background:#e4f8ed;color:#19734f}.admin-page .learning-table-status:is(.submitted,.grading){background:#eeecff;color:#554bc7}.admin-session-table{table-layout:fixed;min-width:760px}.admin-session-table th:nth-child(1){width:27%}.admin-session-table th:nth-child(2){width:13%}.admin-session-table th:nth-child(3){width:17%}.admin-session-table th:nth-child(4){width:11%}.admin-session-table th:nth-child(5){width:32%}.admin-student-table{table-layout:fixed;min-width:780px}.admin-student-table th:nth-child(1){width:28%}.admin-student-table th:nth-child(2){width:25%}.admin-student-table th:nth-child(3){width:12%}.admin-student-table th:nth-child(4){width:35%}.admin-page .membership-form{display:grid;gap:7px;max-width:100%;min-width:0}.admin-page .membership-form .inline-check{display:flex;align-items:center;gap:8px;min-height:30px;line-height:1.4;font-size:12px}.admin-page .membership-form .inline-check input{flex:0 0 auto;width:16px;height:16px}.admin-page .membership-form .link-button{justify-self:start;min-height:36px;text-align:left}.admin-registration-table{min-width:780px}.admin-registration-table .registration-group{display:block;min-width:145px;max-width:230px}.admin-registration-table select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--card);color:var(--ink);font:inherit}.admin-overview-tables{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-overview-tables .panel{min-width:0;padding:18px}.admin-overview-tables .panel h3{gap:10px;align-items:center}.admin-overview-tables .panel h3 a{white-space:nowrap}.admin-overview-tables .learning-table-shell{border-radius:9px}.admin-page .admin-compact-table{min-width:0;table-layout:fixed}.admin-compact-table td:nth-child(1){width:65%}.admin-overview-tables .admin-compact-table :is(th,td){padding:12px}.admin-page>.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-page>.stat-grid .stat-card{background:var(--card);border-color:var(--line)}.admin-inbox-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-inbox-toolbar .action-button{min-height:40px}.admin-inbox-message{margin:0 0 16px;color:var(--muted);font-size:13px}.admin-inbox-message[role=alert]{color:#b4233c}.admin-page .homework-sort{align-items:end;gap:12px;flex-wrap:wrap}.admin-page .homework-sort select{min-height:42px}.admin-app .modal>header{gap:14px;align-items:start}.admin-app .modal>header h2{min-width:0;overflow-wrap:anywhere}.admin-app .modal>header>button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:8px;color:var(--ink)}.admin-app .modal>header>button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}[data-theme=dark] .admin-inline-error{background:#36212a;color:#ffbccb;border-color:#673746}[data-theme=dark] .admin-page .learning-table-status:is(.published,.active,.approved,.released){background:#173b2f;color:#a5ebca}[data-theme=dark] .admin-page .learning-table-status:is(.submitted,.grading){background:#312c57;color:#d2caff}[data-theme=dark] .admin-page .learning-table .action-button:is(.neutral,.edit){background:#252b3d;color:#dde3f4;border-color:#40485f}[data-theme=dark] .admin-page .learning-table .action-button.manage{background:#213753;color:#b7d7ff;border-color:#36577e}[data-theme=dark] .admin-page .learning-table .action-button.publish{background:#352e61;color:#d6cfff;border-color:#574a8f}[data-theme=dark] .admin-page .learning-table .action-button.delete{background:#442630;color:pink;border-color:#6c3848}[data-theme=dark] .admin-page .learning-table .action-button.reset{background:#42361e;color:#f8dfa4;border-color:#705a32}@media(max-width:1100px){.admin-overview-tables{grid-template-columns:minmax(0,1fr)}.admin-page>.page-title{flex-wrap:wrap}.admin-page>.page-title .sessions-page-actions{display:flex;gap:10px;flex-wrap:wrap}}@media(max-width:640px){.admin-page .learning-table :is(th,td){width:auto}.admin-page .learning-table .action-button{min-height:44px;flex:0 1 auto}.admin-page .learning-table .row-actions{justify-content:flex-start;gap:8px}.admin-page>.session-filters{padding:12px}.admin-page>.session-filters label{flex-basis:100%}.admin-filter-actions{width:100%}.admin-filter-actions button{flex:1}.admin-list-summary{align-items:start;flex-direction:column}.admin-registration-table .registration-group{max-width:none}.admin-overview-tables .panel{padding:13px}.admin-page>.page-title .sessions-page-actions{width:100%;display:grid;grid-template-columns:1fr}.admin-page>.page-title .sessions-page-actions>button{width:100%;min-height:44px;justify-content:center}}.recording-scratchpad{min-width:0}.recording-scratchpad .recording-language{display:grid;gap:6px;min-width:150px;color:var(--muted);font-size:12px;font-weight:700}.recording-language select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.recording-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-8px}.recording-editor-toolbar>span{color:var(--muted);font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.recording-code-editor,.recording-output{min-width:0}.recording-output h3{margin:0 0 8px;color:var(--ink);font-size:12px}.recording-output .code-output{min-height:78px;margin-bottom:0;overflow:auto}.recording-scratchpad button:disabled,.recording-language select:disabled{cursor:not-allowed;opacity:.6}.realtime-playback-page>.recording-scratchpad{max-width:1100px;margin-top:24px}.student-settings>.page-title{margin-bottom:24px}.student-settings .page-title h1{margin:6px 0;font-size:clamp(28px,3vw,38px);color:var(--ink)}.student-settings .page-title p{color:var(--muted)}.student-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.student-settings-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 10px 28px #1e23460a}.student-settings-card h2{margin:0 0 18px;font:700 22px Space Grotesk,sans-serif;color:var(--ink)}.student-settings-card form{display:grid;gap:15px}.student-settings-card label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:700;color:var(--ink)}.student-settings-card input{width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit}.student-settings-card input:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 24%,transparent);border-color:var(--primary)}.student-settings-card input[readonly]{cursor:not-allowed;opacity:.68}.student-settings-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-settings-hint{margin:-5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.student-settings-card .button{justify-self:start;min-height:40px}.student-settings-error,.student-settings-success{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.student-settings-error{background:#fff0f2;color:#b4233c}.student-settings-success{background:#e7f8ef;color:#19734f}[data-theme=dark] .student-settings-error{background:#3a2027;color:#ffadb9}[data-theme=dark] .student-settings-success{background:#163b2d;color:#a5e9c4}@media(max-width:800px){.student-settings-grid{grid-template-columns:1fr}}@media(max-width:480px){.student-settings-card{padding:18px}.student-settings-names{grid-template-columns:1fr}.student-settings-card .button{width:100%}}.registration-page .auth-card{width:min(440px,calc(100vw - 32px))}.registration-page .portal-language{width:max-content;margin-left:auto;margin-bottom:.9rem}.registration-page .auth-card form>.btn{width:100%;justify-content:center}.registration-page .auth-card form>p:last-child{text-align:center;margin:.8rem 0 0}.pending-page .auth-card{width:min(520px,calc(100vw - 32px));justify-items:center;text-align:center}.pending-page .auth-card h1{max-width:100%;text-wrap:balance}.pending-page .auth-card p{max-width:40ch;line-height:1.6;margin:0 auto}.pending-page .auth-card .btn{min-width:190px;justify-content:center}.pending-page .auth-card .text-button{justify-self:center}@media(max-width:520px){.pending-page .auth-card .btn{width:100%}}.certificate-page{max-width:1100px;margin:40px auto;padding:24px;color:var(--ink)}.course-certificate{color-scheme:light;--ink:#162e2b;--muted:#52625e;--line:#d2d8cc}.course-certificate .certificate-footer{padding:24px 0 0;border-top:1px solid #d2d8cc;background:transparent;color:#162e2b}.course-certificate .certificate-footer>div{min-width:0}.course-certificate .certificate-qr{justify-items:center;max-width:160px;flex:0 0 160px}.course-certificate .certificate-qr span{line-height:1.6;white-space:normal}.course-certificate .certificate-qr img{display:block;background:#fff;padding:4px;box-sizing:border-box}.course-certificate p.certificate-kicker{color:#80652d}@media(max-width:600px){.course-certificate .certificate-footer{flex-direction:column;align-items:center;text-align:center;gap:22px}.course-certificate .certificate-qr{flex-basis:auto;max-width:150px}}.certificate-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.certificate-toolbar a{color:var(--primary)}.course-certificate{position:relative;padding:48px 60px;border:1px solid #d2d8cc;outline:8px solid #f0f2e9;outline-offset:-18px;background:#fffef9;color:#162e2b;text-align:center;box-shadow:0 16px 60px #0001;overflow-wrap:anywhere}.course-certificate header{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left}.course-certificate header b{font-size:23px;letter-spacing:-1px}.course-certificate header b span{font-weight:400}.course-certificate header>span,.certificate-kicker,.course-certificate .certificate-footer span{font-size:10px;letter-spacing:2px;font-weight:700}.certificate-emblem{margin:38px auto 18px;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;border:1px solid #a88c49;color:#8d7235;font-size:40px}.certificate-kicker{color:#8d7235;letter-spacing:4px!important}.certificate-intro{margin-top:28px}.course-certificate h1{margin:14px auto 22px;font:500 clamp(28px,5vw,58px)/1.15 Georgia,serif;max-width:90%}.course-certificate h2{font-size:28px;margin:15px 0;color:#162e2b}.course-certificate p{color:#52625e}.certificate-description{line-height:1.8;font-size:14px}.course-certificate .certificate-footer{display:flex;justify-content:space-between;align-items:end;text-align:left;margin-top:30px;gap:20px}.course-certificate .certificate-footer>div{display:grid;gap:8px}.course-certificate .certificate-footer small{color:#52625e;font-size:12px}.certificate-qr img{width:110px;height:110px}.certificate-qr{text-align:center}.certificate-qr span{font-size:8px!important;letter-spacing:1px!important}.certificate-id{font:10px ui-monospace,monospace;color:#71817c;margin-top:24px}@media(max-width:600px){.certificate-page{padding:15px;margin:12px auto}.course-certificate{padding:32px 26px}.course-certificate header{flex-direction:column;text-align:center}.course-certificate h2{font-size:22px}.course-certificate .certificate-footer{align-items:center}.course-certificate .certificate-footer b{font-size:13px}.certificate-qr img{width:85px;height:85px}}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important}body>*{visibility:hidden}#root{visibility:visible}.theme-toggle,.certificate-toolbar{display:none!important}.certificate-page{padding:0;margin:0;max-width:none}.course-certificate{box-shadow:none;padding:24px 45px;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-emblem{margin-top:22px}.course-certificate h1{font-size:42px}.course-certificate .certificate-footer{margin-top:18px}}.certificate-preview-note{padding:16px 20px;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;background:var(--card);line-height:1.6}.certificate-qr-placeholder{width:110px;height:110px;border:1px dashed #71817c;display:grid;place-items:center;font-size:12px;color:#52625e}@media(max-width:600px){.certificate-toolbar{flex-wrap:wrap}.certificate-qr-placeholder{width:85px;height:85px}}@media print{.certificate-preview-note{display:none!important}}@media print{.certificate-page{width:100%;box-sizing:border-box}.course-certificate{padding:20px 36px;outline-offset:-10px}.course-certificate header b{font-size:20px}.certificate-emblem{width:42px;height:42px;font-size:30px;margin:14px auto 10px}.course-certificate p{margin:8px 0}.course-certificate h1{font-size:38px;margin:10px auto 14px}.course-certificate h2{font-size:24px;margin:10px 0}.course-certificate .certificate-footer{margin-top:14px;padding:12px 0;gap:12px}.course-certificate .certificate-footer>div{gap:5px}.certificate-qr img,.certificate-qr-placeholder{width:80px;height:80px}.certificate-id{margin-top:12px}}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:700 14px Inter,system-ui,sans-serif;cursor:pointer}.mobile-menu-toggle span{font-size:18px;line-height:1}.mobile-menu-toggle:focus-visible,.landing-menu-panel a:focus-visible,.admin-mobile-nav-panel a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.landing-menu-area,.portal-menu-area,.landing-menu-panel,.portal-menu-panel,.admin-mobile-nav-panel{display:contents}.landing-desktop-utilities,.portal-desktop-utilities{display:flex;align-items:center;gap:12px}.landing-mobile-utilities,.portal-mobile-utilities{display:none}.admin-sidebar-wrap{min-width:0;background:#171a2b}.admin-sidebar-wrap .admin-sidebar{height:100%;box-sizing:border-box}.admin-main,.admin-page,.student-shell,.student-page,.portal-page,.challenge-workspace,.challenge-code-pane,.challenge-problem-pane,.exercise-workspace,.payment-section,.analytics-section,.modal{min-width:0}.student-app main,.admin-app main{max-width:100%}.markdown-content,.question-list,.recording-scratchpad,.challenge-code-editor,.exercise-code-editor{min-width:0;max-width:100%}.markdown-content pre,.code-output,.challenge-console pre,.cm-scroller{max-width:100%;overflow-x:auto}.cm-editor{max-width:100%}.student-app img,.admin-app img,.navbar img{max-width:100%;height:auto}@media(max-width:1050px){.student-app .portal-header{position:sticky;top:0;z-index:30;display:flex;flex-wrap:nowrap;min-height:64px;height:auto;gap:10px;padding:9px 12px}.student-app .portal-menu-area{display:block;flex:0 0 auto}.student-app .mobile-menu-toggle{display:inline-flex}.student-app .portal-menu-panel{display:none;position:absolute;top:calc(100% + 1px);left:10px;right:10px;z-index:35;max-height:calc(100dvh - 78px);overflow-y:auto;padding:12px;border:1px solid var(--line);border-radius:0 0 14px 14px;background:var(--card);box-shadow:0 18px 38px #1118272e}.student-app .portal-menu-panel[data-open=true]{display:grid;gap:12px}.student-app .student-nav{order:initial;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;width:100%;margin:0;padding:4px;overflow:visible}.student-app .student-nav a{min-width:0;min-height:44px;display:grid;place-items:center;padding:10px 7px}.student-app .portal-user{display:flex;justify-content:flex-end;flex:1 1 auto;min-width:0;margin-left:auto}.student-app .portal-desktop-utilities{display:none}.student-app .portal-mobile-utilities{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 3px 2px}.student-app .portal-mobile-utilities :is(button,a){min-height:44px}.student-app .portal-mobile-utilities .portal-logout{margin-left:auto}}@media(max-width:850px){.navbar{gap:10px;min-height:66px;height:auto;padding:8px 14px}.navbar .logo{min-width:0;margin-right:auto;font-size:clamp(15px,4.5vw,20px);white-space:nowrap}.landing-menu-area{display:block}.navbar .mobile-menu-toggle{display:inline-flex}.landing-desktop-utilities{display:none}.navbar .landing-menu-panel{display:none;position:absolute;top:calc(100% + 1px);left:12px;right:12px;z-index:35;max-height:calc(100dvh - 76px);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:0 0 14px 14px;background:var(--card);box-shadow:0 18px 38px #1118272e}.navbar .landing-menu-panel[data-open=true]{display:grid;gap:12px}.navbar .landing-menu-panel nav{display:grid;gap:3px}.navbar .landing-menu-panel nav a{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:8px;color:var(--ink)}.navbar .landing-menu-panel nav a:hover{background:var(--bg)}.landing-mobile-utilities{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.landing-mobile-utilities .btn{min-height:44px}.admin-app{grid-template-columns:minmax(0,1fr)}.admin-sidebar-wrap{position:relative;z-index:35}.admin-sidebar-wrap .admin-sidebar{height:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}.admin-sidebar .logo{min-width:0;padding:0;white-space:nowrap}.admin-sidebar .admin-menu-toggle{display:inline-flex;flex:0 0 auto;background:#292e48;border-color:#48506c;color:#fff}.admin-mobile-nav-panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:40;max-height:calc(100dvh - 68px);overflow-y:auto;padding:10px 14px 16px;background:#171a2b;box-shadow:0 20px 36px #11182755}.admin-mobile-nav-panel[data-open=true]{display:block}.admin-sidebar .admin-mobile-nav-panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;overflow:visible}.admin-sidebar .admin-mobile-nav-panel nav a,.admin-sidebar .sidebar-bottom a{display:flex;align-items:center;min-height:44px;padding:9px 11px;white-space:normal}.admin-sidebar .sidebar-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:12px;padding-top:11px;border-top:1px solid #353a54}.admin-top{min-width:0;gap:10px}.admin-person{min-width:0}}@media(max-width:640px){.student-shell{width:min(100% - 24px,1120px);padding:22px 0}.admin-page{padding:20px 12px}.admin-top{padding:11px 13px}.admin-top h1{font-size:18px}.page-title,.task-section-heading,.analytics-section-heading{min-width:0;flex-wrap:wrap;gap:12px}.page-title>*{min-width:0;max-width:100%}.page-title h2,.student-page .portal-intro h1{overflow-wrap:anywhere}.admin-section,.analytics-section,.payment-section,.task-question-card,.coding-question,.grading-question{min-width:0;padding:15px}.row-actions{justify-content:flex-start;max-width:100%}.row-actions :is(button,a){min-height:44px;white-space:normal;text-align:center}.toolbar,.schedule-toolbar,.challenge-toolbar,.learning-table-filters{align-items:stretch;flex-direction:column}.toolbar input,.toolbar select,.schedule-toolbar select,.challenge-toolbar :is(input,select){width:100%;max-width:100%;min-width:0}.modal-backdrop{padding:8px}.modal,.payment-dialog,.student-edit-dialog{width:min(100%,560px);max-height:calc(100dvh - 16px);overflow-y:auto;padding:16px}:is(.student-app,.admin-app,.auth-page) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0;font-size:max(16px,1em)}.auth-page{padding:72px 12px 18px}.auth-page>.logo{top:17px;left:14px;max-width:calc(100% - 28px)}.auth-card{width:min(100%,460px);padding:22px 18px}.auth-card h1{font-size:clamp(27px,9vw,36px)}.homework-submit,.grading-actions{bottom:0;margin-inline:-8px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));border-radius:10px 10px 0 0}.homework-submit :is(button,a),.grading-actions :is(button,a){min-height:44px}.recording-theater,.challenge-code-pane,.challenge-problem-pane{max-width:100%}.week-grid,.payment-month-chart,.analytics-chart{max-width:100%;overflow-x:auto}.navbar .hero-actions,.cta,.hero-grid,.hero-copy,.hero-card,.section-heading,.module,.class-step,.price-card{min-width:0}.code-window pre{max-width:100%;overflow-x:auto}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table){display:block;width:100%;min-width:0!important}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody{display:grid;gap:10px;padding:10px}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody>tr{display:grid;gap:7px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--card)}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody>tr>td{display:grid;gap:3px;min-width:0;max-width:100%;padding:3px 0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody>tr>td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.02em}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody>tr>td[colspan]{display:block}:is(.learning-table,.payment-table,.payment-group-table,.analytics-table,.exercise-table,.session-task-table,.meet-recording-table) tbody>tr>td .row-actions{justify-content:flex-start}.learning-table-shell,.analytics-table-scroll,.payment-table-wrap,.exercise-table-wrap,.session-task-table-wrap,.meet-recording-table-wrap{max-width:100%;overflow-x:visible}.learning-table-detail{border:0!important;padding:0!important}.learning-table-detail>td{padding:0!important}.learning-table-detail .learning-table-shell{margin:0 0 4px}.analytics-detail-row>td{padding:10px!important}.data-table{max-width:100%;overflow:visible}.data-table .thead{display:none}.data-table .trow,.registration-table .trow{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px;padding:13px;margin:10px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.data-table .trow>[data-label]{min-width:0;max-width:100%;overflow-wrap:anywhere}.data-table .trow>[data-label]:before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.02em}.data-table .trow>.row-actions{display:flex;justify-content:flex-start;flex-wrap:wrap}.data-table .trow :is(button,a){min-height:44px}.registration-table .registration-group{display:block;width:100%}.registration-table .row-actions button{white-space:normal}.session-filters,.payment-filters,.payment-analytics-filters{max-width:100%;min-width:0;flex-wrap:wrap}.session-filters label,.session-filters input,.session-filters select{min-width:0;width:100%;max-width:100%}.sessions-page-actions,.payment-row-actions,.challenge-create-actions,.task-review-nav{max-width:100%;flex-wrap:wrap}.task-review-nav>*{min-width:0}.challenge-editor-grid,.task-editor-grid,.task-create-grid,.task-details-form,.admin-grid,.session-form{grid-template-columns:minmax(0,1fr)}.challenge-fields,.challenge-fields label,.test-editor,.modal-form,.task-details-form label{min-width:0}.choice-admin>div,.task-choices label{min-width:0}.choice-admin>div>input:not([type=checkbox]),.task-choices label>input:not([type=checkbox]){min-width:0}.exercise-table-wrap,.exercise-workspace,.exercise-history,.challenge-workspace,.session-detail{min-width:0;max-width:100%}.exercise-workspace,.challenge-workspace{grid-template-columns:minmax(0,1fr)}.student-app .student-shell:has(>.challenge-workspace){width:min(100% - 24px,700px)}.portal-intro h1{font-size:clamp(28px,9vw,38px)}.session-card,.admin-box,.password-panel{padding:17px}}@media(max-width:380px){.student-app .portal-header{padding-inline:8px}.student-app .portal-user .portal-challenge-status{gap:5px;padding:5px 7px;font-size:11px}.student-app .portal-menu-panel{left:5px;right:5px}.admin-sidebar .logo{font-size:15px}.admin-top .admin-person .avatar{display:none}.admin-sidebar .admin-mobile-nav-panel nav{grid-template-columns:1fr}.stat-grid,.dashboard-grid,.card-grid,.analytics-funnel,.payment-stat-grid{grid-template-columns:minmax(0,1fr)}}.homework-instructions{background:var(--card);border-color:var(--line);color:var(--ink)}.homework-instructions-mobile,.homework-mobile-stepper,.mobile-workspace-tabs{display:none}.homework-question-step{display:contents}[data-theme=dark] .homework-instructions,[data-theme=dark] .homework-instructions-mobile{background:var(--card);color:var(--ink);border-color:var(--line)}[data-theme=dark] .homework-instructions :is(h1,h2,h3,h4,strong),[data-theme=dark] .homework-instructions-mobile :is(h1,h2,h3,h4,strong){color:var(--ink)}[data-theme=dark] .released-grade,[data-theme=dark] .answer-feedback{background:#173429;color:#e7fff0;border-color:#345d48}[data-theme=dark] .released-grade :is(strong,p),[data-theme=dark] .answer-feedback :is(strong,p){color:inherit}[data-theme=dark] .homework-submit>span{color:var(--muted)}[data-theme=dark] .homework-start-error{background:#3a2028;color:#ffdce4;border-color:#78505b}@media(max-width:760px){.mobile-learning-workspace{display:block;text-align:left}.mobile-workspace-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin-bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.mobile-workspace-tabs button{min-height:44px;padding-inline:14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:700 14px Inter;cursor:pointer;text-align:left}.mobile-workspace-tabs button[aria-pressed=true]{background:var(--primary);color:#fff}.mobile-workspace-tabs button:focus-visible,.homework-mobile-stepper button:focus-visible,.homework-instructions-mobile summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.mobile-learning-workspace .challenge-problem-pane[data-mobile-active=false],.mobile-learning-workspace .challenge-code-pane[data-mobile-active=false],.mobile-learning-workspace.mobile-pane-description .challenge-code-pane,.mobile-learning-workspace.mobile-pane-code .challenge-problem-pane{display:none}.mobile-learning-workspace .challenge-problem-head,.mobile-learning-workspace .challenge-problem-body,.mobile-learning-workspace .challenge-code-head,.mobile-learning-workspace .challenge-console{text-align:left}.mobile-learning-workspace .challenge-problem-head h1{font-size:clamp(22px,6vw,29px);line-height:1.2}.mobile-learning-workspace .markdown-content :is(h1,h2,h3){font-size:clamp(17px,5vw,21px)}.mobile-learning-workspace .challenge-code-editor,.mobile-learning-workspace .challenge-code-editor .cm-editor{min-width:0;max-width:100%}.mobile-learning-workspace .challenge-code-editor .cm-scroller{overflow-x:auto}.mobile-learning-workspace .challenge-code-actions{align-items:stretch}.mobile-learning-workspace .challenge-code-actions button{min-height:44px}.homework-instructions-desktop{display:none}.homework-instructions-mobile{display:block;margin-bottom:14px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.homework-instructions-mobile summary{cursor:pointer;padding:14px 16px;font-weight:750}.homework-instructions-mobile .markdown-content{padding:0 16px 16px;text-align:left}.homework-mobile-stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;color:var(--ink);font-size:13px;font-weight:750}.homework-mobile-stepper>div{display:flex;gap:6px}.homework-mobile-stepper button{min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:700 12px Inter;cursor:pointer}.homework-mobile-stepper button:disabled{opacity:.45;cursor:default}.homework-question-step{display:none;min-width:0}.homework-question-step[data-mobile-active=true]{display:block}.homework-question-step .coding-question{padding:16px;text-align:left;min-width:0}.homework-question-step .coding-question>header{gap:8px;align-items:flex-start}.homework-question-step .coding-question>header strong{white-space:nowrap}.homework-question-step .cm-editor{min-width:0;max-width:100%}.homework-question-step .cm-scroller{overflow-x:auto}.homework-submit{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.homework-submit>span{grid-column:1/-1;margin:0;overflow-wrap:anywhere}.homework-submit button{min-width:0;min-height:44px}}@media(max-width:380px){.homework-mobile-stepper{align-items:flex-start;flex-direction:column}.homework-submit{grid-template-columns:1fr}}
