@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{--canvas:#f1f4ef;--surface:#fbfcf8;--sea-mist:#e2eeeb;--sea-shadow:#152d34;--ink-main:#12212a;--ink-muted:#526268;--ink-soft:#6d797d;--line:#12212a1f;--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:linear-gradient(#dce9e6 0%,#eff4ef 42%,#f4f4ed 100%);font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #ffffff9e, #ffffff29), var(--canvas);min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#12212a0b 1px,#0000 1px),linear-gradient(90deg,#12212a09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000bd,#0000 72%);mask-image:linear-gradient(#000000bd,#0000 72%)}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:0;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:0;max-width:13ch;font-size:2.85rem;line-height:1.02}h2{letter-spacing:0;font-size:1.55rem}p,li,span,strong{font-family:var(--font-body);letter-spacing:0}code{font-family:var(--font-mono)}@media (width<=560px){h1{font-size:2.25rem}h2{font-size:1.35rem}}.app-shell{--score-position:0%;--bar-value:0%;--tone-main:#4a6f78;--tone-soft:#d6e5e2;--tone-deep:#152d34;--tone-line:#8ba3a0;width:min(1180px,100% - 32px);min-height:100svh;margin:0 auto;padding:22px 0 38px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:6px 0 20px;display:flex}.brand-lockup{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{color:#fffdf7;background:linear-gradient(#ffffff29,#fff0),#142d34;border:1px solid #12212a29;border-radius:8px;flex:none;place-items:center;width:54px;height:54px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -10px #ffffff0f}.brand-mark:before,.brand-mark:after{content:"";border:2px solid #ffffff38;border-left:0;border-right:0;border-radius:50%;height:18px;position:absolute;left:-10px;right:-10px}.brand-mark:before{bottom:-4px}.brand-mark:after{opacity:.55;bottom:8px}.brand-mark span{z-index:1;font-family:var(--font-display);font-size:.94rem;font-weight:800;position:relative}.masthead-copy{max-width:58ch;color:var(--ink-muted);margin:0;font-size:.96rem}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.status-pill{border:1px solid var(--line);max-width:460px;min-height:42px;color:var(--ink-muted);background:#ffffff9e;border-radius:8px;align-items:center;padding:.62rem .82rem;font-size:.88rem;font-weight:700;display:inline-flex}.status-pill--alert{color:#7d2d2d;background:#fff1ef;border-color:#a9363847}.refresh-button{appearance:none;background:var(--tone-deep);color:#fffdf7;cursor:pointer;min-height:42px;font:inherit;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.62rem .9rem;font-weight:800;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.refresh-button:hover:not(:disabled),.refresh-button:focus-visible{background:var(--tone-main);border-color:#ffffff5c;transform:translateY(-1px)}.refresh-button:disabled{cursor:wait;opacity:.65}.dashboard{gap:14px;padding-top:18px;display:grid}.readout-panel,.metric-card,.station-card,.analysis-panel{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;box-shadow:0 16px 44px #162d3812}.readout-panel{grid-template-columns:minmax(250px,340px) minmax(0,1fr) minmax(250px,310px);min-height:324px;display:grid;overflow:hidden}.readout-score{background:linear-gradient(180deg, #ffffff1f, #0000000f), var(--tone-deep);color:#fffdf7;border-right:1px solid #ffffff24;align-content:space-between;gap:18px;padding:24px;display:grid}.panel-label{color:currentColor;text-transform:uppercase;opacity:.78;margin:0;font-size:.74rem;font-weight:800}.score-lockup{align-items:end;gap:8px;display:flex}.score-value{color:#fffdf7;font-family:var(--font-display);font-size:5rem;font-weight:800;line-height:.88}.score-max{color:#fffdf7ad;padding-bottom:8px;font-size:1.2rem;font-weight:800}.score-rating{color:#fffdf7e0;max-width:22ch;margin:0;font-size:1.02rem;font-weight:800;line-height:1.3}.score-meter{gap:8px;display:grid}.score-meter__labels{color:#fffdf7b3;text-transform:uppercase;justify-content:space-between;font-size:.72rem;font-weight:800;display:flex}.score-meter__track{grid-template-columns:44fr 36fr 20fr;align-items:center;gap:4px;display:grid;position:relative}.score-meter__band{border-radius:999px;height:10px;display:block}.score-meter__band--low{background:#b64742}.score-meter__band--mid{background:#c98930}.score-meter__band--high{background:#2d8064}.score-meter__marker{top:50%;left:var(--score-position);background:var(--tone-main);border:3px solid #fffdf7;border-radius:50%;width:16px;height:16px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #0000002e}.briefing{align-content:center;gap:16px;padding:28px 30px;display:grid}.briefing-note{max-width:58ch;color:var(--ink-main);margin:0;font-size:1.04rem;font-weight:650;line-height:1.52}.briefing-meta{border:1px solid var(--line);background:#ffffff80;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:620px;display:grid;overflow:hidden}.info-chip{gap:2px;min-width:0;padding:12px 14px;display:grid}.info-chip+.info-chip{border-left:1px solid var(--line)}.info-chip span,.condition-row span,.station-scorebox span,.mini-metric span{color:var(--ink-soft);text-transform:uppercase;font-size:.7rem;font-weight:800}.info-chip strong,.condition-row strong{min-width:0;color:var(--ink-main);overflow-wrap:anywhere;font-size:.94rem;font-weight:800}.condition-panel{border-left:1px solid var(--line);background:linear-gradient(90deg, color-mix(in srgb, var(--tone-soft) 44%, white), #ffffffa3), #ffffff8f;align-content:center;display:grid}.condition-panel__header,.condition-row{border-bottom:1px solid #12212a1a;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 18px;display:flex}.condition-panel__header{align-items:center;padding-top:18px}.condition-panel__header strong{color:var(--tone-deep);font-size:1rem;font-weight:900}.condition-row:last-child{border-bottom:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{gap:12px;min-height:154px;padding:17px;display:grid}.metric-card--featured{background:linear-gradient(180deg, #ffffffc2, #ffffff94), color-mix(in srgb, var(--tone-soft) 62%, white);border-color:color-mix(in srgb, var(--tone-line) 62%, var(--line))}.metric-card strong{color:var(--ink-main);font-family:var(--font-display);margin-top:10px;font-size:2rem;line-height:1;display:block}.metric-card span{color:var(--ink-muted);font-size:.9rem;line-height:1.35}.inline-meter{background:#12212a1a;border-radius:999px;align-self:end;width:100%;height:8px;position:relative;overflow:hidden}.inline-meter span{width:var(--bar-value);border-radius:inherit;background:linear-gradient(90deg, var(--tone-main), var(--tone-line));height:100%;display:block}.station-grid,.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.station-card,.analysis-panel{gap:16px;padding:18px;display:grid}.station-card--active{border-color:color-mix(in srgb, var(--tone-line) 74%, var(--line));box-shadow:0 16px 44px #162d3812, inset 4px 0 0 var(--tone-main)}.station-card--empty{text-align:center;place-items:center;min-height:260px}.station-card__header,.station-card__summary,.station-card__footer,.analysis-panel__header{justify-content:space-between;gap:16px;display:flex}.station-card__header,.analysis-panel__header{align-items:flex-start}.station-card h2{max-width:15ch;font-size:1.55rem}.station-card__role,.station-card__context p,.station-card__context span,.guardrail-copy p,.signal-list li,.station-card__submetrics span{color:var(--ink-muted)}.station-card__role,.station-card__context p{margin:0}.station-card__badges,.station-card__submetrics,.penalty-strip{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.freshness-tag,.penalty-strip span{border:1px solid var(--line);background:#ffffffa3;border-radius:999px;align-items:center;min-height:30px;padding:.36rem .58rem;font-size:.74rem;font-weight:800;display:inline-flex}.freshness-tag--fresh{color:#1c5b4d;background:#e7f3ed;border-color:#23745f33}.freshness-tag--stale{color:#77501d;background:#f7ead6;border-color:#b879243d}.freshness-tag--missing{color:#7d2d2d;background:#f7dfdc;border-color:#a936383d}.freshness-tag--active{border-color:color-mix(in srgb, var(--tone-line) 44%, var(--line));background:color-mix(in srgb, var(--tone-soft) 72%, white);color:var(--tone-deep)}.station-card__summary{border:1px solid var(--line);background:#ffffff75;border-radius:8px;align-items:stretch;padding:14px}.station-scorebox{gap:8px;width:min(190px,44%);min-width:132px;display:grid}.station-scorebox strong{color:var(--ink-main);font-family:var(--font-display);font-size:2.25rem;line-height:.94}.station-card__context{text-align:right;align-content:center;justify-items:end;max-width:30ch;display:grid}.station-card__context p{font-size:.92rem;line-height:1.42}.station-card__context span{margin-top:6px;font-size:.82rem;font-weight:750}.station-card__grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.mini-metric{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff5c;gap:4px;min-width:0;padding:11px 12px;display:grid}.mini-metric:nth-child(3n){border-right:0}.mini-metric:nth-last-child(-n+3){border-bottom:0}.mini-metric strong{min-width:0;color:var(--ink-main);overflow-wrap:anywhere;font-size:.88rem;font-weight:850;line-height:1.34}.station-card__footer{align-items:center}.penalty-strip span{color:var(--ink-main);background:#12212a12}.analysis-panel__header{border-bottom:1px solid var(--line);padding-bottom:10px}.analysis-panel h2{font-family:var(--font-body);font-size:1.08rem;font-weight:900;line-height:1.2}.signal-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.signal-list li{padding-left:18px;line-height:1.46;position:relative}.signal-list li:before{content:"";background:var(--tone-main);border-radius:50%;width:7px;height:7px;position:absolute;top:.68em;left:0}.guardrail-copy{gap:10px;display:grid}.guardrail-copy p{margin:0;line-height:1.48}@media (width<=1040px){.readout-panel{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.condition-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}.condition-panel__header,.condition-row{border-right:1px solid var(--line);border-bottom:0;align-content:center;display:grid}.condition-row:last-child{border-right:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.app-shell{width:min(100% - 20px,720px);padding:12px 0 28px}.topbar{flex-direction:column;align-items:stretch;gap:14px}.topbar-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;display:grid}.status-pill{min-width:0;max-width:none}.readout-panel{grid-template-columns:1fr}.readout-score{border-bottom:1px solid #ffffff24;border-right:0;min-height:250px}.score-value{font-size:4.2rem}.briefing{padding:22px}.briefing-meta,.condition-panel,.station-grid,.analysis-grid{grid-template-columns:1fr}.info-chip+.info-chip{border-top:1px solid var(--line);border-left:0}.condition-panel__header,.condition-row{border-right:0;border-bottom:1px solid var(--line);display:flex}.station-card__header,.station-card__footer,.analysis-panel__header{flex-direction:column;align-items:flex-start}.station-card__badges,.station-card__submetrics,.penalty-strip{justify-content:flex-start}}@media (width<=560px){.app-shell{width:calc(100% - 12px);padding-top:8px}.brand-lockup{align-items:flex-start}.brand-mark{width:48px;height:48px}.masthead-copy{font-size:.88rem}.topbar-actions{grid-template-columns:1fr}.refresh-button,.status-pill{width:100%}.dashboard{gap:10px;padding-top:12px}.readout-panel,.metric-card,.station-card,.analysis-panel{border-radius:8px}.readout-score,.briefing,.station-card,.analysis-panel{padding:16px}.readout-score{min-height:228px}.score-value{font-size:3.7rem}.score-rating,.briefing-note{font-size:.96rem}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{min-height:0;padding:15px}.station-card__summary{gap:12px;display:grid}.station-scorebox{width:100%}.station-card__context{text-align:left;justify-items:start;max-width:none}.station-card__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-metric,.mini-metric:nth-child(3n),.mini-metric:nth-last-child(-n+3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.mini-metric:nth-child(2n){border-right:0}.mini-metric:nth-last-child(-n+2){border-bottom:0}}@media (width<=360px){.station-card__grid{grid-template-columns:1fr}.mini-metric,.mini-metric:nth-child(2n),.mini-metric:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.mini-metric:last-child{border-bottom:0}}
