:root{--bg:#f8f6ef;--panel:#fffef9;--panel-2:#f1f3eb;--line:#dce1d6;--text:#27382f;--muted:#606c62;--accent:#365848;--accent-2:#547d4f;--danger:#a34538;--control-line:#81907e;--focus:#376c7b;--success-text:#415d37;--success-bg:#e6efe1;--warning-text:#705c31;--warning-bg:#f6f0df;--danger-bg:#f6e9e3;--art-bg:#f3efe3;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a{text-decoration:none}a,button{color:inherit}.detail-shell,.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.hero{min-height:560px;display:grid;grid-template-columns:1.25fr .75fr;grid-gap:56px;gap:56px;align-items:center;padding:88px 0 56px;border-bottom:1px solid var(--line)}.eyebrow,.kicker{color:var(--accent);font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:18px 0 24px;max-width:760px;font-size:clamp(46px,7vw,88px);line-height:.96;letter-spacing:-.055em}.detail-copy>p,.hero p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.8}.hero-visual{min-height:360px;place-items:center}.hero-visual,.radar{position:relative;display:grid}.radar{width:280px;height:280px;place-items:center;border:1px solid rgba(54,88,72,.4);border-radius:50%;box-shadow:inset 0 0 80px rgba(54,88,72,.05),0 0 80px rgba(54,88,72,.05)}.radar i,.radar:after,.radar:before{content:"";position:absolute;border:1px solid rgba(54,88,72,.18);border-radius:50%}.radar:before{inset:28px}.radar:after{inset:62px}.radar i:first-child{inset:96px}.radar i:nth-child(2){width:1px;height:100%;border:0;border-radius:0;background:linear-gradient(transparent,rgba(54,88,72,.3),transparent)}.radar i:nth-child(3){height:1px;width:100%;border:0;border-radius:0;background:linear-gradient(90deg,transparent,rgba(54,88,72,.3),transparent)}.radar span{font-size:58px;font-weight:800;letter-spacing:-.06em}.metric{position:absolute;min-width:128px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,254,249,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--muted);font-size:12px}.metric b{display:block;margin-top:4px;color:var(--text);font-size:24px}.metric:nth-of-type(2){left:0;bottom:42px}.metric:nth-of-type(3){right:0;top:54px}.toolbar{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;padding:34px 0 16px}.search{display:flex;align-items:center;gap:12px;padding:0 18px;min-height:56px;border:1px solid var(--control-line);background:var(--panel);border-radius:16px}.search span{color:var(--accent);font-size:24px}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.search:focus-within{outline:2px solid var(--accent);outline-offset:4px}.search input::placeholder{color:var(--muted)}.chips button,.favorite-filter,.visual-controls button{border:1px solid var(--control-line);background:var(--panel);border-radius:14px;cursor:pointer;transition:.2s ease}.favorite-filter{padding:0 20px}.chips button.active,.chips button:hover,.favorite-filter.active,.favorite-filter:hover,.visual-controls button.active,.visual-controls button:hover{border-color:var(--accent);background:rgba(54,88,72,.08)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.chips button{padding:9px 13px;color:var(--muted);font-size:13px}.chips button.active{color:var(--text)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.section-title div{display:flex;flex-direction:column;gap:5px}.section-title span{color:var(--muted);font-size:12px}.section-title strong{font-size:24px}.section-title p{color:var(--muted);font-size:13px}.term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;padding-bottom:72px}.term-card{min-width:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.term-card:hover{transform:translateY(-3px);border-color:rgba(54,88,72,.35)}.term-card-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}.number{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}.number,.star{color:var(--muted)}.star{border:0;background:transparent;cursor:pointer;font-size:18px}.star.active{color:#80632d}.term-link{display:block;padding:8px 18px 20px}.mini-scene{position:relative;height:128px;margin:4px 0 18px;border-radius:14px;overflow:hidden;background:linear-gradient(rgba(54,88,72,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(54,88,72,.04) 1px,transparent 1px),var(--panel-2);background-size:24px 24px}.node{position:absolute;width:18px;height:18px;border-radius:50%;border:1px solid var(--accent);box-shadow:0 0 20px rgba(54,88,72,.24)}.node.a{left:18%;top:30%}.node.b{left:46%;top:58%;border-color:var(--success-text)}.node.c{right:18%;top:24%}.beam{position:absolute;left:21%;right:21%;top:48%;height:1px;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));transform:rotate(-8deg);opacity:.65}.detail-copy .category,.term-card .category{display:inline-flex;padding:5px 8px;border:1px solid rgba(54,88,72,.18);border-radius:999px;color:var(--accent);font-size:11px}.term-card h2{margin:14px 0 3px;font-size:24px;letter-spacing:-.03em}.term-card h3{margin:0 0 12px;color:var(--muted);font-weight:600}.term-card p{margin:0;min-height:66px;color:var(--muted);font-size:13px;line-height:1.65}.learn-more{display:inline-block;margin-top:18px;color:var(--accent);font-size:12px}.empty-state{margin:42px 0 80px;padding:56px;text-align:center;border:1px dashed var(--line);border-radius:18px}.empty-state b,.empty-state span{display:block}.empty-state span{margin-top:8px;color:var(--muted)}.detail-shell{padding-bottom:80px}.detail-nav{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.detail-nav a:hover{color:var(--accent)}.detail-hero{display:grid;grid-template-columns:.92fr 1.08fr;grid-gap:44px;gap:44px;align-items:stretch;padding:72px 0 38px}.detail-copy{display:flex;flex-direction:column;justify-content:center}.detail-copy h1{margin:20px 0 2px;font-size:clamp(48px,7vw,86px);line-height:.95;letter-spacing:-.055em}.detail-copy h2{margin:10px 0 18px;color:var(--muted);font-size:22px}.principle{margin-top:28px;padding:18px 20px;border-left:2px solid var(--accent);background:rgba(54,88,72,.05)}.principle b,.principle span{display:block}.principle b{margin-bottom:6px;font-size:12px;color:var(--accent)}.principle span{color:var(--muted);font-size:14px;line-height:1.7}.visual-panel{padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--panel)}.visual-topline{display:flex;justify-content:space-between;color:var(--muted);font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.security-scene{position:relative;min-height:420px;margin:18px 0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;grid-gap:22px;gap:22px;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 50% 50%,rgba(54,88,72,.1),transparent 26%),linear-gradient(rgba(54,88,72,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(54,88,72,.04) 1px,transparent 1px),var(--art-bg);background-size:auto,30px 30px,30px 30px,auto}.scene-gate,.scene-source,.scene-target{position:relative;z-index:2;min-height:114px;margin:0 12px;padding:16px;display:grid;place-items:center;text-align:center;border:1px solid var(--line);border-radius:16px;background:rgba(255,254,249,.8);transition:.25s ease}.scene-gate b,.scene-source b,.scene-target b{font-size:12px}.scene-gate{border-color:rgba(54,88,72,.45);box-shadow:0 0 34px rgba(54,88,72,.08)}.scene-gate small,.shield{color:var(--accent)}.shield{font-size:30px}.pulse,.target-dot{width:26px;height:26px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(54,88,72,.4);animation:pulse 2.2s infinite}.target-dot{background:var(--accent-2)}.flow{position:absolute;top:50%;height:2px;width:20%;background:linear-gradient(90deg,transparent,var(--accent));animation:flow 1.7s linear infinite}.flow-a{left:23%}.flow-b{right:23%}.step-0 .scene-source,.step-1 .scene-gate,.step-2 .scene-target{transform:translateY(-8px);border-color:rgba(84,125,79,.55)}.visual-controls{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.visual-controls button{min-height:42px;font-size:12px}.visual-caption{margin:16px 2px 4px;color:var(--muted);font-size:13px;line-height:1.7}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;padding:22px 0 18px}.learning-grid article,.quiz{border:1px solid var(--line);border-radius:18px;background:var(--panel)}.learning-grid article{padding:22px}.learning-grid h3{margin:14px 0 10px;font-size:20px}.learning-grid p{margin:0;color:var(--muted);line-height:1.75;font-size:14px}.quiz{padding:26px;margin-top:10px}.quiz h3{max-width:760px;margin:12px 0 20px;font-size:24px;line-height:1.35}.quiz-options{display:grid;grid-gap:10px;gap:10px}.quiz-options button{display:flex;align-items:center;gap:12px;text-align:left;min-height:54px;padding:10px 14px;border:1px solid var(--control-line);border-radius:14px;background:var(--panel);cursor:pointer}.quiz-options button:hover{border-color:var(--accent)}.quiz-options button span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--panel-2);color:var(--accent)}.quiz-options button.correct{border-color:#6e9163;background:var(--success-bg)}.quiz-options button.wrong{border-color:#b87869;background:var(--danger-bg)}.feedback{margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--danger-bg);color:var(--danger);font-weight:700}.feedback.ok{background:var(--success-bg);color:var(--success-text)}.feedback span{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.65}.pager{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:24px}.pager a{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.pager a:last-child{text-align:right}.pager b,.pager span{display:block}.pager span{margin-bottom:5px;color:var(--muted);font-size:11px}.pager b{font-size:16px}.pager a:hover{border-color:rgba(54,88,72,.4)}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(54,88,72,.28)}50%{box-shadow:0 0 0 14px rgba(54,88,72,0)}}@keyframes flow{0%{transform:translateX(-18%);opacity:.2}50%{opacity:1}to{transform:translateX(18%);opacity:.2}}@media (max-width:900px){.detail-hero,.hero{grid-template-columns:1fr}.hero{padding-top:54px}.hero-visual{min-height:310px}.term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-grid{grid-template-columns:1fr}}@media (max-width:620px){.detail-shell,.shell{width:min(100% - 20px,1180px)}.hero{min-height:auto;gap:18px;padding-bottom:34px}.hero h1{font-size:48px}.hero-visual{transform:scale(.86);margin:-28px 0}.toolbar{grid-template-columns:1fr}.favorite-filter{min-height:48px}.section-title{align-items:flex-start}.section-title p{display:none}.term-grid{grid-template-columns:1fr}.term-card p{min-height:auto}.detail-hero{padding-top:42px}.detail-copy h1{font-size:48px}.security-scene{min-height:330px;gap:6px}.scene-gate,.scene-source,.scene-target{margin:0 4px;padding:8px;min-height:102px}.scene-gate b,.scene-source b,.scene-target b{font-size:9px}.pager,.visual-controls{grid-template-columns:1fr}.pager a:last-child{text-align:left}}.term-illustration-card{aspect-ratio:3/2;margin:4px 0 18px;border:1px solid rgba(54,88,72,.13);border-radius:14px;background:var(--art-bg)}.term-illustration{display:block;width:100%;height:100%;object-fit:cover}.term-illustration.compact{transition:transform .35s ease}.term-card:hover .term-illustration.compact{transform:scale(1.035)}.hero-actions{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid rgba(54,88,72,.45);border-radius:12px;color:var(--text);background:rgba(54,88,72,.09);font-size:13px;font-weight:700;transition:.2s ease}.primary-link:hover,.secondary-link:hover{border-color:var(--accent);background:rgba(54,88,72,.17);transform:translateY(-1px)}.primary-link{color:var(--panel)}.primary-link:hover{color:var(--panel);border-color:#294837}.secondary-link{border-color:var(--control-line);background:var(--panel);color:var(--accent)}.learning-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.learning-nav a{padding:8px 11px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;transition:.2s ease}.learning-nav a:hover{border-color:rgba(54,88,72,.45);color:var(--accent)}.progress-strip{display:flex;align-items:center;gap:14px;margin:20px 0 2px;color:var(--muted);font-size:12px}.progress-track{height:7px;flex:1 1;overflow:hidden;border-radius:99px;background:var(--line)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .35s ease}.card-badges{display:flex;align-items:center;gap:6px}.completed-badge,.mistake-badge{padding:4px 7px;border-radius:99px;font-size:10px}.completed-badge{color:var(--success-text);background:rgba(84,125,79,.1)}.mistake-badge{color:var(--danger);background:rgba(163,69,56,.1)}.term-card.is-complete{border-color:rgba(84,125,79,.25)}.completion-toggle{display:inline-flex;align-items:center;gap:9px;width:-moz-fit-content;width:fit-content;margin-top:20px;padding:11px 15px;border:1px solid var(--control-line);border-radius:12px;background:var(--panel);cursor:pointer;transition:.2s ease}.completion-toggle.completed,.completion-toggle:hover{border-color:var(--accent-2);background:var(--success-bg)}.completion-toggle span{color:var(--success-text);font-size:17px}.visual-caption b{color:var(--accent)}.detail-nav .learning-nav{justify-content:center}.tool-page{min-height:100vh;padding-bottom:80px}.tool-heading{padding:55px 0 28px}.tool-heading h1{margin:14px 0 8px;font-size:clamp(40px,6vw,72px);letter-spacing:-.05em}.review-heading p,.tool-heading p{color:var(--muted);line-height:1.7}.review-draw{padding:30px 0 60px}.review-heading h2{margin:12px 0 4px;font-size:32px}.draw-button{margin:12px 0 22px;cursor:pointer}.review-card{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;grid-gap:28px;gap:28px;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.review-card-art{min-height:220px;overflow:hidden;border-radius:14px}.review-card h3{margin:12px 0 4px;font-size:28px}.review-card p{color:var(--muted);line-height:1.75}.review-card .review-zh{margin-top:0;color:var(--muted)}.review-card .primary-link{margin-top:8px}.review-empty{margin-top:10px}.notebook-panel{padding:10px 0 40px}.notebook-list{display:grid;grid-gap:10px;gap:10px}.notebook-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.notebook-item h3{margin:9px 0 4px}.notebook-item p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}.notebook-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.text-button{border:0;padding:8px 10px;background:transparent;color:var(--muted);cursor:pointer}.text-button:hover{color:var(--accent)}.map-instructions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 18px}.map-instructions p{margin:0;color:var(--muted);font-size:13px}.map-canvas{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 50%,rgba(54,88,72,.07),transparent 35%),var(--panel)}.map-canvas svg{display:block;width:100%;height:auto}.map-edges line{stroke:rgba(54,88,72,.14);stroke-width:1.25}.semantic-edges line{stroke:rgba(128,99,45,.32);stroke-width:1.5;stroke-dasharray:5 7}.map-term-node{cursor:pointer;outline:none}.map-term-node circle{fill:var(--panel);stroke:var(--accent);stroke-width:1.5;transition:.16s ease}.map-term-node.selected circle,.map-term-node:focus circle,.map-term-node:hover circle{fill:var(--accent);stroke:var(--focus);stroke-width:3}.map-term-node circle.learned{fill:#6e9163;stroke:var(--accent)}.map-category-node{cursor:pointer;outline:none}.map-category-node circle{fill:var(--panel-2);stroke:var(--accent);stroke-width:2;transition:.2s ease}.map-category-node.selected circle,.map-category-node:focus circle,.map-category-node:hover circle{fill:var(--success-bg);stroke:#6e9163;stroke-width:3}.map-category-node text{fill:var(--text);text-anchor:middle;font-size:10px;pointer-events:none}.map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:14px 4px;color:var(--muted);font-size:12px}.map-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border:1px solid var(--accent);border-radius:50%;background:var(--panel)}.legend-dot.learned{border-color:#6e9163;background:#6e9163}.map-selection{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.map-selection h3{margin:10px 0 4px}.map-selection h3 small{color:var(--muted);font-size:14px;font-weight:500}.map-selection p{max-width:700px;margin:0;color:var(--muted);line-height:1.6}.map-related{display:grid;grid-gap:12px;gap:12px;color:var(--muted);font-size:12px}.map-related a{color:var(--accent)}.map-related a:hover{text-decoration:underline}.map-status{color:var(--muted);font-size:12px;white-space:nowrap}.map-status.done{color:var(--success-text)}@media (max-width:720px){.hero-actions{gap:14px}.hero-actions .learning-nav{gap:6px}.learning-nav a{padding:7px 8px;font-size:11px}.detail-nav{gap:8px}.detail-nav .learning-nav{justify-content:flex-start}.review-card{grid-template-columns:1fr}.review-card-art{min-height:180px}.map-selection,.notebook-item{align-items:flex-start;flex-direction:column}.map-canvas svg{min-width:760px}.map-canvas{overflow-x:auto}}.story-art{margin-top:16px;border-radius:18px;overflow:hidden;background:var(--panel-2)}.story-art svg{display:block;width:100%;height:auto;font-family:system-ui,sans-serif}.visual-panel .visual-controls{margin-top:18px}.visual-panel [role=tabpanel]{outline-offset:5px;border-radius:16px}.visual-caption{min-height:66px}.term-illustration{object-fit:contain}.detail-illustration{margin:0;align-self:center;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.detail-illustration .term-illustration{height:auto;aspect-ratio:3/2}.detail-illustration figcaption{padding:12px 16px;color:var(--muted);font-size:12px}.detail-storyboard{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:28px;gap:28px;align-items:center;margin-bottom:28px}.storyboard-intro h3{margin:12px 0;font-size:26px;letter-spacing:-.03em}.storyboard-intro p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.detail-copy h1{overflow-wrap:anywhere}.case-study{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:24px;gap:24px;align-items:center;padding:24px 28px;border:1px solid rgba(54,88,72,.2);border-radius:18px;background:linear-gradient(120deg,rgba(54,88,72,.06),rgba(118,87,111,.035))}.case-study h3{margin:9px 0 0;font-size:21px}.case-study p{margin:0;color:var(--muted);line-height:1.9;font-size:15px}.misconception{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;margin:0 0 24px;border:1px solid #d9cda9;border-radius:16px;background:var(--warning-bg)}.misconception>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:8px;background:rgba(128,99,45,.12);color:var(--warning-text);font-weight:800}.misconception b{color:var(--warning-text);font-size:13px}.misconception p{margin:7px 0 0;color:var(--muted);line-height:1.8;font-size:14px}.quiz-options button:disabled{cursor:default;opacity:1}.quiz-options button:disabled:not(.correct):not(.wrong){opacity:.6}.feedback p{margin:12px 0 0;font-size:14px;line-height:1.8;font-weight:400;color:var(--text)}.feedback .text-button{margin:10px 0 0;padding-left:0;font-weight:600}.learning-sources{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px;font-size:12px;color:var(--muted)}.learning-sources a{padding:8px 11px;border:1px solid var(--line);border-radius:10px;color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}@media (max-width:720px){.detail-nav{flex-wrap:wrap;height:auto;min-height:72px;padding-block:12px}.detail-storyboard{grid-template-columns:1fr;gap:16px}.case-study{grid-template-columns:1fr;gap:14px;padding:20px}.visual-panel{padding:12px}.visual-panel .visual-controls{grid-template-columns:repeat(3,1fr);gap:5px}.visual-controls button{font-size:11px;min-height:44px;padding:5px}.visual-caption{min-height:0;font-size:13px}.story-art{margin-top:12px}.misconception{padding:16px}.quiz{padding:20px}.quiz h3{font-size:21px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.learning-paths{margin:54px 0 18px}.path-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.path-heading h2{margin:10px 0 0;font-size:30px;letter-spacing:-.03em}.path-heading p{max-width:320px;margin:0;color:var(--muted);font-size:13px;line-height:1.8}.path-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.path-tabs button{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--control-line);border-radius:14px;background:var(--panel);cursor:pointer}.path-tabs button[aria-pressed=true]{background:color-mix(in srgb,var(--path-accent) 8%,var(--panel))}.path-tabs b{font-size:14px}.path-tabs button>span:last-child{margin-left:auto;color:var(--muted);font:12px ui-monospace,monospace;white-space:nowrap}.path-tab-number{color:var(--path-accent);font:12px ui-monospace,monospace}.path-panel{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:44px;gap:44px;padding:30px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--path-accent) 5%,var(--panel)),var(--panel))}.path-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.path-intro .kicker{color:var(--path-accent);letter-spacing:.1em}.path-intro h3{margin:15px 0 8px;max-width:9em;font-size:clamp(28px,3.5vw,42px);line-height:1.25;letter-spacing:-.03em}.path-intro p{margin:0 0 22px;color:var(--muted);line-height:1.8;font-size:14px}.path-progress{width:100%;height:5px;border-radius:6px;background:var(--line);overflow:hidden}.path-progress>span{display:block;height:100%;background:var(--path-accent);transition:width .2s ease}.path-intro>small{margin:12px 0 20px;color:var(--muted);line-height:1.7}.path-steps{list-style:none;margin:0;padding:0}.path-steps li+li{border-top:1px solid var(--line)}.path-steps a{display:flex;align-items:center;gap:14px;min-height:63px;padding:10px 4px;border-radius:8px}.path-steps a:hover{background:rgba(54,88,72,.025)}.path-step-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font:12px ui-monospace,monospace}.path-steps .done .path-step-number{color:var(--success-text);border-color:rgba(84,125,79,.35);background:rgba(84,125,79,.08)}.path-steps b{display:block;font-size:14px}.path-steps small{display:block;margin-top:4px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.path-step-status{margin-left:auto;flex-shrink:0;color:var(--path-accent);font-size:11px}.review-heading h1{margin:14px 0 8px;font-size:clamp(38px,6vw,64px);letter-spacing:-.04em}.review-heading p{max-width:680px}.review-controls{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:28px 0 16px}.review-modes{display:flex;gap:8px;flex-wrap:wrap}.review-modes button{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 14px;border:1px solid var(--control-line);border-radius:12px;background:var(--panel);cursor:pointer}.review-modes button[aria-pressed=true]{border-color:var(--accent);background:rgba(54,88,72,.07)}.review-modes b{font-size:13px}.review-modes span{color:var(--muted);font:12px ui-monospace,monospace}.review-category{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.review-category select{min-height:46px;max-width:100%;padding:10px 30px 10px 12px;border:1px solid var(--control-line);border-radius:12px;color:var(--text);background:var(--panel);font:inherit}.review-session{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:0 0 18px}.review-session>span{color:var(--muted);font-size:12px}.review-session .draw-button{margin:0;flex-shrink:0}.draw-button:disabled{opacity:.45;cursor:default;transform:none}.review-workspace{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);grid-gap:20px;gap:20px;align-items:start}.review-prompt{padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,rgba(54,88,72,.045),var(--panel))}.review-prompt h2{margin:18px 0 7px;font-size:30px;overflow-wrap:anywhere}.review-english{margin:0 0 24px;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.review-hint{margin:22px 0;border-top:1px solid var(--line)}.review-hint summary{padding:17px 0;color:var(--accent);font-size:13px;cursor:pointer;line-height:1.6}.review-hint .term-illustration{height:auto;border:1px solid var(--line);border-radius:12px}.review-hint p{color:var(--muted);font-size:13px;line-height:1.8}.review-workspace .quiz{margin:0}.review-empty .secondary-link{margin-top:16px;cursor:pointer}.map-category-filters{margin-bottom:16px}.map-canvas svg{max-height:540px}.map-canvas.focused svg{height:410px;min-width:0}.semantic-edges line.connected{stroke:var(--warning-text);stroke-width:3;stroke-dasharray:none}.semantic-edges line.faded{opacity:.18}.map-term-node.dimmed{opacity:.38}.map-term-node.related circle{stroke:var(--warning-text);stroke-width:4}.legend-line{width:21px;border-top:2px dashed var(--warning-text)}.map-related-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.map-related-buttons>span{width:100%}.map-related-buttons button{min-height:36px;font-size:11px;cursor:pointer}.map-directory{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.map-directory-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.map-directory h2{margin:0 0 6px;font-size:22px}.map-directory-head>div>span{color:var(--muted);font-size:12px}.map-directory-head .search{width:min(100%,380px);min-height:48px}.map-term-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;max-height:340px;overflow-y:auto;padding:5px}.map-term-list button{display:flex;gap:10px;justify-content:space-between;align-items:center;min-height:60px;padding:12px;text-align:left;border:1px solid var(--control-line);border-radius:12px;background:var(--panel-2);cursor:pointer}.map-term-list button:hover,.map-term-list button[aria-pressed=true]{border-color:var(--accent)}.map-term-list b{font-size:12px}.map-term-list small{display:block;margin-top:5px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.map-term-list button>span:last-child{color:var(--muted);font-size:10px;flex-shrink:0}.map-term-list button>span.learned-label{color:var(--success-text)}@media (max-width:900px){.path-tabs button{gap:8px;padding:12px}.path-panel{gap:26px}.map-term-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.path-heading{align-items:flex-start;flex-direction:column;gap:10px}.path-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.path-panel{grid-template-columns:1fr;padding:22px;gap:24px}.path-intro h3{max-width:none;font-size:30px}.review-workspace{grid-template-columns:1fr}.review-modes{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.review-modes button{justify-content:space-between}.review-session{align-items:flex-start;flex-direction:column}.review-prompt{padding:22px}.map-canvas{overflow-x:hidden}.map-canvas svg{min-width:0;min-height:240px}.map-canvas.focused svg{height:330px}.map-directory{padding:18px}.map-directory-head{align-items:flex-start;flex-direction:column;gap:16px}.map-directory-head .search{width:100%}.map-term-list{grid-template-columns:1fr}}.browse-panel{margin:38px 0 28px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--panel-2);scroll-margin-top:20px}.browse-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.browse-heading h2{margin:10px 0 0;font-size:25px;letter-spacing:-.035em}.browse-heading>span{max-width:240px;color:var(--muted);font-size:12px;line-height:1.7}.browse-panel .toolbar{padding-top:24px}.search-symbol{position:relative;flex:0 0 14px;width:14px;height:14px;margin-right:4px;border:2px solid var(--accent);border-radius:50%}.search-symbol:after{content:"";position:absolute;width:7px;height:2px;right:-6px;bottom:-3px;background:var(--accent);transform:rotate(45deg)}.browse-panel .chips{margin-bottom:20px}.browse-status{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;border-top:1px solid var(--line)}.browse-status button{min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid var(--control-line);border-radius:12px;background:var(--panel);cursor:pointer;font-size:12px}.browse-status button[aria-pressed=true]{border-color:var(--accent-2);color:var(--success-text);background:rgba(84,125,79,.07)}.browse-status button span{color:var(--muted);font:600 11px ui-monospace,monospace}.browse-status .reset-filters{margin-left:auto;color:var(--muted);background:transparent}.browse-note{margin:16px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.empty-state .secondary-link{margin-top:20px;cursor:pointer}.notebook-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.notebook-toolbar>span{color:var(--muted);font-size:12px}.notebook-toolbar>a{margin-left:auto}.notebook-item .notebook-art{display:block;flex:0 0 150px;width:150px;aspect-ratio:3/2;overflow:hidden;border-radius:12px}.notebook-copy{flex:1 1;min-width:0}.notebook-copy h3{overflow-wrap:anywhere}.notebook-actions{flex-shrink:0}.notebook-confirm{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:20px;margin:16px 0;border:1px solid rgba(128,99,45,.4);border-radius:16px;background:rgba(128,99,45,.05)}.notebook-confirm b{color:var(--warning-text)}.notebook-confirm p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.notebook-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;margin:16px 0;border:1px solid rgba(84,125,79,.25);border-radius:12px;background:rgba(84,125,79,.05);font-size:13px}.illustration-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.illustration-trigger:focus-visible{outline-offset:-4px}.illustration-expand{position:absolute;right:12px;bottom:12px;padding:8px 12px;border:1px solid var(--control-line);border-radius:10px;background:#fffdf5;color:var(--accent);font-size:12px}.illustration-dialog{width:min(1060px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(54,88,72,.3);border-radius:20px;background:var(--panel);color:var(--text);overscroll-behavior:contain}.illustration-dialog::-webkit-backdrop{background:rgba(28,42,33,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.illustration-dialog::backdrop{background:rgba(28,42,33,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.illustration-dialog-content{padding:22px}.illustration-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.illustration-dialog h2{margin:9px 0 5px;font-size:24px;overflow-wrap:anywhere}.illustration-dialog header p{margin:0;font-size:13px;color:var(--muted)}.illustration-dialog header button{flex-shrink:0;cursor:pointer}.illustration-dialog .term-illustration{height:auto;max-height:65dvh;border-radius:12px}.illustration-description{color:var(--muted);line-height:1.8;font-size:14px}.illustration-reading{min-width:0;color:var(--muted);font-size:13px;line-height:1.75;overflow-wrap:anywhere}.illustration-reading-title{display:block;color:var(--text);font-size:14px}.illustration-reading dl{display:grid;grid-gap:9px;gap:9px;margin:9px 0 0}.illustration-reading dt{font-weight:700;color:var(--muted)}.illustration-reading dd{margin:0}.illustration-dialog .illustration-reading{margin:18px 0}.illustration-dialog footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}[id^=quiz-]{scroll-margin-top:24px}@media (max-width:720px){.browse-panel{padding:18px 14px}.browse-heading{align-items:start;flex-direction:column;gap:10px}.browse-heading h2{font-size:22px}.browse-heading>span{max-width:none}.browse-status .reset-filters{margin-left:0}.notebook-item{display:grid;grid-template-columns:80px minmax(0,1fr);grid-gap:14px;gap:14px;padding:14px}.notebook-item .notebook-art{width:80px}.notebook-item .notebook-actions{grid-column:1/-1}.notebook-toolbar{gap:12px;padding:14px}.notebook-toolbar>a{width:100%;margin-left:0}.notebook-toolbar .review-category{min-width:0;width:100%}.notebook-toolbar select{flex:1 1;min-width:0}.illustration-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.illustration-dialog-content{padding:16px}.illustration-dialog h2{font-size:20px}}.detail-nav>span{overflow-wrap:anywhere}.review-finished{margin:0 0 22px;padding:24px;border:1px solid rgba(84,125,79,.35);border-radius:18px;background:rgba(84,125,79,.06)}.review-finished h2{margin:12px 0;font-size:24px;line-height:1.4}.review-finished p{color:var(--muted);line-height:1.8}.review-finished-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.review-finished-actions .primary-link{margin:0}.option-explanations{margin:16px 0 0;padding:0;list-style:none;font-weight:400}.option-explanations li{padding:12px 0;border-top:1px solid var(--line)}.option-explanations b{font-size:13px;color:var(--text)}.option-explanations p{margin-top:5px;overflow-wrap:anywhere}@media (max-width:420px){.review-finished{padding:18px}.review-finished h2{font-size:21px}.review-finished-actions{align-items:stretch;flex-direction:column}.review-finished-actions .primary-link{text-align:center}}.cartoon-page{--bg:#f8f6ef;--panel:#fffef9;--panel-2:#f1f3eb;--line:#dce1d6;--text:#27382f;--muted:#606c62;--accent:#365848;--accent-2:#547d4f;--danger:#a34538;--lesson-mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color-scheme:light;color:var(--text);background:var(--bg);min-height:100vh;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}.cartoon-page :is(h1,h2,h3,h4,p,figure,pre,dl){margin:0}.cartoon-page :is(button,input,select){font:inherit;color:inherit}.cartoon-page :is(button,a,input,select,summary){touch-action:manipulation}.cartoon-page button{cursor:pointer}.cartoon-page img{display:block;max-width:100%}.cartoon-page :is(button,a,input,select,summary,pre):focus-visible{outline:3px solid #376c7b;outline-offset:4px}.cartoon-page a:hover{text-decoration:underline;text-underline-offset:5px}.lesson-shell{max-width:1280px;padding:0 48px;margin:auto}.lesson-skip{position:fixed;top:-120px;left:24px;z-index:50;padding:12px 20px;border-radius:8px;background:#27382f;color:#fffef9}.lesson-skip:focus{top:12px}.cartoon-page .detail-nav{height:auto;min-height:72px;padding:20px 0;margin:0;border-bottom:1px solid var(--line);gap:18px;font-size:12px}.cartoon-page .learning-nav{gap:16px}.cartoon-page .detail-nav>span{color:var(--muted)}.lesson-brand{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:32px}.lesson-brand>a{font-size:18px;font-weight:750;letter-spacing:-.4px}.lesson-brand>a span{font-weight:500;color:var(--muted)}.lesson-brand>span{font:10px var(--lesson-mono);letter-spacing:1px;color:var(--muted)}.lesson-hero{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.1fr);grid-gap:64px;gap:64px;align-items:center;padding:56px 0 64px}.lab-kicker,.lesson-eyebrow{font:11px/1.8 var(--lesson-mono);letter-spacing:.8px;color:var(--muted)}.lesson-hero h1{font-size:clamp(40px,4.4vw,61px);line-height:1.25;letter-spacing:-1.7px;font-weight:790;margin:22px 0 20px}.lesson-hero h1 em,.lesson-hero h1 span{display:block;width:-moz-fit-content;width:fit-content}.lesson-hero h1 em{font-style:normal;background:linear-gradient(transparent 58%,#efd99f 0,#efd99f 93%,transparent 0);padding:0 4px;margin-left:-4px}.lesson-term-name{font-size:13px;color:var(--muted);margin-bottom:16px!important}.lesson-lead{font-size:16px;line-height:2;max-width:440px;color:#526155}.lesson-hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.lesson-hero-actions>span{font-size:12px;line-height:1.85;color:var(--muted)}.lesson-art{overflow:hidden;border-radius:12px;background:#f3efe3;min-width:0}.lesson-art-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;border-radius:inherit;overflow:hidden}.lesson-art-trigger img{width:100%;height:auto;object-fit:contain}.lesson-art-trigger>span{position:absolute;right:12px;bottom:12px;background:#fffdf5;color:#445a36;padding:5px 10px;border:1px solid #81907e;border-radius:6px;font-size:11px}.lesson-art-trigger:focus-visible{outline-offset:-5px!important}.lesson-art figcaption{padding:16px 20px;font-size:12px;line-height:1.9;color:#53614f}.lesson-reading-details{margin-top:12px;padding-top:12px;border-top:1px solid #d8dbce}.lesson-reading-details summary{cursor:pointer;font-size:12px;color:var(--accent);min-height:32px}.cartoon-page .illustration-reading{margin-top:12px;font-size:12px;line-height:1.9}.cartoon-page .illustration-reading-title{font-size:12px}.cartoon-page .illustration-reading dt{color:#4f644b}.cartoon-page .lesson-art-dialog .illustration-reading{margin-top:20px}.lesson-art-dialog{max-width:min(1100px,94vw);width:94vw;max-height:92dvh;padding:20px;border:1px solid #9aab91;border-radius:14px;background:var(--bg);color:var(--text);box-shadow:0 20px 80px #14261840}.lesson-art-dialog::-webkit-backdrop{background:#1c2a21b3}.lesson-art-dialog::backdrop{background:#1c2a21b3}.lesson-art-dialog header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.lesson-art-dialog h2{font-size:16px;line-height:1.7}.lesson-art-dialog button{min-height:44px;padding:8px 16px;border:1px solid #81907e;border-radius:7px;background:var(--panel)}.lesson-art-dialog img{width:100%;height:auto;max-height:68dvh;object-fit:contain}.lesson-art-dialog p{margin-top:16px;font-size:13px;color:var(--muted)}.lesson-art-dialog a{margin-left:16px;text-decoration:underline}.lesson-jump-nav{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:24px;padding:9px 0;border-block:1px solid var(--line);background:var(--bg)}.lesson-jump-nav a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}.lesson-jump-nav b{font:11px var(--lesson-mono);color:var(--muted)}.lesson-section{margin-top:72px;scroll-margin-top:90px}.lesson-section-heading{margin-bottom:32px;max-width:870px}.lesson-section-heading h2{margin:12px 0 16px;font-size:31px;line-height:1.6;letter-spacing:-.75px;font-weight:730}.lesson-section-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.95}.lesson-objectives{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;padding:0;margin:16px 0 0;color:var(--muted);font-size:12px}.lesson-objectives li:before{content:"·";margin-right:8px;color:var(--accent)}.lesson-foundations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:32px;gap:32px;padding:0 0 36px;border-bottom:1px solid var(--line)}.lesson-foundations article+article{padding-left:32px;border-left:1px solid var(--line)}.lesson-foundations h3{font-size:14px;font-weight:650;margin-bottom:12px}.lesson-foundations p,.lesson-reference-grid p{color:var(--muted);font-size:14px;line-height:2}.lesson-citations{display:inline-flex;gap:5px;margin-left:6px;font:10px/1.7 var(--lesson-mono)}.lesson-citations a{color:#526951}.lab-card{padding:32px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}.cartoon-page .lab-audit>.lab-card{border:0;border-radius:0;padding:0;background:transparent}.cartoon-page .lab-audit>.lab-card:first-child{padding:20px 24px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.cartoon-page .lab-audit>section{margin-top:24px;scroll-margin-top:90px}.lab-card h2{font-size:27px;line-height:1.55;letter-spacing:-.6px;margin:12px 0 16px}.lab-card h3{font-size:20px;line-height:1.65;margin:12px 0 16px}.lab-card p{font-size:14px;line-height:1.95;margin:12px 0;color:var(--muted)}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start;margin:28px 0}.lab-grid>*{min-width:0}.lab-tabs{display:flex;flex-wrap:wrap;gap:8px}.lab-tabs>a{padding:8px 10px;min-height:44px;font-size:12px}.lab-tabs>a[data-complete=true]{color:var(--accent);font-weight:700}.lab-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:10px 18px;border:1px solid #81907e;border-radius:7px;background:var(--panel);color:var(--text);font-size:13px!important;font-weight:600;line-height:1.7;text-decoration:none}.lab-button:hover{background:#e9eee3;border-color:#527247;text-decoration:none!important}.lab-button[aria-pressed=true]{background:#e5eddf;border-color:#365848;color:#2f513d}.lesson-hero-actions>.lab-button{color:var(--panel);background:var(--accent);border-color:var(--accent);min-height:46px;padding:12px 22px}.lesson-hero-actions>.lab-button:hover{background:#294837}.lab-tabs>.lab-button{flex:1 1 28%;font-size:12px!important;padding:10px}.lab-options{display:grid;grid-gap:12px;gap:12px}.lab-options>.lab-button{justify-content:flex-start;align-items:flex-start;text-align:left;padding:16px 18px;font-weight:500;min-height:64px}.lab-feedback{margin-top:20px!important;padding:16px 18px;border:0;border-left:2px solid #bca56f;border-radius:0 6px 6px 0;background:#f6f0df;color:#705c31!important;font-size:13px!important}.lab-feedback[data-tone=success]{border-left-color:#6e9163;background:#e6efe1;color:#415d37!important}.lab-code{max-width:100%;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:9px;background:#273932;color:#edf2e9;font:12px/1.95 var(--lesson-mono);white-space:pre}.lab-code code{font:inherit}.lab-audit .lab-grid>div>.lesson-art{max-width:350px;margin-top:28px}.lab-audit>section>p:last-child{font-size:12px}.lesson-reference{padding-top:48px;border-top:1px solid var(--line)}.lesson-reference-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);grid-gap:48px;gap:48px;align-items:start}.lesson-reference-layout>.lesson-art{position:-webkit-sticky;position:sticky;top:90px}.lesson-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:32px 40px;gap:32px 40px}.lesson-reference-grid article{padding-bottom:28px;border-bottom:1px solid var(--line)}.lesson-reference-grid h3{font-size:16px;line-height:1.8;margin:12px 0;font-weight:650}.lesson-boundary{padding:20px 24px;margin-top:32px;background:#f1ecdc;border-left:2px solid #c8b689;font-size:13px;line-height:1.95}.lesson-boundary>b{display:block;margin-bottom:6px;font-size:12px;color:#765b29}.lesson-boundary>p{color:#625940}.lesson-check-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:48px;gap:48px;padding:36px 40px;margin-top:48px;border-radius:12px;background:#ebf0e6}.lesson-check-panel h3{font-size:24px;line-height:1.6;margin:12px 0 16px}.lesson-check-panel p{font-size:13px;color:var(--muted)}.lesson-checklist fieldset{border:0;padding:0;margin:16px 0 0;display:grid;grid-gap:14px;gap:14px;min-width:0}.lesson-checklist label{display:flex;align-items:flex-start;gap:12px;font-size:13px;cursor:pointer}.lesson-checklist input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent);margin:4px 0 0}.lesson-small{color:var(--muted);font-size:11px!important;line-height:1.95}.cartoon-page .quiz{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px;margin:0}.cartoon-page .quiz .kicker{color:var(--muted);font:11px var(--lesson-mono);letter-spacing:.8px}.cartoon-page .quiz h3{font-size:24px;line-height:1.7;margin:16px 0 24px}.cartoon-page .quiz-options{gap:12px}.cartoon-page .quiz-options button{background:var(--panel);border:1px solid #81907e;border-radius:8px;padding:16px 20px;line-height:1.85;color:var(--text);min-height:60px}.cartoon-page .quiz-options button span{background:#edf1e7;color:#516449;border-color:#ced7c6}.cartoon-page .quiz-options button.correct{border-color:#6e9163;background:#e6efe1}.cartoon-page .quiz-options button.wrong{border-color:#b87869;background:#f6e9e3}.cartoon-page .quiz .feedback{color:#705c31;background:#f6f0df;border:0;border-left:2px solid #bca56f;padding:20px 24px}.cartoon-page .quiz .feedback.ok{color:#415d37;background:#e6efe1;border-left-color:#6e9163}.cartoon-page .quiz .feedback b,.cartoon-page .quiz .feedback span{color:inherit}.cartoon-page .quiz .feedback p{margin:12px 0;font-size:14px}.cartoon-page .quiz .text-button{color:var(--accent);border:0;background:none;text-decoration:underline;padding:10px 0;min-height:44px}.cartoon-page .option-explanations{border-color:var(--line)}.cartoon-page .option-explanations p{color:var(--muted)}.lesson-completion{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px}.lesson-completion b{font-size:14px}.lesson-completion p{color:var(--muted);font-size:12px;margin-top:5px}.cartoon-page .completion-toggle{background:var(--panel);border:1px solid #81907e;border-radius:7px;padding:12px 18px;min-height:46px;white-space:nowrap}.cartoon-page .completion-toggle.completed{background:#e6efe1;border-color:#6e9163}.lesson-sources{border-top:1px solid var(--line);margin-top:64px;padding-top:32px}.lesson-sources h2{font-size:16px}.lesson-sources ol{padding-left:22px;margin:20px 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 40px;gap:16px 40px}.lesson-sources li{padding-left:4px;scroll-margin-top:90px;font-size:12px}.lesson-sources a{text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:#a8b49d;text-decoration-color:#a8b49d}.lesson-sources li p{color:var(--muted);font-size:11px;margin-top:4px}.lesson-related{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:12px;margin:36px 0}.lesson-related span{color:var(--muted)}.lesson-related a{text-decoration:underline;text-underline-offset:4px}.cartoon-page .pager{margin-top:32px;gap:32px}.cartoon-page .pager a{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;min-width:0}.cartoon-page .pager b{font-size:15px;overflow-wrap:anywhere}.lesson-footer{display:flex;justify-content:space-between;gap:24px;padding:28px 0;margin-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}@media(max-width:1080px){.lesson-shell{padding:0 32px}.lesson-hero{gap:40px}.lesson-hero h1{font-size:46px}.lesson-reference-layout{gap:32px}.lab-grid,.lesson-reference-grid{gap:24px}}@media(max-width:860px){.lesson-hero{gap:32px}.lesson-hero h1{font-size:40px}.lesson-lead{font-size:14px}.lab-grid,.lesson-reference-layout{grid-template-columns:minmax(0,1fr)}.lesson-reference-layout>.lesson-art{position:static;max-width:560px}.lab-audit .lab-grid>div>.lesson-art{max-width:360px}.lesson-brand>span{display:none}.lesson-check-panel{gap:32px;padding:32px}}@media(max-width:760px){.lesson-hero{grid-template-columns:minmax(0,1fr);padding:36px 0 40px;gap:32px}.lesson-hero h1{font-size:46px}.lesson-lead{font-size:15px;max-width:none}.lesson-foundations{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-foundations article+article{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.lesson-check-panel{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-completion{align-items:flex-start;flex-direction:column}.lesson-jump-nav{gap:12px}.lesson-jump-nav a{font-size:11px;gap:6px}.lesson-jump-nav b{font-size:10px}}@media(max-width:640px){.lesson-shell{padding:0 24px}.lesson-brand{padding-top:24px}.lesson-brand>a{font-size:16px}.cartoon-page .detail-nav{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px}.cartoon-page .detail-nav .learning-nav{gap:12px}.lesson-hero-actions{flex-wrap:wrap;gap:20px}.lesson-hero h1{letter-spacing:-1.3px}.lesson-section{margin-top:56px;scroll-margin-top:85px}.lesson-section-heading{margin-bottom:24px}.lesson-section-heading h2{font-size:26px;line-height:1.6}.lesson-section-heading>p:last-child{font-size:13px}.lesson-objectives{display:grid;grid-gap:6px;gap:6px}.lab-card{padding:24px 20px}.lab-card h2{font-size:24px}.lab-card h3{font-size:20px}.lab-card p{font-size:13px}.lab-tabs>.lab-button{flex-basis:40%;font-size:11px!important;padding:9px 8px}.lab-grid{gap:24px;margin:24px 0}.lab-code{padding:20px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.cartoon-page .lab-audit>.lab-card:first-child{padding:18px 20px}.lab-tabs>a{padding:8px 4px;font-size:11px}.lab-options>.lab-button{padding:16px;font-size:12px!important}.lesson-reference{padding-top:36px}.lesson-reference-grid{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-reference-grid h3{margin:10px 0}.lesson-boundary{padding:18px 20px}.lesson-check-panel{padding:28px 24px;margin-top:36px}.lesson-check-panel h3{font-size:22px}.cartoon-page .quiz{padding:24px 20px}.cartoon-page .quiz h3{font-size:21px}.cartoon-page .quiz-options button{padding:15px 16px;font-size:13px;gap:12px}.cartoon-page .quiz .feedback{padding:16px}.lesson-sources{margin-top:48px;padding-top:24px}.lesson-sources ol{grid-template-columns:minmax(0,1fr);gap:16px}.lesson-art-dialog{padding:14px}.lesson-art-dialog header{gap:12px}.lesson-art-dialog h2{font-size:14px}.lesson-related{gap:12px 20px}.cartoon-page .pager{gap:24px}.cartoon-page .pager b{font-size:13px}.lesson-footer{font-size:10px}}@media(max-width:380px){.lesson-shell{padding:0 18px}.lesson-hero h1{font-size:40px}.lesson-jump-nav a{font-size:10px;gap:4px}.lesson-jump-nav{gap:8px}.lesson-jump-nav b{font-size:9px}.lesson-check-panel{padding:24px 20px}.lab-button{padding:10px 14px}}@media(prefers-reduced-motion:reduce){.cartoon-page *,.cartoon-page :after,.cartoon-page :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.cartoon-page{background:white;font-size:11px}.lesson-shell{padding:0;max-width:none}.cartoon-page .detail-nav,.cartoon-page .pager,.lesson-art-trigger>span,.lesson-completion,.lesson-footer,.lesson-hero-actions,.lesson-jump-nav,.lesson-related,.lesson-skip{display:none!important}.lesson-hero{grid-template-columns:1fr 1fr;gap:24px;padding:24px 0}.lesson-hero h1{font-size:32px}.lesson-section{margin-top:32px}.lesson-reference-layout{grid-template-columns:1fr 2fr}.lesson-art{page-break-inside:avoid;break-inside:avoid}.cartoon-page .quiz,.lab-card,.lesson-check-panel{border:1px solid #c4cdbb;box-shadow:none}.lab-code{background:white;color:#27382f;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-section-heading h2{font-size:22px}}.lesson-secondary-scene{max-width:860px;margin:32px auto;min-width:0}.lesson-secondary-question{margin-top:14px;padding:0 4px;color:var(--muted);font-size:14px;line-height:1.9;overflow-wrap:anywhere}body{-webkit-font-smoothing:antialiased;line-height:1.75}.site-header,body{background:var(--bg)}.site-header{border-bottom:1px solid var(--line)}.site-header-inner{width:min(1180px,calc(100% - 64px));margin:auto;min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:28px}.site-wordmark{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:750;letter-spacing:-.4px;line-height:1.3}.site-wordmark small{display:block;color:var(--muted);font:9px/1.8 ui-monospace,monospace;letter-spacing:1.1px;margin-top:5px}.site-mark{display:grid;place-items:center;width:38px;height:44px;color:var(--accent);border:1px solid #81907e;border-radius:4px 10px 10px 4px;background:#e9eee3;font:700 22px/1.2 serif;box-shadow:inset 4px 0 #d5dfcd}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.site-header nav a[aria-current=page]{color:var(--accent);border-color:var(--accent);font-weight:650}.site-header nav a:hover{color:var(--accent)}.detail-shell,.shell{width:min(1180px,calc(100% - 64px))}.home-page .hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:64px;min-height:0;padding:72px 0 60px;align-items:center;border:0}.home-page .eyebrow{font:11px/1.8 ui-monospace,monospace;letter-spacing:1px;color:var(--muted)}.home-page .hero h1{font-size:clamp(33px,3.55vw,50px);line-height:1.4;letter-spacing:-1.6px;margin:22px 0;font-weight:780}.home-page .hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,#efd99f 0,#efd99f 92%,transparent 0)}.home-page .hero p{font-size:15px;line-height:2;max-width:410px;margin:0}.home-page .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px;margin-top:30px;align-items:center}.home-page .hero-actions .primary-link{margin:0}.home-text-link{font-size:13px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.home-cover{margin:0;min-width:0;align-self:center;border-radius:12px;background:#f0eddf;overflow:hidden}.home-cover>a{display:block}.home-cover img{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:center}.home-cover figcaption{padding:16px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.home-cover figcaption a{color:var(--accent)}.home-progress{display:grid;grid-template-columns:1.8fr 1fr .8fr;grid-gap:40px;gap:40px;align-items:center;padding:30px 0;border-block:1px solid var(--line)}.home-progress h2{margin:8px 0 6px;font-size:22px;letter-spacing:-.5px}.home-progress p{margin:0;color:var(--muted);font-size:12px}.home-progress-link,.home-progress-value{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.home-progress-value{padding-left:32px;border-left:1px solid var(--line)}.home-progress-link>span,.home-progress-value>span{font-size:11px;color:var(--muted)}.home-progress-link b,.home-progress-value b{font-size:30px;font-weight:650;line-height:1.5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-progress-value small{font-size:15px;font-weight:400;color:var(--muted)}.home-progress-value .progress-track{width:100%;margin:6px 0 8px;height:4px}.home-progress-link{padding-left:32px;border-left:1px solid var(--line)}.home-progress-link:hover>span:last-child{text-decoration:underline;color:var(--accent)}.home-page .learning-paths{margin:64px 0}.browse-heading h2,.path-heading h2{font-size:28px;line-height:1.6;font-weight:700;letter-spacing:-.6px}.path-tabs{gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}.path-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:18px 12px}.path-tabs button[aria-pressed=true]{border-color:var(--path-accent);background:#edf0e6}.path-panel{border-radius:12px;padding:36px;gap:56px;background:var(--panel)}.path-intro h3{font-size:32px;line-height:1.5;margin:16px 0}.path-steps a{min-height:68px}.browse-panel{padding:30px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin-top:64px}.browse-status button,.chips button,.favorite-filter,.review-category select,.review-modes button,.search{border-radius:7px}.chips button{min-height:40px}.term-grid{gap:24px;padding-bottom:60px}.term-card{border-radius:10px;background:var(--panel);box-shadow:none}.term-card:hover{transform:translateY(-2px);border-color:#81907e}.term-card-head{padding:12px 18px 0}.term-link{padding:8px 18px 22px}.term-illustration-card{border-radius:7px;overflow:hidden;margin-bottom:20px}.term-card h2{font-size:19px;letter-spacing:-.3px;line-height:1.5}.term-card h3{color:var(--text);font-size:14px}.term-card p{line-height:1.9}.term-card .star{min-width:40px;min-height:40px}.primary-link{border-radius:7px;border-color:var(--accent);background:var(--accent);color:#fffef9;box-shadow:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 20px}.primary-link:hover{background:#294837;color:#fffef9}.learning-nav a,.secondary-link{border-radius:7px}.learning-nav a{min-height:40px;display:inline-flex;align-items:center}.review-heading,.tool-heading{max-width:800px;padding:28px 0 10px}.review-heading h1,.tool-heading h1{font-size:clamp(34px,4vw,48px);letter-spacing:-1px}.review-heading p,.tool-heading p{font-size:15px;line-height:2}.tool-page{padding-bottom:64px}.detail-shell .detail-hero{padding-block:52px 64px;gap:56px}.detail-shell .detail-copy h1{font-size:clamp(32px,4vw,52px);line-height:1.3}.detail-shell .detail-copy h2{font-size:23px;color:var(--text)}.detail-shell .detail-copy>p{font-size:16px;line-height:2}.detail-shell :is(.detail-illustration,.visual-panel,.case-study,.quiz,.learning-grid article){border-radius:12px}.detail-shell .learning-grid{margin-block:40px;gap:28px}.detail-shell .learning-grid article{padding:28px}.detail-shell .learning-grid p{line-height:2}.detail-shell .detail-storyboard{margin-bottom:40px;gap:48px}.detail-shell .pager{margin-bottom:64px}.site-footer{width:min(1180px,calc(100% - 64px));margin:auto;padding:32px 0 40px;border-top:1px solid var(--line);color:var(--muted)}.site-footer>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11px}.site-footer b{color:var(--text);font-weight:600;font-size:13px}.site-footer p{font-size:11px;line-height:1.8;margin:12px 0 0}@media (max-width:1000px){.home-page .hero{gap:32px}.home-page .hero h1{font-size:36px}.path-panel{gap:32px}.site-header nav{gap:20px}}@media (max-width:760px){.detail-shell,.shell,.site-footer,.site-header-inner{width:calc(100% - 40px)}.site-header-inner{flex-wrap:wrap;gap:12px;padding:20px 0 0}.site-header nav{width:100%;justify-content:space-between;gap:12px}.site-header nav a{font-size:12px;min-height:44px}.site-wordmark{font-size:17px}.site-mark{height:38px;width:34px}.home-page .hero{grid-template-columns:1fr;gap:32px;padding:40px 0 36px}.home-page .hero h1{font-size:clamp(29px,6.8vw,42px);letter-spacing:-1px}.home-page .hero p{max-width:100%}.home-cover img{aspect-ratio:1.8}.home-cover figcaption{padding:14px 16px}.home-progress{grid-template-columns:1fr 1fr;gap:24px;padding:26px 0}.home-progress-intro{grid-column:1/-1}.home-progress-value{padding-left:0;border:0}.home-progress-link{padding-left:24px}.home-page .learning-paths{margin-block:40px}.browse-heading h2,.path-heading h2{font-size:24px}.path-tabs{gap:8px;border:0}.path-tabs button{padding:12px 8px;gap:6px}.path-tabs b{font-size:12px}.path-tabs button>span:last-child{font-size:10px}.path-panel{padding:22px;gap:24px}.path-intro h3{font-size:27px}.browse-panel{margin-top:40px}.term-grid{gap:18px}.detail-shell .detail-hero{gap:28px;padding-block:36px}.detail-shell .detail-storyboard{gap:20px}.detail-shell .learning-grid article{padding:22px}.site-footer{padding-block:26px}}@media (prefers-reduced-motion:reduce){.term-card:hover{transform:none}}.site-skip{position:fixed;top:-120px;left:20px;z-index:100;padding:12px 20px;background:var(--accent);color:var(--panel);border-radius:7px}.site-skip:focus{top:12px}#site-content:focus{outline:none}.cartoon-page .lesson-brand>span:first-child{display:block;font-size:12px;font-family:inherit;letter-spacing:0;color:var(--muted)}@media print{.site-footer,.site-header,.site-skip{display:none}}.map-page .detail-nav{height:48px;min-height:48px;padding-block:10px}.map-page .tool-heading{padding:20px 0 4px}.map-page .tool-heading h1{margin:8px 0}.map-page .tool-heading p{margin:10px 0}.map-instructions{flex-wrap:nowrap;justify-content:space-between;margin:12px 0;gap:12px}.map-instructions p{flex:1 1;min-width:0;font-size:12px;line-height:1.8}.map-instructions button{flex:none;min-height:44px;font-size:12px}.map-canvas{border-radius:12px;overflow-x:auto;overscroll-behavior-x:contain}.map-canvas:not(.focused) svg{min-width:680px;height:640px;max-height:none}.map-category-node text{font-size:17px;font-weight:600}.map-edges line{stroke:#81907e;stroke-width:1;vector-effect:non-scaling-stroke}.semantic-edges line{stroke-width:1.2}.semantic-edges line.connected{stroke-width:2.2}.map-scroll-hint{display:none;margin:0 0 10px;font-size:11px;color:var(--muted)}@media (max-width:760px){.map-page .tool-heading h1{font-size:30px}.map-page .tool-heading p{font-size:13px}.map-category-filters{gap:6px;margin-bottom:10px}.map-category-filters button{padding:7px 10px;min-height:36px;font-size:11px}.map-canvas:not(.focused) svg{width:680px;min-width:680px;height:634px}.map-scroll-hint{display:block}.map-canvas.focused+.map-legend{margin-top:6px}}