header{height:68px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-8);border-bottom:1px solid var(--line)}.brand{display:flex;gap:var(--space-3);align-items:center;text-decoration:none}.brand b{letter-spacing:.07em;font-size:var(--text-lg)}.brand svg{color:var(--accent)}.brand span{font:var(--text-xs) var(--mono);color:var(--muted);letter-spacing:.07em}header nav{display:flex;gap:var(--space-4);align-items:center}header nav a{font-size:var(--text-xs);text-decoration:none}header nav button{width:44px;border:1px solid var(--line);border-radius:50%;font-size:var(--text-lg)}
.heading{display:flex;justify-content:space-between;align-items:center;padding:var(--space-8);gap:var(--space-6)}.eyebrow{font:var(--text-xs) var(--mono);letter-spacing:.09em;color:var(--accent)}h1{font:500 var(--text-2xl)/1.45 var(--font-display);margin:var(--space-2) 0}h1 span{font-size:var(--text-xl);margin-left:var(--space-6);font-weight:400}.heading p{color:var(--muted);margin-top:var(--space-2)}.edition{font-size:var(--text-xs);text-align:right;white-space:nowrap}.edition small{display:block;font:var(--text-xs) var(--mono);color:var(--muted);margin-top:var(--space-3)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:var(--space-2)}
.topnav{display:flex;align-items:center;justify-content:space-between;margin:0 var(--space-8);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:var(--space-3)}.topnav>div{display:flex;gap:var(--space-6)}.topnav button{padding:var(--space-3) 0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--muted)}.topnav button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.topnav>span{font-size:var(--text-xs);color:var(--muted)}
.workspace{display:grid;grid-template-columns:185px minmax(0,1fr) 330px;margin:0 var(--space-8);border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:start}.directory{padding:var(--space-5) var(--space-3)}.rail-heading{display:flex;justify-content:space-between;align-items:center;margin:0 var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--muted)}.rail-heading small{font-family:var(--mono)}.station{display:flex;text-align:left;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);border:1px solid transparent;border-radius:3px;align-items:center}.station .number{font:var(--text-xs) var(--mono);color:var(--muted)}.station strong{display:block;font-size:var(--text-xs);font-weight:500}.station small{display:block;font:var(--text-xs)/1.5 var(--mono);color:var(--muted);margin-top:var(--space-1);letter-spacing:-.04em}.station.active{background:var(--surface);border-color:var(--line);color:var(--accent)}.station:hover{background:var(--soft)}.station .dot{margin-left:auto;flex-shrink:0}.rail-note{margin:var(--space-6) var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--line)}.rail-note p{font:400 21px/1.85 var(--font-display);margin:var(--space-3) 0 var(--space-5)}.rail-note small{color:var(--muted)}
.visual{border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);min-width:0}.viewbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);gap:var(--space-2)}.segmented{display:flex;border:1px solid var(--line);background:var(--bg);border-radius:4px;padding:2px}.segmented button{font-size:var(--text-xs);padding:0 var(--space-3);min-height:36px;white-space:nowrap;border-radius:2px}.segmented .active{background:var(--white);color:var(--accent);box-shadow:0 1px 4px #253e2712}#tour{font-size:var(--text-xs);white-space:nowrap;color:var(--accent)}
#sceneWrap{height:600px;position:relative;overflow:hidden;background:var(--scene)}#canvasHost{position:absolute;inset:0}#canvasHost canvas{display:block;touch-action:none;width:100%;height:100%}.scene-heading{position:absolute;top:var(--space-6);left:var(--space-6);right:var(--space-5);pointer-events:none;z-index:2}.scene-heading small{font:var(--text-xs) var(--mono);color:var(--accent)}.scene-heading h2{font:500 23px/1.5 var(--font-display);margin:var(--space-2) 0}.scene-heading p{font-size:var(--text-xs);color:var(--muted);max-width:430px}#labels{position:absolute;inset:0;pointer-events:none}.model-label{position:absolute;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--line);font-size:var(--text-xs);min-height:33px;padding:var(--space-1) var(--space-2);white-space:nowrap;pointer-events:auto;border-radius:3px;box-shadow:0 2px 6px #20382b0a;z-index:2}.model-label .dot{margin-right:5px}.model-label.active{border-color:var(--accent);color:var(--accent);font-weight:600;background:var(--white)}.model-label small{font:var(--text-xs) var(--mono);color:var(--muted);margin-right:5px}.model-label.risk{border-color:var(--danger);color:var(--danger)}.scene-tools{position:absolute;right:var(--space-4);bottom:100px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:4px;z-index:4}.scene-tools button{width:40px;min-height:40px;border-bottom:1px solid var(--line);font:var(--text-base) var(--mono)}.scene-tools button:last-child{border:0;font-size:var(--text-xs)}.scene-tools button:hover{background:var(--soft)}.scene-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--surface);border-top:1px solid var(--line);z-index:4}.scene-bottom>span{font-size:var(--text-xs);color:var(--muted)}#enter{font-size:var(--text-xs);font-weight:600;color:var(--accent);white-space:nowrap}.scene-key{position:absolute;bottom:80px;left:var(--space-5);display:flex;gap:var(--space-3);font-size:var(--text-xs);pointer-events:none}.scene-key span{display:flex;gap:5px;align-items:center}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.green{background:#408472}.orange{background:#b37b3c}.red{background:#b25043}#perf{position:absolute;right:var(--space-4);top:var(--space-3);font:var(--text-xs) var(--mono);color:var(--muted)}#loader{position:absolute;inset:0;display:grid;place-items:center;background:var(--scene);z-index:5;color:var(--accent)}#fallback{position:absolute;inset:135px 40px 130px;padding:var(--space-6);background:var(--surface);border:1px solid var(--line);z-index:3}#fallback p{margin:var(--space-4) 0}#fallback button{border:1px solid var(--line);padding:var(--space-2) var(--space-4)}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 var(--space-5);gap:var(--space-3);border-top:1px solid var(--line)}.stepper button{text-align:left;border-top:2px solid transparent;padding:var(--space-3) 0;font-size:var(--text-xs)}.stepper button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.stepper small{display:block;font:var(--text-xs) var(--mono);color:var(--muted);margin-bottom:var(--space-1)}.stage-note{display:flex;gap:var(--space-4);padding:var(--space-1) var(--space-5) var(--space-5);min-height:83px}.stage-note>span{font:var(--text-xs)/1.8 var(--mono);color:var(--accent);white-space:nowrap}.stage-note p{font-size:var(--text-sm);color:var(--muted)}
.scenario-panel{padding:var(--space-6) var(--space-5);border-top:1px solid var(--line)}.sectionline{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start}.sectionline h3{margin-top:var(--space-2);font-size:var(--text-lg)}.badge{font-size:var(--text-xs);border:1px solid var(--line);padding:var(--space-1) var(--space-2);color:var(--muted);white-space:nowrap}.select-label{display:block;font-size:var(--text-xs);color:var(--muted);margin:var(--space-5) 0 var(--space-2)}select{width:100%;padding:var(--space-3);background:var(--bg);border:1px solid var(--line);border-radius:3px}.scenario-controls{display:flex;gap:var(--space-2);align-items:center;margin:var(--space-3) 0;flex-wrap:wrap}.scenario-controls button{border:1px solid var(--line);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-radius:3px}.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)!important}.switch{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);margin-left:auto;min-height:44px}.switch input{accent-color:var(--accent);width:18px;height:18px}.event-progress{display:flex;gap:var(--space-1);margin:var(--space-4) 0}.event-progress>button{height:4px;min-height:20px;flex:1;border-top:3px solid var(--line);padding:0}.event-progress>button.done{border-color:var(--accent)}.event-progress>button.risk{border-color:var(--danger)}.event-log{border:1px solid var(--line);padding:var(--space-4);min-height:110px;background:var(--bg)}.event-log small{font:var(--text-xs) var(--mono);color:var(--accent)}.event-log p{margin-top:var(--space-2)}.event-log strong{font-size:var(--text-sm)}.fine{color:var(--muted);font-size:var(--text-xs);margin-top:var(--space-3);line-height:1.85}
.panel{padding:var(--space-6) var(--space-5);min-width:0}.panel-top small{font:var(--text-xs) var(--mono);color:var(--accent)}.panel-top h2{font:500 var(--text-xl)/1.5 var(--font-display);margin:var(--space-2) 0}.panel-top p{color:var(--muted);font-size:var(--text-sm)}.tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--line);margin-top:var(--space-5)}.tabs button{font-size:var(--text-xs);border-bottom:2px solid transparent;padding:var(--space-3) 0;white-space:nowrap;color:var(--muted)}.tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}#panelBody{padding-top:var(--space-5)}#panelBody h3{font-size:var(--text-sm);margin:var(--space-6) 0 var(--space-2);color:var(--accent)}#panelBody p{font-size:var(--text-sm);line-height:1.95;margin-bottom:var(--space-3)}.lede-analogy{font-family:var(--font-display);font-size:var(--text-base)!important;line-height:1.95}.io{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:var(--space-5) 0}.io>div{border-top:1px solid var(--line);padding-top:var(--space-3)}.io span{font:var(--text-xs) var(--mono);color:var(--muted)}.io p{margin:var(--space-1) 0!important}.chiprow{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}.chip{font:var(--text-xs) var(--mono);border:1px solid var(--line);min-height:34px;padding:var(--space-1) var(--space-2);border-radius:3px;color:var(--accent)}.chip:hover{background:var(--soft)}.refs{font-size:var(--text-xs);color:var(--muted);line-height:1.7;margin-top:var(--space-2);display:flex;gap:var(--space-2);flex-wrap:wrap}.refs a{color:var(--accent)}.source-entry{display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);color:var(--accent)}.boundary{background:var(--soft);padding:var(--space-4);margin:var(--space-5) 0}.boundary h3{margin-top:0!important}
footer{display:flex;justify-content:space-between;padding:var(--space-5) var(--space-8);border-top:1px solid var(--line);font:var(--text-xs)/1.7 var(--mono);gap:var(--space-5);color:var(--muted)}dialog{max-width:850px;width:calc(100% - 40px);max-height:88vh;overflow:auto;padding:var(--space-6);background:var(--surface);border:1px solid var(--line);color:var(--ink);box-shadow:0 20px 80px #0003;border-radius:5px}dialog::backdrop{background:#0e231f80;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;gap:var(--space-5);align-items:start;border-bottom:1px solid var(--line);padding-bottom:var(--space-4);margin-bottom:var(--space-5)}.dialog-top h2{font:500 var(--text-xl)/1.5 var(--font-display)}.dialog-top button{font-size:28px;width:44px;flex-shrink:0}#dialogBody h3{margin:var(--space-6) 0 var(--space-2)}#dialogBody p{margin:var(--space-3) 0;font-size:var(--text-base);line-height:1.9}.dialog-kicker{color:var(--accent);font:var(--text-xs) var(--mono)}
.catalog{padding:var(--space-8);max-width:1500px;margin:auto}.catalog-head{display:flex;justify-content:space-between;gap:var(--space-8);align-items:center}.catalog-head h2{font:500 var(--text-xl)/1.5 var(--font-display);margin:var(--space-3) 0}.catalog-head p{color:var(--muted)}.catalog-head label{font-size:var(--text-xs);min-width:250px;color:var(--muted)}.catalog-head input{display:block;padding:var(--space-3);margin-top:var(--space-2);border:1px solid var(--line);background:var(--surface);width:100%;border-radius:3px}.filterbar{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-6) 0}.filterbar button{border:1px solid var(--line);border-radius:3px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.filterbar button.active{background:var(--accent);color:var(--surface)}.ownership-note{padding:var(--space-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-6)}#companyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-8)}.company-card{display:grid;grid-template-columns:95px 1fr 24px;gap:var(--space-4);text-align:left;padding:var(--space-6) 0;border-bottom:1px solid var(--line);width:100%;align-items:start}.company-card:hover{background:var(--soft)}.company-card .ticker{font:600 22px var(--mono);color:var(--accent);padding-top:var(--space-1)}.company-card strong{display:block;font-size:var(--text-base)}.company-card small{color:var(--muted);display:block;margin:var(--space-1) 0 var(--space-2)}.company-card p{font-size:var(--text-sm);color:var(--muted)}.company-card .arrow{color:var(--accent);font-size:24px}.competition{margin:var(--space-10) 0}.competition h3{font:500 var(--text-xl) var(--font-display);margin-bottom:var(--space-6)}.competition table,.research-layout table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;border-bottom:1px solid var(--line);padding:var(--space-3);vertical-align:top}th{background:var(--soft);font-weight:500}
.research-layout{display:grid;grid-template-columns:225px minmax(0,850px);gap:var(--space-12);justify-content:center;padding:var(--space-10) var(--space-8)}#researchNav{align-self:start;position:sticky;top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);border-right:1px solid var(--line);padding-right:var(--space-5)}#researchNav a{text-decoration:none;color:var(--muted);font-size:var(--text-sm);padding:var(--space-2) 0}#researchNav a:hover{color:var(--accent)}#researchBody{min-width:0;font-size:var(--text-base);line-height:2}#researchBody h1{font-size:var(--text-xl);margin:0 0 var(--space-5)}#researchBody h2{font:500 var(--text-xl)/1.6 var(--font-display);margin:var(--space-12) 0 var(--space-5);border-top:1px solid var(--line);padding-top:var(--space-8);scroll-margin-top:20px}#researchBody h3{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-3)}#researchBody p{margin:var(--space-4) 0}#researchBody a{color:var(--accent)}#researchBody li{margin:var(--space-3) 0}#researchBody blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-6);background:var(--soft);font-size:var(--text-sm)}.table-wrap{overflow:auto;max-width:100%}.model{background:var(--surface);border:1px solid var(--line);padding:var(--space-6);margin:var(--space-6) 0}.model label{display:block;font-size:var(--text-sm);margin:var(--space-4) 0}.model input{width:100%;accent-color:var(--accent)}.model output{float:right;font-family:var(--mono)}.model-result{border-top:1px solid var(--line);padding-top:var(--space-5);margin-top:var(--space-5);display:flex;gap:var(--space-8);flex-wrap:wrap}.model-result span{display:block;font-size:var(--text-xs);color:var(--muted)}.model-result b{font:600 28px var(--mono);color:var(--accent)}.model-formula{font:var(--text-sm)/2 var(--mono);white-space:pre-wrap;background:var(--soft);padding:var(--space-4);margin-top:var(--space-5)}
@media(min-width:1600px){.workspace{grid-template-columns:205px minmax(0,1fr) 380px}#sceneWrap{height:680px}.station strong{font-size:var(--text-sm)}.panel{padding:var(--space-8)}}
@media(max-width:1190px){.workspace{grid-template-columns:160px minmax(0,1fr) 300px;margin:0 var(--space-4)}.topnav{margin:0 var(--space-4)}header,.heading{padding-left:var(--space-5);padding-right:var(--space-5)}h1 span{display:block;margin:var(--space-2) 0 0}.edition{display:none}.directory{padding-left:var(--space-2);padding-right:var(--space-2)}.station{gap:var(--space-2)}.scene-heading h2{font-size:21px}.sectionline{display:block}.sectionline .badge{display:inline-block;margin-top:var(--space-3)}.scene-bottom{align-items:start;flex-direction:column;padding:var(--space-2) var(--space-4);gap:0}.scene-bottom>span{font-size:var(--text-xs)}#sceneWrap{height:550px}.scene-key{bottom:98px}.scene-tools{bottom:120px}.topnav>span{display:none}}
@media(max-width:960px){.workspace{grid-template-columns:155px minmax(0,1fr)}.panel{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:260px 1fr;gap:0 var(--space-8)}.panel-top{grid-column:1}.tabs{grid-column:1;align-self:start}.panel #panelBody{grid-column:2;grid-row:1/3}.visual{border-right:0}#sceneWrap{height:620px}.research-layout{grid-template-columns:170px minmax(0,1fr);gap:var(--space-6)}.catalog-head{display:block}.catalog-head label{display:block;margin-top:var(--space-6);max-width:400px}.brand span{display:none}.scene-bottom{flex-direction:row;align-items:center;min-height:64px}.scene-key{bottom:82px}.scene-tools{bottom:104px}}
@media(max-width:620px){header{height:60px;padding:0 var(--space-4)}header nav{gap:var(--space-2)}header nav a{display:none}.brand b{font-size:var(--text-base)}.heading{padding:var(--space-5) var(--space-4)}.heading .eyebrow{font-size:var(--text-xs);letter-spacing:0}.heading p{font-size:var(--text-xs)}h1{font-size:28px}h1 span{font-size:20px}.topnav{margin:0;overflow-x:auto;padding:0 var(--space-4)}.topnav>div{gap:var(--space-5)}.topnav button{font-size:var(--text-xs)}.workspace{display:flex;flex-direction:column;margin:0;border:0}.directory{width:100%;padding:var(--space-3) 0 0}.rail-heading,.rail-note{display:none}#stationList{display:flex;overflow:auto;padding:0 var(--space-3) var(--space-3);gap:var(--space-2)}.station{width:auto;flex-shrink:0;padding:var(--space-2) var(--space-3)}.station .number{font-size:var(--text-xs)}.station small,.station>.dot{display:none}.station strong{font-size:var(--text-xs);white-space:nowrap}.visual{border:0;border-top:1px solid var(--line);width:100%}.viewbar{padding:var(--space-2) var(--space-3)}#sceneWrap{height:480px}.scene-heading{top:var(--space-5);left:var(--space-4)}.scene-heading h2{font-size:20px}.scene-heading p{max-width:280px;font-size:var(--text-xs)}#perf{top:auto;bottom:82px;right:var(--space-3);font-size:var(--text-xs)}.scene-tools{right:var(--space-2);bottom:116px}.scene-tools button{width:36px;min-height:40px}.scene-bottom{padding:var(--space-2) var(--space-3);flex-direction:column;align-items:start;min-height:77px}.scene-bottom>span{font-size:var(--text-xs)}#enter{min-height:32px}.scene-key{left:var(--space-3);bottom:94px;font-size:var(--text-xs);gap:var(--space-2)}.model-label{font-size:var(--text-xs);min-height:30px;padding:3px 5px}.model-label small{display:none}.stepper{padding:0 var(--space-3);gap:var(--space-2)}.stepper button{font-size:var(--text-xs)}.stage-note{padding:var(--space-2) var(--space-3) var(--space-5);gap:var(--space-3)}.stage-note p{font-size:var(--text-xs)}.scenario-panel{padding:var(--space-5) var(--space-4)}.switch{margin-left:0}.panel{display:block;width:100%;padding:var(--space-6) var(--space-4)}.panel-top h2{font-size:var(--text-xl)}#panelBody p{font-size:var(--text-base)}.tabs button{font-size:var(--text-sm)}.catalog{padding:var(--space-6) var(--space-4)}#companyGrid{grid-template-columns:1fr}.company-card{grid-template-columns:73px 1fr 16px;gap:var(--space-3)}.company-card .ticker{font-size:20px}.filterbar{gap:var(--space-2)}.filterbar button{padding:var(--space-2) var(--space-3)}.research-layout{display:block;padding:var(--space-6) var(--space-4)}#researchNav{position:static;flex-direction:row;overflow:auto;border:0;border-bottom:1px solid var(--line);padding:0 0 var(--space-4);margin-bottom:var(--space-6)}#researchNav a{white-space:nowrap;padding:var(--space-2);font-size:var(--text-xs)}#researchBody h2{margin-top:var(--space-8);padding-top:var(--space-6)}footer{padding:var(--space-5) var(--space-4);display:block}footer>span{display:block;margin:var(--space-2) 0}.model{padding:var(--space-4)}dialog{padding:var(--space-5);width:calc(100% - 24px)}}
