:root{--ink:#10213d;--muted:#64748b;--line:#d9e2ef;--surface:#fff;--soft:#f3f7fb;--navy:#0b1730;--navy2:#132a4d;--teal:#27c6aa;--blue:#4f7cff;--gold:#f6c85f;--shadow:0 24px 70px rgba(16,33,61,.12);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font:16px/1.75 Inter,"Noto Sans TC",system-ui,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.nav{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff15}.navin{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:900;letter-spacing:.04em;font-size:19px}.brand span{color:var(--teal)}.navlinks{display:flex;align-items:center;gap:20px;font-size:14px;color:#c7d4e8}.navlinks a:hover{color:#fff}.theme{border:1px solid #ffffff30;background:#ffffff10;color:#fff;padding:8px 13px;border-radius:99px;cursor:pointer}.hero{background:radial-gradient(circle at 80% 20%,#1e6670 0,transparent 35%),linear-gradient(125deg,var(--navy),var(--navy2));color:white;padding:92px 0 110px;overflow:hidden}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900}.hero h1{font-size:clamp(40px,7vw,76px);line-height:1.05;letter-spacing:-.06em;max-width:780px;margin:16px 0 22px}.hero p{max-width:700px;color:#d9e2f0;font-size:18px;margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 18px;font-weight:850;transition:transform .18s,box-shadow .18s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0002}.primary{background:var(--gold);color:#18233a}.ghost{border:1px solid #ffffff40;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-42px;position:relative;z-index:1}.stat,.card,.tool,.lesson-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:20px 22px}.stat b{display:block;font-size:28px}.stat span{color:var(--muted);font-size:13px}.section{padding:70px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section h2{font-size:32px;line-height:1.2;margin:6px 0}.lead{color:var(--muted);max-width:700px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{padding:24px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 28px 70px #10213d24}.tag{display:inline-block;border-radius:99px;background:#eaf0ff;color:#4168d6;padding:4px 10px;font-size:12px;font-weight:850}.card h3{font-size:20px;line-height:1.35;margin:15px 0 8px}.card p{color:var(--muted);margin:0 0 16px}.cardlink,.tool a{color:#4168d6;font-weight:850}.toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tool{background:linear-gradient(145deg,#132a4d,#0b1730);color:#fff;padding:22px;min-height:195px;display:flex;flex-direction:column;justify-content:space-between}.tool small{color:#a9bddb;letter-spacing:.12em}.tool h3{margin:12px 0;font-size:18px;line-height:1.35}.tool a{color:var(--teal)}.callout{background:#e4f8f3;border:1px solid #bce9df;border-radius:var(--radius);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.callout p{color:#47716b;margin:6px 0 0}.progress{width:220px;height:8px;background:#e5ebf4;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .3s}.footer{background:var(--navy);color:#b8c6da;padding:34px 0;font-size:13px}.footer strong{color:#fff}.lesson-shell{padding:48px;max-width:950px;margin:46px auto}.lesson-hero{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:30px}.lesson-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.1;margin:12px 0}.lesson-hero p{color:var(--muted);font-size:18px}.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:42px}.lesson-grid h2{font-size:24px;border-left:4px solid var(--teal);padding-left:14px;margin-top:34px}.lesson-grid p{color:var(--muted)}.lesson-grid li{margin:8px 0}.side-card{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:20px;position:sticky;top:100px}.formula{background:var(--navy);color:#fff;border-radius:14px;padding:18px 20px;font-family:ui-monospace,monospace;font-size:17px;margin:20px 0}.tool-page{max-width:1120px;margin:44px auto}.tool-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.panel,.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.panel h1{font-size:30px;line-height:1.2;margin:10px 0}.panel p,.note,.sub{color:var(--muted)}label{display:block;font-size:13px;font-weight:800;margin:17px 0 6px}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:10px;padding:11px 12px;font:inherit}textarea{min-height:130px;resize:vertical}.calc{width:100%;margin-top:22px;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:13px;font-weight:850;cursor:pointer}.result h2{margin:5px 0 24px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{background:var(--soft);border-radius:14px;padding:18px}.metric b{display:block;font-size:25px;margin-top:4px}.result-big{font-size:clamp(36px,6vw,62px);font-weight:900;line-height:1.1;color:var(--blue);margin:18px 0}.table{width:100%;border-collapse:collapse;margin-top:22px}.table th,.table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.bar{height:14px;border-radius:99px;background:#e7edf6;overflow:hidden;margin:20px 0}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal))}.back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:12px}.dark{--ink:#edf3ff;--muted:#aab8ce;--line:#293b5a;--surface:#13213a;--soft:#0d172b;background:#0a1222}.dark .tag{background:#1b3159;color:#9db8ff}.dark .callout{background:#102f30;border-color:#1a5d59}.dark input,.dark textarea,.dark select{background:#0c172b}.dark .metric{background:#0d172b}.dark .bar{background:#20304a}@media(max-width:850px){.navlinks a{display:none}.hero{padding:68px 0 90px}.stats,.grid,.toolgrid,.tool-layout,.lesson-grid{grid-template-columns:1fr}.section{padding:50px 0}.sectionhead{display:block}.progress{width:100%;margin-top:15px}.callout{display:block}.lesson-shell{padding:28px 20px;margin:22px auto}.side-card{position:static}.metric-grid{grid-template-columns:1fr}.shell{width:min(100% - 28px,1160px)}}

/* Academy upgrade: decision-oriented cards, sources and tool feedback */
.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.source-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}.source-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.source-grid span{color:var(--muted);font-size:14px}.insight-list{display:grid;gap:10px;margin:24px 0}.insight-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;background:var(--soft);border-radius:12px}.insight-row span{display:flex;flex-direction:column;gap:4px}.insight-row small{color:var(--muted)}.positive{color:#087f5b}.negative{color:#c2410c}.compact{margin-top:24px;padding:16px}.compact p{margin:0}.result-big{letter-spacing:-.04em}.theme-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:7px 10px;cursor:pointer}.theme-btn:active,.calc:active,.btn:active{transform:scale(.97)}@media(max-width:850px){.source-grid{grid-template-columns:1fr}.insight-row{align-items:flex-start;flex-direction:column;gap:8px}}

/* Quant research upgrade: shared, compact, accessible finance surfaces */
.quant-page{background:var(--soft)}
.quant-page .tool-page{padding:0 20px 50px}
.quant-page .tool-layout{align-items:start}
.quant-page .panel,.quant-page .result{padding:26px}
.quant-page .panel p{color:var(--muted)}
.quant-page .panel textarea{min-height:154px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.55}
.quant-page .calc{margin-top:20px}
.quant-page .status{min-height:24px;margin:12px 0 0;color:var(--muted);font-size:13px}
.quant-page .status.ok{color:#087f5b}.quant-page .status.error{color:#c2410c}
.quant-page .formula-note{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--muted);font-size:13px;margin-top:18px}
.quant-page .formula-note strong{color:var(--ink)}
.quant-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}
.quant-page .metric-grid .metric{min-width:0}
.quant-page .metric-grid .metric b{overflow-wrap:anywhere}
.quant-page .visual{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:20px}
.quant-page .visual h3{font-size:16px;margin:0 0 12px}
.quant-page .bar-chart{height:170px;display:flex;align-items:end;gap:4px;border-bottom:1px solid var(--line);padding:8px 2px 0;overflow:hidden}
.quant-page .bar-chart i{display:block;flex:1;min-width:3px;background:linear-gradient(180deg,var(--blue),var(--teal));border-radius:4px 4px 0 0;opacity:.9}
.quant-page .bar-chart i.alert{background:linear-gradient(180deg,#ef8354,#c2410c)}
.quant-page .axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px}
.quant-page .source-box{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px}
.quant-page .source-box a{color:var(--blue);font-weight:800;text-decoration:underline}
.quant-page .tool-crumb{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px;color:var(--muted);font-size:14px}
.quant-page .tool-crumb a{color:var(--blue);font-weight:800}
.quant-page .badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
.quant-page .badge-row span{border:1px solid var(--line);border-radius:99px;padding:4px 9px;color:var(--muted);font-size:12px;font-weight:800}
.quant-page .article-jump{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.quant-page .article-jump a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--blue);font-size:13px;font-weight:800}
@media(max-width:850px){.quant-page .tool-page{padding:0 14px 36px}.quant-page .tool-layout{grid-template-columns:1fr}.quant-page .metric-grid{grid-template-columns:1fr 1fr}.quant-page .tool-crumb{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:430px){.quant-page .panel,.quant-page .result{padding:18px}.quant-page .metric-grid{gap:8px}.quant-page .metric{padding:12px}.quant-page .metric-grid .metric b{font-size:20px}.quant-page .bar-chart{height:145px}}
