/* JC LAB adaptation. Brand source: the current jclab.work identity, not its hero composition.
   1280px frame = 220px category rail + 40px gap + 1020px workspace at maximum width. */
.dom-human{--dc:var(--blue);--cv:var(--blue)}
.ll-axis{grid-column:1/-1;color:var(--blue);min-width:0}.ll-axis svg{display:block;width:100%;height:auto}.ll-axis circle{fill:currentColor}.ll-axis .ll-axis-b{fill:var(--text)}.ll-axis text{font:16px var(--sans);fill:var(--text)}.ll-axis-line{stroke:var(--line-strong);stroke-width:2}.ll-axis-cut{stroke:var(--muted);stroke-dasharray:5 5;fill:none}.ll-axis p{font-size:12px!important;color:var(--muted);margin:0}
.topic-entry{margin:0 0 24px;font-size:14px;display:flex;gap:8px 24px;flex-wrap:wrap;align-items:center}.topic-entry a{display:inline-flex;align-items:center;min-height:44px}.topic-entry span{color:var(--muted);font-size:13px}.topic-intro{margin:0 0 24px}.topic-intro>p{margin:8px 0;font-size:14px;max-width:58em}.topic-intro details{margin:16px 0 24px;border-block:1px solid var(--line);padding:8px 0}.topic-intro summary{min-height:44px;cursor:pointer;padding:8px 0}.topic-intro details p{font-size:14px;max-width:52em}.topic-intro h3{font-size:16px;margin:20px 0 6px}.topic-intro a{overflow-wrap:anywhere}.ll-fields+.ll-choices{margin-top:16px}
@font-face{font-family:BC Sans;src:url('fonts/atlas-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
:root{--bg:#f7f5ef;--paper:#fff;--card:#eeece5;--card-hover:#e5e2d9;--text:#191919;--soft:#35352f;--muted:#62615b;--faint:#6c6a63;--line:#dfdcd3;--line-strong:#8b8981;--blue:#244bff;--yellow:#ffe21a;--chart-grid:#e7e5de;--chart-text:#54534d;--serif:var(--sans);--display:var(--sans);--mono:'SFMono-Regular',Consolas,monospace;--measure:760px;--shadow:0 8px 28px #19191915;
--d-physics:var(--blue);--d-biology:var(--blue);--d-economics:var(--blue);--d-psychology:var(--blue);--d-systems:var(--blue);--d-strategy:var(--blue);--d-game:var(--blue)}
:root[data-theme=dark]{--bg:#191918;--paper:#20201e;--card:#292927;--card-hover:#333330;--text:#f7f5ef;--soft:#d7d5ce;--muted:#b4b1a8;--faint:#aaa79f;--line:#393935;--line-strong:#7b786e;--blue:#8aa4ff;--chart-grid:#393935;--chart-text:#c5c2b8;--red:#ff8b83;--d-physics:var(--blue);--d-biology:var(--blue);--d-economics:var(--blue);--d-psychology:var(--blue);--d-systems:var(--blue);--d-strategy:var(--blue);--d-game:var(--blue)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191918;--paper:#20201e;--card:#292927;--card-hover:#333330;--text:#f7f5ef;--soft:#d7d5ce;--muted:#b4b1a8;--faint:#aaa79f;--line:#393935;--line-strong:#7b786e;--blue:#8aa4ff;--chart-grid:#393935;--chart-text:#c5c2b8;--red:#ff8b83;--d-physics:var(--blue);--d-biology:var(--blue);--d-economics:var(--blue);--d-psychology:var(--blue);--d-systems:var(--blue);--d-strategy:var(--blue);--d-game:var(--blue)}}
html{scroll-padding-top:0}body{font-size:15px;line-height:1.8}button,input,select,textarea{font-family:var(--sans)}button,a,input,select{touch-action:manipulation}input,select,textarea{color:var(--text)}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:800}a{text-underline-offset:4px}::selection{background:var(--yellow);color:#191919}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.wrap{max-width:1360px;padding-inline:40px}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.site-header{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.header-inner{height:80px;gap:28px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:0;font-family:var(--sans)}.brand img{width:36px;height:36px;object-fit:contain}.brand span{display:grid;gap:3px}.brand b{font-size:20px;line-height:1.2;font-weight:900;letter-spacing:-.04em}.brand small{font-size:11px;line-height:1.3;letter-spacing:.06em;font-weight:500}.header-inner nav{gap:24px;font-size:14px;letter-spacing:0;align-items:center}.header-inner nav a{padding:10px 0}.header-inner nav .nav-back-site{border-left:1px solid var(--line);padding-left:20px;color:var(--text)}.header-inner nav .nav-back-home{color:var(--text);font-weight:700}.header-inner nav .nav-back-site:hover,.header-inner nav .nav-back-home:hover{color:var(--blue)}.theme-toggle{width:36px;height:36px;border-radius:6px;font-size:17px}.site-footer{margin-top:64px;background:var(--bg);border-top:1px solid var(--line)}.site-footer>.wrap{padding-block:28px;font-size:12px}.footer-links{gap:20px}
:root[data-theme=dark] .brand img{filter:invert(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand img{filter:invert(1)}}
.wiki-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start;padding-top:36px}.wiki-sidebar{position:sticky;top:116px;max-height:calc(100svh - 136px);overflow:auto;padding-right:16px}.category-menu>summary{list-style:none;font-size:12px;color:var(--muted);padding:0 12px 14px;pointer-events:none}.category-menu>summary::-webkit-details-marker{display:none}.category-menu>summary span{display:none}.category-menu nav{display:grid;gap:3px}.category{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:14px;line-height:1.3;min-height:36px;padding:8px 12px;border-radius:6px;color:var(--muted);transition:background .14s,color .14s}.category span:last-child{font-size:12px;font-variant-numeric:tabular-nums}.category:hover,.category.on{color:var(--text);background:var(--card)}.category.on{font-weight:700}.sidebar-note{margin:28px 12px 0;padding-top:24px;border-top:1px solid var(--line)}.sidebar-note p{font-size:19px;font-weight:800;line-height:1.6;margin:0 0 16px}.sidebar-note>span{font-size:12px;color:var(--muted);line-height:1.9}.sidebar-note>a{display:block;font-size:12px;margin-top:16px;text-decoration:none}
.wiki-workspace{min-width:0}.wiki-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.library-label{font-size:12px;color:var(--muted);margin:0 0 7px}.wiki-heading h1{font-size:32px;line-height:1.4;margin:0}.wiki-heading h1+p{font-size:14px;margin:8px 0 0;color:var(--muted)}.library-volume{display:grid;justify-items:end;flex-shrink:0;gap:2px}.library-volume strong{font-size:30px;line-height:1.3;font-weight:400;font-variant-numeric:tabular-nums}.library-volume span{font-size:12px;color:var(--muted)}
.wiki-controls{display:flex;align-items:center;gap:20px}.wiki-search{position:relative;flex:1;display:flex;align-items:center;min-width:0}.wiki-search input{width:100%;height:48px;border:1px solid var(--line-strong);border-radius:6px;padding:0 48px 0 44px;background:var(--paper);font-size:14px}.wiki-search input::placeholder{color:var(--muted)}.wiki-search svg{position:absolute;left:16px;width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.7}.wiki-search kbd{position:absolute;right:14px;padding:0 6px;border:1px solid var(--line);border-radius:3px;font-size:12px;color:var(--muted)}.learning-filter{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer}.learning-filter input{accent-color:var(--text);width:16px;height:16px}.learning-filter span{color:var(--muted);font-variant-numeric:tabular-nums}
.view-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:20px}.view-tabs{display:flex;gap:28px}.view-tabs a{display:block;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent;font-size:14px;color:var(--muted)}.view-tabs a.on{border-color:var(--text);color:var(--text);font-weight:700}#search-count{font-size:12px;color:var(--muted);margin:0}.group-heading{display:flex;justify-content:space-between;align-items:baseline;padding:28px 0 14px}.group-heading h2{font-size:18px}.group-heading>span{font-size:12px;color:var(--muted)}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.method-card{display:flex;flex-direction:column;text-decoration:none;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:20px;transition:border-color .16s,transform .16s}.method-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.method-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:16px}.method-meta>span:first-child{font-family:var(--mono);font-size:11px}.method-card h3{font-size:19px;line-height:1.55;overflow-wrap:anywhere}.method-en{font-size:12px;line-height:1.5;color:var(--muted);margin:5px 0 14px;overflow-wrap:anywhere}.method-purpose{font-size:13px;line-height:1.85;color:var(--soft);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.method-open{margin-top:auto;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.method-open>span{font-size:17px;color:var(--text)}.method-card:hover .method-open{color:var(--text)}.method-group{scroll-margin-top:110px}.empty{padding:48px 20px;font-size:14px;text-align:left}
.graph-heading{margin:24px 0 16px}.graph-heading h2{font-size:20px}.graph-heading p{font-size:13px;color:var(--muted);margin:8px 0 0}.graph-controls{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px}.graph-controls select{min-width:0;max-width:400px;flex:1;background:var(--paper);border:1px solid var(--line-strong);height:40px;border-radius:6px;padding:0 12px;font-size:13px}.graph-controls button{background:transparent;border:1px solid var(--line-strong);border-radius:6px;height:40px;padding:0 14px;color:var(--text)}.home-graph{height:520px;border-radius:6px;background:var(--paper)}.graph-caption{font-size:12px;color:var(--muted);margin:12px 0}.graph-reading{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.graph-reading a{display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.graph-reading strong{display:block;font-size:14px}.graph-reading span{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:4px}
/* Long-form learning uses the same identity, with a quieter reading surface. */
.cover{background:var(--bg);color:var(--text);border-bottom:1px solid var(--line)}.cover>.glyph{display:none}.cover-inner{padding:24px 0 32px;max-width:1040px}.crumb{font-size:12px;letter-spacing:0;color:var(--muted);margin-bottom:24px;flex-wrap:wrap}.crumb .no,.crumb a:hover{color:var(--text)}.cover h1,.long-title h1{font-size:32px;line-height:1.45;max-width:950px;letter-spacing:-.035em}.cover .en{font:400 14px/1.6 var(--sans);color:var(--muted);margin-top:8px}.tagline{font:400 17px/1.8 var(--sans);margin:16px 0 0;max-width:46em;color:var(--soft)}.experts{margin-top:20px;gap:10px}.expert{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:12px;padding:8px 12px;border-radius:6px}.expert b{font:700 13px/1.6 var(--sans);color:var(--text)}a.expert:hover{background:var(--card)}.facts{margin-top:20px}.facts div{color:var(--muted);letter-spacing:0}.facts b{color:var(--text);font-size:20px}
.layout{grid-template-columns:200px minmax(0,760px);gap:60px;padding-top:32px;justify-content:start}.toc{top:112px;max-height:calc(100svh - 136px)}.toc .label{letter-spacing:0}.toc a{padding:7px 10px;border:0;font-size:13px;border-radius:4px}.toc a.on{color:var(--text);background:var(--card)}.article{font-family:var(--sans);font-size:16px;line-height:1.95;min-width:0}.article .sec{padding-bottom:40px;margin-bottom:32px}.article .sec h2{font-size:24px;line-height:1.55;margin-bottom:20px}.sec-label{font:400 12px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}.hook-prose{font-family:var(--sans);font-size:17px;line-height:1.95}.hook-prose p:first-letter{float:none;font:inherit;color:inherit;padding:0;margin:0}.takeaway,.takeaway-wide{font-family:var(--sans);font-size:17px;line-height:1.9}.source-note{background:var(--card);border-left:0;border-radius:6px;padding:14px 18px;font-size:13px;line-height:1.9;margin-bottom:32px}.plate,.demo-box,.experiment{background:var(--paper);border-radius:6px}.plate-bar{font-size:12px}.caption,.plate-cap{font-family:var(--sans);font-size:12px;line-height:1.85}.steps li b{font-weight:500}.rel-card{background:var(--paper);border-radius:6px}.rel-card b{font-size:16px}.bc-button,.drill-btn{border-radius:6px}.bc-button{background:var(--text);color:var(--bg);border-color:var(--text)}.bc-button.secondary{background:transparent;color:var(--text)}.use-section textarea{background:var(--paper)}.bc-quiz,.quiz-option{border-radius:6px}.formula{overflow-wrap:anywhere}
.masthead{text-align:left;padding:36px 0 28px}.masthead h1{font-size:32px;line-height:1.4}.masthead .issue{font-size:12px;letter-spacing:0;margin-bottom:8px}.masthead .sub{font-size:14px;letter-spacing:0;line-height:1.8;margin-top:12px}.rule{border-top:1px solid var(--line)}.agent-body{max-width:1040px}.agent-body h2{font-size:24px}.agent-body>section{padding-top:28px}.agent-body p{font-size:15px}.eval-takeaway{font-size:22px!important;line-height:1.7}.eval-answer{font-family:var(--sans);font-size:14px;line-height:1.9}.eval-case>summary small{font-size:12px}.eval-case blockquote{background:var(--card)}.eval-pair{gap:28px}.eval-pair article h4{font-size:18px}.eval-protocol,.eval-case{background:transparent}.eval-table{overflow:auto}.eval-table th,.eval-table td{font-size:14px}.labs-grid{gap:20px}.lab-card h2,.labs-grid .lab-card h2{font-size:20px}.lab-art{background:var(--card);color:var(--text);height:140px}.lab-art .glyph{color:var(--blue)}.lab-card{padding:20px;border:1px solid var(--line);background:var(--paper);border-radius:6px}.people-index h1{font-size:32px}.pcard{background:var(--paper);border:1px solid var(--line);border-radius:6px}.pcard .mono{font-size:30px;color:var(--text)}.pcard b{font-family:var(--sans)}
@media(min-width:1600px){.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.wrap{padding-inline:28px}.wiki-shell{grid-template-columns:180px minmax(0,1fr);gap:28px}.wiki-sidebar{padding-right:0}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wiki-controls{gap:12px}.learning-filter span{display:none}.layout{grid-template-columns:160px minmax(0,1fr);gap:36px}}
@media(max-width:960px){.layout{grid-template-columns:minmax(0,1fr);gap:0}.article{max-width:760px}}
@media(max-width:780px){.wrap{padding-inline:20px}.header-inner{height:72px;gap:14px}.brand b{font-size:18px}.brand img{width:30px;height:30px}.header-inner nav{gap:12px;font-size:13px}.header-inner nav .nav-back-site{padding-left:12px}.wiki-shell{display:block;padding-top:24px}.wiki-sidebar{position:static;max-height:none;padding:0;margin-bottom:24px;overflow:visible}.category-menu{border-bottom:1px solid var(--line)}.category-menu>summary{pointer-events:auto;cursor:pointer;padding:10px 0;font-size:14px;display:flex;justify-content:space-between;color:var(--text)}.category-menu>summary span{display:block}.category-menu[open]>summary span{transform:rotate(45deg)}.category-menu nav{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:12px;gap:4px}.category{font-size:13px;min-height:44px;padding:8px}.sidebar-note{display:none}.wiki-heading{margin-bottom:20px}.wiki-heading h1{font-size:28px}.wiki-controls{align-items:flex-start;flex-direction:column;gap:0}.wiki-search{width:100%}.learning-filter{min-height:40px;font-size:12px}.learning-filter span{display:inline}.view-row{margin-top:0}.group-heading{padding-top:24px}.library-volume strong{font-size:28px}.home-graph{height:420px}.graph-reading{grid-template-columns:1fr}.layout{display:block}.toc{display:none}.article{max-width:760px}.cover h1{font-size:28px}.cover-inner{padding:20px 0 28px}.masthead h1{font-size:28px}.agent-body h2{font-size:22px}.graph-controls{flex-wrap:wrap}.graph-controls label{width:100%}.graph-controls select{max-width:none}.site-footer>.wrap{display:block}.footer-links{margin-top:16px;flex-wrap:wrap}}
@media(max-width:520px){.header-inner{flex-wrap:wrap;height:112px;align-content:center;gap:10px 20px}.brand{margin-right:auto}.header-inner nav{order:3;flex:1 0 100%;justify-content:space-between;gap:12px}.header-inner nav a{padding:4px 0;min-height:32px}.theme-toggle{width:32px;height:32px}.wiki-shell{padding-top:12px}.wiki-sidebar{margin-bottom:20px}.wiki-heading{gap:16px}.wiki-heading h1{font-size:26px}.wiki-heading h1+p{font-size:13px;max-width:19em}.library-label{font-size:11px}.library-volume strong{font-size:26px}.library-volume span{font-size:11px}.method-grid{grid-template-columns:1fr;gap:12px}.method-card{padding:18px}.method-meta{margin-bottom:10px}.method-card h3{font-size:20px}.method-purpose{font-size:14px;-webkit-line-clamp:3;margin-bottom:12px}.method-en{margin-bottom:10px}.method-open{font-size:12px}.category-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}.home-graph{height:380px}.graph-heading h2{font-size:18px}.graph-controls select{width:100px}.cover h1{font-size:26px}.tagline{font-size:16px}.article .sec h2{font-size:22px}.article{font-size:16px}.layout{padding-top:24px}.source-note{font-size:12px}.experts{gap:8px}.expert{max-width:100%}.labs-grid{grid-template-columns:1fr}.masthead h1{font-size:26px}.eval-pair{display:block}.eval-pair article+article{margin-top:24px}.brand small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.method-card:hover{transform:none}}

.hook-prose p,.hook-prose p:first-child{font:400 17px/1.95 var(--sans);max-width:44em}.historical-evaluation{padding:24px 0;border-top:1px solid var(--line)}.historical-evaluation>summary{cursor:pointer;font-size:15px}.agent-page .eval-table td{vertical-align:top}.graph-reading .caption{grid-column:1/-1}

/* Experiment previews use the actual default calculation, without decorative glyphs. */
.lab-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.lab-card .btn-line{align-self:flex-start;margin-top:auto}
.lab-card>p{margin-bottom:24px}
.lab-preview{margin:0 -4px 20px;min-width:0;color:var(--muted)}
.lab-preview svg{display:block;width:100%;height:auto;overflow:hidden}
.lab-preview svg text{font:12px var(--sans);fill:var(--muted)}
.preview-grid{stroke:var(--line);stroke-width:1;fill:none}
.preview-series{stroke-width:2;fill:none;stroke:var(--blue);vector-effect:non-scaling-stroke}
.preview-series-0{color:var(--blue);stroke:var(--blue)}
.preview-series-1{color:var(--text);stroke:var(--text)}
.preview-series-2{color:var(--muted);stroke:var(--muted)}
rect.preview-series{fill:var(--blue);stroke:none}
.preview-axis{min-height:36px;font-size:11px!important;line-height:1.6;margin:0 8px 8px;color:var(--muted)}
.preview-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;line-height:1.6;min-height:36px;margin:0 8px}
.preview-legend>span{display:inline-flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}
.preview-legend i{display:inline-block;flex:none;width:12px;height:2px;background:currentColor}
.figure.chart,.demo-box .chart{padding:0;min-width:0;overflow:hidden}
.ev-split>*{min-width:0}
.demo-box .controls label{grid-template-columns:minmax(120px,1fr) minmax(80px,1fr) 56px}
.demo-box .controls label span{overflow-wrap:anywhere}
@media(max-width:1100px){.labs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.labs-grid{grid-template-columns:minmax(0,1fr)}.demo-box .controls{padding:16px}.demo-box .controls label{grid-template-columns:minmax(0,1fr) 56px}.demo-box .controls label span{grid-column:1/-1}}

/* Home layout and content labels. Control appearance lives in controls.css. */
.graph-controls{align-items:flex-end;gap:12px;flex-wrap:wrap}
.graph-select{display:grid;gap:7px;flex:1;min-width:220px;max-width:460px}
.graph-select label{font-size:13px;color:var(--muted)}
.graph-controls select{display:block;width:100%;max-width:none;flex:none;height:44px;padding:0 12px}
.graph-zoom{display:flex;align-items:center;gap:6px;margin-left:auto}
.graph-zoom output{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
.home-graph{height:clamp(400px,calc(100dvh - 430px),680px);border:1px solid var(--line);overflow:hidden;touch-action:none}
#graph.graph-view{scroll-margin-top:104px}.field-pair{min-width:0}
.method-meta{align-items:flex-start;min-height:22px;line-height:1.6;font-size:12px}
.method-meta>span:last-child{background:var(--card);border-radius:4px;padding:2px 6px;color:var(--soft);white-space:nowrap}
.expert{font-size:12px;padding:8px 10px;border-radius:6px;line-height:1.65;overflow-wrap:anywhere}
.material-provenance{margin:24px 0;padding:18px;background:var(--card);border-radius:6px}
.material-provenance h3{font-size:16px;margin-bottom:10px}
.material-provenance p{font-size:14px;overflow-wrap:anywhere}.sec{scroll-margin-top:112px}
@media(max-width:600px){
 .graph-select{min-width:0;flex:1;max-width:none}.graph-controls>button{flex:none}.graph-zoom{margin-left:0;width:100%;justify-content:flex-end}.graph-controls label{width:auto}
 .graph-controls select{width:100%}.graph-controls{gap:12px}.sec{scroll-margin-top:148px}
 #graph.graph-view{scroll-margin-top:148px}.home-graph{height:440px}.method-meta>span:last-child{font-size:11px}
 .header-inner{height:124px}
}
@media(max-width:520px){html{scroll-padding-top:0}.header-inner nav a{min-height:44px;padding:10px 0}}

/* Learning evidence and structured practice share the article's reading rhythm. */
.case-evidence{display:inline-block;margin:0 0 24px;padding:6px 10px;background:var(--card);font-size:13px;color:var(--text);border-radius:4px}
.case-narrative{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}.case-narrative h3{font-size:16px;margin:0 0 8px}.case-narrative p{margin:0;line-height:1.9}
.practice-template{padding:20px;background:var(--paper);font-size:14px;line-height:2;overflow-wrap:anywhere}.practice-answer{margin-top:20px}.practice-answer summary{min-height:44px;cursor:pointer}.practice-answer p{margin:12px 0 0}
.experiment-group{margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--line);min-width:0;display:grid;gap:16px}.experiment-group legend{font-size:15px;font-weight:700;padding:0 8px 0 0}.experiment-output{min-width:0}
@media(min-width:1000px){
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .experiment-layout{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr);gap:28px;align-items:start}
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .experiment-controls{grid-template-columns:1fr;gap:16px;margin-bottom:0}
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .experiment-output{position:sticky;top:110px;align-self:start}
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .result-summary{gap:12px 20px}
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .result-metric strong{font-size:28px}
 :is([data-experiment=tco],[data-experiment=usage-test],[data-experiment=inventory-aging],[data-experiment=unit-economics]) .result-metric.secondary strong{font-size:21px}
}
@media(max-width:640px){.case-narrative{grid-template-columns:1fr;gap:24px}}

.result-table{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.table-scroll-hint{display:none}
@media(max-width:640px){
 [data-experiment=inventory-aging] .result-table table{min-width:460px}
 [data-experiment=tco] .result-table table{min-width:360px}
 :is([data-experiment=inventory-aging],[data-experiment=tco]) .result-table th,:is([data-experiment=inventory-aging],[data-experiment=tco]) .result-table td{white-space:nowrap;padding:12px 8px}
 .table-scroll-hint{display:block;font-size:12px;color:var(--muted);margin:16px 0 8px}
}

/* Continuous reading: no oversized initial or pull-quote styling for narrative paragraphs. */
.hook-prose p,.hook-prose p:first-child,.hook-quote p,.pstory p{font:400 17px/1.95 var(--sans);color:var(--soft);max-width:44em;letter-spacing:0;margin:0 0 1.2em}
.hook-prose p::first-letter,.hook-quote p::first-letter,.pstory p:first-child::first-letter{font:inherit;float:none;padding:0;margin:0;color:inherit;initial-letter:normal}
.person-cover{background:var(--bg);border-bottom:1px solid var(--line)}
.person-cover h1{font-size:32px;line-height:1.45}
.person-cover .en{font:400 14px/1.6 var(--sans);color:var(--muted);margin:8px 0 0}
.person-epithet{font-size:17px;line-height:1.8;margin:16px 0 0;max-width:44em;color:var(--soft)}
.person-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--muted);margin-top:16px}
.person-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(180px,260px);gap:64px;padding-block:32px 64px}
.person-article{min-width:0}.person-section{margin-top:40px}
.person-section h2,.person-methods h2{font-size:22px;line-height:1.5;margin:0 0 20px}
.person-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.person-section-heading h2{margin-bottom:0}.person-section-heading>span{font-size:13px;color:var(--muted);white-space:nowrap}
.person-method-note{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0 16px}
.person-method-list{display:grid;gap:10px}
.person-method{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border:1px solid var(--line);border-radius:6px;background:var(--paper);text-decoration:none;transition:border-color .15s,background-color .15s}
.person-method:hover{border-color:var(--line-strong);background:var(--card)}
.person-method h3{font-size:19px;line-height:1.5;margin:0 0 8px}
.person-method p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.person-method-action{display:flex;gap:8px;align-items:center;flex:none;font-size:13px;color:var(--blue)}
.person-method-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.person-works{align-self:start;padding-top:6px}.person-works h2{font-size:16px;margin:0 0 20px}.person-works .works{margin:0}.person-works .works li{font:400 14px/1.8 var(--sans);padding:12px 0}.person-works .works em{font-size:12px}
.person-facts{padding-left:1.2em;font-size:16px;line-height:1.95;color:var(--soft)}.person-facts li+li{margin-top:16px}.person-section .timeline{font:400 15px/1.9 var(--sans)}
@media(max-width:960px){.person-layout{grid-template-columns:minmax(0,1fr);gap:40px}.person-article{max-width:760px}.person-works{max-width:760px;border-top:1px solid var(--line);padding-top:28px}}
@media(max-width:600px){.hook-prose p,.hook-prose p:first-child,.hook-quote p,.pstory p{font-size:16px}.person-cover h1{font-size:26px}.person-epithet{font-size:16px}.person-layout{padding-block:24px 40px}.person-method{display:block;padding:18px}.person-method-action{margin-top:14px}.person-section{margin-top:32px}.person-section h2,.person-methods h2{font-size:21px}}

