/* Roaring River shared theme. Place at /css/theme.css */
:root{
  --text:#0f172a; --muted:#64748b; --border:rgba(226,232,240,.72);
  --teal:#0f766e; --green:#16a34a; --blue:#2563eb; --amber:#d97706; --red:#dc2626; --purple:#7c3aed; --cyan:#0891b2;
  --glass:rgba(255,255,255,.84); --glass-strong:rgba(255,255,255,.92); --glass-border:rgba(255,255,255,.34);
  --radius-lg:24px; --radius-xl:34px; --shadow:0 22px 55px rgba(0,0,0,.24); --shadow-hover:0 30px 70px rgba(0,0,0,.28);
  --container:1180px;
}
*{box-sizing:border-box} html{min-height:100%}
body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(rgba(15,23,42,.76),rgba(15,23,42,.88)),url('/images/rrsp.png') center center/cover fixed no-repeat;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 30%),radial-gradient(circle at 78% 12%,rgba(45,212,191,.15),transparent 28%)}
a{color:inherit}.container,.wrap{max-width:var(--container);margin:0 auto;padding:32px clamp(18px,3vw,32px) 56px}.hero{color:#fff;margin-bottom:34px;text-shadow:0 2px 14px rgba(0,0,0,.46)}.hero.center,.hero.hero-center{text-align:center}.hero h1{font-size:clamp(34px,5.4vw,58px);font-weight:950;letter-spacing:-.055em;line-height:.96;margin:0 0 10px}.hero p,.hero-sub{color:rgba(255,255,255,.84);font-size:17px;line-height:1.5;margin:0}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin-bottom:18px}
.glass,.card,.page-card,.chart-card,.context,.thresholds,.outlook,.tim-advice-card,.tackle-section,.conditions-hero{background:linear-gradient(180deg,var(--glass-strong),var(--glass));border:1px solid var(--glass-border);box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.card,.page-card,.chart-card,.context,.thresholds,.outlook,.tim-advice-card,.tackle-section{border-radius:var(--radius-lg);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover,.page-card:hover,.chart-card:hover,.context:hover,.thresholds:hover,.outlook:hover,.tim-advice-card:hover,.tackle-section:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(255,255,255,.46)}
.stat,.context-item,.outlook-day,.mini-stats>div,.stage,.tackle-note,.estimate-box{background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.38)}.label,.card-label,.context-title,.thresholds-title,.outlook-title,.ta-col-title,.tackle-col-title,.legend-title{color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.value,.card-value{color:var(--text);font-weight:950;letter-spacing:-.045em}.meta,.card-sub,.card-unit,.unit,.outlook-note,.context-item-note,.source{color:var(--muted)}
button,.button,input[type=submit]{border:0;border-radius:999px;padding:9px 14px;cursor:pointer;background:rgba(226,232,240,.88);color:#0f172a;font-weight:850;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}button:hover,.button:hover,input[type=submit]:hover{transform:translateY(-1px);background:rgba(255,255,255,.95);box-shadow:0 10px 22px rgba(0,0,0,.12)}button.active,.button.active{background:var(--teal);color:#fff}input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(14,165,233,.7);outline-offset:2px}
table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.source,.footer{color:rgba(255,255,255,.76);text-shadow:0 1px 8px rgba(0,0,0,.35)}.source a,.footer a{color:#fff;font-weight:800}
.site-nav{position:sticky;top:0;z-index:1000;min-height:62px;padding:0 clamp(18px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(8,47,47,.54);border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 18px 50px rgba(0,0,0,.18);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}.site-nav::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03))}.site-nav-brand,.site-nav-right{position:relative;z-index:1}.site-nav-brand{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:950;font-size:17px;letter-spacing:-.03em;white-space:nowrap;opacity:.96;transition:opacity .18s,transform .18s}.site-nav-brand:hover{opacity:1;transform:translateY(-1px)}.site-nav-wave{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.20);font-size:19px}.site-nav-right{display:flex;align-items:center;min-width:0}.site-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.site-nav-link{color:rgba(255,255,255,.74);text-decoration:none;font-size:12px;font-weight:850;letter-spacing:-.01em;padding:8px 11px;border-radius:999px;white-space:nowrap;transition:background .18s,color .18s,transform .18s,box-shadow .18s}.site-nav-link:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-1px)}.site-nav-link.active{background:rgba(255,255,255,.22);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 8px 22px rgba(0,0,0,.13)}.site-nav-dropdown{position:relative;display:none}.site-nav-dropbtn{display:flex;align-items:center;gap:7px;max-width:68vw;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:850;padding:9px 15px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-nav-dropbtn:hover{background:rgba(255,255,255,.22)}.site-nav-caret{font-size:10px;transition:transform .2s}.site-nav-dropbtn[aria-expanded=true] .site-nav-caret{transform:rotate(180deg)}.site-nav-menu{display:none;position:absolute;top:calc(100% + 12px);right:0;min-width:240px;overflow:hidden;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.62);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.24);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);z-index:2000}.site-nav-menu.open{display:block}.site-nav-item{display:block;padding:12px 16px;color:#102a43;text-decoration:none;font-size:14px;font-weight:800;border-bottom:1px solid rgba(226,232,240,.72);transition:background .14s,color .14s}.site-nav-item:last-child{border-bottom:none}.site-nav-item:hover{background:rgba(15,118,110,.08)}.site-nav-item.active{background:rgba(15,118,110,.12);color:var(--teal)}
@media(max-width:1180px){.site-nav-links{display:none}.site-nav-dropdown{display:block}}@media(max-width:700px){.container,.wrap{padding:22px 16px 42px}.hero{margin-bottom:24px}.hero h1{font-size:34px;letter-spacing:-.04em}.hero p,.hero-sub{font-size:15px}}@media(max-width:480px){.site-nav{min-height:58px;padding:0 14px;gap:12px}.site-nav-brand span:last-child{display:none}}
