/* K150 — warm drafting paper. Shared portal theme; original product media intact. */
:root {
  color-scheme: light;
  --ground:#f5efdf; --surface:#fffdf6; --ink:#303b43; --muted:#62645f;
  --line:#d3c9b3; --border:#d3c9b3; --navy:#25394d; --navy-soft:#eee7d6;
  --cobalt:#345775; --cobalt-hover:#1e3e58; --cobalt-pale:#e6e9e6;
  --pale:#f0e8d4; --accent:#345775; --purple:#345775; --purple-dark:#25394d;
  --danger:#a8343b; --success:#326644; --warning:#805717;
  --paper-font:"IBM Plex Mono",Consolas,monospace;
}
body { background-color:var(--ground); background-image:radial-gradient(#907a4812 .6px,transparent .7px); background-size:5px 5px; color:var(--ink); font:400 14px/1.65 var(--paper-font); }
body :is(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,label,input,select,textarea,button,summary,td,th,dt,dd,code,output,figcaption) { font-family:var(--paper-font) !important; }
h1,h2,h3,.hero h1,.page-heading h1 { color:var(--navy); letter-spacing:-.04em; }
h1 { font-size:clamp(1.65rem,2.6vw,2.3rem); } h2 { font-size:clamp(1.13rem,1.6vw,1.4rem); } h3 { font-size:1rem; }
a { color:var(--cobalt); } a:hover { color:var(--cobalt-hover); }
.site-header { background:#f7f1e2f5; color:var(--ink); border-bottom-color:var(--line); box-shadow:0 3px 12px #6256320b; }
.wordmark,.wordmark:hover,.wordmark .wordmark-copy,.wordmark-copy strong,.identity,.identity-login { color:var(--navy); }
.wordmark-copy small,.nav-section-label { color:var(--muted); }
.wordmark .wordmark-mark { background:#eadbb5; color:var(--navy); border-color:#c3ae7c; box-shadow:0 2px 4px #8877491a; }
.site-nav { background:linear-gradient(115deg,#eee6d2f5,#f5efdf); border-color:var(--line); box-shadow:7px 0 20px #71613c08; }
.site-nav > a { color:#515a5c; font-size:.79rem; }
.site-nav > a:hover { background:#e9dfc9; color:var(--navy); border-color:#d0c2a6; }
.site-nav > a[aria-current="page"] { background:#e8dfcb; color:var(--navy); border-color:#c7b994; box-shadow:inset 3px 0 #977e41; }
.site-nav > a[aria-current="page"] .ui-icon { color:#735b2c; filter:none; }
.site-nav-support,.site-footer { color:var(--muted); border-color:var(--line); background:transparent; }
.site-nav-support a { color:var(--cobalt); }
.text-action,.menu-toggle { color:var(--navy); background:transparent; border-color:var(--line); box-shadow:none; }
.text-action:hover,.text-action:focus-visible,.menu-toggle:hover { color:var(--navy); background:#e9dfc9; box-shadow:none; }
.skip-link { background:var(--surface); color:var(--navy); }
:focus-visible { outline:2px solid #9a671b; outline-offset:3px; }
.panel,.catalog-head,.hero,.page-heading,.product-detail,.content-page,.message-page,.auth-page,.auth-card,.directory > div,.metric,.hero-panel,.stats article,.category-card,.account-card,.redeem-banner,.product-evidence,.product-facts > section,.catalog-result-pane,.catalog-detail-pane,
.path-card,.system-card,.tree-group,.resource-card,.vehicle-record,.brand-gallery a,.component-card,.component-section,.planned-category-tree > details {
  background:linear-gradient(125deg,#fffdf7dc,#f8f2e4ce); border-color:var(--line); color:var(--ink); box-shadow:0 6px 18px #7563390a,inset 0 1px #fff8;
}
.eyebrow,.kicker,.home-search .eyebrow { color:#755f30; }
input,select,textarea,.filter-form input,.filter-form select,.panel input,.panel select,.panel textarea { color-scheme:light; color:var(--ink); background:#fffdf6; border-color:#bdb39d; box-shadow:inset 0 1px 3px #76644209; }
input::placeholder,textarea::placeholder { color:#75766d; }
input:focus,select:focus,textarea:focus { border-color:#927641; }
button,.button,.filter-form button,.load-more a,.catalog-workbench-search .sticky-catalog-search button,.catalog-compact-filters button { background:#34516a; border-color:#29435a; color:#fffdf5; box-shadow:0 3px 7px #394a581a; }
button:hover,.button:hover,.filter-form button:hover,.load-more a:hover { background:#253d53; color:#fffdf5; border-color:#253d53; box-shadow:0 4px 10px #394a5824; }
.button.secondary { background:#f5edda; color:#334b60; border-color:#bbae8f; box-shadow:0 2px 5px #7563390c; }
.button.secondary:hover { background:#e9ddc1; color:#253d53; border-color:#9e8b61; }
button:disabled,.button:disabled,.vehicle-selector select:disabled { background:#e6dfcf; color:#6d6d64; border-color:#c6bdab; box-shadow:none; }
.message,.notice,.refine,.empty-state { background:#eaf0eb; color:#354c48; border-color:#b8c5b8; }
.caution,.workbench-caution { background:#f4e7c6; color:#6a501d; border-left-color:#ad843a; }
.error-summary { background:#fae8e5; color:#8b2936; } .errorlist,.auth-card .errorlist { color:#9a2e37; }
.filter-form,.admin-main .filter-form { background:#f5eddd; border-color:var(--line); }
.table-wrap,.data-table-wrap,.catalog-table-wrap { background:#fffdf5; border-color:var(--line); }
th,.catalog-result-table th { background:#eae2ce; color:#4c514b; border-bottom-color:#c7bba0; }
td { border-bottom-color:#dfd6c1; } .catalog-result-link { color:var(--navy); }
tbody tr:hover,.catalog-result-row:hover,.catalog-result-row:focus-within { background:#f1ead8; }
.catalog-result-row.is-selected { background:#e5e9df; box-shadow:inset 3px 0 #67817a; }
.match-label { background:#e5ede5; color:#36554e; border-color:#a5b5a4; }
.table-wrap td:last-child:has(.action-link) { background:#f8f1e1; }
.admin-nav { background:#eee5d1; border-color:var(--line); box-shadow:none; }
.admin-nav a { color:#58615e; }.admin-nav a:hover { color:var(--navy); background:#e2d6ba; }
.admin-nav a[aria-current="page"] { background:#e0d3b5; color:var(--navy); box-shadow:inset 0 0 0 1px #baa980; }
.metric strong { color:#365b63; }.audit-row,.directory li,.account-list > div { border-color:var(--line); }
.badge { border-color:#c8bea9; background:#eee7d6; color:#505951; }
.status-active,.status-usable,.status-available { color:#2e6344; background:#e1eddc; }
.status-ending,.status-planned { background:#f3e6c3; color:#795919; }
.status-expired,.status-closed,.status-suspended,.status-revoked { background:#f2dedb; color:#933846; }
/* Quiet paper hero; only the raster image is masked, never its controls. */
.home-search.home-harvest { overflow:visible; background:transparent; border-color:transparent; border-radius:0; box-shadow:none; padding:22px 18px 38px; gap:12px; grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr); }
.home-search::before,.home-search::after { display:none; }
.home-search h1 { color:var(--navy); font-size:clamp(1.7rem,2.85vw,2.7rem); line-height:1.2; letter-spacing:-.055em; }
.home-search h1 span { color:#83692f; }
.home-search-copy > p:not(.eyebrow) { color:#666658; font-size:.81rem; max-width:430px; }
.signal-dot { background:#a18644; box-shadow:0 0 0 3px #a1864417; }
.home-search-form label { color:#424d4e; }
.home-search-form > div { background:#fffcf2d9; border-color:#b9aa85; box-shadow:0 3px 9px #7762380b; }
.home-search-form input { font-size:.73rem; background:transparent; box-shadow:none; }
.home-search-symbol { color:#7b755f; }.home-route,.home-route i { color:#666452; }
.harvest-art { overflow:visible; background:transparent; border-radius:0; box-shadow:none; }
.harvest-art > img { mix-blend-mode:multiply; mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 90%,transparent); mask-composite:intersect; }
.catalog-harvest-scene { position:relative; }
.catalog-harvest-scene figcaption { position:relative; z-index:2; color:#5b5f50; padding-top:20px; }
.catalog-harvest-scene figcaption small { color:#727262; }
.harvest-motion { color:#455046; background:#f7efdb; border-color:#c5b791; box-shadow:none; font-size:.64rem; }
.harvest-motion:hover { background:#e7dcc0; color:#354438; border-color:#aa996e; }
.harvest-motion:focus-visible { outline-color:#9a671b; }
.home-stats { position:relative; margin-top:20px; }
.home-stats > div { background:#fffaf0aa; border-color:#d2c6aa; box-shadow:0 4px 14px #75633908; }
.home-stats strong { color:#465e64; }.home-stats span { color:#696958; }
.section-heading p,.section-heading > a { color:#666857; }
.path-card h2,.system-card h3,.resource-card h3,.vehicle-record-heading h3,.tree-group summary strong,.tree-group li a span { color:var(--navy); }
.path-card p,.system-card p,.resource-card p,.tree-group summary small,.tree-group li a small,.source-note,.reference-facts dt,.vehicle-record dt,.vehicle-context small,.planned-category-tree ul { color:#666a60; }
.system-card small,.system-number,.resource-card > span,.resource-card small,.tree-group summary b,.tree-group summary::after,.vehicle-record-heading span,.coverage-note summary { color:#5e6a59; }
.path-card:hover,.system-card:hover,.resource-card:hover,.brand-gallery a:hover { background:#f4ead5; border-color:#b6a478; }
.system-card::after { border-color:#a186440b; }
.category-icon { background:#ede2c9; color:#6c684d; border-color:#c7b994; box-shadow:none; }
.brand-gallery small { color:#555e57; }.brand-logo { background:#fffefb; border-color:#d4cbb6; box-shadow:0 2px 5px #7563390a; }
.brand-logo-dark { background:#2b3a47; }
.tree-group summary,.tree-group li a,.reference-facts > div,.vehicle-record dl > div { border-color:#d7cdb6; }
.tree-group li a:hover { background:#e9dfc933; }.reference-facts dd { color:var(--ink); }
.rate-pair > div { background:#ede5d3; border-color:#c9bd9e; box-shadow:none; }.rate-pair small { color:#69715e; }.rate-pair strong { color:#36565e; }
.conversion-result { background:#e1eadb; border-color:#a6b59c; color:#315c48; }
.vehicle-context { background:#e8eddf; border-color:#b3c0a5; }.vehicle-context > span { color:#3e5951; }.explorer-empty > .ui-icon { color:#7c8d6a; }
.catalog-workbench-search,.catalog-workbench-head,.workbench-detail-head,.workbench-tabs { background:#f6efdf; border-color:var(--line); box-shadow:none; }
.workbench-tabs button { background:#eee6d2; color:#545d52; border-color:#c4b799; box-shadow:0 2px 4px #7762380c; }
.workbench-tabs button:hover { background:#e6d9bc; color:var(--navy); }
.workbench-tabs button[aria-selected="true"] { background:#e0d4b6; color:#3d4b48; border-color:#a69260; box-shadow:inset 0 -3px #9b8249; }
.workbench-summary > div,.workbench-properties > div,.workbench-list li { border-color:var(--line); }
.workbench-summary dd,.workbench-properties dd,.component-info strong,.component-unavailable strong { color:var(--ink); }
.workbench-summary dt,.workbench-properties dt,.workbench-list small,.product-title p,.component-info .component-brand,.component-action { color:#5d7169; }
.oem-search-link,.vehicle-summary-link,.vehicle-count-link,.catalog-return-link { color:#355a65; background:#e6eadd; border-color:#abb9a7; }
.oem-search-link:hover,.vehicle-summary-link:hover,.vehicle-count-link:hover { color:#24434d; background:#d7e0cd; }
.component-image,.component-image-placeholder { background:#fffefa; color:#506357; border-color:#c9c3b0; }
.product-title em,.tag { background:#e8dfc8; color:#5b624f; }
.catalog-searchbar,.catalog-workbench-search { background:#f6efdfed !important; border-color:#b9aa85 !important; box-shadow:0 5px 15px #75633914; }
.catalog-workbench-search .sticky-catalog-search input,.sticky-catalog-search input,.search-icon { background:#fffdf5; color:var(--ink); border-color:#c7b99d; }
.workspace-label { background:#ede4ce; color:#5e654f; border-color:#c5b793; box-shadow:none; }
.filter-heading,.workbench-detail-head p { color:#5e7267; }.workbench-detail-head h2 { color:var(--navy); }
.product-card { background:#fffcf2; border-color:var(--line); box-shadow:0 5px 12px #7563390c; }.product-card a,.category-label { color:var(--navy); }.category-card small { color:var(--muted); }
.category-card:hover { background:#f1e6cf; border-color:#b4a17b; box-shadow:0 5px 12px #7563390c; }
.workbench-image .source-image-wrap { background:#fffefa; border-color:var(--line); box-shadow:0 5px 12px #75633910; }
/* Paper fragments and their defocused reflections extend beyond the illustration. */
.harvest-papers { z-index:1; }
.harvest-papers i { display:block; left:4%; top:22%; width:clamp(22px,3.5vw,44px); height:clamp(29px,4.5vw,58px); opacity:.72; border:1px solid #c8bfa9; border-radius:1px 9px 1px 1px; background:linear-gradient(160deg,#fffdf6,#ede5d1); box-shadow:1px 2px 0 #fff8; --dx:-22px; --dy:-14px; --turn:-13deg; animation:sketch-paper-drift 9s ease-in-out infinite alternate; animation-play-state:paused; transform:rotate(-18deg); }
.harvest-papers i::before { content:''; position:absolute; inset:5px 7px; background:linear-gradient(#aa3d40 0 4px,transparent 4px 10px,#344d66 10px 12px,transparent 12px 17px,#7c8585 17px 18px,transparent 18px); opacity:.75; }
.harvest-papers i::after { content:''; position:absolute; width:110%; height:100%; left:8px; top:31px; border-radius:15%; background:linear-gradient(135deg,#6e768948,#bb72622e); filter:blur(9px); transform:skewX(-18deg) scaleY(.55); z-index:-1; }
.harvest-papers i:nth-child(2) { left:auto; right:2%; top:9%; width:30px; height:40px; --dx:12px; --dy:-25px; --turn:21deg; animation-delay:-3s; transform:rotate(16deg); }
.harvest-papers i:nth-child(3) { left:73%; top:96%; width:37px; height:48px; --dx:8px; --dy:11px; --turn:-8deg; animation-delay:-6s; transform:rotate(-9deg); }
.harvest-papers i:nth-child(n+4) { display:none; }
.is-animated .harvest-papers i { animation-play-state:running; }
@keyframes sketch-paper-drift { from { transform:translate(0,0) rotate(-12deg); } to { transform:translate(var(--dx),var(--dy)) rotate(var(--turn)); } }
@media(max-width:1050px) { .home-search.home-harvest { grid-template-columns:1fr; gap:26px; }.home-search h1 { font-size:clamp(1.85rem,4.5vw,2.7rem); }.home-search-copy > p:not(.eyebrow) { max-width:620px; }.catalog-harvest-scene { max-width:760px; } }
@media(max-width:700px) { .home-search.home-harvest { padding:20px 8px 30px; }.home-search h1 { font-size:1.8rem; }.home-search-form input { font-size:.68rem; }.harvest-papers i { --dx:-7px; --dy:-10px; left:5%; }.harvest-papers i:nth-child(2) { right:4%; --dx:4px; width:22px; height:29px; }.harvest-papers i:nth-child(3) { width:25px; height:34px; top:91%; }.home-stats { margin-top:16px; }.catalog-harvest-scene figcaption { font-size:.55rem; }.catalog-harvest-scene figcaption small { font-size:.48rem; }.harvest-motion { font-size:.58rem; }.workbench-tabs button { font-size:.7rem; overflow-wrap:anywhere; }.path-card h2 { font-size:1rem; }.site-nav > a { font-size:.85rem; } }
@media(prefers-reduced-motion:reduce) { .harvest-papers i { animation:none; opacity:.55; } }

/* K151: independent paper panels and a compact provider-backed market strip. */
:root { --shell-header:124px; }
.site-header {
  top:8px; left:10px; right:10px; height:auto; min-height:106px;
  padding:8px 16px; gap:18px; border:1px solid #cfc2a47d; border-radius:16px;
  background:linear-gradient(110deg,#faf5e9f7,#f4edddf5);
  box-shadow:0 5px 18px #78663f16,0 1px 3px #78663f10,inset 0 1px 0 #fff9;
}
.site-header .wordmark { min-width:170px; }
.header-market { flex:1 1 auto; min-width:0; max-width:1100px; margin:auto; }
.market-frame { display:block; width:100%; height:76px; border:0; background:transparent; }
.market-meta { display:flex; justify-content:space-between; gap:12px; padding:0 6px; color:#656354; font-size:9px; line-height:16px; }
.market-meta time { color:#354a54; font-variant-numeric:tabular-nums; }
.site-header .identity { margin-left:0; flex:0 0 auto; }
.site-nav {
  top:calc(var(--shell-header) + 12px); bottom:12px; left:10px; width:194px;
  border:1px solid #cfc2a47d; border-radius:16px; overflow-y:auto;
  background:linear-gradient(125deg,#f3ebd9f5,#f7f1e4ed);
  box-shadow:3px 6px 20px #78663f1a,inset 0 1px 0 #fff9;
}
main,body:has(.catalog-workbench) main { padding-top:calc(var(--shell-header) + 26px); }
.catalog-searchbar,.catalog-workbench-search { top:calc(var(--shell-header) + 8px); }
html { scroll-padding-top:calc(var(--shell-header) + 16px); }
@media(max-width:1000px) {
  :root { --shell-header:168px; }
  .site-header { display:grid; grid-template-columns:1fr auto auto; gap:0 10px; padding:8px 12px; min-height:0; }
  .site-header .wordmark { min-width:0; grid-column:1; grid-row:1; }
  .site-header .menu-toggle { grid-column:2; grid-row:1; margin:0; }
  .site-header .identity { grid-column:3; grid-row:1; }
  .header-market { grid-column:1 / -1; grid-row:2; width:100%; margin-top:4px; }
  .site-nav { left:10px; right:10px; width:auto; bottom:auto; max-height:calc(100dvh - var(--shell-header) - 24px); }
  html:not(.js) .site-nav { margin-top:calc(var(--shell-header) + 12px); }
  html:not(.js) main { padding-top:24px; }
}
@media(max-width:500px) {
  .site-header { left:6px; right:6px; top:6px; border-radius:13px; padding:8px; }
  .market-meta { gap:4px; font-size:8px; padding:0; }
  .site-nav { left:6px; right:6px; border-radius:13px; }
}
.market-frame { height:72px; }
.market-source { display:block; text-align:right; font-size:9px; line-height:14px; color:#62645f; padding:0 6px; }

/* K155: fine paper dots with soft depth, matching the page texture. */
.site-header { isolation:isolate; }
.site-header::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border-radius:inherit; background-image:radial-gradient(#907a4826 .6px,transparent .8px),radial-gradient(#7563390c .7px,transparent 1.6px);
  background-size:5px 5px; background-position:0 0,.5px .7px;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 87%,transparent);
}
@media(forced-colors:active) { .site-header::before { display:none; } }
.site-nav { isolation:isolate; }
.site-nav::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border-radius:inherit; background-image:radial-gradient(#907a4826 .6px,transparent .8px),radial-gradient(#7563390c .7px,transparent 1.6px);
  background-size:5px 5px; background-position:0 0,.5px .7px;
  mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
}
.wordmark .wordmark-mark {
  position:relative; flex:0 0 48px; width:48px; height:40px;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  display:grid; place-items:center;
}
.wordmark-mark img { display:block; width:48px; max-width:100%; height:auto; }
@media(forced-colors:active) { .site-nav::before { display:none; } }

/* Fit the stationary provider row and its attribution without an inner scrollbar. */
.market-frame { height:100px; }

.market-status { display:block; padding:0 6px; font-size:9px; line-height:1.5; color:#62645f; }

/* K160: four stationary provider quotes; desktop cap reduced 24% (1100 → 836). */
.header-market { flex:0 1 836px; max-width:836px; }
.market-frame { height:78px; border-radius:8px; background:#fffdf5d9; border:1px solid #d3c9b3; }
.market-source { color:#34516a; font-size:10px; line-height:17px; }
.market-meta { color:#515345; font-size:10px; line-height:18px; }
@media(max-width:1000px) { .header-market { width:100%; max-width:none; } }
@media(max-width:600px) { .market-frame { height:150px; } .market-meta { flex-wrap:wrap; gap:0 8px; font-size:9px; } }

/* K162: no white card over the paper; quieter quote typography, no clipping. */
.market-values { height:63px; }
.market-values .market-frame {
  width:125%; max-width:none; height:78px;
  transform:scale(.8); transform-origin:top left;
  background:transparent; border:0; border-radius:0; box-shadow:none;
}
@media(max-width:600px) { .market-values { height:120px; } .market-values .market-frame { height:150px; } }

/* K351: keep an already-recorded privacy choice out of the settings grid. */
.account-heading { position:relative; padding-right:5.25rem; }
.settings-privacy-menu { position:absolute; top:1.25rem; right:1.5rem; z-index:5; }
.settings-privacy-menu > summary { display:grid; place-items:center; width:1.5rem; height:1.5rem; border:0; border-radius:4px; background:transparent; box-shadow:none; color:var(--navy); cursor:pointer; font-size:1.1rem; line-height:1; list-style:none; }
.settings-privacy-menu > summary::-webkit-details-marker { display:none; }
.settings-privacy-menu > summary:hover,.settings-privacy-menu[open] > summary { color:var(--cobalt-hover); background:transparent; }
.settings-privacy-popover { position:absolute; top:calc(100% + .5rem); right:0; width:min(26rem,calc(100vw - 3rem)); max-height:min(70vh,38rem); overflow:auto; padding:1.25rem; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 12px 30px #25394d29; }
.settings-privacy-popover h2 { margin:0 0 .5rem; }
.settings-privacy-popover p { margin:.5rem 0 1rem; }
.settings-privacy-popover .checkbox-row label { overflow-wrap:anywhere; }
@media(max-width:600px) { .account-heading { padding-right:4.25rem; } .settings-privacy-menu { top:1rem; right:1rem; } }

/* K353: compact shell after removing the declined market header widget. */
:root { --shell-header:72px; }
.site-header { min-height:56px; }
.site-header .identity { margin-left:auto; }
@media(max-width:1000px) { :root { --shell-header:70px; } }

/* K354: dock the fixed header flush with the viewport on every width. */
:root { --shell-header:64px; }
.site-header { top:0; left:0; right:0; border-radius:0; }

/* K355: explicit bounded catalog pages replace accumulating batches. */
.catalog-pages { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; margin-top:1rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.catalog-pages-status { display:flex; flex-direction:column; gap:.1rem; }
.catalog-pages-status small { color:var(--muted); font-size:.75rem; }
.catalog-page-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.catalog-page-links a { display:inline-block; padding:.45rem .7rem; border:1px solid var(--line); border-radius:6px; background:#f3ead6; color:var(--navy); font-weight:700; text-decoration:none; }
.catalog-page-links a:hover { background:#e8dfcb; }
