/* Water Supply and Allocation Toolkit stylesheet. Branding tokens follow the Recharge Toolkit landing page and the
   Water Rights Toolkit (css/wr.css) so the three sets read as one family. Layout classes keep the wr- prefix on purpose:
   the site-wide branding pass swaps tokens in this file and the layout classes stay. External stylesheet only. */
:root {
  --ink:#182634; --ink-soft:#3d4756; --muted:#5b6b7a; --line:#dde3e9; --line-soft:#eaeef2;
  --accent:#1f5f8b; --accent-mid:#2f7ab0; --accent-wash:#eaf2f8; --accent-2:#2c7a4b;
  --bg:#f6f8fa; --card:#fff; --hero:#0f2a40; --gold:#d9a441; --alert:#b8412e;
  --tier1:#1f5f8b; --tier2:#7fb0d6; --tier3:#c9d6e2; --face:#b8412e;
  --wy-W:#2c6fae; --wy-AN:#8dbbe0; --wy-BN:#ece0bd; --wy-D:#e3b25f; --wy-C:#b06a24;
  --serif:"Source Serif Pro", Georgia, "Times New Roman", serif;
  --ui:"Segoe UI", system-ui, -apple-system, Arial, Helvetica, sans-serif;
  --radius:10px; --shadow-sm:0 1px 2px rgba(20,40,60,.04);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
body { margin:0; font-family:var(--serif); color:var(--ink); background:var(--bg); line-height:1.55; }
.sans { font-family:var(--ui); }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
a { color:var(--accent); }

/* toolkit nav strip (same shape as .rt-nav on the recharge pages) */
.wr-nav { font:12.5px/1.4 var(--ui); color:var(--muted); padding:8px 20px; background:#fff; border-bottom:1px solid var(--line); }
.wr-nav .wrap { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; padding-left:0; padding-right:0; }
.wr-nav a { color:var(--accent); text-decoration:none; }
.wr-nav a.home { font-weight:600; }
.wr-nav .here { color:#1b2a3a; font-weight:600; }
.wr-nav .sep { color:#b7c2cc; }
.wr-nav .locked { margin-left:auto; color:var(--muted); }
.wr-nav .locked a { color:var(--accent-2); }

/* hero (landing) */
.hero { background:var(--hero); color:#fff; position:relative; overflow:hidden; }
.hero:before { content:""; position:absolute; inset:0; opacity:.16; pointer-events:none; background-image:
  repeating-radial-gradient(ellipse at 20% 120%, transparent 0 34px, rgba(255,255,255,.9) 34px 35px),
  repeating-radial-gradient(ellipse at 85% -20%, transparent 0 46px, rgba(255,255,255,.7) 46px 47px); }
.hero .wrap { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center; padding-top:44px; padding-bottom:44px; }
.kicker { font-family:var(--ui); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:#9fc4e3; margin:0 0 10px; }
.hero h1 { font-size:2.6rem; line-height:1.1; margin:0 0 12px; letter-spacing:-.01em; }
.hero p.lede { font-size:1.12rem; color:#dbe7f1; margin:0 0 22px; max-width:34em; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.stat { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:8px; padding:10px 12px; }
.stat .n { font-family:var(--ui); font-size:1.55rem; font-weight:700; line-height:1.1; color:#fff; }
.stat .l { font-family:var(--ui); font-size:.72rem; color:#b7cbdc; margin-top:3px; letter-spacing:.02em; }
.heroviz { display:block; text-decoration:none; color:inherit; }
.heroviz .frame { border-radius:10px; border:1px solid rgba(255,255,255,.25); background:#0b2236; padding:10px 10px 6px; }
.heroviz:hover .frame { border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.35); }
.heroviz svg { width:100%; height:auto; display:block; }
.hero .cap { font-family:var(--ui); font-size:.74rem; color:#b7cbdc; margin-top:8px; display:flex; gap:14px; flex-wrap:wrap; }
.dot { display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px; vertical-align:middle; border:1px solid rgba(255,255,255,.6); }

/* status strip */
.window { background:#fff; border-bottom:1px solid var(--line); }
.window .wrap { display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; padding-top:14px; padding-bottom:14px; }
.window .t { font-family:var(--ui); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.window .s { font-family:var(--ui); font-size:.9rem; color:var(--ink); }

/* intro, cards, closing, footer (landing) */
.intro { font-size:1.1rem; max-width:44em; margin:34px 0 26px; }
.steps { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap:22px; margin-bottom:40px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-sm); }
.card .shot { display:block; text-decoration:none; aspect-ratio:16/9; background:#e9eef2; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.card .shot svg { width:100%; height:100%; display:block; }
.card .shot:hover, .card .shot:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }
.card .shot .num { position:absolute; top:12px; left:12px; width:34px; height:34px; border-radius:50%; background:var(--hero); color:#fff; font-family:var(--ui); font-weight:700; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.card .shot .lock { position:absolute; top:12px; right:12px; font-family:var(--ui); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; background:var(--accent-2); color:#fff; padding:4px 8px; border-radius:999px; }
.card .body { padding:18px 22px 20px; display:flex; flex-direction:column; flex:1; }
.card .step { font-family:var(--ui); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; }
.card h2 { font-size:1.3rem; margin:0 0 8px; line-height:1.25; }
.card p { margin:0 0 12px; }
.card p.use { font-family:var(--ui); font-size:.9rem; color:var(--muted); margin-bottom:16px; flex:1; }
.card a.btn { align-self:flex-start; font-family:var(--ui); display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:9px 16px; border-radius:6px; font-size:.93rem; }
.card a.btn:hover { background:#174a6d; }
.card a.btn.gold { background:var(--gold); color:#1b2a3a; }
.card a.btn.gold:hover { background:#c8932f; }
.closing { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 26px; margin-bottom:36px; font-size:1.05rem; }
footer { border-top:1px solid var(--line); padding:18px 0 40px; font-family:var(--ui); font-size:.84rem; color:var(--muted); }
footer p { margin:0 0 10px; }

/* primer */
.primer { display:grid; grid-template-columns:1.1fr .9fr; gap:26px; margin:0 0 40px; }
.prose { font-size:1.02rem; line-height:1.68; color:var(--ink-soft); }
.prose p { margin:0 0 13px; }
.prose h2 { font-size:1.5rem; color:var(--ink); margin:0 0 12px; }
.prose h3 { font-family:var(--ui); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin:18px 0 6px; }
.prose ol { padding-left:1.3em; margin:0 0 13px; } .prose li { margin:.3em 0; }
.glance { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 20px; font-family:var(--ui); font-size:.9rem; }
.glance .h { font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.glance table { width:100%; border-collapse:collapse; }
.glance td { padding:7px 6px; border-top:1px solid var(--line-soft); vertical-align:top; }
.glance td:first-child { color:var(--muted); width:38%; }
.glance .src { color:var(--muted); font-size:.8rem; margin-top:10px; }

/* tool-page header */
.tool-hero { background:#fff; border-bottom:1px solid var(--line); padding:22px 0 16px; }
.tool-hero h1 { font-size:1.9rem; line-height:1.15; margin:0 0 6px; letter-spacing:-.01em; }
.tool-hero .sub { font-family:var(--ui); font-size:.95rem; color:var(--muted); max-width:70ch; margin:0; }
.tool-rule { height:3px; border-radius:2px; margin-top:14px; background:linear-gradient(90deg, var(--accent) 0%, var(--accent-mid) 38%, #cfe0ec 78%, #f0e4cf 100%); }

/* definitions block */
.defs { background:var(--accent-wash); border:1px solid #d5e4ef; border-radius:var(--radius); padding:14px 18px; margin:18px 0; font-family:var(--ui); font-size:.9rem; }
.defs .h { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; align-items:baseline; margin-bottom:6px; }
.defs .h b { font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.defs .h .v { color:var(--muted); font-size:.8rem; }
.defs dl { display:grid; grid-template-columns:max-content 1fr; gap:4px 14px; margin:0; }
.defs dt { font-weight:600; color:var(--ink); } .defs dd { margin:0; color:var(--ink-soft); }

/* controls */
.ctrls { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:flex-end; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px 18px; margin:18px 0; font-family:var(--ui); }
.ctrls label { display:flex; flex-direction:column; gap:4px; font-size:.78rem; color:var(--muted); }
.ctrls select, .ctrls input[type=text], .ctrls input[type=search] { font:.92rem var(--ui); padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); min-width:160px; }
.ctrls select:focus, .ctrls input:focus { outline:3px solid #bcd6ea; outline-offset:1px; }
.seg { display:inline-flex; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.seg button { font:.86rem var(--ui); padding:7px 12px; border:0; background:#fff; color:var(--ink-soft); cursor:pointer; }
.seg button + button { border-left:1px solid var(--line); }
.seg button.on { background:var(--accent); color:#fff; }
.btn { font:.9rem var(--ui); background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:6px; padding:8px 14px; cursor:pointer; text-decoration:none; display:inline-block; }
.btn:hover { background:#174a6d; }
.btn.ghost { background:#fff; color:var(--accent); }
.note { font-family:var(--ui); font-size:.84rem; color:var(--muted); }

/* tiles */
.tiles { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:12px; margin:18px 0; }
.tile { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:12px 14px; box-shadow:var(--shadow-sm); }
.tile .k { font-family:var(--ui); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.tile .v { font-family:var(--ui); font-size:1.5rem; font-weight:700; color:var(--accent); line-height:1.15; margin-top:4px; font-variant-numeric:tabular-nums; }
.tile .v.small { font-size:1.05rem; }
.tile .s { font-family:var(--ui); font-size:.76rem; color:var(--muted); margin-top:4px; }

/* panels + charts */
.panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px 14px; margin:0 0 20px; box-shadow:var(--shadow-sm); }
.panel-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.panel-title { font-size:1.15rem; font-weight:600; }
.panel-sub { font-family:var(--ui); font-size:.84rem; color:var(--muted); }
.chart { width:100%; }
.chart svg { width:100%; height:auto; display:block; font-family:var(--ui); }
.chart .bar { cursor:pointer; }
.chart .bar:hover rect.hit { fill:rgba(31,95,139,.08); }
.legend { display:flex; flex-wrap:wrap; gap:6px 16px; font-family:var(--ui); font-size:.8rem; color:var(--muted); margin:8px 0 0; }
.legend i { display:inline-block; width:12px; height:12px; border-radius:2px; margin-right:6px; vertical-align:-2px; }
.legend i.line { height:0; border-top:2px dashed var(--face); vertical-align:2px; }
.legend i.hatch { background:repeating-linear-gradient(45deg,#fff 0 3px,#9aa7b3 3px 5px); }
.readout { font-family:var(--ui); font-size:.92rem; background:var(--accent-wash); border-left:4px solid var(--accent); border-radius:0 8px 8px 0; padding:10px 14px; margin:10px 0 0; }
.readout b { color:var(--accent); }
.setaside { font-family:var(--ui); font-size:.88rem; color:var(--ink-soft); border-left:4px solid var(--gold); background:#fbf6ea; padding:10px 14px; border-radius:0 8px 8px 0; margin:10px 0 0; }

/* text twins and tables */
details.twin { margin:10px 0 0; font-family:var(--ui); }
details.twin summary { cursor:pointer; color:var(--accent); font-size:.88rem; }
.tbl-wrap { overflow-x:auto; }
table.tbl { border-collapse:collapse; width:100%; font-family:var(--ui); font-size:.86rem; margin:8px 0; font-variant-numeric:tabular-nums; }
table.tbl th, table.tbl td { border:1px solid var(--line-soft); padding:6px 9px; text-align:left; white-space:nowrap; }
table.tbl th { background:var(--hero); color:#fff; font-weight:600; position:sticky; top:0; }
table.tbl th.sort { cursor:pointer; } table.tbl th.sort:after { content:" \2195"; opacity:.5; } table.tbl th.sort.asc:after { content:" \2191"; opacity:1; } table.tbl th.sort.desc:after { content:" \2193"; opacity:1; }
table.tbl td.num, table.tbl th.num { text-align:right; }
table.tbl tbody tr:nth-child(even) { background:var(--bg); }
table.tbl tbody tr.link { cursor:pointer; } table.tbl tbody tr.link:hover { background:var(--accent-wash); }
table.tbl tr.partial td { color:var(--muted); font-style:italic; }
.badge { display:inline-block; font:.72rem/1.4 var(--ui); padding:1px 7px; border-radius:999px; border:1px solid transparent; white-space:nowrap; }
.badge.t1 { background:var(--tier1); color:#fff; } .badge.t2 { background:var(--tier2); color:#0f2a40; } .badge.t3 { background:var(--tier3); color:#0f2a40; } .badge.t0 { background:#eee; color:var(--muted); }
.badge.flag { background:#fbf0e6; color:#8a4a12; border-color:#e6c9a8; } .badge.ok { background:#eaf5ee; color:#1e5c36; border-color:#bfe0cc; } .badge.pt { background:#f1eef8; color:#4c3b7a; border-color:#d6cbe8; }
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin:18px 0 0; font-family:var(--ui); }
.tabs button { font:.9rem var(--ui); background:none; border:0; border-bottom:3px solid transparent; padding:10px 14px; color:var(--ink-soft); cursor:pointer; }
.tabs button.on { color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.provenance { margin-top:32px; font-family:var(--ui); font-size:.84rem; color:var(--muted); border-top:1px solid var(--line); padding-top:12px; }
.provenance p { margin:0 0 8px; }
.empty { font-family:var(--ui); color:var(--muted); padding:30px; text-align:center; }
.err { font-family:var(--ui); color:var(--alert); background:#fbeeec; border:1px solid #f0c9c3; border-radius:8px; padding:10px 14px; }

@media (max-width:860px) { .hero .wrap { grid-template-columns:1fr; } .hero h1 { font-size:2.1rem; } .stats { grid-template-columns:repeat(2,1fr); } .window .wrap { grid-template-columns:1fr; gap:6px; } .primer, .split { grid-template-columns:1fr; } }
@media print { .hero { background:#fff; color:#000; } .hero:before { display:none; } .heroviz { display:none; } .card a.btn, .btn { border:1px solid var(--accent); color:var(--accent); background:none; } body { background:#fff; } .ctrls, .wr-nav { display:none; } details.twin { open:true; } }

/* landing v2 (2026-09-18): simpler page, three stats, four facts, sign-in panel */
.stats.stats-3 { grid-template-columns:repeat(3,1fr); }
.plain { max-width:46em; margin:34px 0 18px; font-size:1.08rem; line-height:1.6; }
.plain h2 { font-size:1.5rem; margin:0 0 10px; line-height:1.2; }
.plain p { margin:0 0 12px; }
.tools-h { font-size:1.5rem; margin:34px 0 14px; }
.facts { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap:14px; margin:6px 0 14px; }
.fact { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow-sm); }
.fact .n { font-family:var(--ui); font-size:1.9rem; font-weight:700; color:var(--accent); line-height:1.1; margin-bottom:6px; font-variant-numeric:tabular-nums; }
.fact .t { font-size:.98rem; line-height:1.5; color:var(--ink-soft); }
.note.fine { max-width:70em; margin:0 0 10px; }
.signin { display:grid; grid-template-columns:1fr auto; gap:18px 28px; align-items:center; background:#fff; border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:var(--radius); padding:18px 24px; margin:10px 0 36px; }
.signin .step { font-family:var(--ui); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:4px; }
.signin h2 { font-size:1.3rem; margin:0 0 6px; }
.signin p { margin:0; color:var(--ink-soft); }
.signin-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.btn.gold { background:var(--gold); border-color:var(--gold); color:#1b2a3a; } .btn.gold:hover { background:#c8932f; border-color:#c8932f; }
.why { position:relative; display:inline-block; font-family:var(--ui); }
.whybtn { background:none; border:0; padding:0; color:var(--accent); font:inherit; font-size:.86rem; text-decoration:underline dotted; cursor:pointer; }
.why.compact .whybtn { font-size:.78rem; }
.whytip { position:absolute; z-index:80; right:0; top:calc(100% + 8px); width:min(34rem, 88vw); background:#fff; color:var(--ink); border:1px solid var(--line); border-top:4px solid var(--gold); border-radius:8px; padding:12px 14px; font-size:.86rem; line-height:1.5; box-shadow:0 8px 28px rgba(15,30,45,.18); display:none; text-align:left; }
.why:hover .whytip, .why:focus-within .whytip, .why.open .whytip { display:block; }
.wr-nav .locked .why { vertical-align:baseline; margin-left:6px; }
@media (max-width:860px) { .stats.stats-3 { grid-template-columns:1fr; } .signin { grid-template-columns:1fr; } .whytip { right:auto; left:0; } }
.briefings { background:#fff; border:1px solid var(--line); border-left:5px solid var(--accent-mid); border-radius:var(--radius); padding:16px 24px; margin:10px 0 18px; }
.briefings .step { font-family:var(--ui); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:4px; }
.briefings h2 { font-size:1.2rem; margin:0 0 6px; } .briefings p { margin:0; color:var(--ink-soft); }
.signin .whytip { top:auto; bottom:calc(100% + 8px); }
/* tile explainers: hover or focus shows what the header means */
.tile[data-tip] { position:relative; cursor:help; }
.tile[data-tip]:focus-visible { outline:3px solid #bcd6ea; outline-offset:2px; }
.tile[data-tip]::after { content:attr(data-tip); position:absolute; left:0; top:calc(100% + 6px); z-index:70; width:min(28rem, 84vw); background:#fff; color:var(--ink); border:1px solid var(--line); border-top:4px solid var(--accent-mid); border-radius:8px; padding:10px 12px; font:.84rem/1.5 var(--ui); box-shadow:0 8px 28px rgba(15,30,45,.18); display:none; white-space:normal; }
.tile[data-tip]:hover::after, .tile[data-tip]:focus::after, .tile[data-tip]:focus-within::after { display:block; }
.tile[data-tip] .k::after { content:" ?"; color:var(--accent-mid); font-weight:700; }
.tile[data-tip]:last-child::after, .tile[data-tip]:nth-last-child(2)::after { left:auto; right:0; }

/* Water Supply toolkit additions (2026-09-18): series colors for the inflow split, binding reasons, storage band, calendar */
:root {
  --cvp:#1f5f8b; --swp:#5a94c4; --oth:#a9c4da; --indelta:#b9b3a3; --floor:#d9d2bd; --above:#e6eef4; --above-line:#2f7ab0;
  --r-nosurplus:#b06a24; --r-rule:#1f5f8b; --r-phys:#2c7a4b; --r-unexp:#c9d6e2; --r-nodata:#eeeeee;
  --band-outer:#dbe7f1; --band-inner:#b7cfe3; --median:#1f5f8b; --current:#b8412e; --prior:#d9a441;
}
.legend i.dash { height:0; border-top:2px dashed var(--face); vertical-align:2px; }
.legend i.solid { height:0; border-top:2px solid var(--current); vertical-align:2px; }
.cal { display:grid; grid-template-columns:auto repeat(12, 1fr); gap:3px; font-family:var(--ui); font-size:.74rem; }
.cal .h { text-align:center; color:var(--muted); padding:2px 0; }
.cal .y { color:var(--ink-soft); padding-right:6px; text-align:right; font-variant-numeric:tabular-nums; align-self:center; }
.cal .c { min-height:26px; border-radius:3px; display:flex; align-items:center; justify-content:center; color:#fff; font-variant-numeric:tabular-nums; cursor:default; }
.cal .c.light { color:var(--ink); }
.cal .c.sel { outline:2px solid var(--ink); }
.reason-key { display:flex; flex-wrap:wrap; gap:6px 16px; font-family:var(--ui); font-size:.8rem; color:var(--muted); margin:8px 0 0; }
.reason-key i { display:inline-block; width:12px; height:12px; border-radius:2px; margin-right:6px; vertical-align:-2px; }
.related { font-family:var(--ui); font-size:.88rem; color:var(--muted); margin:0 0 30px; }
.related a { margin-right:14px; }
.tabpanel[hidden] { display:none; }
.ctrls label[hidden] { display:none; }
@media (max-width:860px) { .cal { font-size:.62rem; } .cal .c { min-height:20px; } }

/* ---- second session 2026-09-18: upstream, scenarios, lookup pages (layout classes, no branding tokens) ---- */
/* upstream.html */
.hbars { display:grid; grid-template-columns:minmax(150px,max-content) 1fr max-content; gap:6px 12px; align-items:center; font-size:.9rem; }
.hbars .nm { text-align:right; color:var(--ink); }
.hbars .bar { height:16px; background:#e6edf3; border-radius:3px; overflow:hidden; }
.hbars .bar i { display:block; height:100%; }
.hbars .val { font-variant-numeric:tabular-nums; color:#5b6b7a; }
.hbars .grp { grid-column:1 / -1; font-weight:600; margin-top:8px; color:var(--ink); }
.callout { background:#fbf7ec; border-left:4px solid var(--gold, #d9a441); padding:10px 14px; border-radius:6px; margin:14px 0; font-size:.95rem; }
/* scenarios.html */
.model-tag { display:inline-block; font-family:var(--ui); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; padding:3px 8px; border-radius:4px; background:#efe6d3; color:#6b4f14; margin-right:8px; vertical-align:middle; }
.model-tag.obs { background:#dfeaf3; color:#1f4a6b; }
.chart.short { min-height:200px; }
.dbars { display:grid; grid-template-columns:minmax(220px,max-content) 1fr max-content; gap:5px 12px; align-items:center; font-size:.88rem; }
.dbars .nm { text-align:right; color:var(--ink); }
.dbars .nm.base { font-weight:600; }
.dbars .bar { position:relative; height:14px; }
.dbars .bar .axis { position:absolute; left:50%; top:-3px; bottom:-3px; width:1px; background:#5b6b7a; }
.dbars .bar i { position:absolute; top:0; height:100%; display:block; }
.dbars .val { font-variant-numeric:tabular-nums; color:#5b6b7a; white-space:nowrap; }
.callout { background:#fbf7ec; border-left:4px solid var(--gold, #d9a441); padding:10px 14px; border-radius:6px; margin:14px 0; font-size:.95rem; }
/* lookup.html */
.lookup-form { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:end; margin:14px 0 6px; }
.lookup-form label { display:flex; flex-direction:column; gap:4px; font-family:var(--ui); font-size:.85rem; color:#5b6b7a; }
.lookup-form input[type=text] { min-width:260px; padding:8px 10px; border:1px solid var(--line); border-radius:6px; font-size:1rem; }
.lookup-form select { padding:8px 10px; border:1px solid var(--line); border-radius:6px; font-size:1rem; }
.place-card { background:#fff; border:1px solid var(--line); border-left:5px solid var(--accent, #1f5f8b); border-radius:var(--radius); padding:16px 20px; margin:14px 0; box-shadow:var(--shadow-sm); }
.place-card h2 { margin:0 0 6px; font-size:1.4rem; }
.place-card .pos { font-family:var(--ui); color:#5b6b7a; margin-bottom:10px; }
.place-card dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; margin:0; }
.place-card dt { font-weight:600; }
.place-card dd { margin:0; }
.chips span { display:inline-block; background:#eef3f7; border-radius:14px; padding:3px 10px; margin:2px 4px 2px 0; font-size:.88rem; }
.hint { font-size:.9rem; color:#5b6b7a; }
