:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b1020;--surface:#111a2e;--foreground:#f3f6fc;--muted:#9aa8bf;--line:#9db1d126;--accent:#9be870;--blue:#83b7ff;--purple:#c1a2ff;--orange:#ffc078;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:"Cascadia Code", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);text-wrap:pretty;margin:0;font-size:16px;line-height:1.65}a{color:inherit}button,input,textarea,select{font:inherit}::selection{color:var(--foreground);background:#9be87047}html{scrollbar-color:#46536b var(--background)}input,textarea{caret-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-width{width:min(1120px,100% - 44px);margin-inline:auto}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b1020f0;position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;gap:20px;width:min(1160px,100% - 44px);min-height:68px;margin:auto;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:9px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:var(--accent);font-family:var(--font-code)}.nav-menu{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.nav-link{min-height:44px;color:var(--muted);border-radius:6px;align-items:center;padding:8px 12px;font-size:14px;text-decoration:none;display:flex}.nav-link:hover,.nav-link[aria-current=page]{color:var(--accent);background:#9be87017}.menu-toggle{display:none}.eyebrow{color:var(--accent);font-family:var(--font-code);letter-spacing:.07em;margin:0 0 10px;font-size:12px}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #9be87099}.hero{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:center;gap:54px;padding-top:77px;padding-bottom:72px;display:grid}.hero h1,.page-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(38px,5.3vw,61px);line-height:1.08}.hero h1 span,.page-hero h1 span{color:var(--accent)}.hero-description{max-width:640px;color:var(--muted);margin:16px 0 20px;font-size:16px;line-height:1.75}.button-row{flex-wrap:wrap;gap:9px;display:flex}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent);color:#11200c}.button-primary:hover{background:#b4f391}.button-secondary{border-color:var(--line);color:var(--foreground)}.button-secondary:hover{border-color:#9be8708c}.button-quiet{border-color:var(--line);color:var(--muted);background:0 0}.hero-meta{color:#aab7ca;flex-wrap:wrap;gap:8px 16px;margin-top:20px;font-size:13px;display:flex}.hero-meta span:before{content:"✓";color:var(--accent);margin-right:6px}.terminal-card{border:1px solid var(--line);font-family:var(--font-code);background:#0e1628;border-radius:9px;overflow:hidden;box-shadow:0 22px 65px #0000003d}.terminal-bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;height:41px;padding:0 13px;display:flex}.terminal-bar>span{background:#fb7185;border-radius:50%;width:8px;height:8px}.terminal-bar>span:nth-child(2){background:#fbbf24}.terminal-bar>span:nth-child(3){background:#9be870}.terminal-bar p{color:#aab7ca;margin:0 auto;font-size:12px}.terminal-body{color:#ccd6e5;min-height:190px;padding:18px;font-size:13px}.terminal-body p{margin:0 0 7px}.terminal-body b{color:var(--accent);font-weight:500}.terminal-body pre{color:#e5edfa;white-space:pre-wrap;margin:0 0 14px 13px}.terminal-body .terminal-muted{color:var(--muted)}.cursor{color:var(--accent)}.terminal-footer{border-top:1px solid var(--line);color:var(--muted);padding:10px 15px;font-size:12px}.section{padding-top:34px;padding-bottom:65px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.section-heading h2,.project-note h2,.content-card h2{letter-spacing:-.045em;margin:0;font-size:clamp(24px,3vw,32px);line-height:1.2}.section-heading>p{max-width:410px;color:var(--muted);margin:0;font-size:15px}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.course-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-height:260px;padding:16px;text-decoration:none;display:flex}.featured-card{background:linear-gradient(150deg, #9be87012, var(--surface) 44%);border-color:#9be87047}.featured-card:hover{border-color:#9be870a6}.planned-card{background:linear-gradient(150deg, #9db1d106, var(--surface) 44%)}.card-top{justify-content:space-between;align-items:center;display:flex}.course-icon{color:var(--accent);font-family:var(--font-code);font-size:21px}.icon-blue{color:var(--blue)}.icon-purple{color:var(--purple)}.icon-orange{color:var(--orange)}.badge{color:var(--accent);background:#9be8701a;border-radius:20px;padding:4px 8px;font-size:12px}.badge-muted{color:var(--muted);background:#9db1d117}.card-kicker{color:var(--muted);font-family:var(--font-code);margin:12px 0 4px;font-size:13px}.course-card h3{letter-spacing:-.03em;margin:0;font-size:19px}.course-card>p:not(.card-kicker){color:var(--muted);margin:7px 0 14px;font-size:14px;line-height:1.65}.card-link{color:var(--accent);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:13px;font-weight:700;display:flex}.planned-card .card-link{color:var(--muted);font-weight:400}.roadmap-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#111a2e6b;padding:47px 0 50px}.stack-band{border-top:1px solid var(--line);padding:46px 0 42px}.stack-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stack-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:150px;padding:15px}.stack-card .card-kicker{margin-top:0}.stack-card h3{letter-spacing:-.025em;margin:0;font-size:16px}.stack-card>p:last-child{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.65}.stack-note{color:var(--muted);margin:13px 0 0;font-size:13px}.stack-category{color:var(--muted);margin:3px 0 0;font-size:13px}.roadmap{grid-template-columns:repeat(4,1fr);gap:9px;margin:0;padding:0;list-style:none;display:grid}.roadmap li{border:1px solid var(--line);min-height:64px;color:var(--muted);border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:1px 9px;padding:13px;font-size:14px;display:grid}.roadmap li>span{color:var(--muted);font-family:var(--font-code);grid-row:span 2;font-size:12px}.roadmap li strong{color:var(--muted);font-size:12px;font-weight:400}.roadmap li.roadmap-current{color:var(--foreground);border-color:#9be8704d}.roadmap-current>span,.roadmap-current strong{color:var(--accent)!important}.project-note{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding-top:45px;padding-bottom:48px;display:grid}.project-note>.brand-mark{font-size:24px}.project-note h2{font-size:21px}.project-note p:not(.eyebrow){max-width:680px;color:var(--muted);margin:7px 0 0;font-size:15px}.site-footer{border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;align-items:center;gap:14px;width:min(1120px,100% - 44px);min-height:76px;margin:auto;display:flex}.footer-inner p,.footer-inner span{color:var(--muted);margin:0;font-size:12px}.page-main{min-height:calc(100vh - 146px);padding-top:54px;padding-bottom:60px}.page-hero{max-width:800px;margin-bottom:25px}.page-hero h1{font-size:clamp(36px,5vw,52px)}.page-hero>p:last-child{max-width:690px;color:var(--muted);margin:13px 0 0;font-size:15px;line-height:1.75}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,.75fr);gap:13px;display:grid}.content-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:21px}.content-card h2{font-size:20px}.content-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.75}.about-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.profile-card{background:linear-gradient(145deg, #9be87012, var(--surface) 56%)}.profile-card h2{margin:0;font-size:19px}.profile-card h2 a{text-decoration:none}.profile-role,.profile-meta{color:var(--muted);font-size:12px}.profile-list{color:var(--muted);gap:7px;padding-left:17px;font-size:13px;display:grid}.profile-list li::marker{color:var(--accent)}.section-spaced{margin-top:13px}.skill-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;display:grid}.skill-grid>div,.info-grid>div{border:1px solid var(--line);background:#0b102080;border-radius:6px;padding:12px}.skill-grid strong,.info-grid strong{font-size:13px}.skill-grid p,.info-grid p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.65}.cv-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.cv-heading h1{letter-spacing:-.06em;margin:0;font-size:clamp(34px,5vw,50px);line-height:1.1}.cv-subtitle{color:var(--muted);margin:6px 0 0;font-size:14px}.cv-contact,.cv-socials{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:13px;display:flex}.cv-contact a,.cv-socials a{color:inherit;text-decoration:none}.cv-socials a{color:var(--blue)}.cv-contact a:hover,.cv-socials a:hover{color:var(--accent)}.cv-actions{flex-wrap:wrap;gap:7px;display:flex}.cv-stack{gap:11px;display:grid}.cv-section .eyebrow{margin-bottom:6px}.cv-section h2{font-size:18px}.cv-section>p:not(.eyebrow){margin:8px 0 0}.cv-entry{border-bottom:1px solid var(--line);padding:9px 0}.cv-entry:last-child{border-bottom:0;padding-bottom:0}.cv-entry-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cv-entry-heading h2,.cv-entry h2{letter-spacing:0;margin:0;font-size:14px}.cv-entry-heading span{color:var(--blue);font-family:var(--font-code);flex-shrink:0;font-size:12px}.cv-company{color:var(--foreground);margin:2px 0 0;font-size:13px;font-weight:600}.cv-entry p:not(.cv-company){color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.65}.cv-bullets{color:var(--muted);gap:5px;margin:7px 0;padding-left:17px;font-size:13px;line-height:1.65;display:grid}.cv-bullets li::marker{color:var(--accent)}.cv-note{color:var(--muted);margin:10px 0 0;font-size:13px}.print-button{cursor:pointer}.text-link{color:var(--accent);font-size:13px;text-decoration:none}.text-link:hover{text-underline-offset:3px;text-decoration:underline}.course-layout{grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.course-sidebar{border-right:1px solid var(--line);background:#0e1628;flex-direction:column;height:calc(100vh - 68px);padding:18px 12px;display:flex;position:sticky;top:68px;overflow-y:auto}.sidebar-heading{align-items:center;gap:9px;padding:2px 7px 16px;text-decoration:none;display:flex}.sidebar-icon{color:var(--accent);font-family:var(--font-code);font-size:19px}.sidebar-heading strong{font-size:14px;display:block}.sidebar-heading small{color:var(--muted);font-family:var(--font-code);letter-spacing:.04em;margin-top:2px;font-size:12px;display:block}.sidebar-label{color:var(--muted);font-family:var(--font-code);letter-spacing:.04em;margin:11px 6px 5px;font-size:12px}.sidebar-search{border:1px solid var(--line);background:var(--background);width:100%;min-height:44px;color:var(--foreground);border-radius:5px;padding:8px 9px;font-size:12px}.progress-box{border:1px solid var(--line);border-radius:5px;margin-top:13px;padding:9px}.progress-label{color:var(--muted);justify-content:space-between;gap:7px;font-size:12px;display:flex}.progress-label strong{color:var(--foreground)}.progress-track{background:#273149;border-radius:5px;height:4px;margin-top:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.progress-controls{margin-top:8px}.progress-controls .button{width:100%;min-height:44px;padding-inline:8px;font-size:12px}.progress-controls .completed{color:var(--accent);border-color:#9be87059}.lesson-nav{gap:3px;display:grid}.lesson-link{min-height:44px;color:var(--muted);border-radius:5px;grid-template-columns:25px 1fr auto;align-items:center;gap:5px;padding:7px 6px;font-size:12px;text-decoration:none;display:grid}.lesson-link:hover,.lesson-link[aria-current=page]{color:var(--foreground);background:#9be87014}.lesson-number{color:var(--muted);font-family:var(--font-code);font-size:12px}.lesson-check{color:var(--accent)}.sidebar-tip{color:var(--muted);margin-top:auto;padding:10px 8px 0;font-size:12px;line-height:1.6}.sidebar-tip strong{color:var(--foreground)}.course-main{min-width:0;padding:23px clamp(18px,4vw,55px) 25px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:26px;font-size:12px;display:flex}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--accent)}.course-welcome{padding:30px 0 28px}.course-welcome h1{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,43px)}.course-welcome>p:not(.eyebrow){max-width:680px;color:var(--muted);font-size:15px;line-height:1.7}.lesson-grid{gap:7px;display:grid}.lesson-unit{margin-top:20px}.lesson-unit-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.lesson-unit-heading h3{color:var(--foreground);letter-spacing:-.02em;margin:0;font-size:17px}.lesson-unit-heading>span{color:var(--muted);flex-shrink:0;font-size:12px}.lesson-tile{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:33px 1fr auto;align-items:center;gap:10px;padding:12px;text-decoration:none;display:grid}.lesson-tile:hover{border-color:#9be87066}.tile-index{color:var(--accent);font-family:var(--font-code);font-size:12px}.lesson-tile strong{font-size:14px;display:block}.lesson-tile small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5;display:block}.lesson-duration{color:var(--muted);font-family:var(--font-code);margin-top:5px;font-size:12px;display:block}.tile-arrow{color:var(--accent)}.course-source-note{color:var(--muted);margin-top:18px;font-size:13px}.lesson-article{max-width:850px;margin:0 auto}.lesson-article h1{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,42px);line-height:1.15}.lesson-meta{flex-wrap:wrap;gap:7px;margin:12px 0 20px;display:flex}.lesson-meta span{border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:5px 9px;font-size:12px}.lesson-article h2{letter-spacing:-.03em;margin:30px 0 8px;font-size:20px}.lesson-article h3,.lesson-article h4,.lesson-article h5,.lesson-article h6{letter-spacing:-.02em;margin:22px 0 7px;font-size:16px}.lesson-article p,.lesson-article li{color:#bac5d6;font-size:15px;line-height:1.8}.lesson-article ul,.lesson-article ol{padding-left:20px}.lesson-article li::marker{color:var(--accent)}.lesson-article code{color:var(--accent);font-family:var(--font-code);font-size:.9em}.code-block{border:1px solid var(--line);color:#dce5f2;font-family:var(--font-code);white-space:pre-wrap;background:#070c17;border-radius:6px;margin:14px 0;padding:58px 14px 14px;font-size:13px;line-height:1.8;position:relative;overflow-x:auto}.code-copy{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:#111a2e;border-radius:4px;padding:6px 10px;font-size:13px;position:absolute;top:7px;right:7px}.code-copy-status{max-width:calc(100% - 106px);color:var(--muted);font-size:12px;position:absolute;top:17px;right:90px}.callout{border-left:2px solid var(--blue);color:var(--muted);background:#83b7ff0f;margin:14px 0;padding:12px;font-size:14px;line-height:1.65}.quiz-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;margin-top:30px;padding:16px}.quiz-card h2{margin:0 0 10px;font-size:15px}.quiz-card p{color:var(--muted);margin:0 0 9px;font-size:14px}.quiz-options{gap:6px;display:grid}.quiz-option{border:1px solid var(--line);min-height:44px;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border-radius:5px;padding:8px 10px;font-size:14px}.quiz-option:hover{border-color:#9be87080}.quiz-option.is-correct{background:#9be87014;border-color:#9be870a6}.quiz-option.is-incorrect{background:#ff737312;border-color:#ff7373a6}.quiz-feedback{min-height:17px;margin-top:8px!important}.quiz-feedback.is-correct{color:var(--accent)!important}.quiz-feedback.is-incorrect{color:#ffadad!important}.lesson-actions{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:25px;padding-top:15px;display:flex}.lesson-actions>div{flex-wrap:wrap;gap:7px;display:flex}.lesson-actions button{cursor:pointer}.lesson-actions .completed{color:var(--accent);border-color:#9be87059}.lesson-empty{border:1px solid var(--line);border-radius:7px;padding:20px}.lesson-empty h1{margin:0}.contact-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:16px;display:grid}.contact-form{gap:12px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-field{gap:5px;display:grid}.form-field-full{grid-column:1/-1}.form-field label{color:#c3ccda;font-size:14px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--foreground);background:#0b1222;border-radius:5px;padding:8px 10px;font-size:14px}.form-field textarea{resize:vertical;min-height:125px}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:9px 11px;font-size:14px}.form-status.error{color:#ffadad;border-color:#ff737366}.form-status.success{color:var(--accent);border-color:#9be87059}.form-submit{cursor:pointer;width:fit-content}.form-submit:disabled{opacity:.6;cursor:wait}.social-list{gap:8px;margin-top:12px;display:flex}.social-list a{border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:5px;align-items:center;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-flex}.social-list a:hover{color:var(--accent)}.empty-state{border:1px dashed var(--line);color:var(--muted);border-radius:7px;padding:20px;font-size:14px}.admin-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.admin-heading h1,.admin-login-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(28px,4vw,38px)}.admin-list{gap:9px;display:grid}.admin-message-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-message-heading h2{margin:0;font-size:14px}.admin-message>p:not(.profile-meta){border-top:1px solid var(--line);color:#c0cad9;overflow-wrap:anywhere;margin:12px 0 0;padding-top:10px;font-size:14px;line-height:1.75}.admin-login-page{place-items:start center;display:grid}.admin-login-card{align-self:start;width:min(100%,410px);padding:25px}.admin-login-card>.profile-meta{margin:6px 0 16px}.admin-login-card .contact-form{margin-top:15px}@media (max-width:900px){.course-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:30px}.course-layout{grid-template-columns:225px minmax(0,1fr)}}@media (max-width:700px){.page-width,.navbar,.footer-inner{width:min(100% - 32px,560px)}.navbar{flex-wrap:wrap;min-height:62px}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:5px;place-content:center;gap:4px;width:44px;height:44px;display:grid}.menu-toggle span{background:var(--foreground);width:16px;height:2px;display:block}.nav-menu{flex-direction:column;align-items:stretch;width:100%;padding-bottom:10px;display:none}.nav-menu.is-open{display:flex}.nav-link{padding:9px}.hero{grid-template-columns:1fr;gap:25px;padding-top:46px;padding-bottom:46px}.hero h1{font-size:clamp(36px,10vw,50px)}.section{padding-top:20px;padding-bottom:45px}.stack-band{padding:34px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.course-grid{grid-template-columns:1fr 1fr}.course-card{min-height:235px;padding:13px}.roadmap-band{padding:35px 0}.roadmap{grid-template-columns:1fr 1fr}.project-note{grid-template-columns:auto 1fr;padding-top:32px}.project-note>.button{grid-column:2;justify-self:start}.footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 0}.page-main{padding-top:36px}.content-grid,.contact-layout,.skill-grid{grid-template-columns:1fr}.cv-heading{flex-direction:column;align-items:flex-start}.course-layout{grid-template-columns:1fr}.course-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:330px;position:static}.course-main{padding:18px 16px 25px}.admin-heading{flex-direction:column;align-items:flex-start}}@media (max-width:420px){.course-grid,.stack-grid,.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.course-card{min-height:205px}.lesson-actions{flex-direction:column;align-items:flex-start}}@media (print){.site-header,.site-footer,.cv-actions{display:none!important}body{color:#111827;background:#fff;font-family:Arial,sans-serif}.page-main{width:100%;min-height:0;margin:0;padding:0}.content-card{break-inside:avoid;background:#fff;border-color:#d1d5db}.cv-stack{gap:7px}.cv-section{padding:10px 12px}.cv-heading{border-bottom:2px solid #1d4ed8;padding-bottom:10px}.cv-contact,.cv-socials,.cv-entry p:not(.cv-company),.cv-bullets,.cv-note{color:#374151}.cv-entry{break-inside:avoid}@page{margin:14mm}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
