:root{color-scheme:light;--ink:#172438;--muted:#5e6f87;--blue:#245ade;--line:#dbe4f1;--navy:#102747;--paper:#f3f6fb;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}button,summary{cursor:pointer}button,.button{border:1px solid var(--line);border-radius:9px;min-height:44px;padding:11px 16px;font-weight:650}button{background:white;color:var(--ink)}button:hover{background:#edf3ff}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:white;text-decoration:none;border-color:var(--blue)}.button:hover{background:#1847bc;color:white}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:white;border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:1.4rem;font-weight:750;letter-spacing:-.04em;text-decoration:none}.brand span{color:var(--blue);margin-left:-8px}.brand img{margin-right:5px;border-radius:8px}.nav-label{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:.88rem;color:var(--muted);padding:12px 10px;min-height:44px;border-radius:8px}.sidebar nav span{font-size:1.15rem}.sidebar nav a:hover{background:var(--paper)}.sidebar nav a[aria-current=page]{background:#eaf0ff;color:#194dc1;font-weight:700}.sidebar-note{margin-top:auto;font-size:.8rem;line-height:1.65;border-top:1px solid var(--line);padding-top:20px}.sidebar-note p{margin:8px 0;color:var(--muted)}.workspace{margin-left:250px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;padding:20px 32px;border-bottom:1px solid var(--line);min-height:88px}.topbar>div:first-child{display:flex;flex-direction:column;gap:6px}.topbar strong{font-size:1rem}.topbar span,.topbar a{font-size:.8rem;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:18px}main{padding:28px 32px 32px;max-width:1600px;margin:auto}.demo-banner{display:flex;gap:16px;align-items:center;border:1px solid #c8d8fb;background:#edf3ff;border-radius:10px;padding:15px 18px;margin-bottom:30px;font-size:.83rem;line-height:1.6}.demo-banner strong{color:#194dc1;white-space:nowrap}.demo-banner span{color:var(--muted)}h1,h2,h3{margin:0;letter-spacing:-.03em}h1{font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.15}h2{font-size:1.2rem;line-height:1.35}h3{font-size:1rem;line-height:1.5}p{line-height:1.7;color:var(--muted);margin:12px 0}p:last-child{margin-bottom:0}.eyebrow,.phase{display:block;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:#375b94}.page-heading{margin-bottom:24px}.page-heading p{max-width:850px}.page-heading .eyebrow{margin:0 0 12px}.guide{border:1px dashed #b5c7e5;border-radius:10px;padding:15px 18px;margin-bottom:24px;background:#fff}.guide summary{font-weight:650;color:#335b92}.guide p{font-size:.9rem}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px}.stats article{padding:20px 12px;border:1px solid var(--line);background:white;border-radius:12px;text-align:center;min-width:0;box-shadow:0 3px 8px #13274606}.metric{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.metric span{color:var(--blue);font-size:1.5rem}.metric strong{font-size:2.2rem;line-height:1.1}.stats h2{font-size:.85rem;letter-spacing:0}.stats p{font-size:.72rem;margin:8px 0 0;line-height:1.5}.thesis-card{border-radius:14px;padding:30px;margin-bottom:24px;background:linear-gradient(110deg,#102747,#19466a);color:white}.thesis-card .eyebrow{color:#92d5ff;margin:0 0 12px}.thesis-card h2{font-size:clamp(1.6rem,2.5vw,2.4rem)}.thesis-card p{color:#d3e4f5;max-width:780px}.thesis-card .subtitle{font-size:1.25rem;margin:8px 0 18px}.thesis-card .button{margin-top:8px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0;box-shadow:0 3px 10px #13274605}.card>.eyebrow{margin-top:0}.check-list{padding-left:23px;margin:18px 0}.check-list li{padding:8px 0;font-size:.9rem}.check-list span{display:block;color:var(--muted);font-size:.83rem;line-height:1.7;margin-top:3px}.text-link{font-size:.9rem;font-weight:600}details:not(.guide) summary{font-size:.9rem;font-weight:600;line-height:1.5}.fine-print{font-size:.78rem}.section-label{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:24px 0}.badge{display:inline-block;border-radius:100px;padding:6px 11px;font-size:.72rem;font-weight:650;border:1px solid #c7d8fa;background:#f0f5ff;color:#345b96;line-height:1.4;flex-shrink:0}.risk{background:#fff3ec;border-color:#f1cabb;color:#914727}.source{margin-bottom:16px}.source>summary{display:flex;align-items:center;gap:16px}.source>summary:before{content:"+";color:var(--blue);font-size:1.35rem}.source[open]>summary:before{content:"−"}.source summary>span:first-of-type{flex:1;min-width:0}.source small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:6px}.source-body article{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;scroll-margin-top:24px}.source-body p,.source-body a{font-size:.88rem}blockquote{margin:12px 0;padding:10px 16px;border-left:3px solid #9bb8ef;background:#f6f9ff;line-height:1.7;font-size:.9rem}.notice{padding:18px;border:1px solid var(--line);border-radius:10px;background:#eaf0f9;color:var(--muted);font-size:.88rem;line-height:1.7;margin-top:24px}.finding{margin-bottom:18px}.finding .section-label{margin-top:0}.finding p{font-size:.92rem}.evidence-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.evidence-links a{display:inline-block;background:#f0f5ff;padding:8px 12px;font-size:.8rem;border-radius:8px}dl{margin:0 0 18px;display:grid;gap:12px}dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;font-size:.85rem;line-height:1.7}dt{color:var(--muted)}dd{margin:0}.controls label{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:28px 0 14px;font-size:.9rem;font-weight:600}.controls output{color:var(--blue);text-align:right;font-size:.83rem;white-space:nowrap}.controls input{width:100%;accent-color:var(--blue);min-height:30px;cursor:pointer}.controls button{margin-top:16px}.scenario-results{padding:22px 0}.scenario-results strong{font-size:clamp(2.4rem,4vw,3.5rem);letter-spacing:-.04em;color:var(--blue)}.scenario-results p{margin:8px 0;font-size:.95rem}.scenario .button{margin-top:16px}.roadmap-list{list-style:none;padding:0;margin:0;display:grid;gap:18px}.roadmap-list h2{margin-top:10px}.roadmap-list p{font-size:.92rem}.roadmap-meta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0;font-size:.8rem;color:var(--muted)}.roadmap-meta span{padding:7px 10px;border:1px solid var(--line);border-radius:7px}.roadmap-list a{font-size:.85rem}.demo-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.demo-footer p{font-size:.83rem;margin:0}.demo-footer .button{flex-shrink:0;font-size:.85rem}:focus-visible{outline:3px solid #e6a33b;outline-offset:4px}.skip{position:absolute;z-index:5;top:8px;left:8px;padding:12px;background:white;transform:translateY(-200%)}.skip:focus{transform:none}[hidden]{display:none!important}h1:focus{outline:none}.demo-page{overflow-wrap:anywhere}
@media(max-width:1100px){.sidebar{width:220px}.workspace{margin-left:220px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.two-columns{gap:16px}.topbar,main{padding-inline:24px}}
@media(max-width:800px){.sidebar{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line);gap:16px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:6px}.sidebar nav a{padding:10px;font-size:.8rem}.nav-label,.sidebar-note{display:none}.workspace{margin-left:0}.two-columns{grid-template-columns:1fr}.demo-banner{align-items:start;flex-direction:column;gap:4px}.topbar{padding:16px 20px}.topbar-actions{gap:12px}.topbar-actions a{max-width:65px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){main{padding:20px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats article:last-child{grid-column:1/-1}.topbar{padding:16px;align-items:start;gap:10px}.topbar-actions{flex-direction:column;align-items:end;gap:10px}.topbar-actions a{max-width:none}.topbar-actions button{font-size:.8rem;padding:10px}.topbar>div:first-child{max-width:180px}.demo-banner{padding:14px;font-size:.78rem}.demo-banner strong{white-space:normal}.card,.thesis-card{padding:20px}.section-label{flex-wrap:wrap;gap:10px}.source>summary{flex-wrap:wrap}.source .badge{margin-left:27px}dl>div{grid-template-columns:1fr;gap:2px}.demo-footer{flex-direction:column;align-items:start;gap:14px}.controls label{font-size:.83rem}h1{font-size:1.9rem}.sidebar nav a{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.portfolio{margin-bottom:24px}.decision-card{margin-bottom:24px}.three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px}.three-columns p{font-size:.88rem}.scenario-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.scenario-presets button{text-align:left;padding:16px;min-width:0;line-height:1.5}.scenario-presets strong,.scenario-presets span{display:block}.scenario-presets span{font-size:.75rem;color:var(--muted);margin-top:5px}.scenario-presets button[aria-pressed=true]{border-color:var(--blue);background:#eaf0ff;box-shadow:inset 3px 0 var(--blue)}.investment-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:24px;align-items:start}.investment-results{display:grid;gap:20px;min-width:0}.investment-grid .controls label{flex-wrap:wrap;gap:5px;margin-top:22px;margin-bottom:4px}.investment-grid .controls input{min-height:38px}.lever-hint{font-size:.75rem;line-height:1.5;margin:2px 0 12px}.cost-ledger{margin:12px 0 0;gap:0}.cost-ledger>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:12px 0;font-size:.82rem}.cost-ledger dd{font-weight:700;white-space:nowrap}.cost-ledger .ledger-total{font-weight:750;border-top:2px solid var(--line)}.ledger-total dt{color:var(--ink)}.scenario-results{padding:6px 0 16px}.scenario-results .delta,.delta{font-size:.8rem;color:#345b96;margin:5px 0}.scenario-results #scenario-duration{font-weight:650;color:var(--ink);margin-top:18px}.scenario-results #scenario-scope{font-size:.78rem}.budget-card{border-left:4px solid var(--blue)}.budget-card h2{font-size:2rem;color:var(--blue)}.budget-card p{font-size:.85rem}.horizon-card{background:#edf3ff;border-color:#c8d8fb}.horizon-card h2{font-size:1.1rem}.horizon-card p{font-size:.85rem}.horizon-card meter{display:block;width:100%;height:18px;accent-color:var(--blue);margin:18px 0}.horizon-card meter::-webkit-meter-bar{background:#dce6fa;border:0;border-radius:20px}.horizon-card meter::-webkit-meter-optimum-value{background:var(--blue)}.scope-register{margin-top:24px}.scope-register .section-label{margin:0}.scope-register a{font-size:.86rem}.scope-register p{font-size:.85rem}.scope-list{list-style:none;margin:18px 0 0;padding:0}.scope-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:.8rem;line-height:1.6}.scope-list span{color:var(--muted)}.roadmap-list{margin-top:24px}.roadmap-list [data-included=false]{background:#f8faff;border-style:dashed}.roadmap-meta span{line-height:1.6}.screen-reader-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.investment-grid{grid-template-columns:1fr}.investment-results{grid-template-columns:repeat(2,minmax(0,1fr))}.investment-results .scenario{grid-column:1/-1}}
@media(max-width:600px){.scenario-presets,.investment-results,.three-columns{grid-template-columns:1fr}.investment-grid{gap:18px}.scope-list li{grid-template-columns:1fr;gap:3px}.scenario-presets button{padding:12px 16px}.scope-register .section-label{flex-direction:column}.cost-ledger>div{font-size:.78rem}.controls output{white-space:normal}.scenario-results strong{font-size:2.5rem}.budget-card h2{font-size:1.8rem}}
.live-cost-strip{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#102747;color:white;border-radius:10px;padding:14px 20px;margin:0 0 24px;box-shadow:0 5px 18px #1027471a}.live-cost-strip>div{display:block;border-right:1px solid #ffffff30;padding:0 20px;min-width:0;text-align:center}.live-cost-strip>div:first-child{padding-left:0}.live-cost-strip>div:last-child{border:0;padding-right:0}.live-cost-strip dt{color:#b7cdec;font-size:.75rem;line-height:1.5}.live-cost-strip dd{font-size:1.5rem;font-weight:750;line-height:1.5;margin-top:4px;white-space:nowrap}.demo-page [id]{scroll-margin-top:110px}
@media(max-width:480px){.live-cost-strip{padding:12px 8px;gap:0;border-radius:8px}.live-cost-strip>div{padding:0 6px}.live-cost-strip dt{font-size:.65rem}.live-cost-strip dd{font-size:1.05rem}}
.roadmap-list a,.finding>a,.source-body a,.portfolio a{display:inline-block;max-width:100%;line-height:1.65}
.analysis-views { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.analysis-count { margin-left: 8px; display: inline-grid; place-items: center; min-width: 1.6em; padding: 2px 6px; border-radius: 999px; background: #eaf0ff; font-size: .85em; font-variant-numeric: tabular-nums; }
.scenario-presets .preset-coverage { color: var(--blue); font-weight: 700; font-variant-numeric: tabular-nums; }
.lever-editor input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.lever-editor input[type="number"]::-webkit-inner-spin-button,
.lever-editor input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.timeframe-team { border: 1px solid var(--line); border-radius: 10px; margin: 18px 0; background: #f3f6ff; }
.timeframe-team > summary { padding: 16px; cursor: pointer; font-size: .95rem; font-weight: 700; }
.timeframe-team > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; border-radius: 10px; }
.timeframe-team-body { padding: 0 16px 16px; }
.timeframe-team strong { font-size: .88rem; color: var(--blue); }
.timeframe-team p { font-size: .8rem; }
.timeframe-team button { min-height: 44px; }
.analysis-views a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: white; text-decoration: none; font-weight: 650; font-size: .9rem; }
.analysis-views a[aria-current="page"] { background: #eaf0ff; color: #194dc1; border-color: var(--blue); }
.source-view-title { margin-top: 8px; }
.live-cost-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.live-cost-strip small { display: block; color: #b7cdec; font-size: .65rem; margin-top: 2px; }
@media (max-width: 600px) { .live-cost-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 10px; } .live-cost-strip > div { padding: 0 6px; } .live-cost-strip > div:nth-child(2) { border: 0; } .live-cost-strip > div:first-child { padding-left: 6px; } .live-cost-strip > div:last-child { padding-right: 6px; } .demo-page [id] { scroll-margin-top: 150px; } }
.lever-adjust { margin-top: 1.2rem; }
.lever-adjust summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 44px; list-style: none; cursor: pointer; font-weight: 700; }
.lever-adjust summary::-webkit-details-marker { display: none; }
.lever-adjust summary > span:last-child { color: #245bea; text-align: right; }
.lever-adjust summary:focus-visible { outline: 2px solid #245bea; outline-offset: 3px; border-radius: 4px; }
.lever-editor { display: grid; gap: .7rem; margin: .5rem 0 1rem; padding: 1rem; border: 1px solid #d6e2f6; border-radius: 12px; background: #f4f7fd; }
.lever-stepper { display: flex; align-items: end; gap: .5rem; }
.lever-stepper > button { flex: 0 0 44px; padding: .5rem; min-height: 44px; }
.controls .lever-stepper label { display: grid; flex: 0 1 8rem; min-width: 0; gap: .3rem; margin: 0; font-size: .8rem; justify-content: stretch; align-items: stretch; }
.lever-editor button { margin-top: 0; }
.lever-stepper input[type="number"] { width: 100%; min-width: 0; height: 44px; padding: .5rem; border: 1px solid #b5c7e4; border-radius: 6px; color: #182338; background: white; }
.lever-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.lever-actions button { min-height: 44px; padding: .6rem .75rem; }
.lever-error { margin: 0; color: #9f3329; font-size: .85rem; overflow-wrap: anywhere; }
.lever-error:empty { display: none; }
.lever-range { margin: .25rem 0 0; font-size: .75rem; color: #59708f; }
.lever-editor button:disabled { opacity: .5; cursor: not-allowed; }
.fixed-scope { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; padding: 1rem; margin-top: 1.2rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: .9rem; }
.fixed-scope span { color: var(--muted); }
.source-review-hero { margin-bottom: 24px; border-color: #a8bfe9; background: #edf3ff; }
.source-review-hero .button { margin-top: 8px; }
.review-boundary { margin-bottom: 20px; }
.review-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
.review-stats article { display: grid; gap: 8px; text-align: center; }
.review-stats strong { font-size: 2rem; color: var(--blue); }
.review-stats span { font-size: .8rem; color: var(--muted); }
.architecture-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 0; margin: 20px 0; list-style: none; counter-reset: component; }
.architecture-flow li { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); counter-increment: component; }
.architecture-flow li::before { content: counter(component) " →"; display: block; color: var(--blue); font-weight: 700; margin-bottom: 8px; }
.architecture-flow strong,.architecture-flow span { display: block; }
.architecture-flow span { font-size: .8rem; color: var(--muted); line-height: 1.65; margin-top: 8px; }
.review-context { margin: 24px 0; }
.review-findings,.review-task-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 0; list-style: none; }
.review-findings h3 { margin-top: 14px; }
.review-findings p,.review-task-list p,.ranking-explanation p { font-size: .88rem; }
.ranking-explanation { margin-top: 24px; }
.code-location { overflow-wrap: anywhere; }
.source-body pre { max-width: 100%; overflow: auto; padding: 16px; background: #102747; color: #e6f0ff; border-radius: 8px; font-size: .8rem; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.priority-inputs { margin-top: 14px; }
@media(max-width:1000px) { .architecture-flow { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .review-findings,.review-task-list { grid-template-columns: 1fr; } .review-stats { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:400px) { .architecture-flow { grid-template-columns: 1fr; } }
