:root{color-scheme:dark;--bg:#0A0A0F;--surface:#13111c;--surface2:#1a1625;--line:#2b2538;--purple:#7C4DFF;--violet:#8B5CF6;--text:#F4F4F8;--muted:#a7a0b5;--soft:#c9b8ea;--green:#85d9b0;--red:#ffacb4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:#cdb3ff;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #c5a4ff;outline-offset:4px}button{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:36px;line-height:1.15;margin-bottom:14px;font-weight:700}h2{font-size:21px;margin-bottom:16px}h3{font-size:16px;margin-bottom:9px}p{line-height:1.7;color:var(--muted)}small{font-size:12px}svg{display:inline-block;vertical-align:middle;flex-shrink:0}input,select,textarea{border:1px solid #43354f;background:#100d18;border-radius:10px;color:var(--text);padding:12px 14px;min-width:0}input::placeholder,textarea::placeholder{color:#8f859f}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}form .field{margin-bottom:18px}input:autofill{color:var(--text)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:15px;padding:12px;z-index:100;background:#342347}.skip:focus{top:10px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.1px;text-transform:uppercase;color:#bba0e8}.mono,code,pre{font-family:"Cascadia Code",Consolas,"Courier New",monospace}.mono{font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #3b2e4b;border-radius:10px;background:#201929;color:var(--text);padding:12px 17px;font-size:12px;font-weight:650;min-height:42px;text-decoration:none;transition:background .16s,border-color .16s,transform .16s}.btn:hover{background:#30213f;border-color:#6f4e96;text-decoration:none}.btn.primary{background:linear-gradient(125deg,#8B5CF6,#6d35c1);border-color:#8b5cf6;box-shadow:0 5px 22px #572a9435}.btn.primary:hover{background:linear-gradient(125deg,#9d70ff,#8049d4);transform:translateY(-1px)}.btn.ghost{background:transparent;border-color:var(--line)}.btn.small{padding:8px 12px;min-height:34px;font-size:11px}.btn.text{border:0;background:transparent;color:#cdb3ff;padding:6px 0;min-height:28px}.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #3a2c4f;border-radius:6px;background:#21172d;color:#c8afea;padding:5px 8px;font-size:10px;letter-spacing:.2px;white-space:nowrap}.tag.green{color:var(--green);background:#142820;border-color:#264c3a}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.wrap{flex-wrap:wrap}.right{margin-left:auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}.panel p:last-child{margin-bottom:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px}.section-title h2{margin:0}.fine{font-size:11px;line-height:1.65;color:#978ba6}.brand{display:flex;align-items:center;gap:11px;color:var(--text)}.brand:hover{text-decoration:none}.brand img{width:35px;height:35px;filter:drop-shadow(0 4px 13px #7c4dff40)}.wordmark{display:flex;flex-direction:column;font-size:17px;font-weight:800;letter-spacing:1.9px;line-height:1.3}.wordmark span{color:#aa84fa;font-size:9px;font-weight:700;letter-spacing:3.2px}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;justify-items:center;gap:20px}.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:28px;border-right:1px solid var(--line);background:#0f0d16;padding:29px 18px 20px}.sidebar .brand{padding:0 9px}.nav-label{padding:0 14px;font-size:9px;letter-spacing:1.6px;color:#81748f;font-weight:700;margin:9px 0 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#aca1bb;border:1px solid transparent;font-size:12px;border-radius:9px}.nav a:hover{background:#21162e;color:white;text-decoration:none}.nav a.active{background:#281b3c;border-color:#48315f;color:#e0c7ff}.nav a.active svg{color:#bb90ff}.nav-count{margin-left:auto;font-size:9px;color:#b69bd8;background:#352246;padding:3px 6px;border-radius:4px}.side-course{padding:15px;margin-top:10px;border:1px solid #342641;background:#17121f;border-radius:10px}.side-course p{font-size:11px;margin:7px 0 12px;line-height:1.5}.side-course strong{font-size:11px}.sidebar-bottom{margin-top:auto}.account-link{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:18px 8px 0;color:inherit;font-size:11px}.account-link:hover{text-decoration:none}.avatar{display:grid;place-items:center;width:33px;height:33px;border:1px solid #5a3a7d;border-radius:50%;background:#352046;color:#dfc4ff;flex-shrink:0;font-weight:700}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:126px;display:block;margin-bottom:3px}.account-link small{font-size:9px;color:#9b8ba9}.workspace{min-width:0}.topbar{height:76px;display:flex;align-items:center;gap:14px;justify-content:space-between;border-bottom:1px solid #25202e;padding:0 36px;background:#0e0c14}.breadcrumb{font-size:11px;color:#8e819d}.breadcrumb b{font-weight:500;color:#ded4ea}.breadcrumb span{padding:0 10px;color:#54475f}.private{display:flex;gap:7px;align-items:center;font-size:10px;color:#aa9dbb}.private svg{color:#ad88e7}.mobile-brand,.menu-toggle{display:none}.main{max-width:1440px;margin:auto;padding:34px 36px 40px}.intro{margin-bottom:25px}.intro p{font-size:12px;margin-bottom:0}.intro h1{font-size:27px;letter-spacing:-.8px;margin:0 0 8px}.greeting-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:33px 36px;border:1px solid #433059;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse 65% 140% at 95% 20%,#4c24715c,transparent),linear-gradient(115deg,#20152d,#15111f);position:relative}.hero h1{font-size:40px;letter-spacing:-1.5px;margin:17px 0 14px;line-height:1.17}.hero h1 em{font-style:normal;color:#b48af8}.hero p{font-size:12px;max-width:360px;color:#bdb0cc;margin-bottom:22px}.hero .eyebrow{display:flex;align-items:center;gap:8px;font-size:9px}.hero-meta{font-size:10px;color:#b09fc3;margin-top:17px;display:flex;gap:20px}.terminal-art{border:1px solid #514065;border-radius:13px;background:#0c0a13;box-shadow:0 20px 45px #0005;transform:rotate(-2deg);font-family:Consolas,monospace;font-size:12px;overflow:hidden}.terminal-chrome{padding:12px 15px;border-bottom:1px solid #2e233e;display:flex;align-items:center;gap:5px;color:#80708e;font-size:9px}.terminal-chrome i{width:6px;height:6px;border-radius:50%;background:#775c8c}.terminal-chrome i:nth-child(2){background:#a477c7}.terminal-chrome i:nth-child(3){background:#67458d}.terminal-chrome span{margin:auto}.terminal-art pre{padding:21px;margin:0;color:#b5a8c3;font-size:11px;line-height:2.05;white-space:pre-wrap}.terminal-art strong{font-weight:400;color:#cba7ff}.terminal-art em{font-style:normal;color:#88d4aa}.cursor{display:inline-block;width:7px;height:13px;background:#ae7af5;vertical-align:middle}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 28px}.stat{padding:18px 20px;background:#121019;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:14px}.stat-icon{width:35px;height:35px;display:grid;place-items:center;background:#23182e;border:1px solid #3c2950;color:#b992ed;border-radius:9px}.stat strong{font-size:23px;letter-spacing:-1px;font-weight:650}.stat strong small{font-size:12px;font-weight:400;color:#92869f;letter-spacing:0}.stat p{font-size:10px;margin:3px 0 0;line-height:1.2}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px}.dashboard-grid .section-title{margin-top:0}.topic-row{padding:17px 18px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#13101b}.topic-row:hover{border-color:#634383;text-decoration:none;background:#191321}.topic-symbol{width:41px;height:41px;border-radius:10px;background:#241931;display:grid;place-items:center;color:#ba94eb}.topic-info .eyebrow{font-size:8px;letter-spacing:1.4px;color:#8d79a5;margin-bottom:6px}.topic-info h3{font-size:13px;letter-spacing:-.1px;color:var(--text);margin-bottom:5px}.topic-info p{font-size:10px;line-height:1.4;margin:0}.topic-end{text-align:right;color:#a18cae;font-size:9px;min-width:53px}.topic-end svg{display:block;margin:9px 0 0 auto}.topic-list{display:flex;flex-direction:column;gap:10px}.focus-panel{background:radial-gradient(ellipse at 90% 0%,#35204755,transparent),#16101f}.focus-panel h2{font-size:21px;margin:13px 0}.focus-panel p{font-size:11px}.focus-icon{color:#c19bee}.focus-panel .btn{width:100%;margin-top:10px}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.exam-grid strong{font-size:23px;font-weight:600;display:block}.exam-grid span{font-size:10px;color:#a69bb4}.weight-row{margin:12px 0}.weight-row .between{font-size:10px;color:#b1a4be;margin-bottom:7px}progress{appearance:none;-webkit-appearance:none;width:100%;height:5px;border:0;border-radius:10px;background:#30243d;overflow:hidden}progress::-webkit-progress-bar{background:#30243d;border-radius:10px}progress::-webkit-progress-value{background:#8b5cf6;border-radius:10px}progress::-moz-progress-bar{background:#8b5cf6;border-radius:10px}.source-footer{margin:28px 0 0;padding-top:16px;border-top:1px solid #25202f;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:9px;color:#8f819e}.source-footer a{color:#a58dbe}.notice{padding:14px 16px;background:#1c1527;border:1px solid #3b2b4c;border-radius:10px;font-size:12px;line-height:1.7;color:#c0adcf}.notice.good{background:#11251d;border-color:#275340;color:#a9e2c6}.notice.error{background:#2c1820;border-color:#6a3543;color:#ffc0c7}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.search{flex:1;min-width:180px;max-width:420px;font-size:12px}.lesson-group{margin:32px 0}.lesson-group h2{margin-bottom:6px}.lesson-group>p{font-size:12px}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.lesson-card{padding:21px;display:flex;flex-direction:column;gap:12px;min-height:190px}.lesson-card:hover{border-color:#6a468b;text-decoration:none;background:#191322}.lesson-card h3{font-size:16px;margin:0;color:var(--text)}.lesson-card p{font-size:11px;line-height:1.6;margin:0;flex:1}.lesson-card .between{font-size:10px;color:#a68fb9}.lesson-card .tag{font-size:9px}.back{display:inline-flex;align-items:center;gap:8px;font-size:11px;margin-bottom:22px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}.article .lead{font-size:15px;line-height:1.8;margin:20px 0 28px}.article-section{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.article-section h2{font-size:20px}.article-section p{font-size:14px;line-height:1.9;color:#beb3cb}.article pre,.code{padding:20px;background:#0d0a14;border:1px solid #352642;border-radius:12px;color:#cdb2f2;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9}.article-aside{position:sticky;top:24px}.article-aside .btn{width:100%}.objective-list{font-size:11px;line-height:1.9;color:#b4a4c3;padding-left:17px}.details{margin-top:16px}.details summary{cursor:pointer;color:#c9a7ef;font-size:12px}.details p{padding:14px;margin-top:12px;background:#1c1526;border-radius:8px}.quiz-card{max-width:760px;margin:25px auto;padding:32px}.quiz-card h2{font-size:24px;line-height:1.45;margin:25px 0}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:27px}.option{display:flex;align-items:flex-start;gap:12px;padding:16px 17px;border:1px solid #3a2c49;background:#17111f;border-radius:11px;font-size:13px;line-height:1.65;cursor:pointer;font-weight:400;margin:0}.option:has(input:checked){background:#2b1c40;border-color:#9060cf}.option input{margin:4px 0 0;accent-color:#9c70ef;width:15px;height:15px;flex-shrink:0}.quiz-result{padding:17px 0;border-top:1px solid var(--line)}.quiz-result strong{display:block;font-size:13px;margin:9px 0}.quiz-result p{font-size:12px;margin:5px 0}.score{text-align:center;padding:15px}.score strong{font-size:60px;color:#c69bff;font-weight:600}.flash-shell{max-width:740px;margin:0 auto}.flashcard{width:100%;min-height:310px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #5c3c7a;background:radial-gradient(ellipse at top,#342046,#17111f);border-radius:20px;padding:40px;color:var(--text)}.flashcard h2{font-size:25px;line-height:1.5;margin:24px 0;max-width:560px}.flashcard p{font-size:12px;max-width:540px;color:#bda9ce}.flashcard .eyebrow{font-size:9px}.flash-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.empty{text-align:center;padding:50px 25px}.empty svg{color:#a87aec;margin-bottom:20px}.empty h2{font-size:25px}.lab-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.lab-steps{list-style:none;padding:0;margin:22px 0 0;counter-reset:step}.lab-steps li{display:flex;gap:11px;font-size:12px;line-height:1.7;color:#877b95;padding:14px 0;border-bottom:1px solid var(--line)}.lab-steps .number{width:23px;height:23px;border:1px solid #4b385e;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px}.lab-steps li.current{color:#e3d7ed}.lab-steps li.current .number{background:#7143b0;border-color:#ae7de5}.lab-steps li.done{color:#9bd5b3}.lab-steps li.done .number{background:#173c2a;border-color:#36694d}.terminal{border:1px solid #453255;border-radius:13px;background:#0b0910;overflow:hidden}.terminal .terminal-chrome{font-family:Consolas,monospace}.terminal-output{height:330px;overflow:auto;padding:21px;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:#c7b8d7;font-family:Consolas,monospace}.terminal-output .cmd{color:#c49af9}.terminal-output .err{color:#ffb5bc}.terminal-input{display:flex;align-items:center;border-top:1px solid #2d203a;padding:12px 15px;gap:9px;font-family:Consolas,monospace;font-size:11px}.terminal-input span{color:#ad85e1;white-space:nowrap}.terminal-input input{padding:6px 0;border:0;border-radius:0;background:transparent;flex:1;font-family:inherit;font-size:12px;min-width:20px}.terminal-input input:focus{outline:none}.terminal-input:focus-within{box-shadow:inset 0 -2px #9c6ce3}.terminal-input .btn{font-size:10px;padding:7px 12px;min-height:32px}.lab-help{margin-top:13px;font-size:10px}.hint{margin:16px 0 0;color:#c8a1f1;font-family:Consolas,monospace;font-size:12px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.account-grid input{width:100%}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.user-row small{display:block;color:#a291b3;margin-top:4px;overflow-wrap:anywhere}.invite-link{width:100%;font-size:11px;margin:12px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{color:#a99ab9;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:600}td,th{padding:14px 10px;border-bottom:1px solid var(--line)}td .tag{font-size:9px}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr;background:radial-gradient(ellipse 70% 80% at 15% 60%,#2d174859,transparent),#0A0A0F}.auth-story{padding:52px clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;gap:50px;border-right:1px solid #2c2039}.auth-story h1{font-size:clamp(36px,4vw,62px);font-weight:650;letter-spacing:-2px;margin:22px 0;line-height:1.1}.auth-story h1 span{color:#b084ee}.auth-story p{max-width:470px;font-size:14px}.auth-story .terminal-art{max-width:425px;margin:35px 0;transform:rotate(-2deg)}.auth-bottom{font-size:10px;color:#8f7e9f}.auth-form-wrap{display:grid;place-items:center;padding:35px}.auth-card{max-width:390px;width:100%}.auth-card h2{font-size:29px;margin:20px 0 12px}.auth-card>p{font-size:12px;margin-bottom:30px}.auth-card input{width:100%;padding:14px}.auth-card .btn{width:100%;margin-top:7px}.form-error{color:#ffbdc5;font-size:12px;line-height:1.6;min-height:20px;margin-top:15px}.auth-card .fine{margin-top:25px}.mobile-auth-brand{display:none}.footer-link{font-size:11px;color:#ac91ca}.save-state{font-size:10px;color:#8fbdab}.save-state.error{color:#ffc0c7}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#30203f;border:1px solid #8055ab;border-radius:11px;max-width:90vw;color:#f2e9fc;font-size:12px;box-shadow:0 12px 40px #0008;z-index:30;display:none}#toast.show{display:block}.mobile-overlay{display:none}
@media(min-width:1600px){.main{padding-top:42px}.hero{min-height:300px}.terminal-art{max-width:440px;width:100%;justify-self:end}}
@media(max-width:1150px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:25px 12px}.main{padding:27px 25px}.topbar{padding:0 25px}.hero{padding:26px;gap:20px}.hero h1{font-size:32px}.terminal-art pre{font-size:10px;padding:16px}.stats{gap:10px}.stat{padding:15px 12px;gap:10px}.stat-icon{display:none}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:18px}.panel{padding:20px}.article-layout{grid-template-columns:minmax(0,1fr) 220px}.lab-layout{grid-template-columns:255px minmax(0,1fr)}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero .terminal-art{display:none}.hero h1 br{display:none}.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.article-layout{grid-template-columns:1fr}.article-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.article-aside .panel{margin:0}.lab-layout{grid-template-columns:1fr}.lab-steps{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.lesson-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.auth-story{padding:35px}.auth-story h1{font-size:40px}.auth-story .terminal-art{display:none}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none;position:fixed;z-index:21;top:0;left:0;width:245px;box-shadow:20px 0 80px #000a}.shell.menu-open .sidebar{display:flex}.shell.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:#0009;z-index:20;border:0}.menu-toggle{display:inline-flex;padding:7px;min-height:32px}.topbar{height:65px;padding:0 18px}.breadcrumb{display:none}.mobile-brand{display:flex;gap:7px;font-size:12px;font-weight:600}.mobile-brand img{width:24px;height:24px}.private{font-size:9px}.main{padding:25px 18px}.intro h1{font-size:25px}.hero{padding:25px}.hero h1{font-size:33px;max-width:330px}.hero h1 br{display:block}.hero p{max-width:290px}.hero-meta{gap:14px;font-size:9px}.stats{grid-template-columns:1fr 1fr;margin-top:17px;gap:10px}.stat{padding:15px}.stat-icon{display:grid;width:30px;height:30px}.stat strong{font-size:22px}.dashboard-aside{display:flex;flex-direction:column}.topic-row{padding:15px 13px;gap:11px;grid-template-columns:35px minmax(0,1fr) auto}.topic-symbol{width:35px;height:35px}.topic-info h3{font-size:12px}.topic-info p{font-size:10px}.section-title h2{font-size:18px}.section-title a{font-size:10px}.article h1{font-size:31px}.article-aside{display:flex;flex-direction:column}.article-section p{font-size:13px}.quiz-card{padding:22px;margin-top:15px}.quiz-card h2{font-size:21px}.quiz-card .between{gap:8px;flex-wrap:wrap}.flashcard{min-height:330px;padding:25px}.flashcard h2{font-size:22px}.flash-actions .btn{flex:1;padding:12px}.lab-steps{grid-template-columns:1fr}.terminal-input span{font-size:9px}.terminal-output{height:280px;padding:14px;font-size:11px}.terminal-input{padding:10px;gap:6px}.auth-layout{display:block}.auth-story{display:none}.auth-form-wrap{min-height:100dvh;padding:30px 24px}.mobile-auth-brand{display:flex;margin-bottom:45px}.auth-card{max-width:390px}.auth-card h2{font-size:31px}.source-footer{line-height:1.6}.account-link .right{display:none}.toolbar select{max-width:100%;font-size:12px}.between.wrap>p{margin-bottom:0}.hero .row{flex-wrap:wrap}.panel{padding:20px}td,th{padding:11px 8px}.lesson-card{min-height:170px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
