/* Origination tools: an application surface using the existing identity. */
:root{--ink:#172d39;--night:#142a37;--muted:#596d77;--line:#dce3e7;--soft:#f2f5f6;--red:#a92839}
body{background:#f2f5f6;font-size:15px;line-height:1.55}header{position:relative;background:var(--night)}.header-inner{max-width:1600px;padding:15px 32px;min-height:70px;gap:28px}.wordmark{width:185px}.header-inner>span{font-size:12px}.header-inner .tools-back{margin-left:auto;font-size:12px;color:#e1e7ea}.header-inner .back{margin-left:0;font-size:12px;color:#e1e7ea}
main{max-width:1600px;padding:0 32px}.tool-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:31px 0 28px}.tool-label{font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}.tool-heading h1{font-size:38px;line-height:1.08;letter-spacing:-.045em}.tool-heading p:not(.tool-label){font-size:14px;color:var(--muted);margin-top:10px}.tool-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.start-actions{margin:0;gap:10px}.start-actions .own-start{display:none}.start-actions .quiet{font-size:13px;text-decoration:none;border:1px solid var(--line);background:white;padding:11px 16px;min-height:42px}.tutorial-button{border:0;background:none;padding:4px 0;min-height:30px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.app-layout{display:grid;grid-template-columns:175px minmax(0,1fr) 238px;gap:24px;align-items:start;margin-bottom:40px}.app-layout>*{min-width:0}.app-rail{position:sticky;top:24px;padding:8px 0}.rail-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;padding:0 14px}.workflow{position:static;display:flex;flex-direction:column;margin:16px 0;border:0;background:none;gap:5px}.workflow a{border:0;border-left:2px solid transparent;padding:13px 11px;gap:11px;min-height:49px;border-radius:0;font-size:14px}.workflow a span{font:11px Mono,monospace;color:#74818b}.workflow a[aria-current]{background:white;border-left-color:var(--red);font-weight:500;box-shadow:0 1px 3px #142a3707}.workflow a[aria-current] span{color:var(--red)}.workflow a[aria-disabled=true]{color:#697a83}.rail-note{border-top:1px solid var(--line);margin:27px 14px 0;padding-top:18px;font-size:12px}.rail-note span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.rail-bottom{margin:80px 14px 0;font-size:12px;color:var(--muted)}.rail-bottom a{display:inline-block;font-size:11px;margin-top:11px}
.app-work{background:#fff;border:1px solid var(--line);padding:0 30px 28px;min-height:600px}.toolbar{margin:0 -30px;padding:13px 20px;border-bottom:1px solid var(--line);gap:7px;background:#fcfdfd}.toolbar button,.toolbar .file-button{font-size:11px;border-color:transparent;min-height:34px;padding:6px 10px;background:none}.toolbar .file-button{color:var(--ink)}.toolbar button:disabled{opacity:1;color:#7d898f}.toolbar #clear{margin-left:auto}.toolbar button:hover,.toolbar .file-button:hover{background:var(--soft);border-color:var(--line)}.status{padding:12px 0 0;min-height:0;font-size:12px;line-height:1.55;color:var(--muted)}.status.error{color:#8c1e2c;padding:13px;background:#fff5f5;border-left:2px solid var(--red);margin-top:16px}.source-origin{font-size:11px;padding:8px 10px;background:var(--soft);margin-top:12px}.source-origin:empty{display:none}
.step{padding:24px 0 0;border:0;scroll-margin-top:20px}.step-heading{margin:0 0 13px;gap:16px;align-items:center}.step-heading h2{font-size:27px;line-height:1.2;letter-spacing:-.025em}.step-heading .step-progress{font:11px Mono,monospace;color:#5a6b73;border:1px solid var(--line);padding:5px 8px}.step>p,.step>.small{font-size:13px;line-height:1.6}.step .source-lead{font-size:14px}.help{border-bottom:1px solid var(--line);font-size:12px;padding:12px 0;margin-top:0}.help>summary{font-size:12px;min-height:24px;padding:2px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;font-weight:500}.help>summary::-webkit-details-marker{display:none}.help>summary:after{content:'+';font:18px/1.3 Mono,monospace;color:var(--muted)}.help[open]>summary:after{content:'−'}.help[open]>summary{margin-bottom:10px}.help p{font-size:12px;line-height:1.65}.help a{color:var(--red)}.source-requirements{margin-top:13px}.template-links{margin:0;gap:5px 15px}.template-links a{font-size:12px;min-height:34px}.template-links>span{display:none}
.imports{display:flex;flex-direction:column;margin-top:22px;gap:0}.import{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;background:#fff;border:1px solid var(--line);padding:20px;margin-bottom:-1px;align-items:center}.import h3{font-size:19px;margin:0;grid-column:1}.import .file-name{font:11px/1.55 Plex,sans-serif;min-height:0;margin:5px 0 0;grid-column:1;grid-row:2}.import>.file-button{grid-column:2;grid-row:1/3;width:auto;min-width:148px;font-size:12px;border-color:#b3bfc6;min-height:42px}.import.is-loaded{border-left:3px solid #2f6952;padding-left:18px}.import.is-loaded .file-name{color:#2f6952}.import .paste-help{grid-column:1/-1;margin-top:12px;border-top:1px solid #edf0f2;padding-top:7px}.import .paste-help summary{font-size:11px;min-height:26px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--muted)}.paste-help input,.paste-help textarea{font-size:13px}.paste-help textarea{min-height:120px}.step-actions{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;gap:12px}.step-actions button{font-size:13px;padding:12px 18px}.step-actions .small{font-size:12px;flex:1 1 160px}.step-actions button:disabled{color:#fff;opacity:.6}.source-next{line-height:1.5}
.experience-ready[data-stage=source] #map-step,.experience-ready[data-stage=source] #model,.experience-ready[data-stage=map] #source-step,.experience-ready[data-stage=map] #model,.experience-ready[data-stage=scenario] #source-step,.experience-ready[data-stage=scenario] #map-step,.experience-ready[data-stage=scenario] #result-step,.experience-ready[data-stage=result] #source-step,.experience-ready[data-stage=result] #map-step,.experience-ready[data-stage=result] #scenario-step{display:none}
.guide-panel{position:sticky;top:24px;padding-top:8px;color:var(--ink)}.guide-top{display:flex;align-items:center;gap:9px;font-size:12px;padding-bottom:20px}.guide-mark{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9aabb5;border-radius:50%;width:21px;height:21px;font:12px Mono}.guide-top #guide-step-count{margin-left:auto;font:11px Mono;color:var(--muted)}.guide-panel h2{font-size:21px;line-height:1.2;letter-spacing:-.02em}.guide-panel>p{font-size:13px;margin:12px 0;color:var(--muted);line-height:1.6}.guide-checklist{padding:0;list-style:none;margin:20px 0}.guide-checklist li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.guide-checklist li span:last-child{font-size:10px;color:var(--muted)}.guide-checklist li[data-done=true] span:last-child{color:#2f6952;font-weight:500}.guide-next{border-left:2px solid #99aab5;padding-left:12px;margin:24px 0 15px}.guide-next #guide-next-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.guide-next p+p{font-size:12px;line-height:1.6;margin-top:7px}.guide-link{background:none;border:0;padding:5px 0;min-height:34px;text-decoration:underline;text-underline-offset:4px;font-size:12px;margin-bottom:14px}.guide-panel .help>summary{font-size:11px}.guide-panel .privacy-note{border:0;padding:0;color:var(--muted)}.guide-panel .privacy-note p{font-size:12px}.checkpoint-help{margin-top:10px}.guide-demo button{font-size:12px;margin:12px 0}.intro-help .intro{display:block;padding:0}.intro-help .eyebrow{font-size:10px;margin:0 0 10px}.intro-help .intro h2{font-size:18px}.intro-help .lead{font-size:12px;margin-top:12px}.intro-help .start-note{font-size:11px}.intro-help .scope-preview{padding:15px 0 0;border:0}.intro-help .original-o{width:32px;margin-bottom:12px;display:block}.intro-help .scope-preview h2{font-size:15px}.intro-help .scope-preview ul{font-size:12px;padding-left:16px;margin:10px 0}.intro-help .scope-preview>p{font-size:11px}.guide-panel .method{margin:0;border-top:0;padding:12px 0;font-size:12px}.guide-panel .method>summary{font-size:11px;line-height:1.5;cursor:pointer}.guide-panel .method p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.mapping-sheet{border:1px solid var(--line);margin-top:18px;padding:0 18px}.mapping-sheet>summary{font-size:15px;padding:16px 0;line-height:1.5}.mapping-sheet>div{padding-bottom:18px}.mapping{gap:18px}.mapping label{font-size:12px}.mapping select{min-height:42px;font-size:12px}.mapped-value{font-size:10px}.source-metadata{grid-template-columns:1fr 1fr;gap:14px}.source-metadata label:first-child{grid-column:1/-1}.source-metadata label{font-size:12px}.meta{grid-template-columns:1fr 1fr;gap:16px}.check{font-size:12px;line-height:1.6}.issues{font-size:12px;line-height:1.6}.baseline-review{padding:20px;margin-top:20px}.baseline-review h2{font-size:22px}.baseline-review p{font-size:13px}.baseline-review button{font-size:12px;margin-top:12px}
.model-context{font-size:13px;padding:15px 18px;background:#f2f5f6;border-left:2px solid #99aab5}.normalization{padding:20px 0;margin:22px 0}.normalization>h3,.scenario-drivers>h3{font-size:20px}.normalization>p{font-size:12px}.normalization-fields{grid-template-columns:1fr 1fr}.normalization-row label{font-size:12px}.seed{gap:12px;align-items:stretch}.seed label{font-size:12px;max-width:180px}.seed button{font-size:12px;align-self:end}.scenario-context{grid-template-columns:1fr 1fr;gap:14px}.scenario-context label:first-child{grid-column:1/-1}.scenario-drivers{margin:24px 0}.scenario-drivers .small{font-size:12px}.table-wrap{margin-top:18px}.table-wrap th,.table-wrap td{padding:11px 10px}.table-wrap thead th{background:#edf2f4;color:var(--ink);border-bottom:1px solid #afbdc5}.table-wrap tbody th{font-size:12px}.table-wrap input{min-height:40px}.table-wrap tr.emphasis{background:#f4f7f8}.table-wrap .emphasis td{font-weight:500}
.on-screen-summary{margin:12px 0 0;border-top:0;padding:14px 18px;background:#f2f5f6}.summary-title{font-size:16px}.on-screen-summary .small{font-size:11px;margin-top:7px}.results{gap:18px;margin-top:24px}.result-panel{border-top:2px solid var(--night);padding:20px 0 0}.result-panel h3{font-size:15px}.result-panel .result-value{font-size:clamp(26px,2.7vw,42px);line-height:1.2;letter-spacing:-.05em;margin-top:14px}.result-panel dl{gap:7px;font-size:11px;margin-top:18px}.result-panel dd{font-size:10px}.result-panel .small{font-size:11px}.equity-line>strong{font-size:24px}.equity-line>span{font-size:11px}.result-boundary{font-size:11px;line-height:1.6;margin:18px 0}.result-settings>summary,.review-details>summary{font-size:14px}.assumptions,.bridge{grid-template-columns:1fr 1fr;gap:16px}.assumptions label,.bridge label{font-size:12px}.export{padding-top:22px}.export h3{font-size:19px}.export button{font-size:12px}.export .small{font-size:11px}.model-next h3{font-size:22px}.model-review-options li{grid-template-columns:1fr;gap:3px;padding:12px 0}.model-review-options a{font-size:14px}.model-review-options span{font-size:12px}
dialog{border:1px solid #b6c3cb;padding:30px;max-width:600px;width:calc(100% - 32px);color:var(--ink);background:white;box-shadow:0 28px 90px #10293638}dialog::backdrop{background:#0b1f30a8}.tutorial-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:24px}.tutorial-head button{border:0;min-height:36px;font-size:12px;padding:6px 0}.tutorial-track{display:flex;gap:6px;margin-bottom:30px}.tutorial-track span{height:3px;flex:1;background:var(--line)}dialog[data-index="0"] .tutorial-track span:nth-child(1),dialog[data-index="1"] .tutorial-track span:nth-child(-n+2),dialog[data-index="2"] .tutorial-track span:nth-child(-n+3),dialog[data-index="3"] .tutorial-track span{background:var(--red)}dialog h2{font-size:32px;margin:7px 0 18px}#tutorial-description{font-size:15px;line-height:1.7}.tutorial-example{background:#f2f5f6;border-left:2px solid #96aab7;padding:14px 20px;margin:23px 0}.tutorial-example p{font-size:13px;margin:8px 0}.tutorial-note{font-size:11px;color:var(--muted)}.tutorial-actions{display:flex;gap:8px;justify-content:space-between;margin-top:28px;flex-wrap:wrap}.tutorial-actions button{font-size:12px}.tutorial-actions #tutorial-show{border:0;text-decoration:underline;text-underline-offset:3px}.tutorial-actions #tutorial-show:disabled{color:#657780;opacity:.6}footer{font-size:11px;background:#e8eef1;color:var(--muted);padding:22px max(32px,calc((100vw - 1536px)/2));gap:24px}
@media(min-width:1450px){.app-layout{grid-template-columns:200px minmax(0,1fr) 265px;gap:32px}.app-work{padding-right:40px;padding-left:40px}.toolbar{margin-left:-40px;margin-right:-40px;padding-left:30px;padding-right:30px}}
@media(max-width:1150px){.app-layout{grid-template-columns:150px minmax(0,1fr);gap:22px}.guide-panel{position:static;grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:24px;background:#e8eef1}.guide-top{grid-column:1/-1}.guide-panel .guide-checklist{grid-column:2;grid-row:2/5;margin:0}.guide-panel>h2,.guide-panel>p,.guide-next,.guide-link{grid-column:1}.guide-panel .help,.guide-panel .method{grid-column:1/-1}.guide-panel .guide-top #guide-step-count{margin-left:auto}.guide-panel .intro-help .scope-preview{display:block}.app-work{padding:0 25px 25px}.toolbar{margin:0 -25px}.results{gap:25px}}
@media(max-width:740px){.header-inner{min-height:62px;padding:13px 18px;gap:18px}.wordmark{width:152px}.header-inner .back{display:none}.header-inner .tools-back{font-size:11px}.tool-heading{padding:25px 0 22px;gap:18px}.tool-heading h1{font-size:34px}.tool-heading p:not(.tool-label){font-size:12px;max-width:32ch}.tool-heading-actions{align-items:flex-end}.start-actions .quiet{font-size:11px;min-height:40px;max-width:152px;text-align:left;padding:9px 12px}.tutorial-button{font-size:11px}.tool-label{font-size:10px}main{padding:0 18px}.app-layout{display:block;margin-bottom:25px}.app-rail{position:static;padding:0}.rail-title,.rail-note,.rail-bottom{display:none}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 14px;background:transparent}.workflow a{padding:10px 5px;font-size:11px;min-height:56px;border-left:0;border-bottom:2px solid transparent;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.workflow a span{font-size:10px}.workflow a[aria-current]{border-bottom-color:var(--red);box-shadow:none;background:transparent}.app-work{padding:0 20px 22px;min-height:0}.toolbar{margin:0 -20px;padding:10px;gap:2px}.toolbar button,.toolbar .file-button{font-size:10px;padding:7px;min-height:36px}.toolbar #clear{margin-left:0}.step-heading h2{font-size:25px}.step-heading{gap:8px}.step-heading .step-progress{font-size:9px;white-space:normal;text-align:center;padding:5px 6px;max-width:92px}.status{font-size:11px}.import{padding:17px;grid-template-columns:1fr;gap:0}.import.is-loaded{padding-left:15px}.import .file-name{grid-column:1;grid-row:auto;margin-bottom:12px}.import>.file-button{grid-column:1;grid-row:auto;width:100%;margin-top:0;min-height:44px}.import h3{font-size:20px}.import .paste-help{margin-top:8px}.import .paste-help>summary{min-height:34px;font-size:12px}.help>summary{min-height:34px;align-items:center}.step-actions{align-items:stretch}.step-actions button{width:100%;min-height:46px}.step-actions .small{flex-basis:100%}.guide-panel{display:block;margin-top:22px;padding:22px}.guide-panel .guide-checklist{margin:18px 0}.guide-panel>p{font-size:13px}.guide-panel .help>summary{font-size:12px}.results{grid-template-columns:1fr;gap:28px}.result-panel .result-value{font-size:38px}.result-panel dl{font-size:12px}.result-panel dd{font-size:11px}.mapping-sheet{padding:0 13px}.mapping{grid-template-columns:1fr}.source-metadata{grid-template-columns:1fr}.source-metadata label:first-child{grid-column:auto}.meta,.scenario-context,.normalization-fields{grid-template-columns:1fr}.scenario-context label:first-child{grid-column:auto}.assumptions,.bridge{grid-template-columns:1fr 1fr}.seed{flex-direction:column}.seed label{max-width:none}.seed button{width:100%}.small,.help p{font-size:12px}.source-origin{overflow-wrap:anywhere}.table-wrap{margin-left:0;margin-right:0}.table-wrap input,.mapping select,.source-metadata input,.source-metadata select,input,select,textarea{font-size:16px}.export button{font-size:13px}.guide-panel .method{margin-top:4px}dialog{padding:22px}dialog h2{font-size:28px}.tutorial-actions{gap:8px}.tutorial-actions #tutorial-show{order:3;width:100%}footer{padding:22px 18px}}
@media(prefers-reduced-motion:no-preference){button,a,input,select{transition:background-color .14s ease,border-color .14s ease}.tutorial-track span{transition:background-color .2s ease}}
.experience-ready[data-has-model=true] .start-actions .own-start{display:inline-flex;background:transparent;border:1px solid #b3bfc6;color:var(--ink);padding:10px 14px;min-height:42px;font-size:12px}.guide-panel .source-requirements{margin:0}.guide-panel .template-links{display:flex;flex-direction:column;align-items:flex-start}.tool-heading{padding-top:24px;padding-bottom:24px}.import .paste-help{margin-top:7px;padding-top:3px}.import{padding-top:17px;padding-bottom:12px}.step>.source-lead{margin-bottom:18px}.imports{margin-top:18px}.rail-bottom p+p{margin-top:9px}.guide-panel .source-requirements .small{margin-top:12px}
@media print{.app-rail,.guide-panel,.toolbar,.tool-heading-actions{display:none}.app-layout{display:block}.experience-ready #source-step,.experience-ready #map-step,.experience-ready #scenario-step,.experience-ready #result-step,.experience-ready #model{display:block}.app-work{border:0;padding:0}}
