/* Edition 52 · a material counterpoint to the living valley.
   Paper is a reading surface; cloth frames products. Cinematic and scientific
   image fields keep their dark palette. These are generated material studies. */
:root {
  --paper-base: #f1ebdf;
  --paper-ink: #183a2e;
  --paper-muted: #4d574b;
  --paper-bronze: #604820;
  --paper-rule: #183a2e38;
  --paper-art: url('./assets/material52/hemp-paper-e52.webp');
  --cloth-art: url('./assets/material52/hemp-cloth-e52.webp');
  --paper-surface: linear-gradient(#f1ebdfad, #f1ebdfad), var(--paper-art);
}

/* Main world colours and renderer lifecycles are deliberately untouched. */
.commerce-dialog,
body:is(.history-page, .research-page, .molecular-page, .law-page) {
  background-color: var(--paper-base);
  background-image: var(--paper-surface);
  background-size: auto, 760px 760px;
  color: var(--paper-ink);
  color-scheme: light;
}
.commerce-dialog {
  border: 1px solid #bca781;
  box-shadow: -18px 10px 100px #00100866, inset 1px 0 #ffffff91;
}
.commerce-dialog::backdrop { background: #061b146b; backdrop-filter: blur(8px); }
.commerce-dialog[open] { animation: paper-room-arrive .8s cubic-bezier(.16,.74,.22,1) both; }
.commerce-dialog .panel-arrive { animation: paper-panel-arrive .6s cubic-bezier(.2,.7,.2,1) both; }
.commerce-dialog .shop-bar {
  background: #f1ebdff5;
  color: var(--paper-ink);
  border-color: var(--paper-rule);
  box-shadow: 0 4px 22px #55452f0a;
}
.commerce-dialog :is(h2, h3, h4, p, dt, dd, label, small, summary, button, a, pre, strong),
.commerce-dialog :is(.shop-unit-price, .shop-index, .shop-brand, .shop-product-heading > span, .pair-note, .shop-footer, .study-caption, .shop-pack-price span, .basket-line-total, .checkout-line-price, .shop-price) {
  color: var(--paper-ink);
}
.commerce-dialog :is(.eyebrow, h2 em, h3 em, .shop-index, .shop-brand, .study-heading .shop-price, .text-link, .study-source),
.commerce-dialog :is(.shop-bar nav [aria-current=page], .study-controls [aria-pressed=true], .studio-model-controls [aria-pressed=true]) {
  color: var(--paper-bronze);
}
.commerce-dialog :is(.shop-preview-note, .shop-preview-note span, .shop-intro > p:last-child, .shop-product > p,
  .shop-fine, .shop-image-provenance, .shop-account-note, .shop-help-note, .study-caption, .study-table-story,
  .pair-note, .basket-line p, .basket-summary p, .study-copy > p.shop-fine, .shop-footer, .saved-ingredient p,
  .product-nutrition-reference p, .product-label-check dd, .product-preparation p, .shop-unit-price small) {
  color: var(--paper-muted);
}
.commerce-dialog :is(.shop-preview-note, .shop-product-action, .shop-footer, .shop-pair, .shop-help,
  .shop-development, .product-facts, .product-label-check, .product-delivery-note, .product-preparation,
  .ingredient-notes, .material-return, .basket-line, .checkout-line, .selection-review, .checkout-delivery,
  .checkout-service, .saved-ingredient, .product-nutrition-reference, .study-controls button,
  .study-copy dt, .study-copy dd, .nutrition-reference-table th, .nutrition-reference-table td) {
  border-color: var(--paper-rule);
}
.commerce-dialog :is(.shop-bar nav [aria-current=page], .study-controls [aria-pressed=true]) {
  box-shadow: inset 0 -1px var(--paper-bronze);
  border-color: var(--paper-bronze);
}
.commerce-dialog .shop-preview-note { display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: start; gap: 10px; font-size: 13px; letter-spacing: 0; }
.commerce-dialog .shop-service-dot { background: var(--paper-bronze); }
.commerce-dialog .shop-intro { padding-block: 40px 28px; }
.commerce-dialog .shop-intro h2 { font-size: clamp(42px, 4.8vw, 68px); }
.commerce-dialog .shop-intro > p:last-child { max-width: 40ch; font-size: 16px; }
.commerce-dialog .shop-product > p { font-size: 15px; line-height: 1.8; }
.commerce-dialog .shop-pack-price { margin-top: 14px !important; }
.commerce-dialog .shop-pack-price span { font-size: 22px; }
.commerce-dialog .shop-image,
.commerce-dialog .study-window,
.commerce-dialog .pair-composition {
  background-color: #ded0b4;
  background-image: linear-gradient(#f4eadd26, #f4eadd26), var(--cloth-art);
  background-size: auto, cover;
  border: 1px solid #87744d2b;
  box-shadow: 0 12px 28px #5a463612, inset 0 0 0 1px #ffffff55;
}
.commerce-dialog .shop-image { padding: 20px; height: clamp(320px, 43svh, 480px); }
.commerce-dialog .shop-image img { box-shadow: 0 6px 20px #5a46361a; }
.commerce-dialog .shop-image > span {
  right: 30px; bottom: 30px;
  color: var(--paper-ink); background: #f5efe5f5;
  border: 1px solid #183a2e30;
  font-size: 13px; padding: 12px 16px;
}
.commerce-dialog .study-window { padding: 15px; }
.commerce-dialog .pair-composition { padding: 16px; }
.commerce-dialog .pair-composition figcaption {
  color: var(--paper-muted); background: #f1ebdfed;
  padding: 12px 14px; font-size: 12px; line-height: 1.7;
}
.commerce-dialog .study-controls button { font-size: 13px; }
.commerce-dialog .study-copy > p:not(.eyebrow) { color: var(--paper-ink); }
.commerce-dialog .study-caption { font-size: 12px !important; color: var(--paper-muted) !important; letter-spacing: 0; line-height: 1.75; }
.commerce-dialog :is(.shop-help, .shop-development, .product-delivery-note, .product-label-check, .product-preparation, .product-nutrition-reference) {
  background-color: #183a2e04;
}
.commerce-dialog :is(.product-help-answer, .shop-privacy-copy, .shop-detail-grid) p { color: var(--paper-ink); }
.commerce-dialog .product-help-answer p { max-width: 65ch; }
.commerce-dialog :is(.shop-help-questions button, .shop-add) {
  color: var(--paper-ink); border-color: #183a2e66; background: #f9f5ee80;
}
.commerce-dialog .solid-button { background: var(--paper-ink); border-color: var(--paper-ink); color: #f1ebdf; }
.commerce-dialog .solid-button:hover { background: #285441; }
.commerce-dialog .solid-button:disabled { opacity: 1; background: #d8d4c7; color: #566051; border-color: #89917f; }
.commerce-dialog .solid-button span { color: inherit; }
.commerce-dialog :is(input:not([type=range]):not([type=checkbox]), select, textarea) {
  color: var(--paper-ink); background: #faf6ef; border-color: #183a2e66; color-scheme: light;
}
.commerce-dialog :is(input, select, textarea)::placeholder { color: var(--paper-muted); opacity: 1; }
.commerce-dialog option { color: var(--paper-ink); background: #f1ebdf; }
.commerce-dialog :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--paper-ink); outline-offset: 4px;
}
.commerce-dialog .shop-dock { background: #10291f; color: #e7ded1; border-color: #c9a96b65; box-shadow: 0 -8px 28px #183a2e25; }
.commerce-dialog .shop-dock :is(span, button, p, small) { color: #e7ded1; }
.commerce-dialog .shop-dock strong { color: #e2c58f; }
.commerce-dialog .shop-dock .solid-button { color: #183a2e; background: #e7ded1; border-color: #e7ded1; }
.commerce-dialog .shop-dock :is(button, a):focus-visible { outline-color: #e7ded1; }
.commerce-dialog .shop-dock .solid-button:disabled { background: #b7b8aa; color: #304135; }
.commerce-dialog .shop-feedback { border-top: 1px solid var(--paper-rule); }
.commerce-dialog .shop-feedback :is(p, button) { color: #183a2e; }
.commerce-dialog .product-nutrition-reference :is(th, td, li, caption, summary span) { color: var(--paper-ink); }
.commerce-dialog .product-nutrition-reference :is(caption, thead th, summary span) { color: var(--paper-bronze); }
.commerce-dialog .shop-development{margin-top:36px;padding:28px;gap:32px}
.commerce-dialog .shop-development div>p:not(.eyebrow){color:var(--paper-muted)}
.commerce-dialog .shop-development div>p.development-status{color:var(--paper-bronze);font:12px/1.6 var(--sans)}
.commerce-dialog .shop-development figcaption,
.commerce-dialog .development-portrait figcaption{color:var(--paper-muted)}
.commerce-dialog .development-notice{color:var(--paper-ink);background:#183a2e08;border-color:var(--paper-rule)}
.commerce-dialog .development-status{color:var(--paper-bronze);background:#f1ebdf;border-color:var(--paper-rule)}
.commerce-dialog .development-copy dl>div,
.commerce-dialog .development-checks{border-color:var(--paper-rule)}
.commerce-dialog .development-copy dt{color:var(--paper-bronze)}
.commerce-dialog .development-gallery,.commerce-dialog .development-labels{border-color:var(--paper-rule)}
.commerce-dialog .development-gallery figcaption,.commerce-dialog .development-labels figcaption{color:var(--paper-muted)}
.commerce-dialog .development-labels a{color:var(--paper-bronze)}
.commerce-dialog .development-portrait{background-image:var(--cloth-art);background-size:cover;padding:16px;border:1px solid var(--paper-rule)}
.commerce-dialog .development-portrait figcaption{background:var(--paper-base);padding:12px;margin-bottom:0}
@media(max-width:700px){.commerce-dialog .shop-development{padding:20px;gap:22px}.commerce-dialog .development-portrait{padding:12px}}

/* Evidence dossiers: leave photographs, context headers and model stages dark. */
#history-dialog :is(.history-reading, .history-navigation-body, .history-controls, .history-current-context),
#medical-research-dialog .research-reading,
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) {
  background-color: var(--paper-base);
  background-image: var(--paper-surface);
  background-size: auto, 760px 760px;
  color: var(--paper-ink);
  color-scheme: light;
  border-color: var(--paper-rule);
}
#history-dialog :is(.history-reading, .history-navigation-body, .history-controls, .history-current-context) :is(h2, h3, h4, p, dt, dd, small, button, label, summary, a, span, strong, em),
#medical-research-dialog .research-reading :is(h2, h3, h4, p, dt, dd, small, button, label, summary, a, span, strong, em),
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) :is(h2, h3, h4, p, dt, dd, small, button, label, summary, a, strong, span, em) {
  color: var(--paper-ink);
}
#history-dialog :is(.history-reading, .history-navigation-body, .history-controls, .history-current-context) :is(.eyebrow, a, button, .history-date, .history-source-title),
#medical-research-dialog .research-reading :is(.eyebrow, a, button, .research-limit strong),
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) :is(.eyebrow, a, button, .molecule-evidence-label, .molecular-study-date, dt) {
  color: var(--paper-bronze);
}
#history-dialog .history-reading :is(.history-evidence, .history-limit, .history-source-note, small),
#medical-research-dialog .research-reading :is(.research-date, .research-limit, .research-scope, dt, small),
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading) :is(.molecule-limit, .molecule-sources small, small) {
  color: var(--paper-muted);
}
#medical-research-dialog .research-reading :is(.research-context span, .research-outcome figcaption, .outcome-harm strong, .outcome-label, .outcome-value),
body.research-page :is(.research-context span, .research-outcome figcaption, .outcome-harm strong, .outcome-label, .outcome-value) { color: var(--paper-ink); }
#medical-research-dialog .research-reading .research-outcome,
body.research-page .research-outcome { background: #183a2e06; border-color: var(--paper-rule); }
#medical-research-dialog .research-reading .outcome-arm > div,
body.research-page .outcome-arm > div { color: var(--paper-ink); }
#medical-research-dialog .research-reading .outcome-bar,
body.research-page .outcome-bar { background: #183a2e12; outline: 1px solid #183a2e48; }
#medical-research-dialog .research-reading .outcome-bar i,
body.research-page .outcome-bar i { background: var(--paper-bronze); }
#medical-research-dialog .research-reading .outcome-bar .arm-1,
body.research-page .outcome-bar .arm-1 { background: var(--paper-ink); }
#history-dialog .history-reading :is(p, li),
#medical-research-dialog .research-reading :is(.research-result, .research-limit, dd),
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) :is(p, dd) {
  font-size: 15px; line-height: 1.85;
}
#history-dialog .history-controls select {
  background: #faf6ef; color: var(--paper-ink); border-color: #183a2e66; color-scheme: light; font-size: 15px;
}
#history-dialog .history-controls option { color: var(--paper-ink); background: var(--paper-base); }
#molecular-dialog .molecular-path-map button {
  background: #f6f1e7; border-color: var(--paper-rule); box-shadow: 0 5px 12px #5a46360b;
}
#history-dialog :is(.history-reading, .history-controls, .history-navigation-body) :focus-visible,
#medical-research-dialog .research-reading :focus-visible,
#molecular-dialog :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) :focus-visible {
  outline: 2px solid var(--paper-ink); outline-offset: 4px;
}

/* Standalone libraries are readable paper documents, with dark visual inserts. */
body:is(.history-page, .research-page, .molecular-page, .law-page) :is(.wordmark, .law-brand) { color: var(--paper-ink); }
body:is(.history-page, .research-page, .molecular-page, .law-page) :is(.history-page-header, .research-page-header, .molecular-page-header, .law-masthead) {
  background: #f1ebdf9c; border-color: var(--paper-rule);
}
body:is(.history-page, .research-page, .molecular-page, .law-page) :is(.history-page-header, .research-page-header, .molecular-page-header, .law-masthead) > a:last-child { color: var(--paper-bronze); }
body.history-page :is(.history-page-intro, .history-page-method, .history-page-index, .history-record, .history-bibliography),
body.research-page :is(.research-page-intro, .research-page-index, .research-record, .research-method, .research-boundary),
body.molecular-page :is(.molecular-static, .molecular-static-method, .molecule-dossier, .molecular-study-reading, .molecular-pathways) {
  color: var(--paper-ink); border-color: var(--paper-rule);
}
body.history-page :is(.history-page-intro, .history-page-method, .history-page-index, .history-record, .history-bibliography) :is(h1, h2, h3, h4, p, dt, dd, small, li, summary, strong, a),
body.research-page :is(.research-page-intro, .research-page-index, .research-record, .research-method, .research-boundary) :is(h1, h2, h3, h4, p, dt, dd, small, li, summary, strong, a),
body.molecular-page :is(.molecular-static, .molecular-static-method, .molecule-dossier, .molecular-study-reading, .molecular-pathways) :is(h1, h2, h3, h4, p, dt, dd, small, li, summary, strong, a, button) {
  color: var(--paper-ink);
}
body.history-page :is(.history-page-intro, .history-page-method, .history-page-index, .history-record, .history-bibliography) :is(.eyebrow, em, a, summary, .history-date, .history-source-title),
body.research-page :is(.research-page-intro, .research-page-index, .research-record, .research-method, .research-boundary) :is(.eyebrow, em, a, summary, .research-limit strong),
body.molecular-page :is(.molecular-static, .molecular-static-method, .molecule-dossier, .molecular-study-reading, .molecular-pathways) :is(.eyebrow, em, a, summary, .molecule-evidence-label, .molecular-study-date) {
  color: var(--paper-bronze);
}
body.history-page .history-page-intro .history-page-scope { color: var(--paper-muted) !important; }
body.history-page .history-page-index span { color: var(--paper-bronze); }
body.history-page :is(.history-page-hero, .history-page-scene) figcaption,
body.research-page .research-horizon-art figcaption { color: var(--paper-muted); font-size: 12px; line-height: 1.7; }
body.history-page :is(.history-body, .history-evidence, .history-limit, .history-page-method p),
body.research-page :is(.research-result, .research-limit, .research-method p, .research-page-intro p),
body.molecular-page :is(.molecular-static p, .molecular-static-method p, .molecule-dossier p, .molecular-study-reading p) {
  font-size: 16px; line-height: 1.9;
}
body:is(.history-page, .research-page, .molecular-page) .story-connections,
body:is(.history-page, .research-page, .molecular-page) .story-connections :is(span, p, a, button, small) {
  color: var(--paper-ink); border-color: var(--paper-rule);
}
body:is(.history-page, .research-page, .molecular-page) .story-connections :is(a, button) { color: var(--paper-bronze); }
body.molecular-page :is(.molecule-dossier, .molecular-study-reading, .molecular-pathways) { background: #f1ebdfb8; }
body.molecular-page :is(.molecular-header, .molecular-toolbar, .molecule-index, .molecule-desk, .molecular-boundary, .molecular-study-timeline, .molecule-mobile-select, .molecular-study-select, .molecule-empty) { background-color: #0c251c; color: #e7ded1; color-scheme: dark; }
body.molecular-page :is(.molecule-stage, .molecule-flat, .static-molecule-structure) { background: #0c251c; color: #e7ded1; }
body.molecular-page .molecular-static .molecular-path-map a { color: var(--paper-ink); background: #f6f1e7; border-color: var(--paper-rule); }
body.molecular-page .molecular-static .molecular-path-map span { color: var(--paper-muted); }
body.molecular-page :is(.molecular-reading-modes a, .molecular-reading-modes button, .molecular-page-status) { color: var(--paper-bronze); }
body.molecular-page .molecular-reading-modes [aria-current=page] { border-color: var(--paper-bronze); }
body:is(.history-page, .research-page, .molecular-page) :is(.history-page-intro, .history-page-index, .history-record, .history-page-method, .history-bibliography, .research-page-main, .molecular-static, .molecular-static-method, .molecular-reading-modes, .molecule-dossier) :focus-visible {
  outline: 2px solid var(--paper-ink); outline-offset: 4px;
}

/* Source-linked law reading room. Bronze is darkened for text contrast. */
body.law-page { --muted: var(--paper-muted); }
.law-page :is(h1, h2, h3, h4, p, dt, dd, small, li, summary, strong, label, button, a) { color: var(--paper-ink); }
.law-page :is(em, a, .law-eyebrow, .law-record-number, .law-status, .law-limits h4, .law-section-nav a span, .law-source-heading) { color: var(--paper-bronze); }
.law-page :is(.law-checked, .law-sources li p, .law-sources li .law-source-locator, .law-filter-status, .law-filters #law-filter-help) { color: var(--paper-muted); }
.law-page :is(.law-intro-copy, .law-scope > p:not(.law-eyebrow), .law-detail p, .law-section-heading > p:last-child:not(.law-eyebrow)) { font-size: 16px; }
.law-page .law-summary { font-size: 23px; }
.law-page :is(.law-record, .law-section-nav, .law-scope, .law-state-index, .law-footer, .law-sources) { border-color: var(--paper-rule); }
.law-page .law-section-nav { background: #f1ebdf; box-shadow: 0 6px 20px #5a46360a; }
.law-page .law-section-nav a[aria-current] { color: var(--paper-ink); border-color: var(--paper-ink); }
.law-page .law-page-progress { background: var(--paper-bronze); }
.law-page .law-limits { background: #183a2e06; border-color: var(--paper-bronze); }
.law-page :is(input, select) { background: #faf6ef; color: var(--paper-ink); border-color: #183a2e66; color-scheme: light; }
.law-page input::placeholder { color: var(--paper-muted); opacity: 1; }
.law-page option { background: var(--paper-base); color: var(--paper-ink); }
.law-page :focus-visible { outline-color: var(--paper-ink); }
.law-page .law-skip { background: var(--paper-ink); color: var(--paper-base); }

@keyframes paper-room-arrive {
  from { opacity: .15; transform: translateY(32px) scale(.985); clip-path: inset(0 0 5% 0); }
  to { opacity: 1; transform: none; clip-path: inset(0); }
}
@keyframes paper-panel-arrive {
  from { opacity: .3; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@media (hover: hover) and (pointer: fine) {
  .commerce-dialog .shop-image { transition: box-shadow .65s ease, border-color .65s ease; }
  .commerce-dialog .shop-image:hover { border-color: #87744d75; box-shadow: 0 18px 38px #5a463624, inset 0 0 0 1px #ffffff55; }
  .commerce-dialog :is(.shop-add, .shop-help-questions button):hover { background: #183a2e; color: #f1ebdf; }
  .commerce-dialog .shop-image:hover > span { background: #183a2e; color: #f1ebdf; }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .commerce-dialog .shop-product-heading { min-height: 72px; align-items: start; }
}
@media (max-width: 700px) {
  .commerce-dialog .shop-intro { padding-block: 26px 20px; }
  .commerce-dialog .shop-intro h2 { font-size: clamp(40px, 11vw, 56px); }
  .commerce-dialog .shop-intro > p:last-child { font-size: 15px; }
  .commerce-dialog .shop-image { padding: 15px; height: clamp(300px, 49svh, 460px); }
  .commerce-dialog .shop-image > span { right: 25px; bottom: 25px; }
  .commerce-dialog .study-window { padding: 10px; }
  .commerce-dialog .shop-products { gap: 40px; }
  .commerce-dialog .study-controls { gap: 8px 16px; }
  .commerce-dialog .shop-bar nav { gap: 18px; }
  .commerce-dialog .shop-bar nav button { font-size: 14px; }
  .law-page :is(.law-detail p, .law-intro-copy, .law-scope > p:not(.law-eyebrow)) { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.motion-opt-in) .commerce-dialog[open], body:not(.motion-opt-in) .commerce-dialog .panel-arrive { animation: none; }
  body:not(.motion-opt-in) .commerce-dialog :is(.shop-image, .shop-image img, .shop-image > span) { transition: none; }
}
body.reduced-motion .commerce-dialog[open], body.reduced-motion .commerce-dialog .panel-arrive { animation: none; }
body.reduced-motion .commerce-dialog :is(.shop-image, .shop-image img, .shop-image > span) { transition: none; }
@media print {
  body:is(.history-page, .research-page, .molecular-page, .law-page) { background: white; color: black; }
  body:is(.history-page, .research-page, .molecular-page, .law-page) :is(p, a, h1, h2, h3, small, li, dt, dd, strong, em, .eyebrow) { color: black; }
  .law-page .law-section-nav { position: static; background: white; }
}
