* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--canvas); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 1.5; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid rgb(80 72 229 / 0.35); outline-offset: 2px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 28px 16px 20px; color: #dfe4f5; background: var(--navy); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 11px; color: white; text-decoration: none; }
.brand strong, .brand small { display: block; line-height: 1; }.brand strong { font-size: 18px; letter-spacing: 0.14em; }.brand small { margin-top: 5px; color: #8f99b8; font-size: 8px; letter-spacing: 0.14em; }
.brand-mark { display: grid; grid-template-columns: repeat(3, 5px); align-items: end; gap: 3px; width: 23px; height: 25px; }.brand-mark i { display: block; border-radius: 4px; background: #a9b3ff; }.brand-mark i:nth-child(1) { height: 11px; }.brand-mark i:nth-child(2) { height: 18px; background: #6e7cff; }.brand-mark i:nth-child(3) { height: 25px; background: #d1d5ff; }
.nav-list { display: grid; gap: 4px; margin-top: 56px; }.nav-link { display: flex; align-items: center; gap: 12px; border-radius: 10px; padding: 12px; color: #aeb8d3; font-size: 14px; font-weight: 600; text-decoration: none; transition: background 160ms ease, color 160ms ease; }.nav-link:hover, .nav-link.is-active { color: #fff; background: #222e50; }.nav-link.is-active { box-shadow: inset 3px 0 0 #8f98ff; }
.nav-icon { position: relative; display: inline-block; width: 18px; height: 18px; opacity: .92; }.icon-grid::before { content: ""; position: absolute; inset: 2px; border: 2px solid currentColor; border-radius: 4px; box-shadow: 6px 0 0 -4px var(--navy), 0 6px 0 -4px var(--navy); }.icon-box::before { content: ""; position: absolute; inset: 2px; border: 2px solid currentColor; border-radius: 3px; }.icon-box::after { content: ""; position: absolute; top: 7px; left: 2px; width: 14px; border-top: 2px solid currentColor; }.icon-spark::before { content: ""; position: absolute; inset: 0; background: currentColor; clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%); }.icon-message::before { content: ""; position: absolute; inset: 2px; border: 2px solid currentColor; border-radius: 5px; }.icon-message::after { content: ""; position: absolute; bottom: 0; left: 4px; border-width: 4px 4px 0 0; border-style: solid; border-color: currentColor transparent transparent transparent; }.icon-file::before { content: ""; position: absolute; inset: 1px 3px; border: 2px solid currentColor; border-radius: 3px; }.icon-file::after { content: ""; position: absolute; left: 6px; right: 6px; top: 7px; border-top: 2px solid currentColor; box-shadow: 0 4px 0 currentColor; }
.sidebar-footer { display: flex; align-items: center; gap: 9px; margin-top: auto; padding: 15px 11px; border-top: 1px solid #293554; }.sidebar-footer small { display: block; color: #8f99b8; font-size: 11px; }.sidebar-footer strong { display: block; color: #eef0fb; font-size: 12px; font-weight: 600; }.status-dot, .pulse-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #48d7a8; box-shadow: 0 0 0 4px rgb(72 215 168 / 0.12); }
.main-content { width: min(1440px, 100%); margin: 0 auto; padding: 44px clamp(20px, 4vw, 64px) 64px; }.topbar, .section-heading, .panel-heading, .report-callout { display: flex; align-items: center; justify-content: space-between; gap: 24px; }.eyebrow, .section-kicker { margin: 0; color: var(--indigo); font-size: 11px; font-weight: 800; letter-spacing: .12em; }.topbar h1 { margin: 4px 0 0; font-size: clamp(27px, 3vw, 38px); line-height: 1.15; letter-spacing: -.04em; }.snapshot-badge { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted-strong); background: var(--surface); box-shadow: var(--shadow-sm); font-size: 12px; font-weight: 700; white-space: nowrap; }
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 30px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }.search-field { position: relative; flex: 1 1 240px; min-width: 180px; }.search-field input { width: 100%; border: 1px solid transparent; border-radius: 9px; padding: 10px 12px 10px 35px; color: var(--ink); background: var(--surface-subtle); }.search-field input:focus { border-color: #bbb8f7; background: #fff; outline: none; }.search-icon { position: absolute; z-index: 1; top: 13px; left: 13px; width: 12px; height: 12px; border: 2px solid var(--muted); border-radius: 50%; pointer-events: none; }.search-icon::after { content: ""; position: absolute; right: -5px; bottom: -4px; width: 6px; border-top: 2px solid var(--muted); transform: rotate(45deg); }.select-field { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }.select-field select { max-width: 150px; border: 1px solid var(--line); border-radius: 8px; padding: 9px 28px 9px 9px; color: var(--ink); background: white; font-size: 13px; }.button { min-height: 40px; border: 1px solid transparent; border-radius: 9px; padding: 9px 14px; font-size: 13px; font-weight: 750; transition: transform 150ms ease, background 150ms ease, border-color 150ms ease; }.button:hover { transform: translateY(-1px); }.button:disabled { cursor: not-allowed; opacity: .5; transform: none; }.button-primary { color: white; background: var(--indigo); box-shadow: 0 8px 18px rgb(80 72 229 / .2); }.button-primary:hover { background: var(--indigo-dark); }.button-ghost { border-color: var(--line-strong); color: var(--muted-strong); background: white; }.button-ghost:hover { border-color: #b8b6ea; color: var(--indigo); }.app-message { min-height: 0; margin-top: 14px; color: var(--rose); font-size: 13px; font-weight: 600; }.app-message:not(:empty) { padding: 10px 12px; border: 1px solid #f0c8d1; border-radius: 9px; background: #fff4f6; }.app-message.is-success { color: #17633f; border-color: #a9dfbf; background: #edfff4; box-shadow: 0 0 0 3px rgb(169 223 191 / .2); }
.section-anchor { scroll-margin-top: 24px; margin-top: 48px; }.section-heading { margin-bottom: 17px; }.section-heading h2 { margin: 3px 0 0; font-size: 23px; line-height: 1.2; letter-spacing: -.025em; }.scope-note { max-width: 475px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.metric-card { min-height: 141px; overflow: hidden; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }.metric-card p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; }.metric-card strong { display: block; margin-top: 10px; font-size: 29px; line-height: 1; letter-spacing: -.05em; }.metric-card small { display: block; margin-top: 11px; color: var(--muted-strong); font-size: 11px; }.metric-accent { width: 36px; height: 4px; margin-top: 14px; border-radius: 4px; background: var(--indigo); }.metric-card:nth-child(2) .metric-accent { background: var(--mint); }.metric-card:nth-child(3) .metric-accent { background: var(--amber); }.metric-card:nth-child(4) .metric-accent { background: #8792b6; }.skeleton { position: relative; border: 0; background: linear-gradient(100deg, #edf0f6 30%, #f8f9fc 45%, #edf0f6 60%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }@keyframes shimmer { to { background-position-x: -200%; } }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .9fr); gap: 16px; margin-top: 16px; }.panel { padding: 21px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }.panel-heading h3, .panel-heading h2 { margin: 3px 0 0; font-size: 18px; letter-spacing: -.02em; }.panel-tag { padding: 5px 8px; border-radius: 6px; color: var(--muted); background: var(--surface-subtle); font-size: 10px; font-weight: 800; white-space: nowrap; }.panel-tag-warm { color: #a65e18; background: var(--amber-soft); }.country-chart { display: grid; gap: 15px; margin-top: 26px; }.chart-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 44px; align-items: center; gap: 11px; }.chart-label { overflow: hidden; color: var(--muted-strong); font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.chart-track { height: 9px; overflow: hidden; border-radius: 99px; background: #edf0f6; }.chart-value { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--indigo), #8a83f4); }.chart-number { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; }.quality-summary { display: grid; gap: 13px; margin-top: 22px; }.quality-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }.quality-line span { color: var(--muted); font-size: 12px; }.quality-line strong { font-size: 14px; font-variant-numeric: tabular-nums; }.quality-progress { height: 7px; overflow: hidden; border-radius: 99px; background: #edf0f6; }.quality-progress > i { display: block; height: 100%; border-radius: inherit; background: var(--mint); }.quality-alert { margin-top: 5px; padding: 11px; border-radius: 10px; color: #985624; background: var(--amber-soft); font-size: 11px; line-height: 1.55; }
.section-heading-inline { align-items: flex-end; }.opportunity-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }.opportunity-card { position: relative; min-height: 224px; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }.opportunity-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #6b62ed, #a099ff); }.opportunity-card h3 { display: -webkit-box; overflow: hidden; margin: 14px 0 9px; font-size: 14px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.opportunity-card p { margin: 0; color: var(--muted); font-size: 11px; }.score-line { display: flex; align-items: center; justify-content: space-between; }.score-label { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }.score { color: var(--indigo); font-size: 24px; font-weight: 850; letter-spacing: -.06em; }.reason-list { display: grid; gap: 5px; margin: 13px 0 0; padding: 0; list-style: none; }.reason-list li { position: relative; padding-left: 12px; color: var(--muted-strong); font-size: 10px; line-height: 1.45; }.reason-list li::before { content: ""; position: absolute; top: 6px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--mint); }.card-link { display: inline-flex; margin-top: 13px; padding: 0; border: 0; color: var(--indigo); background: transparent; font-size: 11px; font-weight: 800; }
.insight-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 16px; }.sentiment-content, .price-context { margin-top: 24px; }.sentiment-summary { display: flex; align-items: flex-end; gap: 16px; }.sentiment-summary strong { font-size: 38px; letter-spacing: -.06em; }.sentiment-summary p { max-width: 265px; margin: 0 0 4px; color: var(--muted); font-size: 12px; }.star-bars { display: grid; gap: 9px; margin-top: 23px; }.star-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 42px; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; }.star-track { height: 7px; overflow: hidden; border-radius: 99px; background: #eef0f5; }.star-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f1b452, #f4cb82); }.empty-insight { padding: 17px; border-radius: 11px; color: var(--muted); background: var(--surface-subtle); font-size: 12px; }.price-list { display: grid; gap: 12px; }.price-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }.price-row:last-child { padding-bottom: 0; border: 0; }.price-row span { color: var(--muted-strong); font-size: 12px; font-weight: 700; }.price-row strong { font-size: 13px; }.price-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; text-align: right; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); transition: transform 160ms ease, box-shadow 160ms ease; }.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }.product-image-wrap { position: relative; display: grid; height: 153px; place-items: center; overflow: hidden; background: linear-gradient(135deg, #e9eaff, #f7f4ef); }.product-image { width: 100%; height: 100%; object-fit: cover; }.product-image.is-missing { display: none; }.image-fallback { position: absolute; color: #7e86b1; font-size: 26px; font-weight: 800; }.product-card-body { padding: 14px; }.product-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; font-weight: 800; }.product-card h3 { display: -webkit-box; overflow: hidden; min-height: 41px; margin: 8px 0 11px; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.product-price-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.product-price-row strong { font-size: 14px; }.product-score { padding: 4px 6px; border-radius: 5px; color: #3a35b7; background: #efefff; font-size: 10px; font-weight: 800; }.product-detail-button { width: 100%; margin-top: 12px; border: 0; border-top: 1px solid var(--line); padding: 10px 0 0; color: var(--indigo); background: transparent; font-size: 11px; font-weight: 800; text-align: left; }.pagination { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 22px; }.pagination span { min-width: 70px; color: var(--muted); font-size: 12px; text-align: center; }
.report-callout { margin-top: 52px; padding: 25px 27px; border: 1px solid #dddafb; border-radius: var(--radius-lg); color: #eef0ff; background: linear-gradient(116deg, #1b2141, #31316d); box-shadow: 0 20px 45px rgb(30 35 76 / .16); }.report-callout .section-kicker { color: #b8bdff; }.report-callout h2 { margin: 4px 0 7px; font-size: 22px; }.report-callout p:not(.section-kicker) { max-width: 660px; margin: 0; color: #c9cdec; font-size: 13px; }.report-callout .button-primary { flex: 0 0 auto; color: #22215b; background: #d7d9ff; box-shadow: none; }.report-result { margin-top: 16px; padding: 24px; border: 1px solid #d9e8e2; border-radius: var(--radius-lg); background: #fbfffd; }.report-result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.report-result h2 { margin: 3px 0; font-size: 19px; }.report-status { padding: 5px 8px; border-radius: 5px; color: #176d56; background: var(--mint-soft); font-size: 11px; font-weight: 800; white-space: nowrap; }.report-section { padding: 16px 0; border-top: 1px solid #e4eee9; }.report-section h3 { margin: 0 0 7px; font-size: 13px; }.report-section p { margin: 0; color: var(--muted-strong); font-size: 12px; line-height: 1.75; white-space: pre-line; }
.product-dialog { width: min(760px, calc(100% - 28px)); max-height: min(800px, calc(100% - 44px)); overflow: auto; border: 0; border-radius: 20px; padding: 0; box-shadow: 0 25px 80px rgb(15 20 42 / .3); }.product-dialog::backdrop { background: rgb(15 19 37 / .52); backdrop-filter: blur(3px); }.dialog-close { position: sticky; z-index: 2; top: 13px; float: right; display: grid; width: 34px; height: 34px; margin: 13px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted-strong); background: white; font-size: 21px; line-height: 1; }.dialog-body { padding: 30px; }.dialog-tag { color: var(--indigo); font-size: 11px; font-weight: 800; }.dialog-body h2 { margin: 6px 0 10px; font-size: 22px; line-height: 1.35; }.dialog-main { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; margin-top: 20px; }.dialog-image { width: 100%; height: 190px; border-radius: 12px; object-fit: cover; background: var(--surface-subtle); }.dialog-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.detail-cell { padding: 10px; border-radius: 9px; background: var(--surface-subtle); }.detail-cell span { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }.detail-cell strong { display: block; margin-top: 4px; font-size: 12px; overflow-wrap: anywhere; }.dialog-url { display: inline-block; margin-top: 18px; color: var(--indigo); font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
@media (max-width: 1100px) { .app-shell { grid-template-columns: 82px minmax(0, 1fr); }.sidebar { padding: 24px 12px; }.brand { justify-content: center; padding: 0; }.brand > span:last-child, .nav-link { font-size: 0; }.nav-list { margin-top: 52px; }.nav-link { justify-content: center; padding: 13px; }.nav-icon { width: 19px; height: 19px; }.sidebar-footer > div { display: none; }.sidebar-footer { justify-content: center; }.metric-grid, .opportunity-list, .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .app-shell { display: block; }.sidebar { position: sticky; z-index: 3; top: 0; height: auto; flex-direction: row; align-items: center; padding: 12px 16px; }.brand { margin-right: auto; }.brand > span:last-child { display: block; }.brand strong { font-size: 14px; }.brand small { display: none; }.nav-list { display: flex; gap: 1px; margin: 0; }.nav-link { width: 37px; overflow: hidden; padding: 9px; white-space: nowrap; }.nav-link:nth-child(n+4) { display: none; }.sidebar-footer { display: none; }.main-content { padding: 29px 16px 42px; }.topbar, .section-heading, .report-callout { align-items: flex-start; flex-direction: column; gap: 12px; }.topbar h1 { font-size: 29px; }.snapshot-badge { white-space: normal; }.filter-bar { align-items: stretch; }.select-field { flex: 1 1 calc(50% - 5px); justify-content: space-between; }.select-field select { width: 100%; }.button-ghost { flex: 1 1 100%; }.scope-note { text-align: left; }.metric-grid, .dashboard-grid, .insight-grid, .opportunity-list, .product-grid { grid-template-columns: 1fr; }.metric-card { min-height: 120px; }.section-anchor { margin-top: 38px; }.report-callout { padding: 23px; }.report-callout .button-primary { width: 100%; }.dialog-body { padding: 23px; }.dialog-main { grid-template-columns: 1fr; }.dialog-image { width: 160px; height: 160px; }.dialog-details { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.icon-tools::before { content: ""; position: absolute; left: 2px; top: 8px; width: 14px; border-top: 2px solid currentColor; transform: rotate(-45deg); }.icon-tools::after { content: ""; position: absolute; left: 0; top: 1px; width: 6px; height: 6px; border: 2px solid currentColor; border-radius: 50%; box-shadow: 10px 10px 0 -1px var(--navy); }
.manufacturing-panel { padding: 20px; border: 1px solid #d9d8f3; border-radius: var(--radius-lg); background: linear-gradient(135deg, #fbfbff, #fff); box-shadow: var(--shadow-sm); }.manufacturing-context { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid #e4e4f6; border-radius: 10px; color: var(--muted-strong); background: #f7f7ff; font-size: 12px; font-weight: 700; }.context-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--indigo); }.context-tag { margin-left: auto; padding: 3px 7px; border-radius: 5px; color: #3e38ae; background: #ededff; font-size: 10px; font-weight: 800; }.manufacturing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 17px; }.constraint-field { display: grid; gap: 7px; color: var(--muted-strong); font-size: 12px; font-weight: 800; }.constraint-field input, .constraint-field textarea, .custom-constraint-row input { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; padding: 10px 11px; color: var(--ink); background: #fff; font: inherit; font-size: 13px; }.constraint-field textarea { min-height: 82px; resize: vertical; }.constraint-field input:focus, .constraint-field textarea:focus, .custom-constraint-row input:focus { border-color: #aaa6f0; outline: none; box-shadow: 0 0 0 3px rgb(80 72 229 / .1); }.constraint-field-wide { grid-column: 1 / -1; }.custom-constraints-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }.custom-constraints-header strong { display: block; font-size: 13px; }.custom-constraints-header span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }.custom-constraints { display: grid; gap: 9px; margin-top: 12px; }.custom-constraint-row { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.5fr) 40px; gap: 9px; align-items: center; }.custom-constraint-row .button { min-width: 40px; padding: 9px; color: var(--rose); }.manufacturing-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; }.manufacturing-actions p { margin: 0; color: var(--muted); font-size: 11px; }.manufacturing-actions p.is-saved { color: #17795e; font-weight: 700; }
@media (max-width: 760px) { .manufacturing-panel { padding: 15px; }.manufacturing-grid { grid-template-columns: 1fr; }.constraint-field-wide { grid-column: auto; }.custom-constraints-header, .manufacturing-actions { align-items: stretch; flex-direction: column; }.custom-constraints-header .button, .manufacturing-actions .button { width: 100%; }.custom-constraint-row { grid-template-columns: 1fr; }.custom-constraint-row .button { width: 100%; }.context-tag { margin-left: 0; } }

.catalog-tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.collection-cart { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 10px; border: 1px solid rgb(255 255 255 / .14); border-radius: 9px; color: #e9edf8; background: #121d30; font-size: 11px; font-weight: 800; transition: border-color 150ms ease, background 150ms ease, transform 150ms ease; }
.collection-return { min-height: 34px; padding: 7px 10px; border: 1px solid #a8bbc0; border-radius: 9px; color: #31545a; background: #f5fbfa; font-size: 11px; font-weight: 800; transition: border-color 150ms ease, background 150ms ease, transform 150ms ease; }
.collection-return:hover, .collection-return:focus-visible { border-color: #3d7276; color: #163d42; background: #e8f4f1; transform: translateY(-1px); outline: none; }
.collection-cart:hover, .collection-cart.is-active { border-color: #d4af37; background: #1b2940; transform: translateY(-1px); }
.collection-cart-screened .collection-cart-icon { color: #050505; text-shadow: 0 0 0 #fff; -webkit-text-stroke: 1px #fff; }
.collection-cart-liked .collection-cart-icon { color: #ef6d78; }
.collection-cart strong { min-width: 18px; color: #fff; font-variant-numeric: tabular-nums; text-align: right; }
.product-card-body { position: relative; }
.product-detail-slot { position: relative; min-height: 35px; padding-bottom: 1px; }
.product-detail-button { position: relative; z-index: 1; }
.product-image-trigger { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.product-image-trigger:focus-visible { outline: 3px solid #345f8b; outline-offset: -4px; }
.product-card-actions { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; justify-content: flex-end; pointer-events: none; }
.collection-heart { width: 28px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 50%; color: #697386; background: #eef1f6; font-size: 17px; line-height: 1; pointer-events: auto; transition: transform 150ms ease, color 150ms ease, background 150ms ease; }
.collection-heart:hover { transform: scale(1.08); }
.collection-heart-liked { color: #dc4d5c; }
.collection-heart-liked.is-selected { color: #fff; background: #dc4d5c; }
.evidence-product-link { display: inline-flex; margin-top: 8px; color: #e8c95c; font-size: 11px; font-weight: 800; text-decoration: none; }
.evidence-product-link:hover { color: #fff1a9; text-decoration: underline; }
.evidence-product-link.is-disabled { color: #8d95a5; font-weight: 600; }
.original-evidence a { color: #f0d978; text-decoration: none; }
.original-evidence a:hover { text-decoration: underline; }
.scope-note, .method-note, .catalog-meta, .product-meta, .page-jump, .original-evidence { color: #bfc8d8; }
.product-meta { color: #b9c3d4; }
.page-jump input { color: #f1f5ff; background: #121d30; }
.page-jump .button { color: #eef3ff; background: #18253b; }
.select-field { color: #aeb8cc; }
.select-field select { color: #182236; }
@media (max-width: 760px) { .catalog-tools { width: 100%; margin-left: 0; flex-wrap: wrap; }.collection-cart { flex: 1; justify-content: center; }.section-heading-inline { align-items: stretch; } }

.workflow-console { margin-top: 28px; padding: 20px; border: 1px solid #dfe2f1; border-radius: var(--radius-lg); background: linear-gradient(135deg, #f8f8ff, #fff); box-shadow: var(--shadow-sm); }.workflow-console .section-heading { margin-bottom: 13px; }.workflow-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.workflow-card { min-height: 112px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: rgb(255 255 255 / .82); }.workflow-card p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; }.workflow-card strong { display: block; margin-top: 10px; color: var(--ink); font-size: 17px; line-height: 1.2; }.workflow-card small { display: block; margin-top: 8px; color: var(--muted-strong); font-size: 11px; line-height: 1.45; }.workflow-card-indigo { border-color: #cbc9f4; background: #f7f7ff; }.workflow-card-indigo strong { color: var(--indigo-dark); }.workflow-card-warm { border-color: #f0d5ae; background: #fffaf2; }.workflow-card-warm strong { color: #a85b12; }.workflow-card-mint { border-color: #bce7d8; background: #f3fcf8; }.workflow-card-mint strong { color: #17795e; }
@media (max-width: 1100px) { .workflow-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nav-list { max-width: 64vw; overflow-x: auto; scrollbar-width: thin; }.nav-link { flex: 0 0 auto; width: auto; max-width: 37px; }.nav-link:nth-child(n+4) { display: flex; }.workflow-console { padding: 15px; }.workflow-status-grid { grid-template-columns: 1fr; } }
.design-gates { margin-top: 28px; }
.design-gates-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 14px; }
.gate-panel { padding: 20px; border: 1px solid #dddff0; border-radius: var(--radius-lg); background: linear-gradient(135deg, #fff, #fafaff); box-shadow: var(--shadow-sm); }
.gate-panel .panel-heading { margin-bottom: 16px; }
.gate-track-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gate-card { min-height: 178px; padding: 13px; border: 1px solid #e4e4f4; border-radius: 11px; background: #fbfbff; }
.gate-card-head { display: flex; align-items: start; gap: 8px; }
.gate-card-head strong { font-size: 13px; line-height: 1.35; }
.gate-step { padding: 3px 5px; border-radius: 4px; color: #4338a7; background: #ecebff; font-size: 9px; font-weight: 900; white-space: nowrap; }
.gate-card p { margin: 12px 0 7px; color: var(--indigo); font-size: 11px; font-weight: 800; }
.gate-card ul { display: grid; gap: 5px; margin: 0; padding-left: 16px; color: var(--muted-strong); font-size: 11px; line-height: 1.35; }
.gate-card small { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.priority-list { display: grid; gap: 10px; }
.priority-card { padding: 13px; border: 1px solid #e6e6ef; border-radius: 10px; background: #fff; }
.priority-card > div { display: flex; align-items: center; gap: 8px; }
.priority-card strong { font-size: 13px; }
.priority-label { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; color: #fff; background: #d07a19; font-size: 11px; font-weight: 900; }
.priority-p0 { border-color: #f0d4ad; background: #fffaf2; }.priority-p1 { border-color: #d7d5f8; background: #fafaff; }.priority-p2 { border-color: #d6eae4; background: #f7fcfa; }
.priority-p1 .priority-label { background: var(--indigo); }.priority-p2 .priority-label { background: #26846d; }
.priority-state { float: right; margin-top: -24px; color: #a85b12; font-size: 10px; font-weight: 900; }.priority-card p { margin: 10px 0 0; color: var(--muted-strong); font-size: 11px; }
.gate-footnote { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.55; }
@media (max-width: 1100px) { .design-gates-grid { grid-template-columns: 1fr; }.gate-track-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .gate-panel { padding: 15px; }.gate-track-grid { grid-template-columns: 1fr; }.gate-card { min-height: auto; }.priority-state { float: none; display: block; margin: 8px 0 0 35px; } }
.public-stage-card { padding: 21px; border: 1px solid rgb(212 175 55 / .25); border-radius: var(--radius-lg); background: linear-gradient(135deg, rgb(255 255 255 / .08), rgb(255 255 255 / .03)); }
.public-stage-card > span { color: var(--amber); font-size: 12px; font-weight: 900; letter-spacing: .12em; }.public-stage-card h3 { margin: 16px 0 8px; }.public-stage-card p { min-height: 55px; margin: 0; color: var(--muted-strong); font-size: 12px; line-height: 1.65; }.public-stage-card strong { display: inline-block; margin-top: 17px; color: var(--amber); font-size: 11px; }
.validation-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 25px; border: 1px solid #ded9bb; border-radius: var(--radius-lg); background: linear-gradient(120deg, #fffaf0, #fff); }.validation-kicker { display: block; color: var(--amber); font-size: 10px; font-weight: 900; letter-spacing: .12em; }.validation-card strong { display: block; margin-top: 8px; font-size: 23px; }.validation-card p { margin: 8px 0 0; color: var(--muted-strong); font-size: 12px; }.validation-lock { padding: 8px 11px; border-radius: 8px; color: #9a651e; background: #fff2d9; font-size: 11px; font-weight: 900; white-space: nowrap; }
@media (max-width: 760px) {.public-stage-card p { min-height: auto; }.validation-card { align-items: flex-start; flex-direction: column; } }
.design-request-panel { padding: 21px; border: 1px solid rgb(212 175 55 / .28); border-radius: var(--radius-lg); background: linear-gradient(135deg, #fffdf7, #fff); box-shadow: var(--shadow-sm); }.design-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.design-request-grid select { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; padding: 10px 11px; color: var(--ink); background: #fff; font: inherit; font-size: 13px; }.design-request-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; }.design-request-actions p { margin: 0; color: var(--muted); font-size: 11px; }.design-request-actions .button { flex: 0 0 auto; }.design-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.design-result-card { overflow: hidden; border: 1px solid #ded9bb; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }.design-placeholder { display: grid; height: 210px; place-items: center; color: #c4a74c; background: linear-gradient(135deg, #f6f0dd, #fffdf7); font-size: 38px; }.design-result-card h3 { margin: 17px 18px 7px; font-size: 15px; }.design-result-card p { margin: 0 18px; color: var(--muted-strong); font-size: 12px; }.design-result-card span { display: inline-block; margin: 14px 18px 18px; padding: 5px 8px; border-radius: 6px; color: #99751d; background: #fff4d8; font-size: 10px; font-weight: 900; }
@media (max-width: 760px) { .design-request-grid, .design-gallery { grid-template-columns: 1fr; }.design-request-actions { align-items: stretch; flex-direction: column; }.design-request-actions .button { width: 100%; }.design-placeholder { height: 180px; } }
/* Premium commercial visual layer */
body { background: #070a12; color: #f5f1e7; }
.main-content { background: radial-gradient(circle at 70% 0%, rgb(212 175 55 / .07), transparent 28%), linear-gradient(180deg, #0a0e18 0%, #070a12 100%); }
.topbar h1 { color: #fffaf0; letter-spacing: -.045em; }.eyebrow, .section-kicker { color: #d4af37; }.snapshot-badge { border-color: rgb(212 175 55 / .24); color: #d8d1bd; background: rgb(17 24 39 / .8); }
.filter-bar, .metric-card, .panel, .public-stage-card, .validation-card, .design-request-panel, .design-result-card, .report-result { border-color: rgb(255 255 255 / .1); background: linear-gradient(145deg, rgb(19 27 43 / .94), rgb(11 16 27 / .94)); box-shadow: 0 18px 50px rgb(0 0 0 / .24); }
.metric-card p, .scope-note, .chart-label, .quality-line span, .design-result-card p, .public-stage-card p, .validation-card p, .design-request-actions p { color: #9da7bb; }.metric-card strong, .panel-heading h3, .panel-heading h2, .section-heading h2, .public-stage-card h3, .design-result-card h3 { color: #f7f2e6; }.metric-accent { background: #d4af37 !important; }.chart-track, .quality-progress { background: #222b3d; }.chart-value { background: linear-gradient(90deg, #b58c29, #f1d57a); }.panel-tag { color: #c7c0ad; background: rgb(255 255 255 / .07); }.quality-alert { color: #f2d285; background: rgb(212 175 55 / .12); }.search-field input, .select-field select, .design-request-grid select, .constraint-field input, .constraint-field textarea { border-color: rgb(255 255 255 / .12); color: #f5f1e7; background: #101827; }.search-field input:focus, .constraint-field input:focus, .constraint-field textarea:focus { background: #141e30; }.button-primary { color: #15120a; background: linear-gradient(135deg, #d4af37, #f0d67a); box-shadow: 0 12px 26px rgb(212 175 55 / .2); }.button-primary:hover { background: linear-gradient(135deg, #ebca61, #fff0a8); }.button-ghost { border-color: rgb(255 255 255 / .15); color: #d9d2bf; background: rgb(255 255 255 / .05); }.button-ghost:hover { border-color: rgb(212 175 55 / .6); color: #f1d77c; background: rgb(212 175 55 / .1); }.public-stage-card > span, .public-stage-card strong, .validation-kicker { color: #d4af37; }.design-placeholder { color: #d4af37; background: radial-gradient(circle at 50% 30%, rgb(212 175 55 / .16), transparent 45%), #101827; }.design-result-card span, .validation-lock { color: #e2c45f; background: rgb(212 175 55 / .13); }.report-callout { border-color: rgb(212 175 55 / .25); background: linear-gradient(120deg, #151b2a, #282015); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* Decision, evidence and pagination layer */
.overview-lower-grid, .opportunity-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }.decision-status { display: grid; gap: 6px; padding: 14px; border-radius: 12px; }.decision-status strong { font-size: 15px; }.decision-status span { color: var(--muted); font-size: 12px; line-height: 1.55; }.decision-positive { border: 1px solid rgb(59 198 162 / .3); background: rgb(59 198 162 / .1); }.decision-positive strong { color: #52d8b0; }.decision-caution { border: 1px solid rgb(212 175 55 / .35); background: rgb(212 175 55 / .1); }.decision-caution strong { color: #e6c75e; }.decision-negative { border: 1px solid rgb(202 75 99 / .35); background: rgb(202 75 99 / .1); }.decision-negative strong { color: #ef8799; }.decision-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--muted); font-size: 11px; }.decision-actions .button { min-height: 34px; padding: 7px 10px; }
.transparency-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.transparency-list div { padding: 10px; border: 1px solid rgb(255 255 255 / .08); border-radius: 9px; background: rgb(255 255 255 / .035); }.transparency-list span { display: block; color: var(--muted); font-size: 10px; }.transparency-list strong { display: block; margin-top: 4px; color: var(--ink); font-size: 12px; line-height: 1.4; }
.method-grid { display: grid; gap: 8px; }.method-grid div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border-radius: 8px; background: rgb(255 255 255 / .05); }.method-grid strong { color: var(--ink); font-size: 12px; }.method-grid span { color: var(--muted); font-size: 10px; text-align: right; }.method-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.sentiment-hero-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.sentiment-hero-card { padding: 19px; border: 1px solid rgb(255 255 255 / .1); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(19 27 43 / .95), rgb(11 16 27 / .95)); box-shadow: 0 18px 50px rgb(0 0 0 / .2); }.sentiment-hero-card span { display: block; color: #d4af37; font-size: 10px; font-weight: 900; letter-spacing: .12em; }.sentiment-hero-card strong { display: block; margin-top: 12px; color: #fff8e7; font-size: 30px; letter-spacing: -.04em; }.sentiment-hero-card small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.45; }.sentiment-hero-primary { border-color: rgb(212 175 55 / .35); background: radial-gradient(circle at 80% 20%, rgb(212 175 55 / .17), transparent 45%), linear-gradient(145deg, #201b12, #111827); }
.comment-insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }.comment-insight-grid-wide { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }.signal-list { display: grid; gap: 10px; }.signal-card { padding: 12px; border: 1px solid rgb(255 255 255 / .08); border-radius: 10px; background: rgb(255 255 255 / .035); }.signal-card-head { display: flex; justify-content: space-between; gap: 12px; }.signal-card-head strong { color: #f4df9a; font-size: 14px; }.signal-card-head span, .signal-card > small { color: var(--muted); font-size: 10px; }.signal-card blockquote { margin: 10px 0 0; padding: 9px 10px; border-left: 2px solid #d4af37; color: #d6d1c3; background: rgb(0 0 0 / .16); font-size: 11px; line-height: 1.5; }.signal-card cite { display: block; margin-top: 5px; color: #8e99ad; font-size: 9px; font-style: normal; }.matrix-table-wrap { overflow: auto; }.matrix-table { width: 100%; border-collapse: collapse; min-width: 500px; }.matrix-table th, .matrix-table td { padding: 9px 8px; border-bottom: 1px solid rgb(255 255 255 / .08); color: var(--muted); font-size: 11px; text-align: left; }.matrix-table th { color: #d4af37; font-size: 10px; letter-spacing: .04em; }.matrix-table td:nth-child(4), .matrix-table td:nth-child(5) { color: #f0d77c; font-weight: 800; }.trend-bars { display: flex; align-items: end; gap: 7px; height: 190px; padding-top: 15px; }.trend-bar-item { display: grid; flex: 1; height: 100%; min-width: 24px; grid-template-rows: 1fr auto auto; gap: 4px; align-items: end; text-align: center; }.trend-bar-track { display: flex; height: 100%; align-items: end; justify-content: center; }.trend-bar-track i { display: block; width: min(20px, 80%); border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #efd475, #8e6d1f); }.trend-bar-item strong { color: #d8cb9d; font-size: 9px; }.trend-bar-item span, .trend-bar-item small { color: var(--muted); font-size: 9px; }.evidence-control-panel { margin-top: 16px; }.transparency-list-wide { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 22px; }.page-links { display: flex; align-items: center; gap: 5px; }.page-number { min-width: 32px; height: 32px; border: 1px solid rgb(255 255 255 / .12); border-radius: 7px; color: #c4bdac; background: rgb(255 255 255 / .04); cursor: pointer; font-size: 11px; }.page-number:hover, .page-number.is-current { border-color: rgb(212 175 55 / .6); color: #171208; background: #d4af37; }.page-ellipsis { padding: 0 2px; color: var(--muted); }.page-jump { display: flex; align-items: center; gap: 6px; margin-left: 8px; color: var(--muted); font-size: 11px; }.page-jump input { width: 66px; height: 32px; border: 1px solid rgb(255 255 255 / .12); border-radius: 7px; color: var(--ink); background: #101827; padding: 5px 8px; font-size: 11px; }.page-jump .button { min-height: 32px; padding: 5px 9px; }
@media (max-width: 900px) { .transparency-list-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }.comment-insight-grid-wide { grid-template-columns: 1fr; } }@media (max-width: 760px) { .overview-lower-grid, .opportunity-summary-grid, .comment-insight-grid, .sentiment-hero-grid { grid-template-columns: 1fr; }.transparency-list, .transparency-list-wide { grid-template-columns: 1fr; }.decision-actions { align-items: stretch; flex-direction: column; }.decision-actions .button { width: 100%; }.pagination { justify-content: flex-start; }.page-jump { width: 100%; margin-left: 0; } }


.market-indicators-panel,.opportunity-analysis-panel,.demand-signal-panel,.manufacturing-status-panel{margin-top:16px}.market-indicator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.market-indicator-grid article,.opportunity-component-grid article,.opportunity-evidence-grid article,.requirement-card,.translation-evidence,.blocker-grid article{border:1px solid rgb(255 255 255 / .1);border-radius:12px;background:rgb(255 255 255 / .035)}.market-indicator-grid article{padding:15px}.market-indicator-grid span,.manufacturing-banner span{display:block;color:#d4af37;font-size:10px;font-weight:900;letter-spacing:.08em}.market-indicator-grid strong{display:block;margin:8px 0 6px;color:#fff8e7;font-size:20px}.market-indicator-grid small,.opportunity-index-summary span,.translation-evidence small,.requirement-card small,.blocker-grid small{color:var(--muted);font-size:11px;line-height:1.55}.demand-audit{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0 16px}.demand-audit strong{color:#f7f2e6}.demand-audit span{color:var(--muted);font-size:12px}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.requirement-card{padding:15px}.requirement-card.is-verified{border-color:rgb(212 175 55 / .45);background:linear-gradient(145deg,rgb(212 175 55 / .1),rgb(255 255 255 / .025))}.requirement-card h4,.opportunity-evidence-grid h4,.blocker-grid h4{margin:7px 0;color:#fff8e7;font-size:14px}.requirement-card span{color:#d4af37;font-size:10px;font-weight:900;letter-spacing:.08em}.requirement-card p,.blocker-grid p{margin:0 0 10px;color:#d9d2bf;font-size:12px;line-height:1.6}.translation-evidence{margin-top:10px;padding:10px}.translation-evidence p{margin:0 0 7px;color:#eee8dc;font-size:12px;line-height:1.6}.translation-evidence details,.requirement-card details{margin-top:9px}.translation-evidence summary,.requirement-card summary{cursor:pointer;color:#e2c45f;font-size:11px}.original-evidence{margin:8px 0 0!important;padding:9px;border-left:2px solid rgb(212 175 55 / .5);color:#bfc5d0!important;background:rgb(0 0 0 / .14)}.muted{color:var(--muted)!important}.opportunity-analysis{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px}.opportunity-index-summary{padding:17px;border-radius:12px;background:radial-gradient(circle at 70% 20%,rgb(212 175 55 / .18),transparent 42%),#101827}.opportunity-index-summary>strong{display:block;color:#fff7e3;font-size:38px}.opportunity-index-summary>strong small{font-size:14px}.opportunity-index-summary p{margin:3px 0 10px;color:#d4af37;font-size:12px;font-weight:800}.opportunity-component-grid{display:grid;gap:9px}.opportunity-component-grid article{padding:11px}.opportunity-component-grid article>div,.opportunity-evidence-grid p{display:flex;align-items:start;justify-content:space-between;gap:10px}.opportunity-component-grid strong{color:#eee8dc;font-size:12px}.opportunity-component-grid span{color:#f1d77c;font-weight:900}.opportunity-component-grid i{display:block;height:6px;margin:8px 0;border-radius:99px;background:#273145;overflow:hidden}.opportunity-component-grid b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b58c29,#f1d57a)}.opportunity-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:1/-1}.opportunity-evidence-grid article{padding:12px}.opportunity-evidence-grid p{margin:8px 0;color:#d9d2bf;font-size:11px;line-height:1.5}.opportunity-evidence-grid p span{color:var(--muted)}.manufacturing-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px;border:1px solid rgb(236 115 104 / .4);border-radius:13px;background:linear-gradient(135deg,rgb(236 115 104 / .13),rgb(255 255 255 / .025))}.manufacturing-banner strong{display:block;margin-top:7px;color:#fff2ee;font-size:20px}.manufacturing-banner p{margin:7px 0 0;color:#edc0b9;font-size:12px}.blocker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}.blocker-grid article{padding:13px}.blocker-grid article>span{color:#ef9b90;font-size:11px;font-weight:900;letter-spacing:.08em}
@media (max-width:980px){.market-indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-analysis{grid-template-columns:1fr}.blocker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.market-indicator-grid,.requirement-grid,.opportunity-evidence-grid,.blocker-grid{grid-template-columns:1fr}.demand-audit,.manufacturing-banner{align-items:flex-start;flex-direction:column}.opportunity-index-summary>strong{font-size:32px}.translation-evidence{padding:9px}}
.design-result-card.is-selected{border-color:rgb(212 175 55 / .72);box-shadow:0 0 0 2px rgb(212 175 55 / .15),0 20px 50px rgb(0 0 0 / .25)}
.time-coverage-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.time-coverage-control select{min-height:34px;border:1px solid rgb(255 255 255 / .14);border-radius:8px;padding:0 9px;color:#efe8dc;background:#101827;font:inherit}.time-coverage-control option:disabled{color:#8f98a8}.design-package-panel{margin-top:16px}.design-package-principle{margin:0 0 14px;color:#e8dfce;line-height:1.65}.design-input-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.design-input-roles article,.design-package-grid article{padding:12px;border:1px solid rgb(255 255 255 / .1);border-radius:10px;background:rgb(255 255 255 / .035)}.design-input-roles span{display:block;color:#d4af37;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.design-input-roles strong{display:block;margin-top:6px;color:#fff8e7;font-size:12px}.design-input-roles p,.design-package-grid p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.design-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.design-package-grid h4{margin:0;color:#f7f2e6;font-size:13px}.design-package-grid p strong{display:block;color:#e9ddc4;font-size:11px}.design-package-grid p span{display:block;margin-top:3px}.design-package-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.design-package-actions small{max-width:58%;color:#e2ad9f;line-height:1.5}.design-package-actions>div{display:flex;gap:8px}@media(max-width:760px){.design-input-roles,.design-package-grid{grid-template-columns:1fr}.design-package-actions{align-items:flex-start;flex-direction:column}.design-package-actions small{max-width:none}.design-package-actions>div{flex-wrap:wrap}}.manufacturing-evidence-form{margin-top:14px;padding:15px;border:1px dashed rgb(212 175 55 / .35);border-radius:12px;background:rgb(212 175 55 / .045)}.manufacturing-evidence-form h4,.manufacturing-evidence-list h4{margin:0;color:#f7f2e6}.manufacturing-evidence-form>p{margin:6px 0 12px;color:var(--muted);font-size:11px}.manufacturing-evidence-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.manufacturing-evidence-form label{display:grid;gap:5px;color:#d9d2bf;font-size:11px}.manufacturing-evidence-form input,.manufacturing-evidence-form select,.manufacturing-evidence-form textarea{width:100%;border:1px solid rgb(255 255 255 / .14);border-radius:8px;padding:9px;color:#f5f1e7;background:#101827;font:inherit}.manufacturing-evidence-form textarea{min-height:62px;resize:vertical}.manufacturing-evidence-list{margin-top:14px}.manufacturing-evidence-list article{position:relative;margin-top:8px;padding:11px;border-radius:9px;background:rgb(255 255 255 / .035)}.manufacturing-evidence-list article>strong{color:#f1d77c}.manufacturing-evidence-list article>span{margin-left:8px;color:#c6cdd8;font-size:10px}.manufacturing-evidence-list article p{margin:7px 0;color:#e5dfd4;font-size:12px}.manufacturing-evidence-list article small{color:var(--muted);font-size:10px}@media(max-width:640px){.manufacturing-evidence-form>div{grid-template-columns:1fr}}
.model-output-panel[hidden] { display: none; }
.model-output-panel { margin-top: 16px; }
.model-output-summary { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.model-output-content { max-height: 420px; margin: 14px 0 0; overflow: auto; white-space: pre-wrap; border: 1px solid rgb(255 255 255 / .1); border-radius: 10px; padding: 14px; color: #ece4d6; background: #101827; font: 12px/1.75 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.model-output-content:empty { display: none; }
.model-output-image { display: block; width: min(100%, 720px); margin: 14px auto 0; border: 1px solid rgb(212 175 55 / .38); border-radius: 12px; box-shadow: 0 18px 42px rgb(0 0 0 / .28); }
.manufacturing-banner.is-selection { border-color: rgb(78 167 206 / .35); background: linear-gradient(115deg, rgb(43 72 99 / .45), rgb(20 27 42 / .9)); }
.craft-plan-form { display: grid; gap: 16px; margin-top: 16px; padding: 17px; border: 1px solid rgb(78 167 206 / .24); border-radius: 14px; background: rgb(255 255 255 / .025); }
.craft-plan-form section { min-width: 0; }
.craft-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.craft-section-heading span, .craft-plan-form label > span { color: #88cbed; font-size: 11px; font-weight: 800; letter-spacing: .05em; }
.craft-section-heading h4 { margin: 5px 0 0; color: #fff8e7; font-size: 15px; }
.craft-section-heading small { max-width: 320px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.craft-option-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.craft-option { position: relative; display: grid; gap: 6px; min-height: 152px; padding: 13px; border: 1px solid rgb(255 255 255 / .1); border-radius: 11px; cursor: pointer; background: rgb(255 255 255 / .025); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.craft-option:hover { border-color: rgb(136 203 237 / .6); transform: translateY(-1px); }
.craft-option.is-selected { border-color: rgb(136 203 237 / .88); background: rgb(78 167 206 / .12); box-shadow: inset 0 0 0 1px rgb(136 203 237 / .16); }
.craft-option input { position: absolute; top: 12px; right: 12px; accent-color: #7dccf2; }
.craft-option strong { max-width: calc(100% - 24px); color: #f6f4ee; font-size: 13px; line-height: 1.45; }
.craft-option p { margin: 0; color: #c6cdd8; font-size: 11px; line-height: 1.55; }
.craft-option small { margin-top: auto; color: #8e9eb5; font-size: 10px; line-height: 1.5; }
.craft-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.craft-plan-grid label, .craft-custom-field { display: grid; gap: 7px; }
.craft-plan-grid select, .craft-custom-field textarea { width: 100%; border: 1px solid rgb(255 255 255 / .14); border-radius: 9px; padding: 10px; color: #f5f1e7; background: #101827; font: inherit; }
.craft-custom-field textarea { min-height: 74px; resize: vertical; }
.craft-plan-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 2px; }
.craft-plan-actions p { max-width: 52%; margin: 0; color: #b7c0ce; font-size: 11px; line-height: 1.6; }
.craft-save-status { color: #a9e6c8; font-size: 11px; font-weight: 800; white-space: nowrap; }
@media (max-width: 900px) { .craft-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .craft-option-grid, .craft-plan-grid { grid-template-columns: 1fr; } .craft-section-heading, .craft-plan-actions { align-items: flex-start; flex-direction: column; } .craft-section-heading small, .craft-plan-actions p { max-width: none; } }
.model-output-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.model-output-actions small { color: var(--muted, #8f98aa); }
.design-basis-status { color: #f2df9f; font-size: 11px; }
.design-result-image-wrap { min-height: 220px; background: #0d1423; }
.design-result-image-wrap img { display: block; width: 100%; height: 220px; object-fit: cover; }
.concept-manufacturing-details{margin-top:10px;border:1px solid rgb(212 175 55 / .18);border-radius:9px;background:rgb(212 175 55 / .045)}.concept-manufacturing-details summary{padding:9px 10px;color:#f2df9f;cursor:pointer;font-size:11px;font-weight:700}.concept-manufacturing-content{display:grid;gap:10px;padding:0 10px 11px}.concept-manufacturing-list{display:grid;gap:5px;padding:9px;border-radius:8px;background:rgb(255 255 255 / .035);color:#e6dfd0;font-size:11px;line-height:1.6}.concept-manufacturing-list strong{color:#c8d6ee;font-size:10px}.concept-manufacturing-list ol,.concept-manufacturing-list ul{display:grid;gap:4px;margin:0;padding-left:18px}.concept-manufacturing-list.is-risk{border-left:2px solid rgb(236 115 104 / .55)}.concept-manufacturing-warning,.concept-manufacturing-empty{margin:0;color:#aeb8c8;font-size:10px;line-height:1.6}

.concept-history-panel{margin-top:16px}.concept-history-intro{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.65}.concept-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.concept-history-card{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);overflow:hidden;border:1px solid rgb(255 255 255 / .1);border-radius:14px;background:linear-gradient(145deg,rgb(19 27 43 / .96),rgb(10 15 25 / .98));transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.concept-history-card:hover{border-color:rgb(212 175 55 / .48);transform:translateY(-2px);box-shadow:0 18px 42px rgb(0 0 0 / .2)}.concept-history-card.is-selected{border-color:rgb(212 175 55 / .8);box-shadow:0 0 0 2px rgb(212 175 55 / .16),0 18px 42px rgb(0 0 0 / .24)}.concept-history-image-wrap{min-height:220px;background:#0d1423}.concept-history-image-wrap img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}.concept-history-body{display:flex;min-width:0;flex-direction:column;padding:15px}.concept-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.concept-history-head>span{color:#d4af37;font-size:10px;font-weight:800;letter-spacing:.04em}.icon-button{min-height:30px;padding:5px 8px;border:1px solid rgb(255 255 255 / .12);border-radius:7px;color:#cbd1dc;background:rgb(255 255 255 / .04);cursor:pointer;font:inherit;font-size:10px}.icon-button:hover{border-color:rgb(236 115 104 / .7);color:#ffd2ca;background:rgb(236 115 104 / .12)}.concept-history-body h4{margin:14px 0 10px;color:#fff8e7;font-size:15px}.concept-sketch-meta{display:grid;gap:8px;margin:0}.concept-sketch-meta div{padding:8px 9px;border:1px solid rgb(255 255 255 / .08);border-radius:8px;background:rgb(255 255 255 / .035)}.concept-sketch-meta dt{color:#8f98aa;font-size:10px}.concept-sketch-meta dd{margin:3px 0 0;color:#e6dfd0;font-size:11px;line-height:1.5}.concept-history-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px}.concept-history-actions .button{min-height:32px;padding:6px 9px}.concept-history-actions>span{color:var(--muted);font-size:10px;text-align:right}.concept-history-empty{display:grid;gap:7px;padding:26px;border:1px dashed rgb(212 175 55 / .28);border-radius:12px;background:rgb(212 175 55 / .04);text-align:center}.concept-history-empty strong{color:#f2df9f;font-size:14px}.concept-history-empty span{color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:1000px){.concept-history-grid{grid-template-columns:1fr}}@media(max-width:640px){.concept-history-card{grid-template-columns:1fr}.concept-history-image-wrap,.concept-history-image-wrap img{min-height:200px}.concept-history-actions{align-items:flex-start;flex-direction:column}.concept-history-actions>span{text-align:left}}

.concept-visual-analysis{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid rgb(212 175 55 / .24);border-radius:10px;background:linear-gradient(145deg,rgb(212 175 55 / .08),rgb(255 255 255 / .025))}.concept-visual-analysis-warning{border-color:rgb(236 115 104 / .35);background:rgb(236 115 104 / .07)}.concept-visual-analysis-warning strong{color:#ffd2ca;font-size:12px}.concept-visual-analysis-warning p{margin:0;color:#cbd1dc;font-size:11px;line-height:1.6}.concept-manufacturing-details{margin-top:10px}.concept-manufacturing-details summary{color:#d4af37;font-size:11px;cursor:pointer}.concept-manufacturing-details .concept-sketch-meta{margin-top:10px}
.concept-visual-raw{border-top:1px solid rgb(255 255 255 / .08);padding-top:8px}.concept-visual-raw summary{color:#d4af37;font-size:10px;cursor:pointer}.concept-visual-raw pre{margin:8px 0 0;white-space:pre-wrap;color:#cbd1dc;font:inherit;font-size:10px;line-height:1.5}

.design-interpretation-panel{margin-top:16px;padding:16px;border:1px solid rgb(212 175 55 / .28);border-radius:14px;background:linear-gradient(145deg,rgb(24 31 47 / .98),rgb(11 17 28 / .98))}.design-interpretation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.design-interpretation-heading h4{margin:4px 0 0;color:#fff8e7;font-size:15px}.design-interpretation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.design-interpretation-grid article,.design-basis-preview{padding:12px;border:1px solid rgb(255 255 255 / .09);border-radius:10px;background:rgb(255 255 255 / .035)}.design-interpretation-panel h5{margin:0 0 10px;color:#f2df9f;font-size:11px;letter-spacing:.03em}.design-interpretation-copy{max-height:360px;overflow:auto;color:#d9d3c7;font-size:11px;line-height:1.65;white-space:pre-wrap}.design-interpretation-list{display:grid;gap:8px;margin:0}.design-interpretation-list div{padding-bottom:8px;border-bottom:1px solid rgb(255 255 255 / .07)}.design-interpretation-list div:last-child{padding-bottom:0;border-bottom:0}.design-interpretation-list dt{color:#8f98aa;font-size:10px}.design-interpretation-list dd{margin:3px 0 0;color:#e6dfd0;line-height:1.55}.design-basis-preview{margin-top:12px}.design-basis-preview>p{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.55}@media(max-width:700px){.design-interpretation-grid{grid-template-columns:1fr}.design-interpretation-heading{flex-direction:column}}
.design-translation-panel{display:grid;gap:16px;margin-top:18px;padding:20px;border:1px solid rgb(212 175 55 / .28);border-radius:14px;background:linear-gradient(145deg,rgb(212 175 55 / .08),rgb(255 255 255 / .025));}
.design-translation-intro,.design-translation-source small,.design-translation-group-heading small,.design-translation-actions p{margin:0;color:var(--muted);font-size:11px;line-height:1.65;}
.design-translation-empty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.design-translation-empty-grid article{display:grid;gap:6px;padding:16px;border:1px solid rgb(255 255 255 / .1);border-radius:10px;background:rgb(255 255 255 / .025)}.design-translation-empty-grid span{color:#d4af37;font-size:10px;letter-spacing:.08em}.design-translation-empty-grid strong{color:#f2df9f;font-size:13px}.design-translation-empty-grid p{margin:0;color:#aeb6c7;font-size:11px;line-height:1.55}.design-translation-empty{display:grid;gap:6px;padding:22px;border:1px dashed rgb(212 175 55 / .35);border-radius:10px;color:#cbd1dc;background:rgb(0 0 0 / .12);font-size:12px;line-height:1.65}.design-translation-empty strong{color:#f2df9f;font-size:13px}.design-translation-empty p{margin:0}.design-translation-source{display:grid;gap:6px;padding:12px 14px;border:1px solid rgb(255 255 255 / .1);border-radius:10px;background:rgb(0 0 0 / .14);}
.design-translation-source strong{color:#f2df9f;font-size:12px;}
.design-translation-source p{margin:0;color:#f5f1e8;font-size:13px;line-height:1.65;white-space:pre-wrap;}
.design-translation-grid{display:grid;gap:14px;}
.design-translation-group{display:grid;gap:12px;padding:14px;border:1px solid rgb(255 255 255 / .1);border-radius:12px;background:rgb(255 255 255 / .025);}
.design-translation-group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
.design-translation-group-heading span{color:#d4af37;font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.design-translation-group-heading h4{margin:4px 0 0;color:#f7f3e8;font-size:14px;}
.design-translation-group-heading small{max-width:420px;text-align:right;}
.design-translation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.design-translation-fields label{display:grid;gap:6px;color:#aeb6c7;font-size:11px;}
.design-translation-fields label:has(textarea[data-translation-field$=".prompt"]),.design-translation-fields label:has(textarea[data-translation-field$=".negativePrompt"]),.design-translation-fields label:has(textarea[data-translation-field$=".processSteps"]),.design-translation-fields label:has(textarea[data-translation-field$=".qualityChecks"]),.design-translation-fields label:has(textarea[data-translation-field$=".risks"]){grid-column:1 / -1;}
.design-translation-fields textarea{width:100%;min-height:72px;resize:vertical;border:1px solid rgb(255 255 255 / .12);border-radius:8px;padding:9px 10px;color:#f6f1e6;background:rgb(0 0 0 / .18);font:inherit;font-size:12px;line-height:1.55;}
.design-translation-fields textarea:focus{border-color:#d4af37;outline:none;box-shadow:0 0 0 3px rgb(212 175 55 / .12);}
.design-translation-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:4px;}
@media(max-width:700px){.design-translation-empty-grid{grid-template-columns:1fr}.design-translation-group-heading,.design-translation-actions{align-items:flex-start;flex-direction:column}.design-translation-group-heading small{text-align:left}.design-translation-fields{grid-template-columns:1fr}.design-translation-fields label:has(textarea[data-translation-field$=".prompt"]),.design-translation-fields label:has(textarea[data-translation-field$=".negativePrompt"]),.design-translation-fields label:has(textarea[data-translation-field$=".processSteps"]),.design-translation-fields label:has(textarea[data-translation-field$=".qualityChecks"]),.design-translation-fields label:has(textarea[data-translation-field$=".risks"]){grid-column:auto;}}

.design-request-core{display:grid;gap:10px}.design-request-core small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.55}.design-advanced-inputs{margin-top:14px;padding:12px 14px;border:1px solid rgb(255 255 255 / .1);border-radius:10px;background:rgb(255 255 255 / .025)}.design-advanced-inputs>summary{color:#d4af37;font-size:11px;font-weight:800;cursor:pointer}.design-advanced-inputs[open]>summary{margin-bottom:12px}.design-translation-group>summary{list-style:none;cursor:pointer}.design-translation-group>summary::-webkit-details-marker{display:none}.design-translation-group>summary:after{content:'＋';color:#d4af37;font-size:18px;line-height:1;float:right}.design-translation-group[open]>summary:after{content:'−'}.design-translation-group>.design-translation-fields{margin-top:12px}.design-result-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px dashed rgb(212 175 55 / .35);border-radius:12px;color:#d7dbe4;background:rgb(212 175 55 / .05)}.design-result-summary strong{color:#f2df9f;font-size:13px}.design-result-summary span{color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:700px){.design-result-summary{align-items:flex-start;flex-direction:column}}

.design-package-utilities{display:inline-block;margin-left:auto}.design-package-utilities summary{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid rgb(255 255 255 / .12);border-radius:8px;color:#cbd1dc;background:rgb(255 255 255 / .04);cursor:pointer;font-size:10px}.design-package-utilities[open] summary{margin-bottom:8px}.design-package-utilities .button{display:block;margin-left:auto}.design-translation-source-toggle{display:grid;gap:7px}.design-translation-source-toggle summary{color:#f2df9f;cursor:pointer;font-size:11px;font-weight:700}.design-translation-source-toggle p{margin:0;color:#f5f1e8;font-size:13px;line-height:1.65;white-space:pre-wrap}.concept-card-details{margin-top:10px;border:1px solid rgb(255 255 255 / .1);border-radius:9px;background:rgb(255 255 255 / .025)}.concept-card-details>summary{padding:9px 10px;color:#d4af37;cursor:pointer;font-size:11px;font-weight:700}.concept-card-details[open]>summary{border-bottom:1px solid rgb(255 255 255 / .08)}.concept-card-details>.concept-sketch-meta,.concept-card-details>.concept-manufacturing-details{margin-left:10px;margin-right:10px}.concept-card-details>.concept-manufacturing-details{margin-bottom:10px}.concept-card-details>.concept-sketch-meta{margin-top:10px}




.auth-gate { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; overflow: hidden; background: #10172b; }
.is-locked { overflow: hidden; }
.is-locked .app-shell { display: none; }
.auth-gate[hidden] { display: none; }
.auth-cover, .auth-overlay { position: absolute; inset: 0; }
.auth-cover { background: url('/assets/login-cover.webp') center / cover no-repeat; filter: saturate(.92); transform: scale(1.02); }
.auth-overlay { background: linear-gradient(90deg, rgb(8 16 39 / .74), rgb(10 20 44 / .28) 55%, rgb(8 15 35 / .48)); }
.auth-card { position: relative; width: min(430px, calc(100vw - 32px)); padding: 34px; border: 1px solid rgb(255 255 255 / .28); border-radius: 24px; color: #f6f7ff; background: rgb(14 24 52 / .84); box-shadow: 0 28px 80px rgb(0 0 0 / .3); backdrop-filter: blur(18px); }
.auth-brand { display: flex; align-items: center; gap: 11px; }.auth-brand strong, .auth-brand small { display: block; line-height: 1; }.auth-brand strong { font-size: 18px; letter-spacing: .14em; }.auth-brand small { margin-top: 5px; color: #aeb8d3; font-size: 8px; letter-spacing: .14em; }
.auth-kicker { margin: 36px 0 8px; color: #b9c2ff; font-size: 11px; font-weight: 800; letter-spacing: .14em; }.auth-card h1 { margin: 0; font-size: clamp(25px, 4vw, 34px); letter-spacing: -.04em; }.auth-description { margin: 12px 0 24px; color: #c5cbe0; font-size: 13px; line-height: 1.7; }.auth-form { display: grid; gap: 14px; }.auth-form label { display: grid; gap: 7px; color: #dce1f4; font-size: 12px; font-weight: 800; }.auth-form input { width: 100%; border: 1px solid rgb(255 255 255 / .2); border-radius: 10px; padding: 12px 13px; color: #fff; background: rgb(255 255 255 / .1); outline: none; }.auth-form input:focus { border-color: #aeb8ff; box-shadow: 0 0 0 3px rgb(174 184 255 / .18); }.auth-submit { width: 100%; margin-top: 6px; }.auth-message { min-height: 20px; margin: 0; color: #ffb4b4; font-size: 12px; }.auth-security-note { display: block; margin-top: 20px; color: #aeb8d3; font-size: 10px; line-height: 1.5; }.topbar-actions { display: flex; align-items: center; gap: 10px; }.logout-button { white-space: nowrap; }
@media (max-width: 760px) { .auth-card { padding: 26px 22px; }.topbar-actions { align-items: flex-end; flex-direction: column; gap: 7px; }.logout-button { padding: 8px 10px; font-size: 11px; } }

/* V2 decision cockpit layer */
:root { --canvas: #f7f8fa; --surface: #ffffff; --surface-subtle: #f2f5f8; --ink: #172332; --muted: #526273; --muted-strong: #344456; --line: #dce4eb; --line-strong: #c8d3dd; --navy: #102d42; --navy-soft: #17435d; --indigo: #1e5a78; --indigo-dark: #15435d; --mint: #197c68; --mint-soft: #e6f4ef; --amber: #b46b17; --amber-soft: #fff4df; --rose: #c24f4f; --radius-md: 16px; --radius-lg: 24px; --shadow-sm: 0 5px 18px rgb(16 45 66 / .06); --shadow-md: 0 20px 55px rgb(16 45 66 / .1); }
body { background: radial-gradient(circle at 92% 0%, #edf3f6 0, transparent 32rem), var(--canvas); }
.app-shell { grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { background: linear-gradient(180deg, #102d42 0%, #0c2233 100%); padding: 30px 14px 20px; }
.brand { padding: 0 12px; }.brand-mark i { background: #e0bc69; }.brand-mark i:nth-child(2) { background: #78b7b0; }.brand-mark i:nth-child(3) { background: #f4e4b8; }
.nav-list { gap: 6px; margin-top: 48px; }.nav-link { min-height: 54px; gap: 11px; border: 1px solid transparent; padding: 9px 11px; color: #b9cbd6; }.nav-link span:last-child { display: grid; gap: 1px; }.nav-link strong { color: inherit; font-size: 13px; }.nav-link small { color: #7893a3; font-size: 10px; font-weight: 500; }.nav-link:hover, .nav-link.is-active { color: #fff; background: #17435d; border-color: rgb(224 188 105 / .24); box-shadow: inset 3px 0 0 #e0bc69; }.nav-link.is-active small { color: #c5dce1; }
.nav-sublist { display: grid; gap: 5px; margin: 18px 12px 0 46px; padding-left: 12px; border-left: 1px solid #31566a; }.nav-sublist a { color: #89a5b3; font-size: 10px; text-decoration: none; }.nav-sublist a:hover { color: #f4e4b8; }
.main-content { padding-top: 34px; }.topbar h1 { color: #122b3d; }.eyebrow, .section-kicker { color: #1e5a78; }.snapshot-badge { border-color: #cbd9e2; color: #344456; }
.filter-bar { margin-top: 24px; border-color: #d4e0e7; border-radius: 18px; }.button-primary { color: #142330; background: #e0bc69; box-shadow: 0 8px 18px rgb(180 107 23 / .18); }.button-primary:hover { background: #edcf86; }.button-ghost { color: #344456; }.button-ghost:hover { border-color: #8db1bf; color: #1e5a78; }
.decision-strip { display: grid; grid-template-columns: minmax(160px, .9fr) minmax(380px, 2.2fr) auto; align-items: center; gap: 24px; margin-top: 22px; padding: 22px 24px; border: 1px solid #cbdde4; border-radius: 22px; background: linear-gradient(115deg, #eaf3f3, #ffffff 65%); box-shadow: var(--shadow-sm); }.decision-strip h2 { margin: 2px 0 2px; color: #173c50; font-size: 22px; }.decision-strip p { margin: 0; color: #526273; font-size: 11px; }.decision-strip-metrics { display: grid; grid-template-columns: repeat(4, minmax(80px, 1fr)); gap: 10px; }.decision-strip-metrics article { padding: 9px 12px; border-left: 2px solid #dfc276; }.decision-strip-metrics span { display: block; color: #526273; font-size: 11px; }.decision-strip-metrics strong { display: block; margin-top: 2px; color: #173c50; font-size: 24px; letter-spacing: -.04em; }.decision-strip-cta { white-space: nowrap; }.decision-strip-cta span { margin-left: 6px; font-size: 17px; }
.section-anchor { scroll-margin-top: 20px; margin-top: 60px; }.panel, .design-request-panel, .validation-card, .report-result { border-color: #dce4eb; border-radius: 20px; box-shadow: var(--shadow-sm); }.panel-heading { align-items: flex-start; }.panel-heading h3, .section-heading h2 { color: #173c50; }.scope-note { color: #526273; }.panel-tag { color: #1e5a78; background: #eaf2f4; border-color: #cfe0e4; }.panel-tag-warm { color: #8b5915; background: #fff3df; border-color: #f0d29b; }
.opportunity-list, .comment-insight-grid, .design-translation-grid, .concept-history-grid, .product-grid { gap: 16px; }.metric-card { border-color: #dce4eb; border-radius: 18px; }.metric-card strong { color: #173c50; }.metric-accent { background: #dfbd70; }.signal-card, .opportunity-card, .product-card { border-color: #dce4eb; border-radius: 18px; }.signal-card h4, .opportunity-card h3 { color: #173c50; }.product-card .product-title { color: #1b3446; }
.evidence-control-panel details, .translation-evidence details { background: #f4f7f8; border-color: #d6e1e6; }.original-evidence, .translation-evidence p { color: #263b4b; }.muted { color: #627485 !important; }
.design-request-panel, .design-translation-panel, .manufacturing-status-panel, .model-output-panel { background: linear-gradient(180deg, #173c50, #102d42); color: #eef6f7; border: 0; box-shadow: 0 22px 55px rgb(16 45 66 / .16); }.design-request-panel .scope-note, .design-request-panel small, .design-translation-panel small, .manufacturing-status-panel small { color: #bdd0d7; }.design-request-panel input, .design-request-panel textarea, .design-request-panel select { color: #eef6f7; background: rgb(255 255 255 / .08); border-color: rgb(255 255 255 / .18); }.design-request-panel input::placeholder, .design-request-panel textarea::placeholder { color: #9bb4bf; }.design-request-panel .button-ghost { color: #d7e5e9; background: rgb(255 255 255 / .06); border-color: rgb(255 255 255 / .2); }.design-request-panel .button-primary { color: #142330; }.design-advanced-inputs { border-color: rgb(255 255 255 / .16); background: rgb(255 255 255 / .04); }.design-advanced-inputs>summary { color: #f0d58e; }
.design-translation-panel { margin-top: 18px; }.design-result-summary { color: #344456; border-color: #dec67d; background: #fffaf0; }.design-result-summary strong { color: #755118; }.concept-history-panel { background: #ffffff; }
.assistant-toggle { position: fixed; z-index: 40; top: 46%; right: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; border: 1px solid #c9a75d; border-right: 0; border-radius: 16px 0 0 16px; padding: 10px 13px; color: #142330; background: #e0bc69; box-shadow: 0 10px 25px rgb(16 45 66 / .2); font-size: 12px; font-weight: 800; writing-mode: vertical-rl; }.assistant-toggle:hover { background: #edcf86; }.assistant-toggle-icon { font-size: 15px; writing-mode: horizontal-tb; }.assistant-drawer { position: fixed; z-index: 39; top: 0; right: 0; display: flex; flex-direction: column; width: min(390px, calc(100vw - 20px)); height: 100vh; padding: 25px 20px 20px; border-left: 1px solid #cad9df; color: #eaf3f4; background: #102d42; box-shadow: -20px 0 60px rgb(16 45 66 / .22); transform: translateX(102%); transition: transform 220ms ease; }.assistant-drawer.is-open { transform: translateX(0); }.assistant-header { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid rgb(255 255 255 / .16); }.assistant-header h2 { margin: 2px 0 3px; color: #fff; font-size: 22px; }.assistant-header p:last-child { margin: 0; color: #b7ccd4; font-size: 11px; }.assistant-header .section-kicker { color: #e0bc69; }.assistant-close { width: 40px; height: 40px; border: 1px solid rgb(255 255 255 / .2); border-radius: 10px; color: #dbe9eb; background: rgb(255 255 255 / .06); font-size: 24px; }.assistant-messages { flex: 1; overflow: auto; display: grid; align-content: start; gap: 12px; padding: 18px 3px; }.assistant-welcome { display: grid; gap: 8px; padding: 14px; border: 1px solid rgb(255 255 255 / .13); border-radius: 14px; background: rgb(255 255 255 / .05); }.assistant-welcome strong { color: #f0d58e; }.assistant-welcome span { color: #c5d7dc; font-size: 12px; }.assistant-message { max-width: 92%; padding: 11px 13px; border-radius: 13px; font-size: 13px; line-height: 1.65; white-space: pre-wrap; }.assistant-message.user { justify-self: end; color: #173c50; background: #e0bc69; }.assistant-message.assistant { color: #e4f0f1; background: #1b4961; }.assistant-message small { display: block; margin-top: 7px; color: #9db9c3; font-size: 10px; }.assistant-form { display: grid; gap: 7px; padding-top: 14px; border-top: 1px solid rgb(255 255 255 / .16); }.assistant-form label { color: #dbe9eb; font-size: 11px; font-weight: 800; }.assistant-form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.assistant-form textarea { width: 100%; resize: vertical; border: 1px solid rgb(255 255 255 / .2); border-radius: 10px; padding: 10px; color: #fff; background: rgb(255 255 255 / .08); }.assistant-form textarea::placeholder { color: #9bb4bf; }.assistant-form small { color: #9bb4bf; font-size: 10px; }
@media (max-width: 960px) { .app-shell { grid-template-columns: 76px minmax(0, 1fr); }.sidebar { padding-inline: 10px; }.brand { justify-content: center; padding: 0; }.brand > span:last-child, .nav-link span:last-child, .nav-sublist, .sidebar-footer div { display: none; }.nav-list { margin-top: 45px; }.nav-link { justify-content: center; }.decision-strip { grid-template-columns: 1fr; }.decision-strip-metrics { grid-template-columns: repeat(4, 1fr); }.decision-strip-cta { justify-self: start; } }
@media (max-width: 700px) { .app-shell { display: block; }.sidebar { position: sticky; z-index: 20; top: 0; height: auto; display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 12px 14px; }.nav-list { display: flex; gap: 4px; margin: 0; overflow-x: auto; }.nav-link { min-width: 48px; min-height: 44px; padding: 8px; }.nav-link .nav-icon { margin: auto; }.sidebar-footer { display: none; }.main-content { padding: 25px 15px 90px; }.topbar { align-items: flex-start; flex-direction: column; gap: 15px; }.topbar-actions { align-items: flex-start; flex-direction: row; }.decision-strip { padding: 18px; }.decision-strip-metrics { grid-template-columns: repeat(2, 1fr); }.assistant-toggle { top: auto; right: 15px; bottom: 18px; writing-mode: horizontal-tb; border-right: 1px solid #c9a75d; border-radius: 99px; }.assistant-drawer { top: auto; bottom: 0; width: 100%; height: min(78vh, 650px); border-top: 1px solid #cad9df; border-left: 0; transform: translateY(102%); border-radius: 22px 22px 0 0; }.assistant-drawer.is-open { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.assistant-drawer, .button { transition: none; } }

body { color: var(--ink); background: radial-gradient(circle at 92% 0%, #edf3f6 0, transparent 32rem), var(--canvas); }
.main-content { color: var(--ink); background: transparent; }
.filter-bar, .metric-card, .panel, .public-stage-card, .validation-card, .design-result-card, .report-result { color: var(--ink); background: var(--surface); border-color: var(--line); box-shadow: var(--shadow-sm); }
.topbar h1, .section-heading h2, .panel-heading h3, .panel-heading h2, .metric-card strong, .public-stage-card h3, .design-result-card h3 { color: #173c50; }
.metric-card p, .scope-note, .chart-label, .quality-line span, .design-result-card p, .public-stage-card p, .validation-card p, .design-request-actions p { color: var(--muted); }
.metric-card small, .chart-number, .panel-tag, .time-coverage-control, .page-jump { color: var(--muted-strong); }
.panel-tag { background: var(--surface-subtle); border-color: var(--line); }
.signal-card, .market-indicator-grid article, .opportunity-component-grid article, .opportunity-evidence-grid article, .requirement-card, .translation-evidence, .blocker-grid article { color: var(--ink); border-color: var(--line); background: var(--surface-subtle); }
.signal-card-head strong, .requirement-card h4, .opportunity-evidence-grid h4, .blocker-grid h4 { color: #173c50; }
.signal-card-head span, .signal-card > small, .market-indicator-grid small, .opportunity-index-summary span, .translation-evidence small, .requirement-card small, .blocker-grid small { color: var(--muted); }
.signal-card blockquote { color: #263b4b; background: #eef3f5; border-left-color: #c59b3c; }
.signal-card cite { color: #627485; }
.matrix-table th, .matrix-table td { color: var(--muted-strong); border-bottom-color: var(--line); }
.matrix-table th { color: #8b5915; }
.matrix-table td:nth-child(4), .matrix-table td:nth-child(5) { color: #755118; }
.trend-bar-item strong, .trend-bar-item span, .trend-bar-item small { color: var(--muted); }
.evidence-control-panel details, .translation-evidence details { background: #f4f7f8; border-color: var(--line); }
.original-evidence, .translation-evidence p { color: #263b4b; background: #eef3f5; }
.muted { color: var(--muted) !important; }
.design-request-panel, .design-translation-panel, .manufacturing-status-panel, .model-output-panel { color: #eef6f7; }
.design-request-panel .panel-heading h3, .design-translation-panel .panel-heading h3, .manufacturing-status-panel .panel-heading h3, .model-output-panel .panel-heading h3 { color: #eef6f7; }
.design-request-panel .section-kicker, .design-translation-panel .section-kicker, .manufacturing-status-panel .section-kicker, .model-output-panel .section-kicker { color: #e0bc69; }
.design-package-panel, .concept-history-panel { color: var(--ink); }
.design-package-panel .panel-heading h3, .concept-history-panel .panel-heading h3 { color: #173c50; }
.design-package-panel .section-kicker, .concept-history-panel .section-kicker { color: #1e5a78; }
.design-package-panel .design-package-principle, .design-package-panel .design-input-roles p, .design-package-panel .design-package-grid p { color: var(--muted); }
.design-package-panel .design-input-roles article, .design-package-panel .design-package-grid article { border-color: var(--line); background: var(--surface-subtle); }
.design-package-panel .design-input-roles span, .design-package-panel .design-package-grid p strong { color: #8b5915; }
.design-package-panel .design-input-roles strong, .design-package-panel .design-package-grid h4 { color: #173c50; }
.design-package-panel .design-package-actions small { color: #a65e18; }
.design-package-panel .design-package-utilities summary { color: var(--muted-strong); border-color: var(--line); background: var(--surface-subtle); }
.design-result-summary { color: #344456; border-color: #dec67d; background: #fffaf0; }
.design-result-summary strong { color: #755118; }
.concept-history-panel { background: var(--surface); }
.pagination .page-number { color: var(--muted-strong); border-color: var(--line); background: var(--surface); }
.pagination .page-number:hover, .pagination .page-number.is-current { color: #172332; background: #e0bc69; border-color: #c9a75d; }
.page-jump input, .time-coverage-control select { color: var(--ink); background: var(--surface); border-color: var(--line); }
.report-callout { color: #173c50; border-color: #dec67d; background: linear-gradient(120deg, #fffaf0, #ffffff); }
.report-callout h2 { color: #173c50; }
.snapshot-badge { color: #344456; background: #ffffff; border-color: #cbd9e2; }
.search-field input, .select-field select { color: var(--ink); background: var(--surface-subtle); border-color: var(--line); }
.search-field input::placeholder { color: #627485; }
.filter-bar .button-ghost { color: #344456; background: #ffffff; border-color: var(--line-strong); }
.market-indicator-grid span { color: #8b5915; }
.market-indicator-grid strong, .opportunity-component-grid strong, .demand-audit strong { color: #173c50; }
.opportunity-component-grid span { color: #8b5915; }
.design-translation-panel, .manufacturing-status-panel, .model-output-panel { color: #eef6f7; background: linear-gradient(180deg, #173c50, #102d42); }
.design-translation-panel .panel-heading h3, .manufacturing-status-panel .panel-heading h3, .model-output-panel .panel-heading h3 { color: #eef6f7; }
.design-translation-panel .design-translation-intro, .design-translation-panel .design-translation-grid > p, .design-translation-panel .design-translation-grid label, .manufacturing-status-panel p, .manufacturing-status-panel .manufacturing-content, .model-output-summary, .model-output-actions small { color: #d2e0e4; }
.design-translation-panel .requirement-card, .design-translation-panel .translation-evidence, .manufacturing-status-panel .manufacturing-evidence-form, .manufacturing-status-panel .manufacturing-evidence-list article { color: #eef6f7; border-color: rgb(255 255 255 / .14); background: rgb(255 255 255 / .06); }
.design-translation-panel .requirement-card h4, .design-translation-panel .translation-evidence p, .manufacturing-status-panel .manufacturing-evidence-form h4, .manufacturing-status-panel .manufacturing-evidence-list h4 { color: #f5f0df; }
.design-translation-panel .requirement-card p, .design-translation-panel .translation-evidence small, .design-translation-panel .requirement-card small, .manufacturing-status-panel .manufacturing-evidence-form > p, .manufacturing-status-panel .manufacturing-evidence-list article p, .manufacturing-status-panel .manufacturing-evidence-list article small { color: #c5d5da; }
.design-translation-panel .translation-evidence details, .design-translation-panel .requirement-card details { background: rgb(5 18 29 / .28); border-color: rgb(255 255 255 / .12); }
.design-translation-panel .translation-evidence summary, .design-translation-panel .requirement-card summary { color: #f0d58e; }
.design-translation-panel .original-evidence { color: #d2e0e4 !important; background: rgb(5 18 29 / .38); }
.model-output-content { color: #eaf1f2; background: #0c2233; border-color: rgb(255 255 255 / .14); }
@media (max-width: 760px) {
  .comment-insight-grid > *, .comment-insight-grid-wide > *, .panel-heading > * { min-width: 0; }
  .matrix-table-wrap { max-width: 100%; }
  .panel-heading { flex-wrap: wrap; }
  .nav-list { scrollbar-width: none; }
  .nav-list::-webkit-scrollbar { display: none; }
}

.workspace-context { margin: 34px 8px 0; padding: 13px 10px 0; border-top: 1px solid rgb(255 255 255 / .1); }
.workspace-label { display: block; margin-bottom: 9px; color: #7893a3; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.project-switcher { display: grid; grid-template-columns: 28px minmax(0, 1fr) 14px; align-items: center; gap: 9px; width: 100%; border: 1px solid rgb(255 255 255 / .1); border-radius: 12px; padding: 8px; color: #f3f7f8; text-align: left; background: rgb(255 255 255 / .06); }
.project-switcher:hover { border-color: rgb(224 188 105 / .5); background: rgb(255 255 255 / .1); }
.project-switcher strong, .project-switcher small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-switcher strong { font-size: 12px; letter-spacing: .1em; }.project-switcher small { margin-top: 2px; color: #a6bbc4; font-size: 10px; }.project-avatar { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #132f40; background: #e0bc69; font-weight: 900; }.project-chevron { color: #a8c0c8; text-align: center; }
.nav-group-label { display: block; margin: 22px 12px 5px; color: #6f8a99; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.nav-group-label-secondary { margin-top: 20px; }
.v21-command-center { position: relative; overflow: hidden; margin-top: 30px; border: 1px solid #214f62; border-radius: 26px; padding: clamp(20px, 3vw, 32px); color: #edf7f7; background: radial-gradient(circle at 92% 0%, rgb(224 188 105 / .2), transparent 28%), linear-gradient(135deg, #0d2a3c, #123e50 58%, #102d42); box-shadow: 0 28px 80px rgb(16 45 66 / .18); }
.v21-command-center::after { position: absolute; right: -70px; bottom: -100px; width: 260px; height: 260px; border: 1px solid rgb(224 188 105 / .17); border-radius: 50%; content: ''; box-shadow: 0 0 0 28px rgb(224 188 105 / .04), 0 0 0 56px rgb(224 188 105 / .025); pointer-events: none; }
.v21-command-intro { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.v21-command-intro .section-kicker { color: #e0bc69; }.v21-command-intro h2 { margin: 4px 0 6px; color: #fff; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.04em; }.v21-command-intro p:not(.section-kicker) { max-width: 560px; margin: 0; color: #b8d0d4; font-size: 13px; }.v21-live-pill { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgb(72 215 168 / .28); border-radius: 99px; padding: 8px 11px; color: #b7efdd; background: rgb(72 215 168 / .08); font-size: 10px; white-space: nowrap; }.v21-live-pill i { width: 7px; height: 7px; border-radius: 50%; background: #48d7a8; box-shadow: 0 0 0 4px rgb(72 215 168 / .12); }
.v21-command-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr); gap: 16px; margin-top: 26px; }.v21-finding-panel, .v21-decision-panel { min-width: 0; border: 1px solid rgb(255 255 255 / .13); border-radius: 18px; padding: 18px; background: rgb(4 20 31 / .28); }.v21-command-center .panel-heading { margin-bottom: 13px; }.v21-command-center .panel-heading h3 { color: #f7fbfa; }.v21-command-center .section-kicker { color: #9fc0c7; }.v21-command-center .panel-tag { border-color: rgb(255 255 255 / .17); color: #c0d5d9; background: rgb(255 255 255 / .06); }
.v21-loading, .v21-empty-visual { padding: 22px 10px; color: #708d98; font-size: 12px; text-align: center; }.v21-finding-board { display: grid; gap: 8px; }.v21-finding-item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; border-left: 3px solid #5fb9a5; border-radius: 10px; padding: 11px 12px; background: rgb(255 255 255 / .055); }.v21-finding-item.is-risk { border-left-color: #e08b73; }.v21-finding-item.is-market { border-left-color: #e0bc69; }.v21-finding-index { color: #e0bc69; font-size: 11px; font-weight: 900; letter-spacing: .08em; }.v21-finding-item strong { display: block; color: #f6fbfa; font-size: 13px; }.v21-finding-item p { margin: 4px 0 7px; color: #b7cdd1; font-size: 11px; line-height: 1.55; }.v21-finding-item small { display: flex; flex-wrap: wrap; gap: 7px; color: #82a4ae; font-size: 10px; }.v21-finding-item small b { color: #d9e7e5; font-weight: 600; }
.v21-decision-board { display: grid; gap: 8px; }.v21-decision-item { display: grid; grid-template-columns: 25px minmax(0, 1fr) 14px; align-items: center; gap: 9px; width: 100%; border: 1px solid rgb(255 255 255 / .1); border-radius: 10px; padding: 11px; color: #eaf5f4; text-align: left; background: rgb(255 255 255 / .045); }.v21-decision-item:hover { border-color: rgb(224 188 105 / .48); background: rgb(224 188 105 / .08); }.v21-decision-item > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; color: #163548; background: #e0bc69; font-size: 10px; font-weight: 900; }.v21-decision-item strong { display: block; color: #f5fbf9; font-size: 11px; }.v21-decision-item p { margin: 3px 0 0; color: #a9c1c5; font-size: 10px; line-height: 1.45; }.v21-decision-item > b { color: #e0bc69; font-size: 16px; }
.v21-evidence-spine { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgb(255 255 255 / .12); }.v21-evidence-spine > b { color: #e0bc69; font-size: 18px; font-weight: 500; }.v21-spine-node { min-width: 0; }.v21-spine-node span { display: block; margin-bottom: 5px; color: #719aaa; font-size: 9px; font-weight: 800; }.v21-spine-node strong, .v21-spine-node small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.v21-spine-node strong { color: #e9f3f2; font-size: 11px; }.v21-spine-node small { margin-top: 3px; color: #91adb5; font-size: 9px; }.v21-spine-node.is-final strong { color: #f2d58f; }
.v21-market-visual-grid, .v21-comment-map-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 16px; margin-top: 16px; }.v21-market-visual-grid .panel, .v21-comment-map-grid .panel { min-width: 0; }.v21-matrix-panel, .v21-scatter-panel { min-height: 284px; }.v21-market-matrix { display: grid; gap: 10px; }.v21-matrix-row { display: grid; grid-template-columns: 112px minmax(80px, 1fr) 86px; align-items: center; gap: 10px; }.v21-matrix-row > div strong, .v21-matrix-row > div small, .v21-matrix-row > strong, .v21-matrix-row > strong small { display: block; }.v21-matrix-row > div strong { color: #1d4052; font-size: 11px; }.v21-matrix-row > div small { margin-top: 2px; color: #758795; font-size: 9px; }.v21-matrix-row > strong { color: #8b5915; font-size: 11px; text-align: right; }.v21-matrix-row > strong small { color: #7d8c96; font-size: 9px; font-weight: 500; }.v21-matrix-bar { display: block; height: 8px; overflow: hidden; border-radius: 99px; background: #e8eef0; }.v21-matrix-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #75b7a4, #1e5a78); }
.v21-price-scatter { position: relative; min-height: 218px; }.v21-scatter-canvas { position: relative; height: 190px; margin: 0 12px 0 42px; border-bottom: 1px solid #cbd8dc; border-left: 1px solid #cbd8dc; background: repeating-linear-gradient(to top, transparent 0, transparent 46px, rgb(35 77 95 / .08) 47px); }.v21-scatter-point { position: absolute; display: block; width: var(--point-size); height: var(--point-size); transform: translate(-50%, 50%); }.v21-scatter-point i { display: block; width: 100%; height: 100%; border: 2px solid #fff; border-radius: 50%; background: #dd9c55; box-shadow: 0 3px 9px rgb(16 45 66 / .2); }.v21-scatter-point:nth-child(even) i { background: #4da58d; }.v21-scatter-point b { position: absolute; top: calc(100% + 3px); left: 50%; transform: translateX(-50%); color: #647b87; font-size: 8px; font-weight: 700; white-space: nowrap; }.v21-axis-label { color: #758795; font-size: 9px; }.v21-axis-y { position: absolute; top: 78px; left: 0; writing-mode: vertical-rl; }.v21-axis-x { margin: 7px 0 0 42px; }.v21-axis-x small { margin-left: 7px; color: #a2aeb4; }.v21-axis-line { position: absolute; display: block; opacity: .6; }.v21-axis-line-x { right: 0; bottom: 46px; left: 0; border-top: 1px dashed #cbd8dc; }.v21-axis-line-y { top: 0; bottom: 0; left: 50%; border-left: 1px dashed #d4dfe2; }
.v21-insight-ribbon { display: flex; align-items: center; gap: 13px; margin-top: 16px; border: 1px solid #e2d09c; border-radius: 16px; padding: 14px 16px; background: linear-gradient(90deg, #fff9e9, #fff); }.v21-ribbon-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #fff; background: #1e5a78; font-size: 18px; }.v21-insight-ribbon div { flex: 1; }.v21-insight-ribbon strong { display: block; color: #173c50; font-size: 12px; }.v21-insight-ribbon p { margin: 3px 0 0; color: #6c7e89; font-size: 11px; }.v21-insight-ribbon .button { flex: 0 0 auto; }
.v21-comment-map-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }.v21-demand-map { min-height: 245px; }.v21-public-feedback-note { display: grid; gap: 4px; margin: 0 0 10px; border: 1px solid #d5e2e8; border-radius: 10px; padding: 9px 10px; background: #f7fbfc; }.v21-public-feedback-note strong { color: #315d69; font-size: 10px; font-weight: 850; letter-spacing: .03em; }.v21-public-feedback-note span { color: #617985; font-size: 10px; line-height: 1.5; }.v21-theme-orbit { position: relative; min-height: 230px; }.v21-orbit-core { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 76px; height: 76px; transform: translate(-50%, -50%); border: 1px solid #d6b966; border-radius: 50%; color: #765319; background: #fff8df; font-size: 11px; font-style: normal; font-weight: 800; line-height: 1.35; text-align: center; box-shadow: 0 0 0 12px rgb(224 188 105 / .08); }.v21-theme-node { position: absolute; top: calc(50% - var(--node-size) / 2); left: calc(50% - var(--node-size) / 2); display: grid; place-items: center; width: var(--node-size); height: var(--node-size); transform: rotate(var(--node-angle)) translateY(-86px) rotate(calc(var(--node-angle) * -1)); border: 1px solid #83c0b0; border-radius: 50%; padding: 5px; color: #175b51; background: #e9f7f1; text-align: center; }.v21-theme-node.is-risk { border-color: #e3a28d; color: #9a523c; background: #fff0e8; }.v21-theme-node b { display: block; max-width: 90%; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.v21-theme-node small { display: block; margin-top: 2px; font-size: 8px; }
.v21-evidence-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.v21-evidence-note { min-width: 0; border-top: 3px solid #61aa98; border-radius: 10px; padding: 11px; background: #f0f8f5; }.v21-evidence-note.is-risk { border-top-color: #df8f74; background: #fff4ef; }.v21-evidence-note > span { display: block; overflow: hidden; color: #277b6d; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.v21-evidence-note.is-risk > span { color: #a45943; }.v21-evidence-note p { display: -webkit-box; overflow: hidden; min-height: 38px; margin: 8px 0; color: #324d59; font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.v21-evidence-note small { color: #758795; font-size: 9px; }
@media (max-width: 960px) { .v21-command-grid, .v21-market-visual-grid, .v21-comment-map-grid { grid-template-columns: 1fr; }.v21-evidence-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .workspace-context { display: none; }.nav-group-label { display: none; }.v21-command-intro { flex-direction: column; gap: 12px; }.v21-live-pill { align-self: flex-start; }.v21-evidence-spine { grid-template-columns: 1fr; gap: 9px; }.v21-evidence-spine > b { display: none; }.v21-spine-node { display: grid; grid-template-columns: 27px 1fr; column-gap: 8px; align-items: center; }.v21-spine-node span { grid-row: span 2; margin: 0; }.v21-spine-node small { grid-column: 2; }.v21-insight-ribbon { align-items: flex-start; flex-wrap: wrap; }.v21-insight-ribbon .button { margin-left: 43px; }.v21-evidence-wall { grid-template-columns: 1fr; }.v21-matrix-row { grid-template-columns: 94px minmax(60px, 1fr) 72px; gap: 7px; } }

/* V2.1 decision evidence refinements */
.v21-finding-method { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-top: 12px; padding: 12px 14px; border: 1px solid rgb(224 188 105 / .35); border-radius: 15px; background: linear-gradient(100deg, rgb(255 249 231 / .95), rgb(255 255 255 / .88)); }
.v21-finding-method > div { display: grid; grid-template-columns: 23px 1fr; column-gap: 7px; align-items: center; min-width: 0; }
.v21-finding-method > div span { display: grid; place-items: center; width: 23px; height: 23px; grid-row: span 2; border-radius: 7px; color: #fff; background: #1e5a78; font-size: 9px; font-weight: 800; }
.v21-finding-method strong { color: #173c50; font-size: 10px; }.v21-finding-method small { overflow: hidden; color: #71818b; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }.v21-finding-method i { color: #d3a548; font-size: 18px; font-style: normal; text-align: center; }.v21-finding-method > b { border-left: 1px solid #e8d8ad; padding-left: 13px; color: #8f641c; font-size: 10px; white-space: nowrap; }
.v21-finding-item { position: relative; overflow: hidden; }.v21-finding-item::after { position: absolute; right: 15px; bottom: 10px; width: 70px; height: 2px; content: ''; background: linear-gradient(90deg, transparent, rgb(224 188 105 / .55)); }.v21-finding-item small { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }.v21-finding-item small span { color: #d6e6eb; }.v21-finding-item small b { border-radius: 999px; padding: 3px 6px; color: #c6e8dc; background: rgb(53 145 119 / .18); font-size: 8px; font-weight: 800; }.v21-finding-item.is-risk small b { color: #ffd0b8; background: rgb(194 79 79 / .18); }.v21-finding-item.is-market small b { color: #f4ddb0; background: rgb(180 107 23 / .22); }
.v21-matrix-panel, .v21-scatter-panel { position: relative; }.v21-matrix-panel::after, .v21-scatter-panel::after { position: absolute; right: 18px; bottom: 16px; color: #bd9250; content: '证据 → 判断'; font-size: 9px; font-weight: 800; letter-spacing: .06em; opacity: .7; }
.v21-theme-orbit::before { position: absolute; top: 50%; left: 50%; width: 176px; height: 176px; transform: translate(-50%, -50%); border: 1px dashed rgb(30 90 120 / .22); border-radius: 50%; content: ''; }.v21-theme-orbit::after { position: absolute; top: 50%; left: 50%; width: 108px; height: 108px; transform: translate(-50%, -50%); border: 1px solid rgb(224 188 105 / .22); border-radius: 50%; content: ''; pointer-events: none; }
@media (max-width: 700px) { .v21-finding-method { grid-template-columns: 1fr; gap: 8px; }.v21-finding-method > i { display: none; }.v21-finding-method > b { border-top: 1px solid #e8d8ad; border-left: 0; padding: 8px 0 0; }.v21-theme-orbit::before { width: 160px; height: 160px; }.v21-theme-orbit::after { width: 100px; height: 100px; } }

/* V2.1 module navigation and analytical visualizations */
.main-content[data-view] > .filter-bar { margin-bottom: 22px; }
.main-content[data-view="workspace"] > .filter-bar,
.main-content[data-view="opportunities"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #data-workshop, #report, #report-result),
.main-content[data-view="sentiment"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #opportunities, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #data-workshop, #report, #report-result),
.main-content[data-view="design"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #opportunities, #sentiment, #market-validation, #data-workshop, #report, #report-result),
.main-content[data-view="validation"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #opportunities, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel),
.main-content[data-view="overview"] > :is(#workspace, #opportunities, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #data-workshop, #report, #report-result) { display: none; }
.main-content[data-view="workspace"] > :is(.decision-strip, .v21-command-center, #overview, #opportunities, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #data-workshop, #report, #report-result) { display: none; }
.main-content[data-view="opportunities"] > .filter-bar,
.main-content[data-view="sentiment"] > .filter-bar,
.main-content[data-view="design"] > .filter-bar,
.main-content[data-view="validation"] > .filter-bar { display: flex; }
.nav-link.is-active { color: #fff; background: #273966; }
.workspace-home { display: grid; gap: 22px; }
.workspace-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 30px; border: 1px solid #dbe3f4; border-radius: 24px; background: linear-gradient(135deg, #f5f7ff 0%, #fff 58%, #fff7e7 100%); box-shadow: 0 20px 55px rgb(42 56 105 / .08); }
.workspace-hero h2 { margin: 5px 0 8px; font-size: clamp(28px, 4vw, 46px); letter-spacing: -.05em; }
.workspace-hero p:not(.section-kicker) { max-width: 620px; margin: 0; color: #506078; }
.workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.project-card { min-height: 230px; display: flex; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid #dbe3f4; border-radius: 21px; background: #fff; box-shadow: 0 14px 35px rgb(39 52 91 / .06); }
.project-card-active { color: #fff; background: linear-gradient(145deg, #182745, #2f4d86); border-color: #304c80; }
.project-card-new { border-style: dashed; background: #fbfcff; }
.project-card-top { width: 100%; display: flex; justify-content: space-between; align-items: center; }
.project-card h3 { margin: 20px 0 2px; font-size: 30px; letter-spacing: .08em; }
.project-card p { margin: 0; color: #7890b1; }
.project-card-active p { color: #d5dded; }
.project-card-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 25px 0 20px; }
.project-card-meta span, .project-status { border: 1px solid rgb(255 255 255 / .2); border-radius: 999px; padding: 5px 9px; color: #dce8ff; background: rgb(255 255 255 / .09); font-size: 11px; }
.project-card:not(.project-card-active) .project-card-meta span, .project-card:not(.project-card-active) .project-status { border-color: #e1e7f0; color: #5a6b83; background: #f5f7fb; }
.project-card .button { margin-top: auto; }
.project-avatar-large { width: 48px; height: 48px; font-size: 20px; }
.new-project-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #cfd9eb; border-radius: 15px; color: #4968e8; background: #eff2ff; font-size: 28px; }
.workspace-rail { display: grid; grid-template-columns: 1.6fr repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid #dbe3f4; border-radius: 16px; background: #dbe3f4; }
.workspace-rail > div { display: grid; gap: 4px; padding: 17px 19px; background: #fff; }
.workspace-rail span { color: #8190a6; font-size: 11px; }.workspace-rail strong { color: #22324c; font-size: 13px; }
.analytics-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }.overview-chart-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.overview-chart-grid .chart-panel { min-width: 0; }
.chart-panel { min-height: 260px; }
.chart-caption { margin: 16px 0 0; color: #6d7c91; font-size: 11px; line-height: 1.5; }
.donut-chart { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 22px; min-height: 150px; }
.donut-visual { display: grid; place-items: center; width: 142px; height: 142px; border-radius: 50%; background: conic-gradient(var(--donut-stops)); }
.donut-visual::before { grid-area: 1 / 1; width: 92px; height: 92px; border-radius: 50%; background: #fff; content: ''; }.donut-visual > div { z-index: 1; grid-area: 1 / 1; display: grid; place-items: center; }.donut-visual strong { color: #1e2f4b; font-size: 22px; line-height: 1; }.donut-visual span { color: #748299; font-size: 10px; }
.donut-legend { display: grid; gap: 8px; }.donut-legend span { display: flex; align-items: center; gap: 7px; color: #53627a; font-size: 11px; }.donut-legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--legend-color); }.donut-legend b { margin-left: auto; color: #213552; }
.price-bars, .star-distribution { display: grid; gap: 12px; padding-top: 6px; }.price-bar-row, .star-row { display: grid; grid-template-columns: 58px 1fr 58px; align-items: center; gap: 9px; color: #60718a; font-size: 11px; }.price-bar-row > div, .star-row > div { height: 8px; overflow: hidden; border-radius: 99px; background: #edf1f7; }.price-bar-row i, .star-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4968e8, #7c8cf2); }.price-bar-row strong, .star-row strong { color: #243957; font-size: 11px; text-align: right; }
.price-band-chart { display: flex; align-items: end; gap: 14px; min-height: 180px; padding: 12px 6px 0; border-bottom: 1px solid #e3e9f2; }.price-band-row { display: grid; flex: 1; grid-template-rows: 1fr auto; align-items: end; gap: 8px; min-width: 0; height: 168px; text-align: center; }.price-band-plot { position: relative; display: flex; align-items: end; justify-content: center; height: 100%; min-height: 126px; border-bottom: 1px solid #dfe6f1; background: repeating-linear-gradient(to top, transparent 0 38px, #eef2f8 39px 40px); }.price-band-row i { display: block; width: min(42px, 72%); min-height: 8px; border-radius: 8px 8px 2px 2px; background: linear-gradient(180deg, #7d8df1, #4968e8); box-shadow: 0 4px 10px rgb(73 104 232 / .18); }.price-band-plot span { position: absolute; bottom: 8px; color: #213552; font-size: 12px; font-weight: 800; }.price-band-row small { overflow: hidden; color: #53627a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.review-volume-chart { min-height: 150px; padding: 6px 4px 0; }.chart-axis-guide { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 9px; color: #5a6d86; font-size: 10px; line-height: 1.4; }.chart-axis-guide span { display: inline-flex; gap: 5px; }.chart-axis-guide strong { color: #294363; font-size: inherit; }.review-volume-chart-plot { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 8px; align-items: stretch; }.review-volume-y-axis { display: flex; flex-direction: column; justify-content: space-between; height: 130px; color: #63758d; font-size: 9px; line-height: 1; text-align: right; }.review-volume-graphic { min-width: 0; }.review-volume-chart svg { display: block; width: 100%; height: 130px; overflow: visible; }.review-volume-chart circle { cursor: help; }.review-volume-chart circle:focus { outline: none; stroke: #172d6c; stroke-width: 2.4; }.chart-axis-labels { display: flex; justify-content: space-between; color: #63758d; font-size: 9px; }.chart-value-guide { margin: 8px 0 0 39px; color: #667890; font-size: 10px; line-height: 1.45; }.chart-empty-state { display: grid; place-items: center; min-height: 150px; gap: 7px; color: #78869a; text-align: center; }.chart-empty-state strong { color: #334765; font-size: 15px; }.chart-empty-state span { max-width: 240px; font-size: 11px; }

#sentiment .sentiment-hero-card { border-color: #ced9e8; background: linear-gradient(145deg, #fbfdff 0%, #f1f6fb 100%); box-shadow: 0 12px 26px rgb(31 60 98 / .08); }
#sentiment .sentiment-hero-card span { color: #8a671c; }
#sentiment .sentiment-hero-card strong { color: #1c3149; }
#sentiment .sentiment-hero-card small { color: #5b6d80; }
#sentiment .sentiment-hero-primary { border-color: #dfc371; background: radial-gradient(circle at 82% 15%, rgb(225 185 81 / .22), transparent 38%), linear-gradient(145deg, #fffdf6 0%, #f7f1df 100%); }
.design-core-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }.button-danger { border-color: #d88b8b; color: #a63d3d; background: #fff6f5; }.button-danger:hover { border-color: #b94d4d; color: #fff; background: #b94d4d; }.design-secondary-actions { position: relative; }.design-secondary-actions summary { list-style: none; border: 1px solid #d8dfeb; border-radius: 8px; padding: 8px 11px; color: #56677f; background: #fff; font-size: 12px; cursor: pointer; }.design-secondary-actions summary::-webkit-details-marker { display: none; }.design-secondary-actions[open] { display: flex; gap: 7px; align-items: center; }.design-secondary-actions[open] summary { display: none; }
.design-request-status.is-success { color: #157254; font-weight: 700; }
.assistant-drawer { max-height: 48vh; }
.opportunity-formula { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 12px 14px; border: 1px solid #dfe6f1; border-radius: 12px; color: #3f506a; background: #f7f9fc; font-size: 12px; }.opportunity-formula span { flex: 0 0 auto; color: #7c5b1b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.opportunity-formula strong { color: #233b5d; font-weight: 700; line-height: 1.5; }.index-confidence { display: grid; gap: 4px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #e4e9f1; }.index-confidence b { color: #176c59; font-size: 12px; }.index-confidence span { color: #64748b; font-size: 11px; }.opportunity-component-grid article > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }.opportunity-component-grid article > div:first-child span { color: #243957; font-weight: 800; }.opportunity-component-grid article > div:first-child small { color: #8090a5; font-size: 10px; font-weight: 600; }.component-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; color: #718097; font-size: 10px; }.component-meta b { color: #755118; }
@media (max-width: 1100px) { .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.overview-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.overview-chart-grid .chart-panel:last-child { grid-column: 1 / -1; } }
@media (min-width: 1101px) { .overview-chart-grid > .chart-panel:nth-child(4) { grid-column: span 2; } }
@media (max-width: 780px) { .workspace-hero { align-items: flex-start; flex-direction: column; }.workspace-grid, .analytics-chart-grid, .overview-chart-grid { grid-template-columns: 1fr; }.overview-chart-grid .chart-panel:last-child { grid-column: auto; }.metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.workspace-rail { grid-template-columns: 1fr; }.donut-chart { grid-template-columns: 135px 1fr; }.price-band-chart { gap: 7px; }.price-band-row { height: 152px; }.opportunity-formula { align-items: flex-start; flex-direction: column; gap: 5px; } }

@media (min-width: 1101px) { .metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 781px) and (max-width: 1100px) { .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px) { .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.concept-history-image-wrap.is-image-error { display: grid; place-items: center; padding: 20px; background: linear-gradient(145deg, #18243a, #0d1423); }
.concept-history-image-wrap.is-image-error::after { max-width: 180px; color: #9ba8bb; font-size: 11px; line-height: 1.6; text-align: center; content: '概念图文件暂不可用，请重新生成或检查存储状态'; }

.design-translation-compact { margin-top: 12px; border-left: 3px solid #4d6cf0; }
.design-translation-compact .design-translation-intro { max-width: 760px; }
.opportunity-evidence-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 0; }
.opportunity-evidence-rail article { display: flex; align-items: flex-start; gap: 12px; min-height: 112px; padding: 16px; border: 1px solid #dbe3ef; border-radius: 14px; background: #fff; box-shadow: 0 10px 26px rgb(26 45 78 / 6%); }
.opportunity-evidence-rail article:last-child { position: relative; padding-bottom: 54px; }
.opportunity-evidence-rail strong { display: block; color: #182b49; font-size: 13px; }
.opportunity-evidence-rail p { margin: 6px 0 0; color: #62728a; font-size: 11px; line-height: 1.65; }
.rail-index { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: #233d72; font: 800 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.opportunity-evidence-rail .button { position: absolute; right: 14px; bottom: 12px; padding: 7px 10px; font-size: 11px; }
.project-dialog { width: min(480px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 20px; color: #20324f; background: #f8fbff; box-shadow: 0 28px 90px rgb(10 27 54 / 30%); }
.project-dialog::backdrop { background: rgb(12 24 46 / 55%); backdrop-filter: blur(5px); }
.project-dialog form { display: grid; gap: 14px; padding: 24px; }
.project-dialog .panel-heading { margin: -24px -24px 0; padding: 20px 24px; border-bottom: 1px solid #e1e8f2; background: #fff; }
.project-dialog .panel-heading h2 { margin: 4px 0 0; font-size: 22px; }
.project-dialog label { display: grid; gap: 6px; color: #314663; font-size: 12px; font-weight: 700; }
.project-dialog input { min-height: 42px; padding: 0 12px; border: 1px solid #cbd7e7; border-radius: 10px; color: #1c304f; background: #fff; font: inherit; }
.project-dialog input:focus { border-color: #4d6cf0; outline: 3px solid rgb(77 108 240 / 15%); }
.project-dialog-intro { margin: 0; color: #65758d; font-size: 12px; line-height: 1.6; }
.project-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.project-card-created { border-top: 3px solid #7185eb; }
.project-card-created .project-status { color: #5b6cdb; background: #eef0ff; }
@media (max-width: 780px) { .opportunity-evidence-rail { grid-template-columns: 1fr; }.project-dialog form { padding: 20px; }.project-dialog .panel-heading { margin: -20px -20px 0; padding: 18px 20px; } }
 .topbar { align-items: flex-start; }
 .topbar > div:first-child { min-width: 0; }
 .topbar h1 { max-width: 760px; text-wrap: balance; }
 .topbar-actions { flex: 0 0 auto; }
 .decision-strip { position: relative; overflow: hidden; border: 1px solid rgb(212 175 55 / .32); background: linear-gradient(120deg, #17243b 0%, #102d42 58%, #1f1a13 100%); box-shadow: 0 22px 55px rgb(4 10 20 / .28); }
 .decision-strip::after { position: absolute; right: -42px; bottom: -68px; width: 220px; height: 220px; border: 1px solid rgb(212 175 55 / .2); border-radius: 50%; content: ''; box-shadow: 0 0 0 26px rgb(212 175 55 / .04), 0 0 0 52px rgb(212 175 55 / .025); pointer-events: none; }
 .decision-strip-intro, .decision-strip-metrics, .decision-strip-cta { position: relative; z-index: 1; }
 .decision-strip-intro h2 { color: #fff8e7; }
 .decision-strip-intro p:not(.section-kicker) { color: #c5d7dc; }
 .decision-strip-metrics article { border-left-color: rgb(212 175 55 / .32); }
 .decision-strip-metrics span { color: #bcd0d7; }
 .decision-strip-metrics strong { color: #fff8e7; }
 .v21-command-center { overflow: hidden; border-color: rgb(212 175 55 / .28); background: linear-gradient(145deg, #101827 0%, #0d1826 58%, #171713 100%); box-shadow: 0 24px 60px rgb(0 0 0 / .25); }
 .v21-command-intro { padding-bottom: 18px; border-bottom: 1px solid rgb(255 255 255 / .1); }
 .v21-command-intro h2 { color: #fff8e7; letter-spacing: -.04em; }
 .v21-command-intro p { max-width: 680px; color: #b9cbd1; }
 .v21-command-grid { gap: 18px; }
 .v21-finding-panel, .v21-decision-panel { border-color: rgb(255 255 255 / .12); background: rgb(255 255 255 / .045); }
 .v21-finding-panel .panel-heading h3, .v21-decision-panel .panel-heading h3 { color: #f7f3e8; }
 .v21-finding-board, .v21-decision-board { display: grid; gap: 10px; }
 .v21-finding-item, .v21-decision-item { border-color: rgb(255 255 255 / .1); background: rgb(7 13 22 / .32); }
 .v21-finding-item p, .v21-decision-item p { color: #c8d5d9; }
 .v21-evidence-spine { border-color: rgb(212 175 55 / .25); background: linear-gradient(90deg, rgb(212 175 55 / .07), rgb(255 255 255 / .035), rgb(212 175 55 / .07)); }
 .v21-spine-node { border-color: rgb(255 255 255 / .13); background: rgb(7 13 22 / .5); }
 .v21-spine-node strong { color: #f1e5bd; }
 .v21-spine-node small { color: #a9bec6; }
 .v21-finding-method { border-color: rgb(212 175 55 / .38); background: linear-gradient(100deg, rgb(255 249 231 / .1), rgb(255 255 255 / .035)); }
 .design-request-panel { position: relative; overflow: hidden; }
 .design-request-panel::before, .manufacturing-status-panel::before, .model-output-panel::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: linear-gradient(90deg, #d4af37, #6bc6b1 55%, #4d6cf0); }
 .design-request-panel .panel-heading, .manufacturing-status-panel .panel-heading, .model-output-panel .panel-heading { position: relative; z-index: 1; }
 .design-package-panel { border-top: 3px solid #4d6cf0; }
 .design-package-panel .design-package-grid { gap: 12px; }
 .design-package-panel .design-package-grid article { border-left: 3px solid #d4af37; }
 .design-result-summary { position: relative; overflow: hidden; }
 .design-result-summary::before { margin-right: 10px; color: #8d6b1c; content: '01'; font: 800 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
 .design-result-summary strong { min-width: 145px; }
 .concept-history-panel { border-top: 3px solid #6bc6b1; }
 .concept-history-intro { max-width: 820px; color: #647487; }
 .public-validation, .data-workshop { border-top: 1px solid var(--line); padding-top: 26px; }
 @media (max-width: 900px) { .topbar { align-items: flex-start; flex-wrap: wrap; }.topbar-actions { width: 100%; justify-content: flex-start; }.decision-strip::after { display: none; } }
@media (max-width: 700px) { .decision-strip-metrics { gap: 8px; }.decision-strip-metrics article { padding: 8px 10px; }.v21-command-intro { align-items: flex-start; flex-direction: column; }.v21-command-grid { grid-template-columns: 1fr; }.v21-finding-method { grid-template-columns: 1fr; }.v21-finding-method > i { display: none; }.v21-finding-method > b { border-top: 1px solid rgb(232 216 173 / .35); border-left: 0; padding: 9px 0 0; }.design-result-summary::before { display: none; } }
 .topbar h1 { font-size: clamp(24px, 2.5vw, 34px); white-space: nowrap; }
 .design-request-core > label > span, .design-request-grid .constraint-field > span { color: #d8e6e9; font-weight: 800; }
 .design-request-core > label > small, .design-request-grid .constraint-field > small { color: #b9cbd1; }
 .design-request-core > label textarea { min-height: 82px; color: #f6f1e6; }
 .design-advanced-inputs > summary { min-height: 30px; display: flex; align-items: center; }
 @media (max-width: 900px) { .topbar h1 { white-space: normal; } }

.design-step-track { display: grid; grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) 42px minmax(0, 1fr); align-items: stretch; gap: 0; margin: 0 0 16px; padding: 8px; border: 1px solid rgb(77 108 240 / .2); border-radius: 16px; background: linear-gradient(110deg, rgb(14 29 48 / .98), rgb(21 34 55 / .94)); box-shadow: 0 16px 35px rgb(7 14 27 / .14); }
.design-step { position: relative; display: grid; grid-template-columns: 31px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; min-width: 0; padding: 12px 13px; border: 1px solid rgb(255 255 255 / .1); border-radius: 11px; background: rgb(255 255 255 / .045); }
.design-step > span { display: grid; grid-row: 1 / span 2; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #173247; background: #cfd8e3; font: 900 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.design-step strong { min-width: 0; overflow: hidden; color: #f7f2e7; font-size: 13px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.design-step small { min-width: 0; margin-top: 3px; overflow: hidden; color: #9fb4c2; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.design-step.is-current { border-color: rgb(212 175 55 / .68); background: linear-gradient(135deg, rgb(212 175 55 / .17), rgb(255 255 255 / .055)); box-shadow: inset 0 0 0 1px rgb(212 175 55 / .1); }
.design-step.is-current > span { color: #2b2414; background: #e2bb59; }
.design-step.is-current strong { color: #fff2c7; }
.design-step.is-complete { border-color: rgb(107 198 177 / .72); background: linear-gradient(135deg, rgb(107 198 177 / .18), rgb(255 255 255 / .055)); }
.design-step.is-complete > span { color: #12382f; background: #6bc6b1; }
.design-step.is-complete > span::after { content: '✓'; }
.design-step.is-complete > span { font-size: 0; }
.design-step.is-complete > span::after { font-size: 13px; }
.design-step.is-complete strong { color: #d5fff2; }
.design-step-track > i { display: grid; place-items: center; color: #6bc6b1; font: 700 18px/1 ui-monospace, SFMono-Regular, Consolas, monospace; font-style: normal; font-size: 0; }
.design-step-track > i::after { width: 24px; height: 1px; background: rgb(107 198 177 / .42); content: ''; }
@media (max-width: 720px) { .design-step-track { grid-template-columns: 1fr; gap: 7px; padding: 7px; }.design-step-track > i { display: block; height: 9px; }.design-step-track > i::after { display: block; width: 1px; height: 9px; margin: 0 auto; }.design-step { grid-template-columns: 31px minmax(0, 1fr); } }

.analysis-loop-number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; font: 900 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; filter: saturate(.8); }
.metric-card-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.metric-info { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid #cbd5e5; border-radius: 50%; color: #667791; background: #f8fafc; font: 800 11px/1 Georgia, serif; }
.metric-info:hover { border-color: #818cf8; color: #4f46e5; background: #eef0ff; }
.metric-dialog { width: min(510px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 16px; color: #1a2b47; box-shadow: 0 24px 80px rgb(8 20 43 / 24%); }
.metric-dialog::backdrop { background: rgb(10 20 38 / 42%); backdrop-filter: blur(3px); }
.metric-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px 16px; border-bottom: 1px solid #e4e9f1; background: #fbfcff; }
.metric-dialog-header h2 { margin: 3px 0 0; font-size: 20px; }
.metric-dialog-content { padding: 20px 22px 24px; }
.metric-definition { display: grid; gap: 14px; }
.metric-definition > p { margin: 0; color: #304665; font-size: 14px; line-height: 1.7; }
.metric-definition > div { display: grid; gap: 4px; padding: 11px 12px; border-radius: 10px; background: #f4f7fb; }
.metric-definition span { color: #7a889b; font-size: 11px; font-weight: 800; }.metric-definition strong { color: #304665; font-size: 12px; line-height: 1.55; }

@media (max-width: 700px) { .topbar-actions { flex-wrap: wrap; width: 100%; }.snapshot-badge { flex: 1 1 100%; min-width: 0; justify-content: flex-start; white-space: normal; } }


.comment-correction-panel{display:grid;gap:14px;margin-top:15px;padding:16px;border:1px solid rgb(224 188 105 / .35);border-radius:13px;background:rgb(5 18 29 / .24)}
.comment-correction-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.comment-correction-heading strong{color:#f5e4aa;font-size:13px}.comment-correction-heading p{margin:5px 0 0;color:#c4d4d8;font-size:11px;line-height:1.6}.comment-correction-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.comment-correction-evidence>div{display:grid;gap:6px;padding:11px;border:1px solid rgb(255 255 255 / .12);border-radius:9px;background:rgb(255 255 255 / .045)}.comment-correction-evidence b{color:#e0bc69;font-size:11px}.comment-correction-evidence span{color:#d2e0e4;font-size:11px;line-height:1.55}.comment-correction-actions{display:flex;gap:8px;flex-wrap:wrap}.comment-correction-panel>small{color:#9fb5bd;font-size:10px;line-height:1.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:700px){.comment-correction-evidence{grid-template-columns:1fr}.comment-correction-heading{flex-direction:column}}
/* 定点 UI 调整：咨询助理采用独立紫靛色系，并扩大上下操作框约三分之一。 */
.assistant-toggle { border-color: #a995ff; color: #f8f5ff; background: #5b45a8; box-shadow: 0 12px 30px rgb(44 31 91 / .3); }
.assistant-toggle:hover { background: #755fd0; }
.assistant-drawer { padding: 33px 24px 27px; border-left-color: #8d7bd2; color: #f4f0ff; background: linear-gradient(180deg, #21183f 0%, #17122d 100%); box-shadow: -24px 0 68px rgb(35 23 75 / .34); }
.assistant-header { padding-bottom: 24px; border-bottom-color: rgb(206 194 255 / .22); }
.assistant-header h2 { color: #fbf9ff; }
.assistant-header p:last-child { color: #cfc6eb; }
.assistant-header .section-kicker { color: #c9baff; }
.assistant-messages { padding-block: 24px; }
.assistant-welcome { padding: 18px; border-color: rgb(201 186 255 / .24); background: rgb(164 139 255 / .1); }
.assistant-welcome strong { color: #d7caff; }
.assistant-welcome span { color: #d8d0ef; }
.assistant-message.user { color: #241940; background: #c9baff; }
.assistant-message.assistant { color: #f0ebff; background: #3c2d70; }
.assistant-message small { color: #c6bae8; }
.assistant-form { padding-top: 19px; padding-bottom: 8px; border-top-color: rgb(206 194 255 / .22); }
.assistant-form label { color: #e5def9; }
.assistant-form textarea { border-color: rgb(206 194 255 / .3); color: #fff; background: rgb(141 123 210 / .14); }
.assistant-form textarea:focus { border-color: #b9a7ff; box-shadow: 0 0 0 3px rgb(185 167 255 / .16); }
.assistant-form textarea::placeholder, .assistant-form small { color: #bcb1dd; }
.assistant-message-action { display: block; min-height: 36px; margin-top: 12px; padding: 8px 11px; border: 1px solid rgb(220 211 255 / .42); border-radius: 9px; color: #241940; background: #d8ceff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.assistant-message-action:hover { background: #eeeaff; }
.assistant-message-action:disabled { opacity: .65; cursor: wait; }

/* 默认收缩：使用三角符号明确表示展开状态。 */
.model-output-disclosure, .design-interpretation-disclosure { width: 100%; }
.model-output-summary-heading, .design-interpretation-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; }
.model-output-summary-heading::-webkit-details-marker, .design-interpretation-summary::-webkit-details-marker { display: none; }
.model-output-summary-heading::before, .design-interpretation-summary::before { flex: 0 0 auto; margin-top: 3px; color: #c9baff; content: '▶'; font-size: 12px; }
.model-output-disclosure[open] > .model-output-summary-heading::before, .design-interpretation-disclosure[open] > .design-interpretation-summary::before { color: #e0d8ff; content: '▼'; }
.model-output-summary-heading > div, .design-interpretation-summary > div { flex: 1; min-width: 0; }
.model-output-summary-heading h3 { margin: 4px 0 0; color: #fff8e7; }
.model-output-body { padding-top: 14px; }
.design-interpretation-panel { padding: 0; border: 0; background: transparent; }
.design-interpretation-summary { padding: 14px; border: 1px solid rgb(212 175 55 / .28); border-radius: 12px; background: rgb(255 255 255 / .045); }
.design-interpretation-summary h4 { margin: 4px 0 0; color: #fff8e7; font-size: 15px; }
.design-interpretation-body { padding-top: 12px; }
@media (max-width: 700px) { .assistant-drawer { padding: 26px 18px 22px; } }


/* 定点修改：历史草图详情右侧吸附、内部独立滚动；移动端改为底部面板。 */
.concept-history-detail-actions { margin-top: 0; padding-top: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; }
.concept-history-detail-actions .button { width: 100%; flex: 0 0 auto; }
.concept-details-drawer { position: fixed; z-index: 60; top: 50%; right: 18px; display: flex; width: min(440px, calc(100vw - 36px)); max-height: 76vh; flex-direction: column; overflow: hidden; border: 1px solid #cbd9e2; border-radius: 18px; color: #173c50; background: #fff; box-shadow: 0 24px 70px rgb(16 45 66 / .28); transform: translate(18px, -50%); opacity: 0; pointer-events: none; transition: opacity 180ms ease, transform 180ms ease; }
.concept-details-drawer[hidden] { display: none; }
.concept-details-drawer.is-open { transform: translate(0, -50%); opacity: 1; pointer-events: auto; }
.concept-details-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 18px 14px; border-bottom: 1px solid #dce4eb; background: #f7f9fb; }
.concept-details-drawer-head h3 { margin: 4px 0 0; color: #173c50; font-size: 17px; }
.concept-details-drawer-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 18px 20px; }
.concept-details-image { display: block; width: 100%; max-height: 250px; object-fit: contain; border-radius: 12px; background: #0d1423; }
.concept-details-drawer-content .concept-sketch-meta { margin-top: 14px; }
.concept-details-drawer-content .concept-manufacturing-details { margin-top: 14px; }
@media (max-width: 700px) {
  .concept-details-drawer { top: auto; right: 0; bottom: 0; width: 100%; max-height: min(82vh, 760px); border-radius: 20px 20px 0 0; transform: translateY(18px); }
  .concept-details-drawer.is-open { transform: translateY(0); }
}

/* 咨询助理上下可用空间扩大约三分之一：48vh → 64vh。 */
.assistant-drawer { max-height: 64vh; }
@media (max-width: 700px) {
  .assistant-drawer { height: min(90vh, 820px); max-height: 90vh; }
}


/* 对比度修正：历史草图库按钮与深色卡片底色明确区分，避免文字融入背景。 */
.concept-history-card .concept-history-detail-actions .button:first-child { border-color: #dfbd55; color: #1b2f3d; background: #f8e9a8; }
.concept-history-card .concept-history-detail-actions .button:first-child:hover { border-color: #b88b16; color: #142330; background: #ffeebd; }
.concept-history-card .concept-history-detail-actions .button:last-child { border-color: #79bcb3; color: #123e47; background: #c8eee8; }
.concept-history-card .concept-history-detail-actions .button:last-child:hover { border-color: #368f86; color: #102f37; background: #e0faf5; }
.concept-history-card .concept-history-actions:not(.concept-history-detail-actions) .button { border-color: #a9c8e2; color: #123b55; background: #dcecf9; }
.concept-history-card .concept-history-actions:not(.concept-history-detail-actions) .button:hover { border-color: #5e94bc; color: #0e2d43; background: #eef7ff; }
.concept-history-card .icon-button.danger { border-color: #e7a39d; color: #8f2d2d; background: #fff0ee; }
.concept-history-card .icon-button.danger:hover { border-color: #be4d47; color: #fff; background: #b94d4d; }

/* 对比度修正：候选草图右侧吸附框采用浅底深字，工艺说明不再与底色相似。 */
.concept-details-drawer .icon-button { border-color: #aebdca; color: #233b53; background: #fff; }
.concept-details-drawer .icon-button:hover { border-color: #6b879a; color: #102d42; background: #eaf2f7; }
.concept-details-drawer-content { color: #233b53; }
.concept-details-drawer-content .concept-sketch-meta div { border-color: #d5e0e7; background: #f7f9fb; }
.concept-details-drawer-content .concept-sketch-meta dt { color: #526273; }
.concept-details-drawer-content .concept-sketch-meta dd { color: #21384b; }
.concept-details-drawer-content .concept-visual-analysis { border-color: #d9b36a; background: #fff8e7; }
.concept-details-drawer-content .concept-visual-analysis-warning { border-color: #e1a39b; background: #fff1ef; }
.concept-details-drawer-content .concept-visual-analysis-warning strong { color: #8f2d2d; }
.concept-details-drawer-content .concept-visual-analysis-warning p { color: #40556b; }
.concept-details-drawer-content .concept-manufacturing-details { border-color: #d5e0e7; background: #f7f9fb; }
.concept-details-drawer-content .concept-manufacturing-details summary { color: #725014; }
.concept-details-drawer-content .concept-manufacturing-list { color: #2b4356; background: #eef4f7; }
.concept-details-drawer-content .concept-manufacturing-list strong { color: #173c50; }
.concept-details-drawer-content .concept-manufacturing-list.is-risk { border-left-color: #c24f4f; background: #fff3f1; }
.concept-details-drawer-content .concept-manufacturing-warning,
.concept-details-drawer-content .concept-manufacturing-empty { color: #526273; }

/* 文字按键规则：新增按钮必须同时指定可读的前景色、背景色和边框色，提交前检查对比度。 */
.concept-history-card button,
.concept-details-drawer button { text-shadow: none; }


/* 历史概念草图库：每页 10 张，两列；卡片内部固定左 6 / 右 4。 */
.concept-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid #dce4eb}
.concept-history-page-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.concept-history-page{min-width:34px;min-height:34px;padding:6px 9px;border:1px solid #c9d8e0;border-radius:8px;background:#fff;color:#23485b;cursor:pointer;font:inherit;font-size:12px}
.concept-history-page:hover{border-color:#56859b;background:#edf6f8}
.concept-history-page.is-current{border-color:#1e5a78;background:#1e5a78;color:#fff;font-weight:700}
.concept-history-page-ellipsis{padding:0 2px;color:#526273}
.concept-history-page-jump{display:flex;align-items:center;gap:6px;color:#526273;font-size:12px;white-space:nowrap}
.concept-history-page-jump input{width:64px;min-height:34px;padding:6px 8px;border:1px solid #c9d8e0;border-radius:8px;background:#fff;color:#23485b;font:inherit}
.concept-history-page-jump .button{min-height:34px;padding:6px 10px}
.manufacturing-ai-sync{margin:0 0 14px;padding:12px;border:1px solid rgb(212 175 55 / .3);border-radius:10px;background:rgb(212 175 55 / .08)}
.manufacturing-ai-sync>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.manufacturing-ai-sync>summary::-webkit-details-marker{display:none}
.manufacturing-ai-sync>summary::before{content:'▸';flex:0 0 auto;color:#9b6d16;font-size:15px;font-weight:800}
.manufacturing-ai-sync[open]>summary::before{content:'▾'}
.manufacturing-ai-sync>summary>span{color:#7a5014;font-weight:800}
.manufacturing-ai-sync>summary>small{color:#526273;font-size:11px;line-height:1.5;text-align:right}
.manufacturing-ai-sync-content{margin-top:12px}.manufacturing-ai-sync-content h4{margin:0 0 10px;color:#7a5014;font-size:13px}.manufacturing-ai-sync-content strong{color:#7a5014;font-size:12px}.manufacturing-ai-sync-content p{margin:6px 0 0;color:#526273;font-size:11px;line-height:1.6}.manufacturing-ai-sync .manufacturing-ai-sync-grid{margin-top:12px}
@media(max-width:700px){.concept-history-pagination{align-items:stretch;flex-direction:column}.concept-history-page-jump{justify-content:flex-end}.manufacturing-ai-sync>summary{align-items:flex-start;flex-wrap:wrap}.manufacturing-ai-sync>summary>small{text-align:left}}
/* Market validation report redesign: scoped to #report-result only. */
.report-result { margin-top: 18px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }
.report-result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.report-result-header h2 { margin: 5px 0 0; color: #173c50; font-size: clamp(22px, 2.5vw, 30px); }
.report-status { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #dec67d; border-radius: 999px; color: #815f16; background: #fff7dc; font-size: 12px; font-weight: 800; }
.report-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .35fr); gap: 18px; margin-top: 18px; padding: 20px; border: 1px solid #e5d69e; border-radius: 14px; background: linear-gradient(120deg, #fffaf0, #fff); }
.report-summary-kicker, .report-summary-meta span { display: block; color: #8b5915; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.report-summary strong { display: block; margin-top: 8px; color: #173c50; font-size: clamp(24px, 3vw, 36px); }
.report-summary p { margin: 9px 0 0; color: var(--muted-strong); line-height: 1.65; }
.report-summary-meta { align-self: stretch; padding-left: 18px; border-left: 1px solid #eadfb9; }
.report-summary-meta b { display: block; margin-top: 8px; color: #173c50; font-size: 24px; }
.report-summary-meta small { display: block; margin-top: 10px; color: var(--muted); line-height: 1.5; }
.report-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.report-metric-card { padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); }
.report-metric-card span { display: block; color: var(--muted); font-size: 11px; font-weight: 750; }
.report-metric-card strong { display: block; margin-top: 7px; color: #173c50; font-size: 22px; }
.report-sketch-preview { display: grid; grid-template-columns: minmax(170px, 260px) 1fr; align-items: center; gap: 15px; margin-top: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-subtle); }
.report-sketch-preview img { display: block; width: 100%; max-height: 180px; object-fit: cover; border-radius: 8px; }
.report-sketch-preview span { color: var(--muted-strong); font-size: 13px; font-weight: 700; line-height: 1.55; }
.report-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.report-section { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.report-section-summary { grid-column: 1 / -1; border-color: #e5d69e; background: #fffdf5; }
.report-section-evidence { grid-column: 1 / -1; background: #f5f8fa; }
.report-section-heading { display: flex; align-items: flex-start; gap: 10px; }
.report-section-index { flex: 0 0 auto; min-width: 28px; padding-top: 2px; color: var(--indigo); font-size: 11px; font-weight: 900; }
.report-section h3 { margin: 0; color: #173c50; font-size: 16px; }
.report-section-tag { display: inline-block; margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
.report-section-body { margin: 13px 0 0; color: var(--muted-strong); line-height: 1.65; white-space: pre-line; }
.report-fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.report-fact { min-width: 0; padding: 11px; border-radius: 9px; background: var(--surface-subtle); }
.report-fact span { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.report-fact strong { display: block; margin-top: 5px; color: #263b4b; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.report-table-wrap { margin-top: 14px; overflow-x: auto; }
.report-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 12px; }
.report-table th { padding: 10px 9px; color: var(--muted); background: var(--surface-subtle); font-size: 11px; text-align: left; white-space: nowrap; }
.report-table td { padding: 11px 9px; color: var(--muted-strong); border-top: 1px solid var(--line); vertical-align: top; }
.report-table td:first-child { color: #173c50; font-weight: 750; }
.report-review-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.report-review-footer span { color: var(--muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 760px) { .report-summary, .report-sections { grid-template-columns: 1fr; }.report-section-summary, .report-section-evidence { grid-column: auto; }.report-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.report-sketch-preview { grid-template-columns: 1fr; }.report-result-header, .report-review-footer { align-items: flex-start; flex-direction: column; }.report-summary-meta { padding: 14px 0 0; border-top: 1px solid #eadfb9; border-left: 0; } }


/* Stage 7–8: narrow-scope validation and decision records. */
.report-section-trace { grid-column: 1 / -1; background: #fbfcfd; }
.report-section-trace .report-table { min-width: 1160px; }
.report-metadata { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.report-metadata > div { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #f7fafb; }
.report-metadata span { display: block; color: var(--muted); font-size: 11px; font-weight: 750; }
.report-metadata strong { display: block; margin-top: 5px; color: #263b4b; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.decision-workspace { margin-top: 18px; padding: 18px; border: 1px solid #c9d8df; border-radius: 14px; background: #f8fbfc; }
.decision-workspace-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.decision-workspace-heading h2 { margin: 5px 0 0; color: #173c50; font-size: clamp(21px, 2.5vw, 28px); }
.decision-workspace-heading p { max-width: 760px; margin: 8px 0 0; color: var(--muted-strong); line-height: 1.6; }
.decision-workspace-snapshot { flex: 0 0 auto; max-width: 340px; padding: 8px 10px; border: 1px solid #c3d2d9; border-radius: 999px; color: #285060; background: #edf5f7; font-size: 12px; font-weight: 750; line-height: 1.45; }
.decision-workspace-feedback { min-height: 0; margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.decision-workspace-feedback.is-success { color: #146b4b; }
.decision-workspace-feedback.is-pending { color: #6a5a1f; }
.decision-workspace-feedback.is-error { color: #a22e3a; }
.decision-panel { margin-top: 13px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.decision-panel > summary { padding: 14px 16px; color: #173c50; cursor: pointer; font-weight: 800; list-style: none; }
.decision-panel > summary::-webkit-details-marker { display: none; }
.decision-panel > summary::after { float: right; color: var(--muted); content: '展开'; font-size: 12px; font-weight: 700; }
.decision-panel[open] > summary { border-bottom: 1px solid var(--line); background: #fbfcfd; }
.decision-panel[open] > summary::after { content: '收起'; }
.decision-panel-intro { margin: 14px 16px 0; color: var(--muted-strong); font-size: 13px; line-height: 1.65; }
.decision-form { padding: 16px; }
.decision-form label { display: grid; gap: 6px; min-width: 0; color: #304757; font-size: 12px; font-weight: 750; }
.decision-form label > span { color: #536b77; }
.decision-form input, .decision-form select, .decision-form textarea { box-sizing: border-box; width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid #bfcdd3; border-radius: 8px; color: #183946; background: #fff; font: inherit; font-size: 14px; line-height: 1.45; }
.decision-form textarea { min-height: 84px; resize: vertical; }
.decision-form input:focus, .decision-form select:focus, .decision-form textarea:focus { outline: 3px solid rgba(61, 127, 148, .2); border-color: #39758a; }
.decision-owner-field { max-width: 360px; margin-bottom: 12px; }
.trace-editor { display: grid; gap: 12px; }
.trace-row { min-width: 0; margin: 0; padding: 13px; border: 1px solid #d7e1e5; border-radius: 10px; background: #fbfcfd; }
.trace-row legend { padding: 0 6px; color: #244b5c; font-size: 13px; font-weight: 850; }
.trace-row-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.trace-row-grid > label:nth-child(1), .trace-row-grid > label:nth-child(4), .trace-row-grid > label:nth-child(5), .trace-row-grid > label:nth-child(6), .trace-row-grid > label:nth-child(7) { grid-column: 1 / -1; }
.decision-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.decision-field-grid > label:first-child { grid-column: span 2; }
.compact-form > small { display: block; margin: 9px 0 13px; color: var(--muted); line-height: 1.5; }
.compact-form > label + label { margin-top: 13px; }
.decision-form-actions { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.decision-form-actions span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.decision-record-list { display: grid; gap: 9px; padding: 0 16px 16px; }
.decision-record, .decision-empty { margin: 0; padding: 12px; border: 1px solid #dce5e8; border-radius: 9px; color: var(--muted-strong); background: #fbfcfd; }
.decision-record > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.decision-record strong { color: #173c50; font-size: 13px; }
.decision-record span { flex: 0 0 auto; color: #486674; font-size: 11px; font-weight: 750; text-align: right; }
.decision-record p { margin: 8px 0; color: var(--muted-strong); font-size: 13px; line-height: 1.55; }
.decision-record small, .decision-empty { color: var(--muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 760px) {
  .report-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-workspace { padding: 14px; }
  .decision-workspace-heading { flex-direction: column; }
  .decision-workspace-snapshot { max-width: none; width: 100%; box-sizing: border-box; border-radius: 8px; }
  .decision-panel > summary { min-height: 44px; box-sizing: border-box; }
  .decision-form { padding: 14px; }
  .trace-row-grid, .decision-field-grid { grid-template-columns: 1fr; }
  .decision-field-grid > label:first-child { grid-column: auto; }
  .trace-row-grid > label:nth-child(n) { grid-column: auto; }
  .decision-form-actions { align-items: stretch; flex-direction: column; }
  .decision-form-actions .button { width: 100%; min-height: 44px; }
  .decision-record > div { flex-direction: column; gap: 4px; }
  .decision-record span { text-align: left; }
}

/* UI-02｜PC 端平台分析 / 结果导向外壳。
   只定义全局阅读与导航规则；各页面的内容重排留给 UI-03 至 UI-05。 */
.sidebar { padding: 26px 14px 18px; background: linear-gradient(180deg, #0d2b40 0%, #092031 100%); box-shadow: inset -1px 0 0 rgb(224 188 105 / .12); }
.workspace-context { margin: 26px 8px 0; padding: 13px 10px 0; }
.nav-list { gap: 0; margin-top: 26px; overflow-y: auto; padding: 0 2px 14px; scrollbar-width: thin; scrollbar-color: rgb(224 188 105 / .32) transparent; }
.nav-group { display: grid; gap: 5px; padding: 0 0 16px; }
.nav-group + .nav-group { margin-top: 15px; padding-top: 17px; border-top: 1px solid rgb(255 255 255 / .1); }
.nav-group-label { display: block; padding: 0 10px; color: #efcf7e; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nav-group-description { margin: 0 10px 5px; color: #83a1ae; font-size: 10px; line-height: 1.55; }
.nav-group-results .nav-group-label { color: #a9d5e5; }
.nav-group-management .nav-group-label { color: #9aadb7; }
.nav-group-management .nav-group-description { color: #718a96; }
.nav-link { position: relative; min-height: 58px; align-items: center; border-radius: 11px; padding: 10px 9px 10px 10px; }
.nav-link > span:nth-child(2) { min-width: 0; flex: 1; }
.nav-link strong { letter-spacing: .01em; }
.nav-link small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-route { align-self: flex-start; margin-top: 2px; border: 1px solid rgb(255 255 255 / .14); border-radius: 99px; padding: 2px 5px; color: #a6c4cc; font-size: 9px; font-style: normal; font-weight: 700; line-height: 1.2; }
.nav-link:hover, .nav-link.is-active { background: linear-gradient(90deg, #16445e, #12374d); }
.nav-link.is-active { box-shadow: inset 3px 0 0 #e0bc69, 0 8px 16px rgb(0 0 0 / .13); }
.nav-link.is-active .nav-route { border-color: rgb(224 188 105 / .45); color: #f3daa1; }
.nav-link-management { min-height: 50px; opacity: .82; }
.nav-link-management:hover, .nav-link-management.is-active { opacity: 1; }
.nav-link-management .nav-icon { transform: scale(.88); }
.sidebar-footer { margin-left: 2px; margin-right: 2px; padding: 14px 9px 0; }
.main-content { width: 100%; padding-top: 28px; padding-inline: 16px; }
.topbar { align-items: flex-start; }
.topbar-actions { align-items: center; }
.global-analysis-context { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 2.1fr); align-items: stretch; gap: 18px; margin: 24px 0 30px; padding: 16px 18px; border: 1px solid #cbdbe1; border-radius: 16px; background: linear-gradient(105deg, #f7fbfc 0%, #ffffff 56%, #f5f8fb 100%); box-shadow: 0 14px 34px rgb(20 58 77 / .07); }
.global-context-lead { display: grid; align-content: center; gap: 3px; min-width: 0; padding-right: 18px; border-right: 1px solid #dce6e9; }
.global-context-eyebrow { color: #507486; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.global-context-lead strong { color: #15384b; font-size: 18px; letter-spacing: .08em; }
.global-context-lead span:last-child { color: #526c7b; font-size: 12px; font-weight: 700; }
.global-context-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.global-context-metrics div { min-width: 0; padding: 2px 0 2px 12px; border-left: 2px solid #d8e4e8; }
.global-context-metrics div:first-child { border-left-color: #e0bc69; }
.global-context-metrics dt { color: #718692; font-size: 10px; font-weight: 800; }
.global-context-metrics dd { overflow: hidden; margin: 4px 0 0; color: #213f50; font-size: 12px; font-weight: 750; line-height: 1.45; text-overflow: ellipsis; }
.global-context-metrics div:nth-child(3) dd { color: #7a5d25; }
.global-context-metrics div:nth-child(4) dd { color: #6f5e34; }
.main-content[data-view="catalog"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #opportunities, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #report, #report-result, #decision-workspace) { display: none; }
.main-content[data-view="report"] > :is(.decision-strip, .v21-command-center, #workspace, #overview, #opportunities, #sentiment, #product-definition, #design-input, #design-translation-panel, #manufacturing, #model-output-panel, #design-results, #market-validation, #data-workshop) { display: none; }
.main-content[data-view="catalog"] > .filter-bar { display: flex; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline-color: rgb(30 90 120 / .72); outline-offset: 3px; }
@media (max-width: 1100px) { .global-analysis-context { grid-template-columns: 1fr; gap: 13px; }.global-context-lead { padding: 0 0 13px; border-right: 0; border-bottom: 1px solid #dce6e9; }.global-context-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .global-analysis-context { margin-top: 18px; padding: 14px; }.global-context-metrics { grid-template-columns: 1fr; gap: 10px; }.global-context-metrics div { padding-left: 10px; } }

/* UI-02 PC sidebar fit correction: keep both primary paths visible at a 900px-high desktop viewport. */
.workspace-context { margin-top: 18px; }
.nav-list { margin-top: 18px; overflow: visible; padding-bottom: 6px; }
.nav-group { gap: 3px; padding-bottom: 9px; }
.nav-group + .nav-group { margin-top: 9px; padding-top: 10px; }
.nav-group-description { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.nav-group-label { padding: 0 9px 4px; font-size: 9px; }
.nav-link { min-height: 44px; padding: 7px 8px 7px 9px; }
.nav-link strong { font-size: 12px; }
.nav-link small { font-size: 9px; line-height: 1.25; }
.nav-route { margin-top: 0; padding: 2px 5px; font-size: 8px; }
.nav-link-management { min-height: 42px; }
.sidebar-footer { padding-top: 9px; }
.sidebar-footer small { font-size: 10px; }.sidebar-footer strong { font-size: 11px; }
@media (max-height: 820px) and (min-width: 901px) { .sidebar { padding-top: 18px; }.workspace-context { margin-top: 12px; }.nav-list { margin-top: 12px; }.nav-link { min-height: 40px; padding-top: 5px; padding-bottom: 5px; }.nav-link small { display: none; }.nav-group + .nav-group { margin-top: 6px; padding-top: 7px; }.sidebar-footer { padding-top: 7px; } }

/* UI-02 PC information density: the sidebar is a route chooser, not a second report. */
.nav-list { margin-top: 12px; }
.nav-group { gap: 2px; padding-bottom: 7px; }
.nav-group + .nav-group { margin-top: 7px; padding-top: 8px; }
.nav-group-label { padding-bottom: 2px; }
.nav-link { min-height: 38px; padding-top: 5px; padding-bottom: 5px; }
.nav-link small { display: none; }
.nav-route { padding: 1px 5px; font-size: 8px; }
.nav-link-management { min-height: 36px; }


/* UI-03 PC homepage: analysis summary before internal project operations. */
.analysis-summary-home { display: grid; gap: 16px; }
.analysis-summary-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); overflow: hidden; border: 1px solid #b9cbd3; border-radius: 20px; background: #fff; box-shadow: 0 22px 52px rgb(20 58 77 / .09); }
.analysis-summary-intro { position: relative; overflow: hidden; min-height: 286px; padding: 38px 42px; color: #edf7fa; background: linear-gradient(138deg, #103649 0%, #173f53 58%, #205c71 100%); }
.analysis-summary-intro::before { position: absolute; right: -92px; bottom: -122px; width: 338px; height: 338px; border: 1px solid rgb(209 233 237 / .2); border-radius: 50%; box-shadow: 0 0 0 38px rgb(209 233 237 / .06), 0 0 0 77px rgb(209 233 237 / .04); content: ''; }
.analysis-summary-intro::after { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(90deg, transparent 0 97%, rgb(230 246 248 / .15) 97%), linear-gradient(0deg, transparent 0 97%, rgb(230 246 248 / .12) 97%); background-size: 42px 42px; content: ''; pointer-events: none; }
.analysis-summary-intro > * { position: relative; z-index: 1; }
.analysis-summary-intro .section-kicker { color: #b9d9df; }
.analysis-summary-intro h2 { max-width: 660px; margin: 7px 0 14px; color: #fff; font-size: clamp(34px, 3.7vw, 56px); letter-spacing: -.055em; line-height: 1.05; }
.analysis-summary-intro > p:not(.section-kicker):not(.analysis-summary-proof) { max-width: 650px; margin: 0; color: #d4e7eb; font-size: 15px; line-height: 1.75; }
.analysis-summary-proof { display: flex; align-items: center; gap: 9px; max-width: 590px; margin: 26px 0 0; color: #f3e2b0; font-size: 12px; font-weight: 750; line-height: 1.55; }
.analysis-summary-proof span { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: #e5bd62; box-shadow: 0 0 0 5px rgb(229 189 98 / .15); }
.analysis-summary-boundary { display: grid; align-content: start; gap: 0; padding: 35px 31px 28px; background: linear-gradient(160deg, #fcfaf3 0%, #f7f1df 100%); }
.analysis-summary-boundary .section-kicker { color: #96713a; }
.analysis-summary-boundary h3 { margin: 6px 0 19px; color: #264758; font-size: 21px; letter-spacing: -.025em; }
.analysis-summary-boundary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid #e3d8b5; border-left: 1px solid #e3d8b5; }
.analysis-summary-boundary dl > div { display: grid; align-content: start; gap: 5px; min-height: 82px; padding: 12px 13px; border-right: 1px solid #e3d8b5; border-bottom: 1px solid #e3d8b5; }
.analysis-summary-boundary dt { color: #8a7349; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.analysis-summary-boundary dd { margin: 0; color: #294555; font-size: 13px; font-weight: 750; line-height: 1.45; }
.analysis-summary-boundary p:last-child { margin: 17px 0 0; color: #6d644f; font-size: 11px; line-height: 1.65; }
.main-content[data-view="workspace"] > .analysis-summary-home + .filter-bar { margin-top: 26px; }
@media (max-width: 1100px) { .analysis-summary-hero { grid-template-columns: 1fr; }.analysis-summary-intro { min-height: 0; } }
@media (max-width: 700px) { .analysis-summary-hero { grid-template-columns: 1fr; }.analysis-summary-intro, .analysis-summary-boundary { padding: 27px 21px; }.analysis-summary-boundary dl { grid-template-columns: 1fr; } }

/* UI-04 PC analysis experience: preserve existing data and calculations; only reorganize how evidence is read. */
#overview, #sentiment, #opportunities { position: relative; }
#overview > .section-heading, #sentiment > .section-heading, #opportunities > .section-heading { margin-bottom: 16px; }
.ui04-analysis-frame { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(250px, .7fr); gap: 0; margin: 0 0 22px; overflow: hidden; border: 1px solid #cddce1; border-radius: 18px; box-shadow: 0 16px 34px rgb(17 56 71 / .08); }
.ui04-frame-lead { position: relative; min-height: 238px; padding: 29px 31px 25px; color: #ebf5f5; background: linear-gradient(129deg, #143f52 0%, #0f2e3f 63%, #153a4b 100%); }
.ui04-frame-lead::after { position: absolute; top: -138px; right: -96px; width: 318px; height: 318px; border: 1px solid rgb(213 237 233 / .17); border-radius: 50%; box-shadow: 0 0 0 35px rgb(213 237 233 / .045), 0 0 0 74px rgb(213 237 233 / .03); content: ''; pointer-events: none; }
.ui04-frame-lead > * { position: relative; z-index: 1; }
.ui04-frame-lead .section-kicker { margin: 0; color: #b4d5d7; }
.ui04-frame-lead h3 { max-width: 720px; margin: 7px 0 9px; color: #fff; font-size: clamp(23px, 2vw, 31px); letter-spacing: -.045em; line-height: 1.16; }
.ui04-frame-lead > p:not(.section-kicker) { max-width: 730px; margin: 0; color: #cce0e2; font-size: 13px; line-height: 1.72; }
.ui04-waypoints { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; max-width: 680px; margin: 25px 0 0; padding: 0; list-style: none; }
.ui04-waypoints li { display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-areas: 'index strong' 'index small'; column-gap: 8px; min-width: 0; }
.ui04-waypoints span { grid-area: index; display: grid; place-items: center; width: 25px; height: 25px; margin-top: 1px; border: 1px solid rgb(225 204 142 / .62); border-radius: 50%; color: #f5d88e; font: 800 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.ui04-waypoints strong { grid-area: strong; color: #fff; font-size: 11px; line-height: 1.3; }
.ui04-waypoints small { grid-area: small; margin-top: 2px; color: #b8d1d4; font-size: 10px; line-height: 1.45; }
.ui04-boundary-card { display: grid; align-content: start; padding: 30px 26px; background: linear-gradient(156deg, #fffaf0 0%, #f3ecd9 100%); }
.ui04-boundary-card > span { color: #94713a; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.ui04-boundary-card strong { margin: 9px 0 11px; color: #314a55; font-size: 17px; letter-spacing: -.025em; line-height: 1.38; }
.ui04-boundary-card p { margin: 0; color: #685f4d; font-size: 11px; line-height: 1.72; }
.ui04-analysis-frame-opportunity .ui04-frame-lead { background: linear-gradient(127deg, #2e414f 0%, #203746 57%, #224051 100%); }
#opportunities .ui04-analysis-frame-opportunity { grid-template-columns: minmax(0, 7fr) minmax(250px, 3fr); }
#overview .market-methodology-panel { margin: 0 0 18px; border-color: #cadce0; background: linear-gradient(118deg, #f7fbfb 0%, #fff 74%); }
#overview .market-methodology-panel .panel-heading { padding-bottom: 14px; border-bottom: 1px solid #dbe9ea; }
#overview .market-methodology-panel .panel-tag { color: #3d6972; background: #e9f4f4; }
.market-methodology-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.market-methodology-grid > article { min-width: 0; padding: 14px; border: 1px solid #d5e3e5; border-radius: 12px; background: #fff; }
.market-methodology-grid span { display: block; color: #5c7c84; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.market-methodology-grid strong { display: block; margin-top: 8px; color: #234653; font-size: 13px; line-height: 1.38; }
.market-methodology-grid p { margin: 8px 0 0; color: #62777f; font-size: 11px; line-height: 1.65; }
.market-decision-points { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.market-decision-points li { padding: 9px 10px; border-left: 2px solid rgb(234 204 135 / .8); color: #d7e7e8; background: rgb(255 255 255 / .055); font-size: 11px; line-height: 1.6; }
.market-decision-points strong { color: #fff4cf; }

.ui04-analysis-frame-sentiment .ui04-frame-lead { background: linear-gradient(127deg, #24334c 0%, #1c3045 58%, #294257 100%); }
.ui04-analysis-frame-opportunity .ui04-waypoints span { border-color: rgb(227 190 113 / .75); color: #f0cc83; }
#overview .market-indicators-panel { margin-top: 18px; border-color: #cbdfe1; background: linear-gradient(118deg, #f6fbfb 0%, #fff 74%); }
#overview .market-indicators-panel .panel-heading { padding-bottom: 14px; border-bottom: 1px solid #dae8e9; }
#overview .market-indicators-panel .panel-tag { color: #3c6972; background: #e9f4f4; }
#overview .overview-lower-grid { align-items: stretch; margin-top: 20px; }
#overview .decision-panel { border-color: #213f4e; background: linear-gradient(134deg, #163847 0%, #1e4d5a 100%); }
#overview .decision-panel .section-kicker { color: #b8d6d7; }
#overview .decision-panel .panel-heading h3 { color: #fff; }
#overview .decision-panel .panel-tag { color: #f4d889; border-color: rgb(235 202 128 / .35); background: rgb(255 255 255 / .08); }
#overview .decision-panel .decision-status { border-color: rgb(194 227 223 / .22); background: rgb(255 255 255 / .08); }
#overview .decision-panel .decision-status strong, #overview .decision-panel .decision-status span, #overview .decision-panel .decision-actions > span { color: #e3efef; }
#overview .decision-panel .button-ghost { color: #eaf7f7; border-color: rgb(217 239 239 / .4); }
#overview .transparency-panel { border-color: #e5d4a8; background: #fffdf7; }
.ui04-signal-reading-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 18px 0; overflow: hidden; border: 1px solid #d6e0e5; border-radius: 15px; background: #d6e0e5; }
.ui04-signal-reading-guide article { min-height: 126px; padding: 18px 19px; background: #fbfdfe; }
.ui04-signal-reading-guide article:nth-child(2) { background: #f5f9fc; }
.ui04-signal-reading-guide article:nth-child(3) { background: #fffaf0; }
.ui04-signal-reading-guide span { display: block; margin-bottom: 8px; color: #607d8d; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.ui04-signal-reading-guide article:nth-child(3) span { color: #99723a; }
.ui04-signal-reading-guide strong { display: block; color: #294757; font-size: 14px; letter-spacing: -.02em; line-height: 1.35; }
.ui04-signal-reading-guide p { margin: 7px 0 0; color: #617782; font-size: 11px; line-height: 1.6; }
#sentiment .demand-signal-panel { margin-top: 19px; border-color: #d2dce8; background: linear-gradient(118deg, #f6f8fc 0%, #fff 77%); }
#sentiment .evidence-control-panel { border-color: #d6c99f; background: #fffdf8; }
#sentiment .sentiment-flow-section { margin-top: 28px; }
#sentiment .sentiment-flow-section + .sentiment-flow-section { padding-top: 28px; border-top: 1px solid #dbe5e9; }
#sentiment .sentiment-flow-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; margin: 0 0 14px; }
#sentiment .sentiment-flow-heading > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d5b96f; border-radius: 50%; color: #927032; background: #fff9e8; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
#sentiment .sentiment-flow-heading .section-kicker { margin-bottom: 4px; color: #5c7d8c; }
#sentiment .sentiment-flow-heading h3 { margin: 0; color: #1d4054; font-size: 18px; letter-spacing: -.025em; }
#sentiment .sentiment-flow-heading p { max-width: 760px; margin: 6px 0 0; color: #627785; font-size: 12px; line-height: 1.65; }
#sentiment .sentiment-flow-section .demand-signal-panel { margin-top: 0; }
#sentiment .sentiment-flow-section .v21-comment-map-grid, #sentiment .sentiment-flow-section .comment-insight-grid, #sentiment .sentiment-flow-section .evidence-control-panel { margin-top: 14px; }
#sentiment .sentiment-flow-section-last .evidence-control-panel { margin-bottom: 0; }
#sentiment .v21-demand-map:has(> .v21-empty-visual), #sentiment .v21-evidence-wall:has(> .v21-empty-visual) { display: grid; min-height: 104px; align-items: center; }
#sentiment .v21-demand-map:has(> .v21-empty-visual) .v21-empty-visual, #sentiment .v21-evidence-wall:has(> .v21-empty-visual) .v21-empty-visual { margin: 0; border: 1px dashed #d8e3e7; border-radius: 10px; padding: 14px 12px; color: #6b8490; background: #f8fafb; line-height: 1.55; }
@media (max-width: 760px) { #sentiment .sentiment-flow-section { margin-top: 22px; } #sentiment .sentiment-flow-section + .sentiment-flow-section { padding-top: 22px; } #sentiment .sentiment-flow-heading h3 { font-size: 16px; } }
#opportunities .opportunity-summary-grid { margin-top: 20px; }
#opportunities .opportunity-analysis-panel { border-color: #ccdbe1; background: linear-gradient(121deg, #f4fafb 0%, #fff 74%); }
#opportunities .opportunity-evidence-rail { margin-top: 18px; }
#opportunities .opportunity-card { border-color: #d1dde1; background: linear-gradient(145deg, #fff 0%, #f7fbfb 100%); box-shadow: 0 10px 22px rgb(21 60 74 / .06); }
#opportunities .opportunity-card:hover { transform: translateY(-3px); border-color: #b5cdd3; box-shadow: 0 17px 30px rgb(21 60 74 / .1); }
#opportunities .opportunity-flow-section { margin-top: 28px; }
#opportunities .opportunity-flow-section + .opportunity-flow-section { padding-top: 28px; border-top: 1px solid #dbe5e9; }
#opportunities .opportunity-flow-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; margin: 0 0 14px; }
#opportunities .opportunity-flow-heading > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d5b96f; border-radius: 50%; color: #927032; background: #fff9e8; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
#opportunities .opportunity-flow-heading .section-kicker { margin-bottom: 4px; color: #5c7d8c; }
#opportunities .opportunity-flow-heading h3 { margin: 0; color: #1d4054; font-size: 18px; letter-spacing: -.025em; }
#opportunities .opportunity-flow-heading p { max-width: 760px; margin: 6px 0 0; color: #627785; font-size: 12px; line-height: 1.65; }
#opportunities .opportunity-flow-section .opportunity-summary-grid, #opportunities .opportunity-flow-section .opportunity-analysis-panel, #opportunities .opportunity-flow-section .v21-market-visual-grid, #opportunities .opportunity-flow-section .v21-insight-ribbon, #opportunities .opportunity-flow-section .opportunity-list, #opportunities .opportunity-flow-section .ui04-section-bridge { margin-top: 14px; }
/* 机会指数在 PC 端按“摘要 → 公式 → 分量 → 证据”纵向展开；避免左侧摘要跨行造成评分区无意义留白。 */
@media (min-width: 981px) {
  #opportunities .opportunity-analysis { grid-template-columns: minmax(0, 1fr); align-items: start; }
  #opportunities .opportunity-index-summary { display: grid; grid-template-columns: 132px minmax(0, 1.45fr) minmax(260px, .85fr); align-items: center; column-gap: 20px; row-gap: 2px; padding: 14px 18px; }
  #opportunities .opportunity-index-summary > strong { grid-row: 1 / span 2; font-size: 34px; }
  #opportunities .opportunity-index-summary > p { align-self: end; margin: 0; }
  #opportunities .opportunity-index-summary > span { align-self: start; }
  #opportunities .opportunity-index-summary .index-confidence { grid-column: 3; grid-row: 1 / span 2; margin: 0; padding: 0 0 0 18px; border-top: 0; border-left: 1px solid rgb(228 233 241 / .28); }
  #opportunities .opportunity-formula { grid-column: auto; margin: 0; }
  #opportunities .opportunity-component-grid { grid-column: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #opportunities .opportunity-evidence-grid { grid-column: auto; margin-top: 1px; }
}
#opportunities .opportunity-flow-section-last .ui04-section-bridge { margin-bottom: 0; }
.ui04-section-bridge { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 22px; padding: 21px 23px 21px 25px; border: 1px solid #c9d8dd; border-radius: 16px; background: #f9fcfc; box-shadow: 0 10px 22px rgb(21 58 73 / .05); }
.ui04-section-bridge > div:first-child { display: grid; max-width: 760px; gap: 5px; }
.ui04-bridge-index { color: #627f8a; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.ui04-section-bridge strong { color: #294a58; font-size: 15px; letter-spacing: -.02em; line-height: 1.42; }
.ui04-section-bridge p { margin: 0; color: #667b84; font-size: 11px; line-height: 1.65; }
.ui04-section-bridge-sentiment { border-color: #cbd4e0; background: linear-gradient(108deg, #f6f8fc 0%, #fff 70%); }
.ui04-section-bridge-opportunity { border-color: #dfcfa3; background: linear-gradient(108deg, #fffaf0 0%, #fff 70%); }
.ui04-bridge-actions { display: flex !important; align-items: center; justify-content: flex-end; gap: 9px !important; max-width: none !important; }
.ui04-section-bridge .button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 1100px) { .market-methodology-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.ui04-analysis-frame { grid-template-columns: 1fr; }.ui04-boundary-card { grid-template-columns: 135px minmax(0, 1fr); column-gap: 16px; }.ui04-boundary-card > span { grid-column: 1; }.ui04-boundary-card strong, .ui04-boundary-card p { grid-column: 2; }.ui04-boundary-card strong { margin: 0 0 5px; }.ui04-boundary-card p { grid-row: 2; }.ui04-section-bridge { align-items: flex-start; flex-direction: column; }.ui04-bridge-actions { justify-content: flex-start; } }
@media (max-width: 700px) { .market-methodology-grid { grid-template-columns: 1fr; }.ui04-frame-lead, .ui04-boundary-card { padding: 23px 20px; }.ui04-waypoints, .ui04-signal-reading-guide { grid-template-columns: 1fr; }.ui04-signal-reading-guide { gap: 1px; }.ui04-boundary-card { display: block; }.ui04-boundary-card strong { display: block; margin: 8px 0; }.ui04-section-bridge { padding: 18px; gap: 16px; }.ui04-bridge-actions { flex-wrap: wrap; }.ui04-section-bridge .button { white-space: normal; } }
/* UI-05｜PC 端：从市场证据进入设计输入、制造复核与概念比较。只改变阅读与决策表达，不接管数据或生成逻辑。 */
.ui05-design-heading { align-items: end; }
.ui05-design-heading .scope-note { max-width: 410px; }
.ui05-design-intake { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(305px, .88fr); gap: 1px; overflow: hidden; margin: 0 0 18px; border: 1px solid #c4d5db; border-radius: 18px; background: #c4d5db; box-shadow: 0 16px 34px rgb(21 56 67 / .08); }
.ui05-intake-lead { position: relative; min-height: 247px; padding: 27px 30px 25px; overflow: hidden; color: #ecf7f7; background: radial-gradient(circle at 90% 18%, rgb(115 193 184 / .28), transparent 29%), linear-gradient(128deg, #123c4a 0%, #183f52 60%, #213850 100%); }
.ui05-intake-lead::after { position: absolute; right: -50px; bottom: -64px; width: 210px; height: 210px; border: 1px solid rgb(236 247 247 / .2); border-radius: 50%; content: ''; }
.ui05-intake-lead .section-kicker { margin: 0; color: #b9d9d4; }
.ui05-intake-lead h3 { position: relative; z-index: 1; max-width: 660px; margin: 9px 0 0; color: #fffdf4; font-size: clamp(21px, 2.35vw, 31px); letter-spacing: -.045em; line-height: 1.19; }
.ui05-intake-lead > p:not(.section-kicker) { position: relative; z-index: 1; max-width: 700px; margin: 10px 0 0; color: #d5e8e8; font-size: 12px; line-height: 1.72; }
.ui05-intake-steps { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 21px 0 0; padding: 0; overflow: hidden; border: 1px solid rgb(232 250 246 / .18); border-radius: 12px; list-style: none; background: rgb(2 20 27 / .21); }
.ui05-intake-steps li { min-width: 0; padding: 12px 14px; border-right: 1px solid rgb(232 250 246 / .14); }
.ui05-intake-steps li:last-child { border-right: 0; }
.ui05-intake-steps span { display: block; color: #9bd8ce; font: 900 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.ui05-intake-steps strong { display: block; margin-top: 6px; color: #fffdf5; font-size: 12px; }
.ui05-intake-steps small { display: block; margin-top: 4px; color: #b8cfd3; font-size: 10px; line-height: 1.42; }
.ui05-intake-boundary { display: flex; flex-direction: column; align-items: flex-start; padding: 27px 25px 23px; background: linear-gradient(150deg, #fffdf6 0%, #f4f8f7 100%); }
.ui05-intake-boundary > span { color: #8a6832; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ui05-intake-boundary strong { display: block; margin-top: 10px; color: #264653; font-size: 17px; letter-spacing: -.03em; line-height: 1.35; }
.ui05-intake-boundary > p { margin: 10px 0 0; color: #61757c; font-size: 11px; line-height: 1.7; }
.ui05-intake-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 17px; }
.ui05-intake-actions .button { min-height: 35px; padding: 7px 10px; font-size: 11px; }
.ui05-design-request-panel { overflow: hidden; border: 1px solid #bdcfd8; border-radius: 17px; background: linear-gradient(145deg, #113747 0%, #173f4e 40%, #1b3449 100%); box-shadow: 0 16px 34px rgb(18 59 71 / .11); }
.ui05-design-request-panel::before { height: 4px; background: linear-gradient(90deg, #dfb957 0%, #74cfbf 53%, #6586ee 100%); }
.ui05-design-request-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 25px 27px 20px; border-bottom: 1px solid rgb(230 248 246 / .14); }
.ui05-design-request-head .section-kicker { margin: 0; color: #acd8d4; }
.ui05-design-request-head h3 { max-width: 700px; margin: 7px 0 0; color: #fffaf0; font-size: 21px; letter-spacing: -.035em; line-height: 1.3; }
.ui05-design-request-head p:not(.section-kicker) { max-width: 730px; margin: 8px 0 0; color: #c7dcde; font-size: 11px; line-height: 1.65; }
.ui05-control-tag { flex: 0 0 auto; margin-top: 3px; padding: 7px 9px; border: 1px solid rgb(239 210 134 / .45); border-radius: 999px; color: #f4d889; background: rgb(0 16 28 / .25); font-size: 10px; font-weight: 850; letter-spacing: .05em; }
.ui05-design-request-panel #design-request-form { padding: 0 27px 25px; }
.ui05-design-request-panel .design-request-core { padding-top: 20px; }
.ui05-design-request-panel .design-request-actions { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgb(230 248 246 / .14); }
.ui05-action-boundary { margin: 10px 0 0; color: #afc8cc; font-size: 10px; line-height: 1.55; }
#design-translation-panel { border-color: #a9d1bd; background: linear-gradient(117deg, #e6f5eb 0%, #f8fcf9 62%, #f7fbf7 100%); box-shadow: 0 11px 25px rgb(21 58 73 / .05); color: #173f2d; }
#design-translation-panel .design-translation-summary { padding: 17px 20px; color: #173f2d; }
#design-translation-panel .design-translation-summary b { color: #123b28; }
#design-translation-panel .design-translation-summary small { color: #315b47; }
#design-translation-panel .design-translation-summary .panel-tag { color: #145438; border-color: #9bc8ad; background: #f7fff9; }
#design-translation-panel .design-translation-intro { max-width: 940px; margin: 0 20px 14px; color: #315b47; }
#design-translation-panel .design-translation-grid,
#design-translation-panel .design-translation-grid label,
#design-translation-panel .design-translation-grid p,
#design-translation-panel .design-translation-actions p { color: #284d3c; }
#design-translation-panel .requirement-card,
#design-translation-panel .translation-evidence { color: #173f2d; border-color: #c4dfce; background: #fbfffc; }
#design-translation-panel .requirement-card h4,
#design-translation-panel .translation-evidence p { color: #17442e; }
#design-translation-panel .requirement-card p,
#design-translation-panel .translation-evidence small,
#design-translation-panel .requirement-card small { color: #365c4a; }
#design-translation-panel .translation-evidence details,
#design-translation-panel .requirement-card details { border-color: #d1e5d9; background: #f3faf5; }
#design-translation-panel .translation-evidence summary,
#design-translation-panel .requirement-card summary,
#design-translation-panel .original-evidence { color: #204c37 !important; }
.ui05-manufacturing-heading { margin-top: 26px; }
#manufacturing .manufacturing-status-panel { position: relative; overflow: hidden; border-color: #cfddd7; background: linear-gradient(116deg, #f6fcf9 0%, #fff 61%, #fbf7ec 100%); box-shadow: 0 11px 25px rgb(21 58 73 / .05); }
/* 仅主线 06 的制造复核表单：浅色面板中恢复选项与说明文字的可读对比，不改表单状态或选择逻辑。 */
#manufacturing .craft-plan-form { color: #3f5a65; border-color: #d4e3e7; background: #fbfdfd; }
#manufacturing .craft-section-heading span, #manufacturing .craft-plan-form label > span { color: #277b9f; }
#manufacturing .craft-section-heading h4 { color: #214454; }
#manufacturing .craft-section-heading small { color: #60757e; }
#manufacturing .craft-option { border-color: #d9e7ea; background: #fff; }
#manufacturing .craft-option:hover { border-color: #73b6c2; background: #f8fcfc; }
#manufacturing .craft-option.is-selected { border-color: #5baeb7; background: #edf8f7; box-shadow: inset 0 0 0 1px rgb(91 174 183 / .15); }
#manufacturing .craft-option strong { color: #254856; }
#manufacturing .craft-option p { color: #60757e; }
#manufacturing .craft-option small { color: #6c828b; }
#manufacturing .craft-plan-actions p { color: #6a7d84; }
#manufacturing .craft-save-status { color: #237b67; }
.ui05-results-heading { margin-top: 29px; }
#design-results .design-result-summary { padding: 15px 18px; border: 1px solid #cad9df; border-radius: 13px; background: linear-gradient(105deg, #f7fbfc 0%, #fff 73%); }
#design-results .design-result-summary::before { color: #5d8290; content: 'DECISION'; }
#design-results .concept-history-panel { border-color: #cbd9d8; box-shadow: 0 12px 26px rgb(22 70 76 / .06); }
@media (max-width: 1100px) { .ui05-design-intake { grid-template-columns: 1fr; }.ui05-intake-boundary { min-height: 0; }.ui05-intake-actions { margin-top: 16px; } }
@media (max-width: 720px) { .ui05-intake-lead, .ui05-intake-boundary { padding: 23px 20px; }.ui05-intake-steps { grid-template-columns: 1fr; }.ui05-intake-steps li { border-right: 0; border-bottom: 1px solid rgb(232 250 246 / .14); }.ui05-intake-steps li:last-child { border-bottom: 0; }.ui05-design-request-head { flex-direction: column; padding: 22px 20px 18px; }.ui05-control-tag { margin-top: 0; }.ui05-design-request-panel #design-request-form { padding: 0 20px 22px; } }
@media (prefers-reduced-motion: reduce) { #design-results .concept-history-panel, .ui05-intake-lead, .ui05-design-request-panel { scroll-behavior: auto; } }


/* UI-06｜市场验证与决策记录：PC 端阅读层级与证据分层（不改变报告算法或表单逻辑）。 */
#market-validation { margin-top: 46px; }
#market-validation .ui06-validation-heading { align-items: end; }
#market-validation .ui06-validation-heading h2 { max-width: 20ch; text-wrap: balance; }
.ui06-validation-route { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 18px 0; overflow: hidden; border: 1px solid #d6e1e3; border-radius: 16px; background: #d6e1e3; }
.ui06-validation-route article { display: grid; grid-template-columns: 34px 1fr; align-items: start; gap: 12px; min-height: 124px; padding: 17px 18px; background: #fcfdfc; }
.ui06-validation-route article:nth-child(2) { background: #f7fbfa; }
.ui06-validation-route article:nth-child(3) { background: #fffdf7; }
.ui06-validation-route > article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #235b63; background: #dceff0; font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.ui06-validation-route article:nth-child(3) > span { color: #7a591a; background: #f8e7b0; }
.ui06-validation-route strong { display: block; color: #173c50; font-size: 14px; }
.ui06-validation-route p { margin: 7px 0 0; color: var(--muted-strong); font-size: 12px; line-height: 1.6; }
.ui06-validation-card { align-items: stretch; padding: 0; overflow: hidden; border-color: #d8c47f; background: #fff; }
.ui06-validation-card-copy { flex: 1 1 0; padding: 24px 26px; background: linear-gradient(126deg, #fff8e6, #fffdf7 68%, #fff); }
.ui06-validation-card-copy strong { color: #173c50; }
.ui06-validation-card-copy small { display: block; max-width: 720px; margin-top: 12px; color: #6a6048; font-size: 12px; line-height: 1.6; }
.ui06-validation-card-actions { display: flex; width: min(320px, 31%); flex-direction: column; align-items: stretch; justify-content: center; gap: 9px; padding: 24px; border-left: 1px solid #eadfbb; background: #fffdf8; }
.ui06-validation-card-actions .button { width: 100%; min-height: 42px; }
.ui06-validation-card-actions .button-ghost { color: #274c60; border-color: #b7cdd7; background: #f7fbfd; }
.ui06-action-state { color: #7d5d1c; font-size: 11px; font-weight: 800; line-height: 1.5; text-align: center; }

#report { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr); align-items: center; gap: 28px; margin-top: 46px; padding: 28px 30px; border-color: #dec67d; background: linear-gradient(116deg, #fff9e8 0%, #fffdf6 57%, #f0f7f8 100%); box-shadow: 0 18px 38px rgb(36 67 83 / .08); }
#report .ui06-report-callout-copy { max-width: 660px; }
#report .ui06-report-callout-copy h2 { max-width: 18ch; color: #173c50; font-size: clamp(25px, 2.6vw, 34px); line-height: 1.18; text-wrap: balance; }
#report .ui06-report-callout-copy p:not(.section-kicker) { max-width: 620px; color: #4b616d; font-size: 13px; line-height: 1.7; }
.ui06-report-reading-path { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: report-path; }
.ui06-report-reading-path li { display: grid; grid-template-columns: 30px 1fr; gap: 11px; align-items: center; padding: 11px 12px; border: 1px solid #d8e3e5; border-radius: 11px; background: rgb(255 255 255 / .78); }
.ui06-report-reading-path li > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: #225768; background: #dbeff0; font-size: 12px; font-weight: 850; }
.ui06-report-reading-path li:nth-child(2) > span { color: #785817; background: #f5e4ad; }
.ui06-report-reading-path li:nth-child(3) > span { color: #50507d; background: #e6e6f8; }
.ui06-report-reading-path strong { display: block; color: #173c50; font-size: 13px; }
.ui06-report-reading-path small { display: block; margin-top: 3px; color: #586e79; font-size: 11px; line-height: 1.45; }

#decision-workspace { position: relative; margin-top: 20px; padding: 0; overflow: hidden; border-color: #b8d0d4; border-radius: 18px; background: #fff; box-shadow: 0 18px 38px rgb(36 67 83 / .07); }
#decision-workspace::before { position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(#1f6171, #cfab53); content: ''; }
#decision-workspace .decision-workspace-heading { align-items: end; padding: 25px 28px 21px 32px; border-bottom: 1px solid #dce7e8; background: linear-gradient(122deg, #edf7f7, #fbfdfd 72%); }
#decision-workspace .decision-workspace-heading h2 { max-width: 22ch; text-wrap: balance; }
#decision-workspace .decision-workspace-heading p { max-width: 780px; }
#decision-workspace .decision-workspace-snapshot { border-color: #a9c8cc; color: #1d5965; background: #fff; }
.ui06-decision-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 28px 0 32px; border-bottom: 1px solid #dce7e8; }
.ui06-decision-lanes article { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 10px; min-height: 110px; padding: 17px 18px 17px 0; }
.ui06-decision-lanes article + article { padding-left: 18px; border-left: 1px solid #dce7e8; }
.ui06-lane-number { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #1e5962; background: #dceff0; font-size: 11px; font-weight: 850; }
.ui06-decision-lanes article:nth-child(2) .ui06-lane-number { color: #7e5d18; background: #f7e5ad; }
.ui06-decision-lanes article:nth-child(3) .ui06-lane-number { color: #5b527f; background: #e8e6f7; }
.ui06-decision-lanes strong { display: block; color: #173c50; font-size: 13px; }
.ui06-decision-lanes p { margin: 6px 0 0; color: #596f7a; font-size: 12px; line-height: 1.55; }
#decision-workspace .decision-workspace-feedback { min-height: 0; margin: 0 28px 0 32px; }
#decision-workspace .decision-panel { margin: 14px 28px 0 32px; border-color: #d4e0e2; border-radius: 13px; }
#decision-workspace .decision-panel:last-child { margin-bottom: 28px; }
#decision-workspace .decision-panel > summary { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 74px; padding: 12px 18px; background: #fcfdfd; }
#decision-workspace .decision-panel > summary::after { float: none; grid-column: 3; }
#decision-workspace .decision-panel[open] > summary { background: #f4f9f9; }
.ui06-panel-step { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: #1d5965; background: #dceff0; font-size: 11px; font-weight: 850; }
.decision-panel:nth-of-type(2) .ui06-panel-step { color: #7e5d18; background: #f7e5ad; }
.decision-panel:nth-of-type(3) .ui06-panel-step { color: #5b527f; background: #e8e6f7; }
.ui06-panel-label { display: grid; gap: 3px; min-width: 0; }
.ui06-panel-label strong { color: #173c50; font-size: 14px; }
.ui06-panel-label small { color: #607580; font-size: 11px; font-weight: 600; line-height: 1.45; }
#decision-workspace .decision-panel-intro { max-width: 840px; margin: 15px 18px 0; color: #516873; }
#decision-workspace .decision-form { padding: 18px; }
#decision-workspace .decision-record-list { padding: 0 18px 18px; }


/* UI-07 | Verification, risk and decision report (PC baseline) */
.ui07-opportunity-control { display: grid; grid-template-columns: minmax(0, 1.05fr) auto; align-items: center; gap: 20px; margin-top: 14px; padding: 17px 18px; border: 1px solid #c9dce0; border-radius: 15px; background: linear-gradient(112deg, #f1f8f8, #fffdf8); box-shadow: 0 12px 28px rgb(30 74 89 / 0.06); }
.ui07-control-label { display: block; margin-bottom: 5px; color: #1e6471; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.ui07-opportunity-control strong { display: block; max-width: 700px; color: #173c50; font-size: 14px; line-height: 1.55; }
.ui07-control-actions, .ui07-report-control-actions, .ui07-decision-utilities > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.ui07-control-actions .button, .ui07-report-control-actions .button, .ui07-decision-utilities .button { padding: 8px 10px; font-size: 12px; }

#market-validation .ui06-validation-card-actions { align-items: flex-end; }
#market-validation .ui06-validation-card-actions .button + .button + .button { margin-top: 0; }

.ui07-report-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-top: 15px; padding: 14px 16px; border: 1px solid #c8dfe1; border-radius: 14px; background: linear-gradient(115deg, #f1f8f8, #fffdfa); }
.ui07-report-control-status { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #d6e3e4; border-radius: 10px; background: #d6e3e4; }
.ui07-report-control-status > div { min-width: 0; padding: 10px 12px; background: rgb(255 255 255 / .86); }
.ui07-report-control-status span { display: block; color: #627681; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.ui07-report-control-status strong { display: block; margin-top: 4px; color: #173c50; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.ui07-report-toc { display: grid; grid-template-columns: 108px minmax(0, 1fr); align-items: start; gap: 14px; margin-top: 18px; padding: 14px 16px; border: 1px solid #dae5e6; border-radius: 13px; background: #f8fbfb; }
.ui07-report-toc > span { padding-top: 8px; color: #1d5965; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.ui07-report-toc > div { display: flex; flex-wrap: wrap; gap: 7px; }
.ui07-report-toc a { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 7px 9px; border: 1px solid #d4e2e4; border-radius: 9px; color: #284d5a; background: #fff; font-size: 12px; font-weight: 700; line-height: 1.35; text-decoration: none; transition: border-color 160ms ease, background 160ms ease, color 160ms ease; }
.ui07-report-toc a:hover { border-color: #7aaeb3; color: #173c50; background: #eef7f7; }
.ui07-report-toc b { display: grid; flex: 0 0 auto; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: #1d5965; background: #dceff0; font-size: 10px; }

.report-sections { grid-template-columns: 1fr; gap: 10px; }
.report-section { padding: 0; overflow: hidden; scroll-margin-top: 24px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.report-section[open] { border-color: #bdd3d6; box-shadow: 0 12px 25px rgb(33 76 92 / .06); }
.report-section-summary { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 11px; padding: 15px 17px; cursor: pointer; list-style: none; }
.report-section-summary::-webkit-details-marker { display: none; }
.report-section-summary::after { display: none; }
.report-section-summary:hover { background: #f7fbfb; }
.report-section[open] .report-section-summary { border-bottom: 1px solid #dce6e7; background: #f4fafa; }
.report-section-index { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border-radius: 8px; color: #1d5965; background: #dceff0; font-size: 10px; font-weight: 900; }
.report-section-heading { display: flex; align-items: center; justify-content: space-between; min-width: 0; gap: 14px; }
.report-section-heading > span:first-child { min-width: 0; }
.report-section h3 { font-size: 15px; line-height: 1.4; }
.report-section-tag { margin-top: 3px; color: #637987; }
.report-section-toggle { flex: 0 0 auto; color: #607782; font-size: 11px; font-weight: 800; }
.report-section-toggle::after { display: inline-block; margin-left: 5px; content: '⌄'; transition: transform 160ms ease; }
.report-section[open] .report-section-toggle { color: #1d5965; }
.report-section[open] .report-section-toggle::after { transform: rotate(180deg); }
.report-section[open] .report-section-toggle { font-size: 0; }
.report-section[open] .report-section-toggle::before { content: '收起'; font-size: 11px; }
.report-section-content { padding: 0 17px 17px; }
.report-section-content .report-section-body { margin-top: 14px; }
.report-section-content .report-fact-grid, .report-section-content .report-table-wrap { margin-top: 14px; }

.ui07-decision-utilities { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 28px 0 32px; padding: 12px 0; border-bottom: 1px solid #dce7e8; color: #58707b; font-size: 12px; line-height: 1.5; }
.ui07-decision-utilities > span { max-width: 650px; }

@media (max-width: 980px) {
  .ui07-opportunity-control, .ui07-report-control { grid-template-columns: 1fr; }
  .ui07-control-actions, .ui07-report-control-actions { justify-content: flex-start; }
  .ui07-report-control-status { grid-template-columns: 1fr; }
  .ui07-report-toc { grid-template-columns: 1fr; gap: 6px; }
  .ui07-report-toc > span { padding-top: 0; }
}

/* Route isolation: only the selected work area remains exposed to visual and assistive browsing. */
[data-view-section][hidden] { display: none !important; }

/* UI-07.1 | Split outcome summary from project and data governance. */
.global-context-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.analysis-summary-boundary { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; }
.analysis-summary-boundary > p:not(.section-kicker) { max-width: 420px; margin: 10px 0 20px; color: #54707d; font-size: 13px; line-height: 1.75; }
.analysis-summary-boundary .button { margin-top: auto; }

.project-data-status { margin: 52px 0 34px; padding: 30px 32px; border: 1px solid #cddde0; border-radius: 20px; background: linear-gradient(145deg, #f8fbfb 0%, #fffdfa 54%, #f3f8f8 100%); box-shadow: 0 18px 42px rgb(16 56 70 / .08); scroll-margin-top: 24px; }
.project-data-status-heading { align-items: end; }
.project-data-status-intro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 22px 0 14px; overflow: hidden; border: 1px solid #d3e1e3; border-radius: 14px; background: #d3e1e3; }
.project-data-status-intro > div { display: grid; gap: 5px; min-width: 0; padding: 16px 18px; background: rgb(255 255 255 / .88); }
.project-data-status-intro span, .project-data-status-index { color: #5c7a84; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.project-data-status-intro strong { overflow-wrap: anywhere; color: #173f50; font-size: 14px; line-height: 1.35; }
.project-data-status-intro small { color: #647c85; font-size: 11px; line-height: 1.5; }
.project-data-status-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 14px; }
.project-data-flow-card, .project-data-quality-card { min-width: 0; padding: 20px; border: 1px solid #d5e2e4; border-radius: 15px; background: rgb(255 255 255 / .78); }
.project-data-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 18px 0 16px; padding: 0; list-style: none; }
.project-data-flow li { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; }
.project-data-flow li:not(:last-child)::after { position: absolute; top: 13px; right: -7px; width: 7px; height: 1px; background: #9dbbc0; content: ''; }
.project-data-flow li > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #f8f4e9; background: #21566a; font: 850 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.project-data-flow strong { display: block; color: #153f50; font-size: 16px; line-height: 1.25; }
.project-data-flow small { display: block; margin-top: 2px; color: #69808a; font-size: 10px; font-weight: 700; line-height: 1.35; }
.project-data-flow-card > p { margin: 0; color: #5b737d; font-size: 12px; line-height: 1.65; }
.project-data-quality-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 18px 0 0; }
.project-data-quality-list > div { min-width: 0; padding: 10px 11px; border: 1px solid #e0e9e9; border-radius: 10px; background: #fbfdfd; }
.project-data-quality-list > div:last-child { grid-column: 1 / -1; }
.project-data-quality-list dt { color: #6c838b; font-size: 10px; font-weight: 800; }
.project-data-quality-list dd { margin: 5px 0 0; color: #244957; font-size: 12px; font-weight: 750; line-height: 1.5; overflow-wrap: anywhere; }
.project-data-status-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; padding: 15px 0 0; border-top: 1px solid #dce6e7; }
.project-data-status-actions > div:first-child { display: grid; max-width: 660px; gap: 5px; }
.project-data-status-actions strong { color: #3d5d68; font-size: 12px; line-height: 1.55; }
.project-data-status-actions > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.project-data-status-actions .button { padding: 9px 11px; font-size: 12px; }
@media (max-width: 980px) { .project-data-status { padding: 24px; }.project-data-status-intro, .project-data-status-grid { grid-template-columns: 1fr; }.project-data-status-actions { align-items: flex-start; flex-direction: column; }.project-data-status-actions > div:last-child { justify-content: flex-start; }.project-data-flow { max-width: 590px; } }

/* UI-07.3 | Keep shared project context compact; show full detail only where it informs a decision. */
.global-analysis-context { display: flex; align-items: center; gap: 16px; margin: 16px 0 22px; padding: 10px 14px; border-radius: 12px; background: #f8fbfc; box-shadow: none; }
.global-context-lead { display: flex; align-items: baseline; gap: 7px; padding: 0 16px 0 0; border-bottom: 0; }
.global-context-eyebrow { color: #69828d; font-size: 8px; letter-spacing: .11em; }
.global-context-lead strong { font-size: 14px; letter-spacing: .06em; }
.global-context-lead span:last-child { font-size: 11px; }
.global-context-metrics { flex: 1; display: flex; justify-content: flex-end; gap: 0; }
.global-context-metrics div { display: flex; align-items: baseline; gap: 7px; flex: 0 1 auto; padding: 0 16px; }
.global-context-metrics div:first-child { border-left-color: #e0bc69; }
.global-context-metrics dt { flex: 0 0 auto; font-size: 9px; white-space: nowrap; }
.global-context-metrics dd { margin: 0; font-size: 11px; white-space: nowrap; }
.analysis-summary-boundary .analysis-summary-context { display: grid; gap: 0; width: 100%; margin: 0; border-top: 1px solid #e3d8b5; }
.analysis-summary-context > div { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid #e3d8b5; }
.analysis-summary-context dt { color: #8a7349; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.analysis-summary-context dd { margin: 0; color: #294555; font-size: 12px; font-weight: 750; line-height: 1.45; overflow-wrap: anywhere; }
.analysis-summary-boundary .analysis-summary-context + p { margin: 15px 0 17px; }
@media (max-width: 1100px) { .global-analysis-context { align-items: flex-start; flex-direction: column; gap: 10px; }.global-context-lead { padding: 0; border: 0; }.global-context-metrics { width: 100%; justify-content: flex-start; }.global-context-metrics div:first-child { padding-left: 0; border-left: 0; } }
@media (max-width: 700px) { .global-analysis-context { margin: 14px 0 18px; padding: 11px 12px; }.global-context-metrics { display: grid; grid-template-columns: 1fr; gap: 7px; }.global-context-metrics div { padding: 0; border-left: 0; }.global-context-metrics dd { white-space: normal; }.analysis-summary-context > div { padding: 9px 0; } }


/* UI-07.5｜主线 03：商品与竞品证据在本章内完成字段判读，不创建跨章节阅读动作。 */
#data-workshop { position: relative; }
.catalog-evidence-heading { align-items: end; margin-bottom: 16px; }
.catalog-evidence-heading .scope-note { max-width: 470px; }
.catalog-method-panel { margin: 0 0 17px; border-color: #cbdfe0; background: linear-gradient(119deg, #f7fbfa 0%, #fff 74%); }
.catalog-method-panel .panel-heading { padding-bottom: 14px; border-bottom: 1px solid #dbe8e6; }
.catalog-method-panel .panel-tag { color: #376e71; background: #e8f3f0; }
.catalog-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.catalog-method-grid > article { min-width: 0; padding: 14px; border: 1px solid #d5e4e1; border-radius: 12px; background: #fff; }
.catalog-method-grid span { display: block; color: #5b8380; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.catalog-method-grid strong { display: block; margin-top: 8px; color: #234a50; font-size: 13px; line-height: 1.4; }
.catalog-method-grid p { margin: 8px 0 0; color: #647b7c; font-size: 11px; line-height: 1.64; }
.catalog-evidence-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 18px; overflow: hidden; border: 1px solid #d4e0df; border-radius: 14px; background: #d4e0df; }
.catalog-evidence-summary > article { min-width: 0; padding: 16px 17px; background: #fff; }
.catalog-evidence-summary > article:nth-child(2) { background: #fffaf1; }
.catalog-evidence-summary > article:nth-child(3) { background: #f8fbfb; }
.catalog-evidence-summary > article:nth-child(4) { background: #f5f8fb; }
.catalog-evidence-summary span { display: block; color: #617f7d; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.catalog-evidence-summary strong { display: block; margin-top: 7px; color: #244650; font-size: 20px; letter-spacing: -.04em; }
.catalog-evidence-summary small { display: block; margin-top: 5px; color: #687b7c; font-size: 10px; line-height: 1.55; }
.catalog-evidence-tools { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 22px; padding-top: 1px; border-top: 1px solid #d9e2e3; }
.catalog-evidence-tools .section-kicker { margin: 0; color: #66817f; }
.catalog-evidence-tools h3 { margin: 5px 0 0; color: #294b53; font-size: 19px; letter-spacing: -.03em; }
.catalog-evidence-tools p:not(.section-kicker) { max-width: 660px; margin: 6px 0 0; color: #667b7f; font-size: 11px; line-height: 1.6; }
.catalog-page-meta { margin: 14px 0 11px; }
#data-workshop .product-card { border-color: #d5e1e1; box-shadow: 0 8px 18px rgb(24 65 72 / .05); }
#data-workshop .product-card:hover { border-color: #b7cfcc; box-shadow: 0 16px 27px rgb(24 65 72 / .1); }
.product-taxonomy-label { display: inline-flex; align-items: center; max-width: 100%; margin: 8px 0 0; padding: 4px 8px; border: 1px solid #d7e6e3; border-radius: 999px; color: #356862; background: #f2f8f7; font-size: 10px; font-weight: 760; line-height: 1.35; }
.product-evidence-meta { display: grid; grid-template-columns: 1fr; gap: 3px; margin-top: 10px; padding: 9px 0; border-top: 1px solid #e0e8e8; color: #677e80; font-size: 10px; line-height: 1.42; }
.product-evidence-meta span::before { display: inline-block; width: 5px; height: 5px; margin: 0 6px 1px 0; border-radius: 50%; background: #75a8a3; content: ''; }
.product-evidence-meta span:nth-child(2)::before { background: #b4985c; }
.product-evidence-meta span:nth-child(3)::before { background: #809db7; }
.catalog-evidence-conclusion { margin-top: 22px; border-color: #c6dad6; background: linear-gradient(108deg, #f6fbfa 0%, #fff 72%); }
.dialog-image-missing { display: grid; place-items: center; padding: 15px; color: #837450; font-size: 12px; font-weight: 750; text-align: center; }
.product-primary-gallery { min-width: 0; }
.product-gallery-stage { position: relative; margin: 0; overflow: hidden; border: 1px solid #d8e4e2; border-radius: 12px; background: #f7fbfa; }
.product-gallery-stage .dialog-image { display: block; height: 190px; border-radius: 0; }
.product-gallery-stage figcaption { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; color: #5d7677; background: #fff; font-size: 10px; font-weight: 760; }
.product-gallery-stage figcaption strong { color: #264c53; font-variant-numeric: tabular-nums; }
.product-gallery-thumbs { display: flex; gap: 7px; max-width: 100%; margin-top: 9px; padding: 1px 1px 4px; overflow-x: auto; overscroll-behavior-inline: contain; }
.product-gallery-thumb { flex: 0 0 auto; width: 42px; height: 42px; overflow: hidden; border: 2px solid transparent; border-radius: 8px; padding: 0; background: #e8f0ef; cursor: pointer; }
.product-gallery-thumb:hover { border-color: #95bbb4; }
.product-gallery-thumb.is-active { border-color: #2f766f; box-shadow: 0 0 0 2px rgb(47 118 111 / .15); }
.product-gallery-thumb-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-gallery-stage.is-unavailable::after { position: absolute; inset: 0 0 31px; display: grid; place-items: center; padding: 18px; color: #715d32; background: rgb(248 244 232 / .94); content: '该原始主图暂未成功读取'; font-size: 12px; font-weight: 760; text-align: center; }
.product-gallery-thumb.is-unavailable { border-style: dashed; border-color: #c4aa72; background: #f7f0dd; }
.product-gallery-thumb.is-unavailable::after { display: grid; width: 100%; height: 100%; place-items: center; color: #876f38; content: '—'; font-size: 17px; }
.product-gallery-thumb.is-unavailable .product-gallery-thumb-image { visibility: hidden; }
@media (max-width: 760px) { .product-gallery-stage .dialog-image { width: 100%; height: min(72vw, 290px); } }
.product-evidence-archive { margin-top: 25px; padding: 19px; border: 1px solid #d7e4e2; border-radius: 14px; background: linear-gradient(118deg, #f7fbfa 0%, #fff 75%); }
.product-evidence-archive .section-kicker { margin: 0; color: #5b8580; }
.product-evidence-archive h3 { margin: 6px 0 4px; color: #284c53; font-size: 17px; letter-spacing: -.025em; }
.product-evidence-archive > div > p:not(.section-kicker) { margin: 0; color: #647a7c; font-size: 11px; line-height: 1.6; }
.product-evidence-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.product-evidence-detail-grid > article { min-width: 0; padding: 12px; border: 1px solid #d9e5e3; border-radius: 10px; background: #fff; }
.product-evidence-detail-grid > article > span { display: block; margin-bottom: 8px; color: #527977; font-size: 10px; font-weight: 850; }
.product-price-details { display: grid; gap: 6px; margin: 0; }
.product-price-details > div { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; padding-bottom: 6px; border-bottom: 1px dashed #dae5e3; }
.product-price-details > div:last-child { padding-bottom: 0; border-bottom: 0; }
.product-price-details dt { color: #708080; font-size: 10px; }
.product-price-details dd { margin: 0; color: #274951; font-size: 11px; font-weight: 780; text-align: right; overflow-wrap: anywhere; }
.product-evidence-list { display: grid; gap: 5px; max-height: 138px; margin: 0; padding: 0; overflow: auto; list-style: none; }
.product-evidence-list li { color: #526f73; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.product-evidence-list li::before { color: #8a7646; content: '• '; }
.product-evidence-empty { margin: 0; color: #81765e; font-size: 10px; line-height: 1.55; }
@media (max-width: 1100px) { .catalog-method-grid, .catalog-evidence-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.product-evidence-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .catalog-evidence-heading { align-items: flex-start; flex-direction: column; }.catalog-method-grid, .catalog-evidence-summary { grid-template-columns: 1fr; }.catalog-evidence-tools { align-items: flex-start; flex-direction: column; }.product-evidence-archive { padding: 16px; } }



/* UI-07.9 · evidence triangulation and statistical chart treatments */

/* UI-07.9 · evidence triangulation and statistical chart treatments */
.analysis-methods-panel { margin: 18px 0 26px; padding: 20px; border: 1px solid #d7e0ee; border-radius: 16px; color: #30445f; background: linear-gradient(120deg, #f8fbff 0%, #fff 66%); box-shadow: 0 12px 30px rgb(25 50 90 / 6%); }
.analysis-methods-panel > p { max-width: 860px; margin: 0; color: #64758b; font-size: 12px; line-height: 1.65; }
.analysis-method-matrix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.analysis-method-card { min-width: 0; padding: 14px; border: 1px solid #dce5f2; border-radius: 12px; background: #fff; box-shadow: 0 7px 18px rgb(25 50 90 / 4%); }
.analysis-method-card > span { display: block; color: #5a6f94; font: 800 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .04em; }
.analysis-method-card > strong { display: block; margin-top: 8px; color: #1c3659; font-size: 17px; letter-spacing: -.025em; line-height: 1.25; }
.analysis-method-card > p { min-height: 54px; margin: 8px 0; color: #5e7087; font-size: 11px; line-height: 1.55; }
.analysis-method-card > small { display: block; padding-top: 8px; border-top: 1px solid #e7edf5; color: #79889b; font-size: 10px; line-height: 1.48; }
.analysis-method-card.is-ready { border-color: #bcdccf; background: linear-gradient(145deg, #f8fffc, #fff); }
.analysis-method-card.is-ready > span { color: #287461; }
.analysis-method-card.is-caution { border-color: #eadab4; background: linear-gradient(145deg, #fffcf5, #fff); }
.analysis-method-card.is-caution > span { color: #8a6825; }

.price-distribution-chart { display: grid; gap: 12px; padding: 4px 0 1px; }
.price-range-scale { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; color: #718097; font-size: 10px; }
.price-range-scale span:nth-child(2) { color: #536985; font-weight: 800; text-align: center; }
.price-range-scale span:last-child { text-align: right; }
.price-range-row { display: grid; grid-template-columns: minmax(116px, .42fr) minmax(0, 1fr); align-items: center; gap: 14px; }
.price-range-row > div:first-child { min-width: 0; }
.price-range-row strong { display: block; overflow: hidden; color: #294363; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.price-range-row small { display: block; margin-top: 3px; color: #728098; font-size: 9px; line-height: 1.42; }
.price-range-track { position: relative; height: 27px; border-radius: 7px; background: repeating-linear-gradient(90deg, #edf2f7 0 1px, transparent 1px 25%); }
.price-range-track::before { position: absolute; top: 50%; right: 0; left: 0; height: 2px; transform: translateY(-50%); background: #b8c7d9; content: ''; }
.price-range-track > i, .price-range-track > b, .price-range-track > em { position: absolute; display: block; transform: translateY(-50%); }
.price-range-track > i { top: 50%; height: 4px; min-width: 2px; border-radius: 99px; background: #667fbe; }
.price-range-track > b { top: 50%; height: 12px; min-width: 3px; border: 1px solid #31527f; border-radius: 4px; background: rgb(123 153 208 / .28); }
.price-range-track > em { top: 50%; width: 3px; height: 22px; margin-left: -1px; border-radius: 2px; background: #9d5c20; box-shadow: 0 0 0 1px rgb(255 255 255 / .9); }

.catalog-evidence-summary .evidence-bullet { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; margin: 10px 0 7px; }
.evidence-bullet { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; }
.evidence-bullet > i { display: block; min-width: 3px; height: 6px; border-radius: 99px; background: linear-gradient(90deg, #5c9b91, #9ac6b9); }
.evidence-bullet::before { grid-column: 1; grid-row: 1; height: 6px; border-radius: 99px; background: #dfeceb; content: ''; }
.evidence-bullet > i { grid-column: 1; grid-row: 1; position: relative; z-index: 1; }
.evidence-bullet > b { color: #4d716d; font-size: 10px; }
.catalog-evidence-summary .is-warm .evidence-bullet > i { background: linear-gradient(90deg, #bb8a46, #dfbd77); }
.catalog-evidence-summary .is-warm .evidence-bullet::before { background: #f1e7d7; }
.catalog-evidence-summary .is-warm .evidence-bullet > b { color: #8a6630; }

.opportunity-robustness, .opportunity-gates { grid-column: 1 / -1; margin-top: 3px; padding: 15px; border: 1px solid #dbe4ef; border-radius: 12px; color: #31445f; background: #fff; }
.opportunity-method-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.opportunity-method-heading > div > span { display: block; color: #5e779d; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.opportunity-method-heading h4 { margin: 4px 0 0; color: #263e5f; font-size: 14px; line-height: 1.4; }
.opportunity-method-heading > strong { flex: 0 0 auto; color: #81601f; font-size: 12px; }
.opportunity-robustness > p { margin: 9px 0 12px; color: #64758b; font-size: 11px; line-height: 1.6; }
.opportunity-scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.opportunity-scenario-grid article { min-width: 0; padding: 11px; border: 1px solid #e1e7f0; border-radius: 9px; background: #f9fbfe; }
.opportunity-scenario-grid article > div { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.opportunity-scenario-grid article > div > strong { color: #334e72; font-size: 11px; line-height: 1.4; }
.opportunity-scenario-grid article > div > span { color: #77571f; font-size: 17px; font-weight: 850; letter-spacing: -.03em; }
.opportunity-scenario-grid article > div > span small { font-size: 9px; }
.opportunity-scenario-grid i { display: block; height: 6px; margin: 9px 0 7px; overflow: hidden; border-radius: 99px; background: #e1e8f2; }
.opportunity-scenario-grid i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #43699d, #7697c3); }
.opportunity-scenario-grid small { display: block; color: #77869a; font-size: 9px; line-height: 1.45; }
.opportunity-scenario-grid p { margin: 7px 0 0; color: #63738a; font-size: 10px; line-height: 1.5; }
.opportunity-gates { background: linear-gradient(125deg, #f8fbff, #fff); }
.opportunity-gates > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.opportunity-gates article { min-width: 0; padding: 10px; border: 1px solid #dfe6ef; border-radius: 9px; background: #fff; }
.opportunity-gates article > span { display: block; color: #637891; font-size: 10px; font-weight: 800; }
.opportunity-gates article > strong { display: block; margin: 6px 0; color: #294564; font-size: 15px; }
.opportunity-gates article > p { margin: 0; color: #738196; font-size: 10px; line-height: 1.48; }
.opportunity-gates .is-available { border-left: 3px solid #3b9076; }
.opportunity-gates .is-manual_review { border-left: 3px solid #b18131; }
.opportunity-gates .is-insufficient { border-left: 3px solid #8b9aab; }

.design-evidence-gates { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr); gap: 16px; margin-bottom: 14px; padding: 16px; border: 1px solid #cbd8ed; border-radius: 14px; background: linear-gradient(130deg, #f6f9ff 0%, #fff 72%); }
.design-evidence-gates > div:first-child > span { color: #5171a4; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.design-evidence-gates > div:first-child > strong { display: block; margin-top: 5px; color: #253f65; font-size: 15px; line-height: 1.4; }
.design-evidence-gates > div:first-child > p { margin: 7px 0 0; color: #64768e; font-size: 10px; line-height: 1.58; }
.design-evidence-gate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.design-evidence-gate-grid article { min-width: 0; padding: 10px; border: 1px solid #d9e4f1; border-radius: 9px; background: #fff; }
.design-evidence-gate-grid span { display: block; color: #7283a0; font-size: 9px; font-weight: 800; }
.design-evidence-gate-grid strong { display: block; overflow: hidden; margin: 5px 0; color: #2d4d77; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.design-evidence-gate-grid small { display: block; color: #708096; font-size: 9px; line-height: 1.45; }

@media (max-width: 1180px) { .analysis-method-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }.opportunity-gates > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }.design-evidence-gates { grid-template-columns: 1fr; }.design-evidence-gate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .analysis-methods-panel { padding: 16px; }.analysis-method-matrix, .opportunity-scenario-grid, .opportunity-gates > div:last-child, .design-evidence-gate-grid { grid-template-columns: 1fr; }.price-range-row { grid-template-columns: 1fr; gap: 5px; }.opportunity-method-heading { align-items: flex-start; flex-direction: column; gap: 5px; }.analysis-method-card > p { min-height: 0; } }

/* Visual contrast correction | text colors only: preserve UI layout, data, and the frozen design-workshop content. */
.sidebar .nav-link { color: #c6d8e2; }
.nav-link small { color: #a9c1cc; }
.nav-route { color: #c2dce2; border-color: rgb(214 235 239 / .28); }
.nav-group-management .nav-group-label { color: #c3d2d9; }
.nav-group-management .nav-group-description { color: #adc2ca; }

.global-context-eyebrow { color: #355f71; }
.global-context-metrics dt { color: #4d6875; }
.analysis-summary-context dt { color: #6e572d; }

#overview .market-methodology-grid span { color: #456772; }
#overview .market-methodology-grid p { color: #48636d; }
.ui04-signal-reading-guide span { color: #456b7b; }
.ui04-signal-reading-guide article:nth-child(3) span { color: #7f5d24; }
.ui04-signal-reading-guide p { color: #48636f; }
#sentiment .sentiment-flow-heading .section-kicker,
#opportunities .opportunity-flow-heading .section-kicker { color: #456b7a; }
#sentiment .sentiment-flow-heading p,
#opportunities .opportunity-flow-heading p { color: #496471; }
#sentiment .v21-demand-map:has(> .v21-empty-visual) .v21-empty-visual,
#sentiment .v21-evidence-wall:has(> .v21-empty-visual) .v21-empty-visual { color: #4c6c79; }
.ui04-bridge-index { color: #486b76; }
.ui04-section-bridge p { color: #4d6872; }

.analysis-method-card > small { color: #536a80; }
.price-range-scale, .price-range-row small { color: #536d82; }
.opportunity-method-heading > div > span { color: #42678e; }
.opportunity-robustness > p { color: #4d647c; }
.opportunity-scenario-grid small { color: #536b82; }
.opportunity-scenario-grid p { color: #4d657d; }
.opportunity-gates article > span { color: #4e6b86; }
.opportunity-gates article > p { color: #536a82; }

/* UI-08.2 | Screenshot-targeted manufacturing input fields: ink-green surfaces only; fields, prompts, and behavior remain unchanged. */
#manufacturing .craft-plan-form :is(.craft-plan-grid select[name="assemblyMethodId"], .craft-custom-field textarea) {
  border-color: #5a9385;
  color: #f1faf6;
  background: #123d35;
  color-scheme: dark;
}

#manufacturing .craft-plan-form .craft-custom-field textarea::placeholder {
  color: #b6ccc5;
  opacity: 1;
}

#manufacturing .craft-plan-form :is(.craft-plan-grid select[name="assemblyMethodId"], .craft-custom-field textarea):focus {
  border-color: #8bd1be;
  outline: none;
  box-shadow: 0 0 0 3px rgb(139 209 190 / .24);
}

#manufacturing .craft-plan-form .craft-plan-grid select option {
  color: #f1faf6;
  background: #123d35;
}

/* Design workshop: high-contrast green AI-sync surface. */
#manufacturing .manufacturing-ai-sync {
  border-color: #b8d9c7;
  background: #e8f5ec;
}

#manufacturing .manufacturing-ai-sync > summary::before,
#manufacturing .manufacturing-ai-sync > summary > span,
#manufacturing .manufacturing-ai-sync-content h4,
#manufacturing .manufacturing-ai-sync-content strong {
  color: #102c1d;
}

#manufacturing .manufacturing-ai-sync > summary > small,
#manufacturing .manufacturing-ai-sync-content p {
  color: #1c3c2a;
}

/* The AI-generated field labels and values must not inherit the page's muted text color. */
#manufacturing .manufacturing-ai-sync-content .manufacturing-ai-sync-grid :is(dt, dd) {
  color: #102c1d;
  opacity: 1;
  text-shadow: none;
}

#manufacturing .manufacturing-ai-sync-content .manufacturing-ai-sync-grid dt {
  font-weight: 800;
}

#manufacturing .manufacturing-ai-sync-content .manufacturing-ai-sync-grid dd {
  line-height: 1.7;
}

#model-output-panel .model-output-text-disclosure {
  margin-top: 12px;
  border: 1px solid #d4e3de;
  border-radius: 10px;
  background: #f8fcfa;
}

#model-output-panel .model-output-text-disclosure > summary {
  padding: 10px 12px;
  color: #2e6454;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
}

#model-output-panel .model-output-text-disclosure > summary::-webkit-details-marker {
  display: none;
}

#model-output-panel .model-output-text-disclosure > summary::before {
  content: '▸';
  display: inline-block;
  margin-right: 7px;
  color: #1f6347;
}

#model-output-panel .model-output-text-disclosure[open] > summary {
  border-bottom: 1px solid #d4e3de;
}

#model-output-panel .model-output-text-disclosure[open] > summary::before {
  content: '▾';
}

#model-output-panel .model-output-text-disclosure .model-output-content {
  margin: 0;
  border: 0;
  border-radius: 0 0 9px 9px;
}


/* 设计工坊：当前候选草图只展示一张图内整合的工艺设计板，不再把工艺说明拆成右侧文字栏。 */
.concept-result-visual-layout { display: block; margin-top: 14px; }
.concept-result-image-frame { width: min(100%, 1440px); margin: 0 auto; padding: 10px; border: 1px solid #cbd9e2; border-radius: 14px; background: #f7f9fb; }
.concept-result-image-frame .model-output-image { display: block; width: 100%; margin: 0; border-color: #d5b66a; box-shadow: none; }
.concept-result-review { display: none !important; }

/* UI-08 | Mobile main-line navigation: preserve all chapters as readable horizontal chips instead of compressing them into overlapping icons. */
@media (max-width: 880px) {
  .app-shell { display: block; }
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    min-height: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 10px;
    padding: 9px 12px 10px;
    box-shadow: 0 5px 16px rgb(11 32 47 / .24);
  }
  .brand { flex: 0 1 auto; min-width: 0; margin-right: auto; padding: 0; }
  .brand > span:last-child { display: block; }
  .brand strong { font-size: 14px; }
  .workspace-context { flex: 0 0 auto; min-width: 0; margin: 0; }
  .workspace-label { display: none; }
  .project-switcher { min-height: 34px; padding: 4px 7px; }
  .project-switcher > span:nth-child(2) small, .project-chevron { display: none; }
  .nav-list {
    order: 3;
    display: flex;
    width: 100%;
    max-width: none;
    gap: 6px;
    margin: 1px 0 0;
    padding: 0 0 3px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
  }
  .nav-group { display: contents; }
  .nav-group-label, .nav-group-description { display: none; }
  .nav-link, .nav-link:nth-child(n+4), .nav-link-management {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-height: 44px;
    padding: 7px 9px;
    gap: 7px;
    overflow: visible;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .nav-link > span:nth-child(2) { display: block; min-width: 0; }
  .nav-link strong { display: block; font-size: 12px; }
  .nav-link small { display: none; }
  .nav-route { display: inline-block; margin: 0 0 0 1px; font-size: 9px; }
  .nav-link-management { opacity: 1; }
  .sidebar-footer { display: none; }
  .main-content { padding-top: 24px; }
}
@media (max-width: 420px) {
  .workspace-context { display: none; }
  .nav-list { margin-top: 0; }
  .nav-link, .nav-link:nth-child(n+4), .nav-link-management { min-height: 44px; }
}

/* UI-08 final | Keep all narrow-screen filter actions comfortably tappable. */
@media (max-width: 880px) {
  .filter-bar .select-field select,
  .filter-bar #reset-filters { min-height: 44px; }
}





/* 设计工坊：AI 整理草案中的“已读取用户描述”沿用浅绿面板的高对比色，避免灰底浅黄字。 */
#design-translation-panel .design-translation-source {
  border-color: #b9d9c6;
  background: #eef8f1;
}
#design-translation-panel .design-translation-source-toggle {
  color: #193f2c;
}
#design-translation-panel .design-translation-source-toggle summary {
  color: #174a31;
  font-weight: 800;
}
#design-translation-panel .design-translation-source-toggle summary::marker {
  color: #2f7c54;
}
#design-translation-panel .design-translation-source-toggle p {
  color: #244c38;
}
#design-translation-panel .design-translation-source-toggle small {
  color: #416957;
}
#design-translation-panel .design-translation-empty-grid article {
  border-color: #c8e0d0;
  background: #fbfffc;
}
#design-translation-panel .design-translation-empty-grid span {
  color: #2f7c54;
}
#design-translation-panel .design-translation-empty-grid strong {
  color: #174a31;
}
#design-translation-panel .design-translation-empty-grid p,
#design-translation-panel .design-translation-empty {
  color: #365c4a;
}
#design-translation-panel .design-translation-group {
  border-color: #c8e0d0;
  background: #fbfffc;
}
#design-translation-panel .design-translation-group-heading span {
  color: #2f7c54;
}
#design-translation-panel .design-translation-group-heading h4 {
  color: #174a31;
}
#design-translation-panel .design-translation-group-heading small,
#design-translation-panel .design-translation-fields label {
  color: #365c4a;
}
#design-translation-panel .design-translation-fields textarea {
  border-color: #b7d7c3;
  color: #193f2c;
  background: #ffffff;
  caret-color: #174a31;
}
#design-translation-panel .design-translation-fields textarea::placeholder {
  color: #6d8b7b;
  opacity: 1;
}
#design-translation-panel .design-translation-fields textarea:focus {
  border-color: #3e9566;
  box-shadow: 0 0 0 3px rgb(62 149 102 / .16);
}

.analysis-summary-boundary,
.market-methodology-panel,
.catalog-method-panel,
#opportunities .ui04-analysis-frame,
#opportunities .v21-insight-ribbon,
#opportunities .ui04-section-bridge,
.v21-finding-method {
  display: none;
}

/* UI-07.2 | Current design evidence review stays inside the validation chapter and remains readable on narrow screens. */
#market-validation > .report-result { margin-top: 20px; scroll-margin-top: 18px; }
.main-content[data-view="validation"] > #decision-workspace { display: none !important; }
.validation-matrix { display: grid; gap: 10px; margin-top: 16px; }
.validation-matrix-row { display: grid; grid-template-columns: minmax(132px, .82fr) minmax(170px, 1.06fr) minmax(196px, 1.2fr) minmax(196px, 1.2fr) minmax(160px, .92fr); gap: 1px; overflow: hidden; border: 1px solid #d3e1e3; border-radius: 13px; background: #d3e1e3; }
.validation-matrix-cell { min-width: 0; padding: 14px 15px; background: #fff; }
.validation-matrix-cell > span { display: block; margin-bottom: 7px; color: #607782; font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.validation-matrix-cell > strong { display: block; color: #173c50; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.validation-matrix-cell p { margin: 0; color: #284d5a; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; word-break: normal; }
.validation-matrix-dimension { background: #f1f8f8; }
.validation-matrix-next { background: #fffdf7; }
.validation-status { display: inline-flex; margin-top: 10px; padding: 4px 7px; border-radius: 999px; color: #1d5965; background: #dceff0; font-size: 10px; font-weight: 850; line-height: 1.25; }
.validation-status.is-待补数据, .validation-status.is-未形成可比较数据 { color: #805d19; background: #fff0c8; }

@media (max-width: 980px) {
  #report { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .validation-matrix-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .validation-matrix-dimension { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: start; }
  .validation-matrix-dimension > span { grid-column: 1 / -1; }
  .validation-matrix-dimension > b { justify-self: end; }
}

@media (max-width: 760px) {
  .ui06-validation-route { grid-template-columns: minmax(0, 1fr); }
  .ui06-validation-route article { min-height: 0; }
  .ui06-validation-card { flex-direction: column; }
  .ui06-validation-card-actions { width: 100%; border-top: 1px solid #eadfbb; border-left: 0; }
  .ui06-validation-card-actions .button { min-height: 44px; }
  .validation-matrix-row { grid-template-columns: minmax(0, 1fr); }
  .validation-matrix-dimension { display: block; }
  .validation-matrix-dimension > b { display: inline-flex; }
  .validation-matrix-cell { padding: 14px 15px; }
  .validation-matrix-cell > span { font-size: 11px; }
  .validation-matrix-cell p { font-size: 15px; line-height: 1.65; }
  .report-section-summary { min-height: 58px; }
}

@media (max-width: 700px) {
  #report { gap: 18px; padding: 20px 18px; }
  #market-validation > .report-result { padding: 18px 15px; }
}




/* UI-07.2 mobile final override: preserve the report heading below the sticky mobile navigation. */
@media (max-width: 760px) {
  #market-validation > .report-result { scroll-margin-top: 124px; }
  #market-validation > .report-result .report-result-header { gap: 8px; padding-bottom: 14px; }
  #market-validation > .report-result .report-result-header h2 { max-width: 100%; font-size: clamp(20px, 5.6vw, 22px); line-height: 1.34; letter-spacing: -.035em; text-wrap: balance; }
  #market-validation > .report-result .report-status { padding: 6px 9px; font-size: 11px; }
}

/* UI-07.3 | Present the current design as a readable conclusion, not a system evidence matrix. */
#market-validation > .report-result .report-summary {
  display: block;
  padding: 22px;
  border-color: #d9cf9f;
  background: linear-gradient(122deg, #fffaf0 0%, #fff 68%);
}
#market-validation > .report-result .report-summary > div { max-width: 860px; }
#market-validation > .report-result .report-summary strong { max-width: 760px; font-size: clamp(24px, 3vw, 34px); line-height: 1.25; }
#market-validation > .report-result .report-summary p { max-width: 780px; font-size: 14px; }
#market-validation > .report-result .report-sketch-preview { grid-template-columns: minmax(150px, 250px) minmax(0, 1fr); }
#market-validation > .report-result .report-sketch-preview figcaption { color: #284d5a; font-size: 13px; font-weight: 750; line-height: 1.55; }
#market-validation > .report-result .report-section-kind-findings .report-section-summary,
#market-validation > .report-result .report-section-kind-risk .report-section-summary { background: #f4fafa; }
#market-validation > .report-result .report-section-kind-risk .report-section-summary { background: #fffaf0; }
#market-validation > .report-result .report-section-kind-findings[open],
#market-validation > .report-result .report-section-kind-risk[open] { border-color: #bdd3d6; }
#market-validation > .report-result .report-section-kind-risk[open] { border-color: #e5d69e; }
#market-validation > .report-result .report-section-kind-findings .report-fact-grid,
#market-validation > .report-result .report-section-kind-risk .report-fact-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
#market-validation > .report-result .report-section-kind-findings .report-fact,
#market-validation > .report-result .report-section-kind-risk .report-fact { display: grid; grid-template-columns: minmax(132px, 170px) minmax(0, 1fr); gap: 14px; align-items: start; padding: 15px; border: 1px solid #dce8e7; border-radius: 11px; background: #fbfefd; }
#market-validation > .report-result .report-section-kind-risk .report-fact { border-color: #eadfb9; background: #fffdf7; }
#market-validation > .report-result .report-fact p { margin: 0; color: #284d5a; font-size: 13px; font-weight: 500; line-height: 1.7; overflow-wrap: anywhere; }
#market-validation > .report-result .report-section-kind-findings .report-fact span,
#market-validation > .report-result .report-section-kind-risk .report-fact span { padding-top: 2px; color: #1d5965; font-size: 12px; font-weight: 850; }
#market-validation > .report-result .report-section-kind-risk .report-fact span { color: #815f16; }
#market-validation > .report-result .report-section-kind-evidence { background: #f8fbfb; }
#market-validation > .report-result .report-section-kind-evidence .report-fact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#market-validation > .report-result .report-section-kind-evidence .report-fact { border: 1px solid #dce6e7; background: #fff; }
#market-validation > .report-result .report-review-footer { margin-top: 16px; }

@media (max-width: 760px) {
  #market-validation > .report-result .report-summary { padding: 18px; }
  #market-validation > .report-result .report-summary strong { font-size: 24px; }
  #market-validation > .report-result .report-sketch-preview { grid-template-columns: 1fr; }
  #market-validation > .report-result .report-section-kind-findings .report-fact,
  #market-validation > .report-result .report-section-kind-risk .report-fact { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  #market-validation > .report-result .report-fact p { font-size: 15px; line-height: 1.7; }
  #market-validation > .report-result .report-section-kind-evidence .report-fact-grid { grid-template-columns: minmax(0, 1fr); }
}


/* UI-08 | The report must state a readable stage judgment before optional record-keeping tools. */
#report[data-view-section="report"] { align-items: flex-start; }
#report[data-view-section="report"] .ui06-report-callout-copy { max-width: 850px; }
#report[data-view-section="report"] .ui06-report-callout-copy h2 { max-width: 720px; }
.decision-report-result { margin: 16px 0 22px; scroll-margin-top: 24px; }
.decision-report-empty, .decision-report-card { border: 1px solid #cadcda; border-radius: 18px; background: linear-gradient(145deg, #f7fbfa 0%, #fffefa 58%, #f6fbfa 100%); box-shadow: 0 14px 32px rgb(16 56 70 / .06); }
.decision-report-empty { padding: 28px 30px; }
.decision-report-empty h2 { margin: 7px 0 8px; color: #193f48; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.035em; }
.decision-report-empty p:not(.section-kicker) { max-width: 710px; margin: 0; color: #3e6066; font-size: 14px; line-height: 1.7; }
.decision-report-card { overflow: hidden; }
.decision-report-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 26px 30px 20px; border-bottom: 1px solid #dbe7e5; }
.decision-report-card-header h2 { margin: 7px 0 5px; color: #163f49; font-size: clamp(23px, 2.6vw, 32px); letter-spacing: -.04em; }
.decision-report-card-header p:not(.section-kicker) { margin: 0; color: #557078; font-size: 13px; line-height: 1.55; }
.decision-report-stage { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #bfd6d2; border-radius: 999px; color: #235f5b; background: #edf8f4; font-size: 11px; font-weight: 850; white-space: nowrap; }
.decision-report-verdict { margin: 20px 30px 16px; padding: 20px 22px; border: 1px solid #d9cf9f; border-radius: 14px; background: linear-gradient(120deg, #fffaf0, #fffefa); }
.decision-report-verdict > span { display: block; margin-bottom: 8px; color: #80641f; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.decision-report-verdict strong { display: block; max-width: 820px; color: #223f47; font-size: clamp(21px, 2.4vw, 29px); line-height: 1.3; letter-spacing: -.035em; }
.decision-report-verdict p { max-width: 840px; margin: 9px 0 0; color: #4b6266; font-size: 14px; line-height: 1.7; }
.decision-report-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 30px 20px; }
.decision-report-section { min-width: 0; padding: 18px; border: 1px solid #dbe8e6; border-radius: 14px; background: rgb(255 255 255 / .76); }
.decision-report-section.is-boundary { border-color: #e8deb9; background: #fffdf8; }
.decision-report-section h3 { margin: 0; color: #1b5159; font-size: 16px; letter-spacing: -.02em; }
.decision-report-section.is-boundary h3 { color: #795f22; }
.decision-report-section > p { min-height: 40px; margin: 6px 0 12px; color: #5a7076; font-size: 12px; line-height: 1.55; }
.decision-report-section ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.decision-report-section li { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid #e2ecea; border-radius: 10px; background: #fff; }
.decision-report-section.is-boundary li { border-color: #eee6cb; background: #fffefa; }
.decision-report-section li strong { color: #24535b; font-size: 12px; line-height: 1.45; }
.decision-report-section.is-boundary li strong { color: #765f2c; }
.decision-report-section li span, .decision-report-fallback { color: #465f66; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.decision-report-fallback { margin: 0; padding: 11px; border-radius: 10px; background: #f8fbfa; }
.decision-report-evidence { margin: 0 30px 28px; border-top: 1px solid #dce7e5; }
.decision-report-evidence summary { padding: 14px 0; color: #24565d; font-size: 13px; font-weight: 850; cursor: pointer; }
.decision-report-evidence > div { display: grid; gap: 12px; padding: 0 0 4px; }
.decision-report-evidence > div > p { margin: 0; color: #536a70; font-size: 12px; line-height: 1.65; }
.decision-report-evidence ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.decision-report-evidence li { min-width: 0; padding: 11px; border: 1px solid #dce7e5; border-radius: 10px; background: #fbfdfc; }
.decision-report-evidence li strong, .decision-report-evidence li span { display: block; overflow-wrap: anywhere; }
.decision-report-evidence li strong { margin-bottom: 4px; color: #24535b; font-size: 11px; }
.decision-report-evidence li span, .decision-report-evidence small { color: #5b7076; font-size: 12px; line-height: 1.55; }
#decision-workspace[data-view-section="report"] { margin-top: 26px; }
#decision-workspace[data-view-section="report"] .decision-workspace-heading h2 { color: #244b54; }
@media (max-width: 760px) {
  #report[data-view-section="report"] { padding: 22px 20px; }
  .decision-report-result { margin-top: 14px; }
  .decision-report-empty { padding: 22px 20px; }
  .decision-report-card-header { align-items: flex-start; flex-direction: column; gap: 10px; padding: 21px 20px 17px; }
  .decision-report-verdict { margin: 16px 20px; padding: 17px; }
  .decision-report-columns { grid-template-columns: minmax(0, 1fr); padding: 0 20px 16px; }
  .decision-report-section > p { min-height: 0; }
  .decision-report-evidence { margin: 0 20px 20px; }
  .decision-report-evidence ul { grid-template-columns: minmax(0, 1fr); }
}


/* ATLAS 01 | 共同坐标：仅呈现研究基线、开放观察与明确的数据边界。 */
.analysis-summary-v3 { display:block; margin:0 0 26px; color:#142640; }
.analysis-summary-v3-shell { position:relative; overflow:hidden; padding:clamp(20px,3vw,34px); border:1px solid #d9d0c2; border-radius:24px; background:radial-gradient(circle at 12% 0%,rgb(231 167 88 / .15),transparent 26%),radial-gradient(circle at 100% 24%,rgb(79 137 144 / .13),transparent 24%),linear-gradient(130deg,#fffdfa,#f8f4ed); box-shadow:0 20px 55px rgb(22 37 58 / .12); }
.analysis-summary-v3-shell::before { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.28; background-image:radial-gradient(rgb(20 38 64 / .14) .55px,transparent .65px); background-size:8px 8px; content:''; }
.analysis-summary-v3-header,.analysis-summary-v3-board { position:relative; z-index:1; }
.analysis-summary-v3-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start; padding-bottom:24px; border-bottom:1px solid #d9d0c2; }
.analysis-summary-v3-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 12px; color:#39737a; font:800 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.14em; }
.analysis-summary-v3-eyebrow > span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:#142640; letter-spacing:0; }
.analysis-summary-v3-header h2 { margin:0; color:#142640; font-family:Georgia,"Noto Serif SC",serif; font-size:clamp(42px,5.2vw,70px); font-weight:700; letter-spacing:-.06em; line-height:.96; }
.analysis-summary-v3-header > div > p:last-child { max-width:680px; margin:16px 0 0; color:#46556a; font-size:15px; line-height:1.78; }
.analysis-summary-v3-stamp { min-width:218px; margin:3px 0 0; padding:14px 16px; border:1px solid rgb(20 38 64 / .23); border-radius:14px; color:#142640; background:rgb(255 253 250 / .72); transform:rotate(1.1deg); }.analysis-summary-v3-stamp b,.analysis-summary-v3-stamp span { display:block; }.analysis-summary-v3-stamp b { font:800 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }.analysis-summary-v3-stamp span { margin-top:8px; color:#657185; font-size:12px; line-height:1.52; }
.analysis-summary-v3-board { display:grid; grid-template-columns:minmax(0,1.58fr) minmax(300px,.82fr); gap:20px; margin-top:22px; }.analysis-summary-v3-main-stack,.analysis-summary-v3-side-stack { display:grid; align-content:start; gap:17px; min-width:0; }.analysis-summary-v3-card { min-width:0; overflow:hidden; border:1px solid #d9d0c2; border-radius:18px; background:rgb(255 253 250 / .84); }
.analysis-summary-v3-card-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:18px 20px 0; }.analysis-summary-v3-card-heading p,.analysis-summary-v3-dossier > p,.analysis-summary-v3-feedback-heading p { margin:0; color:#39737a; font:800 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; }.analysis-summary-v3-card-heading h3,.analysis-summary-v3-dossier h3,.analysis-summary-v3-feedback-heading h3 { margin:6px 0 0; color:#142640; font-family:Georgia,"Noto Serif SC",serif; font-size:23px; font-weight:700; letter-spacing:-.035em; line-height:1.12; }.analysis-summary-v3-card-heading > span { color:#657185; font-size:11px; line-height:1.45; text-align:right; }
.analysis-summary-v3-baseline-grid { display:grid; grid-template-columns:1.05fr .97fr .97fr; margin-top:17px; border-top:1px solid #d9d0c2; }.analysis-summary-v3-baseline-grid article { min-width:0; padding:18px 20px; border-right:1px solid #d9d0c2; }.analysis-summary-v3-baseline-grid article:last-child { border-right:0; }.analysis-summary-v3-baseline-grid .is-focus { background:linear-gradient(145deg,rgb(220 235 237 / .68),rgb(255 253 250 / .14)); }.analysis-summary-v3-baseline-grid label { display:block; color:#657185; font-size:12px; }.analysis-summary-v3-baseline-grid strong { display:block; margin-top:6px; color:#142640; font-family:Georgia,"Noto Serif SC",serif; font-size:31px; font-weight:700; letter-spacing:-.06em; line-height:1; overflow-wrap:anywhere; }.analysis-summary-v3-baseline-grid strong small { font-family:inherit; font-size:13px; letter-spacing:0; }.analysis-summary-v3-baseline-grid p { margin:10px 0 0; color:#536176; font-size:12px; line-height:1.62; }
.analysis-summary-v3-price-content { padding:2px 20px 20px; }.analysis-summary-v3-price-intro { display:flex; justify-content:space-between; gap:18px; align-items:end; padding-top:18px; }.analysis-summary-v3-price-intro p { margin:0; color:#4d5d70; font-size:12px; line-height:1.65; }.analysis-summary-v3-price-intro p b { color:#142640; }.analysis-summary-v3-price-intro small { max-width:220px; color:#657185; font-size:11px; line-height:1.52; text-align:right; }.analysis-summary-v3-price-rail { position:relative; height:100px; margin:8px 6px 0; }.analysis-summary-v3-axis { position:absolute; top:55px; right:0; left:0; height:2px; background:#b9c4c9; }.analysis-summary-v3-iqr { position:absolute; top:44px; left:var(--p25); width:calc(var(--p75) - var(--p25)); height:23px; border-radius:5px; background:linear-gradient(90deg,#99c6c9,#5e9ca1); }.analysis-summary-v3-median { position:absolute; top:25px; bottom:16px; left:var(--p50); width:2px; background:#142640; }.analysis-summary-v3-p25,.analysis-summary-v3-p50,.analysis-summary-v3-p75 { position:absolute; z-index:1; color:#142640; font:800 10px/1.18 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:center; white-space:nowrap; }.analysis-summary-v3-p25 { top:68px; left:var(--p25); transform:translateX(-50%); }.analysis-summary-v3-p50 { top:0; left:var(--p50); transform:translateX(-50%); }.analysis-summary-v3-p75 { top:68px; left:var(--p75); transform:translateX(-50%); }.analysis-summary-v3-axis-note { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; margin-top:-2px; color:#657185; font-size:10px; }.analysis-summary-v3-axis-note span:nth-child(2) { text-align:center; }.analysis-summary-v3-axis-note span:last-child { text-align:right; }.analysis-summary-v3-bands { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-top:17px; }.analysis-summary-v3-band { min-width:0; padding:10px 9px; border:1px solid #ded7cc; border-radius:10px; background:rgb(255 255 255 / .62); }.analysis-summary-v3-band b,.analysis-summary-v3-band span,.analysis-summary-v3-band small { display:block; overflow-wrap:anywhere; }.analysis-summary-v3-band b { color:#42556e; font:800 10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; }.analysis-summary-v3-band span { margin-top:5px; color:#142640; font-size:13px; font-weight:800; }.analysis-summary-v3-band small { margin-top:2px; color:#657185; font-size:10px; }.analysis-summary-v3-empty { grid-column:1 / -1; margin:0; padding:12px; color:#657185; font-size:12px; }
.analysis-summary-v3-observations { display:grid; gap:1px; margin-top:17px; border-top:1px solid #d9d0c2; background:#d9d0c2; }.analysis-summary-v3-observations article { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:start; padding:15px 20px; background:rgb(255 253 250 / .94); }.analysis-summary-v3-observations article.is-caution { background:linear-gradient(90deg,#fffaf2,#fffdfa); }.analysis-summary-v3-observations article > span { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; color:#2c6570; background:#dcebed; font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }.analysis-summary-v3-observations .is-caution > span { color:#9a4f48; background:#f5e1dd; }.analysis-summary-v3-observations b { display:block; color:#142640; font-size:13px; line-height:1.45; }.analysis-summary-v3-observations p { margin:5px 0 0; color:#536176; font-size:12px; line-height:1.58; }.analysis-summary-v3-observations em { max-width:104px; color:#486873; font:800 10px/1.42 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:right; font-style:normal; }
.analysis-summary-v3-dossier { padding:20px; background:linear-gradient(152deg,#e7f1f1 0%,#fffaf1 100%); }.analysis-summary-v3-dossier > p { color:#39737a; }.analysis-summary-v3-dossier h3 { margin-bottom:17px; }.analysis-summary-v3-file { position:relative; overflow:hidden; padding:17px 16px 15px; border:1px solid rgb(20 38 64 / .2); border-radius:12px; background:rgb(255 253 250 / .74); }.analysis-summary-v3-file::after { position:absolute; right:-29px; bottom:-37px; width:130px; height:130px; border:18px solid rgb(79 137 144 / .14); border-radius:50%; content:''; }.analysis-summary-v3-file > span { display:inline-block; padding:4px 6px; color:#fff; background:#142640; font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }.analysis-summary-v3-file h4 { position:relative; z-index:1; margin:15px 0; color:#142640; font-family:Georgia,"Noto Serif SC",serif; font-size:27px; letter-spacing:-.05em; line-height:1.02; }.analysis-summary-v3-file > div { position:relative; z-index:1; display:grid; gap:8px; }.analysis-summary-v3-file > div p { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; align-items:start; margin:0; color:#40546d; font-size:11px; font-weight:700; line-height:1.5; }.analysis-summary-v3-file i { display:grid; width:18px; height:18px; place-items:center; border:1px solid #94b5b8; border-radius:50%; color:#2c6570; font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; font-style:normal; }.analysis-summary-v3-dossier > small { display:block; margin-top:14px; color:#536176; font-size:11px; line-height:1.58; }
.analysis-summary-v3-feedback-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; padding:20px 20px 12px; }.analysis-summary-v3-feedback-heading > span { color:#657185; font:800 10px/1.46 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:right; }.analysis-summary-v3-feedback-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; padding:13px 20px; border-top:1px solid #e1d9ce; }.analysis-summary-v3-feedback-row b { display:block; color:#142640; font-size:13px; line-height:1.4; }.analysis-summary-v3-feedback-row p { margin:4px 0 0; color:#657185; font-size:11px; line-height:1.55; }.analysis-summary-v3-feedback-row > span { min-width:31px; padding-top:2px; color:#2d6870; font:800 17px/1 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:right; }.analysis-summary-v3-feedback-boundary { margin:0; padding:13px 20px 16px; border-top:1px solid #e1d9ce; color:#657185; font-size:11px; line-height:1.6; background:rgb(249 246 239 / .72); }
.analysis-summary-v3-footer { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:18px; padding:14px 2px 0; border-top:1px solid #d9d0c2; }.analysis-summary-v3-footer p { margin:0; color:#536176; font-size:11px; line-height:1.62; }.analysis-summary-v3-footer b { color:#142640; }
@media (max-width:1100px) { .analysis-summary-v3-board { grid-template-columns:1fr; }.analysis-summary-v3-side-stack { grid-template-columns:repeat(2,minmax(0,1fr)); }.analysis-summary-v3-footer { grid-template-columns:1fr; gap:8px; } }
@media (max-width:760px) { .analysis-summary-v3-shell { padding:20px; border-radius:18px; }.analysis-summary-v3-header { grid-template-columns:1fr; gap:16px; }.analysis-summary-v3-header h2 { font-size:48px; }.analysis-summary-v3-stamp { min-width:0; transform:none; }.analysis-summary-v3-card-heading,.analysis-summary-v3-price-intro { align-items:start; flex-direction:column; gap:7px; }.analysis-summary-v3-card-heading > span,.analysis-summary-v3-price-intro small { max-width:none; text-align:left; }.analysis-summary-v3-baseline-grid { grid-template-columns:1fr; }.analysis-summary-v3-baseline-grid article { border-right:0; border-bottom:1px solid #d9d0c2; }.analysis-summary-v3-baseline-grid article:last-child { border-bottom:0; }.analysis-summary-v3-bands { grid-template-columns:repeat(2,minmax(0,1fr)); }.analysis-summary-v3-band:last-child { grid-column:1 / -1; }.analysis-summary-v3-observations article { grid-template-columns:28px minmax(0,1fr); }.analysis-summary-v3-observations em { grid-column:2; max-width:none; text-align:left; }.analysis-summary-v3-side-stack { grid-template-columns:1fr; }.analysis-summary-v3-footer { margin-top:16px; } }
@media (max-width:420px) { .analysis-summary-v3-header h2 { font-size:42px; }.analysis-summary-v3-price-rail { margin-right:0; margin-left:0; }.analysis-summary-v3-p25,.analysis-summary-v3-p50,.analysis-summary-v3-p75 { font-size:9px; }.analysis-summary-v3-axis-note { font-size:9px; }.analysis-summary-v3-card-heading,.analysis-summary-v3-price-content,.analysis-summary-v3-observations article,.analysis-summary-v3-feedback-heading,.analysis-summary-v3-feedback-row,.analysis-summary-v3-feedback-boundary { padding-right:15px; padding-left:15px; } }
@media (prefers-reduced-motion:reduce) { .analysis-summary-v3 *,.analysis-summary-v3 *::before,.analysis-summary-v3 *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }


/* UI-07.10 | Product evidence board: factual records first, grouped original-currency prices, then field coverage. */
#data-workshop .catalog-evidence-heading { align-items: end; margin-bottom: 14px; }
#data-workshop .catalog-evidence-heading .scope-note { max-width: 390px; color: #617078; }
#data-workshop .catalog-evidence-summary { display: block; margin: 0 0 22px; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.catalog-evidence-board { overflow: hidden; border: 1px solid #cbdad8; border-radius: 16px; color: #142e38; background: linear-gradient(135deg, #f7faf8 0%, #ffffff 46%, #fbfaf6 100%); box-shadow: 0 16px 32px rgb(34 78 84 / .06); }
.catalog-evidence-board-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 22px 24px 16px; border-bottom: 1px solid #dbe6e3; }
.catalog-evidence-board-header .section-kicker { margin: 0; color: #587b79; }
.catalog-evidence-board-header h3 { margin: 5px 0 0; color: #173841; font-size: 24px; letter-spacing: -.045em; }
.catalog-evidence-count { display: grid; flex: 0 0 auto; gap: 3px; margin: 0; text-align: right; }
.catalog-evidence-count strong { color: #214f58; font: 800 30px/.94 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.07em; }
.catalog-evidence-count span { color: #617078; font-size: 11px; }
.catalog-evidence-selection { display: flex; flex-wrap: wrap; gap: 7px; padding: 12px 24px; border-bottom: 1px solid #dbe6e3; background: rgb(235 243 241 / .62); }
.catalog-evidence-selection span { display: inline-flex; align-items: baseline; gap: 6px; max-width: 100%; padding: 5px 8px; border: 1px solid #cfdfdc; border-radius: 6px; color: #355a60; background: #fff; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.catalog-evidence-selection b { color: #6b7d80; font-size: 9px; letter-spacing: .06em; }
.catalog-evidence-board-grid { display: grid; grid-template-columns: minmax(0, 1.36fr) minmax(270px, .74fr); }
.catalog-evidence-price-panel { min-width: 0; padding: 20px 24px 22px; border-right: 1px solid #dbe6e3; }
.catalog-evidence-price-panel > header, .catalog-evidence-fields-panel > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.catalog-evidence-price-panel > header span, .catalog-evidence-fields-panel > header > span { display: block; color: #567b79; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.catalog-evidence-price-panel h4, .catalog-evidence-fields-panel h4 { margin: 5px 0 0; color: #183b45; font-size: 17px; letter-spacing: -.025em; }
.catalog-evidence-price-panel > header p { margin: 1px 0 0; color: #6b767a; font-size: 10px; text-align: right; }
.catalog-price-group-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.catalog-price-group { min-width: 0; padding: 13px; border: 1px solid #d9e4e1; border-radius: 11px; background: #fff; }
.catalog-price-group header > div { display: grid; gap: 4px; }
.catalog-price-group header span { color: #476b6c; font-size: 10px; font-weight: 780; line-height: 1.35; }
.catalog-price-group header strong { color: #768083; font-size: 9px; font-weight: 700; }
.catalog-price-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin-top: 12px; }
.catalog-price-stat-grid div { min-width: 0; }
.catalog-price-stat-grid span { display: block; color: #738083; font-size: 8px; font-weight: 800; letter-spacing: .03em; }
.catalog-price-stat-grid b { display: block; margin-top: 4px; overflow: hidden; color: #173b45; font: 800 11px/1.28 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; }
.catalog-price-rail { position: relative; height: 14px; margin: 13px 2px 0; }
.catalog-price-rail::before { position: absolute; top: 6px; right: 0; left: 0; height: 2px; border-radius: 99px; background: #c4d4d1; content: ''; }
.catalog-price-rail > i { position: absolute; top: 5px; right: 0; left: 0; height: 4px; border-radius: 99px; background: linear-gradient(90deg, #7ea9a3, #427a80); }
.catalog-price-rail > b { position: absolute; top: 1px; width: 2px; height: 12px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 1px #416f74; }
.catalog-price-overflow, .catalog-evidence-empty-note { margin: 12px 0 0; color: #68777a; font-size: 10px; line-height: 1.55; }
.catalog-evidence-fields-panel { min-width: 0; padding: 20px; background: rgb(242 247 245 / .66); }
.catalog-evidence-field-grid { display: grid; gap: 1px; margin-top: 15px; overflow: hidden; border: 1px solid #d6e2df; border-radius: 10px; background: #d6e2df; }
.catalog-evidence-field-grid article { min-width: 0; padding: 10px 11px; background: #fff; }
.catalog-evidence-field-grid span { display: block; color: #61777a; font-size: 10px; font-weight: 780; }
.catalog-evidence-field-grid strong { display: block; margin-top: 4px; color: #214c55; font: 800 15px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.055em; }
.catalog-evidence-field-grid small { display: block; margin-top: 5px; color: #788184; font-size: 9px; }
.catalog-coverage-bar { position: relative; height: 4px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #dce8e5; }
.catalog-coverage-bar i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #4e8b87; }
.catalog-evidence-board footer { padding: 11px 24px; border-top: 1px solid #dbe6e3; color: #637174; background: rgb(253 251 245 / .8); font-size: 10px; line-height: 1.55; }
.catalog-evidence-loading, .catalog-evidence-board-empty { display: grid; min-height: 128px; place-items: center; padding: 20px; border: 1px solid #cbdad8; border-radius: 16px; color: #657477; background: #fbfcfa; font-size: 12px; text-align: center; }
.catalog-evidence-board-empty p { margin: 0; }
#data-workshop .catalog-evidence-tools { align-items: center; margin-top: 0; padding-top: 17px; border-top-color: #d5e1df; }
#data-workshop .catalog-evidence-tools h3 { margin-top: 4px; font-size: 20px; }
#data-workshop .catalog-page-meta { margin: 13px 0 12px; color: #66777a; }
#data-workshop .product-grid { gap: 16px; }
#data-workshop .product-card { display: flex; flex-direction: column; overflow: hidden; border-color: #cfdedb; border-radius: 13px; box-shadow: 0 8px 20px rgb(25 67 73 / .06); }
#data-workshop .product-card:hover { transform: translateY(-2px); border-color: #9dbcb8; box-shadow: 0 16px 28px rgb(25 67 73 / .11); }
#data-workshop .product-image-wrap { height: 174px; background: #edf3f1; }
#data-workshop .product-card-body { display: flex; flex: 1; flex-direction: column; padding: 15px; }
#data-workshop .product-meta { color: #526c70; font-size: 10px; }
#data-workshop .product-taxonomy-label { margin: 9px 0 0; border-radius: 6px; color: #3a6c67; background: #edf6f3; }
.product-source-label { display: block; margin-top: 13px; color: #7a8587; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
#data-workshop .product-card h3 { min-height: 43px; margin: 5px 0 12px; color: #193c45; font-size: 13px; line-height: 1.55; }
#data-workshop .product-price-row { margin-top: auto; padding: 10px 0; border-top: 1px solid #e0e9e6; border-bottom: 1px solid #e0e9e6; }
#data-workshop .product-price-row strong { color: #254e58; font: 800 16px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.045em; }
#data-workshop .product-evidence-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 11px; padding: 0; border: 1px solid #dee8e6; border-radius: 8px; overflow: hidden; background: #dee8e6; }
#data-workshop .product-evidence-field { display: grid; gap: 3px; min-width: 0; padding: 8px; background: #fff; }
#data-workshop .product-evidence-field::before { display: none; }
#data-workshop .product-evidence-field b { color: #758184; font-size: 9px; font-weight: 800; }
#data-workshop .product-evidence-field i { color: #335c61; font-size: 10px; font-style: normal; line-height: 1.3; }
#data-workshop .product-evidence-field.is-missing i { color: #8b7653; }
#data-workshop .product-detail-slot { min-height: 40px; margin-top: 3px; padding-bottom: 0; }
#data-workshop .product-detail-button { min-height: 38px; margin-top: 10px; padding: 10px 0 0; color: #275f64; font-size: 11px; }
#data-workshop .product-card-actions { right: 0; bottom: 0; left: auto; }
#data-workshop .collection-heart { width: auto; min-width: 42px; height: 30px; padding: 0 8px; border: 1px solid #d6e1df; border-radius: 6px; color: #517173; background: #f4f8f7; font-size: 10px; font-weight: 800; }
#data-workshop .collection-heart-liked.is-selected { border-color: #397a74; color: #fff; background: #397a74; }
#data-workshop .catalog-evidence-conclusion { margin-top: 24px; border-color: #cbdad8; background: #f8fbfa; }
@media (max-width: 1080px) { .catalog-evidence-board-grid { grid-template-columns: 1fr; }.catalog-evidence-price-panel { border-right: 0; border-bottom: 1px solid #dbe6e3; }.catalog-evidence-fields-panel { background: rgb(242 247 245 / .48); }.catalog-evidence-field-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }.catalog-evidence-field-grid article { min-height: 96px; } }
@media (max-width: 760px) { #data-workshop .catalog-evidence-heading { align-items: flex-start; flex-direction: column; }.catalog-evidence-board-header { align-items: start; flex-direction: column; gap: 12px; padding: 18px 16px 14px; }.catalog-evidence-board-header h3 { font-size: 21px; }.catalog-evidence-count { text-align: left; }.catalog-evidence-selection { padding: 10px 16px; }.catalog-evidence-board-grid { display: block; }.catalog-evidence-price-panel, .catalog-evidence-fields-panel { padding: 17px 16px; }.catalog-price-group-grid { grid-template-columns: 1fr; }.catalog-price-stat-grid { gap: 6px; }.catalog-price-stat-grid b { font-size: 10px; }.catalog-evidence-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-evidence-field-grid article { min-height: 0; }.catalog-evidence-board footer { padding: 11px 16px; }.catalog-evidence-tools { gap: 12px; }.catalog-evidence-tools .catalog-tools { margin-left: 0; }.catalog-evidence-selection span { font-size: 10px; } }
@media (max-width: 420px) { .catalog-price-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 9px; }.catalog-price-rail { display: none; }.catalog-evidence-field-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { #data-workshop .product-card, #data-workshop .collection-heart { transition-duration: .01ms !important; } }


/* UI-07.11 | Keep catalog search field surface stable, show focus with a soft ring, and expose local currency reference. */
.search-field input:focus,
.search-field input:focus-visible { border-color: var(--line); color: var(--ink); background: var(--surface-subtle); outline: none; box-shadow: 0 0 0 3px rgb(30 90 120 / .14); }
.catalog-evidence-header-side { display: flex; align-items: end; justify-content: flex-end; gap: 18px; min-width: 0; }
#data-workshop .catalog-exchange-rate { display: flex !important; align-items: center !important; height: 29px !important; min-height: 29px !important; max-height: 29px !important; box-sizing: border-box; margin: 0; padding: 0 24px; overflow: hidden !important; border-bottom: 1px solid #dbe6e3; color: #315c60; background: rgb(235 243 241 / .48); }
#data-workshop .catalog-exchange-ticker { display: block !important; width: 100%; height: 100%; min-width: 0; overflow: hidden !important; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%); }
#data-workshop .catalog-exchange-track { display: flex !important; align-items: center !important; flex-wrap: nowrap !important; width: max-content !important; height: 100% !important; min-width: 0; margin: 0 !important; padding: 0 !important; overflow: visible !important; white-space: nowrap !important; line-height: 1 !important; animation: atlas-catalog-exchange-ticker 24s linear infinite; will-change: transform; }
#data-workshop .catalog-exchange-sequence { display: inline-flex !important; align-items: center !important; flex: none !important; flex-wrap: nowrap !important; gap: 28px; height: 100%; padding-right: 28px; white-space: nowrap !important; }
#data-workshop .catalog-exchange-row { display: inline-flex !important; align-items: center !important; flex: none !important; flex-wrap: nowrap !important; gap: 7px; min-width: max-content !important; height: 100%; white-space: nowrap !important; }
#data-workshop .catalog-exchange-rate p b { display: inline !important; overflow: visible !important; color: #657c7d; font-size: 9px; font-weight: 760; line-height: 1 !important; text-overflow: clip; white-space: nowrap !important; }
#data-workshop .catalog-exchange-rate p strong { display: inline !important; color: #204e56; font: 800 11px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.035em; white-space: nowrap !important; }
.catalog-exchange-ticker:hover .catalog-exchange-track, .catalog-exchange-ticker:focus-within .catalog-exchange-track { animation-play-state: paused; }
@keyframes atlas-catalog-exchange-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.catalog-exchange-rate.is-unavailable { color: #67777a; font-size: 10px; font-weight: 700; text-align: left; }
#data-workshop .product-evidence-field { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; }
#data-workshop .product-evidence-field b, #data-workshop .product-evidence-field i { min-width: 0; }
#data-workshop .product-evidence-field i { margin-left: auto; white-space: nowrap; }
@media (max-width: 1080px) { .catalog-evidence-header-side { align-items: flex-start; justify-content: space-between; width: 100%; } }
@media (max-width: 760px) { .catalog-evidence-header-side { display: grid; gap: 11px; } #data-workshop .catalog-exchange-rate { height: 28px !important; min-height: 28px !important; max-height: 28px !important; padding: 0 16px; } .catalog-evidence-count { text-align: left; } }
@media (prefers-reduced-motion: reduce) { .catalog-exchange-ticker { overflow-x: auto; scrollbar-width: thin; -webkit-mask-image: none; mask-image: none; } .catalog-exchange-track { width: max-content; min-width: 0; padding: 0; animation: none; } .catalog-exchange-sequence[aria-hidden="true"] { display: none; } }


/* UI-02 | Public market structure: data-first reading surface, without methodology text walls. */
#overview .market-structure-top-grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.36fr); gap: 18px; margin-top: 18px; }
#overview .market-structure-top-grid > .panel { min-width: 0; margin: 0; }
#overview .market-coverage-panel { border-color: #d8e1ed; background: linear-gradient(145deg, #fbfdff 0%, #fff 70%); }
#overview .market-coverage-panel .country-chart { margin-top: 21px; }
#overview .market-indicators-panel { border-color: #cfdaea; background: linear-gradient(145deg, #f6f9fe 0%, #fff 72%); }
#overview .market-indicators-panel .panel-heading { padding-bottom: 13px; border-bottom: 1px solid #dfe7f1; }
#overview .market-indicators-panel .panel-tag { color: #41648d; background: #eaf1fb; }
#overview .market-indicator-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 16px; overflow: hidden; border: 1px solid #dfe7f1; border-radius: 12px; background: #fff; }
#overview .market-indicator-grid article { min-width: 0; padding: 14px 13px 13px; border: 0; border-right: 1px solid #e3eaf3; border-radius: 0; background: transparent; }
#overview .market-indicator-grid article:last-child { border-right: 0; }
#overview .market-indicator-grid span { color: #577094; font-size: 9px; letter-spacing: .075em; }
#overview .market-indicator-grid strong { overflow: hidden; margin: 8px 0 6px; color: #1f3d65; font-size: clamp(18px, 1.7vw, 24px); text-overflow: ellipsis; white-space: nowrap; }
#overview .market-indicator-grid small { display: block; min-height: 32px; color: #697a91; font-size: 10px; line-height: 1.55; }
#overview .market-structure-chart-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
#overview .market-structure-chart-grid .chart-panel { min-height: 274px; }
#overview .market-structure-chart-grid .price-range-panel,
#overview .market-structure-chart-grid .market-shape-panel { grid-column: span 2; }
#overview .market-structure-chart-grid .price-range-panel { min-height: 320px; }
#overview .market-structure-chart-grid .price-comparison-row { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
#overview .market-structure-chart-grid .price-comparison-row .chart-panel { min-width: 0; }
#overview .market-structure-chart-grid .price-comparison-row .price-range-panel { grid-column: auto; }
#overview .market-structure-chart-grid .market-shape-panel { min-height: 342px; }
#overview .market-structure-chart-grid .market-cei-panel { min-height: 342px; }
#overview .price-bars { gap: 14px; padding-top: 10px; }
#overview .price-bar-row { grid-template-columns: 62px minmax(0, 1fr) 56px; }
#overview .price-bar-row > div { height: 9px; background: #e9eef5; }
#overview .price-bar-row i { background: linear-gradient(90deg, #2f6fba, #6898d3); }
#overview .price-band-chart { min-height: 170px; }
#overview .price-range-panel { border-color: #d6e0ee; background: linear-gradient(145deg, #fcfdff, #fff); }
#overview .price-distribution-chart { gap: 13px; padding: 8px 0 0; }
#overview .price-range-scale { padding: 0 2px; color: #73829a; }
#overview .price-range-scale span:nth-child(2) { color: #486c98; }
#overview .price-range-row { grid-template-columns: minmax(130px, .36fr) minmax(0, 1fr); gap: 17px; }
#overview .price-range-row small { color: #6f8097; }
#overview .price-range-track { height: 30px; border: 1px solid #eef2f7; border-radius: 7px; background: repeating-linear-gradient(90deg, #eff3f8 0 1px, transparent 1px 25%); }
#overview .price-range-track::before { height: 3px; background: #bdc9d8; }
#overview .price-range-track > i { height: 5px; background: #4f7eb6; box-shadow: 0 1px 0 rgb(31 80 140 / .22); }
#overview .price-range-track > b { height: 13px; border-color: #3a6fa9; background: rgb(85 137 196 / .28); }
#overview .price-range-track > em { width: 4px; height: 18px; margin-left: -2px; background: #cc7a2e; box-shadow: 0 0 0 1px rgb(255 255 255 / .96); }
#overview .price-range-track > u { position: absolute; top: 50%; z-index: 2; display: block; width: 3px; height: 23px; margin-left: -1px; transform: translateY(-50%); border-radius: 2px; background: #244e82; box-shadow: 0 0 0 1px rgb(255 255 255 / .96); text-decoration: none; }
#overview .market-shape-matrix { min-width: 0; margin-top: 8px; }
#overview .market-shape-scroll { overflow-x: auto; padding-bottom: 2px; }
#overview .market-shape-grid { min-width: 610px; overflow: hidden; border: 1px solid #dce5f0; border-radius: 11px; }
#overview .market-shape-row { display: grid; min-width: 100%; border-bottom: 1px solid #e5ebf3; }
#overview .market-shape-row:last-child { border-bottom: 0; }
#overview .market-shape-row > span,
#overview .market-shape-row > strong { display: grid; min-width: 0; min-height: 41px; place-items: center; padding: 6px; border-right: 1px solid #e5ebf3; color: #315071; font-size: 10px; text-align: center; line-height: 1.25; overflow-wrap: anywhere; }
#overview .market-shape-row > :last-child { border-right: 0; }
#overview .market-shape-row > strong { justify-content: start; padding-left: 12px; color: #294563; font-size: 11px; text-align: left; }
#overview .market-shape-header { background: #f4f7fb; }
#overview .market-shape-header > span { min-height: 46px; color: #516b8a; font-size: 9px; font-weight: 850; letter-spacing: .03em; }
#overview .market-shape-cell { font-weight: 800; background: rgb(42 105 181 / var(--market-shape-level)); }
#overview .market-shape-cell[style*="0.08"] { color: #657b94; }
#overview .market-shape-legend { display: flex; align-items: center; gap: 8px; margin-top: 10px; color: #718198; font-size: 10px; }
#overview .market-shape-legend i { width: 86px; height: 7px; border-radius: 99px; background: linear-gradient(90deg, rgb(42 105 181 / .12), rgb(42 105 181 / .88)); }
#overview .market-shape-legend b { margin-left: auto; color: #58708d; font-size: 10px; font-weight: 700; }
#overview .market-cei { display: grid; gap: 9px; margin-top: 8px; }
#overview .market-cei-head,
#overview .market-cei-row { display: grid; grid-template-columns: minmax(76px, 1fr) minmax(120px, 1.35fr) 64px; align-items: center; gap: 9px; }
#overview .market-cei-head { padding: 0 2px 8px; border-bottom: 1px solid #e1e8f1; color: #728199; font-size: 9px; font-weight: 850; letter-spacing: .04em; }
#overview .market-cei-head span:last-child { text-align: right; }
#overview .market-cei-list { display: grid; gap: 7px; }
#overview .market-cei-row { min-height: 30px; }
#overview .market-cei-row strong { overflow: hidden; color: #314d6d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#overview .market-cei-row small { color: #566d89; font-size: 10px; font-weight: 800; text-align: right; }
#overview .market-cei-score { display: grid; grid-template-columns: minmax(0, 1fr) 39px; align-items: center; gap: 7px; }
#overview .market-cei-score i { display: block; height: 7px; overflow: hidden; border-radius: 99px; background: #e9eef5; }
#overview .market-cei-score i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3d72b0, #75a0d2); }
#overview .market-cei-score span { color: #385c86; font-size: 10px; font-weight: 850; text-align: right; }
#overview .market-structure-chart-grid .chart-caption { margin-top: 13px; }

@media (max-width: 1100px) {
  #overview .market-structure-top-grid { grid-template-columns: 1fr; }
  #overview .market-indicator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #overview .market-indicator-grid article:nth-child(2) { border-right: 0; }
  #overview .market-indicator-grid article:nth-child(-n + 2) { border-bottom: 1px solid #e3eaf3; }
  #overview .market-structure-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #overview .market-structure-chart-grid .price-range-panel,
  #overview .market-structure-chart-grid .market-shape-panel { grid-column: span 2; }
  #overview .market-structure-chart-grid .price-comparison-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #overview .market-structure-chart-grid .price-comparison-row .price-range-panel { grid-column: auto; }
}
@media (max-width: 760px) {
  #overview .market-indicator-grid { grid-template-columns: 1fr 1fr; }
  #overview .market-indicator-grid article { padding: 12px; }
  #overview .market-structure-chart-grid { grid-template-columns: 1fr; }
  #overview .market-structure-chart-grid .price-range-panel,
  #overview .market-structure-chart-grid .market-shape-panel { grid-column: auto; }
  #overview .market-structure-chart-grid .price-comparison-row { grid-template-columns: 1fr; grid-column: auto; }
  #overview .market-structure-chart-grid .price-comparison-row .price-range-panel { grid-column: auto; }
  #overview .market-structure-chart-grid .price-range-panel,
  #overview .market-structure-chart-grid .market-shape-panel,
  #overview .market-structure-chart-grid .market-cei-panel { min-height: 0; }
  #overview .price-range-row { grid-template-columns: 1fr; gap: 7px; }
  #overview .market-cei-head,
  #overview .market-cei-row { grid-template-columns: minmax(70px, .9fr) minmax(130px, 1.35fr) 58px; }
}


/* 03 消费者公开反馈 v3：以数据卡、主题地图和可回链证据为主，收缩解释性文字墙 */
.cfv3-live{--cf-ink:#173852;--cf-muted:#71849a;--cf-line:#d8e4ee;--cf-paper:#f6f9fc;--cf-blue:#3975b6;--cf-blue-soft:#eaf2fb;--cf-orange:#b86a30;--cf-orange-soft:#fff3e9;--cf-red:#b5534d;--cf-red-soft:#fff1ef;color:var(--cf-ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(145deg,#f4f8fb,#fff 47%,#f6f9fc);padding:22px;border-radius:20px}.cfv3-live *{box-sizing:border-box}.cfv3-grid{display:grid;gap:16px;margin-bottom:16px}.cfv3-top{grid-template-columns:4.5fr 7.5fr}.cfv3-bottom{grid-template-columns:1fr 1fr}.cfv3-card{background:#fff;border:1px solid var(--cf-line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(40,83,119,.05)}.cfv3-pad{padding:18px 19px}.cfv3-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:15px}.cfv3-sec-code{display:block;margin-bottom:4px;color:#5880a5;font-size:10px;font-weight:900;letter-spacing:.13em}.cfv3-sec-head h3{margin:0;font-size:17px;letter-spacing:-.02em}.cfv3-sub{font-size:11px;color:var(--cf-muted);white-space:nowrap}.cfv3-coverage{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:6px}.cfv3-metric{border-radius:12px;background:var(--cf-paper);padding:14px 11px;min-height:109px}.cfv3-metric b{display:block;font-size:24px;line-height:1;letter-spacing:-.05em;margin-bottom:8px}.cfv3-metric span{display:block;color:#5f768b;font-size:12px;font-weight:700;line-height:1.35}.cfv3-metric em{display:block;color:#8495a5;font-size:10px;font-style:normal;margin-top:6px}.cfv3-star-structure{display:grid;gap:7px;margin-top:16px}.cfv3-star-structure .star-row{display:grid;grid-template-columns:34px 1fr 54px;gap:8px;align-items:center}.cfv3-star-structure .star-row>div{height:8px;border-radius:8px;background:#eef3f7;overflow:hidden}.cfv3-star-structure .star-row i{display:block;height:100%;background:#3975b6;border-radius:8px}.cfv3-star-structure .star-row span,.cfv3-star-structure .star-row strong{font-size:10px;color:#6c8193}.cfv3-star-structure .star-row strong{text-align:right}.cfv3-review-volume{min-height:206px}.cfv3-review-volume .chart-axis-guide{display:flex;justify-content:space-between;color:#8294a4;font-size:10px;margin-bottom:7px}.cfv3-review-volume .review-volume-chart-plot{display:grid;grid-template-columns:34px minmax(0,1fr);height:166px}.cfv3-review-volume .review-volume-y-axis{height:136px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:0 4px 0 0;color:#8294a4;font-size:10px}.cfv3-review-volume .review-volume-graphic{height:100%;min-width:0}.cfv3-review-volume svg{width:100%;height:136px;display:block;overflow:visible}.cfv3-review-volume .review-volume-grid{stroke:#dce5ed;stroke-width:.75;vector-effect:non-scaling-stroke}.cfv3-review-volume .review-volume-baseline{stroke:#b9cad8;stroke-width:1;vector-effect:non-scaling-stroke}.cfv3-review-volume .review-volume-bar{cursor:default;transition:opacity .16s ease}.cfv3-review-volume .review-volume-bar:hover{opacity:.78}.cfv3-review-volume .chart-axis-labels{display:flex;justify-content:space-between;color:#8294a4;font-size:10px;margin-top:3px}.cfv3-review-volume .chart-value-guide{margin:5px 0 0;color:#8293a1;font-size:10px}.cfv3-review-volume .chart-empty-state{padding:50px 10px;color:#7d8f9e;text-align:center;font-size:12px}.cfv3-review-volume .chart-empty-state strong,.cfv3-review-volume .chart-empty-state span{display:block}.cfv3-review-volume .chart-empty-state span{margin-top:5px}.cfv3-map-card{margin-bottom:16px}.cfv3-map-layout{display:grid;grid-template-columns:5.15fr 6.85fr;gap:18px;align-items:stretch}.cfv3-orbit{position:relative;min-height:500px;border-radius:14px;background:radial-gradient(ellipse at 50% 50%,#fbfdff 0 11%,#f1f7fc 11.5% 12.2%,transparent 12.7%),linear-gradient(135deg,#fafdff,#f4f9fd 52%,#fff);overflow:hidden;isolation:isolate}.cfv3-orbit:before{content:"";position:absolute;z-index:0;inset:25px 4px 20px;border:1px solid #d9e8f3;border-radius:50%;transform:rotate(-10deg);box-shadow:inset 0 0 0 9px rgba(255,255,255,.42);pointer-events:none}.cfv3-orbit-ring{position:absolute;border-radius:50%;pointer-events:none;z-index:1}.cfv3-orbit-ring.outer{inset:48px 8px 40px;border:1px solid #cbddeb;border-left-color:transparent;border-bottom-color:#dce9f3;transform:rotate(-11deg)}.cfv3-orbit-ring.inner{inset:104px 47px 90px;border:1px dashed #bfd5e7;border-right-color:transparent;transform:rotate(14deg)}.cfv3-orbit:after{content:"";position:absolute;z-index:1;width:105px;height:105px;left:calc(50% - 52px);top:calc(50% - 52px);border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,#f4f9fd 72%);box-shadow:0 10px 22px rgba(49,98,143,.13),inset 0 0 0 1px #dbe7f1}.cfv3-orbit-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-size:15px;font-weight:900;line-height:1.35;color:#426b8c}.cfv3-orbit-label{position:absolute;z-index:3;left:var(--orbit-left);top:var(--orbit-top);transform:translate(-50%,-50%);max-width:118px;padding:6px 8px;border:1px solid #cbddea;background:radial-gradient(circle at 28% 24%,#fff 0 12%,#eef6fc 13% 100%);border-radius:18px 14px 17px 13px;color:#42749c;box-shadow:0 7px 14px rgba(42,85,121,.08),inset 0 1px 0 rgba(255,255,255,.8);font-size:10px;font-weight:800;line-height:1.3;text-align:center;white-space:normal;width:96px;overflow-wrap:break-word}.cfv3-orbit-label b{display:block}.cfv3-orbit-label small{display:block;color:#7391a9;font-size:9px;line-height:1.2;margin-top:2px;white-space:nowrap}.cfv3-orbit-label.positive{border-color:#cbddea}.cfv3-orbit-label.neg{border-color:#e8c7a9;color:#a86632;background:radial-gradient(circle at 28% 24%,#fff 0 12%,#fff4e9 13% 100%)}.cfv3-orbit-label.neg small{color:#a86632;font-weight:900}.cfv3-orbit-label.outer{width:96px;max-width:96px}.cfv3-orbit-label.inner{width:96px;max-width:96px}.cfv3-topic-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:center}.cfv3-topic{min-height:55px;padding:10px 11px;border-radius:11px;background:var(--cf-blue-soft);border:1px solid #d5e4f3;display:flex;align-items:center;justify-content:space-between;gap:9px}.cfv3-topic b{font-size:12px;line-height:1.3}.cfv3-topic span{font-size:10px;color:#47799f;font-weight:900;white-space:nowrap}.cfv3-topic:has(b:first-child){ }.cfv3-topic.is-positive{background:var(--cf-blue-soft);border-color:#d5e4f3}.cfv3-topic.is-positive span{color:#47799f}.cfv3-topic.is-negative{background:var(--cf-orange-soft);border-color:#f0d5bd}.cfv3-topic.is-negative span{color:#a8612c}.cfv3-evidence-area{margin-bottom:16px}.cfv3-evidence-summaries{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:13px}.cfv3-summary{border:1px solid #d6e5f1;border-radius:14px;background:#fbfdff;padding:14px 16px}.cfv3-summary.issue{border-color:#efd7c0;background:#fffcf8}.cfv3-summary-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.cfv3-summary-line b{font-size:11px;color:#45779e;letter-spacing:.08em}.cfv3-summary.issue .cfv3-summary-line b{color:#a96834}.cfv3-summary-line span{font-size:11px;color:#72879a;font-weight:800}.cfv3-summary p{margin:0;color:#3f7097;font-size:13px;line-height:1.5;font-weight:800}.cfv3-summary.issue p{color:#a86431}.cfv3-chains{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cfv3-chain{border:1px solid var(--cf-line);border-radius:16px;padding:16px;background:#fff}.cfv3-chain.issue{border-color:#ead9ca;background:#fffefd}.cfv3-chain-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.cfv3-chain-head h3{font-size:16px;margin:0}.cfv3-chain-total{font-size:11px;color:#6c8296;font-weight:800}.cfv3-chain-total.orange{color:#aa6530}.cfv3-chain-item{border-top:1px solid #e8eef4;padding:11px 0 10px}.cfv3-chain.issue .cfv3-chain-item{border-color:#f1e7de}.cfv3-chain-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.cfv3-chain-title b{font-size:13px}.cfv3-chain-title span{font-size:10px;color:#6e8498;white-space:nowrap}.cfv3-chain-copy{font-size:12px;line-height:1.5;color:#526d83;margin:7px 0 6px}.cfv3-phrase{font-size:10px;color:#8193a2;line-height:1.45}.cfv3-source{margin-top:7px;color:#3f78a7;font-size:11px;font-weight:800}.cfv3-chain.issue .cfv3-source{color:#a96733}.cfv3-source summary{cursor:pointer}.cfv3-source-list{margin-top:8px}.cfv3-source-list blockquote{margin:7px 0 3px;padding-left:9px;border-left:2px solid #bfd6e8;font-size:11px;color:#526d83;line-height:1.45}.cfv3-source-list cite{display:block;font-size:10px;color:#8293a1;font-style:normal;font-weight:500}.cfv3-location-grid{display:grid;grid-template-columns:1.15fr 1.15fr 1fr;gap:12px}.cfv3-location-card{border-radius:13px;border:1px solid var(--cf-line);padding:14px;background:#fff}.cfv3-location-card h4{font-size:14px;margin:0 0 10px}.cfv3-location-card p{font-size:11px;margin:0 0 11px;color:#6e8294;line-height:1.45}.cfv3-split{display:flex;height:10px;border-radius:10px;overflow:hidden;background:#edf2f7;margin:8px 0}.cfv3-split i{background:var(--cf-blue);display:block}.cfv3-split em{background:var(--cf-orange);display:block;font-style:normal}.cfv3-loc-foot{display:flex;justify-content:space-between;color:#698095;font-size:11px;font-weight:800}.cfv3-loc-foot strong{color:#3975b6}.cfv3-loc-foot .warn{color:#b86932}.cfv3-cei-layout{display:grid;grid-template-columns:4fr 8fr;gap:22px}.cfv3-cei-intro{padding:5px 7px 0 0}.cfv3-cei-number{font-size:40px;font-weight:900;letter-spacing:-.06em;line-height:1;margin:7px 0 9px}.cfv3-cei-intro p{margin:0;color:#708496;line-height:1.55;font-size:12px}.cfv3-matrix{display:grid;grid-template-columns:repeat(var(--cei-cols,4),minmax(0,1fr));border-top:1px solid #dce7f0;border-left:1px solid #dce7f0}.cfv3-cell{min-height:44px;border-right:1px solid #dce7f0;border-bottom:1px solid #dce7f0;padding:8px 9px;display:flex;align-items:center;font-size:11px}.cfv3-cell.head{min-height:35px;color:#6c8193;font-size:10px;font-weight:900;background:#f6f9fc}.cfv3-cell.country{font-weight:800}.cfv3-cell.cei{justify-content:space-between;background:#f6fbff;color:#275d8d;font-weight:850}.cfv3-cell.cei small{font-size:9px;color:#7290aa;font-weight:700}.cfv3-cell.empty{justify-content:center;color:#a7b4bf;background:#fafcfd}.cfv3-note{margin-top:11px;color:#8293a1;font-size:10px;line-height:1.45}.cfv3-empty-visual{display:grid;place-items:center;min-height:160px;color:#7d8f9e;font-size:12px;text-align:center;padding:20px}.cfv3-orbit>.cfv3-empty-visual{height:100%}@media(max-width:880px){.cfv3-live{padding:16px}.cfv3-top,.cfv3-bottom,.cfv3-map-layout,.cfv3-evidence-summaries,.cfv3-chains,.cfv3-cei-layout{grid-template-columns:1fr}.cfv3-coverage{grid-template-columns:1fr 1fr}.cfv3-location-grid{grid-template-columns:1fr}.cfv3-orbit{min-height:500px}.cfv3-matrix{overflow:auto;grid-template-columns:120px repeat(3,120px)}}





/* DDV3 decision desk integration. Scoped to the design-directions template only. */
#opportunities.decision-desk-host { margin: 0; padding: 0; background: transparent; border: 0; }
#opportunities .ddv3-shell { position: relative; isolation: isolate; max-width: none; margin: 0; padding: 34px 42px 78px; border-radius: 24px; background: radial-gradient(circle at 78% 4%, #173654 0, #0b1727 33%, #08111f 76%); color: #f6f2e9; overflow: hidden; }
#opportunities .ddv3-shell button { font: inherit; }
#opportunities .ddv3-live-evidence { margin-top: 34px; }
#opportunities .ddv3-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 13px; }
#opportunities .ddv3-section-head h2 { margin: 6px 0 0; font-size: 21px; letter-spacing: -.035em; }
#opportunities .ddv3-section-head p { max-width: 560px; margin: 0; color: #91a4b8; font-size: 12px; text-align: right; }
#opportunities .ddv3-live-top { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
#opportunities .ddv3-live-card { min-width: 0; padding: 20px 21px; border: 1px solid rgba(194,215,231,.16); border-radius: 17px; background: rgba(16,34,56,.76); box-shadow: 0 16px 40px rgba(0,0,0,.16); }
#opportunities .ddv3-live-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#opportunities .ddv3-live-card-head h3 { margin: 7px 0 0; font-size: 17px; }
#opportunities .ddv3-eyebrow { color: #d9b66c; font-size: 10px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
#opportunities .ddv3-live-tag { padding: 5px 8px; border: 1px solid rgba(194,215,231,.2); border-radius: 999px; color: #b7c7d4; background: rgba(255,255,255,.05); font-size: 10px; white-space: nowrap; }
#opportunities .ddv3-live-tag-orange { color: #ffd1a5; border-color: rgba(242,154,85,.34); background: rgba(242,154,85,.12); }
#opportunities .ddv3-live-analysis { margin-top: 15px; }
#opportunities .ddv3-live-visuals { display: grid; grid-template-columns: 1.15fr .85fr; gap: 15px; margin-top: 15px; }
#opportunities .ddv3-live-candidates { margin-top: 34px; }
#opportunities .opportunity-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
#opportunities .opportunity-card { border-color: rgba(194,215,231,.16); background: linear-gradient(135deg, rgba(20,47,72,.96), rgba(11,28,47,.94)); box-shadow: 0 16px 40px rgba(0,0,0,.15); }
#opportunities .opportunity-card h3 { color: #f6f2e9; }
#opportunities .opportunity-card p, #opportunities .reason-list li { color: #9eafbd; }
#opportunities .score-label, #opportunities .direction, #opportunities .method-grid strong { color: #dfeaf1; }
#opportunities .score { color: #b9e3ff; }
#opportunities .card-link { color: #b9e3ff; }
#opportunities .decision-status { padding: 12px 13px; border: 1px solid rgba(242,154,85,.32); border-radius: 12px; background: rgba(242,154,85,.1); color: #ffd1a5; }
#opportunities .decision-status span, #opportunities .decision-method-note, #opportunities .method-note { color: #aebdca; }
#opportunities .method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
#opportunities .method-grid > div { min-width: 0; padding: 11px; border: 1px solid rgba(194,215,231,.14); border-radius: 11px; background: rgba(3,15,28,.23); }
#opportunities .method-grid strong, #opportunities .method-grid span { display: block; }
#opportunities .method-grid span { margin-top: 4px; color: #91a4b8; font-size: 10px; line-height: 1.45; }
#opportunities .opportunity-analysis { color: #dfeaf1; }
#opportunities .opportunity-index-summary, #opportunities .opportunity-component-grid article, #opportunities .opportunity-evidence-grid article, #opportunities .opportunity-score-details { border-color: rgba(194,215,231,.16); background: rgba(3,15,28,.22); }
#opportunities .opportunity-index-summary p, #opportunities .opportunity-index-summary span, #opportunities .opportunity-component-grid small, #opportunities .opportunity-evidence-grid span { color: #91a4b8; }
#opportunities .v21-market-matrix, #opportunities .v21-price-scatter { min-height: 180px; color: #dfeaf1; }
#opportunities .v21-market-matrix svg, #opportunities .v21-price-scatter svg { max-width: 100%; }
@media (max-width: 1100px) { #opportunities .ddv3-shell { padding: 27px 24px 60px; } #opportunities .ddv3-live-visuals { grid-template-columns: 1fr; } #opportunities .opportunity-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { #opportunities .ddv3-shell { padding: 22px 14px 48px; } #opportunities .ddv3-section-head, #opportunities .ddv3-live-card-head { align-items: flex-start; flex-direction: column; } #opportunities .ddv3-section-head p { text-align: left; } #opportunities .ddv3-live-top, #opportunities .method-grid, #opportunities .opportunity-list { grid-template-columns: 1fr; } }


/* DDV3 core template styles. Scoped to the design-directions template only. */

#opportunities .ddv3-shell{--bg:#08111f;--panel:#102238;--panel2:#132a42;--ink:#f6f2e9;--muted:#91a4b8;--line:rgba(194,215,231,.16);--blue:#69b8f5;--blue2:#b9e3ff;--orange:#f29a55;--orange2:#ffd1a5;--gold:#d9b66c;--green:#78d2b2;--shadow:0 22px 60px rgba(0,0,0,.24)}
#opportunities .ddv3-shell *{box-sizing:border-box}#opportunities .ddv3-shell{margin:0;background:radial-gradient(circle at 78% 4%,#173654 0,#0b1727 33%,var(--bg) 76%);color:var(--ink);font:14px/1.55 Inter,"Microsoft YaHei",system-ui,sans-serif}.shell{max-width:1440px;margin:auto;padding:34px 42px 78px}.ddv3-eyebrow{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.ddv3-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:23px}.ddv3-top h1{font-size:38px;line-height:1.1;letter-spacing:-.055em;margin:8px 0 7px}.ddv3-top p{margin:0;color:var(--muted)}.ddv3-snapshot{border:1px solid var(--line);border-radius:14px;padding:11px 14px;color:var(--muted);font-size:11px;background:rgba(255,255,255,.035);white-space:nowrap}.ddv3-snapshot strong{color:var(--ink);font-size:12px}.ddv3-card{border:1px solid var(--line);background:linear-gradient(135deg,rgba(20,47,72,.96),rgba(11,28,47,.94));border-radius:20px;box-shadow:var(--shadow)}.ddv3-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);gap:16px}.ddv3-answer{position:relative;overflow:hidden;padding:27px}.ddv3-answer:after{content:"";position:absolute;right:-145px;top:-165px;width:340px;height:340px;border-radius:50%;border:1px solid rgba(105,184,245,.22);box-shadow:0 0 0 23px rgba(105,184,245,.035),0 0 0 49px rgba(105,184,245,.025)}.ddv3-answer h2{max-width:680px;margin:10px 0 12px;font-size:28px;line-height:1.25;letter-spacing:-.045em}.ddv3-lead{max-width:680px;margin:0;color:#d4e1eb;font-size:14px;line-height:1.72}.ddv3-answer-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 21px}.ddv3-pill{border:1px solid transparent;border-radius:999px;padding:5px 10px;color:#cddae4;background:rgba(255,255,255,.07);font-size:10px}.ddv3-pill.ddv3-blue{color:var(--blue2);border-color:rgba(105,184,245,.28);background:rgba(105,184,245,.13)}.ddv3-pill.ddv3-orange{color:var(--orange2);border-color:rgba(242,154,85,.28);background:rgba(242,154,85,.13)}.ddv3-recommendation{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ddv3-mini{padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(3,15,28,.24)}.ddv3-mini h3{margin:0 0 7px;font-size:12px}.ddv3-mini p{margin:0;color:#aebdca;font-size:11px}.ddv3-mini.ddv3-blue{border-color:rgba(105,184,245,.34)}.ddv3-mini.ddv3-blue h3{color:var(--blue2)}.ddv3-mini.ddv3-orange{border-color:rgba(242,154,85,.34)}.ddv3-mini.ddv3-orange h3{color:var(--orange2)}.ddv3-answer-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.ddv3-answer-foot span{color:#8fa2b3;font-size:10px}.ddv3-btn{border:1px solid rgba(194,215,231,.2);border-radius:10px;padding:9px 13px;color:var(--ink);background:rgba(255,255,255,.055);font-size:11px}.ddv3-btn.ddv3-gold{border-color:var(--gold);background:var(--gold);color:#152131;font-weight:850}.ddv3-priority{padding:22px 21px}.ddv3-priority-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ddv3-priority h3{margin:7px 0 4px;font-size:17px}.ddv3-priority>p{margin:0;color:var(--muted);font-size:11px}.ddv3-mini-chart{position:relative;height:78px;margin:18px 0 10px;border-bottom:1px solid rgba(194,215,231,.18)}.ddv3-mini-chart svg{position:absolute;inset:0;width:100%;height:100%}.ddv3-chart-label{position:absolute;color:#8ea5b8;font-size:9px}.ddv3-chart-label.ddv3-one{left:0;bottom:3px}.ddv3-chart-label.ddv3-two{left:47%;bottom:3px}.ddv3-chart-label.ddv3-three{right:0;bottom:3px}.ddv3-priority-list{display:grid;gap:8px;margin-top:12px}.ddv3-priority-item{display:grid;grid-template-columns:28px 1fr 43px;gap:9px;align-items:center;padding:10px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(3,15,28,.22)}.ddv3-priority-number{color:var(--gold);font:12px ui-monospace,monospace}.ddv3-priority-item strong{display:block;font-size:11px}.ddv3-priority-item small{display:block;color:#8fa3b5;font-size:10px;margin-top:2px}.ddv3-priority-score{text-align:right;color:var(--blue2);font-size:16px;font-weight:850}.ddv3-priority-item:nth-child(2) .ddv3-priority-score{color:var(--orange2)}.ddv3-priority-item:nth-child(3) .ddv3-priority-score{color:#c2ccda}.ddv3-section{margin-top:34px}.ddv3-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:13px}.ddv3-section-head h2{margin:6px 0 0;font-size:21px;letter-spacing:-.035em}.ddv3-section-head p{max-width:560px;margin:0;color:var(--muted);font-size:12px;text-align:right}.ddv3-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ddv3-decision-card{min-height:210px;padding:20px 21px}.ddv3-decision-card.ddv3-gold{border-top:3px solid var(--gold)}.ddv3-decision-card.ddv3-orange{border-top:3px solid var(--orange)}.ddv3-decision-card h3{margin:8px 0 9px;font-size:18px;letter-spacing:-.025em}.ddv3-decision-card>p{margin:0;color:#acbdca;font-size:12px}.ddv3-decision-points{display:grid;gap:7px;margin-top:15px}.ddv3-decision-point{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start}.ddv3-decision-point i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#152131;background:var(--gold);font:10px ui-monospace,monospace;font-style:normal}.ddv3-decision-card.ddv3-orange .ddv3-decision-point i{background:var(--orange);color:#1e1820}.ddv3-decision-point span{color:#b7c4ce;font-size:11px}.ddv3-map-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:14px}.ddv3-map-card{padding:20px 21px}.ddv3-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ddv3-map-card h3{margin:7px 0 3px;font-size:17px}.ddv3-map-card p{margin:0;color:var(--muted);font-size:11px}.ddv3-legend{display:flex;gap:10px;color:var(--muted);font-size:10px;white-space:nowrap}.ddv3-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.ddv3-legend .ddv3-blue-dot{background:var(--blue)}.ddv3-legend .ddv3-orange-dot{background:var(--orange)}.ddv3-axis{position:relative;height:310px;margin-top:15px;border-left:1px solid rgba(194,215,231,.34);border-bottom:1px solid rgba(194,215,231,.34);border-radius:8px 8px 0 0;background:linear-gradient(rgba(138,182,212,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(138,182,212,.06) 1px,transparent 1px);background-size:25% 25%}.ddv3-axis:before{content:"证据强度";position:absolute;left:-8px;top:-19px;color:#8ea5b8;font-size:10px}.ddv3-axis:after{content:"差异空间";position:absolute;right:0;bottom:-23px;color:#8ea5b8;font-size:10px}.ddv3-zone{position:absolute;color:rgba(187,211,228,.36);font-size:10px}.ddv3-zone.ddv3-a{left:10px;top:12px}.ddv3-zone.ddv3-b{right:10px;top:12px;color:rgba(105,184,245,.62)}.ddv3-zone.ddv3-c{left:10px;bottom:13px}.ddv3-zone.ddv3-d{right:10px;bottom:13px;color:rgba(217,182,108,.58)}.ddv3-dot{position:absolute;display:flex;align-items:center;gap:6px;transform:translate(-50%,-50%);font-size:10px;white-space:nowrap}.ddv3-dot b{display:grid;place-items:center;width:21px;height:21px;border:2px solid currentColor;border-radius:50%;background:#0b2035;box-shadow:0 0 0 5px rgba(105,184,245,.08);font:9px ui-monospace,monospace}.ddv3-dot.ddv3-blue{color:var(--blue)}.ddv3-dot.ddv3-orange{color:var(--orange)}.ddv3-dot.ddv3-d1{left:78%;top:24%}.ddv3-dot.ddv3-d2{left:59%;top:36%}.ddv3-dot.ddv3-d3{left:86%;top:43%}.ddv3-dot.ddv3-d4{left:44%;top:18%}.ddv3-dot.ddv3-d5{left:68%;top:62%}.ddv3-dot.ddv3-d6{left:33%;top:70%}.ddv3-dot.ddv3-d7{left:52%;top:79%}.ddv3-dot.ddv3-d8{left:21%;top:32%}.ddv3-dot.ddv3-d9{left:28%;top:53%}.ddv3-dot.ddv3-d10{left:72%;top:84%}.ddv3-dot.ddv3-d11{left:48%;top:57%}.ddv3-dot.ddv3-d12{left:91%;top:21%}.ddv3-map-side{padding:19px 17px;border:1px solid var(--line);border-radius:17px;background:rgba(16,34,56,.75)}.ddv3-map-side h4{margin:6px 0 10px;font-size:14px}.ddv3-map-side p{margin:0;color:#9eafbd;font-size:11px;line-height:1.6}.ddv3-signal-stack{display:grid;gap:9px;margin-top:15px}.ddv3-signal{padding:10px;border-radius:10px;border:1px solid var(--line);background:rgba(3,15,28,.23)}.ddv3-signal strong{display:block;font-size:11px}.ddv3-signal span{display:block;color:#8fa3b5;font-size:10px;margin-top:2px}.ddv3-signal.ddv3-blue{border-left:3px solid var(--blue)}.ddv3-signal.ddv3-orange{border-left:3px solid var(--orange)}.ddv3-signal.ddv3-gold{border-left:3px solid var(--gold)}.ddv3-research{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:rgba(16,34,56,.72)}.ddv3-research-head{display:grid;grid-template-columns:50px minmax(210px,1.25fr) minmax(220px,.9fr) minmax(170px,1fr) auto;gap:16px;padding:12px 17px;color:#7f96a9;background:rgba(3,15,28,.22);font-size:10px;letter-spacing:.05em}.ddv3-research-row{display:grid;grid-template-columns:50px minmax(210px,1.25fr) minmax(220px,.9fr) minmax(170px,1fr) auto;gap:16px;align-items:center;padding:14px 17px;border-top:1px solid var(--line)}.ddv3-no{color:#7f96a9;font:11px ui-monospace,monospace}.ddv3-direction{font-weight:800;font-size:12px}.ddv3-direction small{display:block;color:#8599aa;font-size:10px;font-weight:400;margin-top:3px}.ddv3-bars{display:grid;gap:5px}.ddv3-barline{display:grid;grid-template-columns:50px 1fr 25px;align-items:center;gap:6px;color:#8499aa;font-size:9px}.ddv3-bar{height:5px;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.08)}.ddv3-bar i{display:block;height:100%;border-radius:10px}.ddv3-bar i.ddv3-blue{background:var(--blue)}.ddv3-bar i.ddv3-orange{background:var(--orange)}.ddv3-reason{color:#9eafbd;font-size:10px;line-height:1.45}.ddv3-state{border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:#aebdca;font-size:10px;white-space:nowrap}.ddv3-state.ddv3-blue{color:var(--blue2);border-color:rgba(105,184,245,.33)}.ddv3-state.ddv3-orange{color:var(--orange2);border-color:rgba(242,154,85,.33)}.ddv3-state.ddv3-gold{color:var(--gold);border-color:rgba(217,182,108,.33)}.ddv3-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:13px;padding:12px 15px;border:1px solid rgba(217,182,108,.22);border-radius:12px;background:rgba(217,182,108,.08);color:#c7b991;font-size:10px}.ddv3-foot strong{color:var(--gold)}
@media(max-width:1100px){.shell{padding:27px 24px 60px}.ddv3-hero{grid-template-columns:1fr}.ddv3-map-layout{grid-template-columns:1fr}.ddv3-research-head{display:none}.ddv3-research-row{grid-template-columns:38px 1fr auto}.ddv3-research-row .ddv3-bars,.ddv3-research-row .ddv3-reason{grid-column:2/-1}.ddv3-research-row .ddv3-state{grid-column:2/-1;justify-self:start}.ddv3-section-head{align-items:flex-start;flex-direction:column}.ddv3-section-head p{text-align:left}}
@media(max-width:600px){.shell{padding:22px 14px 48px}.ddv3-top{align-items:flex-start;flex-direction:column}.ddv3-top h1{font-size:31px}.ddv3-snapshot{white-space:normal}.ddv3-answer{padding:21px}.ddv3-answer h2{font-size:23px}.ddv3-recommendation,.ddv3-decision-grid{grid-template-columns:1fr}.ddv3-answer-foot{align-items:flex-start;flex-direction:column}.ddv3-priority{padding:20px 17px}.ddv3-axis{height:270px}.ddv3-dot{font-size:8px;gap:3px}.ddv3-dot b{width:18px;height:18px;font-size:8px}.ddv3-dot.ddv3-d8,.ddv3-dot.ddv3-d9,.ddv3-dot.ddv3-d6{display:none}.ddv3-map-card{padding:18px 16px}.ddv3-map-side{padding:17px 15px}.ddv3-research-row{padding:13px 12px}.ddv3-foot{align-items:flex-start;flex-direction:column}}


/* DDV3 tail refinement: keep the evidence chain compact, legible, and data-led. */
#opportunities .ddv3-live-evidence{margin-top:30px}
#opportunities .ddv3-live-evidence>.ddv3-section-head{margin-bottom:13px}
#opportunities .ddv3-live-card{padding:19px 20px;border-radius:17px;background:linear-gradient(135deg,rgba(19,42,66,.94),rgba(10,27,46,.96));border-color:rgba(194,215,231,.17);box-shadow:0 18px 42px rgba(0,0,0,.17)}
#opportunities .ddv3-live-card-head{margin-bottom:13px}
#opportunities .ddv3-live-card-head h3{font-size:16px;letter-spacing:-.02em}
#opportunities .ddv3-live-analysis{padding-bottom:18px}
#opportunities #opportunity-analysis{display:grid;grid-template-columns:184px minmax(0,1fr);gap:12px 15px;align-items:stretch}
#opportunities #opportunity-analysis>.opportunity-index-summary{grid-row:1 / span 2;display:flex;flex-direction:column;justify-content:center;min-height:170px;padding:17px 16px;border:1px solid rgba(217,182,108,.26);border-radius:14px;background:radial-gradient(circle at 70% 15%,rgba(217,182,108,.17),transparent 48%),rgba(3,15,28,.38)}
#opportunities #opportunity-analysis>.opportunity-index-summary>strong{font-size:39px;line-height:1;color:#fff4d4}
#opportunities #opportunity-analysis>.opportunity-index-summary>strong small{font-size:13px;color:#d9b66c}
#opportunities #opportunity-analysis>.opportunity-index-summary>p{margin:7px 0 7px;color:#d9b66c;font-size:11px;font-weight:850}
#opportunities #opportunity-analysis>.opportunity-index-summary>span{color:#9eafbd;font-size:10px;line-height:1.55}
#opportunities #opportunity-analysis .index-confidence{margin-top:14px;padding-top:11px;border-top:1px solid rgba(194,215,231,.15)}
#opportunities #opportunity-analysis .index-confidence b{display:block;color:#b9e3ff;font-size:10px}
#opportunities #opportunity-analysis .index-confidence span{display:block;margin-top:4px;color:#91a4b8;font-size:10px;line-height:1.45}
#opportunities #opportunity-analysis>.opportunity-component-grid{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#opportunities #opportunity-analysis .opportunity-component-grid article{min-width:0;padding:12px 12px 11px;border:1px solid rgba(194,215,231,.15);border-radius:12px;background:rgba(3,15,28,.27)}
#opportunities #opportunity-analysis .opportunity-component-grid article>div:first-child strong{color:#dfeaf1;font-size:11px}
#opportunities #opportunity-analysis .opportunity-component-grid article>div:first-child span{color:#b9e3ff;font-size:13px}
#opportunities #opportunity-analysis .opportunity-component-grid article>div:first-child span small{font-size:9px;color:#91a4b8}
#opportunities #opportunity-analysis .opportunity-component-grid i{height:5px;margin:9px 0 8px;background:rgba(194,215,231,.12)}
#opportunities #opportunity-analysis .opportunity-component-grid b{background:linear-gradient(90deg,#397fba,#69b8f5)}
#opportunities #opportunity-analysis .opportunity-component-grid .component-meta{display:flex;justify-content:space-between;gap:6px}
#opportunities #opportunity-analysis .opportunity-component-grid .component-meta span,#opportunities #opportunity-analysis .opportunity-component-grid .component-meta b{font-size:9px;color:#91a4b8}
#opportunities #opportunity-analysis .opportunity-component-grid article>small{display:block;margin-top:7px;color:#9eafbd;font-size:9px;line-height:1.45}
#opportunities #opportunity-analysis>.opportunity-evidence-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:9px}
#opportunities #opportunity-analysis .opportunity-evidence-grid article{padding:11px 12px;border:1px solid rgba(194,215,231,.15);border-radius:12px;background:rgba(3,15,28,.22)}
#opportunities #opportunity-analysis .opportunity-evidence-grid h4{margin:0 0 8px;color:#b9e3ff;font-size:10px}
#opportunities #opportunity-analysis .opportunity-evidence-grid p{margin:6px 0;color:#9eafbd;font-size:10px}
#opportunities #opportunity-analysis .opportunity-evidence-grid p strong{color:#dfeaf1;font-size:10px}
#opportunities #opportunity-analysis .opportunity-score-details{grid-column:1 / -1;margin-top:0;padding:0 11px;border:1px solid rgba(194,215,231,.15);border-radius:10px;background:rgba(3,15,28,.18)}
#opportunities #opportunity-analysis .opportunity-score-details summary{padding:9px 0;color:#91a4b8;font-size:10px;cursor:pointer}
#opportunities #opportunity-analysis .opportunity-formula{padding:0 0 11px;color:#9eafbd;font-size:10px}
#opportunities #opportunity-analysis .opportunity-formula strong{display:block;margin-top:4px;color:#dfeaf1;font-weight:500}
#opportunities .ddv3-live-visuals{grid-template-columns:1.12fr .88fr;gap:15px;margin-top:15px}
#opportunities .ddv3-live-visuals>.ddv3-live-card{min-height:253px}
#opportunities .v21-market-matrix{display:grid;gap:7px;min-height:180px}
#opportunities .v21-matrix-row{display:grid;grid-template-columns:minmax(105px,.62fr) minmax(100px,1fr) 78px;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(194,215,231,.13);border-radius:10px;background:rgba(3,15,28,.23)}
#opportunities .v21-matrix-row>div{min-width:0}
#opportunities .v21-matrix-row>div>strong{display:block;overflow:hidden;color:#dfeaf1;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
#opportunities .v21-matrix-row>div>small{display:block;margin-top:2px;color:#91a4b8;font-size:9px}
#opportunities .v21-matrix-row>strong{color:#b9e3ff;font-size:11px;text-align:right}
#opportunities .v21-matrix-row>strong small{display:block;margin-top:2px;color:#91a4b8;font-size:9px;font-weight:500}
#opportunities .v21-matrix-bar{height:5px;overflow:hidden;border-radius:99px;background:rgba(194,215,231,.12)}
#opportunities .v21-matrix-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#397fba,#69b8f5)}
#opportunities .v21-price-scatter{position:relative;min-height:205px;border:1px solid rgba(194,215,231,.12);border-radius:12px;background:linear-gradient(180deg,rgba(3,15,28,.12),rgba(3,15,28,.34));overflow:hidden}
#opportunities .v21-scatter-canvas{position:absolute;inset:18px 17px 42px 45px;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(194,215,231,.08) 32px),repeating-linear-gradient(90deg,transparent 0 68px,rgba(194,215,231,.06) 69px)}
#opportunities .v21-axis-line{position:absolute;display:block;background:rgba(194,215,231,.3)}
#opportunities .v21-axis-line-x{left:0;right:0;bottom:0;height:1px}
#opportunities .v21-axis-line-y{left:0;top:0;bottom:0;width:1px}
#opportunities .v21-axis-label{position:absolute;color:#91a4b8;font-size:9px}
#opportunities .v21-axis-y{left:8px;top:8px;writing-mode:vertical-rl}
#opportunities .v21-axis-x{left:45px;right:12px;bottom:11px}
#opportunities .v21-axis-x small{display:block;margin-top:3px;color:#71899d;font-size:8px;line-height:1.3}
#opportunities .v21-scatter-point{position:absolute;display:grid;place-items:center;min-width:14px;height:14px;transform:translate(-50%,50%);color:#69b8f5;font-size:9px}
#opportunities .v21-scatter-point i{position:absolute;width:var(--point-size);height:var(--point-size);border:2px solid currentColor;border-radius:50%;background:rgba(105,184,245,.13);box-shadow:0 0 0 5px rgba(105,184,245,.06)}
#opportunities .v21-scatter-point b{position:relative;margin-top:calc(var(--point-size) + 8px);font-size:9px;font-weight:600;white-space:nowrap}
#opportunities .v21-empty-visual{display:grid;place-items:center;min-height:178px;padding:20px;border:1px dashed rgba(194,215,231,.2);border-radius:12px;color:#91a4b8;background:linear-gradient(135deg,rgba(3,15,28,.26),rgba(19,42,66,.24));font-size:11px;text-align:center;line-height:1.6}
#opportunities .opportunity-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
#opportunities .opportunity-card{min-height:230px;padding:15px 15px 14px;border-radius:14px;border-color:rgba(194,215,231,.16);background:linear-gradient(145deg,rgba(20,47,72,.96),rgba(11,28,47,.96));box-shadow:0 16px 34px rgba(0,0,0,.15)}
#opportunities .opportunity-card:before{height:3px;background:linear-gradient(90deg,#69b8f5,#d9b66c)}
#opportunities .score-line{display:flex;align-items:center;justify-content:space-between;gap:8px}
#opportunities .score-label{max-width:145px;color:#91a4b8;font-size:8px;line-height:1.2;letter-spacing:.09em}
#opportunities .score{color:#b9e3ff;font-size:24px;line-height:1;font-weight:850}
#opportunities .opportunity-card h3{margin:13px 0 6px;font-size:12px;line-height:1.4}
#opportunities .opportunity-card p{margin:0;color:#91a4b8;font-size:9px}
#opportunities .reason-list{display:grid;gap:5px;margin:12px 0 13px;padding:0;list-style:none}
#opportunities .reason-list li{position:relative;padding-left:12px;color:#9eafbd;font-size:9px;line-height:1.45}
#opportunities .reason-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:#69b8f5;box-shadow:0 0 0 3px rgba(105,184,245,.1)}
#opportunities .card-link{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(105,184,245,.28);border-radius:8px;color:#b9e3ff;background:rgba(105,184,245,.08);font-size:9px}
#opportunities .card-link:after{content:"+";font-size:11px}
@media(max-width:1100px){#opportunities #opportunity-analysis{grid-template-columns:1fr}#opportunities #opportunity-analysis>.opportunity-index-summary,#opportunities #opportunity-analysis>.opportunity-component-grid,#opportunities #opportunity-analysis>.opportunity-evidence-grid,#opportunities #opportunity-analysis>.opportunity-score-details{grid-column:1;grid-row:auto}#opportunities .ddv3-live-visuals{grid-template-columns:1fr}#opportunities .opportunity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#opportunities .ddv3-live-card{padding:17px 15px}#opportunities #opportunity-analysis>.opportunity-component-grid,#opportunities #opportunity-analysis>.opportunity-evidence-grid{grid-template-columns:1fr}#opportunities .v21-matrix-row{grid-template-columns:minmax(100px,.7fr) 1fr 65px;gap:7px;padding:8px}#opportunities .opportunity-list{grid-template-columns:1fr}#opportunities .opportunity-card{min-height:0}}


/* DDV4 plan 2 interaction and trace styles. */
#opportunities .ddv3-decision-card { display:flex; flex-direction:column; }
#opportunities .ddv3-decision-points { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
#opportunities .ddv3-decision-points span { display:block; padding:8px 9px; border:1px solid rgba(194,215,231,.13); border-radius:10px; background:rgba(3,15,28,.23); color:#9eafbd; font-size:10px; }
#opportunities .ddv3-decision-points b { display:block; color:#dfeaf1; font-size:13px; }
#opportunities .ddv3-decision-card .ddv3-btn { align-self:flex-start; margin-top:15px; cursor:pointer; }
#opportunities .ddv3-decision-card .ddv3-btn:hover,#opportunities .ddv3-btn:hover,#opportunities .ddv3-foot-link:hover { border-color:var(--gold); color:var(--gold); }
#opportunities .ddv3-dot { min-width:44px; min-height:30px; padding:3px 5px; border:0; border-radius:7px; background:transparent; color:currentColor; cursor:pointer; z-index:2; }
#opportunities .ddv3-dot:hover,#opportunities .ddv3-dot:focus-visible { background:rgba(255,255,255,.08); outline:1px solid currentColor; outline-offset:2px; }
#opportunities .ddv3-dot span { max-width:106px; overflow:hidden; text-overflow:ellipsis; }
#opportunities .ddv3-dot.ddv3-orange b { box-shadow:0 0 0 5px rgba(242,154,85,.09); }
#opportunities .ddv3-orange-score { color:var(--orange2)!important; }
#opportunities .ddv3-research-row .ddv3-barline em { min-width:22px; color:#aebdca; font-size:9px; font-style:normal; text-align:right; }
#opportunities .ddv3-research-row .ddv3-reason strong { color:#dfeaf1; }
#opportunities .ddv3-research-row .ddv3-reason small { color:#7f96a9; font-size:9px; }
#opportunities .ddv3-foot-link { flex:0 0 auto; border:0; padding:5px 0; color:var(--blue2); background:transparent; font-size:10px; cursor:pointer; }
#opportunities .ddv3-dialog { width:min(900px,calc(100% - 28px)); max-height:min(820px,calc(100vh - 28px)); padding:0; border:1px solid rgba(194,215,231,.24); border-radius:20px; color:#f6f2e9; background:#0e2034; box-shadow:0 30px 90px rgba(0,0,0,.45); }
#opportunities .ddv3-dialog::backdrop { background:rgba(2,8,15,.74); backdrop-filter:blur(4px); }
#opportunities .ddv3-dialog-inner { max-height:inherit; overflow:auto; padding:25px 27px 28px; }
#opportunities .ddv3-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--line); }
#opportunities .ddv3-dialog-head h2 { margin:7px 0 5px; font-size:22px; }
#opportunities .ddv3-dialog-head p { margin:0; color:var(--muted); font-size:11px; }
#opportunities .ddv3-dialog-close { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; color:#dfeaf1; background:rgba(255,255,255,.05); font-size:22px; line-height:1; cursor:pointer; }
#opportunities .ddv3-dialog-content { display:grid; gap:14px; padding-top:18px; }
#opportunities .ddv3-dialog-summary { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:13px 15px; border:1px solid rgba(217,182,108,.25); border-radius:12px; background:rgba(217,182,108,.08); }
#opportunities .ddv3-dialog-summary strong { color:var(--gold); font-size:13px; }
#opportunities .ddv3-dialog-summary span { color:#b9c7d1; font-size:10px; }
#opportunities .ddv3-evidence-theme { padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(3,15,28,.25); }
#opportunities .ddv3-evidence-positive { border-left:3px solid var(--blue); }
#opportunities .ddv3-evidence-negative { border-left:3px solid var(--orange); }
#opportunities .ddv3-evidence-theme-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
#opportunities .ddv3-evidence-theme-head h3 { margin:5px 0 0; font-size:14px; }
#opportunities .ddv3-evidence-theme-head>strong { color:var(--blue2); font-size:18px; }
#opportunities .ddv3-evidence-negative .ddv3-evidence-theme-head>strong { color:var(--orange2); }
#opportunities .ddv3-evidence-theme-head small { color:#9eafbd; font-size:9px; font-weight:500; }
#opportunities .ddv3-evidence-polarity { color:var(--blue2); font-size:9px; letter-spacing:.08em; }
#opportunities .ddv3-evidence-negative .ddv3-evidence-polarity { color:var(--orange2); }
#opportunities .ddv3-evidence-interpretation { margin:9px 0 10px; color:#aebdca; font-size:11px; line-height:1.55; }
#opportunities .ddv3-phrase-list { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
#opportunities .ddv3-phrase-list span { padding:4px 7px; border-radius:7px; color:#b9dff8; background:rgba(105,184,245,.1); font-size:9px; }
#opportunities .ddv3-evidence-negative .ddv3-phrase-list span { color:var(--orange2); background:rgba(242,154,85,.1); }
#opportunities .ddv3-phrase-list b { margin-left:3px; font-weight:800; }
#opportunities .ddv3-quote-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#opportunities .ddv3-quote-list blockquote { margin:0; padding:10px 11px; border:1px solid rgba(194,215,231,.12); border-radius:9px; color:#d4e1eb; background:rgba(255,255,255,.035); font-size:10px; line-height:1.55; }
#opportunities .ddv3-quote-list cite { display:block; margin-top:6px; color:#7f96a9; font-size:9px; font-style:normal; }
#opportunities .ddv3-empty { margin:0; color:#91a4b8; font-size:10px; }
#opportunities .ddv3-score-method { padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(3,15,28,.25); }
#opportunities .ddv3-score-method>p { margin:0 0 12px; color:#dfeaf1; font-size:11px; }
#opportunities .ddv3-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#opportunities .ddv3-method-grid>div { padding:10px; border:1px solid rgba(194,215,231,.12); border-radius:9px; background:rgba(255,255,255,.035); }
#opportunities .ddv3-method-grid strong { display:block; color:var(--gold); font-size:10px; }
#opportunities .ddv3-method-grid span { display:block; margin-top:4px; color:#9eafbd; font-size:10px; line-height:1.5; }
#opportunities .ddv3-score-boundary { margin:12px 0 0!important; color:#91a4b8!important; font-size:10px!important; line-height:1.55; }
#opportunities .ddv3-score-table { overflow:auto; border:1px solid var(--line); border-radius:12px; }
#opportunities .ddv3-score-table-head,#opportunities .ddv3-score-table-row { display:grid; grid-template-columns:minmax(180px,1.8fr) repeat(4,52px) 72px; gap:8px; align-items:center; min-width:590px; padding:10px 12px; }
#opportunities .ddv3-score-table-head { color:#7f96a9; background:rgba(3,15,28,.25); font-size:9px; }
#opportunities .ddv3-score-table-row { border-top:1px solid rgba(194,215,231,.1); color:#c7d4dd; font-size:10px; }
#opportunities .ddv3-score-table-row>span:not(:first-child),#opportunities .ddv3-score-table-row>strong { text-align:right; }
#opportunities .ddv3-score-table-row>strong { color:var(--blue2); font-size:13px; }
@media(max-width:700px){#opportunities .ddv3-decision-points{grid-template-columns:1fr}.ddv3-dialog-inner{padding:20px 17px 22px}#opportunities .ddv3-dialog-summary{align-items:flex-start;flex-direction:column;gap:3px}#opportunities .ddv3-quote-list,#opportunities .ddv3-method-grid{grid-template-columns:1fr}#opportunities .ddv3-score-table-head,#opportunities .ddv3-score-table-row{min-width:560px}}
/* DDV5 visual implementation: orbit decisions, positioning map, and full research matrix. */
#opportunities .ddv3-section-head{margin-bottom:15px}
#opportunities .ddv3-section-head>p{max-width:620px}
#opportunities .ddv3-decision-grid{display:block}
#opportunities .ddv4-decision-map{position:relative;min-height:418px;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#081b2f}
#opportunities .ddv4-decision-map:before{content:"";position:absolute;inset:25px 34% 25px 6%;border:1px dashed rgba(105,184,245,.15);border-radius:50%}
#opportunities .ddv4-orbit{position:absolute;left:7%;top:18%;width:63%;height:58%;border:1px solid rgba(217,182,108,.25);border-radius:50%;transform:rotate(-8deg)}
#opportunities .ddv4-orbit-mid{left:18%;top:29%;width:45%;height:36%;border-color:rgba(217,182,108,.35);transform:rotate(7deg)}
#opportunities .ddv4-orbit-inner{left:28%;top:39%;width:25%;height:18%;border-color:rgba(217,182,108,.5);transform:rotate(-6deg)}



#opportunities .ddv4-center-node{position:absolute;left:39%;top:43%;width:78px;height:78px;display:grid;place-items:center;text-align:center;border:1px solid var(--gold);border-radius:50%;background:rgba(217,182,108,.13);color:var(--gold);font-size:11px;font-weight:850;line-height:1.3}
#opportunities .ddv4-decision-node{position:absolute;width:62px;height:62px;display:grid;place-items:center;z-index:2;border:2px solid;border-radius:50%;background:#092039;box-shadow:0 0 0 7px rgba(105,184,245,.05);font-size:11px;font-weight:850;text-align:center;line-height:1.2;cursor:pointer}
#opportunities .ddv4-decision-node b{display:block;font-size:12px}
#opportunities .ddv4-decision-node span{display:block;font-size:9px}
#opportunities .ddv4-node-orange{left:8%;top:51%;border-color:var(--orange);color:var(--orange2)}
#opportunities .ddv4-node-value{left:74%;top:26%;border-color:var(--blue);color:var(--blue2)}
#opportunities .ddv4-node-quality{left:69%;top:70%;border-color:var(--blue);color:var(--blue2)}
#opportunities .ddv4-node-label{position:absolute;z-index:2;font-size:12px;font-weight:800;white-space:nowrap}
#opportunities .ddv4-node-label small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:400}
#opportunities .ddv4-label-orange{left:7%;top:70%;color:var(--orange2)}
#opportunities .ddv4-label-value{left:62%;top:20%;color:var(--blue2)}
#opportunities .ddv4-label-quality{left:60%;top:87%;color:var(--blue2)}
#opportunities .ddv4-decision-readout{padding:23px 22px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,#132a43,#0d1e32)}
#opportunities .ddv4-decision-readout h3{margin:7px 0 16px;font-size:18px}
#opportunities .ddv4-readout-item{padding:14px 13px;margin-top:9px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;background:rgba(3,15,28,.25)}
#opportunities .ddv4-readout-orange{border-left-color:var(--orange)}
#opportunities .ddv4-readout-blue{border-left-color:var(--blue)}
#opportunities .ddv4-readout-item strong{display:block;font-size:12px}
#opportunities .ddv4-readout-item span{display:block;margin-top:4px;color:var(--muted);font-size:10px}
#opportunities .ddv3-map-layout{grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:15px}
#opportunities .ddv3-map-card{padding:22px;background:linear-gradient(135deg,rgba(20,47,72,.96),rgba(10,28,47,.96))}
#opportunities .ddv3-map-head h3{font-size:18px}
#opportunities .ddv3-map-head p{font-size:11px}
#opportunities .ddv3-axis{height:390px;margin-top:15px;border:1px solid rgba(194,215,231,.13);background:linear-gradient(90deg,rgba(105,184,245,.035),transparent 49%,rgba(242,154,85,.03));overflow:hidden}
#opportunities .ddv4-gridline{position:absolute;z-index:0;background:rgba(194,215,231,.06)}
#opportunities .ddv4-grid-v1{left:25%;top:0;bottom:0;width:1px}
#opportunities .ddv4-grid-v2{left:75%;top:0;bottom:0;width:1px}
#opportunities .ddv4-grid-h1{left:0;right:0;top:25%;height:1px}
#opportunities .ddv4-grid-h2{left:0;right:0;top:75%;height:1px}
#opportunities .ddv4-axis-label{position:absolute;z-index:1;color:#8197a9;font-size:10px}
#opportunities .ddv4-axis-y{left:14px;top:12px}
#opportunities .ddv4-axis-x{right:14px;bottom:12px;color:var(--gold)}
#opportunities .ddv4-zone{position:absolute;z-index:1;color:#8197a9;font-size:10px}
#opportunities .ddv4-zone-tl{left:14px;top:36px}
#opportunities .ddv4-zone-tr{right:14px;top:36px}
#opportunities .ddv4-zone-bl{left:14px;bottom:36px}
#opportunities .ddv4-zone-br{right:14px;bottom:36px;color:var(--gold)}
#opportunities .ddv4-map-dot{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--blue2);font:10px inherit;white-space:nowrap;transform:translate(-50%,-50%);cursor:pointer}
#opportunities .ddv4-map-dot b{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--blue);border-radius:50%;background:#0b233b;box-shadow:0 0 0 5px rgba(105,184,245,.06);font-size:9px}
#opportunities .ddv4-map-dot.ddv4-dot-orange{color:var(--orange2)}
#opportunities .ddv4-map-dot.ddv4-dot-orange b{border-color:var(--orange);background:#2b211b;box-shadow:0 0 0 5px rgba(242,154,85,.06)}
#opportunities .ddv3-map-side{padding:23px 21px;background:linear-gradient(180deg,#132a43,#0d1e32)}
#opportunities .ddv3-map-side h4{font-size:18px}
#opportunities .ddv3-signal{padding:13px 12px;margin-top:10px;border-radius:12px}
#opportunities .ddv3-research{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:rgba(8,25,42,.72)}
#opportunities .ddv4-research-head,#opportunities .ddv4-research-row{display:grid;grid-template-columns:46px minmax(190px,1.2fr) minmax(220px,1fr) 82px 125px 190px;gap:15px;align-items:center;padding:12px 20px}
#opportunities .ddv4-research-head{color:#8ea5b8;font-size:10px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}
#opportunities .ddv4-research-row{min-height:49px;border-bottom:1px solid rgba(194,215,231,.08);font-size:11px}
#opportunities .ddv4-research-row:last-child{border-bottom:0}
#opportunities .ddv4-no{color:#8299aa;font:11px ui-monospace,monospace}
#opportunities .ddv4-direction strong{display:block;font-size:11px}
#opportunities .ddv4-direction small{display:block;margin-top:2px;color:#8097a9;font-size:9px}
#opportunities .ddv4-score-bar{display:flex;align-items:center;gap:7px;color:#8097a9;font-size:9px}
#opportunities .ddv4-score-bar>i{display:block;flex:1;height:6px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
#opportunities .ddv4-score-bar b{display:block;height:100%;border-radius:9px;background:var(--blue)}
#opportunities .ddv4-score-bar b.ddv4-bar-orange{background:var(--orange)}
#opportunities .ddv4-total{color:var(--blue2);font-weight:850}
#opportunities .ddv4-total-orange{color:var(--orange2)}
#opportunities .ddv4-state{justify-self:start;padding:4px 9px;border:1px solid rgba(194,215,231,.3);border-radius:999px;color:#c7d5de;font-size:10px;white-space:nowrap}
#opportunities .ddv4-state-orange{border-color:rgba(242,154,85,.5);color:var(--orange2);background:rgba(242,154,85,.08)}
#opportunities .ddv4-state-blue{border-color:rgba(105,184,245,.5);color:var(--blue2);background:rgba(105,184,245,.08)}
#opportunities .ddv4-state-gold{border-color:rgba(217,182,108,.5);color:var(--gold);background:rgba(217,182,108,.08)}
#opportunities .ddv4-evidence-link{padding:0;border:0;background:none;color:#8da3b4;font:9px inherit;text-align:left;cursor:pointer}
#opportunities .ddv4-evidence-link:hover{color:var(--blue2);text-decoration:underline}
@media(max-width:1100px){#opportunities .ddv3-decision-grid,#opportunities .ddv3-map-layout{grid-template-columns:1fr}#opportunities .ddv4-research-head{display:none}#opportunities .ddv4-research-row{grid-template-columns:38px 1fr auto}#opportunities .ddv4-research-row .ddv4-score-bar{grid-column:2/-1}#opportunities .ddv4-research-row .ddv4-state{grid-column:2/-1;justify-self:start}#opportunities .ddv4-research-row .ddv4-evidence-link{grid-column:2/-1}}
@media(max-width:600px){#opportunities .ddv4-decision-map{min-height:340px;padding:17px}#opportunities .ddv4-node-label{font-size:10px}#opportunities .ddv4-node-label small{font-size:9px}#opportunities .ddv3-axis{height:300px;min-width:650px}#opportunities .ddv3-map-card{overflow-x:auto;padding:18px 16px}#opportunities .ddv4-research-row{padding:13px 12px}}

/* DDV5 map collision guard */
#opportunities .ddv4-map-dot{width:104px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;white-space:normal;line-height:1.25}
#opportunities .ddv4-map-dot span{display:block;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
#opportunities .ddv4-map-dot b{flex:0 0 auto}
#opportunities .ddv3-map-side .ddv3-signal{min-height:66px}
@media(max-width:600px){#opportunities .ddv4-map-dot{width:90px}#opportunities .ddv4-map-dot span{max-width:90px}}

@media(min-width:1101px){
#opportunities .ddv4-research-head,#opportunities .ddv4-research-row{grid-template-columns:40px minmax(150px,1.15fr) minmax(150px,1fr) 70px 102px 150px;gap:10px;padding-left:15px;padding-right:15px}
#opportunities .ddv4-evidence-link{white-space:nowrap}
}


/* DDV5 strategic map: three high-level directions, matching the orbit expression. */
#opportunities .ddv4-strategy-axis{position:relative;height:390px;border-color:rgba(194,215,231,.13);background:#081b2f;overflow:hidden}
#opportunities .ddv4-strategy-map{position:absolute;inset:0;min-height:0;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#opportunities .ddv4-strategy-map:before{inset:25px 34% 25px 6%}
#opportunities .ddv4-strategy-axis .ddv4-orbit{z-index:0}
#opportunities .ddv4-strategy-axis .ddv4-center-node{z-index:2}
#opportunities .ddv4-strategy-axis .ddv4-decision-node{z-index:3}
#opportunities .ddv4-strategy-axis .ddv4-node-label{z-index:3}
#opportunities .ddv4-strategy-axis .ddv4-node-label strong{display:block;max-width:180px;white-space:normal;line-height:1.35}
#opportunities .ddv4-strategy-axis .ddv4-node-label small{white-space:nowrap}
#opportunities .ddv4-strategy-axis .ddv4-label-value{top:10%}
#opportunities .ddv3-map-card .ddv3-map-head{position:relative;z-index:4}
@media(max-width:600px){#opportunities .ddv4-strategy-axis{height:340px;min-width:0}#opportunities .ddv4-strategy-axis .ddv4-node-label{font-size:10px}#opportunities .ddv4-strategy-axis .ddv4-node-label strong{max-width:125px}#opportunities .ddv4-strategy-axis .ddv4-node-label small{font-size:9px}#opportunities .ddv4-strategy-axis .ddv4-node-value{left:70%}#opportunities .ddv4-strategy-axis .ddv4-node-quality{left:66%}}


/* DDV6 screenshot-10 positioning map: a distinct 2D strategy map, not a second orbit. */
#opportunities .ddv5-position-axis{position:relative;height:390px;min-width:0;border-color:rgba(194,215,231,.14);background:linear-gradient(90deg,rgba(105,184,245,.035),transparent 49%,rgba(242,154,85,.025));overflow:hidden}
#opportunities .ddv5-grid{position:absolute;z-index:0;background:rgba(194,215,231,.075)}
#opportunities .ddv5-grid-v1{left:33.333%;top:0;bottom:0;width:1px}
#opportunities .ddv5-grid-v2{left:66.666%;top:0;bottom:0;width:1px}
#opportunities .ddv5-grid-h1{top:33.333%;left:0;right:0;height:1px}
#opportunities .ddv5-grid-h2{top:66.666%;left:0;right:0;height:1px}
#opportunities .ddv5-axis-label,#opportunities .ddv5-zone{position:absolute;z-index:1;color:#8197a9;font-size:10px;pointer-events:none}
#opportunities .ddv5-axis-y{left:14px;top:12px}
#opportunities .ddv5-axis-x{right:14px;bottom:12px;color:var(--gold)}
#opportunities .ddv5-zone-tl{left:14px;top:37px}
#opportunities .ddv5-zone-tr{right:14px;top:37px;color:var(--orange2)}
#opportunities .ddv5-zone-bl{left:14px;bottom:37px}
#opportunities .ddv5-zone-br{right:14px;bottom:37px;color:var(--gold)}
#opportunities .ddv5-strategy-dot{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;width:194px;padding:0;border:0;background:transparent;color:var(--blue2);font:inherit;text-align:left;transform:translate(-50%,-50%);cursor:pointer}
#opportunities .ddv5-strategy-dot>b{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:2px solid var(--blue);border-radius:50%;background:#0b233b;box-shadow:0 0 0 6px rgba(105,184,245,.07);font-size:11px}
#opportunities .ddv5-strategy-dot>span{min-width:0}
#opportunities .ddv5-strategy-dot strong{display:block;line-height:1.3;font-size:12px;white-space:normal}
#opportunities .ddv5-strategy-dot small{display:block;margin-top:3px;color:#8fa5b7;font-size:10px;line-height:1.35;white-space:normal}
#opportunities .ddv5-dot-orange{color:var(--orange2)}
#opportunities .ddv5-dot-orange>b{border-color:var(--orange);background:#2b211b;box-shadow:0 0 0 6px rgba(242,154,85,.07)}
#opportunities .ddv5-dot-gold{color:#e5cb8c}
#opportunities .ddv5-dot-gold>b{border-color:var(--gold);background:#25263a;box-shadow:0 0 0 6px rgba(217,182,108,.065)}
#opportunities .ddv5-strategy-dot:hover>b{transform:scale(1.06)}
@media(max-width:600px){#opportunities .ddv5-position-axis{height:330px;min-width:610px}#opportunities .ddv5-strategy-dot{width:170px}#opportunities .ddv5-strategy-dot strong{font-size:11px}#opportunities .ddv5-strategy-dot small{font-size:9px}}

#opportunities .ddv4-map-dot{width:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;white-space:nowrap;line-height:1.25}#opportunities .ddv4-map-dot span{display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;text-align:left}


/* DDV7 screenshot-9 priority board: one orbit panel with curved paths only. */
#opportunities .ddv4-priority-board{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(400px,.82fr);min-height:500px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#091c30;box-shadow:var(--shadow)}
#opportunities .ddv4-priority-board .ddv4-decision-map{min-height:500px;padding:22px;border:0;border-radius:0;background:#091d31;box-shadow:none}
#opportunities .ddv4-priority-board .ddv4-decision-map:before{left:13%;top:17%;right:auto;bottom:auto;width:68%;height:61%;border-color:rgba(105,184,245,.16);z-index:0}
#opportunities .ddv4-orbit-trails{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
#opportunities .ddv4-orbit-trails path{fill:none;stroke-width:1.25;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}#opportunities .ddv4-orbit-trails .ddv4-trail-orange{stroke:rgba(242,154,85,.78)}#opportunities .ddv4-orbit-trails .ddv4-trail-blue{stroke:rgba(105,184,245,.7)}#opportunities .ddv4-orbit-trails .ddv4-trail-blue-soft{stroke:rgba(105,184,245,.54)}
#opportunities .ddv4-priority-board .ddv4-orbit{z-index:1;left:22%;top:28%;width:48%;height:42%;border-color:rgba(217,182,108,.32);transform:rotate(-8deg)}
#opportunities .ddv4-priority-board .ddv4-orbit-mid{left:33%;top:40%;width:27%;height:21%;border-color:rgba(217,182,108,.42);transform:rotate(7deg)}
#opportunities .ddv4-priority-board .ddv4-orbit-inner{left:41%;top:47%;width:15%;height:13%;border-color:rgba(217,182,108,.58);transform:rotate(-6deg)}
#opportunities .ddv4-priority-board .ddv4-center-node{z-index:3;left:44%;top:42%;width:82px;height:82px}
#opportunities .ddv4-priority-board .ddv4-decision-node{z-index:3;width:62px;height:62px}
#opportunities .ddv4-priority-board .ddv4-node-orange{left:10%;top:47%}
#opportunities .ddv4-priority-board .ddv4-node-value{left:78%;top:34%}
#opportunities .ddv4-priority-board .ddv4-node-quality{left:78%;top:72%}
#opportunities .ddv4-priority-board .ddv4-node-label{z-index:4}
#opportunities .ddv4-priority-board .ddv4-label-orange{left:7%;top:64%}
#opportunities .ddv4-priority-board .ddv4-label-value{left:66%;top:28%}
#opportunities .ddv4-priority-board .ddv4-label-quality{left:62%;top:88%}
#opportunities .ddv4-priority-board .ddv4-decision-readout{padding:23px 22px;border:0;border-left:1px solid rgba(194,215,231,.12);border-radius:0;background:linear-gradient(180deg,#0d1e31,#091827);box-shadow:none}
#opportunities .ddv4-priority-board .ddv4-decision-readout h3{margin:7px 0 16px;font-size:19px}
#opportunities .ddv4-priority-board .ddv4-readout-item{margin-top:10px;padding:14px 13px;border-radius:0 12px 12px 0}
#opportunities .ddv4-priority-board .ddv4-readout-item span{display:block;margin-top:4px;color:#9eafbd;font-size:10px;line-height:1.55}
@media(max-width:1100px){#opportunities .ddv4-priority-board{grid-template-columns:1fr}#opportunities .ddv4-priority-board .ddv4-decision-readout{border-top:1px solid rgba(194,215,231,.12);border-left:0}#opportunities .ddv4-priority-board .ddv4-decision-map{min-height:430px}}
@media(max-width:600px){#opportunities .ddv4-priority-board .ddv4-decision-map{min-height:360px;padding:14px}#opportunities .ddv4-priority-board .ddv4-center-node{width:66px;height:66px;font-size:10px}#opportunities .ddv4-priority-board .ddv4-decision-node{width:52px;height:52px;font-size:9px}#opportunities .ddv4-priority-board .ddv4-node-label{font-size:10px}#opportunities .ddv4-priority-board .ddv4-node-label small{font-size:8px}}
/* DDV8 screenshot-9 exact priority-board alignment. */
#opportunities .ddv4-priority-section .ddv3-section-head{display:block;margin-bottom:18px}
#opportunities .ddv4-priority-section .ddv3-section-head h2{margin:0;font-size:21px;letter-spacing:-.035em}
#opportunities .ddv4-priority-section .ddv3-section-head p{max-width:none;margin:5px 0 0;text-align:left;color:var(--muted);font-size:12px}
#opportunities .ddv4-priority-board{grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);width:100%}
#opportunities .ddv4-priority-board .ddv4-orbit{left:26%;top:28%;width:48%;height:42%}
#opportunities .ddv4-priority-board .ddv4-orbit-mid{left:37.5%;top:40%;width:27%;height:21%}
#opportunities .ddv4-priority-board .ddv4-orbit-inner{left:43%;top:47%;width:15%;height:13%}
#opportunities .ddv4-priority-board .ddv4-center-node{left:45.5%;top:40.5%}
#opportunities .ddv4-priority-board .ddv4-node-orange{left:10.6%;top:47%}
#opportunities .ddv4-priority-board .ddv4-node-value{left:83%;top:37%}
#opportunities .ddv4-priority-board .ddv4-node-quality{left:80%;top:74%}
#opportunities .ddv4-priority-board .ddv4-label-orange{left:7%;top:64%}
#opportunities .ddv4-priority-board .ddv4-label-value{left:69%;top:29%}
#opportunities .ddv4-priority-board .ddv4-label-quality{left:69%;top:89%}
@media(max-width:1100px){#opportunities .ddv4-priority-board{grid-template-columns:1fr}#opportunities .ddv4-priority-board .ddv4-decision-map{min-height:430px}}
/* DDV9 screenshot-9 readout: annotation rows, never cards. */
#opportunities .ddv4-priority-board .ddv4-decision-readout{padding:23px 26px;background:#091c30}
#opportunities .ddv4-priority-board .ddv4-decision-readout h3{margin:7px 0 0;padding:0 0 15px;border-bottom:1px solid rgba(194,215,231,.12);font-size:19px}
#opportunities .ddv4-priority-board .ddv4-readout-item{position:relative;margin:22px 0 0;padding:0 0 0 20px;border:0!important;border-radius:0!important;background:transparent!important}
#opportunities .ddv4-priority-board .ddv4-readout-item:before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
#opportunities .ddv4-priority-board .ddv4-readout-orange:before{background:var(--orange)}
#opportunities .ddv4-priority-board .ddv4-readout-blue:before{background:var(--blue)}
#opportunities .ddv4-priority-board .ddv4-readout-item strong{font-size:12px;line-height:1.35}
#opportunities .ddv4-priority-board .ddv4-readout-item span{margin-top:5px;color:#9eafbd;font-size:10px;line-height:1.55}
#opportunities .ddv4-priority-board .ddv4-readout-item{margin-top:36px}
#opportunities .ddv4-priority-board .ddv4-decision-readout h3+.ddv4-readout-item{margin-top:28px}
/* DDV10 supporting evidence: compact floating dialog with an internal scroll area. */
#ddv3-support-dialog{--line:rgba(194,215,231,.16);--muted:#91a4b8;--gold:#d9b66c;--blue:#69b8f5;--blue2:#b9e3ff;--orange:#f29a55;--orange2:#ffd1a5;width:min(680px,calc(100% - 36px));height:min(610px,calc(100vh - 80px));max-height:calc(100vh - 80px);margin:auto;padding:0;overflow:hidden;border:1px solid rgba(194,215,231,.24);border-radius:18px;color:#f6f2e9;background:#0e2034;box-shadow:0 30px 90px rgba(0,0,0,.5)}
#ddv3-support-dialog::backdrop{background:rgba(2,8,15,.74);backdrop-filter:blur(4px)}
#ddv3-support-dialog .ddv3-dialog-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;overflow:hidden}
#ddv3-support-dialog .ddv3-dialog-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 17px;border-bottom:1px solid var(--line)}
#ddv3-support-dialog .ddv3-dialog-head h2{margin:7px 0 5px;font-size:21px;line-height:1.2}
#ddv3-support-dialog .ddv3-dialog-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
#ddv3-support-dialog .ddv3-eyebrow{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.17em}
#ddv3-support-dialog .ddv3-dialog-close{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:50%;color:#dfeaf1;background:rgba(255,255,255,.05);font-size:20px;line-height:1;cursor:pointer}
#ddv3-support-dialog .ddv3-dialog-content{display:grid;flex:1 1 auto;min-height:0;gap:12px;padding:16px 24px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(105,184,245,.55) transparent}
#ddv3-support-dialog .ddv3-dialog-content::-webkit-scrollbar{width:8px}
#ddv3-support-dialog .ddv3-dialog-content::-webkit-scrollbar-thumb{border:2px solid #0e2034;border-radius:999px;background:rgba(105,184,245,.55)}
#ddv3-support-dialog .ddv3-dialog-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid rgba(217,182,108,.25);border-radius:10px;background:rgba(217,182,108,.08)}
#ddv3-support-dialog .ddv3-dialog-summary strong{color:var(--gold);font-size:13px}
#ddv3-support-dialog .ddv3-dialog-summary span{color:#b9c7d1;font-size:10px}
#ddv3-support-dialog .ddv3-evidence-theme{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(3,15,28,.25)}
#ddv3-support-dialog .ddv3-evidence-positive{border-left:3px solid var(--blue)}
#ddv3-support-dialog .ddv3-evidence-negative{border-left:3px solid var(--orange)}
#ddv3-support-dialog .ddv3-evidence-theme-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#ddv3-support-dialog .ddv3-evidence-theme-head h3{margin:5px 0 0;font-size:14px}
#ddv3-support-dialog .ddv3-evidence-theme-head>strong{color:var(--blue2);font-size:18px}
#ddv3-support-dialog .ddv3-evidence-negative .ddv3-evidence-theme-head>strong{color:var(--orange2)}
#ddv3-support-dialog .ddv3-evidence-theme-head small{color:#9eafbd;font-size:9px;font-weight:500}
#ddv3-support-dialog .ddv3-evidence-polarity{color:var(--blue2);font-size:9px;letter-spacing:.08em}
#ddv3-support-dialog .ddv3-evidence-negative .ddv3-evidence-polarity{color:var(--orange2)}
#ddv3-support-dialog .ddv3-evidence-interpretation{margin:9px 0 10px;color:#aebdca;font-size:11px;line-height:1.55}
#ddv3-support-dialog .ddv3-evidence-display-note{margin:0 0 9px;color:#91a4b8;font-size:9px;letter-spacing:.04em}
#ddv3-support-dialog .ddv3-phrase-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
#ddv3-support-dialog .ddv3-phrase-list span{padding:4px 7px;border-radius:7px;color:#b9dff8;background:rgba(105,184,245,.1);font-size:9px}
#ddv3-support-dialog .ddv3-evidence-negative .ddv3-phrase-list span{color:var(--orange2);background:rgba(242,154,85,.1)}
#ddv3-support-dialog .ddv3-phrase-list b{margin-left:3px;font-weight:800}
#ddv3-support-dialog .ddv3-quote-list{display:grid;grid-template-columns:1fr;gap:8px}
#ddv3-support-dialog .ddv3-quote-list blockquote{margin:0;padding:10px 11px;border:1px solid rgba(194,215,231,.12);border-radius:9px;color:#d4e1eb;background:rgba(255,255,255,.035);font-size:10px;line-height:1.55}
#ddv3-support-dialog .ddv3-quote-list cite{display:block;margin-top:6px;color:#7f96a9;font-size:9px;font-style:normal}
#ddv3-support-dialog .ddv3-empty{margin:0;color:#91a4b8;font-size:10px}
@media(max-width:700px){#ddv3-support-dialog{width:calc(100% - 24px);height:min(620px,calc(100vh - 24px));max-height:calc(100vh - 24px)}#ddv3-support-dialog .ddv3-dialog-head{padding:19px 18px 15px}#ddv3-support-dialog .ddv3-dialog-content{padding:14px 18px 20px}#ddv3-support-dialog .ddv3-dialog-summary{align-items:flex-start;flex-direction:column;gap:3px}}



/* DDV11 coordinate-first strategic map and compact score trace dialog. */
#opportunities .ddv3-axis{isolation:isolate}
#opportunities .ddv4-axis-rule{position:absolute;z-index:1;display:block;pointer-events:none;background:rgba(185,227,255,.38)}
#opportunities .ddv4-axis-rule-y{left:47px;top:31px;bottom:47px;width:1px}
#opportunities .ddv4-axis-rule-y:before{content:"";position:absolute;left:-3px;top:-1px;border-right:3px solid transparent;border-bottom:6px solid #b9e3ff;border-left:3px solid transparent}
#opportunities .ddv4-axis-rule-x{left:47px;right:29px;bottom:47px;height:1px}
#opportunities .ddv4-axis-rule-x:after{content:"";position:absolute;top:-3px;right:-1px;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:6px solid #d9b66c}
#opportunities .ddv4-axis-label{z-index:3;font-weight:800;letter-spacing:.03em}
#opportunities .ddv4-axis-y{left:58px;top:10px}
#opportunities .ddv4-axis-x{right:auto;bottom:11px;left:50%;transform:translateX(-50%);color:var(--gold)}
#opportunities .ddv4-axis-end{position:absolute;z-index:3;color:#8ea5b8;font-size:9px;font-weight:800}
#opportunities .ddv4-axis-end-y-top{left:37px;top:25px;color:#b9e3ff}
#opportunities .ddv4-axis-end-y-bottom{left:37px;bottom:51px}
#opportunities .ddv4-axis-end-x-left{left:55px;bottom:34px}
#opportunities .ddv4-axis-end-x-right{right:35px;bottom:34px;color:var(--gold)}
#opportunities .ddv4-grid-v1,#opportunities .ddv4-grid-v2{top:31px;bottom:47px}
#opportunities .ddv4-grid-v1{left:28%}
#opportunities .ddv4-grid-v2{left:75%}
#opportunities .ddv4-grid-h1,#opportunities .ddv4-grid-h2{left:47px;right:29px}
#opportunities .ddv4-grid-h1{top:27%}
#opportunities .ddv4-grid-h2{top:70%}
#ddv3-score-dialog{--line:rgba(194,215,231,.16);--muted:#91a4b8;--gold:#d9b66c;--blue:#69b8f5;--blue2:#b9e3ff;--orange:#f29a55;--orange2:#ffd1a5;width:min(700px,calc(100% - 36px));height:min(610px,calc(100vh - 80px));max-height:calc(100vh - 80px);margin:auto;padding:0;overflow:hidden;border:1px solid rgba(194,215,231,.24);border-radius:18px;color:#f6f2e9;background:#0e2034;box-shadow:0 30px 90px rgba(0,0,0,.5)}
#ddv3-score-dialog::backdrop{background:rgba(2,8,15,.74);backdrop-filter:blur(4px)}
#ddv3-score-dialog .ddv3-dialog-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;overflow:hidden}
#ddv3-score-dialog .ddv3-dialog-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 17px;border-bottom:1px solid var(--line)}
#ddv3-score-dialog .ddv3-dialog-head h2{margin:7px 0 5px;font-size:21px;line-height:1.2}
#ddv3-score-dialog .ddv3-dialog-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
#ddv3-score-dialog .ddv3-eyebrow{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.17em}
#ddv3-score-dialog .ddv3-dialog-close{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:50%;color:#dfeaf1;background:rgba(255,255,255,.05);font-size:20px;line-height:1;cursor:pointer}
#ddv3-score-dialog .ddv3-dialog-content{display:grid;flex:1 1 auto;min-height:0;gap:12px;padding:16px 24px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(105,184,245,.55) transparent}
#ddv3-score-dialog .ddv3-dialog-content::-webkit-scrollbar{width:8px}
#ddv3-score-dialog .ddv3-dialog-content::-webkit-scrollbar-thumb{border:2px solid #0e2034;border-radius:999px;background:rgba(105,184,245,.55)}
#ddv3-score-dialog .ddv3-dialog-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid rgba(217,182,108,.25);border-radius:10px;background:rgba(217,182,108,.08)}
#ddv3-score-dialog .ddv3-dialog-summary strong{color:var(--gold);font-size:13px}
#ddv3-score-dialog .ddv3-dialog-summary span{color:#b9c7d1;font-size:10px}
#ddv3-score-dialog .ddv3-score-method{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(3,15,28,.25)}
#ddv3-score-dialog .ddv3-score-table{overflow:auto;border:1px solid var(--line);border-radius:10px}
@media(max-width:700px){#ddv3-score-dialog{width:calc(100% - 24px);height:min(620px,calc(100vh - 24px));max-height:calc(100vh - 24px)}#ddv3-score-dialog .ddv3-dialog-head{padding:19px 18px 15px}#ddv3-score-dialog .ddv3-dialog-content{padding:14px 18px 20px}#ddv3-score-dialog .ddv3-dialog-summary{align-items:flex-start;flex-direction:column;gap:3px}}

/* DDV12: keep quadrant guidance inside the plotting field, away from axis endpoints. */
#opportunities .ddv4-zone{z-index:1;font-size:9px;letter-spacing:.04em}
#opportunities .ddv4-zone-tl{left:65px;top:54px}
#opportunities .ddv4-zone-tr{right:48px;top:54px}
#opportunities .ddv4-zone-bl{left:65px;bottom:67px}
#opportunities .ddv4-zone-br{right:48px;bottom:67px}

/* DDV13: score trace table styles must also apply inside the compact floating dialog. */
#ddv3-score-dialog .ddv3-score-method p{margin:0 0 11px;color:#dce7ee;font-size:11px;line-height:1.65}
#ddv3-score-dialog .ddv3-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#ddv3-score-dialog .ddv3-method-grid>div{padding:10px;border:1px solid rgba(194,215,231,.12);border-radius:9px;background:rgba(255,255,255,.035)}
#ddv3-score-dialog .ddv3-method-grid strong{display:block;color:var(--gold);font-size:10px}
#ddv3-score-dialog .ddv3-method-grid span{display:block;margin-top:4px;color:#9eafbd;font-size:10px;line-height:1.5}
#ddv3-score-dialog .ddv3-score-table{max-height:238px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(105,184,245,.55) transparent}
#ddv3-score-dialog .ddv3-score-table-head,#ddv3-score-dialog .ddv3-score-table-row{display:grid;grid-template-columns:minmax(180px,1.8fr) repeat(4,52px) 72px;gap:8px;align-items:center;min-width:590px;padding:10px 12px}
#ddv3-score-dialog .ddv3-score-table-head{position:sticky;top:0;z-index:1;color:#7f96a9;background:#10253a;font-size:9px}
#ddv3-score-dialog .ddv3-score-table-row{border-top:1px solid rgba(194,215,231,.1);color:#c7d4dd;font-size:10px}
#ddv3-score-dialog .ddv3-score-table-row>span:not(:first-child),#ddv3-score-dialog .ddv3-score-table-row>strong{text-align:right}
#ddv3-score-dialog .ddv3-score-table-row>strong{color:var(--blue2);font-size:13px}
#ddv3-score-dialog .ddv3-score-boundary{margin:0!important;color:#91a4b8!important;font-size:10px!important;line-height:1.55}
@media(max-width:700px){#ddv3-score-dialog .ddv3-method-grid{grid-template-columns:1fr}#ddv3-score-dialog .ddv3-score-table-head,#ddv3-score-dialog .ddv3-score-table-row{min-width:560px}}

/* DDV14: remove the priority-map frame and align its readout column to the strategic-map readout. */
#opportunities .ddv4-priority-board{grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);min-height:500px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
#opportunities .ddv4-priority-board .ddv4-decision-map{min-height:500px;background:transparent}
#opportunities .ddv4-priority-board .ddv4-decision-readout{padding:23px 0 23px 26px;border-left:1px solid rgba(194,215,231,.12);background:transparent}
@media(max-width:1100px){#opportunities .ddv4-priority-board{grid-template-columns:1fr}#opportunities .ddv4-priority-board .ddv4-decision-readout{padding:23px 0;border-top:1px solid rgba(194,215,231,.12);border-left:0}}

/* DDV15: concise provenance below the strategic positioning map. */
#opportunities .ddv4-map-calculation-note{display:flex;align-items:baseline;gap:11px;margin:13px 0 0;padding:11px 1px 0;border-top:1px solid rgba(194,215,231,.12);color:#91a4b8;font-size:10px;line-height:1.65}
#opportunities .ddv4-map-calculation-note strong{flex:0 0 auto;color:var(--gold);font-size:10px;letter-spacing:.08em}
#opportunities .ddv4-map-calculation-note span{max-width:880px}
@media(max-width:700px){#opportunities .ddv4-map-calculation-note{align-items:flex-start;flex-direction:column;gap:3px}}


/* UI-05 design input translator: translates an accepted direction into editable design conditions. */
#design-input .ui05-workshop-heading { align-items: end; }
#design-input .ui05-workshop-heading .scope-note { max-width: 430px; }
.ui05-input-workspace { overflow: hidden; margin: 0 0 18px; border: 1px solid #c8d9de; border-radius: 18px; background: #fffdf8; box-shadow: 0 16px 34px rgb(21 56 67 / .08); }
.ui05-direction-carry { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 14px 24px; border-bottom: 1px solid #d5e2e5; background: #f7fafb; }
.ui05-direction-carry > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ui05-direction-carry span { flex: 0 0 auto; color: #718e9b; font: 850 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }
.ui05-direction-carry strong { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: #214d60; font-size: 13px; line-height: 1.35; }
.ui05-direction-carry strong i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #4e9fbe; box-shadow: 0 0 0 4px #e0f0f5; }
.ui05-direction-carry small { color: #778790; font-size: 11px; line-height: 1.45; }
.ui05-direction-carry p { max-width: 440px; margin: 0; color: #657b85; font-size: 11px; line-height: 1.55; text-align: right; }
.ui05-input-translator { display: grid; grid-template-columns: minmax(0, 1.78fr) minmax(290px, .92fr); }
.ui05-translator-core { position: relative; overflow: hidden; min-height: 388px; padding: 28px 30px 25px; color: #fff; background: radial-gradient(circle at 95% 4%, rgb(130 211 227 / .17), transparent 25%), linear-gradient(128deg, #0e4053 0%, #10475b 53%, #1a6174 130%); }
.ui05-translator-core::before, .ui05-translator-core::after { position: absolute; border: 1px solid rgb(188 229 239 / .16); border-radius: 50%; content: ''; pointer-events: none; }
.ui05-translator-core::before { width: 405px; height: 405px; bottom: -242px; left: -218px; }.ui05-translator-core::after { width: 255px; height: 255px; top: -144px; right: -114px; }.ui05-translator-core > * { position: relative; z-index: 1; }
.ui05-translator-stage { display: flex; justify-content: space-between; gap: 14px; }.ui05-translator-stage p, .ui05-tradeoff-panel > p { margin: 0; color: #a5d4df; font: 850 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }.ui05-translator-stage span { display: inline-flex; align-items: center; gap: 7px; color: #cce5eb; font-size: 10px; }.ui05-translator-stage span::before { width: 18px; height: 1px; background: #72bed3; content: ''; }
.ui05-translator-core h3 { max-width: 690px; margin: 10px 0 6px; color: #fff; font-size: 25px; line-height: 1.25; letter-spacing: -.04em; }.ui05-translator-intro { max-width: 760px; margin: 0; color: #d1e6eb; font-size: 12px; line-height: 1.65; }
.ui05-translator-grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 17px; }.ui05-translator-lines { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .66; pointer-events: none; }
.ui05-translation-card { position: relative; min-height: 116px; padding: 15px 16px 13px; border: 1px solid rgb(193 231 239 / .28); border-radius: 11px; background: linear-gradient(135deg, rgb(6 36 48 / .52), rgb(23 87 104 / .18)); }.ui05-translation-card > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.ui05-translation-card > div span { color: #a1d5e4; font: 850 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .1em; }.ui05-translation-card em { color: #79c4dc; font-size: 10px; font-style: normal; }.ui05-translation-card strong { display: block; margin-top: 11px; color: #fff; font-size: 15px; line-height: 1.4; letter-spacing: -.02em; }.ui05-translation-card p { margin: 6px 0 0; color: #c1dce3; font-size: 11px; line-height: 1.5; }
.ui05-variable-tags { display: flex; flex-wrap: wrap; gap: 5px; }.ui05-variable-tags b { padding: 3px 6px; border-radius: 4px; color: #bce2eb; background: rgb(130 200 219 / .14); font-size: 9px; font-weight: 700; }.ui05-variable-tags.is-warm b { color: #f0ca95; background: rgb(230 169 99 / .16); }
.ui05-tradeoff-panel { padding: 27px 25px 22px; background: linear-gradient(180deg, #fffefa, #fbf8f0); }.ui05-tradeoff-panel > p { color: #997653; }.ui05-tradeoff-panel h3 { margin: 9px 0 6px; color: #244352; font-size: 21px; line-height: 1.3; letter-spacing: -.04em; }.ui05-tradeoff-panel > span { display: block; color: #748088; font-size: 12px; line-height: 1.65; }.ui05-tradeoff-list { margin-top: 16px; }.ui05-tradeoff-list article { position: relative; padding: 11px 0 11px 16px; border-top: 1px solid #ece7da; }.ui05-tradeoff-list article:last-child { border-bottom: 1px solid #ece7da; }.ui05-tradeoff-list article::before { position: absolute; top: 16px; left: 0; width: 7px; height: 7px; border-radius: 2px; background: #68a8bf; content: ''; }.ui05-tradeoff-list article:nth-child(2)::before { background: #d08a49; }.ui05-tradeoff-list article:nth-child(3)::before { background: #70a58f; }.ui05-tradeoff-list small { display: block; color: #879099; font-size: 10px; }.ui05-tradeoff-list strong { display: block; margin-top: 3px; color: #254655; font-size: 13px; line-height: 1.35; }.ui05-tradeoff-list p { margin: 4px 0 0; color: #7e8b92; font-size: 10px; line-height: 1.5; }
.ui05-input-readiness { display: grid; grid-template-columns: minmax(220px, 1.07fr) minmax(0, 2.93fr); gap: 20px; margin: 0 0 16px; padding: 20px; border: 1px solid #d8e3e7; border-radius: 15px; background: rgb(255 255 255 / .72); box-shadow: 0 10px 28px rgb(25 64 82 / .035); }.ui05-readiness-copy { padding: 3px 3px 0; }.ui05-readiness-copy p { margin: 0; color: #4b788c; font: 850 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .11em; }.ui05-readiness-copy h3 { margin: 8px 0 7px; color: #244452; font-size: 18px; line-height: 1.32; letter-spacing: -.03em; }.ui05-readiness-copy span { color: #7a878f; font-size: 11px; line-height: 1.65; }.ui05-readiness-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.ui05-readiness-grid article { min-height: 119px; padding: 14px 13px 11px; border: 1px solid #dce5e8; border-radius: 10px; background: #fff; }.ui05-readiness-grid article > p { display: flex; align-items: center; gap: 6px; margin: 0; color: #5f7884; font-size: 10px; }.ui05-readiness-grid i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #65a78f; box-shadow: 0 0 0 3px #e6f3ee; }.ui05-readiness-grid i.is-pending { background: #d89352; box-shadow: 0 0 0 3px #fff1e4; }.ui05-readiness-grid strong { display: block; margin-top: 14px; color: #244452; font-size: 14px; line-height: 1.35; }.ui05-readiness-grid small { display: block; margin-top: 5px; color: #78858d; font-size: 10px; line-height: 1.48; }
@media (max-width: 1100px) { .ui05-direction-carry { align-items: flex-start; flex-direction: column; }.ui05-direction-carry p { max-width: 700px; text-align: left; }.ui05-input-translator { grid-template-columns: 1fr; }.ui05-input-readiness { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .ui05-direction-carry, .ui05-translator-core, .ui05-tradeoff-panel { padding: 22px 20px; }.ui05-direction-carry > div { align-items: flex-start; flex-direction: column; gap: 7px; }.ui05-translator-core h3 { font-size: 22px; }.ui05-translator-grid, .ui05-readiness-grid { grid-template-columns: 1fr; }.ui05-translator-lines { display: none; } }
/* UI-08.4 | Match the core design-input field surface without changing form logic. */
#manufacturing .craft-plan-form :is(.craft-plan-grid select[name="assemblyMethodId"], .craft-plan-grid select[name="surfaceDirectionId"], .craft-custom-field textarea) {
  border-color: #a8cfc0;
  color: #183e32;
  background: #e8f5ec;
  color-scheme: light;
}

#manufacturing .craft-plan-form .craft-custom-field textarea::placeholder {
  color: #6b887b;
  opacity: 1;
}

#manufacturing .craft-plan-form :is(.craft-plan-grid select[name="assemblyMethodId"], .craft-plan-grid select[name="surfaceDirectionId"], .craft-custom-field textarea):focus {
  border-color: #5a9b86;
  outline: none;
  color: #183e32;
  background: #e1f1e7;
  box-shadow: 0 0 0 3px rgb(90 155 134 / .18);
}

#manufacturing .craft-plan-form .craft-plan-grid :is(select[name="assemblyMethodId"], select[name="surfaceDirectionId"]) option {
  color: #183e32;
  background: #f3fbf6;
}

/* UI-08.4 | Keep historical concept-library page numbers adjacent to direct page jump. */
@media (min-width: 701px) {
  .concept-history-pagination { justify-content: flex-end; }
}


/* UI-08.5 | Surface the concept-draft readiness state in the same pale-green system. */
#manufacturing .manufacturing-banner.is-selection {
  border-color: #b8d9c7;
  background: linear-gradient(115deg, #eff9f1, #e2f2e7);
}

#manufacturing .manufacturing-banner.is-selection > div > span {
  color: #317b63;
}

#manufacturing .manufacturing-banner.is-selection strong {
  color: #1c4737;
}

#manufacturing .manufacturing-banner.is-selection p {
  color: #587267;
}

/* UI-08.6 | Present the workshop transfer statement as a two-line orange briefing callout. */
#design-input .ui05-workshop-heading .ui05-workshop-callout {
  display: grid;
  gap: 2px;
  max-width: 472px;
  margin: 0 0 1px;
  padding: 9px 12px;
  border: 1px solid #edbd8d;
  border-radius: 9px;
  color: #a75d22;
  background: #fff3e7;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .72);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.55;
}

#design-input .ui05-workshop-heading .ui05-workshop-callout > span {
  display: block;
}

@media (max-width: 760px) {
  #design-input .ui05-workshop-heading .ui05-workshop-callout { max-width: none; }
}

/* Validation framework v1 · local only */

#market-validation .vfr-root{--ink:#173d4d;--muted:#71838c;--line:#d8e4e7;--paper:#f5f8f8;--warm:#fffdf8;--navy:#10475a;--navy2:#1e687d;--cyan:#6bbbd0;--green:#5a9b86;--green-bg:#e8f5ec;--orange:#c77c3e;--orange-bg:#fff1e5;--red:#c86d59;--shadow:0 18px 45px rgba(24,63,78,.09)}#market-validation .vfr-root *{box-sizing:border-box}#market-validation .vfr-root{margin:0;background:radial-gradient(circle at 89% 3%,#e5f3f3 0,transparent 27%),linear-gradient(135deg,#f8fafb 0%,#eff4f5 100%);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}#market-validation .vfr-page{max-width:1420px;margin:auto;padding:42px 42px 62px}.vfr-top{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:18px}.vfr-eyebrow{margin:0 0 9px;color:#3d7c92;font:800 11px/1 ui-monospace,Consolas,monospace;letter-spacing:.13em}.vfr-top h1{margin:0;font-size:29px;letter-spacing:-.045em}.vfr-top p:last-child{max-width:400px;margin:0;color:#78878e;font-size:12px;line-height:1.65;text-align:right}.vfr-workspace{overflow:hidden;border:1px solid #cfdde1;border-radius:19px;background:var(--warm);box-shadow:var(--shadow)}.vfr-carry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 24px;border-bottom:1px solid #dbe5e7;background:#f7fafb}.vfr-carry-left{display:flex;align-items:center;gap:11px}.vfr-carry small{color:#78909b;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.11em}.vfr-carry b{font-size:13px}.vfr-carry i{width:8px;height:8px;border-radius:50%;background:#4b9fc0;box-shadow:0 0 0 4px #e2f2f7}.vfr-carry button{border:0;background:transparent;color:#397188;font:800 11px/1 inherit}.vfr-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.72fr .94fr;min-height:282px;background:linear-gradient(126deg,#0e4053,#135269 62%,#1c687b)}.vfr-hero:before,.vfr-hero:after{position:absolute;border:1px solid rgba(190,229,238,.17);border-radius:50%;content:""}.vfr-hero:before{width:510px;height:510px;left:-310px;bottom:-356px}.vfr-hero:after{width:300px;height:300px;right:-142px;top:-184px}.vfr-hero-main,.vfr-hero-side{position:relative;z-index:1}.vfr-hero-main{padding:29px 31px;color:#fff}.vfr-hero-kicker{display:flex;align-items:center;justify-content:space-between;color:#a8d4de;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}.vfr-hero-kicker span:last-child{color:#c8e5ea;letter-spacing:0;font-family:inherit}.vfr-hero h2{max-width:700px;margin:11px 0 8px;font-size:25px;line-height:1.28;letter-spacing:-.045em}.vfr-hero .vfr-lead{max-width:680px;margin:0;color:#d2e8ec;font-size:12px;line-height:1.7}.vfr-hero-meta{display:flex;gap:22px;margin-top:19px}.vfr-hero-meta article{position:relative;padding-left:12px}.vfr-hero-meta article:before{position:absolute;top:4px;bottom:3px;left:0;width:2px;background:#6fc0d3;content:""}.vfr-hero-meta article:nth-child(2):before{background:#efb570}.vfr-hero-meta article:nth-child(3):before{background:#85c6a8}.vfr-hero-meta small{display:block;color:#a8d3dc;font-size:9px}.vfr-hero-meta strong{display:block;margin-top:4px;color:#fff;font-size:13px}.vfr-hero-side{padding:24px 25px 19px;border-left:1px solid rgba(217,239,241,.18);background:rgba(6,43,56,.15)}.vfr-hero-side:before{position:absolute;width:154px;height:154px;right:16px;bottom:-81px;border:1px dashed rgba(171,222,231,.34);border-radius:50%;content:""}.vfr-hero-side>*{position:relative;z-index:1}.vfr-hero-side small{color:#a7d5de;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}.vfr-hero-side h3{margin:9px 0 7px;font-size:19px;line-height:1.3;color:#fff}.vfr-hero-side p{margin:0;color:#c8e0e5;font-size:11px;line-height:1.65}.vfr-decision-chip{display:flex;align-items:center;gap:9px;margin-top:16px;padding:10px 11px;border:1px solid rgba(156,221,194,.34);border-radius:9px;background:rgba(106,184,149,.13)}.vfr-decision-chip i{width:9px;height:9px;border-radius:50%;background:#85caa7;box-shadow:0 0 0 4px rgba(133,202,167,.12)}.vfr-decision-chip span{color:#bce6cf;font-size:10px}.vfr-decision-chip b{display:block;margin-top:2px;color:#fff;font-size:12px}.vfr-section{padding:27px 29px 30px}.vfr-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.vfr-section-head .vfr-kicker{margin:0;color:#4a8293;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}.vfr-section-head h2{margin:7px 0 0;font-size:22px;letter-spacing:-.04em}.vfr-section-head p{max-width:350px;margin:0;color:#7d898f;font-size:11px;line-height:1.6;text-align:right}.vfr-plan-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.77fr);gap:19px}.vfr-plan-board{position:relative;overflow:hidden;padding:19px;border:1px solid #d7e2e4;border-radius:14px;background:linear-gradient(135deg,#fbfdfd,#f2f8f8)}.vfr-plan-board:before{position:absolute;width:280px;height:280px;right:-142px;top:-162px;border:1px solid #d6eaeb;border-radius:50%;content:""}.vfr-plan-title{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.vfr-plan-title strong{font-size:14px}.vfr-plan-title span{padding:5px 8px;border:1px solid #c8dde0;border-radius:999px;color:#5c7b86;background:#fff;font-size:10px}.vfr-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vfr-route{position:absolute;top:68px;left:11%;width:77%;height:77px;overflow:visible;pointer-events:none}.vfr-step{position:relative;min-height:202px;padding:14px 14px 13px;border:1px solid #d8e4e6;border-radius:11px;background:#fff;box-shadow:0 5px 14px rgba(23,65,78,.035)}.vfr-step .vfr-number{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;color:#30758a;background:#e4f3f6;font:850 10px/1 ui-monospace,Consolas,monospace}.vfr-step:nth-child(2) .vfr-number{color:#477d68;background:#e8f5ec}.vfr-step:nth-child(3) .vfr-number{color:#a96832;background:#fff0e4}.vfr-step small{display:block;margin-top:10px;color:#73868e;font-size:10px}.vfr-step h3{margin:5px 0 5px;font-size:15px;line-height:1.34;letter-spacing:-.025em}.vfr-step p{min-height:33px;margin:0;color:#738088;font-size:10px;line-height:1.55}.vfr-criterion{margin-top:12px;padding:8px 9px;border-radius:7px;background:#f2f7f7}.vfr-criterion span{display:block;color:#72858d;font-size:9px}.vfr-criterion b{display:block;margin-top:3px;color:#2e5d6d;font-size:10px;line-height:1.35}.vfr-risk-panel{padding:19px 18px 15px;border:1px solid #eedfce;border-radius:14px;background:linear-gradient(155deg,#fffdf9,#fff7ee)}.vfr-risk-panel .vfr-risk-top{display:flex;align-items:flex-start;justify-content:space-between}.vfr-risk-panel .vfr-kicker{margin:0;color:#ad774b;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.11em}.vfr-risk-panel h3{margin:8px 0 5px;font-size:17px;letter-spacing:-.035em}.vfr-risk-panel .vfr-intro{margin:0;color:#897b70;font-size:10px;line-height:1.6}.vfr-risk-score{position:relative;display:grid;place-items:center;width:76px;height:76px;border:1px dashed #e8bb8d;border-radius:50%;color:#a9632b;background:#fffaf4;font:850 21px/1 ui-monospace,Consolas,monospace}.vfr-risk-score:after{position:absolute;right:-2px;bottom:7px;width:12px;height:12px;border:3px solid #fffaf4;border-radius:50%;background:#d89251;content:""}.vfr-risk-score small{margin-top:4px;color:#ad7d54;font-size:8px}.vfr-risk-list{margin-top:15px}.vfr-risk{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #f0e3d6}.vfr-risk i{width:7px;height:7px;border-radius:50%;background:#d9934e}.vfr-risk:nth-child(2) i{background:#cb7560}.vfr-risk:nth-child(3) i{background:#68a88d}.vfr-risk b{display:block;font-size:11px}.vfr-risk span{display:block;margin-top:2px;color:#917f70;font-size:9px;line-height:1.4}.vfr-risk em{padding:4px 6px;border-radius:4px;color:#a96c3b;background:#fff0e0;font-size:9px;font-style:normal}.vfr-risk:nth-child(2) em{color:#a75b4b;background:#fce9e5}.vfr-risk:nth-child(3) em{color:#4f8c73;background:#e8f4ed}.vfr-gate{margin-top:19px;padding:21px 29px 23px;border-top:1px solid #dfe8e9;background:#f9fbfb}.vfr-gate-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.vfr-gate-head .vfr-kicker{margin:0;color:#4a8293;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}.vfr-gate-head h2{margin:7px 0 0;font-size:21px;letter-spacing:-.04em}.vfr-gate-head p{max-width:385px;margin:0;color:#79878d;font-size:11px;line-height:1.6;text-align:right}.vfr-gate-cards{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:11px;margin-top:16px}.vfr-gate-card{padding:15px 16px;border:1px solid #dce5e7;border-radius:10px;background:#fff}.vfr-gate-card:first-child{border-color:#bad8c7;background:linear-gradient(125deg,#f4fbf6,#e9f6ed)}.vfr-gate-card:nth-child(2){border-color:#eed7bd;background:#fffcf7}.vfr-gate-card:nth-child(3){border-color:#e7d7d2;background:#fffafa}.vfr-gate-card small{color:#6e838c;font:800 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.09em}.vfr-gate-card strong{display:block;margin:9px 0 5px;font-size:15px}.vfr-gate-card p{margin:0;color:#74828a;font-size:10px;line-height:1.55}.vfr-gate-card b{display:inline-block;margin-top:10px;color:#367a62;font-size:10px}.vfr-gate-card:nth-child(2) b{color:#b27137}.vfr-gate-card:nth-child(3) b{color:#aa6255}.vfr-foot{display:flex;align-items:center;gap:8px;margin:16px 3px 0;color:#77868d;font-size:10px}.vfr-foot i{width:7px;height:7px;border-radius:2px;background:#65a68e}@media(max-width:900px){.vfr-page{padding:26px 18px 42px}.vfr-top,.vfr-section-head,.vfr-gate-head{align-items:flex-start;flex-direction:column}.vfr-top p:last-child,.vfr-section-head p,.vfr-gate-head p{text-align:left}.vfr-hero,.vfr-plan-grid{grid-template-columns:1fr}.vfr-hero-side{border-top:1px solid rgba(217,239,241,.18);border-left:0}.vfr-steps,.vfr-gate-cards{grid-template-columns:1fr}.vfr-route{display:none}.vfr-step{min-height:0}.vfr-hero-meta{flex-wrap:wrap}.vfr-carry{align-items:flex-start;flex-direction:column}.vfr-carry-left{align-items:flex-start;flex-wrap:wrap}.vfr-section{padding:22px 18px}.vfr-gate{padding:21px 18px}}
.vfr-observation{padding:0 29px 25px}.vfr-observation-shell{overflow:hidden;border:1px solid #d5e3e5;border-radius:14px;background:linear-gradient(135deg,#f5fbfb,#fffdf9)}.vfr-observation-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:19px 20px 16px;border-bottom:1px solid #dce8e9}.vfr-observation-head .vfr-kicker{margin:0;color:#4a8293;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}.vfr-observation-head h2{margin:7px 0 0;font-size:19px;letter-spacing:-.04em}.vfr-observation-head p{max-width:370px;margin:0;color:#7c898f;font-size:10px;line-height:1.6;text-align:right}.vfr-observation-grid{display:grid;grid-template-columns:repeat(4,1fr)}.vfr-observation-card{position:relative;min-height:144px;padding:17px 16px 15px;border-right:1px solid #dfeaec;background:rgba(255,255,255,.54)}.vfr-observation-card:last-child{border-right:0}.vfr-observation-card:before{position:absolute;top:18px;right:16px;width:30px;height:30px;border:1px solid #c8e1e4;border-radius:50%;color:#548a99;content:attr(data-no);display:grid;place-items:center;font:800 9px/1 ui-monospace,Consolas,monospace;background:#eef8f8}.vfr-observation-card:nth-child(2):before{border-color:#b9d9c7;color:#51816b;background:#edf8f0}.vfr-observation-card:nth-child(3):before{border-color:#efd5bd;color:#a76b35;background:#fff4e9}.vfr-observation-card:nth-child(4):before{border-color:#d7d7e5;color:#71759d;background:#f4f4fb}.vfr-observation-card small{display:block;padding-right:34px;color:#6d838c;font-size:10px}.vfr-observation-card h3{max-width:190px;margin:6px 0 8px;font-size:14px;line-height:1.35;letter-spacing:-.02em}.vfr-observation-card p{margin:0;color:#78868d;font-size:10px;line-height:1.55}.vfr-observation-card b{display:block;margin-top:10px;color:#3e7d8d;font-size:10px}.vfr-observation-card:nth-child(2) b{color:#4d896c}.vfr-observation-card:nth-child(3) b{color:#ad6b31}.vfr-observation-card:nth-child(4) b{color:#656993}.vfr-observation-foot{display:flex;align-items:center;gap:10px;padding:11px 18px;border-top:1px solid #dce8e9;color:#6d838b;background:#fbfdfd;font-size:10px}.vfr-observation-foot i{width:8px;height:8px;border-radius:2px;background:#67a88f}.vfr-observation-foot strong{color:#315d6d}@media(max-width:900px){.vfr-observation{padding:0 18px 20px}.vfr-observation-head{align-items:flex-start;flex-direction:column}.vfr-observation-head p{text-align:left}.vfr-observation-grid{grid-template-columns:1fr 1fr}.vfr-observation-card:nth-child(2){border-right:0}.vfr-observation-card:nth-child(-n+2){border-bottom:1px solid #dfeaec}}@media(max-width:560px){.vfr-observation-grid{grid-template-columns:1fr}.vfr-observation-card{border-right:0;border-bottom:1px solid #dfeaec}.vfr-observation-card:last-child{border-bottom:0}}.vfr-modebar{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:0;border-bottom:1px solid #dbe6e8;background:#f7fbfb}.vfr-mode-item{min-height:76px;padding:15px 20px;border-right:1px solid #dbe6e8}.vfr-mode-item:last-child{border-right:0}.vfr-mode-item small{display:block;color:#74909a;font:800 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.1em}.vfr-mode-item strong{display:block;margin-top:7px;color:#244f60;font-size:12px}.vfr-mode-item span{display:block;margin-top:4px;color:#7c8a90;font-size:10px}.vfr-mode-item .vfr-mode-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #b9d8c7;border-radius:999px;color:#4d876d;background:#edf8f0}.vfr-mode-pill i{width:6px;height:6px;border-radius:50%;background:#62a387}.vfr-version-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:14px 16px;border:1px solid #d5e2e4;border-radius:10px;background:#fff}.vfr-version-strip .vfr-version-main{display:flex;align-items:center;gap:10px}.vfr-version-strip .vfr-version-dot{width:9px;height:9px;border-radius:50%;background:#5b9b85;box-shadow:0 0 0 4px #e8f5ec}.vfr-version-strip strong{color:#285c6c;font-size:11px}.vfr-version-strip span{color:#849098;font-size:10px}.vfr-version-strip .vfr-history{display:flex;align-items:center;gap:8px}.vfr-history em{padding:4px 7px;border:1px solid #e1e7e7;border-radius:4px;color:#819097;background:#f6f8f8;font-size:9px;font-style:normal}.vfr-history b{padding:4px 7px;border:1px solid #bbd9c8;border-radius:4px;color:#4e896c;background:#edf8f0;font-size:9px;font-weight:800}.vfr-history i{width:17px;height:1px;background:#cbd9dc;position:relative}.vfr-history i:after{position:absolute;right:0;top:-2px;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid #93aeb5;content:""}@media(max-width:900px){.vfr-modebar{grid-template-columns:1fr}.vfr-mode-item{border-right:0;border-bottom:1px solid #dbe6e8}.vfr-mode-item:last-child{border-bottom:0}.vfr-version-strip{align-items:flex-start;flex-direction:column}.vfr-history{flex-wrap:wrap}}



/* Validation framework integration */
#market-validation .vfr-carry-status{padding:5px 9px;border:1px solid #bad8c7;border-radius:999px;color:#4f8c73;background:#edf8f0;font-size:10px;font-weight:800}
#market-validation .vfr-source-report{margin:18px 0 0;border:1px solid #dbe5e7;border-radius:12px;background:#fff}
#market-validation .vfr-source-report>summary{padding:14px 17px;color:#2d6476;font-size:12px;font-weight:800;cursor:pointer;list-style:none}
#market-validation .vfr-source-report>summary::-webkit-details-marker{display:none}
#market-validation .vfr-source-report>summary:after{float:right;color:#81949b;content:'展开';font-size:10px}
#market-validation .vfr-source-report[open]>summary:after{content:'收起'}
#market-validation .vfr-source-report-body{padding:0 17px 17px;border-top:1px solid #e7eef0}
#market-validation .vfr-report-review{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:11px 14px;border:1px solid #dbe5e7;border-radius:10px;color:#71848b;background:#fbfdfd;font-size:10px;line-height:1.5}
#market-validation .vfr-report-review .button{min-height:34px;padding:7px 12px}
@media(max-width:620px){#market-validation .vfr-report-review{align-items:stretch;flex-direction:column}#market-validation .vfr-report-review .button{width:100%}}


/* Validation plan V3: product feasibility + business alignment */
#market-validation .vfr-system-section{padding:27px 29px 30px;background:#fbfdfc}
#market-validation .vfr-system-counts{display:flex;align-items:center;gap:10px;margin:0 0 14px}
#market-validation .vfr-system-counts>div{display:flex;align-items:baseline;gap:7px;min-width:150px;padding:9px 12px;border:1px solid #d7e7e0;border-radius:9px;background:#f2faf6}
#market-validation .vfr-system-counts>div:nth-child(2){border-color:#f0ddc8;background:#fff8ef}
#market-validation .vfr-system-counts b{color:#4e9079;font:800 18px/1 ui-monospace,Consolas,monospace}
#market-validation .vfr-system-counts>div:nth-child(2) b{color:#c77c3e}
#market-validation .vfr-system-counts span{color:#57757e;font-size:10px;font-weight:800}
#market-validation .vfr-system-counts>p{margin:0 0 0 auto;color:#829197;font-size:10px}
#market-validation .vfr-system-split{display:grid;grid-template-columns:1.68fr 1fr;gap:14px}
#market-validation .vfr-product-lane,#market-validation .vfr-merchant-lane{padding:20px;border:1px solid #d4e4e4;border-radius:14px;background:#fff}
#market-validation .vfr-product-lane{background:linear-gradient(145deg,#f8fcfb,#fff)}
#market-validation .vfr-merchant-lane{background:#fffcf7;border-color:#f0dfcb}
#market-validation .vfr-lane-top{display:flex;justify-content:space-between;gap:12px}
#market-validation .vfr-lane-top h3{margin:7px 0 5px;font-size:19px;letter-spacing:-.035em}
#market-validation .vfr-lane-top p{max-width:470px;margin:0;color:#76868c;font-size:10px;line-height:1.6}
#market-validation .vfr-lane-badge,#market-validation .vfr-merchant-badge{flex:none;height:max-content;padding:6px 8px;border:1px solid #b7d9c7;border-radius:999px;background:#eef8f1;color:#4c896e;font-size:9px;font-weight:800}
#market-validation .vfr-merchant-badge{border-color:#f0c891;background:#fff1e3;color:#bf7434}
#market-validation .vfr-core-question{display:flex;gap:14px;align-items:flex-start;margin:17px 0 12px;padding:12px 13px;border-left:3px solid #5a9b86;border-radius:0 9px 9px 0;background:#edf7f2}
#market-validation .vfr-core-question span,#market-validation .vfr-lane-result span{flex:none;color:#598e76;font-size:10px;font-weight:800}
#market-validation .vfr-core-question strong{font-size:13px;line-height:1.5}
#market-validation .vfr-product-tests{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
#market-validation .vfr-product-tests article{padding:12px;border:1px solid #dfe9e8;border-radius:10px;background:#fff}
#market-validation .vfr-product-tests article:nth-child(2){background:#fffaf3;border-color:#f0e1cc}
#market-validation .vfr-product-tests article:nth-child(3){background:#f8f8fc;border-color:#e0e1ed}
#market-validation .vfr-product-tests span{color:#638992;font:800 9px/1 ui-monospace,Consolas,monospace}
#market-validation .vfr-product-tests h4{min-height:34px;margin:9px 0 5px;font-size:12px;line-height:1.4}
#market-validation .vfr-product-tests p{min-height:51px;margin:0;color:#76878e;font-size:10px;line-height:1.55}
#market-validation .vfr-product-tests article>div{margin-top:10px;padding-top:8px;border-top:1px solid #e3ebeb}
#market-validation .vfr-product-tests article>div b{display:block;color:#7d8e93;font-size:9px}
#market-validation .vfr-product-tests article>div em{display:block;margin-top:3px;color:#376f7b;font-size:9px;font-style:normal;font-weight:800;line-height:1.4}
#market-validation .vfr-lane-result{display:flex;gap:12px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:8px;background:#10475a}
#market-validation .vfr-lane-result span{color:#a5d6c1}
#market-validation .vfr-lane-result b{color:#fff;font-size:10px;line-height:1.45}
#market-validation .vfr-merchant-item{display:flex;gap:10px;margin-top:14px;padding:12px 0;border-top:1px solid #f0e3d5}
#market-validation .vfr-merchant-item:first-of-type{margin-top:16px}
#market-validation .vfr-merchant-no{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#ffe8d2;color:#bc7135;font:800 10px ui-monospace,Consolas,monospace}
#market-validation .vfr-merchant-item small{color:#ac7650;font:800 9px/1 ui-monospace,Consolas,monospace}
#market-validation .vfr-merchant-item h4{margin:5px 0 4px;font-size:12px}
#market-validation .vfr-merchant-item p{margin:0;color:#7f8586;font-size:10px;line-height:1.55}
#market-validation .vfr-merchant-item span{display:block;margin-top:5px;color:#a4775a;font-size:9px;line-height:1.4}
#market-validation .vfr-merchant-empty{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:11px;border:1px dashed #e1c8ae;border-radius:8px;background:rgba(255,255,255,.48)}
#market-validation .vfr-merchant-empty i{width:7px;height:7px;border-radius:50%;background:#e2a55d}
#market-validation .vfr-merchant-empty b{color:#7c654f;font-size:10px}
#market-validation .vfr-merchant-empty span{color:#a18976;font-size:9px;line-height:1.5}
#market-validation .vfr-evidence-section{padding:28px 29px 30px}
#market-validation .vfr-matrix-layout{display:grid;grid-template-columns:1.68fr 1fr;gap:14px}
#market-validation .vfr-matrix-board{overflow:hidden;border:1px solid #d9e5e6;border-radius:14px;background:#f8fbfb}
#market-validation .vfr-matrix-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #dbe7e7}
#market-validation .vfr-matrix-head strong{font-size:13px}
#market-validation .vfr-matrix-head span{padding:5px 8px;border:1px solid #d4e4e4;border-radius:999px;color:#6d858d;background:#fff;font-size:9px}
#market-validation .vfr-matrix-row{display:grid;grid-template-columns:36px 1fr 1fr 1.1fr;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e1e9e9;background:#fff}
#market-validation .vfr-matrix-row:last-child{border-bottom:0}
#market-validation .vfr-matrix-index{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e3f3ea;color:#4a9175;font:800 10px ui-monospace,Consolas,monospace}
#market-validation .vfr-matrix-index.vfr-orange{background:#ffead5;color:#bd7535}
#market-validation .vfr-matrix-index.vfr-purple{background:#e9e9f7;color:#6e75a7}
#market-validation .vfr-matrix-row small{display:block;color:#82939a;font-size:9px}
#market-validation .vfr-matrix-row b{display:block;margin-top:5px;color:#315a68;font-size:10px;line-height:1.45}
#market-validation .vfr-risk-v3{padding:20px}
#market-validation .vfr-risk-v3 .vfr-risk-top{margin-bottom:12px}
#market-validation .vfr-gate-v3{padding:25px 29px 28px;border-top:1px solid #e0e9e9;background:#fbfdfd}
#market-validation .vfr-gate-v3 .vfr-gate-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
#market-validation .vfr-gate-v3 .vfr-gate-head h2{margin:8px 0 0;font-size:21px;letter-spacing:-.04em}
#market-validation .vfr-gate-v3 .vfr-gate-head>p{max-width:390px;margin:0;color:#7d898f;font-size:10px;line-height:1.6;text-align:right}
#market-validation .vfr-gate-v3 .vfr-gate-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#market-validation .vfr-gate-v3 .vfr-gate-card{padding:15px;border:1px solid #dce8e6;border-radius:10px;background:#eef9f2}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(2){border-color:#eedecb;background:#fffaf4}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(3){border-color:#eadbd8;background:#fffafa}
#market-validation .vfr-gate-v3 .vfr-gate-card small{display:block;color:#628d7a;font:800 9px/1 ui-monospace,Consolas,monospace}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(2) small{color:#b77943}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(3) small{color:#a46d62}
#market-validation .vfr-gate-v3 .vfr-gate-card strong{display:block;margin-top:10px;font-size:13px}
#market-validation .vfr-gate-v3 .vfr-gate-card p{margin:6px 0 11px;color:#77888e;font-size:10px;line-height:1.55}
#market-validation .vfr-gate-v3 .vfr-gate-card>b{color:#467e69;font-size:10px}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(2)>b{color:#b5763d}
#market-validation .vfr-gate-v3 .vfr-gate-card:nth-child(3)>b{color:#a0675d}
@media(max-width:930px){#market-validation .vfr-system-split,#market-validation .vfr-matrix-layout{grid-template-columns:1fr}#market-validation .vfr-product-tests{grid-template-columns:1fr}#market-validation .vfr-product-tests h4,#market-validation .vfr-product-tests p{min-height:0}#market-validation .vfr-system-counts{align-items:stretch;flex-wrap:wrap}#market-validation .vfr-system-counts>p{width:100%;margin:0}#market-validation .vfr-matrix-row{grid-template-columns:32px 1fr}#market-validation .vfr-matrix-row>div:nth-child(2),#market-validation .vfr-matrix-row>div:nth-child(3),#market-validation .vfr-matrix-row>div:nth-child(4){grid-column:2}#market-validation .vfr-gate-v3 .vfr-gate-cards{grid-template-columns:1fr}}
@media(max-width:600px){#market-validation .vfr-system-section,#market-validation .vfr-evidence-section,#market-validation .vfr-gate-v3{padding-right:16px;padding-left:16px}#market-validation .vfr-lane-top,#market-validation .vfr-matrix-head,#market-validation .vfr-gate-v3 .vfr-gate-head{align-items:flex-start;flex-direction:column}#market-validation .vfr-lane-result{align-items:flex-start;flex-direction:column}#market-validation .vfr-system-counts>div{min-width:calc(50% - 5px)}#market-validation .vfr-gate-v3 .vfr-gate-head>p{text-align:left}}

/* Validation plan V4: decision-first status and review actions */
#market-validation .vfr-hero.vfr-hero-single{grid-template-columns:minmax(0,1fr);min-height:236px}
#market-validation .vfr-hero-single .vfr-hero-main{padding:30px 32px}
#market-validation .vfr-hero-single .vfr-lead{max-width:825px}
#market-validation .vfr-hero-single .vfr-hero-meta{gap:34px}
#market-validation .vfr-gate-head p{max-width:365px}
#market-validation .vfr-gate-action{display:flex;align-items:center;gap:7px;margin-top:12px;padding:8px 9px;border:1px solid rgba(74,135,109,.2);border-radius:7px;background:rgba(255,255,255,.56)}
#market-validation .vfr-gate-action span{color:#648478;font-size:9px;font-weight:800}
#market-validation .vfr-gate-action b{margin:0;color:#367a62;font-size:10px}
#market-validation .vfr-gate-card:nth-child(2) .vfr-gate-action{border-color:rgba(190,132,71,.2)}
#market-validation .vfr-gate-card:nth-child(2) .vfr-gate-action span{color:#98724d}
#market-validation .vfr-gate-card:nth-child(2) .vfr-gate-action b{color:#b27137}
#market-validation .vfr-gate-card:nth-child(3) .vfr-gate-action{border-color:rgba(177,105,93,.2)}
#market-validation .vfr-gate-card:nth-child(3) .vfr-gate-action span{color:#966b64}
#market-validation .vfr-gate-card:nth-child(3) .vfr-gate-action b{color:#aa6255}
@media(max-width:600px){#market-validation .vfr-hero-single .vfr-hero-main{padding:24px 20px}#market-validation .vfr-hero-single .vfr-hero-meta{gap:15px}}

/* Validation action placement */
#market-validation .ui06-validation-heading-actions{display:flex;flex:0 1 475px;flex-direction:column;align-items:flex-end;gap:10px}
#market-validation .ui06-validation-heading-actions .scope-note{max-width:475px}
#market-validation .ui06-validation-heading-actions .button{min-height:40px;white-space:nowrap}
@media(max-width:600px){#market-validation .ui06-validation-heading-actions{width:100%;align-items:flex-start}#market-validation .ui06-validation-heading-actions .scope-note{text-align:left}#market-validation .ui06-validation-heading-actions .button{width:100%}}


/* Product progress handoff: optional, non-duplicative conclusion sheet */
#market-validation .vfr-progress-launcher{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 0;padding:20px 22px;border:1px solid #cbded9;border-radius:14px;background:linear-gradient(120deg,#eef8f2 0%,#f7fbf8 72%);box-shadow:0 10px 26px rgba(32,91,76,.06)}
#market-validation .vfr-progress-launcher .vfr-kicker{margin:0 0 8px;color:#4f8d79;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}
#market-validation .vfr-progress-launcher h2{margin:0;color:#183f4d;font-size:18px;letter-spacing:-.035em}
#market-validation .vfr-progress-launcher p:last-child{max-width:620px;margin:7px 0 0;color:#71838a;font-size:11px;line-height:1.65}
#market-validation .vfr-progress-launcher .button{flex:0 0 auto;min-height:40px;white-space:nowrap}
#market-validation .product-progress-note{margin:18px 0 0}
#market-validation .product-progress-card{overflow:hidden;border:1px solid #cadcdf;border-radius:18px;background:#fffdfa;box-shadow:0 16px 36px rgba(25,67,79,.08)}
#market-validation .product-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:25px 28px 22px;color:#fff;background:linear-gradient(124deg,#10475a 0%,#185e70 64%,#287a82 100%)}
#market-validation .product-progress-head .section-kicker{margin:0 0 9px;color:#a9d6dc;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}
#market-validation .product-progress-head h2{margin:0;font-size:24px;letter-spacing:-.045em}
#market-validation .product-progress-head p:last-child{max-width:650px;margin:9px 0 0;color:#d4e8ea;font-size:11px;line-height:1.65}
#market-validation .product-progress-status{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(205,239,231,.35);border-radius:999px;color:#d5f1e5;background:rgba(255,255,255,.09);font-size:10px;font-weight:800;white-space:nowrap}
#market-validation .product-progress-version{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:1px;background:#dce8e6;border-bottom:1px solid #dce8e6}
#market-validation .product-progress-version>div{min-height:79px;padding:16px 20px;background:#f4faf6}
#market-validation .product-progress-version>div+div{background:#fbfdfb}
#market-validation .product-progress-version small{display:block;color:#6d8a82;font-size:10px;font-weight:800}
#market-validation .product-progress-version strong{display:block;margin-top:8px;color:#244a50;font-size:13px;line-height:1.45}
#market-validation .product-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px 0}
#market-validation .product-progress-panel{padding:17px 18px;border:1px solid #d8e7e0;border-radius:12px;background:#f0faf3}
#market-validation .product-progress-panel.is-open{border-color:#eadbc9;background:#fff7ed}
#market-validation .product-progress-label{margin:0;color:#4d8a76;font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.08em}
#market-validation .product-progress-panel.is-open .product-progress-label{color:#b27037}
#market-validation .product-progress-panel h3{margin:8px 0 12px;color:#244950;font-size:14px;letter-spacing:-.02em}
#market-validation .product-progress-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
#market-validation .product-progress-list li{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(87,145,119,.18);border-radius:8px;background:rgba(255,255,255,.64)}
#market-validation .product-progress-panel.is-open .product-progress-list li{border-color:rgba(194,132,62,.2)}
#market-validation .product-progress-list strong{color:#30585b;font-size:11px;line-height:1.45}
#market-validation .product-progress-list span{color:#708187;font-size:10px;line-height:1.55}
#market-validation .product-progress-empty{margin:0;color:#7b8b8d;font-size:11px;line-height:1.6}
#market-validation .product-progress-next{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 20px 0;padding:17px 18px;border:1px solid #d8e0e4;border-radius:12px;background:#f5f8fa}
#market-validation .product-progress-next .product-progress-label{color:#3e7890}
#market-validation .product-progress-next h3{margin:8px 0 5px;color:#214a56;font-size:14px}
#market-validation .product-progress-next p:last-child{margin:0;color:#71828a;font-size:10px;line-height:1.6}
#market-validation .product-progress-next .button{flex:0 0 auto;white-space:nowrap}
#market-validation .product-progress-evidence{margin:18px 20px 20px;border-top:1px solid #e1e9e9}
#market-validation .product-progress-evidence summary{padding:14px 2px 6px;color:#42768a;font-size:11px;font-weight:800;cursor:pointer;list-style:none}
#market-validation .product-progress-evidence summary::-webkit-details-marker{display:none}
#market-validation .product-progress-evidence summary:before{display:inline-block;margin-right:7px;content:'+';font-size:16px;line-height:10px;vertical-align:-1px}
#market-validation .product-progress-evidence[open] summary:before{content:'−'}
#market-validation .product-progress-evidence>div{padding:6px 2px 0}
#market-validation .product-progress-evidence .product-progress-list{max-height:290px;overflow:auto;padding-right:4px}
#market-validation .product-progress-evidence small{display:block;margin-top:11px;color:#819095;font-size:10px;line-height:1.6}
#market-validation .product-progress-card .button:focus-visible,#market-validation .vfr-progress-launcher .button:focus-visible{outline:3px solid rgba(62,145,166,.35);outline-offset:3px}
@media(max-width:760px){#market-validation .vfr-progress-launcher{align-items:flex-start;flex-direction:column}#market-validation .vfr-progress-launcher .button{width:100%}#market-validation .product-progress-head{flex-direction:column;padding:22px 20px}#market-validation .product-progress-status{align-self:flex-start}#market-validation .product-progress-version{grid-template-columns:1fr}#market-validation .product-progress-version>div{min-height:0}#market-validation .product-progress-grid{grid-template-columns:1fr;padding:14px 14px 0}#market-validation .product-progress-next{align-items:flex-start;flex-direction:column;margin:14px 14px 0}#market-validation .product-progress-next .button{width:100%}#market-validation .product-progress-evidence{margin-right:14px;margin-left:14px}}

.design-i18n-unavailable{margin:10px 0 0;padding:12px 14px;border:1px solid #c8dfd3;border-radius:10px;background:#f4faf6;color:#204c37}.design-i18n-unavailable strong{display:block;color:#174a31;font-size:12px}.design-i18n-unavailable p{margin:5px 0;color:#315b47;font-size:12px;line-height:1.55}.design-i18n-unavailable small{color:#527161;font-size:11px;line-height:1.5}.design-source-label{margin:0 0 7px;color:#527161;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.design-i18n-source-card{margin:12px 0;padding:12px 14px;border:1px solid #d4e3de;border-radius:10px;background:#f8fcfa;color:#315b47}.design-i18n-source-card>span{display:block;margin-bottom:7px;color:#527161;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.design-i18n-source-card p{margin:5px 0;font-size:12px;line-height:1.55}.design-i18n-source-card strong{margin-right:6px;color:#174a31}`r`n
.i18n-source-disclosure{margin:0 0 14px;padding:9px 12px;border:1px solid #d4e3de;border-radius:8px;background:#f8fcfa;color:#527161;font-size:11px;font-weight:700;line-height:1.45}


.runtime-translation-status{display:block;margin-top:4px;color:#8a5b16;font-size:11px;line-height:1.4;}
/* 01 分析摘要：筛选栏位于项目分析上下文之后，必须在 workspace 视图显示。 */
.main-content[data-view="workspace"] > .summary-filter-bar { display: flex; }


/* 历史概念草图库：独立一级分类筛选，不与 03 模块筛选联动。 */
.concept-history-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.concept-history-category-filter { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.concept-history-category-filter select { max-width: 190px; min-height: 36px; border: 1px solid var(--line); border-radius: 8px; padding: 7px 28px 7px 9px; color: var(--ink); background: var(--surface-subtle); font-size: 12px; }
@media (max-width: 720px) { .concept-history-panel-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; } }
