@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;width:min(1280px,100% - 48px);height:82px;margin:0 auto;display:flex}.logo{color:#f5f5f7;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.logo-mark{color:#fff;background:#7c3aed;border-radius:8px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid}.logo-text{color:#f5f5f7}.navigation{color:#92929b;align-items:center;gap:34px;font-size:14px;display:flex}.navigation a{transition:color .2s}.navigation a:hover{color:#fff}.header-actions{align-items:center;gap:10px;display:flex}.login-button{color:#a1a1aa;cursor:pointer;background:0 0;border:0;padding:11px 16px;font-family:inherit;font-size:14px;transition:color .2s}.login-button:hover{color:#fff}.header-button{color:#fff;cursor:pointer;background:#15151b;border:1px solid #ffffff1f;border-radius:8px;padding:11px 16px;font-family:inherit;font-size:14px;transition:background .2s,border-color .2s}.header-button:hover{background:#1c1c24;border-color:#a78bfa66}.teacher-link{color:#a1a1aa;cursor:pointer;background:0 0;border:0;padding:11px 14px;font-family:inherit;font-size:14px;transition:color .2s}.teacher-link:hover{color:#fff}.logout-button{color:#d4d4d8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:11px 16px;font-family:inherit;font-size:14px;transition:background .2s,border-color .2s,color .2s}.logout-button:hover{color:#fecdd3;background:#f43f5e14;border-color:#f43f5e80}@media (width<=800px){.navigation,.teacher-link{display:none}}@media (width<=600px){.header{width:calc(100% - 30px);height:70px}.header-button{display:none}}.home{width:100%}.hero{grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:80px;width:min(1280px,100% - 48px);min-height:680px;margin:0 auto;display:grid}.hero-content{padding:100px 0}.hero-label,.section-label{color:#8b5cf6;letter-spacing:.12em;text-transform:uppercase;margin:0 0 24px;font-size:12px;font-weight:700}.hero h1{color:#f5f5f7;letter-spacing:-.055em;max-width:800px;margin:0;font-size:clamp(52px,6vw,82px);font-weight:800;line-height:.98}.hero h1 span{color:#8b5cf6;display:block}.hero-description{color:#96969f;max-width:650px;margin:34px 0 0;font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:12px;margin-top:38px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;padding:14px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s}.primary-button{color:#fff;background:#7c3aed;border:1px solid #7c3aed}.primary-button:hover{background:#6d28d9;border-color:#6d28d9;transform:translateY(-1px)}.secondary-button{color:#d4d4d8;background:0 0;border:1px solid #ffffff1f}.secondary-button:hover{color:#fff;border-color:#a78bfa66}.hero-stats{gap:70px;margin:72px 0 0;padding:0;display:flex}.stat{flex-direction:column;gap:8px;display:flex}.stat dt{color:#71717a;font-size:12px}.stat dd{color:#f5f5f7;margin:0;font-size:30px;font-weight:700}.webby-card{background:#101016;border:1px solid #8b5cf633;border-radius:18px;animation:.7s both webbyAppear;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.webby-card:before{content:"";filter:blur(40px);pointer-events:none;background:#7c3aed26;border-radius:50%;width:180px;height:180px;position:absolute;top:-80px;right:-70px}.webby-image{background:linear-gradient(#17131f 0%,#101016 100%);justify-content:center;align-items:flex-end;height:270px;display:flex;position:relative;overflow:hidden}.webby-image img{object-fit:contain;width:270px;height:270px;transition:opacity .25s,transform .35s;display:block}.webby-card:hover .webby-image img{transform:translateY(-5px)}.webby-content{border-top:1px solid #ffffff12;padding:26px 28px 28px;position:relative}.webby-name{color:#a78bfa;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:15px;font-size:12px;font-weight:700;display:flex}.webby-dot{background:#8b5cf6;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite webbyPulse;box-shadow:0 0 10px #8b5cf6b3}.webby-content h2{color:#f5f5f7;letter-spacing:-.035em;margin:0;font-size:26px;font-weight:750;line-height:1.15}.webby-content p{color:#85858e;margin:15px 0 0;font-size:14px;line-height:1.65}.webby-hint{color:#c4b5fd;cursor:pointer;background:#7c3aed14;border:1px solid #8b5cf64d;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-top:22px;padding:12px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:flex}.webby-hint span{font-size:18px;transition:transform .2s}.webby-hint:hover{color:#fff;background:#7c3aed29;border-color:#8b5cf68c}.webby-hint:hover span{transform:translate(3px)}@keyframes webbyAppear{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes webbyPulse{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.modules{border-top:1px solid #ffffff14;width:min(1280px,100% - 48px);margin:0 auto;padding:120px 0}.section-heading{grid-template-columns:1fr 420px;gap:80px;margin-bottom:60px;display:grid}.section-heading h2,.about-card h2{color:#f5f5f7;letter-spacing:-.045em;margin:0;font-size:clamp(40px,5vw,62px);font-weight:750;line-height:1}.section-heading>p{color:#85858e;align-self:end;margin:0;font-size:15px;line-height:1.7}.modules-list{border-top:1px solid #ffffff1f}.module-item{width:100%;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff1f;padding:28px 0 30px;transition:padding .25s,border-color .25s;display:block}.module-item:hover{border-color:#8b5cf673;padding-left:18px}.module-item:focus-visible{outline-offset:4px;outline:2px solid #8b5cf699}.module-top{align-items:center;gap:18px;margin-bottom:22px;display:flex}.module-cat{object-fit:contain;transform-origin:bottom;flex-shrink:0;width:38px;height:38px;transition:transform .25s;animation:3s ease-in-out infinite moduleWebbyMove;display:block}.module-item:nth-child(2) .module-cat{animation-delay:.4s}.module-item:nth-child(3) .module-cat{animation-delay:.8s}.module-item:nth-child(4) .module-cat{animation-delay:1.2s}.module-item:nth-child(5) .module-cat{animation-delay:1.6s}.module-item:nth-child(6) .module-cat{animation-delay:2s}.module-item:hover .module-cat{animation:.45s ease-in-out moduleWebbyJump}@keyframes moduleWebbyMove{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-2px)rotate(-3deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-2px)rotate(3deg)}}@keyframes moduleWebbyJump{0%{transform:translateY(0)rotate(0)}40%{transform:translateY(-7px)rotate(-6deg)}70%{transform:translateY(2px)rotate(4deg)}to{transform:translateY(0)rotate(0)}}.module-type{color:#52525b;letter-spacing:.14em;font-size:11px;font-weight:700}.module-main{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.module-main h3{color:#f5f5f7;letter-spacing:-.04em;margin:0 0 10px;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1}.module-main p{color:#777780;max-width:560px;margin:0;font-size:14px;line-height:1.6}.module-arrow{color:#a1a1aa;border:1px solid #ffffff1f;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:20px;transition:color .2s,background .2s,border-color .2s,transform .2s;display:grid}.module-item:hover .module-arrow{color:#fff;background:#7c3aed;border-color:#7c3aed;transform:translate(2px,-2px)}.about{border-top:1px solid #ffffff14;grid-template-columns:1fr 1fr;gap:100px;width:min(1280px,100% - 48px);margin:0 auto;padding:120px 0;display:grid}.about-card>p:not(.section-label){color:#85858e;max-width:520px;margin:28px 0 0;font-size:15px;line-height:1.7}.about-card>p+p{margin-top:14px}.about-points{border-top:1px solid #ffffff14}.about-point{border-bottom:1px solid #ffffff14;grid-template-columns:50px 1fr;gap:20px;padding:28px 0;display:grid}.about-point>span{color:#8b5cf6;font-size:12px;font-weight:700}.about-point h3{color:#f5f5f7;margin:0 0 8px;font-size:17px;font-weight:650}.about-point p{color:#71717a;max-width:450px;margin:0;font-size:14px;line-height:1.6}.how-it-works{border-top:1px solid #ffffff14;width:min(1280px,100% - 48px);margin:0 auto;padding:120px 0 140px}.steps{border-top:1px solid #ffffff14;border-left:1px solid #ffffff14;grid-template-columns:repeat(4,1fr);display:grid}.step{border-bottom:1px solid #ffffff14;border-right:1px solid #ffffff14;min-height:260px;padding:28px}.step-number{color:#8b5cf6;font-size:12px;font-weight:700}.step h3{color:#f5f5f7;margin:80px 0 12px;font-size:18px;font-weight:650}.step p{color:#71717a;margin:0;font-size:14px;line-height:1.6}@media (width<=1100px){.hero{grid-template-columns:1fr;gap:40px;padding:70px 0}.hero-content{padding:30px 0 0}.webby-card{max-width:520px}.webby-image{height:300px}.webby-image img{width:300px;height:300px}.section-heading{grid-template-columns:1fr;gap:25px}.about{grid-template-columns:1fr;gap:70px}.steps{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.hero,.modules,.about,.how-it-works{width:calc(100% - 30px)}.hero{min-height:auto;padding:30px 0 80px}.hero-content{padding:40px 0 0}.hero h1{font-size:clamp(44px,13vw,64px)}.hero-description{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.primary-button,.secondary-button{width:100%}.hero-stats{flex-wrap:wrap;gap:30px;margin-top:55px}.webby-card{max-width:none}.webby-image{height:280px}.webby-image img{width:280px;height:280px}.modules,.about,.how-it-works{padding:80px 0}.module-item{padding:24px 0}.module-item:hover{padding-left:8px}.module-main{align-items:flex-start}.module-main h3{font-size:28px}.module-cat{width:34px;height:34px}.module-arrow{width:36px;height:36px;font-size:17px}.steps{grid-template-columns:1fr}.step{min-height:220px}.step h3{margin-top:55px}}@media (width<=480px){.hero-content{padding-top:30px}.hero-label,.section-label{margin-bottom:18px}.hero h1{font-size:42px}.hero-stats{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.stat dd{font-size:24px}.stat dt{font-size:11px}.webby-image{height:250px}.webby-image img{width:250px;height:250px}.webby-content{padding:22px}.webby-content h2{font-size:23px}.module-top{gap:12px}.module-cat{width:32px;height:32px}.module-main h3{font-size:25px}.module-main p{font-size:13px}.about-point{grid-template-columns:35px 1fr;gap:12px}}.auth-page{background:#09090c;min-height:100vh}.auth-container{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-info{background:#0d0d12;border-right:1px solid #ffffff14;flex-direction:column;padding:42px 70px;display:flex;position:relative}.auth-logo{color:#f5f5f7;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:fit-content;padding:0;font-family:inherit;font-size:20px;font-weight:800;display:flex}.auth-logo-mark{color:#fff;background:#7c3aed;border-radius:8px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid}.auth-info-content{max-width:560px;margin:auto 0}.auth-label,.auth-form-label{color:#8b5cf6;letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px;font-size:11px;font-weight:700}.auth-info h1{color:#f5f5f7;letter-spacing:-.055em;margin:0;font-size:clamp(52px,5vw,76px);font-weight:800;line-height:.98}.auth-info h1 span{color:#8b5cf6}.auth-description{color:#85858e;max-width:470px;margin:32px 0 0;font-size:16px;line-height:1.7}.auth-webby{align-items:center;gap:18px;max-width:440px;margin-top:60px;display:flex}.auth-webby-image{background:#15131b;border:1px solid #8b5cf633;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden}.auth-webby-image img{object-fit:contain;width:70px;height:70px}.auth-webby>div:last-child span{color:#c4b5fd;font-size:13px;font-weight:700}.auth-webby p{color:#71717a;margin:6px 0 0;font-size:13px;line-height:1.5}.auth-copyright{color:#52525b;margin:0;font-size:11px}.auth-form-section{justify-content:center;align-items:center;padding:60px;display:flex}.auth-form-wrapper{width:100%;max-width:440px}.auth-mobile-logo{color:#f5f5f7;align-items:center;gap:10px;margin-bottom:50px;font-size:20px;font-weight:800;display:none}.auth-heading{margin-bottom:38px}.auth-heading .auth-form-label{margin-bottom:14px}.auth-heading h2{color:#f5f5f7;letter-spacing:-.04em;margin:0;font-size:42px;font-weight:750;line-height:1}.auth-heading>p:last-child{color:#71717a;max-width:380px;margin:16px 0 0;font-size:14px;line-height:1.6}.auth-form{flex-direction:column;gap:22px;display:flex}.form-field{flex-direction:column;gap:9px;display:flex}.form-field label,.field-header label{color:#d4d4d8;font-size:13px;font-weight:600}.field-header{justify-content:space-between;align-items:center;display:flex}.form-field input{color:#f5f5f7;background:#111116;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;height:48px;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .2s,background .2s}.form-field input::placeholder{color:#52525b}.form-field input:focus{background:#13131a;border-color:#8b5cf6b3}.forgot-password{color:#8b5cf6;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:12px}.forgot-password:hover{color:#a78bfa}.agreement{color:#71717a;cursor:pointer;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.agreement input{accent-color:#7c3aed;flex-shrink:0;width:15px;height:15px;margin-top:1px}.auth-submit{color:#fff;cursor:pointer;background:#7c3aed;border:1px solid #7c3aed;border-radius:8px;width:100%;height:50px;margin-top:4px;font-family:inherit;font-size:14px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}.auth-submit:hover{background:#6d28d9;border-color:#6d28d9;transform:translateY(-1px)}.auth-switch{color:#71717a;justify-content:center;align-items:center;gap:6px;margin-top:28px;font-size:13px;display:flex}.auth-switch button{color:#a78bfa;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:600}.auth-switch button:hover{color:#fff}.auth-success{text-align:center;padding:36px 0}.success-icon{color:#c4b5fd;background:#7c3aed1a;border:1px solid #8b5cf64d;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 22px;font-size:22px;display:grid}.auth-success h3{color:#f5f5f7;margin:0;font-size:24px}.auth-success p{color:#71717a;max-width:330px;margin:12px auto 25px;font-size:13px;line-height:1.6}@media (width<=1000px){.auth-info{padding:35px 45px}.auth-form-section{padding:45px}}@media (width<=800px){.auth-container{grid-template-columns:1fr}.auth-info{display:none}.auth-form-section{min-height:100vh;padding:35px 30px}.auth-mobile-logo{display:flex}}@media (width<=480px){.auth-form-section{padding:28px 20px}.auth-mobile-logo{margin-bottom:40px}.auth-heading h2{font-size:34px}.auth-heading{margin-bottom:30px}.auth-switch{flex-direction:column;gap:5px}}.auth-test-users{background:#0d0d12;border:1px solid #ffffff14;border-radius:10px;margin-top:28px;padding:18px}.auth-test-label{color:#71717a;margin:0 0 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.test-user-list{flex-direction:column;gap:8px;display:flex}.test-user{text-align:left;cursor:pointer;background:#111116;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.test-user:hover{background:#13131a;border-color:#8b5cf680}.test-user-head{align-items:center;gap:10px;display:flex}.test-user-head strong{color:#f5f5f7;font-size:13px;font-weight:700}.test-role{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.test-role-teacher{color:#c4b5fd;background:#7c3aed26;border:1px solid #8b5cf64d}.test-role-student{color:#a7f3d0;background:#22c55e1f;border:1px solid #22c55e4d}.test-user-data{color:#a1a1aa;gap:14px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.auth-test-hint{color:#52525b;margin:12px 0 0;font-size:11px}@media (width<=480px){.test-user-data{flex-direction:column;gap:4px}}.teacher{color:#f5f5f7;background:#09090c;min-height:100vh}.teacher-header{background:#0b0b10;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex}.teacher-logo{color:#f5f5f7;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-family:inherit;font-size:18px;font-weight:800;display:flex}.teacher-logo-mark{color:#fff;background:#7c3aed;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.teacher-role{color:#a1a1aa;border:1px solid #ffffff14;border-radius:999px;padding:6px 12px;font-size:12px}.teacher-user{align-items:center;gap:14px;display:flex}.teacher-user-info{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.teacher-user-info strong{color:#f5f5f7;font-size:14px;font-weight:700}.teacher-user-info span{color:#71717a;font-size:12px}.teacher-avatar{color:#e9d5ff;background:#7c3aed2e;border:1px solid #8b5cf64d;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.teacher-fos-note{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-fos-note p{margin:0}.teacher-fos-note a{text-decoration:none;display:inline-block}.teacher-logout{color:#d4d4d8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.teacher-logout:hover{color:#fecdd3;background:#f43f5e14;border-color:#f43f5e80}.teacher-layout{grid-template-columns:260px 1fr;display:grid}.teacher-sidebar{background:#0b0b10;border-right:1px solid #ffffff14;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 76px);padding:30px 20px;display:flex}.teacher-nav{flex-direction:column;gap:4px;display:flex}.teacher-nav-item{color:#a1a1aa;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.teacher-nav-item:hover{color:#f5f5f7;background:#ffffff08}.teacher-nav-item.is-active{color:#f5f5f7;background:#7c3aed24;border-color:#8b5cf640}.teacher-summary{background:#101014;border:1px solid #ffffff14;border-radius:10px;padding:18px}.teacher-summary-label{color:#71717a;letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:700}.summary-row{color:#a1a1aa;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.summary-row strong{color:#f5f5f7;font-weight:700}.teacher-content{padding:40px 42px 60px}.teacher-content-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.teacher-label{color:#71717a;margin:0 0 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.teacher-content-head h1{color:#f5f5f7;letter-spacing:-.03em;margin:0;font-size:34px;font-weight:750}.teacher-controls{align-items:center;gap:10px;display:flex}.teacher-controls input,.teacher-controls select{color:#f5f5f7;background:#111116;border:1px solid #ffffff1a;border-radius:8px;outline:none;height:40px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.teacher-controls input::placeholder{color:#52525b}.teacher-controls input:focus,.teacher-controls select:focus{background:#13131a;border-color:#8b5cf699}.teacher-table{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;overflow:hidden}.cell-student{flex-direction:column;gap:3px;display:flex}.cell-student strong{color:#f5f5f7;font-size:14px;font-weight:700}.cell-student small{color:#71717a;font-size:12px}.cell-progress{align-items:center;gap:10px;display:flex}.cell-progress small{color:#a1a1aa;min-width:34px;font-size:12px}.progress-bar{background:#1c1c24;border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill{border-radius:inherit;background:#7c3aed;height:100%}.table-empty{color:#71717a;text-align:center;padding:30px 20px;font-size:13px}.submission-list{flex-direction:column;gap:12px;display:flex}.submission{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;transition:border-color .15s,background .15s;display:flex}.submission:hover{background:#101017;border-color:#8b5cf64d}.submission-main{min-width:0}.submission-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.submission-top strong{color:#f5f5f7;font-size:14px;font-weight:700}.submission-group{color:#a1a1aa;border:1px solid #ffffff1a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.submission h3{color:#e4e4e7;letter-spacing:-.01em;margin:0 0 8px;font-size:16px;font-weight:600}.submission-meta{color:#71717a;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.group-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.group-card{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;padding:24px}.group-top{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.group-top h3{color:#f5f5f7;letter-spacing:-.02em;margin:0;font-size:22px;font-weight:750}.group-top span{color:#71717a;font-size:12px}.group-progress{align-items:center;gap:12px;margin-bottom:22px;display:flex}.group-progress strong{color:#f5f5f7;font-size:14px;font-weight:700}.group-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.group-stats div{flex-direction:column;gap:4px;display:flex}.group-stats span{color:#71717a;font-size:11px}.group-stats strong{color:#f5f5f7;font-size:16px;font-weight:700}.teacher-button{cursor:pointer;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.teacher-button.primary{color:#fff;background:#7c3aed;border:1px solid #7c3aed}.teacher-button.primary:hover{background:#6d28d9;border-color:#6d28d9}.teacher-button.primary:disabled{opacity:.5;cursor:not-allowed}.teacher-button.ghost{color:#d4d4d8;background:0 0;border:1px solid #ffffff1f}.teacher-button.ghost:hover{color:#fff;border-color:#8b5cf666}.teacher-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#050508b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#101015;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:520px;padding:28px}.modal-field input,.modal-field select,.modal-field textarea{color:#f5f5f7;resize:vertical;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{background:#101017;border-color:#8b5cf6b3}.grade-row{gap:8px;display:flex}.grade-btn{color:#d4d4d8;cursor:pointer;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;width:46px;height:42px;font-family:inherit;font-size:15px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.grade-btn:hover{color:#fff;border-color:#8b5cf666}.grade-btn.is-active{color:#fff;background:#7c3aed;border-color:#7c3aed}@media (width<=1100px){.table-row{grid-template-columns:1.6fr .8fr 1.2fr .9fr 1fr}.table-row>span:nth-child(5),.table-head>span:nth-child(5){display:none}}@media (width<=900px){.teacher-layout{grid-template-columns:1fr}.teacher-sidebar{border-bottom:1px solid #ffffff14;border-right:0;flex-direction:row;align-items:center;gap:16px;min-height:auto;padding:16px 20px;overflow-x:auto}.teacher-nav{flex-direction:row;gap:6px}.teacher-nav-item{white-space:nowrap}.teacher-summary{display:none}.teacher-content{padding:28px 20px 40px}.teacher-content-head{flex-direction:column;align-items:flex-start}.teacher-controls{flex-wrap:wrap;width:100%}.teacher-controls input{flex:1;min-width:180px}.table-row{grid-template-columns:1.6fr .9fr 1fr;font-size:12px}.table-row>span:nth-child(2),.table-row>span:nth-child(5),.table-row>span:nth-child(6),.table-head>span:nth-child(2),.table-head>span:nth-child(5),.table-head>span:nth-child(6){display:none}.submission,.task{flex-direction:column;align-items:flex-start;gap:16px}.submission-actions,.task-actions,.submission-actions .teacher-button,.task-actions .teacher-button{width:100%}}@media (width<=600px){.teacher-header{padding:0 18px}.teacher-role,.teacher-user-info{display:none}.teacher-content-head h1{font-size:26px}.group-stats{grid-template-columns:1fr 1fr}}.grading-card{background:#101015;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:720px;max-height:calc(100vh - 60px);padding:28px;overflow-y:auto}.grading-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding-bottom:22px;display:flex}.grading-head h2{color:#f5f5f7;letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:700}.grading-sub{color:#71717a;margin:0;font-size:13px}.grading-score{background:#7c3aed14;border:1px solid #8b5cf659;border-radius:10px;flex-direction:column;align-items:flex-end;gap:4px;padding:10px 16px;display:flex}.grading-score span{color:#a1a1aa;font-size:11px}.grading-score strong{color:#f5f5f7;font-size:22px;font-weight:750;line-height:1}.grading-section{border-bottom:1px solid #ffffff0f;padding:20px 0}.grading-section:last-of-type{border-bottom:0}.grading-section-label{color:#71717a;margin:0 0 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.grading-repo{color:#c4b5fd;text-underline-offset:3px;margin-bottom:10px;font-size:13px;text-decoration:underline;display:inline-block}.grading-repo:hover{color:#fff}.grading-student-comment{color:#d4d4d8;background:#ffffff08;border-left:3px solid #ffffff26;border-radius:0 8px 8px 0;margin:0;padding:14px 16px;font-size:13px;font-style:italic;line-height:1.65}.checklist{flex-direction:column;gap:8px;display:flex}.checklist-item{color:#d4d4d8;cursor:pointer;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:background .15s,border-color .15s;display:flex}.checklist-item:hover{background:#ffffff05}.checklist-item input{accent-color:#7c3aed}.checklist-item.is-done{color:#a7f3d0;background:#22c55e0f;border-color:#22c55e59}.criteria-grade-list{flex-direction:column;gap:14px;display:flex}.criteria-grade{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.criteria-grade-name{color:#f5f5f7;font-size:14px;font-weight:600}.criteria-grade-scores{gap:4px;display:flex}.score-btn{color:#a1a1aa;cursor:pointer;background:#0d0d12;border:1px solid #ffffff1f;border-radius:6px;width:36px;height:34px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.score-btn:hover{color:#fff;border-color:#8b5cf680}.score-btn.is-active{color:#fff;background:#7c3aed;border-color:#7c3aed}.grading-comment{color:#f5f5f7;resize:vertical;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.grading-comment:focus{background:#101017;border-color:#8b5cf6b3}.grading-footer{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:20px;display:flex}.grading-final{flex-direction:column;gap:2px;display:flex}.grading-final span{color:#71717a;font-family:JetBrains Mono,monospace;font-size:11px}.grading-final strong{color:#f5f5f7;letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1}.grading-actions{gap:10px;display:flex}@media (width<=600px){.grading-card{padding:22px}.grading-head{flex-direction:column}.grading-score{align-self:flex-start}.criteria-grade{flex-direction:column;align-items:flex-start}.grading-footer{flex-direction:column;align-items:stretch}.grading-actions{width:100%}.grading-actions .teacher-button{flex:1}}@media (width<=1100px){.student-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.student-layout{grid-template-columns:1fr}.student-sidebar{border-bottom:1px solid #ffffff14;border-right:0;flex-direction:row;align-items:center;gap:16px;min-height:auto;padding:16px 20px;overflow-x:auto}.student-nav{flex-direction:row;gap:6px}.student-nav-item{white-space:nowrap}.student-progress-card{display:none}.student-content{padding:28px 20px 40px}.student-content-head{flex-direction:column;align-items:flex-start}.task{flex-direction:column;align-items:flex-start;gap:16px}.task-actions,.task-actions .student-button{width:100%}.table-row{grid-template-columns:2fr 1fr .6fr}.table-row>span:nth-child(4),.table-head>span:nth-child(4){display:none}}@media (width<=600px){.student-header{padding:0 18px}.student-role,.student-user-info{display:none}.student-content-head h1{font-size:26px}.student-cards{grid-template-columns:1fr 1fr}.profile-info{grid-template-columns:1fr}.table-row{grid-template-columns:1.6fr .6fr}.table-row>span:nth-child(2),.table-head>span:nth-child(2){display:none}}@media (width<=800px){.student-task-layout{width:calc(100% - 32px);padding:24px 0 60px}.task-header{flex-direction:column;align-items:flex-start}.task-header h1{font-size:26px}.task-panel{padding:22px}.task-tabs{overflow-x:auto}.task-tab{white-space:nowrap}}@media (width<=800px){.review-head{grid-template-columns:1fr}.review-grade{border-bottom:1px solid #8b5cf640;border-right:0;padding-bottom:16px}.criteria-row{grid-template-columns:1fr 60px;grid-template-areas:"name score""bar bar";row-gap:6px}.criteria-row>span{grid-area:name}.criteria-bar{grid-area:bar}.criteria-row strong{grid-area:score}}.student{color:#f5f5f7;background:#09090c;min-height:100vh}.student-header{background:#0b0b10;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex}.student-logo{color:#f5f5f7;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-family:inherit;font-size:18px;font-weight:800;display:flex}.student-logo-mark{color:#fff;background:#7c3aed;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.student-role{color:#a1a1aa;border:1px solid #ffffff14;border-radius:999px;padding:6px 12px;font-size:12px}.student-user{align-items:center;gap:14px;display:flex}.student-user-info{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.student-user-info strong{color:#f5f5f7;font-size:14px;font-weight:700}.student-user-info span{color:#71717a;font-size:12px}.student-avatar{color:#e9d5ff;background:#7c3aed2e;border:1px solid #8b5cf64d;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.student-logout{color:#d4d4d8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.student-logout:hover{color:#fecdd3;background:#f43f5e14;border-color:#f43f5e80}.student-layout{grid-template-columns:260px 1fr;display:grid}.student-sidebar{background:#0b0b10;border-right:1px solid #ffffff14;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 76px);padding:30px 20px;display:flex}.student-nav{flex-direction:column;gap:4px;display:flex}.student-nav-item{color:#a1a1aa;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.student-nav-item:hover{color:#f5f5f7;background:#ffffff08}.student-nav-item.is-active{color:#f5f5f7;background:#7c3aed24;border-color:#8b5cf640}.student-progress-card{background:#101014;border:1px solid #ffffff14;border-radius:10px;padding:18px}.student-progress-label{color:#71717a;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.student-progress-value{margin-bottom:12px}.student-progress-value strong{color:#f5f5f7;letter-spacing:-.03em;font-size:28px;font-weight:750}.student-progress-hint{color:#71717a;margin:12px 0 0;font-size:12px;line-height:1.4}.student-content{padding:40px 42px 60px}.student-content-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.student-label{color:#71717a;margin:0 0 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.student-content-head h1{color:#f5f5f7;letter-spacing:-.03em;margin:0;font-size:34px;font-weight:750}.student-subtitle{color:#f5f5f7;letter-spacing:-.02em;margin:40px 0 20px;font-size:20px;font-weight:700}.student-cards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.student-card{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:10px;padding:20px;display:flex}.student-card span{color:#71717a;font-size:12px}.student-card strong{color:#f5f5f7;letter-spacing:-.03em;font-size:28px;font-weight:750}.module-progress-list{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:18px;padding:24px;display:flex}.module-progress-top{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.module-progress-top strong{color:#f5f5f7;font-size:14px;font-weight:650}.module-progress-top span{color:#71717a;font-size:12px}.student-filters{flex-wrap:wrap;gap:6px;display:flex}.filter-btn{color:#a1a1aa;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.filter-btn:hover{color:#f5f5f7}.filter-btn.is-active{color:#f5f5f7;background:#7c3aed24;border-color:#8b5cf659}.task-list{flex-direction:column;gap:12px;display:flex}.task{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.task-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.task-module{color:#c4b5fd;background:#7c3aed1a;border:1px solid #8b5cf64d;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600}.task-type{color:#a1a1aa;font-size:11px;font-weight:600}.task h3{color:#f5f5f7;letter-spacing:-.01em;margin:0 0 8px;font-size:17px;font-weight:650}.task-meta{color:#71717a;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.task-actions{align-items:center;gap:10px;display:flex}.student-empty{color:#71717a;text-align:center;border:1px dashed #ffffff1a;border-radius:10px;padding:30px 20px;font-size:13px}.badge{border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.badge-done{color:#a7f3d0;background:#22c55e1f;border:1px solid #22c55e4d}.badge-overdue{color:#fecdd3;background:#f43f5e1f;border:1px solid #f43f5e59}.student-table{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;overflow:hidden}.table-row{color:#d4d4d8;border-bottom:1px solid #ffffff0f;grid-template-columns:2fr 1fr .6fr .8fr;align-items:center;gap:16px;padding:14px 20px;font-size:13px;display:grid}.table-row:last-child{border-bottom:0}.table-head{color:#71717a;letter-spacing:.12em;text-transform:uppercase;background:#0b0b10;font-size:11px;font-weight:700}.cell-strong{color:#f5f5f7;font-weight:650}.cell-grade{color:#a7f3d0;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:6px;place-items:center;width:34px;height:26px;font-weight:700;display:inline-grid}.cell-muted{color:#71717a}.profile-card{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;padding:30px}.profile-top{border-bottom:1px solid #ffffff14;align-items:center;gap:18px;margin-bottom:24px;padding-bottom:24px;display:flex}.profile-avatar{color:#e9d5ff;background:#7c3aed2e;border:1px solid #8b5cf64d;border-radius:50%;place-items:center;width:64px;height:64px;font-size:20px;font-weight:800;display:grid}.profile-top h2{color:#f5f5f7;letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:750}.profile-top p{color:#71717a;margin:0;font-size:13px}.profile-info{grid-template-columns:repeat(2,1fr);gap:20px;margin:0;display:grid}.profile-info div{flex-direction:column;gap:6px;display:flex}.profile-info dt{color:#71717a;font-size:12px}.profile-info dd{color:#f5f5f7;margin:0;font-size:15px;font-weight:600}.student-button{cursor:pointer;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.student-button.primary{color:#fff;background:#7c3aed;border:1px solid #7c3aed}.student-button.primary:hover{background:#6d28d9;border-color:#6d28d9}.student-button.ghost{color:#d4d4d8;background:0 0;border:1px solid #ffffff1f}.student-button.ghost:hover{color:#fff;border-color:#8b5cf666}.student-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#050508b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#101015;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:560px;max-height:calc(100vh - 60px);padding:28px;overflow-y:auto}.modal-card h2{color:#f5f5f7;letter-spacing:-.02em;margin:0 0 8px;font-size:22px;font-weight:700}.modal-sub{color:#71717a;margin:0 0 22px;font-size:13px}.modal-field{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.modal-field label{color:#d4d4d8;font-size:13px;font-weight:600}.modal-field textarea{color:#f5f5f7;resize:vertical;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.modal-field textarea:focus{background:#101017;border-color:#8b5cf6b3}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.quiz-list{flex-direction:column;gap:20px;margin-bottom:8px;display:flex}.quiz-item p{color:#f5f5f7;margin:0 0 10px;font-size:14px;font-weight:600}.quiz-item label{color:#d4d4d8;cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.quiz-item input[type=radio]{accent-color:#7c3aed}@media (width<=1100px){.student-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.student-layout{grid-template-columns:1fr}.student-sidebar{border-bottom:1px solid #ffffff14;border-right:0;flex-direction:row;align-items:center;gap:16px;min-height:auto;padding:16px 20px;overflow-x:auto}.student-nav{flex-direction:row;gap:6px}.student-nav-item{white-space:nowrap}.student-progress-card{display:none}.student-content{padding:28px 20px 40px}.student-content-head{flex-direction:column;align-items:flex-start}.task{flex-direction:column;align-items:flex-start;gap:16px}.task-actions,.task-actions .student-button{width:100%}.table-row{grid-template-columns:2fr 1fr .6fr}.table-row>span:nth-child(4),.table-head>span:nth-child(4){display:none}}@media (width<=600px){.student-header{padding:0 18px}.student-role,.student-user-info{display:none}.student-content-head h1{font-size:26px}.student-cards{grid-template-columns:1fr 1fr}.profile-info{grid-template-columns:1fr}.table-row{grid-template-columns:1.6fr .6fr}.table-row>span:nth-child(2),.table-head>span:nth-child(2){display:none}}.student-task-layout{width:min(1100px,100% - 48px);margin:0 auto;padding:32px 0 80px}.task-back{color:#a1a1aa;cursor:pointer;background:0 0;border:0;margin-bottom:24px;padding:0;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s}.task-back:hover{color:#f5f5f7}.task-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;padding-bottom:26px;display:flex}.task-header-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.task-header h1{color:#f5f5f7;letter-spacing:-.03em;margin:0 0 12px;font-size:34px;font-weight:750;line-height:1.1}.task-header-meta{color:#71717a;flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.task-difficulty{color:#a1a1aa;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600}.badge-pending{color:#c4b5fd;background:#7c3aed1f;border:1px solid #8b5cf659}.task-tabs{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;flex-wrap:wrap;gap:4px;margin-bottom:28px;padding:4px;display:flex}.task-tab{color:#a1a1aa;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:flex}.task-tab:hover{color:#f5f5f7}.task-tab.is-active{color:#f5f5f7;background:#7c3aed29}.tab-counter{color:#c4b5fd;background:#7c3aed33;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.task-panel{background:#0e0e13;border:1px solid #ffffff14;border-radius:12px;padding:28px}.task-panel h2{color:#f5f5f7;letter-spacing:-.01em;margin:0 0 14px;font-size:18px;font-weight:700}.task-panel h2+h2,.task-panel p+h2,.task-panel ul+h2,.task-panel div+h2{margin-top:32px}.task-panel p{color:#a1a1aa;margin:0;font-size:14px;line-height:1.75}.task-list-ul{color:#a1a1aa;margin:0;padding-left:20px;font-size:14px;line-height:1.9}.task-list-check{padding-left:0;list-style:none}.task-list-check li{padding-left:26px;position:relative}.task-list-check li:before{content:"✓";color:#a7f3d0;font-weight:700;position:absolute;left:0}.theory-list{flex-direction:column;gap:12px;display:flex}.theory-item{background:#101014;border:1px solid #ffffff14;border-radius:10px;padding:18px 20px}.theory-item h3{color:#f5f5f7;margin:0 0 8px;font-size:15px;font-weight:700}.theory-item p{color:#a1a1aa;margin:0;font-size:13px;line-height:1.7}.theory-note{color:#c4b5fd;border:1px dashed #8b5cf659;border-radius:10px;margin-top:22px;padding:14px 16px;font-size:13px;line-height:1.6}.code-block{background:#0a0a10;border:1px solid #ffffff14;border-radius:10px;margin:0 0 28px;padding:20px;overflow-x:auto}.code-block code{color:#e4e4e7;white-space:pre;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7}.work-form{flex-direction:column;gap:18px;margin-top:8px;display:flex}.work-form .modal-field input,.work-form .modal-field textarea{color:#f5f5f7;resize:vertical;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.work-form .modal-field input:focus,.work-form .modal-field textarea:focus{background:#101017;border-color:#8b5cf6b3}.work-actions{justify-content:flex-end;margin-top:6px;display:flex}.task-submitted{text-align:center;padding:30px 0}.task-submitted h2{color:#f5f5f7;margin:12px 0 8px;font-size:22px;font-weight:700}.task-submitted p{color:#a1a1aa;max-width:460px;margin:0 auto 22px;font-size:14px;line-height:1.7}.comment-list{flex-direction:column;gap:12px;margin-bottom:22px;display:flex}.comment{background:#101014;border:1px solid #ffffff14;border-radius:10px;padding:16px 18px}.comment-teacher{background:#7c3aed0f;border-color:#8b5cf64d}.comment-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.comment-head strong{color:#f5f5f7;font-size:13px;font-weight:700}.comment-role{color:#c4b5fd;letter-spacing:.06em;text-transform:uppercase;background:#7c3aed2e;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.comment-date{color:#52525b;margin-left:auto;font-size:12px}.comment p{color:#d4d4d8;margin:0;font-size:14px;line-height:1.65}.comment-form{border-top:1px solid #ffffff14;flex-direction:column;gap:12px;padding-top:22px;display:flex}.comment-form textarea{color:#f5f5f7;resize:vertical;background:#0d0d12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,background .15s}.comment-form textarea:focus{background:#101017;border-color:#8b5cf6b3}.comment-form .student-button{align-self:flex-end}.task-clickable{cursor:pointer;transition:border-color .15s,background .15s}.task-clickable:hover{background:#101017;border-color:#8b5cf64d}.task-arrow{color:#52525b;font-size:16px;transition:color .15s,transform .15s}.task-clickable:hover .task-arrow{color:#c4b5fd;transform:translate(4px)}@media (width<=800px){.student-task-layout{width:calc(100% - 32px);padding:24px 0 60px}.task-header{flex-direction:column;align-items:flex-start}.task-header h1{font-size:26px}.task-panel{padding:22px}.task-tabs{overflow-x:auto}.task-tab{white-space:nowrap}}.module-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.module-card-student{text-align:left;cursor:pointer;background:#0e0e13;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:12px;padding:22px;font-family:inherit;transition:border-color .15s,background .15s;display:flex;position:relative}.module-card-student:hover{border-color:var(--module-color,#8b5cf666);background:#101017}.module-card-head{justify-content:space-between;align-items:center;display:flex}.module-card-dot{background:var(--module-color,#7c3aed);border-radius:50%;width:8px;height:8px}.module-card-count{color:#71717a;font-family:JetBrains Mono,monospace;font-size:11px}.module-card-student h3{color:#f5f5f7;letter-spacing:-.02em;margin:4px 0 0;font-size:18px;font-weight:700}.module-card-student p{color:#a1a1aa;margin:0;font-size:13px;line-height:1.6}.module-card-progress{align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.module-card-progress span{color:#a1a1aa;text-align:right;min-width:34px;font-size:12px}.student-module-desc{color:#a1a1aa;margin:10px 0 0;font-size:14px;line-height:1.6}.result-list{flex-direction:column;gap:10px;display:flex}.result-card{background:#0e0e13;border:1px solid #ffffff14;border-radius:10px;transition:border-color .15s;overflow:hidden}.result-card.is-open{border-color:#8b5cf659}.result-head{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 22px;font-family:inherit;display:flex}.result-head-main h3{color:#f5f5f7;margin:0 0 6px;font-size:15px;font-weight:650}.result-head-meta{color:#71717a;gap:8px;font-size:12px;display:flex}.result-head-side{align-items:center;gap:14px;display:flex}.result-toggle{color:#a1a1aa;border:1px solid #ffffff1f;border-radius:6px;place-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:grid}.result-body{background:#0a0a10;border-top:1px solid #ffffff0f;padding:20px 22px 24px}.result-block+.result-block{margin-top:22px}.result-block-label{color:#71717a;margin:0 0 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.result-comment{color:#d4d4d8;margin:0;font-size:14px;line-height:1.65}.criteria-list{flex-direction:column;gap:10px;display:flex}.criteria-row{color:#d4d4d8;grid-template-columns:1.6fr 2fr 60px;align-items:center;gap:14px;font-size:13px;display:grid}.criteria-bar{background:#1c1c24;border-radius:999px;height:6px;overflow:hidden}.criteria-fill{border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a855f7);height:100%}.criteria-row strong{color:#f5f5f7;text-align:right;font-weight:700}.review-head{background:#7c3aed0f;border:1px solid #8b5cf64d;border-radius:12px;grid-template-columns:120px 1fr;gap:22px;margin-bottom:26px;padding:22px;display:grid}.review-grade{border-right:1px solid #8b5cf640;flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex}.review-grade span{color:#a1a1aa;font-size:12px}.review-grade strong{color:#f5f5f7;letter-spacing:-.04em;font-size:44px;font-weight:800;line-height:1}.review-summary-label{color:#a1a1aa;margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:12px}.review-summary p:last-child{color:#d4d4d8;margin:0;font-size:14px;line-height:1.6}.review-comment{color:#e4e4e7;background:#7c3aed0f;border-left:3px solid #8b5cf699;border-radius:0 10px 10px 0;margin:0 0 10px;padding:18px 20px;font-size:14px;line-height:1.7}.review-note{color:#71717a;border:1px dashed #ffffff1a;border-radius:10px;margin-top:26px;padding:14px 16px;font-size:12px;line-height:1.6}@media (width<=800px){.review-head{grid-template-columns:1fr}.review-grade{border-bottom:1px solid #8b5cf640;border-right:0;padding-bottom:16px}.criteria-row{grid-template-columns:1fr 60px;grid-template-areas:"name score""bar bar";row-gap:6px}.criteria-row>span{grid-area:name}.criteria-bar{grid-area:bar}.criteria-row strong{grid-area:score}}.section-layout{width:min(1100px,100% - 48px);margin:0 auto;padding:32px 0 80px}.section-head{border-bottom:1px solid #ffffff14;margin-bottom:26px;padding:32px 0 30px}.section-head-top{align-items:center;gap:14px;margin-bottom:14px;display:flex}.section-type{border:1px solid var(--section-color,#7c3aed);color:var(--section-color,#c4b5fd);letter-spacing:.1em;background:0 0;border-radius:4px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.section-count{color:#71717a;font-family:JetBrains Mono,monospace;font-size:12px}.section-head h1{color:#f5f5f7;letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(32px,4.5vw,52px);font-weight:750;line-height:1.05}.section-description{color:#a1a1aa;max-width:640px;margin:0 0 22px;font-size:15px;line-height:1.7}.section-progress{align-items:center;gap:14px;max-width:420px;display:flex}.section-progress .progress-bar{flex:1}.section-progress strong{color:#f5f5f7;min-width:40px;font-size:14px;font-weight:700}.section-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}@media (width<=800px){.section-layout{width:calc(100% - 32px);padding:24px 0 60px}.section-head h1{font-size:30px}}:root{color:#f5f5f7;font-synthesis:none;text-rendering:optimizelegibility;background:#09090c;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#f5f5f7;background:#09090c;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font-family:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
