*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{--blue:#0b61e8;--navy:#102a50;--muted:#627791;--line:#d9e4f1;--soft:#f2f6fb;--green:#0aa86e;margin:0;background:#fff;color:var(--navy);font-family:"Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;border-bottom:1px solid var(--line);padding:7px clamp(18px,4vw,58px)}
.top a{display:flex;align-items:center;min-height:44px;color:var(--blue);font-size:13px;font-weight:760;text-decoration:none}
.top strong{grid-column:2;font-size:14px}
main{max-width:1460px;margin:auto;padding:20px 26px 34px}
.intro{display:flex;align-items:end;justify-content:space-between;gap:36px}
.intro h1{margin:0;font-size:clamp(30px,3vw,40px);line-height:1.08;letter-spacing:-.025em}
.intro p{max-width:830px;margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.intro aside{display:grid;min-width:240px;border-left:3px solid var(--blue);padding:8px 0 8px 16px}
.intro aside strong{font-size:18px}
.intro aside span{margin-top:7px;color:var(--muted);font-size:10px;line-height:1.55}
.causal-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:18px;border:1px solid var(--line)}
.causal-rail button{position:relative;display:grid;min-height:72px;border:0;border-right:1px solid var(--line);background:#fff;padding:11px 16px;color:var(--navy);text-align:left;cursor:pointer}
.causal-rail button:last-child{border-right:0}
.causal-rail button:after{content:"→";position:absolute;right:-8px;top:31px;z-index:2;background:#fff;color:#87a2bf}
.causal-rail button:last-child:after{display:none}
.causal-rail b{color:var(--blue);font-size:10px}
.causal-rail strong{margin-top:6px;font-size:13px}
.causal-rail span{margin-top:4px;color:var(--muted);font-size:10px}
.causal-rail button.active{background:#edf4ff;box-shadow:inset 0 -3px var(--blue)}
.workspace{display:grid;grid-template-columns:220px 330px minmax(0,1fr);min-height:590px;margin-top:14px;border:1px solid var(--line)}
.domain-rail,.term-browser{border-right:1px solid var(--line)}
.domain-rail header,.term-browser .search{display:grid;min-height:78px;border-bottom:1px solid var(--line);padding:17px}
.domain-rail header strong{font-size:12px}
.domain-rail header span{margin-top:5px;color:var(--muted);font-size:10px}
.domain-rail nav{display:grid;padding:8px}
.domain-rail button{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:56px;border:0;border-left:3px solid transparent;background:#fff;padding:8px 12px;color:var(--navy);font:inherit;text-align:left;cursor:pointer}
.domain-rail button span{grid-column:1;color:var(--muted);font-size:10px}
.domain-rail button b{grid-row:1/3;grid-column:2;color:var(--muted);font-size:10px}
.domain-rail button.active{border-left-color:var(--blue);background:#edf4ff;color:var(--blue)}
.term-browser .search{gap:7px;color:var(--muted);font-size:10px}
.search input{width:100%;min-height:44px;border:1px solid #9ab9e9;border-radius:5px;background:#fff;padding:0 12px;color:var(--navy);font:11px inherit}
.search input:focus{outline:3px solid rgba(11,97,232,.15);border-color:var(--blue)}
#search-status{margin:0;border-bottom:1px solid var(--line);padding:9px 14px;color:var(--muted);font-size:10px}
.term-list{max-height:570px;overflow:auto}
.term-list button{display:grid;width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 16px;color:var(--navy);font:inherit;text-align:left;cursor:pointer}
.term-list button strong{font-size:12px}
.term-list button span{margin-top:5px;color:var(--muted);font:10px/1.4 "Cascadia Mono",Consolas,monospace}
.term-list button.active{border-left:4px solid var(--blue);background:#edf4ff;padding-left:12px;color:var(--blue)}
.term-list button.mastered strong:after{content:"✓";float:right;color:var(--green)}
.empty{padding:24px;color:var(--muted);font-size:11px}
.inspector{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-content:start;min-width:0}
.inspector>header{grid-column:1/-1}
.explain-grid,.code-panel{grid-column:1}
.contrast{grid-column:2;grid-row:2;margin:18px 18px 0 0}
.term-check{grid-column:2;grid-row:3;margin:18px 18px 0;border-top:1px solid var(--line);padding-top:16px}
.inspector>footer{grid-column:2;grid-row:4}
.inspector>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:22px}
.inspector h2{margin:0;font-size:25px}
.inspector h2 span{color:#1d4d83;font:600 16px "Cascadia Mono",Consolas,monospace}
.inspector header p{max-width:720px;margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.65}
.inspector>header a{display:flex;align-items:center;min-height:44px;border:1px solid #8eb2ed;border-radius:5px;padding:0 12px;color:var(--blue);font-size:9px;font-weight:760;text-decoration:none;white-space:nowrap}
.explain-grid{display:grid;grid-template-columns:1.6fr .8fr;border-bottom:1px solid var(--line)}
.explain-grid section{padding:18px 22px}
.explain-grid section+section{border-left:1px solid var(--line)}
.inspector h3{margin:0 0 9px;font-size:11px}
.explain-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}
.explain-grid code{display:block;overflow-wrap:anywhere;border:1px solid var(--line);background:#f7faff;padding:12px;color:#133f79;font:11px/1.5 "Cascadia Mono",Consolas,monospace}
.code-panel{margin:18px 22px 0;border:1px solid var(--line);background:#f7faff}
.code-panel header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 12px}
.code-panel header h3{margin:0}
.code-panel button,.term-check>button,.inspector>footer button{min-height:44px;border:1px solid #8eb2ed;border-radius:5px;background:#fff;padding:0 13px;color:var(--blue);font:760 9px inherit;cursor:pointer}
.code-panel pre{min-height:112px;margin:0;overflow:auto;padding:14px;color:#143e72;font:10px/1.65 "Cascadia Mono",Consolas,monospace;white-space:pre-wrap}
.code-panel>p{min-height:26px;margin:0;padding:5px 12px;color:var(--green);font-size:9px}
.contrast{display:grid;grid-template-columns:1fr;gap:8px;border-left:3px solid var(--blue);background:#f4f8ff;padding:14px}
.contrast h3{margin:1px 0 0}
.contrast strong{font-size:10px}
.contrast p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.term-check fieldset{margin:0;border:0;padding:0}
.term-check legend{margin-bottom:10px;font-size:11px;font-weight:760}
.term-check label{display:flex;align-items:center;min-height:50px;border-top:1px solid var(--line);color:#3b5878;font-size:11px;line-height:1.45;cursor:pointer}
.term-check input{width:17px;height:17px;margin:0 10px 0 0;accent-color:var(--blue)}
.term-check>button{margin-top:12px;background:var(--blue);color:#fff}
.term-check>p{min-height:36px;margin:10px 0 0;border-left:3px solid #a9bbce;background:#f8fbff;padding:9px 11px;color:var(--muted);font-size:9px;line-height:1.5}
.term-check>p.pass{border-left-color:var(--green);background:#eef8f4;color:#356453}
.term-check>p.fail{border-left-color:#d38b23;background:#fff8ed;color:#79531b}
.inspector>footer{display:flex;justify-content:space-between;padding:18px}
.inspector>footer button:last-child{background:var(--blue);color:#fff}
.mapping{margin-top:16px;border:1px solid var(--line);padding:22px}
.mapping header{display:flex;align-items:end;justify-content:space-between;gap:20px}
.mapping h2{margin:0;font-size:22px}
.mapping header p{max-width:560px;margin:0;color:var(--muted);font-size:10px}
.mapping ol{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:18px 0 0;padding:0;border:1px solid var(--line);list-style:none}
.mapping li{position:relative;display:grid;min-height:78px;border-right:1px solid var(--line);padding:13px}
.mapping li:last-child{border-right:0}
.mapping li:after{content:"→";position:absolute;right:-7px;top:28px;z-index:2;background:#fff;color:#87a2bf}
.mapping li:last-child:after{display:none}
.mapping span{color:var(--muted);font-size:9px}
.mapping strong{align-self:end;color:var(--blue);font:700 10px/1.45 "Cascadia Mono","Microsoft YaHei UI",sans-serif}
.next{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;border:1px solid var(--line);padding:22px}
.next h2{margin:0;font-size:21px}
.next p{margin:8px 0 0;color:var(--muted);font-size:10px}
.next a{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--blue);border-radius:5px;background:var(--blue);padding:0 18px;color:#fff;font-size:10px;font-weight:780;text-decoration:none}
.boundary{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);background:#fff;padding:18px clamp(18px,4vw,58px);color:var(--muted);font-size:9px}
.boundary strong{color:var(--blue)}
button:focus-visible,a:focus-visible{outline:3px solid rgba(11,97,232,.25);outline-offset:2px}
@media(max-width:1050px){.workspace{grid-template-columns:190px 280px minmax(0,1fr)}
.inspector{display:block}
.contrast,.term-check{margin:18px 22px 0}
.causal-rail{overflow:auto;grid-template-columns:repeat(6,190px)}
.mapping ol{grid-template-columns:repeat(3,1fr)}
.mapping li:nth-child(3){border-right:0}
.mapping li:nth-child(3):after{display:none}
}
@media(max-width:760px){html{scroll-behavior:auto}
.top{grid-template-columns:1fr auto;padding:10px 14px}
.top strong{grid-column:2;font-size:11px}
main{padding:20px 12px 30px}
.intro{display:block}
.intro h1{font-size:34px}
.intro aside{margin-top:18px}
.causal-rail{margin-top:20px}
.workspace{display:block;min-height:0}
.domain-rail,.term-browser{border-right:0;border-bottom:1px solid var(--line)}
.domain-rail header{min-height:auto}
.domain-rail nav{display:flex;overflow:auto;padding:6px}
.domain-rail button{min-width:142px}
.term-list{max-height:300px}
.inspector>header{display:block}
.inspector>header a{width:max-content;margin-top:12px}
.explain-grid{grid-template-columns:1fr}
.explain-grid section+section{border-top:1px solid var(--line);border-left:0}
.contrast{grid-template-columns:1fr}
.mapping header,.next{display:block}
.mapping header p{margin-top:8px}
.mapping ol{grid-template-columns:1fr}
.mapping li,.mapping li:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}
.mapping li:last-child{border-bottom:0}
.mapping li:after{display:none}
.next a{margin-top:14px}
.boundary{display:block}
.boundary strong{display:block;margin-bottom:6px}
}
