:root {
  --ink: #17221d;
  --ink-soft: #34443a;
  --paper: #f4f1e8;
  --paper-deep: #e9e7dc;
  --surface: #fffdf8;
  --line: #d8d8ca;
  --line-dark: #bcc5ba;
  --acid: #b83e2c;
  --acid-deep: #8f2e24;
  --citrus: #e6a047;
  --herb: #4f7759;
  --herb-soft: #dfe9de;
  --muted: #6a756d;
  --warning: #a15c00;
  --risk: #b42318;
  --rail-width: 228px;
  --sans: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  --serif: "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;
}

* { box-sizing: border-box; letter-spacing: 0; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 14px; line-height: 1.5; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.app-shell { min-height: 100vh; }
.side-rail { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; flex-direction: column; width: var(--rail-width); padding: 28px 24px 24px; border-right: 1px solid var(--line); background: #ebe9df; }
.brand-lockup { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; color: #fff; background: var(--acid); font-family: var(--serif); font-size: 21px; line-height: 1; }
.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { font-family: var(--serif); font-size: 17px; line-height: 1.1; }
.brand-copy small { color: var(--muted); font-size: 10px; }
.rail-nav { display: grid; gap: 5px; margin-top: 76px; }
.rail-nav a { display: grid; grid-template-columns: 25px 1fr; align-items: center; min-height: 36px; color: var(--muted); font-size: 12px; text-decoration: none; border-left: 2px solid transparent; transition: color .2s ease, border-color .2s ease, padding .2s ease; }
.rail-nav a span { color: #a1aaa0; font-size: 10px; }
.rail-nav a:hover, .rail-nav a.is-active { padding-left: 8px; color: var(--acid); border-left-color: var(--acid); font-weight: 800; }
.rail-nav a.is-active span { color: var(--acid); }
.rail-foot { display: flex; align-items: center; gap: 8px; margin-top: auto; color: var(--muted); font-size: 10px; }
.status-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--herb); }

.page-wrap { margin-left: var(--rail-width); }
.topbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 0 52px; border-bottom: 1px solid rgba(216,216,202,.88); background: rgba(244,241,232,.94); backdrop-filter: blur(10px); }
.topbar-context { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 10px; }
.topbar-index { font-weight: 800; letter-spacing: .08em; }
.topbar-state { color: var(--acid); font-weight: 800; }
.topbar-actions { display: flex; gap: 8px; }
.icon-text-button { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 10px; color: var(--ink-soft); background: transparent; border: 1px solid transparent; cursor: pointer; font-size: 11px; }
.icon-text-button:hover { border-color: var(--line-dark); background: var(--surface); }
.icon-text-button:focus-visible, .primary-action:focus-visible, .text-action:focus-visible, .outline-action:focus-visible, .broth-tab:focus-visible, .phase-tab:focus-visible { outline: 3px solid rgba(230,160,71,.58); outline-offset: 3px; }
.icon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }

