/* Content compatibility layer for the 2026-09-11 route families.
   Loaded before prepsheet-brand-20260912p.css. It deliberately excludes site chrome;
   the low-specificity route scope lets the newer shared shell set its own tokens. */
body.ps-site:where(:not(.ps-home)) {
  --bg:#f6efe2;--bg2:#f6f2ec;--bg3:#efeae6;--cream:#fff;--cream2:#f7f5f0;
  --ink:#3b1b45;--text:#3b1b45;--muted:#6b5a70;--dim:#7b5986;--line:#dcd2cb;--line2:#b9adbc;
  --copper:#3b1b45;--copper-hot:#41234b;--copper-deep:#41234b;--card-muted:#6b5a70;--card-link:#41234b;
  --paper:#f6efe2;--card:#fff;--green:#6b3a7d;--green-dark:#41234b;--wash:#efeae6;--dark:#41234b;
  --orange:#6b3a7d;--serif:"Bricolage Grotesque",system-ui,sans-serif;--sans:Outfit,system-ui,sans-serif;
  color:#3b1b45;background:#f6efe2;background-image:none;font-family:Outfit,system-ui,sans-serif;
}
body.ps-site:where(:not(.ps-home)) *{box-sizing:border-box}
body.ps-site:where(:not(.ps-home)) main.wrap,
body.ps-site:where(:not(.ps-home)) .wrap{color:var(--ink);background:transparent;min-width:0}
body.ps-site:where(:not(.ps-home)) h1,
body.ps-site:where(:not(.ps-home)) h2,
body.ps-site:where(:not(.ps-home)) h3,
body.ps-site:where(:not(.ps-home)) h4{color:var(--ink);font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;line-height:1.1;letter-spacing:-.03em}
body.ps-site:where(:not(.ps-home)) p,
body.ps-site:where(:not(.ps-home)) li{color:var(--ink)}
body.ps-site:where(:not(.ps-home)) .muted,
body.ps-site:where(:not(.ps-home)) .lede,
body.ps-site:where(:not(.ps-home)) .dlede,
body.ps-site:where(:not(.ps-home)) .fine,
body.ps-site:where(:not(.ps-home)) .label,
body.ps-site:where(:not(.ps-home)) .kicker{color:var(--muted)}
body.ps-site:where(:not(.ps-home)) main.wrap a,
body.ps-site:where(:not(.ps-home)) .relatedlinks a{color:#6b3a7d;text-decoration-color:rgba(107,58,125,.45)}
body.ps-site:where(:not(.ps-home)) main.wrap a:hover,
body.ps-site:where(:not(.ps-home)) .relatedlinks a:hover{color:#41234b}

/* Former dark/copper content surfaces. Keep layouts page-owned, only reset treatment. */
body.ps-site:where(:not(.ps-home)) .card,
body.ps-site:where(:not(.ps-home)) .cream-card,
body.ps-site:where(:not(.ps-home)) .data-card,
body.ps-site:where(:not(.ps-home)) .gpcard,
body.ps-site:where(:not(.ps-home)) .panel,
body.ps-site:where(:not(.ps-home)) .related,
body.ps-site:where(:not(.ps-home)) .relatedlinks,
body.ps-site:where(:not(.ps-home)) .dstat,
body.ps-site:where(:not(.ps-home)) .docket2,
body.ps-site:where(:not(.ps-home)) .freebox,
body.ps-site:where(:not(.ps-home)) .acard,
body.ps-site:where(:not(.ps-home)) .prod,
body.ps-site:where(:not(.ps-home)) .pricebox,
body.ps-site:where(:not(.ps-home)) .dv,
body.ps-site:where(:not(.ps-home)) .ca,
body.ps-site:where(:not(.ps-home)) .cl,
body.ps-site:where(:not(.ps-home)) .shop,
body.ps-site:where(:not(.ps-home)) .calculator,
body.ps-site:where(:not(.ps-home)) .calc,
body.ps-site:where(:not(.ps-home)) .tool,
body.ps-site:where(:not(.ps-home)) .cta,
body.ps-site:where(:not(.ps-home)) .dlbox,
body.ps-site:where(:not(.ps-home)) .buy{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}
body.ps-site:where(:not(.ps-home)) .prod h2,
body.ps-site:where(:not(.ps-home)) .prod .plink,
body.ps-site:where(:not(.ps-home)) .price,
body.ps-site:where(:not(.ps-home)) .pricebox .pp,
body.ps-site:where(:not(.ps-home)) .dstat .dv,
body.ps-site:where(:not(.ps-home)) .crow .cl,
body.ps-site:where(:not(.ps-home)) .crow.net,
body.ps-site:where(:not(.ps-home)) .stat .v,
body.ps-site:where(:not(.ps-home)) .results .v,
body.ps-site:where(:not(.ps-home)) .cell-out .v{color:var(--ink)}
body.ps-site:where(:not(.ps-home)) .v.good,
body.ps-site:where(:not(.ps-home)) .good{color:#6b3a7d}
body.ps-site:where(:not(.ps-home)) .v.bad,
body.ps-site:where(:not(.ps-home)) .bad,
body.ps-site:where(:not(.ps-home)) .crow:not(.start):not(.net) .ca,
body.ps-site:where(:not(.ps-home)) .error{color:#bd3d32}
body.ps-site:where(:not(.ps-home)) .crow.start .ca,
body.ps-site:where(:not(.ps-home)) .crow.net .ca{color:var(--ink)}

body.ps-site:where(:not(.ps-home)) table{color:var(--ink);border-color:var(--line2);max-width:100%}
body.ps-site:where(:not(.ps-home)) th,
body.ps-site:where(:not(.ps-home)) td{color:var(--ink);border-color:var(--line2);background:transparent}
body.ps-site:where(:not(.ps-home)) th{background:var(--bg3);font-family:Outfit,system-ui,sans-serif;font-weight:700;text-transform:none}
body.ps-site:where(:not(.ps-home)) tbody tr:nth-child(even) td{background:#f9f7f3}
body.ps-site:where(:not(.ps-home)) input,
body.ps-site:where(:not(.ps-home)) select,
body.ps-site:where(:not(.ps-home)) textarea{background:#fff;color:var(--ink);border-color:var(--line2);color-scheme:light;font-family:Outfit,system-ui,sans-serif}
body.ps-site:where(:not(.ps-home)) input::placeholder,
body.ps-site:where(:not(.ps-home)) textarea::placeholder{color:var(--muted);opacity:1}

/* Explicit light/dark action foregrounds remain legible after the surface reset. */
body.ps-site:where(:not(.ps-home)) .btn-primary,
body.ps-site:where(:not(.ps-home)) .btn.p,
body.ps-site:where(:not(.ps-home)) .buy,
body.ps-site:where(:not(.ps-home)) .dl,
body.ps-site:where(:not(.ps-home)) .dlbtn,
body.ps-site:where(:not(.ps-home)) .cta button,
body.ps-site:where(:not(.ps-home)) a.button:not(.ghost),
body.ps-site:where(:not(.ps-home)) button.button:not(.ghost),
body.ps-site:where(:not(.ps-home)) button.on,
body.ps-site:where(:not(.ps-home)) .achip.on{background:#3b1b45;color:#fff;border-color:#3b1b45}
body.ps-site:where(:not(.ps-home)) .btn-ghost,
body.ps-site:where(:not(.ps-home)) .btn.s,
body.ps-site:where(:not(.ps-home)) .linkbtn,
body.ps-site:where(:not(.ps-home)) a.button.ghost,
body.ps-site:where(:not(.ps-home)) button.button.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
body.ps-site:where(:not(.ps-home)) code{background:var(--bg3);color:var(--ink)}
body.ps-site:where(:not(.ps-home)) .tbl,
body.ps-site:where(:not(.ps-home)) .scrollx,
body.ps-site:where(:not(.ps-home)) .table-wrap,
body.ps-site:where(:not(.ps-home)) .recipe-table-wrap{max-width:100%;overflow-x:auto}
body.ps-site:where(:not(.ps-home)) :focus-visible{outline:2px solid #6b3a7d;outline-offset:3px}
@media(max-width:900px){body.ps-site:where(:not(.ps-home)) .shell{grid-template-columns:minmax(0,1fr);padding-inline:16px}body.ps-site:where(:not(.ps-home)) .shell>*{min-width:0}}
@media print{body.ps-site:where(:not(.ps-home)){background:#fff;color:#111}body.ps-site:where(:not(.ps-home)) main.wrap{max-width:none;padding-top:0}body.ps-site:where(:not(.ps-home)) .card,body.ps-site:where(:not(.ps-home)) .panel,body.ps-site:where(:not(.ps-home)) .dlbox,body.ps-site:where(:not(.ps-home)) .prod{box-shadow:none}}

@font-face{font-family:"Bricolage Grotesque";src:url('/fonts/bricolage-grotesque-latin-20261018.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}