/* Calculation tree: the operator and denominator remain visible at every width. */
[data-experiment="driver-tree"] .experiment-chart{height:auto;min-height:0;padding:10px 0 14px}
.driver-diagram{display:grid;gap:0;font-variant-numeric:tabular-nums}
.driver-node{min-width:0;padding:18px 14px;border:1px solid var(--line);background:var(--paper)}
.driver-node>span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.driver-node strong{display:block;font-size:25px;line-height:1.25;font-weight:550;overflow-wrap:anywhere}
.driver-node small{font-size:11px;margin-left:5px;font-weight:400;color:var(--muted)}
.driver-node em{display:block;font-size:11px;font-style:normal;color:var(--muted);margin-top:8px;line-height:1.5}
.driver-total{width:58%;justify-self:center;border-top:3px solid var(--dc);text-align:center}
.driver-split{display:grid;grid-template-columns:3fr 2fr;gap:20px;position:relative;padding-top:26px}
.driver-split:before{content:'＝';position:absolute;left:calc(50% - 8px);top:3px;color:var(--muted);font-size:13px}
.driver-gross .driver-node{height:100%}
.driver-refund{position:relative}
.driver-refund:before{content:'−';position:absolute;left:-16px;top:38%;color:var(--muted)}
.driver-factors{position:relative;margin-top:30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.driver-factors:before{content:'支付金额 ＝ 以下四项相乘';position:absolute;top:-23px;left:0;font-size:11px;color:var(--muted)}
.driver-factors .driver-node{position:relative;padding:14px 9px;border-top:2px solid var(--line)}
.driver-factors .driver-node+ .driver-node:before{content:'×';position:absolute;left:-12px;top:42%;font-size:11px;color:var(--muted)}
.driver-factors strong{font-size:22px}
@media(max-width:600px){
 .driver-node{padding:14px 10px}.driver-total{width:85%}.driver-node strong{font-size:23px}
 .driver-factors{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .driver-factors .driver-node:nth-child(3):before{content:none}
 .driver-factors .driver-node:nth-child(n+3){border-top-style:dashed}
}

/* Decision experiments: explicit inputs, evidence scope, and traceable ledgers. */
.experiment-models{margin:0;padding:0;border:0;grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}
.experiment-models legend{font-size:13px;margin-bottom:10px}
.experiment-models label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);font-size:14px;cursor:pointer}
.experiment-models label:has(:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--paper))}
.experiment-models input{appearance:none;width:18px;height:18px;margin:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);display:grid;place-content:center}
.experiment-models input:checked{border-color:var(--blue)}
.experiment-models input:checked:after{content:'';width:8px;height:8px;background:var(--blue);border-radius:50%}
.evidence-inputs{border:0;margin:0;padding:0;grid-column:1/-1;min-width:0}
.evidence-inputs legend{font-size:15px;font-weight:600;margin-bottom:12px}
.evidence-choice{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer;min-height:48px}
.evidence-choice input{margin-top:4px}
.evidence-choice>span{display:block;min-width:0}
.evidence-choice strong{display:block;font:600 14px/1.7 var(--sans)}
.evidence-choice span span{display:block;font:14px/1.8 var(--sans);color:var(--soft);margin-top:4px}
.evidence-heading{margin:0;font:600 20px/1.5 var(--sans)}
[data-experiment=evidence] .experiment-chart{height:auto;min-height:0}
.evidence-verdicts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.evidence-verdicts article{padding:20px 0;border-top:1px solid var(--line)}
.evidence-verdicts h4{font:400 14px/1.8 var(--sans);margin:0 0 8px;color:var(--soft)}
.evidence-verdicts strong{font:600 21px/1.5 var(--sans)}
.evidence-verdicts p{font:14px/1.8 var(--sans);margin:8px 0 0;color:var(--soft)}
[data-experiment=rfm] .result-table table{min-width:500px}
[data-experiment=forecast] .result-table table{min-width:580px}
[data-experiment=rfm] .cohort-ledger table{min-width:0}
[data-experiment=rfm] .cohort-ledger td{white-space:normal;text-align:left;line-height:1.9}
@media(max-width:600px){.evidence-verdicts{grid-template-columns:1fr}.experiment-models label{flex:1;min-width:140px}}
@media(forced-colors:active){.experiment-models input{appearance:auto}.experiment-models input:after{display:none}}
[data-experiment=rfm] .cohort-ledger th:first-child{min-width:68px;white-space:nowrap}
[data-experiment=rfm] .cohort-ledger th:nth-child(2){text-align:left}
#experiment-output{scroll-margin-top:110px}
.evidence-jump{font-size:14px}
@media(min-width:1100px){
 [data-experiment=evidence] .experiment-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
 [data-experiment=evidence] .experiment-controls{display:block;margin:0}
 [data-experiment=evidence] .experiment-output{position:sticky;top:104px;min-width:0}
 [data-experiment=evidence] .evidence-verdicts{grid-template-columns:1fr}
 [data-experiment=evidence] .evidence-verdicts article{padding:14px 0}
 [data-experiment=evidence] .evidence-jump{display:none}
}
[data-experiment=rfm] .experiment-ledger{margin-top:20px;font:14px/1.8 var(--sans)}
[data-experiment=rfm] .cohort-ledger summary{min-height:48px;padding:12px 0;cursor:pointer}
[data-experiment=rfm] .cohort-ledger table{width:100%;border-collapse:collapse;font-size:13px}
[data-experiment=rfm] .cohort-ledger th,[data-experiment=rfm] .cohort-ledger td{padding:12px 4px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
[data-experiment=rfm] .cohort-ledger th{color:var(--muted);text-align:left}
.evidence-jump{justify-self:start}
@media(max-width:600px){#experiment-output{scroll-margin-top:148px}}
/* Canonical learning activities: condition comparisons, calculations and diagram walkthroughs. */
.learning-lab{border:1px solid var(--line-strong);border-radius:18px;background:var(--paper);padding:clamp(20px,4vw,32px);margin:28px 0;min-width:0}
.learning-lab header h3{font-size:clamp(22px,3vw,28px);line-height:1.3;margin:8px 0 14px;letter-spacing:-.03em}
.learning-lab header>p:last-child{color:var(--muted);font-size:15px;line-height:1.8}
.ll-kicker{font-size:11px!important;letter-spacing:.12em;color:var(--muted);margin:0;text-transform:uppercase}
.ll-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:26px 0}
.ll-fields label{display:grid;gap:8px;font-size:13px;min-width:0}.ll-fields input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg);color:var(--text);padding:10px 12px;font:inherit;font-size:16px}
.ll-choices{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 16px}.learning-lab button{min-height:44px;border:1px solid var(--line-strong);background:var(--paper);color:var(--text);border-radius:8px;padding:10px 15px;font:inherit;font-size:13px;line-height:1.6;cursor:pointer;white-space:normal;text-align:left;transition:background .15s,border-color .15s}
.learning-lab button:hover{background:var(--bg)}.learning-lab button[aria-pressed=true]{background:var(--text);color:var(--paper);border-color:var(--text)}
.learning-lab :is(button,input,summary):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.ll-scenario{font-size:14px;line-height:1.85;padding:16px 0;border-bottom:1px solid var(--line)}
.ll-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}.ll-status{font-size:12px;color:var(--muted);min-height:18px;margin:8px 0 16px}.ll-error{color:var(--red,#a33727);background:var(--bg);padding:15px;border-left:3px solid currentColor;font-size:14px}
.ll-results:has(.ll-metric){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;margin:24px 0}.ll-metric{min-width:0}.ll-metric>span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.ll-metric strong{font-size:26px;letter-spacing:-.03em;font-weight:550;overflow-wrap:anywhere}.ll-metric small{font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted)}
.ll-observations{margin:24px 0}.ll-observations>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.ll-observations dt{font-size:13px;font-weight:600}.ll-observations dd{margin:0;font-size:14px;line-height:1.8}
.ll-reading{margin-top:24px;padding:20px;background:var(--bg);border-radius:10px;font-size:14px;line-height:1.85}.ll-reading>b{display:block;font-size:16px;font-weight:600}.ll-reading p{margin:10px 0 0}.ll-compare{max-width:100%;overflow-x:auto;margin:20px 0 0}.ll-compare:empty{display:none}.ll-compare h4{font-size:13px;margin:0 0 14px}.ll-compare table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.ll-compare-label{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:6px;overflow-wrap:anywhere}.ll-compare td{overflow-wrap:anywhere;vertical-align:top}.ll-compare th,.ll-compare td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.ll-side-by-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ll-side-by-side>div{padding-top:12px;border-top:2px solid var(--line-strong);font-size:14px;line-height:1.8}.ll-side-by-side span{font-size:11px;color:var(--muted)}.ll-assumptions{border-top:1px solid var(--line);margin-top:24px;padding-top:12px;font-size:13px}.ll-assumptions summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}.ll-assumptions p{font-size:13px;line-height:1.85;color:var(--muted)}
@media(max-width:600px){.ll-fields{grid-template-columns:1fr;gap:16px}.ll-observations>div{grid-template-columns:1fr;gap:6px}.ll-side-by-side{grid-template-columns:1fr}.ll-results:has(.ll-metric){grid-template-columns:1fr}.learning-lab{border-radius:12px}.ll-choices button{flex:1 1 auto}.ll-metric strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.learning-lab button{transition:none}}
/* Learning figures: explicit encodings, readable on a narrow viewport. */
.ll-figure{margin:20px 0 28px;padding:24px;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--text);min-width:0}.ll-figure:empty{display:none}.lf-node{padding:16px;text-align:center;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.lf-node small{display:block;color:var(--blue);font-size:11px;margin-top:6px}.lf-node.is-active{border:2px solid var(--blue);background:var(--paper)}.lf-note{font-size:12px!important;line-height:1.7!important;color:var(--muted);margin:18px 0 0!important}.lf-roof{padding:36px 20px 18px;background:var(--text);color:var(--paper);text-align:center;font-weight:600;clip-path:polygon(50% 0,100% 32%,100% 100%,0 100%,0 32%)}.lf-pillars{display:flex;gap:14px;padding:14px}.lf-pillars>*{flex:1;min-width:0}.lf-base{border-top:3px solid var(--line-strong);padding:16px;text-align:center;font-size:13px}.lf-gantt-head,.lf-gantt-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;margin-bottom:12px;align-items:center;font-size:13px}.lf-gantt-head>div,.lf-gantt-row>div{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));gap:3px}.lf-gantt-head b{text-align:center;font-weight:400;color:var(--muted)}.lf-gantt-row>div{border-bottom:1px solid var(--line);min-height:40px;align-items:center}.lf-gantt-row b{background:var(--blue);color:var(--paper);border-radius:3px;text-align:center;padding:9px 0;font-size:12px}.lf-flow{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lf-flow li{position:relative;border:1px solid var(--line-strong);padding:16px 10px;text-align:center;font-size:13px;line-height:1.6;border-radius:5px}.lf-flow li:not(:last-child):after{content:'→';position:absolute;right:-14px;top:calc(50% - 11px);color:var(--muted)}.lf-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.lf-table th,.lf-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;line-height:1.7;overflow-wrap:anywhere}.lf-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lf-dashboard span,.lf-dashboard small{display:block;font-size:12px;color:var(--muted)}.lf-dashboard strong{display:block;font-size:25px;margin:12px 0;letter-spacing:-.03em}.lf-tree>.lf-node{width:min(100%,280px);margin:0 auto}.lf-branches{display:flex;gap:18px;position:relative;padding:32px 0;margin:0 auto}.lf-branches:before{content:'';position:absolute;left:50%;top:0;height:16px;border-left:1px solid var(--line-strong)}.lf-branches>.lf-node{flex:1;min-width:0}.lf-pyramid>div{width:calc(58% + var(--level) * 21%);margin:0 auto 6px;padding:16px 12px;background:var(--blue);color:var(--paper);text-align:center;font-size:14px;clip-path:polygon(9% 0,91% 0,100% 100%,0 100%)}.lf-iceberg .lf-surface{padding:22px;text-align:center;border:1px solid var(--line-strong);border-radius:60% 60% 0 0}.lf-iceberg>p{border-top:2px dashed var(--blue);font-size:12px!important;color:var(--muted);padding-top:8px;text-align:center}.lf-under{display:grid;gap:12px;margin:14px auto 0;width:90%}.lf-chart{height:300px;width:100%;min-width:0}.lf-data summary{min-height:44px;align-content:center;font-size:13px;cursor:pointer}.lf-data p{font-size:12px!important;color:var(--muted)}.ll-error[hidden],.ll-output[hidden]{display:none!important}
@media(max-width:600px){.ll-figure{padding:16px 12px}.lf-flow{grid-template-columns:1fr}.lf-flow li:not(:last-child):after{content:'↓';right:calc(50% - 5px);top:auto;bottom:-18px}.lf-dashboard{grid-template-columns:1fr;gap:18px}.lf-dashboard>div{border-bottom:1px solid var(--line);padding-bottom:16px}.lf-dashboard strong{font-size:28px}.lf-branches{gap:8px}.lf-node{padding:12px 8px;font-size:13px}.lf-pillars{gap:8px;padding:12px 0}.lf-gantt-head,.lf-gantt-row{grid-template-columns:48px minmax(0,1fr);gap:6px}.lf-chart{height:280px}}

.lf-branches:after{content:"";position:absolute;left:25%;right:25%;top:16px;border-top:1px solid var(--line-strong)}.lf-branches>.lf-node{position:relative}.lf-branches>.lf-node:before{content:"";position:absolute;left:50%;top:-17px;height:16px;border-left:1px solid var(--line-strong)}
