/* Product research keeps the shared chatbot's monochrome surfaces. */
.market-page { --market-bg:#111; --market-surface:#191919; --market-soft:#222; --market-field:#242424; --market-raised:#2d2d2d; --market-line:#333; --market-line-strong:#454545; --market-text:#ededed; --market-secondary:#aaa; --market-muted:#828282; --market-shadow:#0006; min-height:100svh; width:100%; min-width:0; background:var(--market-bg); color:var(--market-text); font-family:Inter,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
html[data-theme="light"] .market-page { --market-bg:#fafafa; --market-surface:#fff; --market-soft:#f5f5f5; --market-field:#f2f2f2; --market-raised:#e9e9e9; --market-line:#dedede; --market-line-strong:#bdbdbd; --market-text:#242424; --market-secondary:#555; --market-muted:#717171; --market-shadow:#0000000f; color-scheme:light; }
.market-page *, .market-page *::before, .market-page *::after { box-sizing:border-box; }
.market-page h1,.market-page h2,.market-page h3,.market-page p,.market-page dl,.market-page dd { margin:0; }
.market-page button,.market-page input,.market-page select { font:inherit; }
.market-page button,.market-page summary { cursor:pointer; }
.market-page button:disabled { opacity:.45; cursor:not-allowed; }
.market-page button:focus-visible,.market-page a:focus-visible,.market-page summary:focus-visible,.market-page select:focus-visible,.market-page [tabindex="0"]:focus-visible { outline:2px solid var(--market-secondary); outline-offset:4px; }
.market-page input:focus { outline:none; }
.market-page input::placeholder { color:var(--market-muted); opacity:1; }
.market-page a { color:inherit; text-decoration:none; }
.market-page a:hover { text-decoration:underline; text-underline-offset:3px; }
.market-page svg { flex-shrink:0; }
.market-page [hidden] { display:none!important; }
.market-stage { width:min(1220px,calc(100% - 64px)); margin:0 auto; padding:34px 0 48px; min-width:0; }
.market-top { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:34px; }
.market-top>span { display:inline-flex; gap:10px; align-items:center; color:var(--market-secondary); font-size:12px; white-space:nowrap; }
.market-top>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; min-width:0; }
.market-hero { max-width:850px; margin:70px auto 60px; text-align:center; }
.market-hero-symbol { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 25px; border:1px solid var(--market-line); border-radius:21px; background:var(--market-soft); color:var(--market-secondary); box-shadow:inset 0 1px 0 #ffffff04; }
.market-hero h1 { font-size:clamp(30px,3.5vw,46px); font-weight:500; letter-spacing:-1.8px; line-height:1.2; }
.market-pill-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; margin:26px 0 35px; }
.market-pill-row>span { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--market-line); border-radius:99px; padding:5px 12px 5px 5px; background:var(--market-field); color:var(--market-secondary); font-size:12px; }
.market-pill-row i { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:var(--market-raised); color:var(--market-secondary); font-style:normal; }
.market-form { padding:6px; border:1px solid var(--market-line-strong); border-radius:24px; box-shadow:0 2px 0 #0009,inset 0 0 0 2px var(--market-bg); background:var(--market-surface); text-align:left; }
.market-form-inner { padding:22px; border:1px solid var(--market-line); border-radius:19px; background:var(--market-field); box-shadow:inset 0 1px 0 #ffffff07; }
.market-product-name { display:flex; align-items:center; gap:13px; border-bottom:1px solid var(--market-line); padding:0 0 20px; color:var(--market-secondary); }
.market-product-name:focus-within { color:var(--market-text); }
.market-product-name input { min-width:0; width:100%; border:0; background:transparent; color:var(--market-text); font-size:17px; line-height:1.7; padding:0; outline:none; box-shadow:none; }
.market-page .market-product-name input:focus,.market-page .market-concurrent-fields input:focus { outline:none; box-shadow:none; }
.market-form-grid { display:grid; grid-template-columns:135px minmax(0,1fr); gap:25px; margin-top:21px; align-items:stretch; }
.market-photo-field { position:relative; min-width:0; }
.market-photo-picker { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:150px; padding:15px 9px; overflow:hidden; border:1px dashed var(--market-line-strong); border-radius:13px; background:var(--market-soft); color:var(--market-secondary); cursor:pointer; font-size:10px; }
.market-photo-picker:hover { border-color:var(--market-secondary); }
.market-photo-picker:focus-within { outline:2px solid var(--market-secondary); outline-offset:3px; }
.market-photo-picker small { font-size:8px; color:var(--market-muted); white-space:nowrap; }
.market-photo-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.market-photo-picker.has-photo { border-style:solid; padding:0; }
.market-photo-picker img { display:block; width:100%; height:100%; object-fit:contain; }
.market-remove-photo { position:absolute; z-index:1; top:6px; right:6px; display:grid; place-items:center; width:25px; height:25px; padding:0; border:1px solid var(--market-line-strong); border-radius:50%; background:var(--market-bg); color:var(--market-text); }
.market-concurrent-fields { min-width:0; margin:0; padding:0; border:0; }
.market-concurrent-fields legend { display:flex; width:100%; justify-content:space-between; align-items:center; margin-bottom:9px; font-size:11px; color:var(--market-secondary); }
.market-concurrent-fields legend>span { color:var(--market-muted); font-size:9px; }
.market-concurrent-fields label { display:flex; align-items:center; gap:10px; height:37px; padding:0 11px; border:1px solid var(--market-line); border-radius:9px; background:var(--market-soft); margin-bottom:7px; }
.market-concurrent-fields label:focus-within { border-color:var(--market-secondary); }
.market-concurrent-fields label>span:first-child { font-size:9px; color:var(--market-muted); font-variant-numeric:tabular-nums; }
.market-concurrent-fields input { width:100%; min-width:0; border:0; background:transparent; color:var(--market-text); font-size:11px; padding:0; height:35px; }
.market-form-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:21px; }
.market-button,.market-primary { display:inline-flex; align-items:center; justify-content:center; gap:9px; flex-shrink:0; min-height:35px; padding:8px 14px; border:1px solid var(--market-line-strong); border-radius:99px; color:var(--market-text); background:var(--market-field); font-size:11px!important; line-height:1.4; }
.market-button:hover,.market-primary:hover { background:var(--market-raised); }
.market-primary { min-height:41px; padding:11px 19px; background:var(--market-raised); font-size:12px!important; box-shadow:inset 0 1px 0 #ffffff06; }
.market-text-button { display:inline-flex; align-items:center; gap:8px; padding:6px 0; border:0; background:transparent; color:var(--market-secondary); font-size:10px!important; }
.market-text-button:hover { color:var(--market-text); }
.market-form-footer .market-text-button[aria-expanded="true"]>svg:last-child { transform:rotate(90deg); }
.market-advanced { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; padding-top:18px; border-top:1px solid var(--market-line); }
.market-advanced label { display:flex; flex-direction:column; gap:9px; min-width:0; font-size:10px; color:var(--market-secondary); }
.market-advanced input,.market-advanced select { width:100%; min-width:0; height:36px; padding:0 10px; border:1px solid var(--market-line-strong); border-radius:9px; background:var(--market-soft); color:var(--market-text); font-size:11px; }
.market-advanced input:focus { border-color:var(--market-secondary); }
.market-image-url { grid-column:1/-1; }
.market-price-field { display:flex; align-items:center; gap:10px; padding-right:11px; border:1px solid var(--market-line-strong); border-radius:9px; background:var(--market-soft); }
.market-price-field input { border:0; background:transparent; }
.market-price-field>span { font-size:9px; color:var(--market-muted); }
.market-error,.market-notice { display:flex; align-items:flex-start; gap:10px; margin:24px 0; padding:15px; border:1px solid var(--market-line-strong); border-radius:13px; background:var(--market-soft); color:var(--market-secondary); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.market-error>span { flex:1; min-width:0; }
.market-error>svg { margin-top:3px; }
.market-error>button { display:grid; place-items:center; width:24px; height:24px; flex-shrink:0; padding:0; border:0; background:transparent; color:var(--market-secondary); }
.market-loading { display:flex; align-items:center; justify-content:center; gap:10px; padding:35px 0; color:var(--market-secondary); font-size:12px; }
.market-spinner { display:inline-block; flex-shrink:0; width:13px; height:13px; border:1.5px solid var(--market-line-strong); border-top-color:var(--market-text); border-radius:50%; animation:market-spin .9s linear infinite; }
@keyframes market-spin { to { transform:rotate(360deg); } }
.market-progress { max-width:850px; margin:55px auto; padding:30px; border:1px solid var(--market-line); border-radius:22px; background:var(--market-surface); }
.market-progress-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.market-progress-head h2 { font-size:26px; font-weight:500; letter-spacing:-.7px; margin-top:8px; overflow-wrap:anywhere; }
.market-progress-head>strong { flex-shrink:0; font-size:32px; font-weight:400; font-variant-numeric:tabular-nums; }
.market-progress-head>strong>span { color:var(--market-muted); font-size:16px; margin-left:5px; }
.market-progress-track { height:3px; overflow:hidden; margin:24px 0 20px; border-radius:4px; background:var(--market-line); }
.market-progress-track>span { display:block; height:100%; background:var(--market-secondary); border-radius:inherit; transition:width .5s; }
.market-progress-track.is-indeterminate>span { width:30%; animation:market-progress 1.8s ease-in-out infinite; }
@keyframes market-progress { 0% { transform:translateX(-100%); } 100% { transform:translateX(440%); } }
.market-progress-current { display:flex; align-items:center; gap:9px; color:var(--market-secondary); font-size:11px; line-height:1.7; }
.market-live-log { margin:20px 0; padding:10px 14px; border:1px solid var(--market-line); border-radius:11px; background:var(--market-bg); }
.market-live-log>div { display:flex; align-items:baseline; gap:10px; padding:5px 0; color:var(--market-muted); font-size:10px; line-height:1.7; overflow-wrap:anywhere; }
.market-progress-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:10px; color:var(--market-muted); }
.market-stopped { max-width:850px; margin:45px auto; border:1px solid var(--market-line); border-radius:18px; padding:28px; background:var(--market-surface); }
.market-stopped h2 { margin:8px 0 12px; font-size:24px; font-weight:500; }
.market-stopped>p { margin-bottom:20px; font-size:12px; color:var(--market-secondary); line-height:1.7; }
.market-report { margin-top:42px; min-width:0; }
.market-report-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.market-report-heading>div { min-width:0; }
.market-eyebrow { display:block; color:var(--market-muted); font-size:9px; line-height:1.6; letter-spacing:1.8px; text-transform:uppercase; }
.market-report-heading h1 { margin:8px 0 10px; font-size:clamp(28px,3vw,38px); font-weight:500; line-height:1.2; letter-spacing:-1.2px; overflow-wrap:anywhere; }
.market-report-heading p { color:var(--market-muted); font-size:11px; }
.market-verdict { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; padding:27px 29px; border:1px solid var(--market-line-strong); border-radius:19px; background:var(--market-soft); }
.market-verdict>div { min-width:0; max-width:800px; }
.market-verdict h2 { margin:8px 0 11px; font-size:24px; font-weight:500; line-height:1.4; letter-spacing:-.6px; }
.market-verdict-badge { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; padding:7px 11px; border:1px solid var(--market-line-strong); border-radius:99px; background:var(--market-raised); color:var(--market-text); font-size:10px; line-height:1.4; }
.market-tabs { display:flex; align-items:center; gap:3px; width:max-content; max-width:100%; overflow-x:auto; margin:25px 0 23px; padding:4px; border:1px solid var(--market-line); border-radius:99px; background:var(--market-surface); scrollbar-width:none; }
.market-tabs::-webkit-scrollbar { display:none; }
.market-tabs button { flex-shrink:0; min-height:33px; border:1px solid transparent; border-radius:99px; padding:7px 14px; color:var(--market-secondary); background:transparent; font-size:11px; white-space:nowrap; }
.market-tabs button[aria-selected="true"] { color:var(--market-text); background:var(--market-raised); border-color:var(--market-line-strong); box-shadow:inset 0 1px 0 #ffffff04; }
.market-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.market-fact { min-width:0; padding:20px; border:1px solid var(--market-line); border-radius:16px; background:var(--market-surface); }
.market-fact>span { display:flex; align-items:center; gap:7px; min-height:18px; color:var(--market-secondary); font-size:10px; line-height:1.6; }
.market-fact>strong { display:block; margin:15px 0 9px; color:var(--market-text); font-size:clamp(24px,2.5vw,31px); line-height:1.25; font-weight:400; letter-spacing:-.8px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.market-fact>small { display:block; color:var(--market-muted); font-size:9px; line-height:1.7; overflow-wrap:anywhere; }
.market-card { min-width:0; padding:25px; border:1px solid var(--market-line); border-radius:18px; background:var(--market-surface); margin-bottom:18px; }
.market-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.market-section-head>div { min-width:0; }
.market-section-head h2 { margin-top:5px; color:var(--market-text); font-size:18px; font-weight:500; letter-spacing:-.4px; line-height:1.5; }
.market-status { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; padding:5px 8px; border:1px solid var(--market-line); border-radius:99px; color:var(--market-secondary); background:var(--market-soft); font-size:9px; white-space:nowrap; }
.market-status>span { width:4px; height:4px; border-radius:50%; background:var(--market-secondary); }
.market-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.market-two-columns>.market-card { margin:0 0 18px; }
.market-bullets { list-style:none; padding:0; margin:0; }
.market-bullets li { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--market-line); }
.market-bullets li:last-child { border-bottom:0; }
.market-bullet-marker { display:inline-flex; align-items:center; justify-content:center; flex:0 0 15px; margin-top:1px; font-size:15px; color:var(--market-muted); }
.market-bullets.is-numbered .market-bullet-marker { flex-basis:25px; font-size:10px; line-height:1.8; font-variant-numeric:tabular-nums; }
.market-bullets li>div { min-width:0; }
.market-bullets strong { font-size:12px; line-height:1.8; font-weight:500; overflow-wrap:anywhere; }
.market-bullets p { margin-top:5px; color:var(--market-secondary); font-size:11px; line-height:1.85; overflow-wrap:anywhere; }
.market-bullets small { display:block; margin-top:7px; color:var(--market-muted); font-size:10px; line-height:1.8; }
.market-bullets .market-external { margin-top:7px; font-size:10px; }
.market-footnote { margin-top:13px!important; color:var(--market-muted); font-size:10px; line-height:1.8; overflow-wrap:anywhere; }
.market-markdown { color:var(--market-secondary); font-size:12px; line-height:1.85; overflow-wrap:anywhere; }
.market-markdown p { margin:0 0 12px; }
.market-markdown p:last-child { margin-bottom:0; }
.market-markdown strong { color:var(--market-text); font-weight:500; }
.market-markdown ul,.market-markdown ol { padding-left:21px; margin:10px 0; }
.market-markdown h1,.market-markdown h2,.market-markdown h3 { margin:16px 0 9px; font-size:15px; font-weight:500; }
.market-markdown code { padding:2px 4px; border-radius:4px; background:var(--market-raised); font-size:10px; }
.market-markdown pre { overflow:auto; padding:12px; border:1px solid var(--market-line); border-radius:9px; background:var(--market-bg); }
.market-markdown .chatbot-table-scroll { overflow-x:auto; }
.market-markdown table { border-collapse:collapse; }
.market-markdown th,.market-markdown td { padding:8px; border:1px solid var(--market-line); text-align:left; }
.market-external { display:inline-flex; gap:5px; align-items:center; min-width:0; overflow-wrap:anywhere; }
.market-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:165px; gap:11px; padding:18px; text-align:center; color:var(--market-muted); }
.market-empty strong { color:var(--market-secondary); font-size:13px; font-weight:400; }
.market-empty p { max-width:520px; color:var(--market-muted); font-size:11px; line-height:1.85; }
.market-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:24px 0; border:1px solid var(--market-line); border-radius:16px; background:var(--market-surface); }
.market-flow>div { position:relative; min-width:0; padding:23px 13px; text-align:center; }
.market-flow-icon { display:grid; place-items:center; width:37px; height:37px; margin:0 auto 12px; border:1px solid var(--market-line); border-radius:12px; background:var(--market-soft); color:var(--market-secondary); }
.market-flow strong { display:flex; gap:6px; justify-content:center; align-items:center; font-size:11px; font-weight:500; }
.market-flow small { display:block; margin-top:8px; font-size:10px; color:var(--market-secondary); }
.market-flow-state { display:block; margin-top:6px; color:var(--market-muted); font-size:9px; }
.market-flow-arrow { position:absolute; top:36px; right:-6px; z-index:1; font-size:14px; color:var(--market-muted); }
.market-tip { position:relative; display:inline-flex; align-items:center; margin-left:1px; }
.market-tip>button { display:grid; place-items:center; width:18px; height:18px; padding:0; border:0; border-radius:50%; color:var(--market-muted); background:transparent; }
.market-tip-content { position:absolute; z-index:30; left:50%; bottom:calc(100% + 9px); transform:translateX(-50%); display:block; width:240px; max-width:calc(100vw - 38px); padding:12px 14px; border:1px solid var(--market-line-strong); border-radius:11px; background:var(--market-soft); color:var(--market-secondary); box-shadow:0 10px 35px var(--market-shadow); font:400 10px/1.85 Inter,Arial,sans-serif; text-align:left; text-transform:none; letter-spacing:normal; white-space:normal; }
.market-tip-content>strong { display:block; margin:0 0 5px; color:var(--market-text); font-size:11px; font-weight:500; }
.market-economics-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.market-economics-facts .market-fact { padding:14px; background:var(--market-soft); }
.market-economics-facts .market-fact>strong { font-size:25px; }
.market-detail { margin-top:20px; padding-top:16px; border-top:1px solid var(--market-line); font-size:11px; color:var(--market-secondary); }
.market-detail>summary,.market-journal>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:3px 0; list-style:none; }
.market-detail>summary::-webkit-details-marker,.market-journal>summary::-webkit-details-marker { display:none; }
.market-detail[open]>summary>svg,.market-journal[open]>summary>svg { transform:rotate(90deg); }
.market-detail[open]>summary { margin-bottom:14px; }
.market-cost-list>div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--market-line); font-size:11px; line-height:1.6; }
.market-cost-list dt small { display:block; color:var(--market-muted); font-size:10px; margin-top:4px; }
.market-cost-list dd { flex-shrink:0; color:var(--market-text); font-variant-numeric:tabular-nums; }
.market-scenarios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:21px; }
.market-scenarios>div { padding:17px; border:1px solid var(--market-line); border-radius:12px; background:var(--market-soft); }
.market-scenarios span { color:var(--market-secondary); font-size:10px; }
.market-scenarios strong { display:block; margin:12px 0; font-size:24px; font-weight:400; overflow-wrap:anywhere; }
.market-scenarios small { display:block; font-size:10px; color:var(--market-muted); line-height:1.8; }
.market-missing { margin-top:20px; padding:16px; border:1px solid var(--market-line); border-radius:12px; background:var(--market-soft); }
.market-missing>strong { font-size:11px; font-weight:500; }
.market-missing .market-bullets strong { color:var(--market-secondary); font-size:11px; font-weight:400; }
.market-inline-meta { display:flex; flex-wrap:wrap; gap:9px 19px; color:var(--market-muted); font-size:10px; margin-bottom:18px; }
.market-inline-meta>span { display:inline-flex; align-items:center; gap:7px; }
.market-table-scroll { width:100%; margin-top:20px; overflow-x:auto; border:1px solid var(--market-line); border-radius:11px; scrollbar-color:var(--market-line-strong) transparent; }
.market-table-scroll table { width:100%; border-collapse:collapse; text-align:left; font-size:11px; line-height:1.7; }
.market-table-scroll th { padding:12px 14px; color:var(--market-secondary); font-size:10px; font-weight:400; background:var(--market-soft); white-space:nowrap; }
.market-table-scroll td { padding:13px 14px; color:var(--market-text); font-variant-numeric:tabular-nums; white-space:nowrap; }
.market-table-scroll tr+tr td,.market-table-scroll tr+tr th { border-top:1px solid var(--market-line); }
.market-table-scroll tbody th { color:var(--market-text); font-size:11px; white-space:normal; min-width:145px; background:transparent; }
.market-table-scroll th .market-tip { vertical-align:middle; margin-left:4px; }
.market-trend { display:flex; align-items:stretch; gap:8px; margin-top:30px; padding:0 2px; overflow-x:auto; }
.market-trend>div { display:flex; flex:1; min-width:45px; flex-direction:column; align-items:center; min-height:165px; font-variant-numeric:tabular-nums; }
.market-trend>div>div { position:relative; display:flex; align-items:flex-end; justify-content:center; width:100%; height:115px; border-bottom:1px solid var(--market-line); }
.market-trend>div>div>span { display:block; width:min(100%,28px); border-radius:4px 4px 0 0; background:var(--market-secondary); }
.market-trend strong { margin-top:9px; font-size:9px; font-weight:400; color:var(--market-secondary); }
.market-trend small { margin-top:6px; color:var(--market-muted); font-size:8px; white-space:nowrap; }
.market-tags { display:flex; flex-wrap:wrap; gap:8px; }
.market-tags>span { display:inline-block; padding:7px 10px; background:var(--market-soft); border:1px solid var(--market-line); border-radius:99px; font-size:11px; color:var(--market-secondary); }
.market-competitors>article { padding:22px 0; border-top:1px solid var(--market-line); }
.market-competitors>article:first-child { padding-top:0; border-top:0; }
.market-competitors>article:last-child { padding-bottom:0; }
.market-competitor-head { display:flex; align-items:flex-start; gap:12px; }
.market-number { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; border:1px solid var(--market-line); border-radius:10px; color:var(--market-muted); font-size:10px; font-variant-numeric:tabular-nums; background:var(--market-soft); }
.market-competitor-head>div { min-width:0; flex:1; }
.market-competitor-head h3 { font-size:15px; line-height:1.6; font-weight:500; }
.market-competitor-head p { margin-top:4px; color:var(--market-muted); font-size:10px; line-height:1.75; }
.market-competitor-facts { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin:20px 0; }
.market-competitor-facts span { font-size:9px; color:var(--market-muted); }
.market-competitor-facts strong { display:block; margin-top:8px; font-size:13px; font-weight:400; line-height:1.7; overflow-wrap:anywhere; }
.market-competitor-facts small { display:block; font-size:9px; color:var(--market-muted); margin-top:4px; }
.market-product-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:20px; }
.market-mini-product { display:flex; align-items:center; gap:10px; min-width:0; padding:10px; border:1px solid var(--market-line); border-radius:11px; background:var(--market-soft); font-size:10px; line-height:1.6; }
.market-mini-product img { width:45px; height:49px; object-fit:contain; border-radius:5px; }
.market-mini-product span { min-width:0; }
.market-mini-product small { display:block; margin-top:5px; color:var(--market-muted); font-size:9px; }
.market-mini-product>svg { display:none; }
.market-suppliers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.market-suppliers>article { min-width:0; padding:14px; border:1px solid var(--market-line); border-radius:14px; background:var(--market-soft); }
.market-supplier-photo { display:grid; place-items:center; height:160px; width:100%; border:1px solid var(--market-line); border-radius:10px; overflow:hidden; background:var(--market-bg); color:var(--market-muted); }
.market-supplier-photo img { width:100%; height:100%; object-fit:contain; }
.market-supplier-copy { padding:17px 3px 2px; }
.market-supplier-copy h3 { margin:7px 0 11px; font-size:13px; font-weight:500; line-height:1.7; }
.market-match { display:flex; align-items:center; gap:5px; font-size:9px; color:var(--market-muted); }
.market-supplier-copy dl { margin-top:14px; }
.market-supplier-copy dl>div { display:flex; gap:12px; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--market-line); font-size:10px; line-height:1.6; }
.market-supplier-copy dt { color:var(--market-muted); }
.market-supplier-copy dd { max-width:60%; text-align:right; overflow-wrap:anywhere; color:var(--market-secondary); }
.market-passages { display:grid; gap:20px; }
.market-passages>article { padding-bottom:20px; border-bottom:1px solid var(--market-line); }
.market-passages>article:last-child { padding:0; border:0; }
.market-passages article>span { display:flex; align-items:center; gap:7px; color:var(--market-muted); font-size:10px; line-height:1.7; }
.market-passages h3 { margin:8px 0 12px; font-size:13px; font-weight:500; }
.market-passages blockquote { padding:1px 0 1px 15px; margin:0; border-left:2px solid var(--market-line-strong); color:var(--market-secondary); font-size:11px; line-height:1.9; white-space:pre-line; }
.market-passages p { margin-top:12px; font-size:11px; line-height:1.9; color:var(--market-muted); }
.market-source-list>div { display:flex; align-items:flex-start; gap:12px; border-bottom:1px solid var(--market-line); padding:14px 0; }
.market-source-list>div:last-child { border:0; }
.market-source-list>div>div { min-width:0; }
.market-source-number { display:grid; place-items:center; width:23px; height:23px; flex-shrink:0; border:1px solid var(--market-line); border-radius:7px; font-size:9px; color:var(--market-muted); }
.market-source-list strong { font-size:11px; font-weight:500; line-height:1.8; overflow-wrap:anywhere; }
.market-source-list p { margin-top:5px; color:var(--market-secondary); font-size:11px; line-height:1.8; }
.market-source-list small { display:block; margin-top:6px; font-size:9px; line-height:1.8; color:var(--market-muted); }
.market-journal { padding:18px 20px; border:1px solid var(--market-line); border-radius:13px; background:var(--market-surface); color:var(--market-secondary); font-size:11px; }
.market-journal>div { margin-top:15px; max-height:320px; overflow-y:auto; }
.market-journal>div>div { display:flex; align-items:baseline; gap:18px; padding:6px 0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; line-height:1.8; }
.market-journal time { flex:0 0 54px; color:var(--market-muted); }
.market-journal span { min-width:0; overflow-wrap:anywhere; }
.market-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:1020px) { .market-metrics,.market-economics-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .market-verdict { flex-direction:column; gap:18px; } }
@media(max-width:700px) { .market-stage { width:calc(100% - 36px); padding-top:24px; } .market-top { gap:12px; } .market-top>span { font-size:11px; } .market-top>div { gap:6px; } .market-top .market-button { font-size:10px!important; padding:7px 10px; min-height:32px; } .market-hero { margin-top:48px; } .market-hero h1 { font-size:34px; letter-spacing:-1.3px; } .market-pill-row { gap:7px; margin:23px 0 29px; } .market-pill-row>span { font-size:10px; padding-right:10px; gap:6px; } .market-pill-row i { width:24px; height:24px; } .market-form-inner { padding:18px; } .market-product-name input { font-size:16px; } .market-product-name { gap:9px; } .market-form-grid { gap:15px; grid-template-columns:110px minmax(0,1fr); } .market-photo-picker { height:151px; } .market-photo-picker small { font-size:7px; } .market-concurrent-fields legend { display:block; font-size:10px; } .market-concurrent-fields legend>span { display:block; margin-top:4px; font-size:8px; } .market-concurrent-fields input { font-size:16px; } .market-concurrent-fields label { margin-bottom:5px; padding:0 7px; gap:7px; height:33px; } .market-concurrent-fields input { height:31px; font-size:12px; } .market-advanced input,.market-advanced select { font-size:16px; } .market-two-columns { grid-template-columns:1fr; gap:0; } .market-card { padding:20px; } .market-section-head h2 { font-size:16px; } .market-competitor-facts { grid-template-columns:1fr 1fr; } .market-competitor-facts>div:first-child { grid-column:1/-1; } .market-product-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } .market-suppliers { grid-template-columns:1fr; } .market-flow { grid-template-columns:repeat(5,minmax(0,1fr)); } .market-flow>div { padding:17px 5px; } .market-flow strong { font-size:8px; gap:1px; } .market-flow strong .market-tip { display:none; } .market-flow small { font-size:8px; } .market-flow-state { font-size:7px; } .market-flow-arrow { top:29px; font-size:11px; right:-4px; } .market-flow-icon { width:31px; height:31px; border-radius:10px; } .market-scenarios { grid-template-columns:1fr; } .market-progress { padding:22px; } .market-progress-head h2 { font-size:23px; } .market-report-heading h1 { font-size:29px; } .market-verdict { padding:23px; } .market-verdict h2 { font-size:22px; } .market-fact { padding:16px; } .market-fact>strong { font-size:26px; } }
@media(max-width:420px) { .market-stage { width:calc(100% - 28px); } .market-top { align-items:flex-start; flex-wrap:wrap; } .market-top>div { margin-left:auto; } .market-top .competitor-history-trigger { font-size:10px; max-width:200px; } .market-hero { margin-top:36px; } .market-hero h1 { font-size:30px; } .market-form { padding:5px; border-radius:21px; } .market-form-inner { padding:15px; border-radius:16px; } .market-form-grid { grid-template-columns:1fr; gap:18px; } .market-photo-picker { height:96px; flex-direction:row; flex-wrap:wrap; gap:8px; } .market-photo-picker small { flex-basis:100%; font-size:8px; text-align:center; margin-top:-12px; } .market-photo-picker.has-photo { height:135px; } .market-concurrent-fields legend { display:flex; align-items:center; font-size:11px; margin-bottom:9px; } .market-concurrent-fields legend>span { margin-top:0; font-size:9px; } .market-concurrent-fields label { height:37px; margin-bottom:7px; padding:0 10px; } .market-concurrent-fields input { height:35px; font-size:16px; } .market-form-footer { gap:10px; margin-top:16px; } .market-primary { padding:10px 13px; font-size:11px!important; } .market-form-footer .market-text-button { font-size:9px!important; gap:5px; } .market-advanced { grid-template-columns:1fr; } .market-fact { padding:13px; } .market-fact>span { font-size:9px; gap:5px; } .market-fact>span>svg { display:none; } .market-fact>strong { font-size:24px; } .market-fact>small { font-size:8px; } .market-metrics,.market-economics-facts { gap:9px; } .market-economics-facts .market-fact { padding:12px; } .market-economics-facts .market-fact>strong { font-size:23px; } .market-card { padding:18px; } .market-section-head { gap:10px; flex-wrap:wrap; } .market-flow { grid-template-columns:1fr; padding:5px 15px; } .market-flow>div { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:8px 12px; text-align:left; padding:13px 0; border-bottom:1px solid var(--market-line); } .market-flow>div:last-child { border-bottom:0; } .market-flow-icon { grid-row:1/3; width:31px; height:31px; margin:0; } .market-flow strong { justify-content:flex-start; font-size:11px; } .market-flow strong .market-tip { display:inline-flex; } .market-flow small { margin:0; font-size:9px; grid-column:2; } .market-flow-state { margin:0; font-size:9px; grid-column:3; grid-row:1/3; } .market-flow-arrow { display:none; } .market-product-strip { grid-template-columns:1fr; } .market-progress-footer { align-items:flex-start; flex-direction:column; gap:15px; } .market-verdict { padding:20px; } .market-verdict-badge { font-size:9px; } .market-top .market-button { min-height:32px; } }
@media(prefers-reduced-motion:reduce) { .market-spinner,.market-progress-track.is-indeterminate>span { animation:none; } .market-progress-track>span { transition:none; } }
@media print { .market-page { --market-bg:#fff; --market-surface:#fff; --market-soft:#f5f5f5; --market-line:#ddd; --market-line-strong:#aaa; --market-text:#222; --market-secondary:#444; --market-muted:#666; } .market-stage { width:100%; } .market-top,.market-hero,.market-tabs,.market-report-heading>.market-button,.market-tip { display:none; } .market-card,.market-fact,.market-verdict { break-inside:avoid; box-shadow:none; } }
.market-economics-intro { display:grid; grid-template-columns:minmax(200px,1fr) minmax(0,2fr); gap:25px; align-items:center; margin-bottom:20px; }
.market-economics-intro>.market-fact { background:var(--market-soft); }
.market-economics-intro>div>strong { font-size:13px; font-weight:500; color:var(--market-text); }
.market-economics-intro>div>p { margin-top:9px; color:var(--market-secondary); font-size:11px; line-height:1.9; }
.market-table-note { display:block; margin-top:5px; font-size:9px; line-height:1.7; color:var(--market-muted); font-weight:400; }
.market-visual-match { display:flex; gap:8px; margin-top:14px!important; padding:12px; border:1px solid var(--market-line); border-radius:10px; font-size:10px; color:var(--market-secondary); line-height:1.8; }
.market-visual-match>svg { margin-top:3px; }
.market-visual-match strong { display:block; font-weight:500; color:var(--market-text); margin-bottom:5px; }
.market-visual-match small { display:block; margin-top:7px; color:var(--market-muted); font-size:9px; }
.market-market-preset { display:flex; flex-direction:column; gap:11px; font-size:10px; color:var(--market-muted); }
.market-market-preset strong { font-size:11px; font-weight:400; color:var(--market-secondary); }
@media(max-width:700px) { .market-economics-intro { grid-template-columns:1fr; gap:18px; } }
.market-tip-layer { position:fixed; inset:auto; z-index:2147483601; box-sizing:border-box; width:265px; max-width:calc(100vw - 28px); max-height:calc(100svh - 28px); overflow:auto; margin:0; padding:13px 15px; border:1px solid #454545; border-radius:11px; background:#242424; color:#aaa; box-shadow:0 12px 35px #0006; font:400 10px/1.85 Inter,Arial,sans-serif; text-align:left; color-scheme:dark; }
.market-tip-layer::backdrop { background:transparent; pointer-events:none; }
.market-tip-layer>strong { display:block; color:#ededed; font-size:11px; font-weight:500; margin:0 0 5px; }
.market-tip-layer>p { margin:0; }
html[data-theme="light"] .market-tip-layer { border-color:#bdbdbd; background:#f5f5f5; color:#555; box-shadow:0 12px 35px #0000000f; color-scheme:light; }
html[data-theme="light"] .market-tip-layer>strong { color:#242424; }
@media print { .market-tip-layer { display:none!important; } }
.market-basis { display:table; margin-top:8px; padding:3px 7px; border:1px solid var(--market-line); border-radius:5px; background:var(--market-soft); color:var(--market-muted); font-size:9px; line-height:1.7; }
.market-page .market-action-source { display:flex; width:fit-content; font-size:10px; color:var(--market-muted); margin-top:8px; }
.market-keyword-button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:0; border:0; background:transparent; color:var(--market-secondary); font-size:11px!important; line-height:1.7; text-align:left; }
.market-keyword-button[aria-pressed="true"] { color:var(--market-text); }
.market-keyword-button>svg { opacity:.4; }
.market-keyword-button[aria-pressed="true"]>svg { opacity:1; }
.market-keyword-history>h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-top:25px; font-size:12px; line-height:1.7; font-weight:500; }
.market-keyword-history>h3>span { font-size:9px; color:var(--market-muted); font-weight:400; }
.market-plan-notice { display:flex; align-items:flex-start; gap:9px; margin:0 0 17px!important; padding:12px 14px; border:1px solid var(--market-line); border-radius:10px; background:var(--market-soft); color:var(--market-secondary); font-size:11px; line-height:1.85; }
.market-plan-notice>svg { margin-top:3px; }
.market-supplier-details>.market-supplier-detail-body { max-height:520px; overflow:auto; padding-right:7px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--market-line-strong) transparent; }
.market-supplier-detail-body h4 { margin:21px 0 12px; color:var(--market-text); font-size:11px; font-weight:500; line-height:1.7; }
.market-supplier-detail-body h4:first-child { margin-top:0; }
.market-supplier-detail-body .market-supplier-facts { margin:0; }
.market-supplier-detail-body .market-supplier-facts>div { align-items:flex-start; }
.market-supplier-detail-body .market-supplier-facts dt { flex:1; min-width:0; }
.market-supplier-detail-body .market-supplier-facts dd { min-width:0; max-width:62%; overflow-wrap:anywhere; }
.market-supplier-detail-body .market-table-scroll { margin-top:12px; }
.market-supplier-detail-body .market-table-scroll td,.market-supplier-detail-body .market-table-scroll th { padding:9px 11px; font-size:9px; }
.market-supplier-detail-body .market-table-scroll th:first-child { min-width:100px; }
.market-supplier-detail-body .market-bullets strong { font-size:10px; font-weight:400; color:var(--market-muted); }
.market-supplier-detail-body .market-tags { gap:6px; }
.market-supplier-detail-body .market-tags>span { font-size:9px; }
@media(max-width:420px) { .market-supplier-detail-body .market-supplier-facts>div { flex-direction:column; gap:5px; } .market-supplier-detail-body .market-supplier-facts dd { max-width:100%; text-align:left; } }
.market-complete-report { margin-top:18px; }
