:root{--bg:#f5f2eb;--surface:#fffdf8;--surface-soft:#eeebe3;--ink:#1d201d;--muted:#555a54;--line:#d3cec3;--line-strong:#aaa69d;--accent:#145f58;--accent-strong:#0d4b46;--accent-soft:#dce9e5;--success:#2f6b55;--success-soft:#e2ece6;--warning:#9b5d35;--warning-soft:#f5e8dd;--code:#181c1b;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--shadow:0 22px 60px #24272212;--space-1:6px;--space-2:10px;--space-3:16px;--space-4:24px;--space-5:36px;--space-6:52px;--space-7:76px;--motion:.18s cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{background:var(--bg);max-width:100%;color:var(--ink);margin:0;font-family:Alexandria,sans-serif;font-size:16px;line-height:1.8;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.28;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");position:fixed;inset:0}#app:focus{outline:none}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #145f5842}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35}p{color:var(--muted)}.site-shell{max-width:1320px;margin:auto;padding:0 34px}.page-width{max-width:1160px;margin:0 auto}.narrow-page{max-width:760px}.icon{flex:none;width:20px;height:20px}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:78px;display:grid}.brand{letter-spacing:.04em;direction:ltr;justify-self:end;align-items:center;gap:11px;font-size:14px;font-weight:700;display:flex}.brand b{color:var(--accent)}.brand-symbol{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:33px;height:33px;font:500 10px/1 IBM Plex Mono,monospace;display:grid}.brand-symbol span{color:var(--accent);margin:0 1px}.topnav{color:var(--muted);align-items:center;gap:30px;font-size:13px;display:flex}.topnav a{border-bottom:2px solid #0000;padding:28px 0 24px}.topnav a.active{color:var(--ink);border-bottom-color:var(--accent)}.today-link{color:var(--accent);border:1px solid var(--line);background:#fffdf899;border-radius:999px;justify-self:start;padding:8px 13px;font-size:12px;font-weight:600}.footer{border-top:1px solid var(--line);min-height:90px;color:var(--muted);margin-top:var(--space-7);align-items:center;gap:22px;font-size:13px;display:flex}.footer-brand{color:var(--ink);direction:ltr;margin-left:auto;font-weight:700}.footer a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.button{border-radius:var(--radius-sm);min-height:48px;transition:transform var(--motion),background var(--motion),border-color var(--motion);justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{transform:translateY(-1px)}.button .icon{width:17px}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--accent);color:var(--accent)}.text-link,.text-button{color:var(--accent);text-underline-offset:4px;background:0 0;font-size:13px;font-weight:600;text-decoration:underline}.eyebrow,.section-label{color:var(--accent);letter-spacing:.02em;margin-bottom:9px;font-size:12px;font-weight:600}.home-hero{grid-template-columns:1.1fr .72fr;align-items:center;gap:9vw;min-height:610px;padding:70px 3vw 58px;display:grid}.hero-copy{max-width:650px}.hero-copy h1{letter-spacing:-.055em;margin:0 0 24px;font-size:clamp(46px,6vw,78px)}.hero-copy h1 span{color:var(--accent)}.hero-copy>p{max-width:600px;font-size:18px;line-height:1.9}.hero-actions{margin:32px 0}.hero-facts{color:var(--muted);flex-wrap:wrap;gap:24px;font-size:11px;display:flex}.hero-facts span{align-items:center;gap:7px;display:flex}.hero-facts .icon{width:16px}.hero-system{background:var(--surface);border:1px solid var(--line);min-height:395px;box-shadow:var(--shadow);padding:36px;position:relative;overflow:hidden}.hero-system:after{content:"";border:38px solid var(--accent-soft);border-radius:50%;width:200px;height:200px;position:absolute;top:-100px;left:-95px}.system-number{letter-spacing:-.08em;color:var(--accent);z-index:1;direction:ltr;font:500 86px/1 IBM Plex Mono,monospace;position:relative}.system-number span{letter-spacing:.14em;color:var(--muted);margin-bottom:8px;font:500 9px/1 Alexandria,sans-serif;display:block}.system-line{background:var(--accent);width:48px;height:1px;margin:28px 0}.hero-system h2{margin-bottom:9px;font-size:27px}.hero-system p{line-height:1.9}.outcome-mark{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:13px;margin-top:27px;padding-top:20px;font-size:11px;display:flex}.outcome-mark .icon{color:var(--accent)}.outcome-mark strong{color:var(--ink);font-size:13px}.principle-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.principle-strip span{text-align:center;border-left:1px solid var(--line);padding:18px;font-size:12px}.principle-strip span:last-child{border-left:0}.principle-strip bdi{color:var(--accent);margin-left:8px;font:500 10px IBM Plex Mono,monospace}.home-module{grid-template-columns:1fr auto auto;align-items:center;gap:36px;padding:44px 0 10px;display:grid}.home-module h2{margin-bottom:6px}.home-module p{margin:0}.module-promise{border-right:1px solid var(--line);min-width:235px;padding-right:25px}.module-promise span,.module-promise strong{display:block}.module-promise span{color:var(--muted);font-size:10px}.module-promise strong{margin-top:4px;font-size:12px}.page-heading{justify-content:space-between;align-items:flex-start;gap:30px;padding:64px 0 34px;display:flex}.page-heading h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(36px,5vw,58px)}.page-heading p{max-width:650px;font-size:16px}.dashboard-heading{align-items:center}.status-badge{border:1px solid var(--line);white-space:nowrap;background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:11px;display:flex}.status-badge span{background:var(--accent);border-radius:50%;width:7px;height:7px}.status-waiting_review span{background:var(--warning)}.status-changes_requested span{background:#a2433a}.status-complete span{background:var(--success)}.next-step-panel{background:var(--accent);color:#fff;border-radius:var(--radius-md);grid-template-columns:150px 1fr auto;align-items:center;gap:30px;padding:30px 34px;display:grid}.next-step-index{color:#c8ded9;align-items:center;gap:10px;font-size:11px;display:flex}.next-step-index .icon{width:18px}.next-step-panel h2{margin:0 0 5px;font-size:25px}.next-step-panel p{color:#d2e3df;margin:0 0 8px}.next-step-panel .estimate{color:#bad4ce;align-items:center;gap:6px;font-size:10px;display:inline-flex}.next-step-panel .estimate .icon{width:14px}.next-step-panel .button{color:var(--accent-strong);background:#fff}.dashboard-grid{grid-template-columns:1.55fr .85fr;gap:24px;margin-top:24px;display:grid}.dashboard-section{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8b3;padding:28px}.section-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:23px;display:flex}.section-head h2{margin:0;font-size:22px}.section-head>span{color:var(--muted);font-size:11px}.count-mark{background:var(--surface-soft);border-radius:50%;place-items:center;width:34px;height:34px;font:500 12px IBM Plex Mono,monospace;display:grid;color:var(--accent)!important}.progress-block{min-width:220px}.progress-copy{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:8px;font-size:10px;display:flex}.progress-copy bdi{color:var(--ink);font-weight:600}.progress-track{background:var(--surface-soft);border-radius:5px;height:5px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .3s;display:block}.journey-list{margin:0;padding:0;list-style:none}.journey-item{border-top:1px solid var(--line);min-height:58px;color:var(--muted);grid-template-columns:24px 75px 1fr auto;align-items:center;gap:10px;display:grid}.journey-item>a{grid-column:1/-1;grid-template-columns:24px 75px 1fr auto;align-items:center;gap:10px;min-height:58px;display:grid}.journey-item .icon{width:18px}.journey-item strong{color:var(--ink);font-size:13px}.journey-item.completed .icon{color:var(--success)}.journey-item.current,.journey-item.current strong{color:var(--accent)}.achievement-list{gap:12px;display:grid}.achievement{border-top:1px solid var(--line);align-items:center;gap:13px;padding:13px 0;display:flex}.achievement-mark{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.achievement-mark .icon{width:18px}.achievement h3{margin:0 0 2px;font-size:13px}.achievement p{margin:0;font-size:10px}.empty-state{min-height:200px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.empty-state .icon{opacity:.55;width:30px;height:30px;margin-bottom:10px}.empty-state p{max-width:220px;font-size:12px}.empty-state.horizontal{text-align:right;justify-content:center;gap:16px;min-height:110px;display:flex}.empty-state.horizontal h3{margin:0}.work-section{margin-top:24px}.artifact-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.artifact{border:1px solid var(--line);background:var(--surface);min-width:0;padding:18px}.artifact-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.artifact-top span{align-items:center;gap:6px;display:flex}.artifact-top .icon{width:14px}.artifact-top a{color:var(--accent);text-decoration:underline}.artifact h3{margin:14px 0 10px;font-size:14px}.artifact pre{text-align:left;background:var(--code);color:#dce8e2;direction:ltr;height:95px;margin:0;padding:12px;font:11px/1.7 IBM Plex Mono,monospace;overflow:hidden}.artifact blockquote{border-right:2px solid var(--accent);color:var(--muted);margin:0;padding-right:12px;font-size:12px}.learning-layout{direction:ltr;grid-template-columns:245px minmax(0,760px);justify-content:center;gap:60px;padding-top:48px;display:grid}.stage-nav,.lesson{direction:rtl}.stage-nav{align-self:start;position:sticky;top:24px}.stage-nav-head{border-bottom:1px solid var(--line);padding-bottom:20px}.stage-nav-head>span,.stage-nav-head>strong{display:block}.stage-nav-head>span{color:var(--accent);text-transform:uppercase;font:500 9px IBM Plex Mono,monospace}.stage-nav-head>strong{margin:4px 0 16px;font-size:18px}.stage-nav .progress-block{min-width:0}.stage-nav ol{margin:0;padding:0;list-style:none}.stage-nav li{border-bottom:1px solid var(--line);min-height:58px;color:var(--muted);align-items:center;gap:11px;font-size:12px;display:flex}.stage-nav li>a{align-items:center;gap:11px;width:100%;min-height:58px;display:flex}.stage-nav li .icon{width:17px}.stage-nav li span small{margin-bottom:1px;font-size:8px;display:block}.stage-nav li.completed{color:var(--success)}.stage-nav li.current{color:var(--accent);font-weight:600}.mobile-stage-head,.mobile-stage-drawer{display:none}.lesson{min-width:0}.lesson-head{border-bottom:1px solid var(--line);padding:15px 0 30px}.lesson-meta{color:var(--muted);align-items:center;gap:16px;font-size:10px;display:flex}.lesson-meta span{align-items:center;gap:5px;display:flex}.lesson-meta .icon{width:14px}.complete-tag{color:var(--success);background:var(--success-soft);border-radius:999px;padding:3px 9px}.lesson-head h1{letter-spacing:-.045em;margin:13px 0 12px;font-size:clamp(36px,5vw,55px)}.lesson-head>p{max-width:650px;margin:0;font-size:16px}.lesson-rhythm{color:var(--muted);gap:0;margin:20px 0 4px;font-size:9px;display:flex;overflow:auto}.lesson-rhythm span{white-space:nowrap;border-bottom:1px solid var(--line);padding:7px 12px}.lesson-rhythm span.active{color:var(--accent);border-bottom:2px solid var(--accent)}.lesson-section{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:22px;padding:42px 0;display:grid}.section-number{color:var(--accent);direction:ltr;padding-top:4px;font:500 11px IBM Plex Mono,monospace}.section-body h2{margin-bottom:15px;font-size:24px}.section-body>p{max-width:670px;line-height:2}.resource-row{border-top:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:15px;padding:18px 0;display:grid}.resource-row.optional{opacity:.82}.resource-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.resource-icon .icon{width:18px}.resource-meta{color:var(--muted);gap:10px;font-size:9px;display:flex}.resource-meta span+span:before{content:"·";margin-left:10px}.resource-copy h3{margin:4px 0;font-size:13px;line-height:1.7}.resource-copy p{margin:0;font-size:10px}.watch-link{color:var(--accent);white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:8px 10px;font-size:10px;display:inline-flex}.watch-link .icon{width:13px}.proof-check{border:1px solid var(--line);cursor:pointer;background:#fffdf8a6;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;font-size:12px;display:flex}.proof-check input{opacity:0;position:absolute}.proof-check>span{border:1px solid var(--line-strong);color:#0000;border-radius:5px;place-items:center;width:21px;height:21px;display:grid}.proof-check>span .icon{width:14px}.proof-check input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.environment-check{margin:20px 0}.code-block,.terminal-block{text-align:left;background:var(--code);color:#dce8e2;border-radius:var(--radius-sm);white-space:pre;direction:ltr;unicode-bidi:isolate;padding:22px 24px;font:13px/1.9 IBM Plex Mono,monospace;overflow:auto}.terminal-block{border-right:4px solid var(--accent);color:#e8ede9}.practice-note{margin:10px 0 0;font-size:11px}.quiz-options{gap:9px;margin:20px 0 26px;display:grid}.quiz-options label{cursor:pointer}.quiz-options input{opacity:0;position:absolute}.quiz-options span{border:1px solid var(--line);background:#fffdf899;padding:13px 15px;font-size:12px;display:block}.quiz-options input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.field-label{margin:22px 0 8px;font-size:12px;font-weight:600;display:block}.field-label span,.submission-form label span{color:var(--muted);font-size:9px;font-weight:400}textarea,input[type=text],input:not([type]){border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:var(--radius-sm);resize:vertical;transition:border var(--motion),box-shadow var(--motion);padding:13px 14px}.submission-form input{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:var(--radius-sm);padding:13px 14px}.submission-form input:focus,.submission-form textarea:focus,.section-body textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #145f5814}.code-input{text-align:left;background:var(--code);color:#e4ece8;tab-size:4;direction:ltr;unicode-bidi:plaintext;font:13px/1.8 IBM Plex Mono,monospace}.autosave-note{align-items:center;gap:7px;margin-top:7px;display:flex;font-size:9px!important}.autosave-note span{background:var(--success);border-radius:50%;width:6px;height:6px}.help-area{border-bottom:1px solid var(--line);padding:25px 0}.help-disclosure{border-top:1px solid var(--line)}.help-disclosure:last-child{border-bottom:1px solid var(--line)}.help-disclosure summary{cursor:pointer;grid-template-columns:22px auto 1fr;align-items:center;gap:9px;padding:15px 0;font-size:12px;font-weight:600;list-style:none;display:grid}.help-disclosure summary::-webkit-details-marker{display:none}.help-disclosure summary .icon{width:17px;color:var(--accent)}.help-disclosure summary span{color:var(--muted);text-align:left;font-size:9px;font-weight:400}.help-content{padding:0 31px 18px 0}.hint{border-top:1px solid var(--line);grid-template-columns:70px 1fr;gap:12px;padding:11px 0;display:grid}.hint span{color:var(--accent);font-size:9px}.hint p,.issue p,.all-hints{margin:0;font-size:11px}.help-content .text-button{margin-top:11px}.issue{border-top:1px solid var(--line);padding:12px 0}.issue h3{margin:0 0 3px;font-size:12px}.issues summary .icon{color:var(--warning)}.completion-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:35px;padding:27px;display:grid}.completion-panel h2{margin-bottom:5px;font-size:21px}.completion-panel p{margin:0;font-size:12px}.completion-panel.completed{background:var(--success-soft);border-color:#0000;grid-template-columns:48px 1fr auto}.completion-icon{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.form-errors{color:#953e36;margin-top:12px;font-size:11px}.form-errors p{color:#953e36;align-items:center;gap:7px;margin:5px 0;display:flex}.form-errors .icon{width:15px}.locked-page,.review-state{text-align:center;max-width:650px;padding:110px 20px}.locked-page>.icon,.review-state>.icon{width:42px;height:42px;color:var(--accent);margin-bottom:18px}.locked-page h1,.review-state h1{margin-bottom:10px;font-size:42px}.locked-page p,.review-state p{max-width:520px;margin:0 auto 26px}.form-page{padding-bottom:30px}.submission-form{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8b8;padding:28px}.submission-form label{margin-bottom:21px;font-size:12px;font-weight:600;display:block}.submission-form label input,.submission-form label textarea{margin-top:8px}.form-actions{border-top:1px solid var(--line);align-items:center;gap:20px;padding-top:23px;display:flex}.review-note{background:var(--warning-soft);border-right:3px solid var(--warning);text-align:right;margin-bottom:20px;padding:18px 20px}.review-note p{color:var(--ink);margin:5px 0 0}.review-orbit{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 23px;display:grid;position:relative}.review-orbit:after{content:"";border:1px dashed var(--line-strong);border-radius:50%;animation:16s linear infinite rotate;position:absolute;inset:-8px}.review-orbit .icon{color:var(--accent)}.state-flow{grid-template-columns:repeat(3,1fr);max-width:580px;margin:35px auto;display:grid}.state-flow span{border-top:2px solid var(--line);color:var(--muted);padding-top:12px;font-size:9px}.state-flow span.done{border-color:var(--success);color:var(--success)}.state-flow span.active{border-color:var(--warning);color:var(--warning)}.changes-state .review-note{max-width:580px;margin:20px auto}.approved-state>.icon{background:var(--success);color:#fff;border-radius:50%;width:56px;height:56px;padding:10px}.mentor-view{padding-bottom:30px}.mentor-grid{grid-template-columns:1.25fr .75fr;gap:25px;display:grid}.code-block.large{max-height:560px}.mentor-form{background:var(--surface);border:1px solid var(--line);align-self:start;padding:22px;position:sticky;top:20px}.mentor-form label{font-size:12px;font-weight:600}.mentor-form textarea{margin-top:8px}.mentor-actions{gap:10px;margin-top:18px;display:grid}.learner-question{background:var(--warning-soft);margin-top:15px;padding:18px}.learner-question p{margin:4px 0 0}.summary-page{padding-top:55px}.summary-hero{background:var(--accent);color:#fff;border-radius:var(--radius-lg);grid-template-columns:170px 1fr;align-items:center;gap:45px;padding:45px;display:grid}.summary-hero h1{margin-bottom:10px;font-size:48px}.summary-hero p{color:#d2e5e0;max-width:650px}.summary-hero .eyebrow{color:#bfdbd5}.module-seal{border:1px solid #fff6;border-radius:50%;align-content:center;place-items:center;width:145px;height:145px;display:grid}.module-seal span{letter-spacing:.15em;font-size:8px}.module-seal strong{font:500 50px/1.1 IBM Plex Mono,monospace}.module-seal .icon{width:20px}.summary-stats{border:1px solid var(--line);background:var(--surface);border-top:0;grid-template-columns:repeat(3,1fr);margin:0 25px;display:grid}.summary-stats div{text-align:center;border-left:1px solid var(--line);padding:22px}.summary-stats div:last-child{border-left:0}.summary-stats strong,.summary-stats span{display:block}.summary-stats strong{color:var(--accent);font:500 30px IBM Plex Mono,monospace}.summary-stats span{color:var(--muted);font-size:10px}.summary-grid{grid-template-columns:.8fr 1.2fr;gap:50px;margin-top:55px;display:grid}.summary-grid h2{font-size:25px}.learned-list{padding:0;list-style:none}.learned-list li{border-top:1px solid var(--line);align-items:center;gap:9px;padding:11px 0;font-size:12px;display:flex}.learned-list .icon{width:17px;color:var(--success)}.final-project-summary .code-block{max-height:330px}.mentor-feedback{background:var(--success-soft);grid-template-columns:50px 1fr;gap:18px;margin-top:40px;padding:25px;display:grid}.mentor-feedback>div:first-child{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.mentor-feedback p{color:var(--ink);margin:0}.extra-invite{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:45px;padding-top:35px;display:grid}.extra-invite h2{margin-bottom:5px}.extra-invite p{margin:0}.extra-page{padding-bottom:30px}.extra-list{gap:12px;margin-bottom:25px;display:grid}.extra-list article{border:1px solid var(--line);background:var(--surface);grid-template-columns:50px 1fr;align-items:center;gap:15px;padding:20px;display:grid}.extra-list article>span{color:var(--accent);font:500 13px IBM Plex Mono,monospace}.extra-list h2{margin:0 0 3px;font-size:17px}.extra-list p{margin:0;font-size:11px}.toast{opacity:0;pointer-events:none;background:var(--ink);color:#fff;border-radius:var(--radius-sm);z-index:20;transition:opacity var(--motion),transform var(--motion);padding:12px 18px;font-size:11px;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.topbar-actions{justify-self:start;align-items:center;gap:9px;display:flex}.account-button{text-overflow:ellipsis;white-space:nowrap;max-width:170px;color:var(--muted);border-right:1px solid var(--line);background:0 0;padding:5px 12px;font-size:12px;overflow:hidden}.account-button:hover{color:var(--ink)}.button:disabled,.account-button:disabled{opacity:.55;cursor:wait;transform:none}.sync-status{border:1px solid var(--line);width:max-content;max-width:100%;color:var(--muted);background:#fffdf8d1;border-radius:999px;margin:8px auto 0;padding:6px 12px;font-size:11px}.sync-saving,.sync-loading{color:var(--accent)}.sync-error,.sync-unavailable{color:#8b423a;background:#f7e9e6;border-color:#d8b7b1}.loading-page{text-align:right;justify-content:center;align-items:center;gap:22px;min-height:65vh;display:flex}.loading-page h1{margin:2px 0 5px;font-size:32px}.loading-page p{margin:0}.loading-mark{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.9s linear infinite rotate}.auth-page{place-items:center;min-height:70vh;padding-block:55px;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);background:#fffdf8d1;padding:36px}.auth-card h1{margin:4px 0 10px;font-size:40px}.auth-card>p{font-size:15px}.auth-form{gap:18px;margin-top:28px;display:grid}.auth-form label{font-size:14px;font-weight:600;display:block}.auth-form label span{color:var(--muted);font-size:11px;font-weight:400}.auth-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);margin-top:7px;padding:13px 14px}.auth-form input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #145f5814}.auth-form .button{width:100%}.auth-form .text-button{justify-self:center}.auth-note{border-top:1px solid var(--line);padding-top:18px;margin:22px 0 0!important;font-size:12px!important}.mentor-queue{padding-bottom:35px}.queue-section{border:1px solid var(--line);background:#fffdf8a8;margin-bottom:28px;padding:24px}.queue-list{gap:10px;margin-top:18px;display:grid}.queue-item{border:1px solid var(--line);background:var(--surface);transition:border-color var(--motion),transform var(--motion);grid-template-columns:1fr auto 24px;align-items:center;gap:20px;padding:17px 18px;display:grid}.queue-item:hover{border-color:var(--accent);transform:translateY(-1px)}.queue-item h3{margin:3px 0;font-size:16px}.queue-item small,.queue-item>div>span{color:var(--muted);font-size:11px;display:block}.queue-item>div:nth-child(2){text-align:left}.queue-item>.icon{width:17px;color:var(--accent);transform:rotate(180deg)}.queue-status{background:var(--surface-soft);border-radius:999px;width:max-content;margin-bottom:6px;margin-right:auto;padding:3px 8px;color:var(--muted)!important}.queue-status.status-submitted,.queue-status.status-resubmitted,.queue-status.status-under_review{background:var(--accent-soft);color:var(--accent)!important}.queue-status.status-changes_requested{background:var(--warning-soft);color:var(--warning)!important}.queue-status.status-approved{background:var(--success-soft);color:var(--success)!important}.back-link{color:var(--accent);align-items:center;gap:7px;margin-top:28px;font-size:13px;display:inline-flex}.back-link .icon{width:16px;transform:rotate(180deg)}.topnav{font-size:14px}.today-link,.hero-facts,.outcome-mark{font-size:13px}.outcome-mark strong{font-size:14px}.module-promise span{font-size:12px}.module-promise strong{font-size:14px}.status-badge,.next-step-index{font-size:13px}.next-step-panel .estimate{font-size:12px}.section-head>span{font-size:13px}.progress-copy{font-size:12px}.journey-item strong{font-size:14px}.journey-item small,.journey-day{font-size:12px}.journey-item.available,.journey-item.available strong{color:var(--accent)}.journey-item.locked{opacity:.76}.achievement h3{font-size:14px}.achievement p{font-size:13px}.empty-state p{font-size:14px}.artifact-top{font-size:12px}.artifact-stage{color:var(--muted);margin-top:12px;font-size:11px}.artifact h3{margin-top:5px;font-size:15px}.artifact blockquote{font-size:14px}.artifact pre{font-size:12px}.stage-nav-head>span{font-size:11px}.stage-nav li{font-size:14px}.stage-nav li span small{font-size:11px}.stage-nav li.available{color:var(--accent);font-weight:600}.stage-nav li.locked{opacity:.74}.lesson-meta{font-size:12px}.lesson-head>p{font-size:17px}.lesson-rhythm{font-size:11px}.section-number{font-size:12px}.concept-section .section-body>p{font-size:17px}.resource-guidance{font-size:14px}.resource-copy{min-width:0}.resource-meta{flex-wrap:wrap;font-size:12px}.resource-copy h3{overflow-wrap:anywhere;font-size:15px}.resource-copy p{font-size:13px;line-height:1.8}.resource-copy p strong{color:var(--ink)}.watch-link{font-size:13px}.resource-row.optional{opacity:1;border-top:0}.optional-resources{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:#eeebe385;margin-top:24px;padding:18px}.optional-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;display:flex}.optional-heading strong{color:var(--accent);font-size:14px}.optional-heading span{color:var(--muted);font-size:12px}.proof-check,.code-block,.terminal-block{font-size:14px}.practice-note{font-size:13px}.challenge-section .section-body>p{font-size:16px}.quiz-options span,.field-label{font-size:14px}.field-label span,.submission-form label span{font-size:12px}.code-input{font-size:14px}.autosave-note{font-size:12px!important}.runner-note{border-radius:var(--radius-sm);background:#eaf1ee;border:1px solid #bfd4ce;grid-template-columns:24px 1fr;gap:12px;margin:20px 0;padding:16px 18px;display:grid}.runner-note>.icon{width:20px;color:var(--accent);margin-top:2px}.runner-note strong{font-size:14px;display:block}.runner-note p{color:var(--muted);margin:3px 0 0;font-size:13px}.runner-note.compact{margin:0 0 22px}.help-disclosure summary{font-size:14px}.help-disclosure summary span,.hint span{font-size:12px}.hint p,.issue p,.all-hints{font-size:13px}.issue h3,.completion-panel p{font-size:14px}.form-errors{font-size:13px}.locked-page p,.review-state p{font-size:16px}.submission-form label,.review-note{font-size:14px}.state-flow span{font-size:12px}.mentor-form label,.learner-question p{font-size:14px}.submission-meta{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-top:15px;font-size:13px;display:flex}.submission-meta a{color:var(--accent);text-underline-offset:3px;align-items:center;gap:6px;text-decoration:underline;display:inline-flex}.submission-meta .icon{width:15px}.review-rubric{text-align:right;gap:9px;margin:18px 0 24px;display:grid}.rubric-item{border:1px solid var(--line);background:#fffdf8a6;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:13px;display:flex}.rubric-item>.icon{width:18px;color:var(--muted)}.rubric-item.met>.icon{color:var(--success)}.rubric-item.not-met{color:var(--muted)}.rubric-item input{opacity:0;position:absolute}.rubric-item>input+span{border:1px solid var(--line-strong);color:#0000;border-radius:5px;place-items:center;width:22px;height:22px;display:grid}.rubric-item input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.rubric-item span .icon{width:14px}.mentor-start h2,.reviewed-panel h2{margin:2px 0 8px}.mentor-start p,.reviewed-panel p{font-size:14px}.mentor-start .button,.reviewed-panel .button{width:100%;margin-top:12px}.review-history{text-align:right;margin-top:26px}.review-history article{border-top:1px solid var(--line);padding:14px 0}.review-history article>div{justify-content:space-between;gap:16px;display:flex}.review-history article span{color:var(--muted);font-size:12px}.review-history article p{color:var(--muted);margin:5px 0 0;font-size:14px}.summary-stats span{font-size:12px}.learned-list li{font-size:14px}.extra-list p,.toast{font-size:13px}.capture-mode .stage-nav,.capture-mode .mobile-stage-head,.capture-mode .mentor-form{position:static}.capture-mode .toast{display:none}@keyframes rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.site-shell{padding:0 22px}.home-hero{gap:45px;padding-inline:0}.hero-copy h1{font-size:54px}.dashboard-grid{grid-template-columns:1fr}.artifact-grid{grid-template-columns:repeat(2,1fr)}.learning-layout{grid-template-columns:210px minmax(0,1fr);gap:35px}.mentor-grid{grid-template-columns:1fr}.mentor-form{position:static}.summary-grid{gap:25px}}@media (width<=760px){body{font-size:16px}.site-shell{padding:0 16px}.topbar{grid-template-columns:1fr auto;height:66px}.brand{justify-self:end}.topnav{display:none}.today-link{justify-self:start}.footer{flex-wrap:wrap;gap:8px 16px;padding:24px 0}.footer-brand{width:100%;margin:0}.home-hero{grid-template-columns:1fr;min-height:auto;padding:45px 0 35px}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:15px}.hero-facts{gap:10px;display:grid}.hero-system{min-height:310px;padding:27px}.system-number{font-size:65px}.principle-strip{grid-template-columns:repeat(3,1fr)}.principle-strip span:nth-child(3){border-left:0}.principle-strip span:nth-child(-n+3){border-bottom:1px solid var(--line)}.home-module{grid-template-columns:1fr;gap:20px}.module-promise{border:0;padding:0}.page-heading{padding:42px 0 24px;display:block}.page-heading h1{font-size:37px}.dashboard-heading .status-badge{margin-top:12px;display:inline-flex}.next-step-panel{grid-template-columns:1fr;gap:16px;padding:24px}.next-step-index{order:-1}.next-step-panel .button{width:100%}.dashboard-section{padding:20px}.section-head{display:block}.section-head .progress-block{margin-top:16px}.progress-block{width:100%;min-width:0}.artifact-grid{grid-template-columns:1fr}.journey-item,.journey-item>a{grid-template-columns:22px 58px 1fr}.journey-item small{display:none}.learning-layout{padding-top:0;display:block}.learning-layout>.stage-nav{display:none}.mobile-stage-head{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);direction:rtl;background:#f5f2ebf5;grid-template-columns:38px auto 1fr;align-items:center;gap:10px;margin:0 -16px;padding:12px 16px;display:grid;position:sticky;top:0}.icon-button{background:var(--surface);width:36px;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);place-items:center;display:grid}.mobile-stage-head .icon{width:18px}.mobile-stage-head span,.mobile-stage-head strong{display:block}.mobile-stage-head span{color:var(--accent);font:500 10px IBM Plex Mono,monospace}.mobile-stage-head strong{font-size:13px}.mini-progress{background:var(--surface-soft);width:100%;height:5px;margin-right:auto}.mini-progress span{background:var(--accent);height:100%;display:block}.mobile-stage-drawer:not([hidden]){z-index:10;background:#1d201d4d;display:block;position:fixed;inset:66px 0 0}.mobile-drawer-panel{background:var(--bg);width:min(88vw,330px);height:100%;box-shadow:var(--shadow);padding:18px 25px 25px;overflow:auto}.mobile-drawer-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.mobile-drawer-top .icon{width:17px}.mobile-stage-drawer .stage-nav{display:block;position:static}.lesson-head{padding-top:33px}.lesson-head h1{font-size:37px}.lesson-rhythm{margin-inline:-4px}.lesson-section{grid-template-columns:1fr;gap:8px;padding:32px 0}.section-number{font-size:11px}.section-body h2{font-size:23px}.concept-section .section-body>p{font-size:16px}.resource-row{grid-template-columns:38px minmax(0,1fr)}.watch-link{grid-column:2;justify-self:start}.code-block,.terminal-block{width:100%;margin-inline:0;padding:18px;font-size:13px}.completion-panel,.completion-panel.completed{grid-template-columns:1fr}.completion-icon{width:38px;height:38px}.completion-panel .button{width:100%}.help-disclosure summary{grid-template-columns:20px 1fr}.help-disclosure summary span{display:none}.hint{grid-template-columns:1fr;gap:2px}.optional-heading{display:block}.optional-heading span{margin-top:3px;display:block}.runner-note{grid-template-columns:20px 1fr;padding:14px}.runner-note strong{font-size:13px}.runner-note p{font-size:12px}.locked-page,.review-state{padding:75px 10px}.locked-page h1,.review-state h1{font-size:34px}.submission-form{margin-inline:-4px;padding:20px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{width:100%}.state-flow{text-align:right;grid-template-columns:1fr}.state-flow span{border-top:0;border-right:2px solid var(--line);padding:8px 12px}.summary-page{padding-top:25px}.summary-hero{grid-template-columns:1fr;padding:28px}.summary-hero h1{font-size:36px}.module-seal{width:105px;height:105px}.module-seal strong{font-size:38px}.summary-stats{margin:0 8px}.summary-stats div{padding:15px 8px}.summary-stats strong{font-size:24px}.summary-grid{grid-template-columns:1fr;margin-top:40px}.extra-invite{grid-template-columns:1fr}.extra-invite .button{width:100%}}@media (width<=380px){.hero-copy h1{font-size:36px}.principle-strip span{padding:14px 7px;font-size:11px}.summary-stats span{font-size:11px}}@media (width<=760px){.topbar-actions{gap:4px}.account-button{max-width:92px;padding-inline:8px}.sync-status{text-align:center;border-radius:0;width:100%;margin-top:0}.auth-page{min-height:auto;padding:32px 0}.auth-card{border-radius:var(--radius-md);padding:25px 20px}.auth-card h1{font-size:32px}.loading-page{min-height:55vh;padding-inline:10px}.loading-page h1{font-size:27px}.queue-section{padding:18px}.queue-item{grid-template-columns:1fr 20px;gap:12px}.queue-item>div:nth-child(2){text-align:right;flex-wrap:wrap;grid-column:1;align-items:center;gap:8px;display:flex}.queue-item>.icon{grid-area:1/2/3}.queue-status{margin:0}.mentor-queue .page-heading{justify-content:space-between;align-items:flex-end;display:flex}}
