* { 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-action-loop { margin-top: 22px; }
.analysis-action-loop .section-heading { margin-bottom: 12px; }
.analysis-action-loop-content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.analysis-loop-card { position: relative; display: grid; grid-template-columns: 31px 1fr; gap: 10px; min-height: 154px; padding: 16px; overflow: hidden; border: 1px solid #dbe3ef; border-radius: 15px; background: #fff; box-shadow: 0 10px 26px rgb(26 45 78 / 5%); }
.analysis-loop-card::after { position: absolute; right: -22px; bottom: -25px; width: 90px; height: 90px; border: 1px solid currentColor; border-radius: 50%; content: ''; opacity: .08; }
.analysis-loop-card.is-positive { color: #238b70; }.analysis-loop-card.is-risk { color: #b56b26; }.analysis-loop-card.is-action { color: #4c62d5; }
.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); }
.analysis-loop-card.is-positive .analysis-loop-number { background: #238b70; }.analysis-loop-card.is-risk .analysis-loop-number { background: #b56b26; }.analysis-loop-card.is-action .analysis-loop-number { background: #4c62d5; }
.analysis-loop-card > div { min-width: 0; }
.analysis-loop-card p { margin: 0; color: currentColor; font: 800 10px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .04em; }
.analysis-loop-card h3 { margin: 5px 0 7px; color: #1a2b47; font-size: 15px; }
.analysis-loop-card div > span { display: block; color: #6d7c91; font-size: 11px; line-height: 1.6; }
.analysis-loop-card .card-link { grid-column: 2; justify-self: start; align-self: end; margin-top: 10px; }
.analysis-loop-loading { grid-column: 1 / -1; padding: 16px; color: #78869a; font-size: 12px; }
.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: 900px) { .analysis-action-loop-content { grid-template-columns: 1fr; } }`r`n.main-content[data-view]:not([data-view="overview"]) > .overview-only-module { display: none; }

@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: min(1520px, 100%); padding-top: 28px; }
.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%); }
#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, .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, .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); }
}
