/* Skyfactor's reading-room palette and responsive weather desk. */
:root{--bg:#f5f1e9;--ink:#352f27;--muted:#766e61;--line:#ded7ca;--soft:#ebe3d6;--surface:#fffdf8;--surface-soft:#f4eee3;--teal:#92653c;--shadow:0 12px 35px #3427140a;color-scheme:light}
[data-theme=dark]{--bg:#211e18;--ink:#f0e7d8;--muted:#bdb29f;--line:#453d31;--soft:#3a3125;--surface:#29251e;--surface-soft:#302a21;--teal:#dfb788;color-scheme:dark}
@media(prefers-color-scheme:dark){[data-theme=system]{--bg:#211e18;--ink:#f0e7d8;--muted:#bdb29f;--line:#453d31;--soft:#3a3125;--surface:#29251e;--surface-soft:#302a21;--teal:#dfb788;color-scheme:dark}}
body{background:var(--bg);color:var(--ink)}
a{color:var(--teal)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.topbar{height:auto;min-height:72px;margin:18px 24px 0 264px;top:12px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:none;flex-wrap:wrap}
.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:-.6px}.topbar .private{display:none}.top-actions{flex-wrap:wrap}.top-actions .discord-link{display:inline-flex;align-items:center;gap:7px;border-radius:12px}.top-actions button{min-height:42px}
.side-nav{left:0;top:0;bottom:0;width:238px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;padding:30px 15px;background:var(--surface-soft)}
.side-heading{padding:0 9px 28px;font-family:Georgia,serif;font-size:16px;letter-spacing:0;color:var(--teal)}.side-heading small{font-size:11px;line-height:1.6;color:var(--muted)}.side-links{gap:5px}.side-links a{min-height:43px;border-radius:9px;font-size:13px;font-weight:400}.side-links .active{background:var(--soft);font-weight:650}.side-favorites .eyebrow{font-size:10px}.side-account{margin-top:24px;width:100%}
.side-nav~main{margin-left:238px;padding:28px 28px 120px;max-width:1700px}.intro{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,var(--surface-soft),var(--soft));padding:36px 34px;margin:0 0 26px;min-height:260px;align-items:flex-end;gap:24px}.intro:after{content:'';position:absolute;z-index:-1;right:-55px;bottom:-100px;width:400px;height:260px;border-radius:50%;background:radial-gradient(ellipse at 40% 50%,color-mix(in srgb,var(--teal) 12%,transparent),transparent 70%);box-shadow:-100px -20px 0 -45px color-mix(in srgb,var(--teal) 6%,transparent)}.intro h1{font-family:Georgia,serif;font-size:clamp(36px,4.2vw,58px);font-weight:400;line-height:1.08;letter-spacing:-1.8px;margin:18px 0}.intro h1 em{color:var(--teal);font-style:normal}.intro .lede{line-height:1.75;max-width:540px}.intro-link{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:12px 18px;white-space:nowrap}
.station-cards{gap:12px;margin:0 0 25px}.station-card{background:var(--surface);border:1px solid var(--line);padding:18px;min-width:0;box-shadow:none;text-align:left}.station-card[aria-pressed=true]{background:var(--soft);border-color:var(--teal);box-shadow:none}.station-card strong{font-size:28px;letter-spacing:-1px}.station-card span{gap:8px}.station-card small{line-height:1.5}.workspace-head{gap:15px;align-items:center}.workspace-head .tabs{overflow-x:auto;white-space:nowrap;min-width:0}.workspace-head #refresh{flex:none;width:auto;min-height:44px;border-radius:12px}.primary{background:var(--teal);color:var(--surface);border-color:var(--teal)}
.live-refresh{display:flex;align-items:center;gap:9px;margin-top:19px;font-size:12px;color:var(--muted);flex-wrap:wrap}.live-refresh strong{font-weight:550;color:var(--ink)}.live-indicator{width:7px;height:7px;border-radius:50%;background:#69a079}.live-refresh #refresh-countdown{margin-left:auto;font-variant-numeric:tabular-nums}.refresh-note{font-size:11px;color:var(--muted);margin:7px 0}.status{font-size:11px;overflow-wrap:anywhere}.station-toolbar{flex-wrap:wrap;gap:10px}.station-toolbar label{min-width:0}.weather-now{border:1px solid var(--line);background:var(--surface);overflow:hidden}.weather-stat{padding:20px;min-width:0}.weather-stat strong{font-size:21px}.controls{display:grid;grid-template-columns:150px minmax(160px,2fr) minmax(120px,1fr) minmax(140px,1fr) auto;gap:12px}.controls label,.controls label:first-child,.controls label:nth-child(4),.controls .report-control{width:auto;min-width:0;max-width:none}.controls input,.controls select{width:100%;min-width:0;height:44px}.controls .unit-control{margin:0}.desk-grid{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:18px}.desk-grid>*{min-width:0}.panel,.market-card{background:var(--surface);border-color:var(--line);box-shadow:none;border-radius:18px}.panel-head h2,.section-title h2{font-family:Georgia,serif;font-weight:400;font-size:25px}.panel-head{padding:23px}.chart-controls{gap:12px;flex-wrap:wrap}.chart-box{min-width:0}.chart-box svg{max-width:100%}.inspect-panel .big-reading{font-size:60px}.diagnosis{background:var(--soft);color:var(--ink)}.kv{grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr)}.kv dd,.kv dt{overflow-wrap:anywhere;min-width:0}.table-scroll,.forecast-scroll{overflow:auto;max-width:100%}.market-card{min-width:0;padding:20px}.market-card>small{display:block;overflow-wrap:anywhere;margin:8px 0}.exchange-link{display:inline-block;font-size:12px;margin:12px 0;padding:8px 12px;background:var(--soft);border-radius:9px}.quote-pair strong{font-variant-numeric:tabular-nums}.floating-dock{max-width:calc(100vw - 32px);width:max-content;overflow-x:auto;box-shadow:0 8px 32px #201a1526;background:color-mix(in srgb,var(--surface) 96%,transparent)}.floating-dock>a,.floating-dock>button{flex:none;min-height:44px}.settings-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px)}dialog{max-width:calc(100vw - 24px);background:var(--surface);color:var(--ink);border-color:var(--line)}.settings-tabs{overflow-x:auto;flex-wrap:nowrap}.settings-tabs button{white-space:nowrap;flex:none}.reply-composer{max-width:calc(100vw - 24px);background:var(--surface)}pre{max-width:100%;overflow:auto}select{max-width:100%}.source-grid,.lab-grid{min-width:0}.source-grid article,.lab-grid>div{min-width:0}.lab-inputs input,.lab-inputs select{background:var(--surface);color:var(--ink)}
.sidebar-hidden .topbar{margin-left:24px}.sidebar-hidden .side-nav~main{margin:0 auto}.side-nav[hidden]{display:none}
@media(max-width:1200px){.topbar{margin-left:24px}.side-nav{width:205px;top:110px;border-radius:18px;border:1px solid var(--line);left:16px;bottom:100px;padding:18px 10px}.side-nav~main{margin-left:225px;padding:25px 20px 120px}.controls{grid-template-columns:1fr 2fr 1fr}.desk-grid{grid-template-columns:1fr}.station-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-link{display:none}}
@media(max-width:900px){.topbar{margin:10px 12px 0;padding:10px 12px;gap:10px;top:8px}.topbar .brand{font-size:20px}.top-actions{width:100%;gap:6px;display:flex;flex-wrap:wrap}.top-actions .search-trigger{flex:1}.top-actions .discord-link{display:none}.top-actions button{font-size:11px;min-height:42px}.top-actions kbd{display:none}.side-nav,[data-nav-position=right] .side-nav,[data-nav-position=top] .side-nav{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:auto;margin:14px 12px 0;padding:6px;border-radius:14px;overflow:hidden}.side-links{display:flex;overflow-x:auto;gap:3px;scrollbar-width:thin}.side-links a{flex:none;min-height:40px;padding:8px 12px;font-size:12px}.side-heading,.side-favorites,.side-account{display:none}.side-nav~main,[data-nav-position=right] .side-nav~main,[data-nav-position=top] .side-nav~main,.sidebar-hidden .side-nav~main{margin:0;padding:18px 12px 110px;max-width:100%}.intro{padding:27px 23px;min-height:235px;border-radius:18px}.intro h1{font-size:43px;max-width:none}.intro .eyebrow{font-size:9px}.station-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.station-card:last-child{grid-column:1/-1}.station-card{padding:15px}.station-card strong{font-size:26px}.weather-now{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-stat{padding:15px}.weather-stat strong{font-size:19px}.workspace-head{flex-direction:column;align-items:stretch}.workspace-head .tabs{width:100%;gap:20px}.workspace-head #refresh{align-self:flex-end}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.controls .report-control{grid-column:1/-1;order:-1}.controls .unit-control{grid-column:1/-1;display:flex;align-items:center;gap:12px}.controls label:first-child,.controls label:nth-child(3),.controls label:nth-child(4){width:auto;max-width:none}.desk-grid{grid-template-columns:minmax(0,1fr)}.panel-head{padding:19px}.panel-head h2{font-size:24px}.chart-controls{padding:15px;gap:12px}.chart-controls select{min-height:44px;max-width:100%}.forecast-scroll table{min-width:660px}.market-controls{display:flex;flex-wrap:wrap;gap:12px}.market-controls>label{min-width:0;flex:1 1 140px}.market-grid{grid-template-columns:1fr}.floating-dock{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:none;border-radius:18px;padding:5px;justify-content:flex-start;scrollbar-width:thin}.floating-dock>a,.floating-dock>button{flex:1 0 57px;padding:7px 8px;flex-direction:column;font-size:10px;gap:5px;min-height:52px}.reply-composer{right:12px;left:12px;bottom:88px;width:auto;max-height:calc(100dvh - 110px);overflow:auto}.settings-grid{grid-template-columns:1fr}.settings-body{max-height:60dvh}.settings-tabs button{min-height:44px}.settings-dialog>.dialog-head{padding:18px}input,select,textarea{font-size:16px!important}.kv{font-size:12px}.station-toolbar #export{margin-left:auto;font-size:11px}.topbar .site-logo{width:30px;height:30px}.header-hidden .side-nav{margin-top:65px}}
@media(max-width:380px){.top-actions #notifications-open{font-size:0}.top-actions #notifications-open .ui-icon{font-size:12px}.top-actions #account-open{font-size:10px}.intro h1{font-size:36px}.station-card span{flex-wrap:wrap}.weather-stat strong{font-size:17px}.live-refresh #refresh-countdown{margin-left:16px}.controls{grid-template-columns:1fr}.controls .report-control,.controls .unit-control{grid-column:auto}}

button,input,select,textarea{font-family:var(--sans)}.workspace-head .tabs{overflow-y:hidden}.side-heading span{font-size:13px;line-height:1.4}.side-heading small{font-size:10px}@media(max-width:900px){.top-actions #appearance-open,.top-actions #notifications-open{font-size:0;flex:0 0 42px;padding:8px}.top-actions #notification-count{display:none}.top-actions .search-trigger{white-space:nowrap}.top-actions #account-open{width:auto}.forecast-scroll,.table-scroll{overscroll-behavior-inline:contain}}

/* A quieter, consistent identity: one UI family and a standalone weather mark. */
body{font-family:var(--sans);-webkit-font-smoothing:antialiased}
.topbar .brand{font-family:var(--sans);font-size:22px;font-weight:650;letter-spacing:-.8px;gap:9px;color:var(--ink)}
.site-logo{display:inline-flex;width:36px;height:36px;flex:none;padding:0;background:none;filter:none;border-radius:0;color:var(--teal)}.site-logo svg,.side-logo svg{display:block;width:100%;height:100%}.side-logo{width:34px;height:34px;flex:none;display:inline-flex;color:var(--teal)}
.side-heading{font-family:var(--sans);align-items:center;gap:10px}.side-heading>span:last-child{font-size:19px;font-weight:650;letter-spacing:-.5px;line-height:1.2}.side-heading small{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:0;margin-top:6px}
.intro h1{font-family:var(--sans);font-size:clamp(36px,4vw,54px);font-weight:600;letter-spacing:-2px;line-height:1.1}.intro .lede{font-size:15px;line-height:1.7}
.panel-head h2,.section-title h2,.extra-section h2{font-family:var(--sans);font-size:23px;font-weight:600;letter-spacing:-.6px;line-height:1.3}
.side-links a{font-size:13px;font-weight:500}.top-actions button,.top-actions a{font-family:var(--sans);font-weight:500}.station-card strong,.weather-stat strong,.big-reading{font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.7px}.station-card strong{font-weight:550}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:1.2px;font-weight:600}.floating-dock a,.floating-dock button{font-size:11px;font-weight:500}
[data-typography=editorial] .intro h1,[data-typography=editorial] .panel-head h2,[data-typography=editorial] .section-title h2{font-family:Georgia,serif;font-weight:400}
@media(max-width:900px){.topbar .brand{font-size:21px}.topbar .site-logo{width:31px;height:31px}.intro h1{font-size:39px;letter-spacing:-1.5px}.intro .lede{font-size:14px}.panel-head h2,.section-title h2,.extra-section h2{font-size:22px}.floating-dock a,.floating-dock button{font-size:10px}}
@media(max-width:380px){.intro h1{font-size:34px}.topbar .brand{font-size:20px}}
/* Keep the rounding example in the selected appearance palette. */
.lab-result,.path-step{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
.path-step.final{background:var(--soft);border-color:var(--teal);color:var(--ink);border-radius:12px}
.path-step.final small,.path-step.final span{color:var(--muted)}
.path-step strong{font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.8px}
.path-arrow,.lab-conclusion{color:var(--muted)}
.metar-panel{margin:28px 0}.metar-body{padding:0 24px 24px}.metar-body select{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:9px;border-radius:9px}.metar-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 0}.metar-values small,.metar-values strong{display:block}.metar-values small{color:var(--muted)}.metar-values strong{font-size:20px;font-variant-numeric:tabular-nums}.metar-raw{background:var(--soft);color:var(--ink);font-size:13px;white-space:pre-wrap}.metar-raw-cell{white-space:normal;min-width:260px}.metar-body summary{padding:12px 0;cursor:pointer}@media(max-width:600px){.metar-values{grid-template-columns:repeat(2,minmax(0,1fr))}.metar-body{padding:0 16px 20px}.metar-values strong{font-size:17px}}
.forecast-blend,.station-cameras{margin:28px 0}.weather-graph{margin:24px 0;border-top:1px solid var(--line);padding-top:20px}.weather-graph svg:not(.ui-icon),.forecast-blend svg:not(.ui-icon){width:100%;height:auto;display:block;min-height:190px}.weather-graph svg text,.forecast-blend svg text{fill:var(--muted);font:11px var(--sans)}.weather-graph .gridline,.forecast-blend .gridline{stroke:var(--line)}.graph-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:14px 0}.graph-controls label{display:flex;gap:8px;align-items:center}.graph-legend{font-size:12px;color:var(--muted);margin-bottom:12px}.forecast-sources{display:flex;gap:24px;flex-wrap:wrap;margin:18px 0}.forecast-sources small{display:block;color:var(--muted)}#camera-player iframe{width:100%;aspect-ratio:16/9;border:0;margin-top:16px;border-radius:12px}.weather-graph circle:focus,.forecast-blend circle:focus{outline:2px solid var(--ink);outline-offset:3px}@media(max-width:600px){.graph-controls label{flex-wrap:wrap}.weather-graph svg:not(.ui-icon),.forecast-blend svg:not(.ui-icon){min-width:500px}.weather-graph,.forecast-blend .metar-body{overflow-x:auto}}
#metar,#forecast-blend,#station-cameras{scroll-margin-top:105px}@media(max-width:600px){#metar,#forecast-blend,#station-cameras{scroll-margin-top:145px}}