main { max-width: 1220px; margin: 0 auto; padding: 0 58px 82px; }
.section-anchor { scroll-margin-top: 90px; }
.hero-section { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr); gap: 42px; align-items: end; min-height: 610px; padding: 70px 0 62px; }
.hero-copy { align-self: center; max-width: 620px; }
.meta-line { display: flex; align-items: center; gap: 9px; margin: 0 0 24px; color: var(--muted); font-size: 11px; font-weight: 700; }
.meta-rule { display: inline-block; width: 26px; height: 2px; background: var(--acid); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; font-family: var(--serif); font-size: 64px; font-weight: 700; line-height: 1.08; }
h1 em { color: var(--acid); font-style: normal; }
.hero-lede { max-width: 570px; margin-bottom: 30px; color: var(--ink-soft); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 22px; }
.primary-action { display: inline-flex; align-items: center; gap: 10px; min-height: 45px; padding: 0 17px; color: #fff; background: var(--acid); text-decoration: none; font-size: 13px; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.primary-action:hover { background: var(--acid-deep); transform: translateY(-1px); }
.primary-action span { font-size: 19px; line-height: 1; }
.text-action { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--ink-soft); font-size: 12px; }
.text-action:hover { color: var(--acid); border-color: var(--acid); }
.hero-disclaimer { display: flex; align-items: flex-start; gap: 8px; max-width: 480px; margin-top: 32px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.disclaimer-mark { display: grid; place-items: center; width: 15px; height: 15px; flex: 0 0 auto; color: var(--paper); background: var(--herb); border-radius: 50%; font-family: Georgia, serif; font-size: 10px; }
.hero-visual { position: relative; min-height: 385px; margin: 0; overflow: hidden; background: var(--ink); }
.hero-visual img { display: block; width: 100%; height: 100%; min-height: 385px; object-fit: cover; object-position: center; filter: saturate(.92) contrast(1.04); }
.hero-visual::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(23,34,29,.22), transparent 62%); }
.hero-visual-caption { position: absolute; z-index: 1; right: 22px; bottom: 20px; left: 22px; display: flex; flex-direction: column; color: #fff; }
.hero-visual-caption strong { font-family: var(--serif); font-size: 25px; line-height: 1.15; }
.hero-visual-caption span { margin-top: 3px; color: rgba(255,255,255,.8); font-size: 11px; }
.visual-index { position: absolute; z-index: 1; top: 17px; right: 18px; color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .1em; }

.decision-band { display: grid; grid-template-columns: 130px minmax(0, 1fr) 150px; gap: 28px; align-items: center; padding: 30px 32px; color: #fff; background: var(--ink); }
.decision-band-label { color: var(--citrus); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.decision-band-main h2 { margin-bottom: 10px; font-family: var(--serif); font-size: 29px; line-height: 1.25; }
.decision-band-main p { max-width: 660px; margin-bottom: 0; color: #c9d2ca; font-size: 13px; line-height: 1.7; }
.decision-band-status { display: flex; align-items: flex-start; gap: 9px; color: #ced8cf; font-size: 11px; line-height: 1.6; }
.decision-band-status b { color: var(--citrus); font-weight: 800; }
.signal-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.signal-item { min-height: 98px; padding: 20px 22px; background: var(--surface); border-right: 1px solid var(--line); }
.signal-item:last-child { border-right: 0; }
.signal-item strong { display: block; color: var(--acid); font-family: var(--serif); font-size: 25px; line-height: 1; }
.signal-item span { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; }

.content-section { padding: 86px 0 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 34px; }
.section-heading > div { display: flex; align-items: baseline; gap: 14px; }
.section-number { color: var(--acid); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.section-heading h2 { margin-bottom: 0; font-family: var(--serif); font-size: 34px; line-height: 1.15; }
.section-heading > p { max-width: 420px; margin-bottom: 2px; color: var(--muted); font-size: 13px; line-height: 1.65; text-align: right; }

.thesis-layout { display: grid; grid-template-columns: minmax(270px, .86fr) minmax(0, 1.14fr); gap: 34px; align-items: stretch; }
.thesis-statement { display: flex; flex-direction: column; justify-content: center; min-height: 238px; padding: 28px 34px; color: #fff; background: var(--acid); }
.quote-mark { color: rgba(255,255,255,.65); font-family: Georgia, serif; font-size: 58px; line-height: .5; }
.quote-end { align-self: flex-end; margin-top: 12px; }
.thesis-statement p { margin: 13px 0 0; font-family: var(--serif); font-size: 28px; line-height: 1.35; }
.thesis-statement p b { color: #fff2d8; font-weight: 700; }
.evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-item { position: relative; padding: 24px 20px 21px; border-right: 1px solid var(--line); }
.evidence-item:last-child { border-right: 0; }
.evidence-index { display: grid; place-items: center; width: 24px; height: 24px; margin-bottom: 28px; color: var(--acid); border: 1px solid var(--acid); border-radius: 50%; font-family: Georgia, serif; font-size: 12px; }
.evidence-item h3 { margin-bottom: 9px; font-family: var(--serif); font-size: 21px; }
.evidence-item p { min-height: 78px; margin-bottom: 18px; color: var(--ink-soft); font-size: 12px; line-height: 1.7; }
.evidence-tag { color: var(--herb); font-size: 10px; font-weight: 800; }

.positioning-board { margin-top: 52px; padding: 22px 24px 28px; background: var(--surface); border-top: 3px solid var(--ink); }
.board-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.board-header h3 { margin-bottom: 5px; font-family: var(--serif); font-size: 21px; }
.board-header p, .board-note { margin-bottom: 0; color: var(--muted); font-size: 11px; }
.board-note { color: var(--acid); }
.map-wrap { position: relative; height: 320px; margin: 18px 34px 0 42px; }
.map-grid { position: absolute; inset: 14px 0 14px 0; background-image: linear-gradient(to right, rgba(216,216,202,.78) 1px, transparent 1px), linear-gradient(to bottom, rgba(216,216,202,.78) 1px, transparent 1px); background-size: 50% 50%; border-bottom: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.map-line { position: absolute; background: var(--line-dark); }
.map-line-x { right: 0; bottom: 50%; left: 0; height: 1px; }
.map-line-y { top: 0; bottom: 0; left: 50%; width: 1px; }
.axis { position: absolute; display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.axis-x { right: 0; bottom: -4px; left: 0; transform: translateY(100%); }
.axis-y { top: 0; bottom: 0; left: -31px; flex-direction: column; transform: translateX(-100%); }
.map-dot { position: absolute; display: grid; gap: 1px; transform: translate(-50%, -50%); color: var(--ink-soft); font-size: 11px; white-space: nowrap; }
.map-dot::before { display: block; width: 10px; height: 10px; margin: 0 auto 5px; content: ""; background: var(--line-dark); border: 2px solid var(--surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--line-dark); }
.map-dot b { font-weight: 700; }
.map-dot small { color: var(--acid); font-size: 9px; text-align: center; }
.dot-sour-fish::before { background: var(--citrus); box-shadow: 0 0 0 1px var(--citrus); }
.dot-tomato::before { background: #ce8d5a; box-shadow: 0 0 0 1px #ce8d5a; }
.dot-self { color: var(--acid); font-weight: 800; }
.dot-self::before { width: 16px; height: 16px; margin-bottom: 4px; background: var(--acid); box-shadow: 0 0 0 2px rgba(184,62,44,.22); }
.audience-row { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); margin-top: 52px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audience-lead, .audience-cell { min-height: 142px; padding: 21px 20px; border-right: 1px solid var(--line); }
.audience-lead { background: var(--paper-deep); }
.audience-lead h3 { margin: 8px 0 5px; font-family: var(--serif); font-size: 22px; }
.audience-lead p { margin-bottom: 0; color: var(--muted); font-size: 11px; }
.audience-cell:last-child { border-right: 0; }
.audience-cell strong { display: block; margin-bottom: 12px; color: var(--acid); font-size: 11px; }
.audience-cell span { display: block; color: var(--ink-soft); font-size: 13px; font-weight: 700; line-height: 1.45; }
.audience-cell small { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; }
.audience-muted strong { color: var(--muted); }

.product-section { padding-top: 90px; }
.product-layout { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); gap: 38px; align-items: stretch; }
.broth-showcase { padding: 22px 24px 24px; color: #fff; background: var(--ink); }
.broth-tabs { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.broth-tab { min-height: 36px; padding: 0 14px; color: rgba(255,255,255,.65); background: transparent; border: 0; border-bottom: 2px solid transparent; cursor: pointer; font-size: 11px; }
.broth-tab:hover, .broth-tab.is-active { color: #fff; border-bottom-color: var(--citrus); }
.broth-stage { display: grid; grid-template-columns: 190px 1fr; gap: 24px; align-items: center; min-height: 230px; }
.broth-bowl { position: relative; display: grid; place-items: center; width: 174px; height: 174px; margin: 0 auto; border: 7px solid #a66b39; border-radius: 50%; background: #2b211b; box-shadow: inset 0 0 0 5px #d2a16d, 0 10px 0 rgba(0,0,0,.25); }
.broth-liquid { display: block; width: 145px; height: 145px; border-radius: 50%; background: radial-gradient(circle at 38% 34%, #efaa5b 0 6%, transparent 7%), radial-gradient(circle at 63% 68%, #d65735 0 5%, transparent 6%), radial-gradient(circle at 47% 55%, #bd3929 0 52%, #8e281f 53% 100%); }
.broth-stage[data-broth-stage="white"] .broth-liquid { background: radial-gradient(circle at 36% 33%, #f1cf9b 0 7%, transparent 8%), radial-gradient(circle at 64% 68%, #e4ab62 0 5%, transparent 6%), radial-gradient(circle at 47% 55%, #e8c586 0 52%, #a76d3d 53% 100%); }
.broth-stage[data-broth-stage="double"] .broth-liquid { background: conic-gradient(from 30deg, #bb3e2b 0 48%, #e4bf80 49% 100%); }
.broth-steam { position: absolute; top: 2px; width: 28px; height: 70px; border-left: 2px solid rgba(255,255,255,.45); border-radius: 50%; transform: rotate(12deg); opacity: .45; }
.steam-a { left: 58px; }.steam-b { right: 54px; height: 54px; transform: rotate(-13deg); }
.broth-copy { align-self: center; }
.broth-code { color: var(--citrus); font-size: 9px; letter-spacing: .1em; }
.broth-copy h3 { margin: 9px 0 8px; font-family: var(--serif); font-size: 27px; }
.broth-copy p { margin-bottom: 0; color: #c9d2ca; font-size: 12px; line-height: 1.7; }
.broth-scale { display: flex; align-items: center; gap: 8px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); color: #c9d2ca; font-size: 10px; }
.scale-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.24); }
.scale-dot.is-on { background: var(--citrus); }.scale-end { margin-left: 5px; color: var(--citrus); }
.menu-principles { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principle-row { display: grid; grid-template-columns: 45px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.principle-row:last-child { border-bottom: 0; }
.principle-index { color: var(--acid); font-family: Georgia, serif; font-size: 16px; }
.principle-row strong { display: block; margin-bottom: 5px; font-family: var(--serif); font-size: 19px; }
.principle-row p { margin-bottom: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }
.menu-table-wrap { margin-top: 48px; }
.table-caption { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 11px; color: var(--muted); font-size: 10px; }
.table-caption span:first-child { color: var(--ink); font-size: 12px; font-weight: 800; }
.menu-table, .risk-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.menu-table th, .menu-table td, .risk-table th, .risk-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.menu-table th, .risk-table th { color: var(--muted); font-size: 10px; font-weight: 700; }
.menu-table td { color: var(--ink-soft); }
.table-marker { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--acid); }
.marker-support { background: var(--herb); }.marker-signature { background: var(--citrus); }.marker-test { background: var(--muted); }

.menu-lab-section { padding-top: 92px; }
.menu-brief { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 1px; background: var(--line); }
.menu-brief-main { padding: 28px 30px 26px; color: #fff; background: var(--acid); }
.menu-code { color: var(--acid); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.menu-brief-main .menu-code { color: #ffd79f; }
.menu-brief-main h3 { margin: 12px 0 10px; font-family: var(--serif); font-size: 28px; line-height: 1.25; }
.menu-brief-main p { max-width: 670px; margin: 0; color: #f8ded5; font-size: 12px; line-height: 1.7; }
.menu-brief-stats { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--surface); }
.menu-brief-stats > div { padding: 23px 16px; border-right: 1px solid var(--line); }
.menu-brief-stats > div:last-child { border-right: 0; }
.menu-brief-stats span { display: block; color: var(--muted); font-size: 10px; }
.menu-brief-stats strong { display: block; margin-top: 12px; color: var(--acid); font-family: var(--serif); font-size: 19px; line-height: 1.2; }
.menu-brief-stats small { display: block; margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.menu-lab { margin-top: 22px; border-top: 3px solid var(--ink); background: var(--surface); }
.menu-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 15px 16px 13px; border-bottom: 1px solid var(--line); }
.menu-filter-wrap, .menu-mode-wrap { display: flex; align-items: center; gap: 12px; min-width: 0; }
.menu-mode-wrap { flex: 0 0 auto; }
.menu-toolbar-label { color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.menu-filter-buttons, .menu-mode-buttons { display: flex; flex-wrap: wrap; gap: 4px; }
.menu-filter-buttons button, .menu-mode-buttons button { min-height: 27px; padding: 0 9px; color: var(--muted); background: transparent; border: 1px solid transparent; cursor: pointer; font-size: 10px; white-space: nowrap; }
.menu-filter-buttons button:hover, .menu-filter-buttons button.is-active, .menu-mode-buttons button:hover, .menu-mode-buttons button.is-active { color: var(--acid); background: var(--paper); border-color: var(--line-dark); font-weight: 800; }
.menu-filter-buttons button span { margin-left: 2px; color: var(--line-dark); font-family: Georgia, serif; font-size: 11px; }
.menu-filter-buttons button.is-active span { color: var(--acid); }
.menu-filter-buttons button:focus-visible, .menu-mode-buttons button:focus-visible, .plan-tabs button:focus-visible, .menu-add-button:focus-visible, .addon-row button:focus-visible { outline: 3px solid rgba(230,160,71,.58); outline-offset: 2px; }
.menu-view-note { margin: 0; padding: 10px 16px; color: var(--muted); background: var(--paper-deep); font-size: 10px; line-height: 1.55; }
.menu-detail-wrap { overflow-x: auto; }
.menu-detail-table { width: 100%; min-width: 1100px; border-collapse: collapse; font-size: 11px; }
.menu-detail-table th, .menu-detail-table td { padding: 12px 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.menu-detail-table th { color: var(--muted); font-size: 10px; font-weight: 700; white-space: nowrap; }
.menu-detail-table td { color: var(--ink-soft); line-height: 1.55; }
.menu-detail-table tbody tr:hover { background: #fbf8ef; }
.menu-item-name { width: 190px; }
.menu-category-label { display: block; margin-bottom: 4px; color: var(--acid); font-size: 9px; font-weight: 800; }
.menu-item-name strong { display: block; color: var(--ink); font-family: var(--serif); font-size: 16px; line-height: 1.25; }
.menu-status { display: inline-block; margin-top: 7px; padding: 2px 5px; color: #fff; font-size: 9px; line-height: 1.35; }
.menu-status.launch { background: var(--herb); }.menu-status.test { background: var(--warning); }.menu-status.hold { background: var(--muted); }
.menu-item-spec { min-width: 260px; color: var(--muted) !important; }
.menu-price, .menu-cost, .menu-margin { color: var(--acid) !important; font-family: Georgia, serif; font-size: 13px; white-space: nowrap; }
.menu-margin { color: var(--herb) !important; }
.menu-role { min-width: 125px; }.menu-role strong { display: block; color: var(--ink-soft); font-size: 11px; }.menu-role small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.menu-metric { min-width: 230px; color: var(--muted) !important; font-size: 10px; }
.menu-action-cell { width: 48px; text-align: center !important; }
.menu-add-button { display: inline-grid; place-items: center; width: 25px; height: 25px; padding: 0; color: var(--acid); background: var(--paper); border: 1px solid var(--line-dark); cursor: pointer; font-family: Georgia, serif; font-size: 19px; line-height: 1; }
.menu-add-button:hover { color: #fff; background: var(--acid); border-color: var(--acid); }
.menu-lab[data-menu-mode="customer"] .menu-econ-col { display: none; }

.menu-planning-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr); gap: 1px; margin-top: 22px; background: var(--line); }
.menu-planner, .menu-path-panel { background: var(--surface); }
.planner-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 16px; border-bottom: 1px solid var(--line); }
.planner-head h3 { margin: 8px 0 0; color: var(--ink); font-family: var(--serif); font-size: 23px; line-height: 1.25; }
.planner-tag { margin-top: 2px; padding: 3px 6px; color: var(--acid); background: var(--herb-soft); font-size: 9px; font-weight: 800; white-space: nowrap; }
.plan-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.plan-tabs button { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 54px; padding: 0 15px; color: var(--muted); background: transparent; border: 0; border-right: 1px solid var(--line); cursor: pointer; text-align: left; }
.plan-tabs button:last-child { border-right: 0; }
.plan-tabs button span { font-family: var(--serif); font-size: 15px; }.plan-tabs button small { color: var(--muted); font-family: Georgia, serif; font-size: 12px; }
.plan-tabs button:hover, .plan-tabs button.is-active { color: var(--acid); background: var(--paper); }.plan-tabs button.is-active::before { position: absolute; top: -1px; right: 0; left: 0; height: 3px; content: ""; background: var(--acid); }.plan-tabs button.is-active small { color: var(--acid); }
.plan-summary { padding: 20px 24px 17px; }
.plan-summary-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }.plan-summary-head > div span { display: block; color: var(--muted); font-size: 10px; }.plan-summary-head > div strong { display: block; margin-top: 5px; color: var(--ink); font-family: var(--serif); font-size: 21px; }.plan-status { color: var(--herb); font-size: 10px; font-weight: 800; }
.plan-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.plan-metrics > div { min-height: 82px; padding: 14px 11px 12px 0; border-right: 1px solid var(--line); }.plan-metrics > div + div { padding-left: 11px; }.plan-metrics > div:last-child { padding-right: 0; border-right: 0; }.plan-metrics span { display: block; color: var(--muted); font-size: 9px; }.plan-metrics strong { display: block; margin-top: 8px; color: var(--acid); font-family: Georgia, serif; font-size: 17px; white-space: nowrap; }.plan-metrics small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.menu-subhead { display: block; margin-bottom: 9px; color: var(--muted); font-size: 10px; font-weight: 800; }
.plan-included { padding: 16px 0 13px; border-bottom: 1px solid var(--line); }.plan-included > div { display: flex; flex-wrap: wrap; gap: 5px; }.plan-included > div span { padding: 4px 7px; color: var(--ink-soft); background: var(--paper-deep); font-size: 10px; }
.plan-addons { padding: 15px 0 4px; }.addon-head { display: flex; align-items: baseline; justify-content: space-between; }.addon-head strong { color: var(--acid); font-family: Georgia, serif; font-size: 13px; }.addon-row { display: grid; grid-template-columns: 1fr auto 23px; gap: 8px; align-items: center; min-height: 28px; color: var(--ink-soft); font-size: 10px; }.addon-row strong { color: var(--acid); font-family: Georgia, serif; font-size: 11px; }.addon-row button { display: grid; place-items: center; width: 21px; height: 21px; padding: 0; color: var(--muted); background: transparent; border: 1px solid var(--line-dark); cursor: pointer; font-size: 15px; line-height: 1; }.addon-row button:hover { color: var(--acid); border-color: var(--acid); }.addon-empty { margin: 0; color: var(--muted); font-size: 10px; }
.plan-note { margin: 10px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }.plan-check { margin-top: 12px; padding: 9px 10px; color: var(--herb); background: var(--herb-soft); font-size: 10px; line-height: 1.5; }
.menu-data-note { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 14px 24px 18px; color: var(--muted); font-size: 10px; line-height: 1.6; border-top: 1px solid var(--line); }.menu-data-note .disclaimer-mark { margin-top: 1px; }
.menu-path-panel .planner-head { padding-bottom: 17px; }.menu-path-list { display: grid; gap: 0; margin: 0; padding: 0 24px; list-style: none; }.menu-path-list li { display: grid; grid-template-columns: 31px 1fr; gap: 10px; padding: 16px 0; border-bottom: 1px solid var(--line); }.menu-path-list li > span { color: var(--acid); font-family: Georgia, serif; font-size: 14px; }.menu-path-list strong { display: block; color: var(--ink-soft); font-family: var(--serif); font-size: 16px; }.menu-path-list p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }.menu-test-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 1px; background: var(--line); }.menu-test-grid > div { min-height: 82px; padding: 15px 16px; background: var(--paper-deep); }.menu-test-grid span { display: block; color: var(--muted); font-size: 9px; }.menu-test-grid strong { display: block; margin-top: 7px; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }

.roadmap-section { padding-top: 92px; }
.roadmap-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.phase-tab { position: relative; display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto auto; column-gap: 8px; min-height: 82px; padding: 16px 17px; color: var(--muted); text-align: left; background: transparent; border: 0; border-right: 1px solid var(--line); cursor: pointer; }
.phase-tab:last-child { border-right: 0; }
.phase-tab > span { grid-row: 1 / 3; color: var(--line-dark); font-family: Georgia, serif; font-size: 17px; }
.phase-tab strong { align-self: end; color: var(--ink-soft); font-family: var(--serif); font-size: 18px; }
.phase-tab small { margin-top: 4px; font-size: 10px; }
.phase-tab:hover, .phase-tab.is-active { background: var(--surface); }
.phase-tab.is-active::before { position: absolute; top: -1px; right: 0; left: 0; height: 3px; content: ""; background: var(--acid); }
.phase-tab.is-active > span, .phase-tab.is-active strong { color: var(--acid); }
.phase-detail { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr); gap: 42px; min-height: 245px; padding: 29px 30px; background: var(--surface); }
.phase-kicker { color: var(--acid); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.phase-detail h3 { margin: 10px 0 10px; font-family: var(--serif); font-size: 26px; }
.phase-detail-main > p { max-width: 630px; margin-bottom: 17px; color: var(--ink-soft); font-size: 13px; line-height: 1.7; }
.phase-list { display: grid; gap: 7px; }
.phase-list p { display: flex; gap: 8px; margin: 0; color: var(--muted); font-size: 11px; }
.phase-list p::before { width: 5px; height: 5px; flex: 0 0 auto; margin-top: 6px; content: ""; background: var(--citrus); border-radius: 50%; }
.phase-detail-side { display: grid; align-content: start; gap: 16px; }
.phase-output, .phase-gate { padding: 16px 17px; border-left: 3px solid var(--herb); background: var(--herb-soft); }
.phase-gate { border-left-color: var(--citrus); background: #f8ecd8; }
.phase-output span, .phase-gate span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; }
.phase-output strong, .phase-gate strong { display: block; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.measurement-band { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 1px; background: var(--line); }
.measurement-band > div { padding: 17px 20px; background: var(--paper-deep); }
.measurement-label { display: block; margin-bottom: 7px; color: var(--acid); font-size: 10px; font-weight: 800; }
.measurement-band strong { color: var(--ink-soft); font-size: 12px; font-weight: 700; }

.economics-section { padding-top: 92px; }
.economics-layout { display: grid; grid-template-columns: minmax(290px, .73fr) minmax(0, 1.27fr); gap: 1px; background: var(--line); }
.economics-controls { padding: 25px 25px 22px; background: var(--ink); color: #fff; }
.control-title { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 24px; }
.control-title > span:first-child { font-family: var(--serif); font-size: 21px; }.control-caption { color: var(--citrus); font-size: 9px; letter-spacing: .1em; }
.range-control { display: block; margin-bottom: 18px; }
.range-control > span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; color: #d6ddd5; font-size: 11px; }
.range-control b { font-weight: 700; }.range-control output { margin-left: auto; color: var(--citrus); font-family: Georgia, serif; font-size: 19px; }.range-control em { color: #c9d2ca; font-size: 10px; font-style: normal; }
input[type="range"] { display: block; width: 100%; height: 20px; margin: 7px 0 0; accent-color: var(--citrus); cursor: pointer; }
.control-note { margin: 24px 0 0; padding-top: 15px; color: #9eaca0; border-top: 1px solid rgba(255,255,255,.16); font-size: 10px; line-height: 1.65; }
.economics-output { padding: 25px 28px; background: var(--surface); }
.output-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.output-cell { min-height: 110px; padding: 0 17px 20px 0; border-right: 1px solid var(--line); }.output-cell + .output-cell { padding-left: 17px; }.output-cell:last-child { padding-right: 0; border-right: 0; }
.output-cell span { display: block; color: var(--muted); font-size: 10px; }.output-cell strong { display: block; margin-top: 10px; color: var(--acid); font-family: var(--serif); font-size: 27px; line-height: 1; }.output-cell small { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; }
.meter-block { padding: 24px 0 22px; border-bottom: 1px solid var(--line); }.meter-head { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: 11px; }.meter-head strong { color: var(--herb); font-family: Georgia, serif; font-size: 18px; }.meter-track { height: 8px; margin-top: 11px; overflow: hidden; background: #e6e3d7; }.meter-track span { display: block; height: 100%; background: var(--herb); transition: width .2s ease, background .2s ease; }.meter-block p { margin: 11px 0 0; color: var(--muted); font-size: 11px; }
.formula-block { display: grid; gap: 6px; padding-top: 19px; color: var(--muted); font-size: 10px; }.formula-block code { color: var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; line-height: 1.6; }
.cost-ledger { display: grid; grid-template-columns: 160px 1fr; gap: 24px; align-items: center; margin-top: 22px; padding: 18px 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.ledger-title span { display: block; color: var(--ink); font-size: 12px; font-weight: 800; }.ledger-title small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }.ledger-items { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--ink-soft); font-size: 11px; }.ledger-items i { color: var(--acid); font-family: Georgia, serif; font-style: normal; }.ledger-items strong { color: var(--acid); }

.gates-section { padding-top: 92px; }
.gate-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr); gap: 1px; background: var(--line); }
.gate-list { background: var(--surface); }
.gate-row { position: relative; display: grid; grid-template-columns: 18px 1fr auto; gap: 12px; align-items: center; min-height: 73px; padding: 13px 19px; border-bottom: 1px solid var(--line); cursor: pointer; }.gate-row:last-child { border-bottom: 0; }.gate-row input { position: absolute; opacity: 0; pointer-events: none; }.checkmark { display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid var(--line-dark); background: var(--paper); }.gate-row input:checked + .checkmark { color: #fff; background: var(--herb); border-color: var(--herb); }.gate-row input:checked + .checkmark::after { width: 8px; height: 4px; content: ""; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; transform: rotate(-45deg) translate(1px,-1px); }.gate-copy strong { display: block; color: var(--ink-soft); font-family: var(--serif); font-size: 18px; }.gate-copy small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }.gate-state { color: var(--muted); font-size: 10px; }.gate-row:has(input:checked) .gate-state { color: var(--herb); font-weight: 800; }
.gate-summary { display: flex; flex-direction: column; justify-content: center; padding: 28px; color: #fff; background: var(--ink); }.summary-label { color: var(--citrus); font-size: 9px; font-weight: 800; letter-spacing: .1em; }.gate-summary > strong { display: block; margin-top: 10px; color: #fff; font-family: var(--serif); font-size: 44px; line-height: 1; }.gate-summary p { max-width: 260px; margin: 14px 0 22px; color: #bec9bf; font-size: 12px; line-height: 1.65; }.progress-dots { display: flex; gap: 7px; }.progress-dots i { display: block; width: 26px; height: 5px; background: rgba(255,255,255,.2); }.progress-dots i.is-on { background: var(--citrus); }

.risks-section { padding-top: 92px; }
.risk-table-wrap { overflow-x: auto; background: var(--surface); border-top: 3px solid var(--ink); }.risk-table { min-width: 760px; }.risk-table th { padding-top: 16px; }.risk-table td { line-height: 1.6; }.risk-table td:first-child { width: 24%; }.risk-table td:nth-child(2) { width: 23%; }.risk-table td:nth-child(3) { width: 28%; }.risk-table td:nth-child(4) { width: 25%; }.risk-table strong { display: block; margin-top: 6px; color: var(--ink-soft); font-size: 12px; }.risk-level { display: inline-block; min-width: 28px; padding: 2px 5px; color: #fff; font-size: 9px; text-align: center; }.risk-level.high { background: var(--risk); }.risk-level.medium { background: var(--warning); }.risk-level.low { background: var(--herb); }

.action-section { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 1px; margin-top: 94px; background: var(--line); }.action-panel { padding: 30px 31px; background: var(--acid); color: #fff; }.action-header { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: baseline; }.action-header .section-number { color: #ffd79f; }.action-header h2 { margin: 0; font-family: var(--serif); font-size: 29px; }.action-header p { grid-column: 2; margin: 1px 0 19px; color: #f9d9cb; font-size: 12px; }.action-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.action-list li { display: grid; grid-template-columns: 37px 1fr auto; gap: 12px; align-items: start; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.24); }.action-number { color: #ffd79f; font-family: Georgia, serif; font-size: 15px; }.action-list strong { display: block; font-family: var(--serif); font-size: 18px; }.action-list p { margin: 5px 0 0; color: #f8ded5; font-size: 11px; line-height: 1.6; }.action-owner { color: #ffd79f; font-size: 10px; white-space: nowrap; }.action-aside { display: flex; flex-direction: column; justify-content: space-between; padding: 30px 28px; background: var(--ink); color: #fff; }.action-aside h3 { margin: 15px 0 28px; font-family: var(--serif); font-size: 25px; line-height: 1.45; }.action-aside h3 em { color: var(--citrus); font-style: normal; }.outline-action { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 11px; color: #fff; border: 1px solid rgba(255,255,255,.42); text-decoration: none; font-size: 11px; }.outline-action:hover { border-color: var(--citrus); color: var(--citrus); }
.page-footer { display: grid; grid-template-columns: .7fr 1.3fr 1fr; gap: 24px; margin-top: 54px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.65; }.page-footer strong { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: 10px; }.page-footer span { display: block; }
.toast { position: fixed; z-index: 30; right: 24px; bottom: 24px; max-width: 300px; padding: 11px 14px; color: #fff; background: var(--ink); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; font-size: 11px; }.toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  :root { --rail-width: 196px; }
  .side-rail { padding-right: 18px; padding-left: 18px; }
  .page-wrap { margin-left: var(--rail-width); }
  .topbar { padding: 0 32px; }
  main { padding-right: 34px; padding-left: 34px; }
  .hero-section { grid-template-columns: 1fr 1fr; gap: 24px; }
  h1 { font-size: 54px; }
  .hero-lede { font-size: 15px; }
  .hero-visual, .hero-visual img { min-height: 340px; }
  .decision-band { grid-template-columns: 100px 1fr 125px; gap: 18px; padding-right: 23px; padding-left: 23px; }
  .decision-band-main h2 { font-size: 25px; }
  .thesis-layout, .product-layout { gap: 24px; }
  .menu-brief, .menu-planning-grid { grid-template-columns: 1fr; }
  .menu-brief-stats { min-height: 112px; }
  .menu-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .menu-mode-wrap { width: 100%; justify-content: space-between; }
  .broth-stage { grid-template-columns: 145px 1fr; gap: 15px; }.broth-bowl { width: 136px; height: 136px; }.broth-liquid { width: 112px; height: 112px; }
  .cost-ledger { grid-template-columns: 135px 1fr; gap: 15px; }
}

@media (max-width: 780px) {
  body { font-size: 13px; }
  .side-rail { position: static; display: block; width: auto; min-height: 0; padding: 18px 20px 0; border-right: 0; background: var(--paper); }
  .rail-nav { display: flex; gap: 0; overflow-x: auto; margin-top: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); scrollbar-width: none; }.rail-nav::-webkit-scrollbar { display: none; }.rail-nav a { grid-template-columns: auto; min-height: 30px; padding: 0 15px 0 0; margin-right: 15px; border: 0; white-space: nowrap; }.rail-nav a span { display: none; }.rail-nav a:hover, .rail-nav a.is-active { padding-left: 0; color: var(--acid); border: 0; }
  .rail-foot { display: none; }
  .page-wrap { margin-left: 0; }
  .topbar { position: static; min-height: 48px; padding: 0 20px; border-bottom: 0; background: var(--paper); }.topbar-context { gap: 10px; }.topbar-index { font-size: 9px; }.topbar-state { font-size: 9px; }.topbar-actions { gap: 0; }.icon-text-button { width: 31px; min-height: 31px; padding: 0; justify-content: center; }.icon-text-button span { display: none; }
  main { padding: 0 20px 55px; }
  .hero-section { display: flex; flex-direction: column; gap: 26px; min-height: 0; padding: 42px 0 34px; }.hero-copy { width: 100%; }.meta-line { margin-bottom: 18px; font-size: 10px; }.hero-copy h1 { margin-bottom: 17px; font-size: 45px; }.hero-lede { margin-bottom: 23px; font-size: 14px; line-height: 1.7; }.hero-actions { gap: 17px; }.primary-action { min-height: 42px; font-size: 12px; }.hero-disclaimer { margin-top: 23px; font-size: 10px; }.hero-visual, .hero-visual img { min-height: 265px; }.hero-visual-caption strong { font-size: 23px; }
  .decision-band { display: block; padding: 24px 20px; }.decision-band-label { margin-bottom: 10px; }.decision-band-main h2 { margin-bottom: 10px; font-size: 26px; }.decision-band-main p { font-size: 12px; }.decision-band-status { margin-top: 20px; }
  .signal-strip { grid-template-columns: repeat(2, 1fr); }.signal-item { min-height: 83px; padding: 16px 15px; }.signal-item:nth-child(2) { border-right: 0; }.signal-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.signal-item strong { font-size: 22px; }.signal-item span { margin-top: 5px; font-size: 10px; }
  .content-section, .product-section, .menu-lab-section, .roadmap-section, .economics-section, .gates-section, .risks-section { padding-top: 62px; }.section-heading { display: block; margin-bottom: 23px; }.section-heading > div { gap: 10px; }.section-heading h2 { font-size: 29px; }.section-heading > p { max-width: none; margin: 12px 0 0; font-size: 12px; text-align: left; }
  .thesis-layout, .product-layout, .economics-layout, .gate-layout, .action-section { display: block; }.thesis-statement { min-height: 193px; padding: 24px 25px; }.thesis-statement p { font-size: 25px; }.evidence-grid { margin-top: 18px; }.evidence-item { min-height: 210px; padding: 18px 14px; }.evidence-index { margin-bottom: 19px; }.evidence-item h3 { font-size: 19px; }.evidence-item p { min-height: 0; margin-bottom: 11px; font-size: 11px; }
  .positioning-board { margin-top: 35px; padding: 18px 16px 25px; }.board-header { display: block; }.board-header h3 { font-size: 19px; }.board-note { display: block; margin-top: 8px; }.map-wrap { height: 270px; margin: 15px 27px 0 34px; }.map-dot { font-size: 10px; }.audience-row { grid-template-columns: 1fr 1fr; margin-top: 35px; }.audience-lead { grid-column: 1 / -1; min-height: 104px; border-right: 0; border-bottom: 1px solid var(--line); }.audience-cell { min-height: 126px; padding: 17px 14px; }.audience-cell:nth-child(3) { border-right: 0; }.audience-cell:last-child { grid-column: 1 / -1; min-height: 105px; border-top: 1px solid var(--line); }
  .broth-showcase { padding: 18px 16px; }.broth-tabs { overflow-x: auto; }.broth-tab { padding: 0 11px; white-space: nowrap; }.broth-stage { grid-template-columns: 130px 1fr; gap: 14px; min-height: 205px; }.broth-bowl { width: 123px; height: 123px; }.broth-liquid { width: 101px; height: 101px; }.broth-copy h3 { font-size: 23px; }.broth-copy p { font-size: 11px; }.menu-principles { margin-top: 22px; }.principle-row { grid-template-columns: 38px 1fr; padding: 15px 0; }.principle-row strong { font-size: 18px; }.principle-row p { font-size: 11px; }.menu-table-wrap { margin-top: 35px; overflow-x: auto; }.table-caption { display: block; line-height: 1.7; }.table-caption span { display: block; }.menu-table { min-width: 690px; }
  .menu-brief { display: block; }.menu-brief-main { padding: 23px 20px; }.menu-brief-main h3 { font-size: 24px; }.menu-brief-main p { font-size: 11px; }.menu-brief-stats { grid-template-columns: repeat(3, 1fr); }.menu-brief-stats > div { min-height: 103px; padding: 16px 12px; }.menu-brief-stats strong { margin-top: 9px; font-size: 16px; }.menu-brief-stats small { font-size: 9px; }
  .menu-lab { margin-top: 18px; }.menu-toolbar { display: block; padding: 13px 12px 12px; }.menu-filter-wrap, .menu-mode-wrap { display: block; }.menu-mode-wrap { margin-top: 12px; }.menu-filter-buttons, .menu-mode-buttons { margin-top: 7px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; scrollbar-width: none; }.menu-filter-buttons::-webkit-scrollbar, .menu-mode-buttons::-webkit-scrollbar { display: none; }.menu-filter-buttons button, .menu-mode-buttons button { flex: 0 0 auto; }.menu-view-note { padding: 10px 12px; font-size: 9px; }.menu-detail-wrap { margin-right: 0; margin-left: 0; }.menu-detail-table { min-width: 1100px; }.menu-planning-grid { display: block; }.planner-head { padding: 19px 18px 14px; }.planner-head h3 { font-size: 21px; }.plan-tabs button { min-height: 50px; padding: 0 11px; }.plan-tabs button span { font-size: 13px; }.plan-summary { padding: 18px 18px 15px; }.plan-metrics { grid-template-columns: repeat(2, 1fr); }.plan-metrics > div:nth-child(2) { border-right: 0; }.plan-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.plan-metrics > div:nth-child(3) { padding-top: 14px; }.plan-metrics > div:nth-child(4) { padding-top: 14px; }.menu-data-note { padding: 13px 18px 16px; font-size: 9px; }.menu-path-list { padding: 0 18px; }.menu-test-grid { grid-template-columns: 1fr; }.menu-test-grid > div { min-height: 70px; }
  .roadmap-tabs { grid-template-columns: repeat(2, 1fr); }.phase-tab:nth-child(2) { border-right: 0; }.phase-tab:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.phase-detail { display: block; min-height: 0; padding: 23px 19px; }.phase-detail h3 { font-size: 23px; }.phase-detail-side { margin-top: 22px; }.measurement-band { display: block; }.measurement-band > div + div { border-top: 1px solid var(--line); }
  .economics-controls { padding: 21px 18px; }.economics-output { padding: 22px 18px; }.output-grid { grid-template-columns: 1fr; }.output-cell, .output-cell + .output-cell { min-height: 82px; padding: 0 0 14px; border-right: 0; border-bottom: 1px solid var(--line); }.output-cell:last-child { padding-top: 14px; border-bottom: 0; }.output-cell strong { font-size: 25px; }.cost-ledger { display: block; margin-top: 20px; padding: 16px 15px; }.ledger-items { margin-top: 14px; line-height: 1.9; }
  .gate-row { grid-template-columns: 17px 1fr auto; min-height: 77px; padding: 12px 14px; }.gate-copy strong { font-size: 17px; }.gate-copy small { font-size: 10px; }.gate-summary { min-height: 210px; padding: 23px 20px; }.gate-summary > strong { font-size: 40px; }
  .risk-table-wrap { margin-right: -20px; margin-left: -20px; }.risk-table { min-width: 780px; }
  .action-section { margin-top: 62px; }.action-panel { padding: 24px 20px; }.action-header h2 { font-size: 26px; }.action-list li { grid-template-columns: 31px 1fr; }.action-owner { grid-column: 2; margin-top: 3px; }.action-aside { min-height: 240px; padding: 24px 20px; }.action-aside h3 { font-size: 23px; }.page-footer { display: block; margin-top: 36px; }.page-footer > div + div { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .side-rail, .topbar, .hero-actions, .hero-disclaimer, .toast, .broth-tabs, .economics-controls, .outline-action, .menu-toolbar, .menu-add-button { display: none !important; }
  .page-wrap { margin-left: 0; }.topbar { position: static; }.hero-section { min-height: 0; padding-top: 20px; }.content-section { padding-top: 42px; }.decision-band, .action-panel, .action-aside, .broth-showcase { break-inside: avoid; }.risk-table-wrap { overflow: visible; }.risk-table { min-width: 0; font-size: 10px; }
}
