:root {
  --ink: #ecf5f4;
  --muted: #82939e;
  --muted-bright: #aebdc3;
  --canvas: #071015;
  --panel: #0c171e;
  --panel-raised: #102029;
  --line: #20343e;
  --line-bright: #31505a;
  --mint: #73efc9;
  --mint-soft: #b5ffe9;
  --amber: #f0bc62;
  --lilac: #b3a6f8;
  --rose: #ff7d89;
  --sans: "DM Sans", "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", "Cascadia Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
.app-shell { min-height: 100vh; overflow: hidden; }
.topbar, main, .footer { max-width: 1440px; margin: auto; padding-left: 56px; padding-right: 56px; }
.topbar { height: 84px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-size: 14px; font-weight: 700; letter-spacing: -.02em; text-decoration: none; }
.brand-mark { display: inline-flex; align-items: end; gap: 2px; width: 20px; height: 18px; }
.brand-mark i { display: block; width: 5px; border-radius: 2px 2px 0 0; background: var(--mint); }
.brand-mark i:nth-child(1) { height: 8px; opacity: .55; }.brand-mark i:nth-child(2) { height: 14px; }.brand-mark i:nth-child(3) { height: 18px; opacity: .8; }
.topbar-meta, .footer { color: var(--muted); font: 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.topbar-meta { display: flex; align-items: center; gap: 10px; }.live-dot, .tiny-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(115,239,201,.1); }.meta-divider { width: 1px; height: 12px; background: var(--line-bright); margin: 0 5px; }
.icon-button { border: 0; background: none; color: var(--muted); letter-spacing: 3px; padding: 10px 0 10px 12px; }
.hero-grid { min-height: 440px; display: grid; grid-template-columns: minmax(420px, 1fr) minmax(390px, .8fr); align-items: center; border-bottom: 1px solid var(--line); }
.hero-copy { padding: 54px 0 60px; position: relative; z-index: 1; }.eyebrow { margin: 0 0 18px; color: var(--mint); font: 500 10px var(--mono); letter-spacing: .18em; }.slash { color: var(--muted); margin: 0 8px; }
h1, h2, p { margin-top: 0; } h1 { margin-bottom: 24px; font-size: clamp(52px, 6vw, 86px); line-height: .94; letter-spacing: -.075em; font-weight: 600; }.hero-copy h1 em { color: var(--mint); font-family: Georgia, serif; font-weight: 400; letter-spacing: -.08em; }.hero-lede { max-width: 440px; margin-bottom: 32px; color: var(--muted-bright); font-size: 16px; line-height: 1.55; }
.hero-actions { display: flex; align-items: center; gap: 24px; }.primary-button { border: 1px solid var(--mint); border-radius: 3px; background: var(--mint); color: #071015; padding: 12px 16px; font-size: 12px; font-weight: 700; }.refresh-symbol { font-size: 17px; margin-right: 7px; vertical-align: -1px; }.text-button { border: 0; background: none; color: var(--muted-bright); padding: 10px 0; font-size: 12px; }.text-button span { color: var(--mint); margin-left: 5px; }
.weather-orbit { height: 390px; position: relative; display: grid; place-items: center; }.orbit { position: absolute; border: 1px solid rgba(115,239,201,.22); border-radius: 50%; transform: rotate(-23deg); }.orbit-one { width: 380px; height: 175px; }.orbit-two { width: 315px; height: 235px; transform: rotate(35deg); border-color: rgba(179,166,248,.24); }.orbit-three { width: 190px; height: 350px; transform: rotate(70deg); border-color: rgba(240,188,98,.22); }.orbit::after { content: ""; position: absolute; top: 11%; left: 20%; width: 5px; height: 5px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 13px var(--mint); }.orbit-two::after { top: 77%; left: 74%; background: var(--lilac); box-shadow: 0 0 13px var(--lilac); }.orbit-three::after { top: 47%; left: 96%; background: var(--amber); box-shadow: 0 0 13px var(--amber); }
.orbit-core { width: 152px; height: 152px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid var(--mint); border-radius: 50%; background: radial-gradient(circle at 35% 25%, rgba(115,239,201,.18), transparent 60%), #0b1b20; box-shadow: 0 0 65px rgba(115,239,201,.1); text-align: center; }.core-kicker, .core-time { font: 9px var(--mono); color: var(--muted); letter-spacing: .08em; }.orbit-core strong { margin: 8px 0; color: var(--mint); font-size: 13px; letter-spacing: .08em; }.core-time { color: var(--muted-bright); font-size: 9px; }.orbit-label { position: absolute; font: 10px var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }.label-north { top: 18%; left: 28%; }.label-east { right: 4%; top: 46%; }.label-south { bottom: 16%; left: 24%; }
.signal-strip { display: grid; grid-template-columns: repeat(3, 1fr) 1.1fr; border-bottom: 1px solid var(--line); }.signal-item { min-height: 84px; display: flex; align-items: center; gap: 13px; border-right: 1px solid var(--line); }.signal-item:not(:first-child) { padding-left: 24px; }.signal-item:last-child { border: 0; justify-content: flex-end; gap: 10px; color: var(--muted); font: 10px var(--mono); text-transform: uppercase; }.signal-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 16px; }.mint { color: var(--mint); }.amber { color: var(--amber); }.lilac { color: var(--lilac); }.signal-label { display: block; margin-bottom: 6px; color: var(--muted); font: 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }.signal-item strong { color: var(--muted-bright); font-size: 12px; font-weight: 500; }.tiny-pulse { display: inline-block; flex: 0 0 auto; }
.workspace-section { padding: 70px 0 88px; }.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 30px; }.section-heading h2 { margin: 0; font-size: 36px; letter-spacing: -.06em; font-weight: 500; }.view-controls { display: flex; gap: 5px; }.view-button { border: 1px solid var(--line); border-radius: 20px; background: none; color: var(--muted); padding: 9px 14px; font-size: 11px; }.view-button.active, .view-button:hover { border-color: var(--mint); color: var(--mint); background: rgba(115,239,201,.06); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(330px, .75fr); gap: 18px; }.provider-panel, .detail-panel { border: 1px solid var(--line); background: var(--panel); }.panel-toolbar { height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line); }.search-box { display: flex; align-items: center; gap: 9px; color: var(--muted); }.search-box span { font-size: 22px; line-height: 0; }.search-box input { width: 220px; border: 0; outline: 0; background: none; color: var(--ink); font-size: 12px; }.search-box input::placeholder { color: var(--muted); }.sort-label { color: var(--muted); font: 10px var(--mono); letter-spacing: .05em; }.sort-label button { border: 0; background: none; color: var(--muted-bright); font: 10px var(--mono); }.provider-row { min-height: 80px; display: grid; grid-template-columns: 1.2fr .85fr .95fr .65fr; align-items: center; gap: 10px; padding: 0 18px; border-bottom: 1px solid rgba(32,52,62,.7); transition: background .18s ease; }.provider-row:hover, .provider-row.selected { background: var(--panel-raised); }.provider-row.selected { box-shadow: inset 2px 0 var(--mint); }.provider-name { display: flex; align-items: center; gap: 11px; min-width: 0; }.provider-avatar { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--ink); background: #1b3036; font-size: 11px; font-weight: 700; }.provider-title { min-width: 0; }.provider-title strong, .provider-title span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.provider-title strong { font-size: 13px; font-weight: 600; }.provider-title span { margin-top: 4px; color: var(--muted); font: 10px var(--mono); }.metric-label { display: block; margin-bottom: 5px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }.metric-value { color: var(--muted-bright); font: 11px var(--mono); }.metric-value.good { color: var(--mint); }.metric-value.warn { color: var(--amber); }.condition { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted-bright); }.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }.status-dot.green { background: var(--mint); box-shadow: 0 0 8px rgba(115,239,201,.6); }.status-dot.yellow { background: var(--amber); }.status-dot.red { background: var(--rose); }.panel-footer { min-height: 47px; display: flex; align-items: center; gap: 16px; padding: 0 18px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }.panel-footer .mono { margin-left: auto; }.panel-footer .status-dot { margin-right: 5px; }
.detail-panel { min-height: 469px; padding: 24px; background: radial-gradient(circle at 70% 0%, rgba(115,239,201,.08), transparent 36%), var(--panel); }.detail-top { display: flex; justify-content: space-between; align-items: flex-start; }.detail-kicker { color: var(--mint); font: 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }.detail-panel h3 { margin: 9px 0 5px; font-size: 25px; letter-spacing: -.05em; font-weight: 500; }.detail-model { color: var(--muted); font: 10px var(--mono); }.detail-condition { color: var(--mint); font: 10px var(--mono); text-transform: uppercase; }.detail-rule { height: 1px; margin: 24px 0; background: var(--line); }.detail-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }.detail-stat label { display: block; margin-bottom: 7px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }.detail-stat strong { display: block; color: var(--ink); font: 17px var(--mono); font-weight: 500; }.detail-stat strong span { color: var(--muted); font-size: 11px; }.meter { height: 4px; margin-top: 10px; background: #1d3038; }.meter i { display: block; height: 100%; background: var(--mint); }.detail-callout { margin-top: 24px; padding: 13px; border-left: 2px solid var(--amber); background: rgba(240,188,98,.06); color: var(--muted-bright); font-size: 11px; line-height: 1.45; }.detail-callout strong { display: block; margin-bottom: 5px; color: var(--amber); font: 10px var(--mono); text-transform: uppercase; }.source-row { display: flex; justify-content: space-between; align-items: center; margin-top: 23px; color: var(--muted); font: 9px var(--mono); }.source-link { color: var(--mint); text-decoration: none; }.source-link:hover { text-decoration: underline; }
.principle-band { display: grid; grid-template-columns: 70px 1fr 1.2fr 50px; align-items: center; gap: 25px; padding: 38px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.principle-mark { color: var(--amber); font-size: 36px; }.principle-band h2 { margin: 0; font-size: 27px; line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }.principle-copy { max-width: 450px; margin: 0; color: var(--muted-bright); font-size: 13px; line-height: 1.55; }.circle-button { width: 42px; height: 42px; border: 1px solid var(--line-bright); border-radius: 50%; background: none; color: var(--mint); font-size: 18px; }.circle-button:hover { background: var(--mint); color: var(--canvas); }.footer { display: flex; justify-content: space-between; padding-top: 23px; padding-bottom: 29px; font-size: 9px; }.toast { position: fixed; right: 24px; bottom: 24px; max-width: 300px; padding: 12px 15px; border: 1px solid var(--mint); background: var(--panel-raised); color: var(--mint-soft); font: 11px var(--mono); opacity: 0; transform: translateY(10px); transition: .2s ease; pointer-events: none; }.toast.show { opacity: 1; transform: translateY(0); }
 .empty-state { min-height: 220px; display: grid; place-items: center; padding: 28px; color: var(--muted); font-size: 12px; text-align: center; }
.surface-nav { display: flex; align-items: center; gap: 20px; margin-left: auto; margin-right: 26px; }.surface-link { border: 0; border-bottom: 1px solid transparent; background: none; color: var(--muted); padding: 8px 0; font: 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; }.surface-link:hover, .surface-link.active { border-color: var(--mint); color: var(--mint); }
.tool-section { padding: 72px 0 80px; border-bottom: 1px solid var(--line); scroll-margin-top: 20px; }.compact-heading { margin-bottom: 28px; }.section-note { color: var(--muted); font: 10px var(--mono); text-transform: uppercase; letter-spacing: .06em; }.field-label { display: block; margin-bottom: 11px; color: var(--muted); font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.compare-layout { display: grid; grid-template-columns: 250px 1fr; gap: 18px; }.compare-picker, .compare-results, .planner-form, .planner-result { border: 1px solid var(--line); background: var(--panel); }.compare-picker { padding: 18px; }.compare-picker-list { display: grid; gap: 7px; }.compare-choice { display: flex; align-items: center; gap: 10px; width: 100%; border: 1px solid transparent; background: none; color: var(--muted-bright); padding: 8px; text-align: left; }.compare-choice:hover, .compare-choice.selected { border-color: var(--line-bright); background: var(--panel-raised); }.choice-check { width: 17px; height: 17px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line-bright); color: var(--mint); font-size: 11px; }.compare-choice.selected .choice-check { border-color: var(--mint); }.compare-choice strong, .compare-choice small { display: block; }.compare-choice strong { font-size: 11px; font-weight: 600; }.compare-choice small { margin-top: 3px; color: var(--muted); font: 9px var(--mono); }.compare-results { overflow: hidden; }.compare-header, .compare-row { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); align-items: center; min-height: 54px; padding: 0 18px; border-bottom: 1px solid var(--line); }.compare-header { min-height: 67px; background: rgba(115,239,201,.04); color: var(--muted); font: 9px var(--mono); letter-spacing: .08em; }.compare-header strong { color: var(--ink); font: 12px var(--sans); }.compare-header small { display: block; margin-top: 4px; color: var(--muted); font: 9px var(--mono); font-weight: 400; }.compare-row:last-child { border-bottom: 0; }.compare-label { color: var(--muted); font: 10px var(--mono); }.compare-value, .compare-condition { color: var(--muted-bright); font: 11px var(--mono); }.compare-value.good { color: var(--mint); }.compare-condition { display: inline-flex; align-items: center; gap: 7px; }
.planner-layout { display: grid; grid-template-columns: 270px 1fr; gap: 18px; }.planner-form { display: grid; gap: 18px; align-content: start; padding: 20px; }.planner-form label { display: block; }.planner-form input, .planner-form select { width: 100%; border: 1px solid var(--line-bright); border-radius: 2px; background: var(--panel-raised); color: var(--ink); padding: 10px; font-size: 12px; }.planner-form .primary-button { width: 100%; text-align: left; }.planner-result { min-height: 300px; padding: 24px; background: radial-gradient(circle at 85% 0%, rgba(115,239,201,.08), transparent 34%), var(--panel); }.recommendation-top { display: flex; align-items: center; justify-content: space-between; }.recommendation-badge { color: var(--mint); font: 10px var(--mono); text-transform: uppercase; }.planner-result h3 { margin: 20px 0 6px; font-size: 28px; letter-spacing: -.05em; font-weight: 500; }.planner-result h3 span { color: var(--muted); font: 11px var(--mono); letter-spacing: 0; }.recommendation-copy { max-width: 570px; color: var(--muted-bright); font-size: 13px; line-height: 1.5; }.recommendation-metrics { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 550px; margin: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.recommendation-metrics div { padding: 14px 13px 14px 0; }.recommendation-metrics div + div { padding-left: 13px; border-left: 1px solid var(--line); }.recommendation-metrics span { display: block; margin-bottom: 7px; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; }.recommendation-metrics strong { color: var(--mint); font: 15px var(--mono); }.recommendation-explain { max-width: 600px; padding: 13px; border-left: 2px solid var(--amber); background: rgba(240,188,98,.05); color: var(--muted-bright); font-size: 11px; line-height: 1.45; }.recommendation-explain strong { display: block; margin-bottom: 4px; color: var(--amber); font: 10px var(--mono); text-transform: uppercase; }.alternatives { margin-top: 24px; display: flex; align-items: center; gap: 14px; }.alternatives .field-label { margin: 0; }.alternatives button { border: 0; border-left: 1px solid var(--line-bright); background: none; color: var(--muted-bright); padding: 0 0 0 12px; font-size: 11px; text-align: left; }.alternatives button span { display: block; margin-top: 4px; color: var(--muted); font: 9px var(--mono); }
.changes-list { border-top: 1px solid var(--line); }.change-row { display: grid; grid-template-columns: 14px 1fr 210px; gap: 18px; align-items: center; padding: 21px 18px; border-bottom: 1px solid var(--line); background: var(--panel); }.change-marker { width: 7px; height: 7px; border-radius: 50%; }.change-marker.green { background: var(--mint); box-shadow: 0 0 8px rgba(115,239,201,.6); }.change-marker.yellow { background: var(--amber); }.change-marker.red { background: var(--rose); }.change-meta { display: flex; gap: 15px; color: var(--mint); font: 9px var(--mono); text-transform: uppercase; }.change-meta span + span { color: var(--muted); }.change-main h3 { margin: 7px 0 5px; font-size: 15px; font-weight: 500; }.change-main p { margin: 0; color: var(--muted); font-size: 11px; }.change-source { display: grid; gap: 5px; justify-items: start; color: var(--muted); font: 9px var(--mono); }.change-source strong { color: var(--muted-bright); font: 11px var(--sans); font-weight: 500; }.change-source .source-link { font: 9px var(--mono); }
.detail-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; }.detail-actions .mono { color: var(--muted); font-size: 9px; }.small-action { border: 1px solid var(--line-bright); background: none; color: var(--mint); padding: 8px 10px; font-size: 10px; }.small-action:hover { border-color: var(--mint); background: rgba(115,239,201,.06); }.small-action span { margin-left: 5px; }
@media (max-width: 900px) { .topbar, main, .footer { padding-left: 24px; padding-right: 24px; }.hero-grid { grid-template-columns: 1fr; }.weather-orbit { position: absolute; right: 0; top: 95px; width: 48%; opacity: .42; pointer-events: none; }.hero-copy { min-height: 440px; }.signal-strip { grid-template-columns: 1fr 1fr; }.signal-item:nth-child(2) { border-right: 0; }.signal-item:nth-child(3), .signal-item:nth-child(4) { border-top: 1px solid var(--line); }.signal-item:last-child { justify-content: flex-start; padding-left: 24px; }.dashboard-grid { grid-template-columns: 1fr; }.detail-panel { min-height: unset; }.principle-band { grid-template-columns: 50px 1fr 42px; }.principle-copy { grid-column: 2; grid-row: 2; }.circle-button { grid-column: 3; grid-row: 1; } }
@media (max-width: 600px) { .topbar { height: 68px; }.topbar-meta { display: none; }.hero-copy { min-height: 400px; padding-top: 60px; }.hero-copy h1 { font-size: 55px; }.weather-orbit { top: 110px; right: -60px; width: 85%; opacity: .25; }.signal-strip { grid-template-columns: 1fr; }.signal-item, .signal-item:not(:first-child) { min-height: 68px; padding-left: 0; border-right: 0; border-top: 1px solid var(--line); }.signal-item:first-child { border-top: 0; }.signal-item:last-child { justify-content: flex-start; padding-left: 0; }.section-heading { display: block; }.view-controls { margin-top: 20px; overflow-x: auto; }.provider-row { grid-template-columns: 1.5fr .8fr .7fr; }.provider-row > :nth-child(3) { display: none; }.panel-toolbar { padding: 0 12px; }.search-box input { width: 160px; }.sort-label { display: none; }.panel-footer { gap: 8px; padding: 0 12px; font-size: 8px; }.panel-footer .mono { display: none; }.principle-band { gap: 12px; }.principle-band h2 { font-size: 23px; }.footer { display: block; line-height: 1.6; }.footer .mono { display: block; margin-top: 8px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.provider-row, .toast { transition: none; } }
@media (max-width: 900px) { .surface-nav { gap: 11px; margin-right: 14px; }.surface-link { font-size: 9px; }.compare-layout, .planner-layout { grid-template-columns: 1fr; }.compare-picker-list { grid-template-columns: repeat(2, 1fr); }.change-row { grid-template-columns: 14px 1fr; }.change-source { grid-column: 2; grid-template-columns: auto auto auto; align-items: center; gap: 10px; } }
@media (max-width: 600px) { .surface-nav { display: none; }.tool-section { padding: 54px 0 60px; }.section-note { display: block; margin-top: 14px; }.compare-picker-list { grid-template-columns: 1fr; }.compare-results { overflow-x: auto; }.compare-header, .compare-row { min-width: 630px; }.planner-result { padding: 20px; }.recommendation-metrics { grid-template-columns: 1fr; }.recommendation-metrics div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }.alternatives { align-items: flex-start; flex-wrap: wrap; }.change-row { padding: 18px 12px; }.change-source { grid-template-columns: 1fr; gap: 4px; } }
