:root{--bg:#090c11;--panel:#10151d;--panel-2:#151b24;--line:#252d38;--line-soft:#1c232d;--text:#e8edf3;--muted:#8e9aaa;--faint:#5f6b7a;--accent:#e8b44f;--good:#69b58e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:1.2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-header{position:sticky;top:0;z-index:20;height:58px;padding:0 max(22px,calc((100vw - 1040px)/2));display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);background:#090c11f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-brand{display:flex;align-items:center;gap:9px;margin-right:8px}.site-brand>span{width:27px;height:27px;display:grid;place-items:center;border-radius:5px;background:var(--accent);color:#14100a;font:900 11px ui-monospace,monospace}.site-brand strong{font-size:13px;letter-spacing:-.02em}.site-header nav{align-self:stretch;display:flex;gap:24px}.site-header nav a{position:relative;display:flex;align-items:center;color:var(--muted);font-size:11px;font-weight:650}.site-header nav a:hover,.site-header nav a.active{color:var(--text)}.site-header nav a.active:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}.text-button{margin-left:auto;padding:7px 0;border:0;background:none;color:var(--faint);cursor:pointer;font-size:10px}.text-button:hover{color:var(--text)}.course-shell{width:min(1040px,calc(100% - 44px));margin:0 auto}.course-intro{padding:64px 0 44px;border-bottom:1px solid var(--line)}.breadcrumb{margin:0 0 20px;color:var(--faint);font-size:10px}.course-intro h1{margin:0 0 12px;font-size:clamp(34px,5vw,48px);font-weight:680;letter-spacing:-.045em}.course-intro>p:not(.breadcrumb){max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.course-facts{margin:34px 0 0;display:flex;gap:52px}.course-facts div{min-width:120px}.course-facts dt{margin-bottom:5px;color:var(--faint);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.course-facts dd{margin:0;color:#cbd3dc;font-size:12px}.progress-panel{margin:42px 0 70px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.panel-heading>div{display:flex;align-items:center;gap:9px}.panel-heading h2{margin:0;font-size:12px;font-weight:700}.panel-heading>span{color:var(--faint);font-size:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px #69b58e17}.course-progress{height:2px;margin-bottom:12px;overflow:hidden;background:var(--line)}.course-progress span{display:block;min-width:2px;height:100%;background:var(--accent)}.current-lesson{min-height:175px;padding:26px 28px;display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:28px;border:1px solid #303946;border-radius:7px;background:var(--panel)}.lesson-index{align-self:stretch;padding-right:24px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.lesson-index>span{color:var(--accent);font:400 38px/1 ui-monospace,monospace}.lesson-index small{color:var(--faint);font:8px/1.5 ui-monospace,monospace;letter-spacing:.06em}.current-copy>p{margin:0 0 8px;color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.1em}.current-copy h3{margin:0 0 9px;font-size:21px;font-weight:620;letter-spacing:-.025em}.current-copy>span{color:var(--muted);font-size:11px;line-height:1.6}.current-copy ul{margin:17px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;list-style:none}.current-copy li{padding:4px 7px;border:1px solid var(--line);border-radius:3px;color:#7f8b99;font-size:8px}.lesson-link{min-width:132px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #4a5969;border-radius:4px;color:#dce3ea;font-size:10px;font-weight:700}.lesson-link:hover{border-color:var(--accent);color:var(--accent)}.lesson-link b{color:var(--accent);font-size:16px;font-weight:400}.curriculum-section{padding-bottom:80px;scroll-margin-top:80px}.curriculum-heading{margin-bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:30px}.curriculum-heading>div>p{margin:0 0 7px;color:var(--faint);font-size:8px;font-weight:800;letter-spacing:.11em}.curriculum-heading h2{margin:0;font-size:27px;letter-spacing:-.03em}.curriculum-heading>p{max-width:390px;margin:0;color:var(--faint);font-size:10px;line-height:1.5;text-align:right}.phase-list{border-top:1px solid var(--line)}.phase-row{min-height:132px;padding:23px 18px;display:grid;grid-template-columns:55px 1fr 110px;gap:18px;border-bottom:1px solid var(--line-soft);transition:background .15s}.phase-row:hover{background:#ffffff04}.phase-row.current{background:var(--panel);border:1px solid #303946;border-left:3px solid var(--accent)}.phase-number{padding-top:3px;color:#4e5a68;font:11px ui-monospace,monospace}.phase-copy>div{display:flex;align-items:baseline;gap:12px}.phase-copy h3{margin:0;font-size:15px;font-weight:620;text-transform:capitalize}.phase-copy>div>span{color:var(--faint);font-size:8px;text-transform:uppercase}.phase-copy>p{margin:8px 0 13px;color:var(--muted);font-size:10px}.phase-copy ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;list-style:none}.phase-copy li{position:relative;color:#626e7c;font-size:8px}.phase-copy li+li:before{content:"·";position:absolute;left:-9px;color:#3f4955}.phase-state{display:flex;flex-direction:column;align-items:end;justify-content:center;gap:9px;color:#485462}.phase-state svg{width:14px}.phase-state small{color:#53606e;font-size:8px}.phase-state .available{color:var(--good);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.site-footer{width:min(1040px,calc(100% - 44px));margin:0 auto;padding:20px 0 28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#4f5a67;font-size:8px}@media(max-width:700px){.site-header{padding-inline:16px;gap:18px}.site-header nav{display:none}.course-shell{width:calc(100% - 32px)}.course-intro{padding-top:42px}.course-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.current-lesson{grid-template-columns:52px 1fr;padding:22px 18px;gap:18px}.lesson-index{padding-right:15px}.lesson-index small{display:none}.lesson-index>span{font-size:25px}.lesson-link{grid-column:2;width:100%}.curriculum-heading{align-items:start;flex-direction:column}.curriculum-heading>p{text-align:left}.phase-row{grid-template-columns:33px 1fr;padding-inline:8px}.phase-state{grid-column:2;align-items:start;flex-direction:row;justify-content:start}.phase-copy>div{align-items:start;flex-direction:column;gap:4px}.site-footer{width:calc(100% - 32px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}.course-intro{padding-top:54px}.course-intro h1{margin-bottom:0}.course-facts{margin-top:28px}.current-copy>p{font-size:10px;letter-spacing:.02em;text-transform:none}.current-copy h3{font-size:23px}.current-topics{margin:16px 0 0;padding:0;display:grid!important;grid-template-columns:1fr 1fr;gap:7px 22px;list-style:none;counter-reset:lesson-topic}.current-topics li{padding:0!important;border:0!important;border-radius:0!important;color:#98a4b1!important;font-size:10px!important;line-height:1.45}.current-topics li:before{content:counter(lesson-topic,decimal-leading-zero);counter-increment:lesson-topic;margin-right:8px;color:#596574;font:8px ui-monospace,monospace}.phase-row{min-height:0;align-items:start;padding-top:27px;padding-bottom:27px}.phase-copy>div{margin-bottom:17px}.coverage-list{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 26px;list-style:none}.coverage-list li{display:flex;align-items:baseline;gap:9px;color:#8995a3;font-size:10px;line-height:1.45}.coverage-list li span{flex:0 0 18px;color:#4f5b68;font:8px ui-monospace,monospace}.phase-row.current .coverage-list li span{color:#8c7445}.phase-state{padding-top:20px}@media(max-width:700px){.course-intro{padding-top:38px}.current-topics,.coverage-list{grid-template-columns:1fr}.phase-state{padding-top:0}}.lesson-browser{min-width:218px;display:grid;grid-template-columns:44px minmax(104px,1fr) 44px;align-items:stretch;gap:8px}.lesson-browser>button{min-height:70px;padding:0;display:grid;place-items:center;border:1px solid #4a5969;border-radius:6px;background:transparent;color:var(--text);cursor:pointer}.lesson-browser>button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lesson-browser>button:disabled{opacity:.25;cursor:not-allowed}.lesson-browser>button svg{width:22px}.lesson-browser>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.lesson-browser>div>span{color:var(--faint);font:700 8px ui-monospace,monospace;letter-spacing:.06em}.lesson-browser a{padding:7px 9px;border-bottom:1px solid currentColor;color:var(--text);font-size:10px;font-weight:750}.lesson-browser a:hover{color:var(--accent)}@media(max-width:700px){.lesson-browser{grid-column:2;width:100%;min-width:0}.lesson-browser>button{min-height:54px}}.annotation-ui{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.annotation-toolbar{position:fixed;z-index:1000;right:18px;bottom:18px;display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #f4cb59;border-radius:8px;background:#14283ff5;color:#fff;box-shadow:0 16px 44px #0a192859;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.annotation-toolbar button{position:relative;padding:9px 11px;border:1px solid rgba(255,255,255,.13);border-radius:4px;background:#ffffff0f;color:#dce5ee;cursor:pointer;font-size:9px;font-weight:800}.annotation-toolbar button:hover,.annotation-toolbar button.active{background:#f4cb59;border-color:#f4cb59;color:#14283f}.annotation-toolbar .annotation-exit{color:#a9b7c5;border-color:transparent;background:transparent}.annotation-mode-label{padding:0 9px 0 6px;display:flex;align-items:center;gap:7px;color:#f4cb59;font-size:7px;font-weight:900;letter-spacing:.12em}.annotation-mode-label i{width:6px;height:6px;border-radius:50%;background:#f4cb59;box-shadow:0 0 0 4px #f4cb591f}.annotation-badge{position:absolute;right:-5px;top:-7px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:20px;background:#ef8354;color:#fff;font-size:8px;box-shadow:0 2px 5px #00000040}.annotation-highlight{display:none;position:fixed;z-index:998;pointer-events:none;border:2px solid #ef8354;border-radius:3px;background:#ef83541a;box-shadow:0 0 0 1px #fffc,0 0 0 4px #ef83541f}.annotation-picking,.annotation-picking *{cursor:crosshair!important}.annotation-composer{position:fixed;z-index:1001;width:340px;padding:17px;border:1px solid #f4cb59;border-radius:8px;background:#172f49;color:#fff;box-shadow:0 22px 60px #08162473}.annotation-composer-head,.annotation-panel-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.annotation-composer-head span,.annotation-panel-head span{display:block;margin-bottom:5px;color:#f4cb59;font-size:7px;font-weight:900;letter-spacing:.13em}.annotation-composer-head strong{display:block;max-width:270px;overflow:hidden;color:#fff;font-family:Georgia,serif;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.annotation-close{padding:0!important;border:0!important;background:transparent!important;color:#91a3b4!important;cursor:pointer;font-size:22px!important;line-height:1}.annotation-close:hover{color:#fff!important}.annotation-route{margin:10px 0;color:#8297ab;font-size:8px}.annotation-composer textarea{width:100%;resize:vertical;padding:11px;border:1px solid #405871;border-radius:4px;outline:0;background:#10263c;color:#fff;font:11px/1.5 Inter,sans-serif}.annotation-composer textarea:focus{border-color:#f4cb59}.annotation-composer-actions{margin-top:10px;display:flex;justify-content:end;gap:6px}.annotation-composer-actions button{padding:9px 12px;border-radius:3px;cursor:pointer;font-size:9px;font-weight:800}.annotation-primary{border:1px solid #ef8354;background:#ef8354;color:#fff}.annotation-primary:disabled{opacity:.6}.annotation-secondary{border:1px solid #405871;background:transparent;color:#a5b4c3}.annotation-panel{position:fixed;z-index:1001;inset:14px 14px 14px auto;width:min(430px,calc(100vw - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #f4cb59;border-radius:9px;background:#14283f;color:#fff;box-shadow:0 25px 75px #07142180}.annotation-panel-head{flex:0 0 auto;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.annotation-panel-head h2{margin:0;color:#fff;font-family:Georgia,serif;font-size:28px;font-weight:500}.annotation-panel-body{padding:14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#52667a transparent}.annotation-tabs{display:flex;gap:5px;margin-bottom:12px}.annotation-tabs button{padding:7px 10px;border:1px solid #3b5168;border-radius:30px;background:transparent;color:#94a6b7;cursor:pointer;font-size:8px;font-weight:800}.annotation-tabs button.active{border-color:#f4cb59;background:#f4cb59;color:#14283f}.annotation-row{margin-bottom:9px;padding:13px;border:1px solid #344b62;border-radius:5px;background:#1a324b}.annotation-row.addressed{opacity:.64}.annotation-row-head{display:flex;justify-content:space-between;gap:10px}.annotation-row-head strong{color:#f4cb59;font-size:8px;letter-spacing:.06em}.annotation-row-head time{color:#71869a;font-size:7px}.annotation-comment{margin:11px 0 7px;color:#e2e8ee;font-family:Georgia,serif;font-size:13px;line-height:1.45}.annotation-snippet{margin:0 0 10px;padding:7px 9px;border-left:2px solid #ef8354;background:#12293f;color:#8fa2b4;font-size:8px;line-height:1.4}.annotation-addressed-note{color:#83bba2;font-size:8px}.annotation-note{margin:5px 0;padding:6px 8px;border-radius:3px;background:#10283e;color:#a7b5c2;font-size:8px}.annotation-note span{margin-right:6px;color:#ef8354;font-weight:900}.annotation-note.ai span{color:#74b496}.annotation-row-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.annotation-row-actions a,.annotation-row-actions button{padding:6px 7px;border:1px solid #405870;border-radius:3px;background:#203b55;color:#c6d1db;cursor:pointer;font-size:7px;font-weight:800}.annotation-row-actions a:hover,.annotation-row-actions button:hover{border-color:#f4cb59;color:#f4cb59}.annotation-row-actions input{flex:1 1 120px;min-width:100px;padding:6px 8px;border:1px solid #405870;border-radius:3px;outline:0;background:#10263c;color:#fff;font-size:8px}.annotation-row-actions .danger{color:#e8947a}.annotation-empty{padding:50px 20px;text-align:center;color:#8295a7}.annotation-empty strong{color:#dce4eb;font-family:Georgia,serif;font-size:17px;font-weight:500}.annotation-empty p{font-size:9px;line-height:1.5}.annotation-empty.error strong{color:#e9a188}.annotation-loading{padding:30px;color:#8295a7;text-align:center;font-size:9px}.annotation-purge{width:100%;margin-top:7px;padding:9px;border:1px solid #9c5f56;border-radius:4px;background:transparent;color:#e8947a;cursor:pointer;font-size:8px;font-weight:800}.annotation-toast{position:fixed;z-index:1002;left:50%;bottom:82px;transform:translate(-50%,12px);padding:11px 15px;border:1px solid #f4cb59;border-radius:4px;background:#14283f;color:#fff;box-shadow:0 10px 35px #0000004d;font-size:9px;opacity:0;transition:.2s ease}.annotation-toast.visible{opacity:1;transform:translate(-50%)}.annotation-toast.error{border-color:#ef8354}@media(max-width:620px){.annotation-toolbar{right:8px;bottom:8px;left:8px;justify-content:center}.annotation-mode-label{display:none}.annotation-toolbar button{flex:1}.annotation-composer{width:calc(100vw - 20px)}}:root{--bg: #fffdfd;--panel: #ffffff;--panel-2: #fff6fa;--line: #2b2230;--line-soft: #e7dce5;--text: #171319;--muted: #5f5762;--faint: #786f7b;--accent: #ef629a;--accent-soft: #ffd9e8;--lavender: #e8ddff;--blue: #dff3ff;--mint: #ddf7ed;--yellow: #fff0ad;--good: #277a59;--ink-shadow: 4px 4px 0 #2b2230;color:var(--text);background:var(--bg);font-family:ui-rounded,Arial Rounded MT Bold,Trebuchet MS,Inter,system-ui,sans-serif}html{background:var(--bg)}body,.lesson-page{background:radial-gradient(circle at 9% 7%,rgba(255,211,230,.42) 0 90px,transparent 91px),radial-gradient(circle at 93% 16%,rgba(222,242,255,.55) 0 115px,transparent 116px),#fffdfd;color:var(--text)}::selection{background:#ffc9df;color:#171319}a{color:inherit}.site-header,.lesson-topbar{border-color:var(--line);background:#fffdfdf0;color:var(--text);box-shadow:0 2px #2b223014}.site-brand{position:relative}.site-brand>span{position:relative;overflow:visible;border:2px solid var(--line);border-radius:10px 10px 12px 12px;background:var(--accent-soft);color:var(--text);box-shadow:2px 2px 0 var(--line)}.site-brand>span:before,.site-brand>span:after{content:"";position:absolute;z-index:-1;top:-8px;width:10px;height:10px;border:2px solid var(--line);background:var(--accent-soft);transform:rotate(45deg)}.site-brand>span:before{left:1px}.site-brand>span:after{right:1px}.site-brand strong{color:var(--text)}.site-header nav a,.text-button,.exit-link,.lesson-position{color:var(--muted)}.site-header nav a:hover,.site-header nav a.active,.text-button:hover,.exit-link:hover{color:var(--text)}.site-header nav a.active:after{height:3px;border-radius:3px;background:var(--accent)}.lesson-progress{height:5px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.lesson-progress i{background:linear-gradient(90deg,var(--accent),#b894ff)}.course-intro{position:relative;border-color:var(--line)}.course-intro:after{content:"✦ ｡° ✿ °｡ ✦";position:absolute;right:10px;top:55px;color:var(--accent);font-size:clamp(18px,3vw,31px);letter-spacing:.18em;transform:rotate(-3deg)}.course-intro h1{color:var(--text);font-weight:900;text-shadow:3px 3px 0 var(--accent-soft)}.course-facts dt{color:var(--muted)}.course-facts dd{color:var(--text);font-weight:800}.panel-heading h2{color:var(--text);font-size:15px}.panel-heading>span{color:var(--muted);font-size:10px}.status-dot{background:#55c997;box-shadow:0 0 0 4px #dff8ed}.course-progress{height:8px;border:1.5px solid var(--line);border-radius:12px;background:#fff}.course-progress span{background:linear-gradient(90deg,var(--accent),#b894ff)}.current-lesson{border:2px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff,#fff6fa);box-shadow:var(--ink-shadow)}.lesson-index{border-color:#d7cad5}.lesson-index>span{color:var(--accent);font-weight:900}.lesson-index small{color:var(--muted)}.current-copy>p{color:#a13e69}.current-copy h3{color:var(--text);font-weight:900}.current-topics li{color:#49414b!important}.current-topics li:before{color:var(--accent);font-weight:900}.lesson-link{border:2px solid var(--line);border-radius:12px;background:var(--yellow);color:var(--text);box-shadow:3px 3px 0 var(--line)}.lesson-link:hover{border-color:var(--line);color:var(--text);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--line)}.lesson-link b{color:var(--text)}.lesson-browser{min-width:234px}.lesson-browser>button{border:2px solid var(--line);border-radius:12px;background:var(--blue);color:var(--text);box-shadow:3px 3px 0 var(--line)}.lesson-browser>button:last-child{background:var(--yellow)}.lesson-browser>button:hover:not(:disabled){border-color:var(--line);color:var(--text);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--line)}.lesson-browser>button:disabled{background:#f4eef3;box-shadow:none}.lesson-browser>div>span{color:#8b6074}.lesson-browser a{color:var(--text)}.lesson-browser a:hover{color:#a83263}.current-lesson.locked{background:#f8f4f7}.current-lesson.locked .current-copy,.current-lesson.locked .lesson-index{opacity:.62}.lesson-browser a.locked{border-bottom:0;color:var(--muted);cursor:not-allowed;font-size:9px;line-height:1.4}.curriculum-heading>div>p,.curriculum-heading>p{color:var(--muted)}.curriculum-heading h2{color:var(--text)}.phase-list{border-color:var(--line)}.phase-row{border-color:#dcd1da}.phase-row:hover{background:#fff8fb}.phase-row.current{border:2px solid var(--line);border-left:8px solid var(--accent);border-radius:15px;background:#fff;box-shadow:3px 3px #e8ddff}.phase-number,.phase-copy>div>span,.phase-state,.phase-state small{color:var(--muted)}.phase-row.current .phase-number{color:var(--accent)}.phase-copy h3{color:var(--text);font-weight:900}.coverage-list li{color:#49414b;font-size:11px}.coverage-list li span,.phase-row.current .coverage-list li span{color:#b54373;font-weight:900}.phase-state .available{color:var(--good)}.site-footer{border-color:var(--line);color:var(--muted)}.dashboard-intro{padding:52px 0 28px}.dashboard-intro:after{top:43px}.dashboard-intro .breadcrumb{margin-bottom:12px;color:#9b3c67;font-weight:900;letter-spacing:.08em}.dashboard-intro h1{font-size:clamp(38px,5vw,54px)}.dashboard-intro+.progress-panel{margin-top:30px}.access-notice{margin:8px 0 26px;padding:14px 17px;border:1.5px solid #d6a34c;border-radius:10px;background:#fff8d9;color:#5d471c;font-size:12px;line-height:1.5}.access-notice[hidden]{display:none}.lesson-outline{border-color:var(--line);background:#fff8fbf7}.outline-meta{border-color:#d9cbd6}.outline-meta span,.outline-meta small{color:#8b6074}.outline-meta strong{color:var(--text)}.lesson-outline nav a{color:#6c626e;border-radius:8px}.lesson-outline nav a:hover,.lesson-outline nav a.active{background:#fff;color:var(--text)}.lesson-outline nav a:before{border-radius:4px;background:var(--accent)}.lesson-outline nav a i,.lesson-outline nav a.active i{color:#b54373}.lesson-main article{background:transparent}.lesson-section{border-color:#d8cdd6}.chapter-label,.section-number{color:#b53f72!important}.lesson-main h1,.lesson-section h2,.lesson-section h3,.lesson-section>p strong{color:var(--text)}.lesson-opening h1{position:relative;display:table}.lesson-opening h1:after{content:"✦";margin-left:15px;color:var(--accent);font-size:.52em;vertical-align:top}.lesson-section>p,.text-list,.text-list li,.procedure-list,.procedure-list li,.roadmap-list span,.summary-list span,.exercise>p,.exercise details>p,.exercise li,.question-block>p,.question-block details p{color:#373139!important}.roadmap-list,.summary-list,.roadmap-list li,.summary-list li{border-color:#d8cdd6}.roadmap-list strong,.summary-list strong{color:var(--text)}.roadmap-list li::marker,.procedure-list li::marker{color:var(--accent);font-weight:900}.definition{border:2px solid var(--line);border-left:8px solid var(--accent);border-radius:10px;background:#fff7fa;box-shadow:3px 3px 0 var(--accent-soft)}.definition p{color:#2c262e}.definition strong{color:#a83263}.key-statement,.course-connection{border:2px solid var(--line);border-radius:12px;background:var(--blue);color:var(--text)!important}.question-block{border:2px solid var(--line);border-left:7px solid #72bce8;border-radius:11px;background:#eff9ff;box-shadow:3px 3px #cfeeff}.question-block>strong,.question-block summary{color:#185d86}.question-block summary{font-weight:900}.katex{color:var(--text)}.program-sketch,.computer-model,.memory-lifecycle,.assignment-model,.program-journey,.algorithm-flowchart,.sigma-figure,.rectangle-figure,.output-story,.value-shelf,.variable-labels,.division-figure,.receipt-model{border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--text);box-shadow:var(--ink-shadow)}.program-sketch figcaption,.computer-model figcaption,.memory-lifecycle figcaption,.translation-flow figcaption,.assignment-model figcaption,.program-journey figcaption,.algorithm-flowchart figcaption,.sigma-figure figcaption,.rectangle-figure figcaption,.output-story figcaption,.value-shelf figcaption,.variable-labels figcaption,.division-figure figcaption{color:var(--muted)}.instruction-stack>span,.model-box,.translation-flow>div,.life-stage,.code-comparison>div,.state-change,.memory-figure{border-color:var(--line);background:#fff}.instruction-stack>span:nth-child(1){background:var(--blue)}.instruction-stack>span:nth-child(2){background:var(--lavender)}.instruction-stack>span:nth-child(3){background:var(--mint)}.instruction-stack b{background:#fff;color:var(--text)}.instruction-stack code,.model-box code,.translation-flow code,.translation-flow small{color:var(--text)}.execution-stack{border:2px solid var(--line);background:var(--yellow)}.execution-stack>svg,.sketch-arrow,.model-arrow{color:var(--accent)}.execution-stack code{color:#166b4b}.model-box{border-width:2px;border-radius:13px}.input-box{background:var(--blue)}.memory-box{background:var(--lavender)}.cpu-box{background:var(--yellow)}.output-box{background:var(--mint)}.model-box>span{border-color:var(--line);background:#fff;color:var(--text)}.model-icon,.cpu-box .model-icon,.output-box .model-icon,.model-flow svg{color:var(--text)}.model-flow span{color:var(--muted)}.memory-comparison{border:2px solid var(--line);border-radius:13px;background:#fff}.memory-comparison>div,.memory-comparison>div>*{border-color:#d8ccd5;color:var(--text)}.memory-comparison .memory-head{background:#f7edf3;color:var(--text)}.memory-kind small{color:var(--muted)}.memory-kind.ram b{color:#236c9a}.memory-kind.rom b{color:#7a4cac}.memory-kind.disk b{color:#97650a}.memory-comparison .cleared{color:#a43f45}.memory-comparison .stays{color:#217250}.life-stage{border-color:var(--line);background:#fff}.life-stage.active{border-color:var(--line);background:#fffaf0;box-shadow:inset 0 0 0 5px #fff0ad}.life-stage>span{color:var(--text)}.ram-item{border-color:#5ba5d3;background:var(--blue)}.ram-item b,.ram-item code{color:var(--text)}.disk-item{border-color:#bd8c23;background:var(--yellow)}.disk-item b,.disk-item code{color:var(--text)}.cycle-diagram>div{border:2px solid var(--line);border-radius:13px;background:#fff}.cycle-diagram>div:nth-of-type(1){background:var(--blue)}.cycle-diagram>div:nth-of-type(2){background:var(--lavender)}.cycle-diagram>div:nth-of-type(3){background:var(--mint)}.cycle-diagram>div span,.cycle-diagram>div strong,.cycle-diagram>div small,.cycle-diagram>b{color:var(--text)}.representation-table,.operator-table,.trace-table,.compact-trace,.type-list{border-color:var(--line);background:#fff}.representation-table>div,.operator-table>div,.trace-table>div,.compact-trace>div,.type-list>div,.representation-table>div>*,.operator-table>div>*,.trace-table>div>*{border-color:#d8ccd5;color:var(--text)}.representation-table>div:first-child,.operator-table>div:first-child,.trace-table .trace-head{background:#f5eaf1;color:var(--text)}.trace-table code,.compact-trace code{color:#285e4b}.trace-table p,.compact-trace span,.type-list p{color:#4d454f}.trace-table b,.type-list>div>code{color:#a83263}.translation-flow>b{color:var(--accent);font-size:25px}.display-formula{border:2px solid var(--line);border-radius:12px;background:var(--lavender)}.math-chain,.formula-pair>div{border-color:var(--line);background:#fff}.formula-pair>div:first-child{background:var(--blue)}.formula-pair>div:last-child{background:var(--lavender)}.formula-pair code,.formula-pair strong,.formula-pair small,.math-chain code,.math-chain strong{color:var(--text)}.standalone-code,.pseudocode,.exercise pre,.knowledge-check>pre,.code-comparison pre{border:2px solid var(--line);border-radius:12px;background:#fff8fb;color:#211b23;box-shadow:3px 3px #eadde6}.pseudocode{border-left:8px solid #73bce7}.error-code{border-color:#a74b55;background:#fff1f1}.inline-code,.exercise code,.question-block code{color:#802d55}.code-lab{overflow:hidden;border:2px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--ink-shadow)}.lab-toolbar{border-color:var(--line);background:#f5eaf1}.lab-toolbar i:nth-child(1){background:#ff8eb3}.lab-toolbar i:nth-child(2){background:#ffd55f}.lab-toolbar i:nth-child(3){background:#68d9aa}.lab-toolbar strong,.lab-toolbar button{color:var(--text)}.editor-wrap{background:#fff}.line-numbers{border-color:#e1d7df;background:#fff7fa;color:#9a8594}.editor-wrap textarea{background:#fff;color:#211b23;caret-color:var(--accent)}.lab-actions{border-color:var(--line);background:#fff}.run-button{border:2px solid var(--line);border-radius:10px;background:var(--accent-soft);color:var(--text);box-shadow:2px 2px 0 var(--line)}.run-button:hover{background:#ffc6dc}.runtime-note{color:var(--muted)}.output-wrap{border-color:var(--line);background:#effbf6}.output-wrap>span{color:#277a59}.output-wrap pre{color:#21352d}.output-wrap.error{background:#fff0f1}.output-wrap.error pre{color:#8d343e}.knowledge-check{border:2px solid var(--line);border-radius:15px;background:#fff;box-shadow:3px 3px 0 var(--lavender)}.knowledge-check>p{color:var(--text)}.quiz-options button{border:2px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}.quiz-options button:hover{background:var(--blue)}.quiz-options button.correct{border-color:var(--line);background:var(--mint);color:#174e38}.quiz-options button.incorrect{border-color:var(--line);background:#ffe0e3;color:#79323a}.quiz-feedback{border-color:var(--line);background:#fff;color:var(--text)}.quiz-feedback.correct{background:var(--mint);color:#174e38}.quiz-feedback.incorrect{background:#ffe9eb;color:#79323a}.exercise{border-color:#d8cdd6}.exercise h3{color:var(--text)}.exercise summary{color:#a83263;font-weight:900}.output-story{margin:32px 0 44px;padding:26px;display:grid;grid-template-columns:.75fr 72px 1.4fr;align-items:center;gap:18px}.output-source{padding:20px;display:grid;gap:9px;border:2px solid var(--line);border-radius:13px;background:var(--lavender)}.output-source span{color:#6f4a82;font-size:11px;font-weight:900;text-transform:uppercase}.output-source code{color:var(--text)}.output-story>svg{width:72px;color:var(--accent);stroke-width:2.8}.output-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px}.destination{min-height:210px;padding:18px;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:13px}.destination.temporary{background:var(--blue)}.destination.persistent{background:var(--yellow)}.destination svg{width:46px;margin-bottom:12px;color:var(--text)}.destination strong{color:var(--text)}.destination code{margin:8px 0;color:#702c50}.destination span{margin-top:auto;color:#403941;font-size:12px;line-height:1.5}.output-story figcaption{grid-column:1/-1}.assignment-model{margin:32px 0 46px;padding:27px}.assignment-line{margin:8px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.assignment-line code{font-size:18px;font-weight:900;color:var(--text)}.assignment-tag{padding:7px 10px;border:2px solid var(--line);border-radius:20px;color:var(--text);font-size:10px;font-weight:900;text-transform:uppercase}.assignment-tag.create{background:var(--mint)}.assignment-tag.update{background:var(--accent-soft)}.assignment-steps{margin-bottom:30px;display:grid;grid-template-columns:1fr 58px 1fr;align-items:center;gap:12px}.assignment-steps.three{grid-template-columns:1fr 45px 1fr 45px 1fr}.assignment-steps>div{min-height:145px;padding:17px;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:12px;background:var(--blue)}.assignment-steps.three>div:nth-of-type(2){background:var(--yellow)}.assignment-steps.three>div:nth-of-type(3){background:var(--mint)}.assignment-steps>div>span{color:#a83263;font-weight:900}.assignment-steps strong{margin:9px 0;color:var(--text)}.assignment-steps code{color:var(--text)}.assignment-steps small{margin-top:auto;color:var(--muted);line-height:1.4}.assignment-steps>svg{width:100%;color:var(--accent);stroke-width:2.7}.program-journey{margin:30px 0 45px;padding:25px;display:grid;grid-template-columns:repeat(9,auto);align-items:center;gap:9px}.program-journey>div{min-height:170px;padding:15px;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:13px;background:#fff}.program-journey>div:nth-of-type(1){background:var(--accent-soft)}.program-journey>div:nth-of-type(2){background:var(--blue)}.program-journey>div:nth-of-type(3){background:var(--yellow)}.program-journey>div:nth-of-type(4){background:var(--lavender)}.program-journey>div:nth-of-type(5){background:var(--mint)}.program-journey>div span{color:#a83263;font-size:11px;font-weight:900}.program-journey>div strong{margin:12px 0 8px;color:var(--text);font-size:14px}.program-journey>div p{margin:0;color:#4f4751;font-size:11px;line-height:1.5}.program-journey>b{color:var(--accent);font-size:20px}.program-journey figcaption{grid-column:1/-1}.algorithm-flowchart{width:min(540px,100%);margin:30px auto 46px;padding:30px;display:grid;justify-items:center}.algorithm-flowchart>div{min-width:270px;padding:13px 23px;border:2px solid var(--line);text-align:center;color:var(--text)}.flow-terminal{border-radius:40px;background:var(--accent-soft)}.flow-io{border-radius:7px;background:var(--blue);transform:skew(-8deg)}.flow-process{border-radius:7px;background:var(--yellow)}.algorithm-flowchart>b{padding:5px;color:var(--accent);font-size:22px}.algorithm-flowchart figcaption{margin-top:18px}.sigma-figure{margin:28px 0 44px;padding:28px;display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center}.sigma-symbol{padding:18px;display:grid;justify-items:center;border:2px solid var(--line);border-radius:13px;background:var(--lavender)}.sigma-symbol strong{font:70px/1 Georgia,serif;color:#6e4a9b}.sigma-symbol b{color:var(--text)}.sigma-symbol span{color:var(--muted);font-size:10px}.sigma-expression{display:grid;gap:10px}.sigma-expression code{padding:12px;border:2px solid var(--line);border-radius:9px;background:var(--blue);color:var(--text);text-align:center;font-size:17px}.sigma-expression span{color:var(--accent);text-align:center;font-weight:900}.sigma-values{grid-column:1/-1;padding:15px;border-radius:9px;background:var(--yellow);text-align:center}.sigma-values code{color:var(--text);font-size:19px;font-weight:900}.sigma-figure figcaption{grid-column:1/-1}.rectangle-figure{margin:24px 0 32px;padding:24px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px}.rectangle-figure>svg{width:100%}.rectangle-figure svg rect:first-of-type{fill:#f8dceb;stroke:var(--line);stroke-width:3}.rectangle-figure svg .grid{fill:url(#rect-grid);stroke:none;opacity:.25}.rectangle-figure svg path{stroke:var(--line);stroke-width:2;fill:none}.rectangle-figure svg text{fill:var(--text);font:800 16px Trebuchet MS,sans-serif;text-anchor:middle}.rectangle-figure>div{display:grid;gap:12px}.rectangle-figure p{margin:0;padding:15px;display:grid;gap:5px;border:2px solid var(--line);border-radius:11px;background:var(--blue)}.rectangle-figure p:last-child{background:var(--yellow)}.rectangle-figure p span{color:var(--muted);font-size:11px}.rectangle-figure p code{color:var(--text)}.rectangle-figure figcaption{grid-column:1/-1}.value-shelf{margin:35px 0 20px;padding:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value-shelf>div{min-height:170px;padding:17px;display:flex;flex-direction:column;align-items:center;border:2px solid var(--line);border-radius:16px;background:#fff}.value-shelf>div:nth-child(1){background:var(--blue);transform:rotate(-1deg)}.value-shelf>div:nth-child(2){background:var(--yellow);transform:rotate(1deg)}.value-shelf>div:nth-child(3){background:var(--accent-soft);transform:rotate(-1deg)}.value-shelf>div:nth-child(4){background:var(--mint);transform:rotate(1deg)}.value-icon{width:68px;height:68px;margin-bottom:12px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--text);font-weight:900}.value-shelf strong{color:var(--text)}.value-shelf code{margin-top:8px;color:#8b315a}.value-shelf figcaption{grid-column:1/-1}.matching-exercise{margin:32px 0 44px;padding:24px;border:2px solid var(--line);border-radius:15px;background:#fff;box-shadow:3px 3px 0 var(--lavender)}.matching-exercise>div:first-child strong{color:var(--text);font-size:18px}.matching-exercise>div:first-child p{margin:7px 0 20px;color:#4f4751;line-height:1.55}.matching-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.matching-grid label{padding:14px;display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:12px;border:2px solid #d8cdd6;border-radius:11px;background:var(--blue)}.matching-grid label:nth-child(2){background:var(--yellow)}.matching-grid label:nth-child(3){background:var(--accent-soft)}.matching-grid label:nth-child(4){background:var(--mint)}.matching-grid label.correct{border-color:#3e8b6b}.matching-grid label.incorrect{border-color:#bd5966}.matching-grid code{color:var(--text);font-size:18px;font-weight:900}.matching-grid select{width:100%;padding:9px;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.matching-exercise>button{margin-top:16px;padding:11px 17px;border:2px solid var(--line);border-radius:9px;background:var(--yellow);color:var(--text);cursor:pointer;font-weight:900;box-shadow:2px 2px 0 var(--line)}.matching-exercise>button:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--line)}.matching-feedback{display:none;margin:14px 0 0;padding:12px;border-radius:8px}.matching-feedback.visible{display:block}.matching-feedback.correct{background:var(--mint);color:#174e38}.matching-feedback.incorrect{background:#ffe9eb;color:#79323a}.type-cards{margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.type-cards>div{padding:20px;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;border:2px solid var(--line);border-radius:13px}.type-cards>div:nth-child(1){background:var(--blue)}.type-cards>div:nth-child(2){background:var(--yellow)}.type-cards>div:nth-child(3){background:var(--accent-soft)}.type-cards>div:nth-child(4){background:var(--mint)}.type-cards>div>code{color:#8b315a;font-size:18px;font-weight:900}.type-cards strong{color:var(--text)}.type-cards p{grid-column:1/-1;margin:4px 0 0;color:#423b44;line-height:1.55}.variable-labels{margin:30px 0 43px;padding:25px;display:grid;grid-template-columns:1fr 100px 1fr;gap:15px;align-items:center}.variable-code{display:grid;gap:13px}.variable-code code{padding:13px;border:2px solid var(--line);border-radius:9px;background:var(--blue);color:var(--text)}.variable-code code:nth-child(2){background:var(--accent-soft)}.variable-code code:nth-child(3){background:var(--mint)}.label-arrows{display:grid;gap:22px;color:#a83263;font-size:10px;font-weight:900;text-align:center;text-transform:uppercase}.label-arrows span:after{content:" →"}.variable-table{display:grid;gap:8px}.variable-table p{margin:0;padding:12px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px;border:2px solid var(--line);border-radius:9px;background:#fff}.variable-table code,.variable-table strong,.variable-table span{color:var(--text)}.variable-labels figcaption{grid-column:1/-1}.name-table{margin:25px 0 36px;border:2px solid var(--line);border-radius:12px;overflow:hidden}.name-table>div{display:grid;grid-template-columns:1.4fr 1fr 1.4fr}.name-table>div>*{padding:14px 16px;border-right:1px solid #d8cdd6;border-bottom:1px solid #d8cdd6;color:var(--text)}.name-table>div>*:last-child{border-right:0}.name-table>div:last-child>*{border-bottom:0}.name-table>div:first-child{background:var(--lavender)}.name-table code:last-child{color:#8b315a;font-weight:900}.division-figure{margin:28px 0 42px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.items{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.items i{width:25px;height:25px;border:2px solid var(--line);border-radius:50%;background:var(--accent-soft)}.items i:nth-last-child(-n+2){background:var(--yellow)}.groups{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr) .8fr;gap:8px}.groups span,.groups b{padding:10px;border:2px solid var(--line);border-radius:9px;text-align:center}.groups span{background:var(--blue)}.groups b{background:var(--yellow)}.division-figure>code{padding:14px;border-radius:9px;background:var(--lavender);color:var(--text);text-align:center}.division-figure figcaption{grid-column:1/-1}.conversion-pipeline{margin:28px 0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:11px}.conversion-pipeline>div{padding:18px;display:grid;gap:8px;border:2px solid var(--line);border-radius:12px;background:var(--blue);text-align:center}.conversion-pipeline>div:nth-of-type(2){background:var(--yellow)}.conversion-pipeline>div:nth-of-type(3){background:var(--mint)}.conversion-pipeline span,.conversion-pipeline small{color:var(--muted)}.conversion-pipeline code,.conversion-pipeline b{color:var(--text)}.conversion-pipeline>b{font-size:11px}.stdin-field{padding:15px 18px;display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:8px 18px;border:2px solid var(--line);border-top:0;background:var(--lavender);color:#8b315a;font-size:10px;font-weight:900;letter-spacing:.06em}.stdin-field textarea{min-height:48px;padding:9px 11px;resize:vertical;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:14px/1.5 ui-monospace,monospace}.stdin-field small{grid-column:2;color:#5e5360;font-size:10px;font-weight:500;letter-spacing:0}.stdin-field code{color:#8b315a}.receipt-model{margin:30px 0;padding:24px;display:grid;grid-template-columns:1fr 25px 1.2fr 25px .8fr;align-items:center;gap:10px}.receipt-model>div{min-height:210px;padding:17px;display:grid;align-content:center;gap:8px;border:2px solid var(--line);border-radius:12px;background:var(--blue)}.receipt-model>div:nth-of-type(2){background:var(--lavender)}.receipt-model>div>span{color:#8b315a;font-size:10px;font-weight:900}.receipt-model code{color:var(--text)}.receipt-model>b{color:var(--accent);font-size:20px}.receipt-model .paper-receipt{position:relative;background:#fffdf3}.paper-receipt:after{content:"";position:absolute;inset:auto 0 -8px;height:14px;background:linear-gradient(135deg,transparent 7px,#fffdf3 0) 0 0/14px 14px repeat-x}.paper-receipt strong{border-bottom:1px dashed var(--line);padding-bottom:8px}.paper-receipt p{margin:0;color:var(--text);font-size:11px}.decision-map{margin:34px 0 45px;padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;position:relative}.decision-question{grid-column:1/-1;width:min(390px,100%);margin:0 auto;padding:20px;display:grid;gap:9px;position:relative;border:2px solid var(--line);border-radius:16px;background:var(--yellow);text-align:center;box-shadow:3px 3px 0 var(--line)}.decision-question span,.decision-path span{color:#8b315a;font-size:10px;font-weight:900;letter-spacing:.09em}.decision-question code{color:var(--text);font-size:17px;font-weight:900}.decision-connector{min-height:62px;display:flex;flex-direction:column;justify-content:center;color:var(--text)}.decision-connector.yes-connector{align-items:flex-end;padding-right:32px}.decision-connector.no-connector{align-items:flex-start;padding-left:32px}.decision-connector span{padding:3px 8px;border:2px solid var(--line);border-radius:999px;background:#fff;color:#8b315a;font-size:10px;font-weight:900;letter-spacing:.08em}.decision-connector b{margin-top:-2px;color:var(--text);font-size:34px;line-height:.8}.decision-path{min-height:115px;padding:19px;display:grid;align-content:center;gap:7px;border:2px solid var(--line);border-radius:14px;background:var(--mint);text-align:center}.decision-path.false-path{background:var(--blue)}.decision-path strong,.decision-path small{color:var(--text)}.decision-path small{font-size:12px}.decision-map figcaption{grid-column:1/-1}.decision-ladder{margin:30px 0 38px;display:grid;gap:10px}.decision-ladder>div{width:calc(100% - var(--ladder-offset,0px));margin-left:var(--ladder-offset,0px);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;border:2px solid var(--line);border-radius:12px;background:var(--blue)}.decision-ladder>div:nth-child(2){--ladder-offset: 35px;background:var(--lavender)}.decision-ladder>div:nth-child(3){--ladder-offset: 70px;background:var(--accent-soft)}.decision-ladder>div:nth-child(4){--ladder-offset: 105px;background:var(--mint)}.decision-ladder code,.decision-ladder span{color:var(--text)}.decision-ladder span{font-weight:800}.truth-table code{color:var(--text)!important}.loop-cycle-map{margin:34px 0 45px;padding:26px;display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;gap:10px}.loop-cycle-map>div{min-height:145px;padding:20px;display:grid;align-content:center;gap:8px;border:2px solid var(--line);border-radius:14px;background:var(--yellow);text-align:center}.loop-cycle-map>div:nth-of-type(2){background:var(--blue)}.loop-cycle-map>div:nth-of-type(3){background:var(--mint)}.loop-cycle-map>div span{width:25px;height:25px;margin:0 auto 4px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;color:#8b315a;font-size:11px;font-weight:900}.loop-cycle-map>div strong,.loop-cycle-map>div code{color:var(--text)}.loop-cycle-map>div code{font-size:11px;line-height:1.5}.loop-cycle-map>b{color:#8b315a;font-size:25px;text-align:center}.loop-cycle-map>p{grid-column:1/-1;margin:6px 0 0;display:flex;justify-content:center;align-items:center;gap:10px;color:var(--text)}.loop-cycle-map>p b{color:#8b315a;font-size:30px}.loop-cycle-map>p span{font-weight:800}.loop-cycle-map figcaption{grid-column:1/-1}.range-track{margin:30px 0 42px;padding:24px}.range-values{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.range-values span,.range-values b{min-height:62px;display:grid;place-items:center;border:2px solid var(--line);border-radius:11px;color:var(--text);font:800 18px ui-monospace,monospace}.range-values span{background:var(--blue)}.range-values b{position:relative;border-style:dashed;background:#fff;color:#9d8e99}.range-values b:before{content:"STOP";position:absolute;top:-18px;color:#8b315a;font:900 9px ui-sans-serif,sans-serif;letter-spacing:.08em}.range-brace{margin-top:12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:var(--text);text-align:center}.range-brace i{height:2px;background:var(--line)}.range-brace strong{color:var(--text);font-size:12px}.range-track figcaption{margin-top:17px}.loop-parts{margin:30px 0 38px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.loop-parts>div{padding:20px;display:grid;gap:9px;border:2px solid var(--line);border-radius:13px;background:var(--yellow)}.loop-parts>div:nth-child(2){background:var(--blue)}.loop-parts>div:nth-child(3){background:var(--mint)}.loop-parts span{color:#8b315a;font-size:10px;font-weight:900;letter-spacing:.08em}.loop-parts code,.loop-parts p{color:var(--text)}.loop-parts code{font-weight:800}.loop-parts p{margin:0;font-size:13px;line-height:1.55}.term-summary{border:2px solid var(--line);border-radius:12px;background:var(--lavender);color:var(--text)!important}.workbook-grid{margin:32px 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.workbook-row{margin:0;min-height:190px;padding:21px;align-items:stretch;flex-direction:column;border:2px solid var(--line);border-radius:14px;background:var(--blue);box-shadow:3px 3px 0 var(--line)}.workbook-row.homework{background:var(--accent-soft)}.workbook-row>div>span{display:block;margin-bottom:10px;color:#a83263;font-size:11px;font-weight:900}.workbook-row strong{color:var(--text)}.workbook-row p{color:#48404a;font-size:13px;line-height:1.5}.workbook-row a{margin-top:auto;color:#7e2c53;font-size:11px}.complete-button{border:2px solid var(--line);border-radius:14px;background:var(--yellow);color:var(--text);box-shadow:3px 3px 0 var(--line)}.complete-button:hover:not(:disabled){border-color:var(--line);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--line)}.complete-button:disabled{background:#f1ebef;color:var(--muted);cursor:not-allowed;box-shadow:none}.complete-button.completed{border-color:var(--line);background:var(--mint)}.complete-button small,.complete-button svg{color:#8b315a}.next-lesson-link{margin-top:22px;padding:20px;display:grid;grid-template-columns:1fr auto;gap:6px 20px;border:2px solid var(--line);border-radius:14px;background:var(--lavender);box-shadow:3px 3px 0 var(--line)}.next-lesson-link span{color:#7e2c53;font-size:10px;font-weight:900;letter-spacing:.08em}.next-lesson-link strong{color:var(--text)}.next-lesson-link b{grid-row:1/3;grid-column:2;align-self:center;color:var(--text);font-size:24px}.next-lesson-link.locked{background:#f1ebef;box-shadow:none;cursor:not-allowed;opacity:.72}.review-gate{margin:20px 0 34px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:5px 18px;border:1.5px solid #d6a34c;border-radius:12px;background:#fff8d9}.review-gate>span{color:#8d6421;font-size:9px;font-weight:900;letter-spacing:.09em}.review-gate>strong{color:#5d471c;font-size:12px}.review-gate>p{grid-column:1 / -1;margin:3px 0 0;color:#715a2f;font-size:11px;line-height:1.5}.review-gate.passed{border-color:#79b99d;background:var(--mint)}.review-gate.passed>span,.review-gate.passed>strong,.review-gate.passed>p{color:#245e49}.next-note{color:var(--muted)!important}.toast{border:2px solid var(--line);border-radius:12px;background:var(--accent-soft);color:var(--text);box-shadow:var(--ink-shadow)}.annotation-toolbar{border:2px solid var(--line);background:#fffffff7;color:var(--text);box-shadow:var(--ink-shadow)}.annotation-toolbar button{border-color:var(--line-soft);background:#fff7fa;color:var(--text)}.annotation-toolbar button:hover,.annotation-toolbar button.active{border-color:var(--line);background:var(--yellow);color:var(--text)}.annotation-toolbar .annotation-exit{color:var(--muted)}.annotation-mode-label{color:#a83263}.annotation-mode-label i{background:var(--accent)}.annotation-composer,.annotation-panel{border:2px solid var(--line);background:#fff;color:var(--text);box-shadow:6px 6px 0 var(--line)}.annotation-composer-head span,.annotation-panel-head span{color:#a83263}.annotation-composer-head strong,.annotation-panel-head h2{color:var(--text)}.annotation-close{color:var(--muted)!important}.annotation-close:hover{color:var(--text)!important}.annotation-route,.annotation-loading{color:var(--muted)}.annotation-composer textarea,.annotation-row-actions input{border:2px solid var(--line);background:#fff8fb;color:var(--text)}.annotation-secondary{border-color:var(--line);color:var(--text)}.annotation-panel-head{border-color:#d8cdd6}.annotation-tabs button{border-color:var(--line);color:var(--text)}.annotation-tabs button.active{border-color:var(--line);background:var(--yellow);color:var(--text)}.annotation-row{border:2px solid var(--line);background:#fff8fb}.annotation-row-head strong{color:#a83263}.annotation-row-head time{color:var(--muted)}.annotation-comment{color:var(--text)}.annotation-snippet{background:var(--blue);color:#4f4751}.annotation-note{background:var(--lavender);color:#4f4751}.annotation-row-actions a,.annotation-row-actions button{border-color:var(--line);background:#fff;color:var(--text)}.annotation-row-actions a:hover,.annotation-row-actions button:hover{border-color:var(--accent);color:#a83263}.annotation-empty,.annotation-empty strong{color:var(--text)}.annotation-toast{border:2px solid var(--line);background:var(--yellow);color:var(--text)}@media(max-width:900px){.program-journey{grid-template-columns:1fr}.program-journey>b{transform:rotate(90deg);text-align:center}.output-story,.assignment-steps,.assignment-steps.three,.receipt-model{grid-template-columns:1fr}.output-story>svg,.assignment-steps>svg{margin:auto;transform:rotate(90deg)}.receipt-model>b{transform:rotate(90deg);text-align:center}}@media(max-width:700px){html,body{max-width:100%;overflow-x:hidden}.lesson-main,.lesson-main article,.lesson-section{max-width:100%}.lesson-main article{width:calc(100vw - 32px)!important;margin-inline:16px!important}.lesson-section>p,.lesson-section li,.definition p,.question-block p,.exercise p{max-width:100%!important;overflow-wrap:anywhere}.lesson-opening h1{max-width:100%;overflow-wrap:anywhere}.program-sketch,.computer-model,.memory-lifecycle,.output-story,.assignment-model,.program-journey,.algorithm-flowchart,.sigma-figure,.rectangle-figure,.value-shelf,.variable-labels,.division-figure,.receipt-model,.decision-map,.decision-ladder,.loop-cycle-map,.range-track,.loop-parts,.code-lab,.knowledge-check{max-width:100%}.course-intro:after{top:30px;right:0;opacity:.55}.output-branches,.value-shelf,.type-cards,.matching-grid,.workbook-grid,.rectangle-figure,.variable-labels,.sigma-figure{grid-template-columns:1fr}.output-story figcaption,.value-shelf figcaption,.rectangle-figure figcaption,.variable-labels figcaption,.sigma-values,.sigma-figure figcaption{grid-column:1}.label-arrows{grid-template-columns:repeat(3,1fr)}.label-arrows span:after{content:" ↓"}.name-table{overflow-x:auto}.name-table>div{min-width:560px}.stdin-field{grid-template-columns:1fr}.stdin-field small{grid-column:1}.conversion-pipeline{grid-template-columns:1fr}.conversion-pipeline>b{text-align:center}.decision-map{padding:14px;gap:8px}.decision-connector.yes-connector{padding-right:10px}.decision-connector.no-connector{padding-left:10px}.decision-ladder>div{width:100%;margin-left:0}.loop-cycle-map{grid-template-columns:1fr}.loop-cycle-map>b{transform:rotate(90deg)}.loop-cycle-map>p,.loop-cycle-map figcaption{grid-column:1}.loop-parts{grid-template-columns:1fr}.range-track{padding:16px 4px}.range-values{gap:4px}.range-values span,.range-values b{min-height:48px;font-size:14px}.range-brace{grid-template-columns:1fr}.range-brace i{display:none}.destination{min-height:175px}.current-lesson{box-shadow:3px 3px 0 var(--line)}.lesson-browser{min-width:0}}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.header-actions .text-button{margin-left:0}.account-link{padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:10px;font-weight:900;box-shadow:2px 2px 0 var(--line)}.account-link:hover{background:var(--yellow)}.account-link.signed-in{background:var(--mint)}.curriculum-page-shell{padding-top:0}.curriculum-intro{margin-bottom:42px}.curriculum-intro>p:not(.breadcrumb){max-width:760px;font-size:16px}.lesson-actions{justify-self:end;display:flex;align-items:center;gap:18px}.lesson-account-link{color:#8b315a;font-size:9px;font-weight:900}.lesson-account-link.signed-in{color:var(--good)}.auth-shell{width:min(460px,calc(100% - 32px));min-height:calc(100vh - 58px);margin:0 auto;padding:54px 0 84px;display:grid;place-items:center}.auth-card{width:100%;min-height:0;padding:36px;border:2px solid var(--line);border-radius:20px;background:#fff;box-shadow:7px 7px 0 var(--line)}.auth-card-heading{margin-bottom:30px}.auth-card-heading[hidden]{display:none!important}.auth-card-heading h1{margin:0;color:var(--text);font-size:clamp(30px,7vw,38px);line-height:1.12;letter-spacing:-.035em}.auth-card-heading>p:last-child{margin:13px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.auth-tabs{margin-bottom:32px;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1.5px solid var(--line);border-radius:12px;background:#f8f2f6}.auth-tabs button{min-height:42px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:900}.auth-tabs button.active{background:#fff;color:var(--text);box-shadow:1px 1px 4px #2b223024}.auth-form{display:grid;gap:19px}.auth-form[hidden],.account-view[hidden],.clerk-auth-view[hidden],.auth-unavailable[hidden],#auth-forms[hidden],#manage-account[hidden]{display:none!important}.auth-kicker{margin:0 0 7px;color:#a83263;font-size:9px;font-weight:900;letter-spacing:.1em}.auth-form h2,.account-view h2,.auth-unavailable h2{margin:0;color:var(--text);font-size:28px}.auth-form label{display:grid;gap:8px;color:var(--text);font-size:11px;font-weight:900}.auth-form input{width:100%;min-height:48px;padding:10px 13px;border:1.5px solid #bfb3bd;border-radius:9px;background:#fffdfd;color:var(--text);font:15px system-ui,sans-serif}.auth-form input:focus{outline:3px solid var(--accent-soft);border-color:var(--line)}.auth-form label small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}.auth-submit{min-height:50px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border:2px solid var(--line);border-radius:11px;background:var(--yellow);color:var(--text);cursor:pointer;box-shadow:3px 3px 0 var(--line);font-size:12px;font-weight:900}.auth-submit:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--line)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-secondary{min-height:44px;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--text);cursor:pointer;font-size:11px;font-weight:900}.auth-secondary:hover{background:var(--blue)}.auth-feedback{min-height:22px;margin:18px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.auth-feedback.error{color:#a12f3f}.clerk-auth-view{display:grid;gap:13px}.clerk-auth-view h2{margin:0;color:var(--text);font-size:28px}.clerk-auth-view>p:not(.auth-kicker){margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.7}.clerk-auth-view>small{color:var(--muted);font-size:10px;line-height:1.55}.auth-card.profile-card{width:min(640px,100%)}.account-view{display:grid;gap:24px}.profile-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.profile-heading h2{margin:0 0 5px}.profile-heading p{margin:0;color:var(--muted);font-size:13px}.profile-heading .auth-secondary{flex:0 0 auto}.profile-progress{padding:22px;border:2px solid var(--line);border-radius:12px;background:#fffdfd}.profile-progress>div:first-child{margin-bottom:13px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.profile-progress h3,.profile-danger h3{margin:0;color:var(--text);font-size:16px}.profile-progress>div:first-child strong{color:var(--muted);font-size:11px}.profile-progress .course-progress{margin-bottom:18px}.profile-progress ol{margin:0;padding:0;display:grid;list-style:none}.profile-progress li{min-height:42px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border-top:1px solid #eadfe6}.profile-progress li>span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #cabdc7;border-radius:50%;color:var(--muted);font-size:9px;font-weight:900}.profile-progress li>strong{font-size:11px}.profile-progress li>small{color:var(--muted);font-size:9px}.profile-progress li.complete>span{border-color:var(--line);background:var(--mint);color:var(--good)}.profile-progress li.complete>small{color:var(--good)}.profile-danger{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1.5px solid #dca1ac;border-radius:12px;background:#fff6f7}.profile-danger p{margin:6px 0 0;color:#744e56;font-size:10px;line-height:1.5}.profile-danger button{flex:0 0 auto;min-height:40px;padding:9px 13px;border:1.5px solid #9a3447;border-radius:9px;background:#fff;color:#9a3447;cursor:pointer;font-size:10px;font-weight:900}.profile-danger button:hover:not(:disabled){background:#ffe0e5}.profile-danger button:disabled{opacity:.6;cursor:wait}.account-status{padding:19px;display:flex;gap:14px;border:2px solid var(--line);border-radius:12px;background:var(--mint)}.account-status>span{width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;font-weight:900}.account-status div{display:grid;gap:4px}.account-status small{color:var(--muted);line-height:1.45}.auth-sign-out{justify-self:start;border:0;background:none;color:#8b315a;cursor:pointer;font-size:11px;text-decoration:underline}.auth-unavailable p{color:var(--muted);line-height:1.65}.auth-unavailable code{padding:18px;display:block;border-radius:10px;background:#f6f0f4;line-height:1.8}@media(max-width:760px){.site-header{gap:9px;padding-inline:10px}.site-header .site-brand{margin-right:2px}.site-header .site-brand strong{display:none}.site-header nav{display:flex;flex:1;gap:12px;overflow-x:auto;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{flex:0 0 auto;font-size:9px}.header-actions{gap:10px}.header-actions .text-button{display:none}.account-link{padding:7px 8px;font-size:9px}.auth-shell{width:calc(100% - 28px);padding:34px 0 60px}.auth-card{padding:26px 22px;box-shadow:4px 4px 0 var(--line)}.profile-heading,.profile-danger{align-items:stretch;flex-direction:column}.profile-heading .auth-secondary,.profile-danger button{width:100%}.profile-progress{padding:18px 16px}.profile-progress>div:first-child{align-items:start;flex-direction:column;gap:5px}.profile-progress li{grid-template-columns:28px 1fr;padding:8px 0}.profile-progress li>small{grid-column:2}.lesson-account-link{display:none}}@media(max-width:900px){.lesson-account-link{display:none}}
