:root{color:#1f2933;background:#f6f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f6f7f8;--surface: #ffffff;--surface-muted: #f1f3f5;--ink: #1f2933;--body: #4b5563;--muted: #78838f;--line: #d9dee3;--line-soft: #e8ebee;--accent: #256d5a;--accent-soft: #e7f1ee;--warning: #9a5b13;--danger: #ad3d35}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input{font:inherit}button{cursor:pointer}.appShell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px 16px;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;min-height:42px}.brandMark,.metricIcon{display:grid;place-items:center;width:32px;aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:var(--surface-muted);color:var(--accent)}.brand strong{display:block;color:var(--ink);font-size:.98rem;letter-spacing:0}.brand span,.topBar span,.eyebrow,.sectionHeader span,.metric span,.nextAction span,.conceptList span,.boundaryBox span,.moduleTopline,.moduleMeta,.scenarioReadout span,.cashReadout span,.moduleInsight span,.spineGrid span,.sourcePanel span{color:var(--muted);font-size:.75rem;font-weight:650}.sideNav{display:grid;gap:2px}.sideNav button{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-left:3px solid transparent;padding:0 8px 0 10px;background:transparent;color:var(--body);font-weight:650;text-align:left}.sideNav button.active,.sideNav button:hover{border-left-color:var(--accent);background:var(--surface-muted);color:var(--ink)}.boundaryBox{margin-top:auto;display:flex;gap:9px;padding:12px;border:1px solid #c9ddd6;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.boundaryBox svg{flex:0 0 auto}.boundaryBox span{color:#34594f;line-height:1.45}.workspace{width:min(1180px,100%);margin:0 auto;padding:22px}.topBar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.topBar h1{max-width:760px;margin:6px 0 0;color:var(--ink);font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.18;letter-spacing:0;font-weight:760}.primaryButton,.textButton{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;padding:0 12px;font-weight:700;white-space:nowrap}.primaryButton{border:1px solid var(--accent);background:var(--accent);color:#fff}.textButton{min-height:32px;justify-content:flex-start;padding:0;border:0;background:transparent;color:var(--body)}.overviewGrid{display:grid;grid-template-columns:minmax(0,1.5fr) 330px;gap:12px}.heroPanel,.metric,.moduleCard,.lessonPanel,.quizPanel,.simulatorPanel,.spinePanel,.conceptPanel,.qualityPanel,.sourcePanel{border:1px solid var(--line);border-radius:6px;background:var(--surface)}.heroPanel{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 230px 88px;align-items:stretch;gap:0;padding:0;overflow:hidden}.heroCopy,.moduleInsight{padding:18px}.moduleInsight{border-left:1px solid var(--line-soft);background:#fbfcfc}.heroCopy h2,.sectionHeader h2,.spineGrid h3{margin:6px 0 0;color:var(--ink);letter-spacing:0}.heroCopy h2{font-size:1.55rem;line-height:1.22;font-weight:760}.heroCopy p,.moduleCard p,.metric p,.lessonStack p,.scenarioReadout p,.qualityRows,.question,.spineGrid p,.moduleInsight strong{color:var(--body);line-height:1.55}.heroCopy p{max-width:640px;margin:10px 0 0;font-size:.94rem}.skillChips,.sourcePanel div{display:flex;flex-wrap:wrap;gap:6px}.skillChips{margin-top:14px}.skillChips span,.sourcePanel strong{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--body);font-size:.76rem;font-weight:650}.moduleInsight strong{display:block;margin-top:8px;font-size:.92rem}.progressRing{display:grid;place-items:center;border-left:1px solid var(--line-soft);background:#fbfcfc}.progressRing span{color:var(--accent);font-size:1.15rem;font-weight:780}.metricsGrid{display:grid;grid-template-columns:1fr;gap:8px}.metric{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px}.metricIcon{width:30px;background:var(--surface-muted);box-shadow:none}.metric strong{display:block;margin-top:2px;color:var(--ink);font-size:1.05rem}.metric p{margin:2px 0 0;font-size:.78rem}.moduleStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.moduleCard{min-height:168px;display:flex;flex-direction:column;align-items:stretch;padding:12px;text-align:left;transition:border-color .14s ease,background .14s ease}.moduleCard:hover,.moduleCard.selected{border-color:#94b8ad;background:#fbfdfc}.moduleTopline,.moduleMeta{display:flex;align-items:center;justify-content:space-between;gap:8px}.moduleCard h3{min-height:44px;margin:12px 0 6px;color:var(--ink);font-size:.96rem;line-height:1.28;font-weight:740}.moduleCard p{flex:1;margin:0;font-size:.8rem}.moduleCard small{display:block;margin-top:10px;color:var(--accent);font-size:.72rem;font-weight:700}.moduleMeta{margin-top:10px}.moduleBar{height:4px;margin-top:8px;background:var(--surface-muted);overflow:hidden}.moduleBar i{display:block;height:100%;background:var(--accent)}.learningGrid,.bottomGrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px}.lessonPanel,.quizPanel,.simulatorPanel,.spinePanel,.conceptPanel,.qualityPanel,.sourcePanel{padding:16px}.sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--accent);padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.sectionHeader h2{font-size:1.15rem;line-height:1.3}.sectionHeader.compact h2{font-size:1.05rem}.lessonStack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.lessonStack article,.spineGrid article{min-height:126px;padding:12px;border:1px solid var(--line-soft);border-radius:6px;background:#fff}.lessonStack strong{color:var(--accent)}.lessonStack p{margin:8px 0 0;font-size:.86rem}.nextAction{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fbfcfc}.nextAction strong{display:block;margin-top:3px;color:var(--ink);font-size:.92rem}.question{margin:14px 0 10px;font-weight:700}.answerList{display:grid;gap:6px}.answer{min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:#fff;color:var(--body);font-weight:650}.answer.picked{color:var(--ink)}.answer.correct{border-color:#8eb7aa;background:var(--accent-soft)}.answer.wrong{border-color:#dfaaa5;background:#fff2f0}.feedback{min-height:52px;display:flex;align-items:center;gap:8px;margin:10px 0 6px;padding:10px;border:1px dashed var(--line);border-radius:6px;color:var(--body);font-size:.86rem;line-height:1.5}.feedback.visible{border-style:solid;background:#fbfcfc;color:var(--ink)}.simulatorPanel,.spinePanel,.sourcePanel{margin-top:12px}.spinePanel{margin-bottom:12px}.spineGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.spineGrid h3{margin-top:8px;font-size:.98rem;line-height:1.3}.spineGrid p{margin:8px 0 0;font-size:.84rem}.simulatorGrid{display:grid;grid-template-columns:260px minmax(240px,1fr) 230px;gap:12px;margin-top:12px}.controls{display:grid;gap:14px}.controls label{display:grid;gap:8px;color:var(--body);font-weight:650}input[type=range]{width:100%;accent-color:var(--accent)}.cashReadout,.scenarioReadout{border:1px solid var(--line-soft);border-radius:6px;background:#fff}.cashReadout{display:flex;align-items:center;justify-content:space-between;padding:12px}.cashReadout strong{color:var(--ink);font-size:1.18rem}.allocationChart{min-height:190px;display:flex;align-items:end;gap:8px;padding:12px;border:1px solid var(--line-soft);border-radius:6px;background:#fff}.asset{flex:1;min-height:26px;height:max(26px,calc(var(--size) * 1.65));display:grid;place-items:end center;color:#fff;font-size:.8rem;font-weight:700;padding:8px 4px}.asset.stock{background:#256d5a}.asset.bond{background:#3c5f93}.asset.cash{background:#8f6330}.scenarioReadout{display:grid;gap:8px;padding:12px}.scenarioReadout div{display:flex;align-items:center;justify-content:space-between;gap:10px}.scenarioReadout strong{color:var(--ink);font-size:1rem}.scenarioReadout p{margin:4px 0 0;font-size:.8rem}.conceptList,.qualityRows{display:grid;gap:6px;margin-top:12px}.conceptList button{min-height:42px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;border:1px solid var(--line-soft);border-radius:6px;padding:0 10px;background:#fff;color:var(--ink);text-align:left}.qualityRows div{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--body);font-size:.88rem}.qualityRows svg{color:var(--accent);flex:0 0 auto}.sourcePanel{display:grid;gap:10px}@media(max-width:1180px){.overviewGrid,.learningGrid,.bottomGrid,.simulatorGrid{grid-template-columns:1fr}.heroPanel{grid-template-columns:minmax(0,1fr) 230px 88px}.moduleStrip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:840px){.appShell{display:block}.sidebar{position:static;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.sideNav{grid-template-columns:repeat(2,minmax(0,1fr))}.boundaryBox{margin-top:0}.workspace{padding:16px}.topBar{grid-template-columns:1fr}.primaryButton{width:100%}.heroPanel{grid-template-columns:1fr}.moduleInsight,.progressRing{border-left:0;border-top:1px solid var(--line-soft)}.progressRing{min-height:58px}.lessonStack,.spineGrid{grid-template-columns:1fr}}@media(max-width:560px){.sideNav,.moduleStrip{grid-template-columns:1fr}.topBar h1{font-size:1.45rem}.moduleCard{min-height:auto}.allocationChart{min-height:170px;gap:6px}}
