:root { --gold:#c69214; --ink:#222; --muted:#667085; --line:#e6e8ec; --soft:#f8f6ef; --up:#198754; --down:#dc3545; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.5; }
a { color:#8a6208; }
.container { width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.site-header { border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:10; }
.nav { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#111; text-decoration:none; }
.nav-links { display:flex; flex-wrap:wrap; gap:14px; font-size:.88rem; font-weight:650; text-transform:uppercase; }
.nav-links a { color:#333; text-decoration:none; }
.nav-links a.active, .nav-links a:hover { color:#000; border-bottom:2px solid var(--gold); }
.hero { padding:34px 0 22px; background:linear-gradient(180deg,#fffaf0,#fff); border-bottom:1px solid var(--line); }
.section { padding:28px 0; }
.grid { display:grid; gap:18px; }
.grid-2 { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card { border:1px solid var(--line); border-radius:14px; background:#fff; padding:20px; box-shadow:0 2px 12px rgba(16,24,40,.04); }
.price-big { font-size:clamp(2rem,5vw,3.6rem); line-height:1; font-weight:800; letter-spacing:-.04em; }
.muted { color:var(--muted); }
.small { font-size:.9rem; }
.price-up { color:var(--up); }
.price-down { color:var(--down); }
.badge { display:inline-flex; border-radius:999px; padding:4px 10px; background:var(--soft); font-weight:700; }
table { width:100%; border-collapse:collapse; }
th,td { padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th:last-child,td:last-child { text-align:right; }
.sparkline svg { width:120px; height:40px; display:block; }
.pill { border:1px solid var(--line); border-radius:999px; padding:4px 10px; background:#fff; font-size:.88rem; display:inline-block; margin:4px; }
.pill-open { border-color:#badbcc; background:#f0fff4; color:#146c43; }
.pill-closed { border-color:#f5c2c7; background:#fff5f5; color:#842029; }
.btn,button { display:inline-flex; align-items:center; border:1px solid #b88716; background:#b88716; color:#fff; border-radius:8px; padding:10px 14px; text-decoration:none; font-weight:700; cursor:pointer; }
input,select { width:100%; border:1px solid var(--line); border-radius:8px; padding:10px; font:inherit; }
label { font-weight:700; display:block; margin-bottom:6px; }
.form-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.footer { border-top:1px solid var(--line); padding:28px 0; color:var(--muted); margin-top:36px; }
.disclaimer { background:#fff8e8; border:1px solid #f2d9a3; border-radius:10px; padding:12px 14px; font-size:.92rem; }
.sidebar-nav ul { list-style:none; padding:0; margin:0; }
.sidebar-nav li { margin:6px 0; }
.breadcrumb-bar { border-bottom:1px solid var(--line); background:#fff; padding:10px 0; }
.breadcrumb-list { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:.9rem; }
.breadcrumb-list li:not(:last-child)::after { content:"›"; margin-left:8px; color:var(--muted); }
.related-links ul { list-style:none; padding:0; margin:8px 0; }
.related-links li { margin:6px 0; }
.chart-controls { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 10px; }
.chart-controls button { padding:6px 10px; font-size:.85rem; background:#fff; color:#333; border:1px solid var(--line); }
.chart-controls button[aria-pressed="true"] { background:var(--soft); border-color:#b88716; color:#8a6208; }
.chart-canvas { width:100%; display:block; margin-top:8px; }
.chart-canvas-wrap { width:100%; min-height:280px; margin-top:8px; }
.chart-controls-top { margin-top:12px; }
.chart-intervals { display:none; }
.chart-stats-strip th { font-size:.85rem; }
.chart-stats-strip td { font-size:.9rem; }
.chart-reset { padding:6px 10px; font-size:.85rem; background:#fff; color:#333; border:1px solid var(--line); }
.inventory-chart { width:100%; max-width:640px; height:auto; display:block; }
.inventory-scorecards .card { min-height:120px; }
.editorial-body h3 { margin-top:1.4em; }
@media (max-width:800px) { .grid-2,.grid-3,.form-row { grid-template-columns:1fr; } .nav { flex-direction:column; align-items:flex-start; padding:14px 0; } }
