/* Forest & stone: neutral data surfaces and flat, naturally colored symbols. */
html:root{
 --bg:#f1f2ed;--surface:#fcfcf8;--surface-soft:#e9ede5;--ink:#24302b;--muted:#5b6860;--line:#d3dbd1;
 --mint:#52775b;--dew:#3e7181;--violet:#697750;--pink:#81715e;--temperature:#79662f;--amber:#79662f;--orange:#79662f;--sun:#d4be70;
 --cli-high:#657d43;--cli-low:#5a8a9c;--forecast-line:#8b7052;--shadow:0 12px 28px #10181212;
 --icon-cloud:#697a73;--icon-sun:#957a2e;--icon-water:#41798c;--icon-moss:#617e51;--icon-stone:#827662;
}
html[data-theme=dark]{
 --bg:#111715;--surface:#1b2520;--surface-soft:#243029;--ink:#edf0e6;--muted:#aab7a9;--line:#36473a;
 --mint:#adc49a;--dew:#98bdc7;--violet:#b8c49a;--pink:#c1b19a;--temperature:#e0ce98;--amber:#d7c48a;--orange:#d7c48a;--sun:#dcc879;
 --cli-high:#c1cf98;--cli-low:#96bbc6;--forecast-line:#d1b89a;--shadow:0 12px 28px #04080633;
 --icon-cloud:#cbd5cc;--icon-sun:#d9c477;--icon-water:#8eb7c4;--icon-moss:#acc594;--icon-stone:#c4b99f;
}
@media(prefers-color-scheme:dark){html[data-theme=system]{
 --bg:#111715;--surface:#1b2520;--surface-soft:#243029;--ink:#edf0e6;--muted:#aab7a9;--line:#36473a;
 --mint:#adc49a;--dew:#98bdc7;--violet:#b8c49a;--pink:#c1b19a;--temperature:#e0ce98;--amber:#d7c48a;--orange:#d7c48a;--sun:#dcc879;
 --cli-high:#c1cf98;--cli-low:#96bbc6;--forecast-line:#d1b89a;--shadow:0 12px 28px #04080633;
 --icon-cloud:#cbd5cc;--icon-sun:#d9c477;--icon-water:#8eb7c4;--icon-moss:#acc594;--icon-stone:#c4b99f;
}}
html[data-accent=forest]{--teal:#4b6942;--soft:#e3eadb;--accent-contrast:#fff}
html[data-theme=dark][data-accent=forest]{--teal:#bacb97;--soft:#32412e;--accent-contrast:#192216}
@media(prefers-color-scheme:dark){html[data-theme=system][data-accent=forest]{--teal:#bacb97;--soft:#32412e;--accent-contrast:#192216}}
.spatial-ui{--depth-edge:#03080555;--desk-hue:#b6c8a3;background:radial-gradient(ellipse at 75% -10%,#73835810,transparent 55%),var(--bg)}
.spatial-ui [data-desk-tone=sky]{--desk-hue:#b5c8ac;--desk-deep:#304b3e}
.spatial-ui [data-desk-tone=violet]{--desk-hue:#c2ca9b;--desk-deep:#424e35}
.spatial-ui [data-desk-tone=rose]{--desk-hue:#cbbfa5;--desk-deep:#514b3b}
.spatial-ui [data-desk-tone=indigo]{--desk-hue:#b9c6b8;--desk-deep:#384b43}
.spatial-ui [data-desk-tone=orchid]{--desk-hue:#d0c5b4;--desk-deep:#514a3e}
.spatial-ui [data-desk-tone=cyan]{--desk-hue:#a8bdbb;--desk-deep:#354c4a}

/* Functional symbols use the same flat geometry at every size. */
.spatial-ui .ui-icon,.spatial-ui :is(button,a,summary):hover>.ui-icon{filter:none;min-width:0;min-height:0}
.spatial-ui .ui-icon[data-glyph=cloud]{color:var(--icon-cloud);fill:color-mix(in srgb,var(--icon-cloud) 17%,transparent)}
.spatial-ui .ui-icon:is([data-glyph=sun],[data-glyph=moon],[data-glyph=temperature],[data-glyph=storm]){color:var(--icon-sun)}
.spatial-ui .ui-icon[data-glyph=sun] circle,.spatial-ui .ui-icon[data-glyph=moon] path{fill:color-mix(in srgb,var(--icon-sun) 22%,transparent)}
.spatial-ui .ui-icon:is([data-glyph=drop],[data-glyph=snow],[data-glyph=wind]){color:var(--icon-water)}
.spatial-ui .ui-icon[data-glyph=drop]{fill:color-mix(in srgb,var(--icon-water) 20%,transparent)}
.spatial-ui .ui-icon:is([data-glyph=layers],[data-glyph=chart],[data-glyph=chat],[data-glyph=shield]){color:var(--icon-moss)}
.spatial-ui .ui-icon:is([data-glyph=archive],[data-glyph=book],[data-glyph=bell],[data-glyph=camera],[data-glyph=pressure]){color:var(--icon-stone)}
.spatial-ui .primary .ui-icon{color:inherit}
.spatial-ui :is(.nav-orb,.site-logo){background:var(--surface-soft);box-shadow:none;transform:none;border:1px solid var(--line)}
.spatial-ui .topbar .site-logo{color:var(--icon-moss);background:var(--surface-soft);box-shadow:none;transform:none}
.spatial-ui .topbar .site-logo svg{filter:none}
.spatial-ui .nav-orb .ui-icon{width:22px;height:22px}
.spatial-ui .nav-popover{box-shadow:0 18px 40px #03080555;border-color:var(--line)}
.spatial-ui .workspace-subnav [aria-current=page]{background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 15%,transparent)}
.spatial-ui .primary{box-shadow:inset 0 1px #ffffff20,0 2px 0 #040a0530}
.spatial-ui .weather-object{filter:none;stroke-width:1.35}
.spatial-ui .weather-stat>.weather-object{width:45px;height:45px;opacity:.85}
.spatial-ui .hourly-head>.weather-object{display:block;width:37px;height:37px;transform:none}

/* The weather scene remains reactive, with matte clouds and a natural sky. */
.weather-desk.spatial-ui.atmosphere-ready .overview-bento .intro{
 background:radial-gradient(ellipse at 100% 0,#69806b55,transparent 75%),linear-gradient(135deg,#233d30,#3e5843)!important;
 border-color:#abc69c40;box-shadow:inset 0 1px #ffffff15,0 12px 30px #050a0733;
}
.weather-desk.spatial-ui.atmosphere-ready .overview-bento .intro:is([data-weather=rain],[data-weather=storm]){background:linear-gradient(135deg,#283e3e,#4a6060)!important}
.weather-desk.spatial-ui.atmosphere-ready .overview-bento .intro:is([data-weather=fog],[data-weather=snow]){background:linear-gradient(135deg,#35423b,#59685e)!important}
.weather-desk.spatial-ui.atmosphere-ready .overview-bento .intro[data-phase=night]{background:linear-gradient(135deg,#1e302b,#344b41)!important}
.weather-desk.spatial-ui.atmosphere-ready .intro :is(.eyebrow,.hero-caption,.hero-temperature small){color:#d5e0cf}
.weather-desk.spatial-ui.atmosphere-ready .intro .sky-art{filter:none}
.weather-desk.spatial-ui.atmosphere-ready .sky-cloud-front{fill:#dfe6db;stroke:#dfe6db;filter:none}
.weather-desk.spatial-ui.atmosphere-ready .sky-cloud-back{fill:#aebdaf;stroke:#aebdaf;opacity:.7}
.weather-desk.spatial-ui.atmosphere-ready .sky-sun{fill:#d8c477;filter:none}
.weather-desk.spatial-ui.atmosphere-ready .sky-rays{stroke:#e0cb80}
.weather-desk.spatial-ui.atmosphere-ready .sky-halo{fill:#d8c477}
.weather-desk.spatial-ui.atmosphere-ready .sky-moon{fill:#d8decb;filter:none}
.weather-desk.spatial-ui.atmosphere-ready .sky-stars{fill:#d6dec9;stroke:#d6dec9}
.weather-desk.spatial-ui.atmosphere-ready .sky-rain{stroke:#a1c4cf}
.weather-desk.spatial-ui.atmosphere-ready .sky-bolt{fill:#dfcb83;stroke:none;filter:none}
.spatial-ui .scene-controls,.spatial-ui .scene-controls button{color:#d3ddce}
.spatial-ui .scene-controls>span:before{background:#c5d3ae}
.spatial-ui .scene-controls button{border-color:#d3ddce40;background:#14251f33}
.spatial-ui .hero-actions a{color:#f0f3e9;border-color:#d3ddce40;background:#d3ddce15}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n+1){background:color-mix(in srgb,#9d9470 9%,var(--surface))}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n+2){background:color-mix(in srgb,#758d75 11%,var(--surface))}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n){background:color-mix(in srgb,#78989b 9%,var(--surface))}
.spatial-ui .wind-instrument{background:linear-gradient(135deg,color-mix(in srgb,#729393 22%,var(--surface)),var(--surface))}
.spatial-ui .moisture-instrument{background:linear-gradient(135deg,color-mix(in srgb,#718d72 22%,var(--surface)),var(--surface))}
.spatial-ui .source-instrument{background:linear-gradient(135deg,color-mix(in srgb,#a09773 20%,var(--surface)),var(--surface))}
.spatial-ui .instrument-card{border-color:var(--line);box-shadow:inset 0 1px #ffffff15,0 5px 0 #02070420,0 12px 25px #03080520!important}

/* A varied landscape of pine, moss, slate and stone. */
.spatial-ui .atmosphere-summary{background:linear-gradient(115deg,color-mix(in srgb,#87956f 16%,var(--surface)),var(--surface));border-color:var(--line);box-shadow:inset 0 1px #ffffff18,0 4px 0 #03080525}
.spatial-ui .atmosphere-summary .eyebrow{color:var(--teal)}
.spatial-ui .condition-tile-grid{scrollbar-color:var(--muted) transparent}
.spatial-ui .condition-tile{--tile-a:#3c5545;--tile-b:#2b3e33;border-color:#c4d0b833;color:#f0f2e9;box-shadow:inset 0 1px #ffffff22,inset 0 -3px #06120b30,0 6px 0 #02080528,0 15px 25px #03080533}
.spatial-ui .condition-pressure{--tile-a:#565640;--tile-b:#3e4232}
.spatial-ui .condition-cloudbase{--tile-a:#4d5c51;--tile-b:#35483d}
.spatial-ui .condition-gusts{--tile-a:#435c58;--tile-b:#304441}
.spatial-ui .condition-rain{--tile-a:#435c61;--tile-b:#33474d}
.spatial-ui .condition-cloudcover{--tile-a:#5f5b49;--tile-b:#454735}
.spatial-ui .condition-tile>strong{color:#f2f3e9;text-shadow:none}
.spatial-ui .condition-tile :is(p,.condition-detail,.condition-kind,.condition-tile-foot){color:#d4ddcb}
.spatial-ui .condition-tile .tile-art{width:63px;height:63px;right:23px;top:43px;stroke-width:1.15;filter:none}
.spatial-ui .condition-tile .tile-art[data-glyph=cloud]{color:#dce6d7;fill:#dce6d721}
.spatial-ui .condition-tile .tile-art[data-glyph=pressure]{color:#d7cead}
.spatial-ui .condition-tile .tile-art:is([data-glyph=drop],[data-glyph=wind]){color:#b6d3d9}
.spatial-ui .condition-tile-foot{border-color:#c4d0b833}
.spatial-ui .condition-tile-foot .ui-icon{color:#d4ddcb}
.spatial-ui .page-scene{background:linear-gradient(120deg,var(--desk-deep),color-mix(in srgb,var(--desk-deep) 60%,#19241e));color:#f1f3eb;box-shadow:inset 0 1px #ffffff22,0 5px 0 #03080525,0 15px 28px #03080520!important}
.spatial-ui .page-scene>.desk-art{width:62px;height:62px;filter:none;stroke-width:1.35;color:#d6dfc9;fill:none}
.spatial-ui .page-scene .eyebrow,.spatial-ui .page-scene :is(.widget-note,label,.example-badge){color:#d4dfc9!important}
.spatial-ui .page-scene>button,.spatial-ui .desk-shortcuts a{color:#e5ebdc;border-color:#c4d0b833}
.spatial-ui .page-scene .ui-icon{color:inherit}
.spatial-ui .forecast-visual{background:linear-gradient(120deg,color-mix(in srgb,#8c9b6e 16%,var(--surface)),var(--surface));border-color:var(--line)}
.spatial-ui .forecast-sky-hour,.spatial-ui .forecast-sky-hour:nth-child(3n){background:linear-gradient(145deg,color-mix(in srgb,#7a9276 16%,var(--surface-soft)),var(--surface))}
.spatial-ui .forecast-sky-hour[data-condition=rain]{background:linear-gradient(145deg,color-mix(in srgb,#6f919b 22%,var(--surface-soft)),var(--surface))}
.spatial-ui .forecast-sky-hour[data-condition=clear]{background:linear-gradient(145deg,color-mix(in srgb,#b3a15e 20%,var(--surface-soft)),var(--surface))}
.spatial-ui .forecast-sky-hour>.ui-icon{width:38px;height:38px;stroke-width:1.5}
.spatial-ui .quote-pair>div{background:#0a160d20;border-color:#c4d0b822}
.spatial-ui .briefing-sheet{border-color:var(--line);box-shadow:inset 0 1px #ffffff22,0 5px 0 #03080530,0 25px 60px #03080566}
.spatial-ui .briefing-art{width:60px;height:60px;stroke-width:1.4}
.spatial-ui .tile-controls button{background:var(--surface-soft)}
@media(max-width:767px){.spatial-ui .page-scene>.desk-art{width:47px;height:47px}.spatial-ui .condition-tile .tile-art{width:58px;height:58px;right:22px;top:44px}.spatial-ui .weather-stat>.weather-object{width:34px;height:34px}}
