/* Tesoro Highlands — shared shell: tokens, top nav, live status strip, hub, stubs */
*,*::before,*::after{box-sizing:border-box;}
:root{
  --bg:#f4f5f7; --surface:#fff; --ink:#14161b; --ink-2:#3b414c; --muted:#6b7280;
  --line:#e6e8ec; --line-2:#eef0f3; --accent:#1f2937;
  --ok-bg:#e8f6ee; --ok-fg:#17703f; --ok-line:#bfe6cd;
  --cau-bg:#fdf2e2; --cau-fg:#a25a09; --cau-line:#f4dcb6;
  --dan-bg:#fdecec; --dan-fg:#b01c1c; --dan-line:#f5c9c9;
  --neu-bg:#eef1f4; --neu-fg:#4b5563; --neu-line:#dfe3e8;
  --radius:16px; --shadow:0 1px 2px rgba(16,18,23,.04),0 6px 20px rgba(16,18,23,.05);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0f1114; --surface:#171a1f; --ink:#f2f4f7; --ink-2:#c4cad3; --muted:#8b94a1;
  --line:#262b32; --line-2:#20242a; --accent:#e5e7eb;
  --ok-bg:#122a1c;--ok-fg:#5fd68e;--ok-line:#1f4a30; --cau-bg:#2c2010;--cau-fg:#f0b054;--cau-line:#513a17;
  --dan-bg:#2e1414;--dan-fg:#f38585;--dan-line:#5a2323; --neu-bg:#1d2127;--neu-fg:#aab2bd;--neu-line:#2b3038;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
}}

body.th{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.thwrap{max-width:760px;margin:0 auto;padding:0 16px 48px;}

/* top nav */
.thnav{position:sticky;top:0;z-index:60;background:var(--surface);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:12px;padding:9px 16px;}
.thnav .brand{display:flex;align-items:center;gap:8px;font-weight:680;font-size:15px;letter-spacing:-0.01em;color:var(--ink);text-decoration:none;flex:none;}
.thnav .brand svg{width:22px;height:22px;flex:none;border-radius:6px;}
.thnav .links{display:flex;gap:1px;margin-left:auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.thnav .links::-webkit-scrollbar{display:none;}
.thnav .links a{color:var(--ink-2);text-decoration:none;font-size:13px;font-weight:540;padding:6px 10px;border-radius:8px;white-space:nowrap;}
.thnav .links a:hover{background:var(--neu-bg);}
.thnav .links a[aria-current="page"]{color:var(--ink);background:var(--neu-bg);font-weight:640;}

/* live "right now" strip */
.thstrip{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:13px;font-weight:540;text-decoration:none;border-bottom:1px solid;}
.thstrip .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.thstrip.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-line);} .thstrip.ok .dot{background:var(--ok-fg);}
.thstrip.caution{background:var(--cau-bg);color:var(--cau-fg);border-color:var(--cau-line);} .thstrip.caution .dot{background:var(--cau-fg);}
.thstrip.danger{background:var(--dan-bg);color:var(--dan-fg);border-color:var(--dan-line);} .thstrip.danger .dot{background:var(--dan-fg);}
.thstrip.neutral{background:var(--neu-bg);color:var(--neu-fg);border-color:var(--neu-line);} .thstrip.neutral .dot{background:var(--muted);}
.thstrip .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.thstrip .arrow{opacity:.65;font-size:12px;font-weight:600;flex:none;}

/* hub landing */
.hub-head{padding:26px 0 4px;}
.hub-head h1{font-size:26px;margin:0;letter-spacing:-0.02em;font-weight:700;}
.hub-head p{color:var(--muted);margin:6px 0 0;font-size:14px;}
.hub-hero{margin:16px 0 6px;border-radius:var(--radius);border:1px solid;padding:18px 20px;box-shadow:var(--shadow);}
.hub-hero.ok{background:var(--ok-bg);border-color:var(--ok-line);} .hub-hero.caution{background:var(--cau-bg);border-color:var(--cau-line);}
.hub-hero.danger{background:var(--dan-bg);border-color:var(--dan-line);} .hub-hero.neutral{background:var(--neu-bg);border-color:var(--neu-line);}
.hub-hero .eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:680;opacity:.85;}
.hub-hero.ok .eyebrow,.hub-hero.ok .htext{color:var(--ok-fg);} .hub-hero.caution .eyebrow,.hub-hero.caution .htext{color:var(--cau-fg);} .hub-hero.danger .eyebrow,.hub-hero.danger .htext{color:var(--dan-fg);}
.hub-hero .htext{font-size:17px;font-weight:620;letter-spacing:-0.01em;margin:4px 0 10px;line-height:1.35;}
.hub-hero .hlink{font-size:13px;font-weight:640;text-decoration:none;color:inherit;opacity:.9;}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr;}}
.hub-card{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);color:var(--ink);transition:border-color .15s,transform .05s;}
.hub-card:hover{border-color:var(--muted);} .hub-card:active{transform:translateY(1px);}
.hub-card .ico{font-size:24px;line-height:1;}
.hub-card h3{margin:10px 0 4px;font-size:16px;letter-spacing:-0.01em;}
.hub-card p{margin:0;color:var(--ink-2);font-size:12.5px;line-height:1.5;}
.hub-card .tag{display:inline-block;margin-top:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--neu-bg);padding:2px 8px;border-radius:999px;}
.hub-card .tag.live{color:var(--ok-fg);background:var(--ok-bg);}

/* stubs */
.stub{padding:44px 0 24px;text-align:center;}
.stub .ico{font-size:40px;line-height:1;}
.stub h1{font-size:24px;margin:12px 0 6px;letter-spacing:-0.02em;}
.stub .lede{color:var(--ink-2);font-size:14.5px;max-width:460px;margin:0 auto;}
.stub .soon{display:inline-block;margin-top:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cau-fg);background:var(--cau-bg);border:1px solid var(--cau-line);padding:3px 11px;border-radius:999px;}
.stub .planned{max-width:470px;margin:24px auto 0;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);}
.stub .planned h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 10px;font-weight:680;}
.stub .planned li{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-bottom:9px;list-style:none;padding-left:22px;position:relative;}
.stub .planned li:before{content:"→";position:absolute;left:0;color:var(--muted);}
.stub .planned li b{color:var(--ink);font-weight:620;}

/* shared footer */
.thfoot{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px;line-height:1.6;}
.thfoot a{color:var(--muted);}
.thfoot b{color:var(--ink-2);}
