@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--sand:#f7f1e4;--sea-mist:#d8eef0;--sea-shadow:#0f4c5c;--ink-main:#143543;--ink-muted:#345260;--ink-soft:#4f6770;--line:#0c37451a;--font-display:"Sora", sans-serif;--font-body:"Manrope", sans-serif;--font-mono:"IBM Plex Mono", monospace;font-family:var(--font-body);color:var(--ink-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#d2eef6d9,#d2eef600 44%),linear-gradient(#bfe2e8 0%,#d8edf0 34%,#f7f1e4 100%);font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #ffffff47, #fff0), repeating-linear-gradient(90deg, #ffffff1f 0, #ffffff1f 1px, transparent 1px, transparent 90px), var(--sand);min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background:radial-gradient(circle at 12% 12%,#ffffffb3,#fff0),radial-gradient(circle at 82% 18%,#ffffff75,#fff0),linear-gradient(#ffffff14,#fff0);position:fixed;inset:0}a{color:inherit}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--sea-shadow);outline-offset:3px}#root{min-height:100vh}.eyebrow{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.74rem;font-weight:800}h1,h2{color:var(--ink-main);font-family:var(--font-display);margin:0;font-weight:700;line-height:.98}h1{letter-spacing:-.035em;max-width:11.5ch;font-size:clamp(2.35rem,5.2vw,3.95rem);line-height:1.04}h2{letter-spacing:-.025em;font-size:clamp(1.35rem,2.3vw,1.9rem)}p,li,span,strong{font-family:var(--font-body);letter-spacing:.005em}code{font-family:var(--font-mono)}.app-shell{--tone-main:#497a8a;--tone-soft:#b8d8de;--tone-deep:#103745;--tone-sand:#f7f0de;--score-angle:0deg;--score-position:0%;background:linear-gradient(#fffc,#f6f3e8eb),radial-gradient(circle at 0 0,#ffffffe6,#0000 38%);border:1px solid #0c37451f;border-radius:32px;width:min(1240px,100% - 24px);min-height:calc(100svh - 24px);margin:12px auto;padding:24px;position:relative;overflow:hidden;box-shadow:0 24px 70px #12375229,inset 0 1px #fffc}.ambient{pointer-events:none;filter:blur(.5px);position:absolute;inset:auto}.ambient--sky{background:radial-gradient(circle,#74c7de4d,#74c7de00);border-radius:50%;width:420px;height:420px;top:-120px;right:-100px}.ambient--foam{background:radial-gradient(circle at 30% 30%,#fefcf6f2,#fefcf600),linear-gradient(#58b0be33,#58b0be00);border-radius:40% 60% 0 0;width:420px;height:260px;bottom:-120px;left:-80px}.masthead{z-index:1;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex;position:relative}.brand-lockup{align-items:center;gap:16px;max-width:760px;display:flex}.brand-mark{color:#fefcf5;width:62px;height:62px;font-family:var(--font-display);letter-spacing:.18em;background:linear-gradient(145deg,#0a4758f5,#228494f0),linear-gradient(#ffffff3d,#fff0);border-radius:18px;place-items:center;font-size:1.2rem;display:grid;box-shadow:inset 0 1px #ffffff4d}.masthead-copy{max-width:56ch;color:var(--ink-muted);margin:0;font-size:.97rem}.masthead-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.status-pill,.refresh-button,.freshness-tag,.penalty-strip span,.info-chip,.metric-card,.station-card,.insight-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-pill{color:var(--ink-muted);background:#fefcf6db;border:1px solid #0c374514;border-radius:999px;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.status-pill--alert{color:#8d332b;background:#ffe6e2e6;border-color:#c451443d}.refresh-button{appearance:none;font:inherit;color:#fefcf5;cursor:pointer;background:linear-gradient(135deg,#114153,#2e7f8a);border:0;border-radius:999px;padding:.78rem 1.05rem;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 14px 30px #11415333}.refresh-button:hover:not(:disabled),.refresh-button:focus-visible{transform:translateY(-1px);box-shadow:0 18px 34px #11415342}.refresh-button:disabled{cursor:wait;opacity:.7}.dashboard{z-index:1;gap:18px;display:grid;position:relative}.hero-card{background:linear-gradient(180deg, #ffffffad, #ffffff80), radial-gradient(circle at top left, #ffffffb8, #fff0 40%), linear-gradient(135deg, color-mix(in srgb, var(--tone-soft) 62%, white), color-mix(in srgb, var(--tone-sand) 74%, white));border:1px solid #0c374514;border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:18px;padding:22px 24px;display:grid;position:relative;box-shadow:inset 0 1px #fffc}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff80,#fff0);border-radius:50%;width:130px;height:130px;position:absolute;inset:16px 18px auto auto}.hero-copy{align-content:start;gap:14px;display:grid}.hero-lede{max-width:48ch;color:var(--ink-main);margin:0;font-size:1rem;font-weight:600;line-height:1.45}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.info-chip{background:#fefcf6c2;border:1px solid #0c374514;border-radius:16px;flex-direction:column;gap:3px;min-width:106px;padding:.72rem .88rem;display:inline-flex}.info-chip span{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.info-chip strong{color:var(--ink-main);font-size:.92rem}.score-panel{align-content:center;justify-items:center;gap:12px;min-height:250px;display:grid;position:relative}.score-ring{aspect-ratio:1;background:conic-gradient(from -90deg, var(--tone-main) 0deg, var(--tone-main) var(--score-angle), #ffffff59 var(--score-angle), #ffffff59 360deg);border-radius:50%;place-items:center;width:min(100%,236px);display:grid;position:relative;box-shadow:inset 0 0 0 18px #ffffff5c,0 24px 50px #1141532e}.score-ring:before{content:"";background:radial-gradient(circle at 50% 30%,#ffffffeb,#fff6 65%,#ffffff47),linear-gradient(#ffffff2e,#fff9);border-radius:50%;position:absolute;inset:12%}.score-core{z-index:1;text-align:center;justify-items:center;gap:4px;width:74%;display:grid;position:relative}.score-value{font-family:var(--font-display);color:var(--tone-deep);font-size:clamp(3.4rem,7vw,4.6rem);line-height:.9}.score-rating{max-width:15ch;color:var(--tone-deep);font-size:.88rem;font-weight:700}.score-scale{gap:6px;width:min(100%,260px);display:grid}.score-scale__labels{color:var(--ink-muted);letter-spacing:.04em;justify-content:space-between;font-size:.73rem;font-weight:700;display:flex}.score-scale__track{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:4px;display:grid;position:relative}.score-scale__band{border-radius:999px;height:10px;display:block}.score-scale__band--low{background:linear-gradient(90deg,#c64f46,#d97258)}.score-scale__band--mid{background:linear-gradient(90deg,#dda04c,#ebc16f)}.score-scale__band--high{background:linear-gradient(90deg,#78b7a5,#329078)}.score-scale__marker{top:50%;left:var(--score-position);border:3px solid var(--tone-deep);background:#fffdf7;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #1037452e}.wave-ribbon{border-radius:999px;height:64px;position:absolute;bottom:20px;left:8%;right:8%;overflow:hidden}.wave-ribbon span{background:linear-gradient(180deg, #ffffff2e, color-mix(in srgb, var(--tone-main) 66%, white));opacity:.9;border-radius:44% 56% 0 0;height:52px;animation:10s linear infinite swell;position:absolute;inset:auto -20% 0}.wave-ribbon span:nth-child(2){opacity:.68;animation-duration:13s;animation-delay:-4s;bottom:-10px}.wave-ribbon span:nth-child(3){opacity:.45;animation-duration:18s;animation-delay:-1s;bottom:-24px}.hero-caption{z-index:1;text-align:center;max-width:26ch;color:var(--ink-muted);margin:0;font-size:.86rem;font-weight:600;position:relative}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:#fefcf6b8;border:1px solid #0c374514;border-radius:20px;gap:6px;padding:16px 18px;display:grid}.metric-card--accent{background:linear-gradient(135deg, color-mix(in srgb, var(--tone-deep) 92%, black), color-mix(in srgb, var(--tone-main) 84%, white)), #114153f2;border-color:color-mix(in srgb, var(--tone-main) 26%, #0c374514)}.metric-card strong{color:var(--ink-main);font-family:var(--font-display);font-size:1.9rem;line-height:1}.metric-card span{color:var(--ink-muted);font-size:.92rem}.metric-card--accent strong,.metric-card--accent span,.metric-card--accent .eyebrow{color:#fefcf5}.station-grid,.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.station-card,.insight-card{background:#fefcf6c2;border:1px solid #0c374514;border-radius:24px;gap:14px;padding:18px 20px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffb8}.station-card--empty{text-align:center;place-items:center;min-height:280px}.station-card__header,.station-card__scoreline,.station-card__footer,.insight-card__header{justify-content:space-between;gap:16px;display:flex}.station-card__header,.insight-card__header{align-items:flex-start}.station-card__badges,.station-card__submetrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.freshness-tag{background:#fff9;border:1px solid #0c374514;border-radius:999px;align-items:center;padding:.42rem .68rem;font-size:.78rem;font-weight:700;display:inline-flex}.freshness-tag--fresh{color:#195b50;background:#d7f4eae0}.freshness-tag--stale{color:#8a5b1f;background:#fbe8c1e0}.freshness-tag--missing{color:#8a3830;background:#ffe2dde0}.freshness-tag--driver{color:var(--tone-deep);background:color-mix(in srgb, var(--tone-soft) 74%, white)}.station-card__role,.station-card__timestamp,.station-card__note,.guardrail-copy p,.signal-list li,.station-card__submetrics span{color:var(--ink-muted)}.station-card h2{font-size:1.7rem}.station-card__role,.station-card__timestamp,.station-card__note{margin:0}.station-card__scoreline{align-items:end}.station-score{font-family:var(--font-display);color:var(--ink-main);font-size:2.7rem;line-height:.94}.station-card__note{text-align:right;max-width:24ch;font-size:.92rem}.station-card__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mini-metric{background:#ffffff8f;border:1px solid #0c37450f;border-radius:14px;gap:4px;padding:11px 12px;display:grid}.mini-metric span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.mini-metric strong{color:var(--ink-main);font-size:.9rem;line-height:1.35}.station-card__footer{align-items:center;padding-top:2px}.penalty-strip{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.penalty-strip span{color:var(--ink-main);background:#1037451a;border-radius:999px;align-items:center;padding:.34rem .58rem;font-size:.74rem;font-weight:700;display:inline-flex}.signal-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.signal-list li{padding-left:20px;position:relative}.signal-list li:before{content:"•";color:var(--ink-main);position:absolute;left:0}.guardrail-copy{gap:10px;display:grid}.guardrail-copy p{margin:0}.insight-card h2{font-family:var(--font-body);letter-spacing:-.02em;font-size:1.08rem;font-weight:800;line-height:1.2}.insight-card .eyebrow{margin-bottom:4px}@keyframes swell{0%{transform:translate(-12%)}to{transform:translate(12%)}}@media (width<=1040px){.app-shell{padding:20px}.hero-card,.metric-grid,.station-grid,.insight-grid{grid-template-columns:1fr}.score-panel{min-height:220px}}@media (width<=760px){.app-shell{border-radius:24px;width:calc(100% - 14px);margin:7px auto;padding:16px}.masthead,.station-card__header,.station-card__scoreline,.station-card__footer,.insight-card__header{flex-direction:column}.masthead-actions,.station-card__badges,.station-card__submetrics,.penalty-strip{justify-content:flex-start}.hero-card,.station-card,.insight-card{border-radius:22px;padding:16px}.score-panel{min-height:210px}.station-card__note{text-align:left}.station-card__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.brand-lockup{align-items:flex-start}.brand-mark{border-radius:16px;width:54px;height:54px}.info-chip,.metric-card{min-width:0}.station-card__grid{grid-template-columns:1fr}}
