/* Equations — Brickyard layer (after the page's own CSS). Material: amethyst. */
:root { --paper: var(--page); --bg: var(--page); --fg: var(--ink); --muted: var(--ink-3); --faint: var(--ink-3); --line2: var(--line-2); --line-strong: var(--line-2);
  --accent: var(--m-ink); --accent-strong: var(--m-side); --accent-bright: var(--m); --accent-wash: var(--m-soft); --accent-ink: var(--on-m);
  --font-display: var(--display); --font-body: var(--font-ui); --font-mono: var(--font-ui); --radius: 4px; }
body { background: var(--page); color: var(--ink-2); font-family: var(--font-ui); }
.wrap { max-width: 1180px; padding-top: 0.6rem; }
.head { position: relative; isolation: isolate; overflow: clip; display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, 320px); gap: 0.4rem 2rem; align-items: center; background: linear-gradient(180deg, var(--sky-a), var(--sky-b)); border: 2px solid var(--ink); padding: clamp(1.2rem, 3vw, 2rem) clamp(1.1rem, 3vw, 2rem) 1.6rem; box-shadow: 6px 6px 0 var(--m-side); margin-bottom: 2rem; }
.head > *:not(.pg-scene) { grid-column: 1; position: relative; z-index: 1; }
.head .controls { grid-column: 1 / -1; margin-top: 1rem; }
.pg-scene { grid-column: 2; grid-row: 1 / span 4; position: relative; aspect-ratio: 1.2; width: 100%; min-height: 150px; max-height: 260px; z-index: 1; }
.pg-scene .vx-canvas { position: absolute; inset: 0; }
.back { display: inline-flex; align-items: center; gap: 0.45rem; width: fit-content; padding: 0.45rem 0.75rem; border: 2px solid var(--ink); background: #fff; color: var(--ink); font: 800 0.8rem/1 var(--font-ui); text-transform: none; letter-spacing: 0; transition: transform 0.15s var(--ease), background 0.15s; }
.back:hover, .back:focus-visible { background: var(--m-soft); color: var(--ink); transform: translateY(-2px); }
h1 { font: 900 clamp(1.9rem, 4.2vw, 3.2rem)/1.02 var(--display); font-stretch: 120%; letter-spacing: -0.028em; color: var(--ink); margin: 0.9rem 0 0.7rem; }
.lede { color: var(--ink-2); max-width: 56ch; }
.search { background: #fff; border: 2px solid var(--ink); border-radius: 0; box-shadow: 4px 4px 0 var(--m-side); }
.search input { font-family: var(--font-ui); font-weight: 600; color: var(--ink); }
.chips { gap: 0.2rem 0.4rem; }
.chip { --c: var(--m); font: 800 0.82rem/1 var(--font-ui); letter-spacing: 0; text-transform: none; background: #fff; border: 2px solid var(--ink); border-radius: 0; color: var(--ink); padding: 0.5rem 0.75rem; transition: transform 0.15s var(--ease), box-shadow 0.15s; box-shadow: 3px 3px 0 var(--c); }
.chip:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--c); }
.chip.active { background: var(--c); color: #fff; box-shadow: 1px 1px 0 var(--ink); transform: translate(2px, 2px); }
.btn { font: 800 0.85rem/1 var(--display); font-stretch: 106%; background: var(--ink); color: #fff; border: 0; border-radius: 0; padding: 0.7rem 1rem; box-shadow: 4px 4px 0 var(--m); transition: transform 0.14s var(--ease), box-shadow 0.14s; }
.btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--m); background: var(--ink); color: #fff; }
.grid { gap: 1.4rem; }
.card { --c: var(--m); background: #fff; border: 2px solid var(--ink); border-radius: 0; box-shadow: 5px 5px 0 var(--c); transition: transform 0.16s var(--ease), box-shadow 0.16s; }
.card:hover, .card:focus-visible { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--c); border-color: var(--ink); }
.card:has(.badge-algebra) { --c: var(--water); } .card:has(.badge-calculus) { --c: var(--rose); } .card:has(.badge-geometry) { --c: var(--grass); } .card:has(.badge-statistics) { --c: var(--lava); }
.card:has(.badge-discrete) { --c: var(--amethyst); } .card:has(.badge-physics) { --c: var(--diamond); } .card:has(.badge-information) { --c: var(--sand); } .card:has(.badge-finance) { --c: var(--stone); }
.badge { font: 800 0.75rem/1 var(--font-ui) !important; letter-spacing: 0 !important; text-transform: none !important; border-radius: 0 !important; background: var(--c) !important; color: #fff !important; border: 0 !important; padding: 0.3rem 0.5rem !important; }
.card:has(.badge-information) .badge { color: var(--ink) !important; }
.name { font: 850 1.1rem/1.2 var(--display); font-stretch: 114%; color: var(--ink); }
.note { color: var(--ink-2); }
.eq-faq { margin-top: 3rem; display: grid; gap: 1rem; }
.eq-faq article { background: #fff; border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--m); padding: 1rem 1.2rem; }
.eq-faq h2 { font: 850 1.1rem/1.2 var(--display); font-stretch: 112%; }
.present { background: var(--ink); }
.p-ctrls button { font-family: var(--font-ui); border-radius: 0; }
.site-footer { position: relative; background: var(--ink); color: #b4c3e6 !important; border-top: 0 !important; margin-top: 4rem !important; padding: 2rem 0 2.2rem !important; }
.site-footer a { color: #dbe6fb !important; }
@media (max-width: 760px) { .head { grid-template-columns: 1fr; } .pg-scene { grid-column: 1; grid-row: 1; order: -1; max-height: 170px; min-height: 130px; } }
