/* Dimensional weather surfaces: color belongs to each desk, while charts stay legible. */
.spatial-ui{--depth-edge:#080c2855;--desk-hue:#79baff}
[data-desk-tone=sky]{--desk-hue:#72bfff;--desk-deep:#214f79}
[data-desk-tone=violet]{--desk-hue:#bb9cff;--desk-deep:#484285}
[data-desk-tone=rose]{--desk-hue:#e6a6ed;--desk-deep:#624272}
[data-desk-tone=indigo]{--desk-hue:#aabaff;--desk-deep:#3c5288}
[data-desk-tone=orchid]{--desk-hue:#f1abdb;--desk-deep:#683c72}
[data-desk-tone=cyan]{--desk-hue:#87d9f1;--desk-deep:#255b76}
@media(min-width:768px){body.spatial-ui #floating-dock{display:none!important}body.spatial-ui main{padding-bottom:32px!important}}
.spatial-ui #floating-dock[hidden]{display:none!important}
.spatial-ui .ui-icon{filter:drop-shadow(0 2px 1px #030c2855);transition:transform .22s,filter .22s}
.spatial-ui .ui-icon[data-dimensional]{overflow:visible;filter:drop-shadow(0 3px 2px #030c2855);stroke:none}
.spatial-ui :is(button,a,summary):hover>.ui-icon{transform:translateY(-2px) rotate(-5deg);filter:drop-shadow(0 5px 3px #030c2866)}
.spatial-ui .nav-orb{width:35px;height:35px;background:linear-gradient(145deg,color-mix(in srgb,currentColor 32%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,currentColor 27%,var(--line));box-shadow:inset 0 1px 1px #ffffff55,inset 0 -3px #040c2435,0 4px 8px #04091940}
.spatial-ui .nav-orb .ui-icon{width:27px;height:27px}.spatial-ui .nav-popover .ui-icon[data-dimensional]{width:27px;height:27px}
.spatial-ui .nav-popover{border-color:color-mix(in srgb,var(--violet) 28%,var(--line));box-shadow:inset 0 1px #ffffff30,0 6px 0 #030a2440,0 24px 50px #030a2470;transform-origin:50% 0;animation:fold-open .28s cubic-bezier(.2,.7,.25,1)}
.spatial-ui .nav-group:nth-child(2n) .nav-popover{background:linear-gradient(130deg,color-mix(in srgb,var(--violet) 12%,var(--surface)),var(--surface))}
.spatial-ui .nav-group:nth-child(3n) .nav-popover{background:linear-gradient(130deg,color-mix(in srgb,var(--pink) 12%,var(--surface)),var(--surface))}
.spatial-ui .primary-workspaces{perspective:1100px}
.spatial-ui .workspace-subnav [aria-current=page]{background:linear-gradient(135deg,var(--soft),color-mix(in srgb,var(--violet) 24%,var(--surface)));color:var(--ink);box-shadow:inset 0 1px #ffffff25,0 3px 0 #020a2130;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line))}
.spatial-ui .weather-analysis-grid .plot-panel{box-shadow:inset 0 1px #ffffff18,0 5px 0 #050c2033,0 20px 32px #02071430!important}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n+1){background:linear-gradient(130deg,#33477344,#32305830)}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n+2){background:linear-gradient(130deg,#314f6e44,#25557130)}
.spatial-ui .overview-bento .weather-now .weather-stat:nth-child(3n){background:linear-gradient(130deg,#59376444,#3b377530)}
.spatial-ui .weather-instruments{perspective:1000px;gap:18px}
.spatial-ui .instrument-card{border:1px solid color-mix(in srgb,var(--dew) 30%,var(--line));box-shadow:inset 0 1px #ffffff30,inset 0 -3px #07112535,0 7px 0 #030c232b,0 18px 28px #030a232b!important}
.spatial-ui .wind-instrument{background:linear-gradient(135deg,color-mix(in srgb,#2687b9 28%,var(--surface)),var(--surface))}
.spatial-ui .moisture-instrument{background:linear-gradient(135deg,color-mix(in srgb,#9273d8 34%,var(--surface)),var(--surface))}
.spatial-ui .source-instrument{background:linear-gradient(125deg,color-mix(in srgb,#6863c3 25%,var(--surface)),var(--surface))}
.spatial-ui .atmosphere-drawer{border:0;background:none;margin:0;padding:0;overflow:visible}
.spatial-ui .atmosphere-summary{display:flex;align-items:center;gap:15px;list-style:none;cursor:pointer;padding:20px 22px;border:1px solid color-mix(in srgb,var(--violet) 32%,var(--line));border-radius:20px;background:linear-gradient(120deg,color-mix(in srgb,#7061b9 24%,var(--surface)),color-mix(in srgb,#2586bb 17%,var(--surface)));box-shadow:inset 0 1px #ffffff25,0 5px 0 #030d2230;color:var(--ink)}
.atmosphere-summary::-webkit-details-marker{display:none}.spatial-ui .atmosphere-summary:after{display:none}
.atmosphere-summary>span:nth-child(2){display:flex;flex-direction:column;gap:6px}.atmosphere-summary strong{font-size:23px;font-weight:600;letter-spacing:-.5px}.atmosphere-summary .eyebrow{font-size:11px;color:var(--dew)}.atmosphere-summary #condition-station{font-size:13px}.drawer-art{width:64px;height:64px;flex:none;display:grid;place-items:center}.drawer-art .ui-icon{width:62px;height:62px}.drawer-toggle{margin-left:auto;width:34px;height:34px;border-radius:50%;background:#ffffff12;display:grid;place-items:center;font-size:24px;font-weight:300;transition:transform .3s}.atmosphere-drawer[open] .drawer-toggle{transform:rotate(45deg)}
.tile-tray{min-width:0;padding-top:20px;animation:fold-open .3s ease-out}
.spatial-ui .condition-tile-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:8px 2px 22px;perspective:1200px;scrollbar-width:thin;scrollbar-color:var(--violet) transparent}
.spatial-ui .condition-tile{--tile-a:#255679;--tile-b:#203951;scroll-snap-align:start;padding:26px 24px 18px;min-height:286px;color:#f2f5ff;background:radial-gradient(ellipse at 90% 0,#ffffff12,transparent 70%),linear-gradient(135deg,var(--tile-a),var(--tile-b));border:1px solid #adc4ff40;border-radius:24px;box-shadow:inset 0 1px 1px #ffffff45,inset 0 -4px #06122b30,0 6px 0 #020c252e,0 16px 23px #03091f40;transition:transform .25s,box-shadow .25s;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.spatial-ui .condition-pressure{--tile-a:#594a8e;--tile-b:#35365f}.spatial-ui .condition-cloudbase{--tile-a:#4c5590;--tile-b:#293657}.spatial-ui .condition-gusts{--tile-a:#246d83;--tile-b:#23435e}.spatial-ui .condition-rain{--tile-a:#345d94;--tile-b:#353860}.spatial-ui .condition-cloudcover{--tile-a:#76518a;--tile-b:#44355f}
.spatial-ui .condition-tile>strong{color:#eef2ff;font-size:31px;max-width:100%;margin-top:12px;text-shadow:0 3px 1px #13234625}
.spatial-ui .condition-tile :is(p,.condition-detail,.condition-kind,.condition-tile-foot){color:#d4def3}.spatial-ui .condition-tile h3{font-size:17px;min-height:45px;max-width:calc(100% - 70px)}
.spatial-ui .condition-tile .tile-art{width:94px;height:94px;top:31px;right:9px;filter:drop-shadow(0 13px 9px #09153365)}
.spatial-ui .condition-tile-foot{border-color:#d2ddff30}.spatial-ui .condition-tile-foot .ui-icon{color:#e3eaff}
.spatial-ui .condition-tile{transform:none}.spatial-ui .condition-tile>:not(.tile-art):not(.sr-only){position:relative;z-index:1}.spatial-ui .condition-tile .tile-art{z-index:0}
.tile-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin-top:2px}.tile-controls>div{display:flex;align-items:center;gap:10px}.tile-controls button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--soft),var(--surface));color:var(--ink);box-shadow:inset 0 1px #ffffff25,0 3px 0 #030c2220}.tile-controls button:disabled{opacity:.35;box-shadow:none}.tile-controls output{min-width:65px;text-align:center;font-variant-numeric:tabular-nums}
.spatial-ui .page-scene{position:relative;isolation:isolate;display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-height:140px;padding:24px 28px!important;overflow:hidden;border-radius:22px!important;border:1px solid color-mix(in srgb,var(--desk-hue) 40%,var(--line));background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--desk-hue) 21%,transparent),transparent 70%),linear-gradient(125deg,var(--desk-deep),color-mix(in srgb,var(--desk-deep) 35%,#12233e));box-shadow:inset 0 1px #ffffff35,inset 0 -4px #07102a2b,0 6px 0 #030d262b,0 15px 28px #050a1b25!important;color:#f4f6ff}
.spatial-ui .page-scene h2{color:#fff;font-size:26px!important;font-weight:550;letter-spacing:-.7px}.spatial-ui .page-scene .eyebrow{color:#d1e1ff!important}.spatial-ui .page-scene>.desk-art{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 12px 8px #060c2b55);flex:none;transition:transform .4s}
.spatial-ui .page-scene:hover>.desk-art{transform:translateY(-5px) rotate(-5deg)}.spatial-ui .page-scene>div:not(.desk-shortcuts){flex:1;min-width:0}.spatial-ui .page-scene>button{margin-left:auto;background:#ffffff15;color:#eef3ff;border-color:#ffffff30}
.desk-shortcuts{display:flex;gap:9px;flex-wrap:wrap;flex-basis:100%;padding-top:1px}.desk-shortcuts a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 11px;border-radius:10px;border:1px solid #d7e3ff30;background:#ffffff0c;color:#e5edff;font-size:13px;text-decoration:none;box-shadow:inset 0 1px #ffffff10}.desk-shortcuts a:hover{background:#ffffff23}.desk-shortcuts .ui-icon{width:13px;height:13px}
.spatial-ui .page-scene :is(.widget-note,label,.example-badge){color:#d4e1f7}.spatial-ui .forecast-sky-hour>.ui-icon[data-dimensional]{width:43px;height:43px}.spatial-ui .hour-preview>.ui-icon[data-dimensional]{width:24px;height:24px}
.spatial-ui .page-scene h2,.spatial-ui .atmosphere-summary strong{animation:heading-arrive .45s ease-out}.spatial-ui .page-scene .widget-note{max-width:100%;overflow-wrap:anywhere}
@keyframes heading-arrive{from{opacity:.4;transform:translateY(7px);letter-spacing:.3px}to{opacity:1;transform:none}}
.spatial-ui .forecast-visual{background:linear-gradient(120deg,color-mix(in srgb,#6761be 24%,var(--surface)),color-mix(in srgb,#407baf 12%,var(--surface)));border:1px solid color-mix(in srgb,var(--violet) 35%,var(--line));box-shadow:inset 0 1px #ffffff25,0 5px 0 #020a2520}
.spatial-ui .forecast-sky-hour{background:linear-gradient(145deg,color-mix(in srgb,#6479bb 28%,var(--surface-soft)),var(--surface));box-shadow:inset 0 1px #ffffff30,inset 0 -3px #030c2530,0 7px 12px #030c2530}
.spatial-ui .forecast-sky-hour:nth-child(3n){background:linear-gradient(145deg,color-mix(in srgb,#9d6ec3 32%,var(--surface-soft)),var(--surface))}.spatial-ui .forecast-sky-hour[data-condition=rain]{background:linear-gradient(145deg,color-mix(in srgb,#328aa7 32%,var(--surface-soft)),var(--surface))}.spatial-ui .forecast-sky-hour[data-condition=clear]{background:linear-gradient(145deg,color-mix(in srgb,#bd83bc 28%,var(--surface-soft)),var(--surface))}
.spatial-ui .analysis-summary>div,.spatial-ui .metar-values>div{border:1px solid color-mix(in srgb,var(--desk-hue) 30%,var(--line));background:linear-gradient(140deg,color-mix(in srgb,var(--desk-hue) 16%,var(--surface-soft)),var(--surface));box-shadow:inset 0 1px #ffffff22,inset 0 -3px #020a2018,0 5px 10px #050c2018}
.spatial-ui .analysis-summary>div:nth-child(2n){background:linear-gradient(130deg,color-mix(in srgb,var(--pink) 15%,var(--surface)),var(--surface))}
.spatial-ui .market-card{--card-hue:var(--violet);border-color:color-mix(in srgb,var(--card-hue) 30%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--card-hue) 24%,var(--surface)),var(--surface));box-shadow:inset 0 1px #ffffff2a,inset 0 -3px #02091f30,0 8px 18px #030a252b!important}.spatial-ui .market-card:nth-child(3n+2){--card-hue:var(--pink)}.spatial-ui .market-card:nth-child(3n){--card-hue:var(--dew)}
.spatial-ui .quote-pair>div{background:#07142a22;border-radius:12px;border:1px solid #afc7ff1a}.spatial-ui .forecast-sources>div,.spatial-ui .showcase-card,.spatial-ui .taf-period{border-color:color-mix(in srgb,var(--desk-hue) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--desk-hue) 18%,var(--surface)),var(--surface));box-shadow:inset 0 1px #ffffff25,0 5px 0 #020a211a}
.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing){border:1px solid color-mix(in srgb,var(--desk-hue) 30%,var(--line));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--desk-hue) 9%,var(--surface)),var(--surface));box-shadow:inset 0 1px #ffffff18,0 4px 0 #020a2015;margin:16px 0;overflow:hidden}
.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing)>summary{padding:18px 20px;cursor:pointer;color:var(--ink);font-size:14px;transition:background .2s}.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing)>summary:hover{background:color-mix(in srgb,var(--desk-hue) 10%,transparent)}
.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing)[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--desk-hue) 10%,transparent)}
.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing)[open]>:not(summary){animation:fold-open .3s ease-out}.spatial-ui main details:not(.atmosphere-drawer):not(.station-briefing)>:is(p,pre,a){margin-left:20px;margin-right:20px}
.station-briefing{position:relative;z-index:30;flex:none;color:var(--ink);border:0!important;overflow:visible!important;margin:0!important;background:none!important;box-shadow:none!important}
.station-briefing>summary{list-style:none;display:flex;align-items:center;gap:7px;height:44px;padding:0 13px!important;border-radius:12px;border:1px solid color-mix(in srgb,var(--violet) 40%,var(--line));background:linear-gradient(140deg,color-mix(in srgb,var(--violet) 19%,var(--surface)),var(--surface));font-size:13px!important;box-shadow:inset 0 1px #ffffff25,0 3px 0 #020b2520;cursor:pointer}.station-briefing>summary:after{display:none}.station-briefing>summary::-webkit-details-marker{display:none}.station-briefing>summary .ui-icon{width:26px;height:26px}.brief-chevron{transition:transform .2s}.station-briefing[open] .brief-chevron{transform:rotate(180deg)}
.briefing-sheet{position:absolute;right:0;top:calc(100% + 12px);width:340px;max-width:calc(100vw - 32px);padding:22px;border-radius:22px;border:1px solid #829dca66;background:linear-gradient(140deg,var(--surface-soft),var(--surface));box-shadow:inset 0 1px #ffffff40,0 6px 0 #03092055,0 25px 60px #03081780;transform-origin:top;animation:fold-open .3s ease-out!important}
.briefing-title{display:flex;justify-content:space-between;align-items:center}.briefing-title h2{font-size:24px!important;margin:5px 0}.briefing-title .eyebrow{font-size:11px;color:var(--violet)}#briefing-code{font-size:12px;color:var(--muted)}.briefing-title img{object-fit:contain;filter:drop-shadow(0 9px 6px #020b2844)}
.briefing-reading,.briefing-report{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.briefing-reading>span,.briefing-report>span{font-size:12px;color:var(--muted)}#briefing-temp{font-size:33px;color:var(--dew);font-weight:550}.briefing-reading :is(small,time),.briefing-report small{font-size:12px;color:var(--muted)}.briefing-report strong{font-size:15px;font-weight:500}.briefing-links{display:flex;flex-direction:column;padding-top:10px}.briefing-links a{display:flex;justify-content:space-between;align-items:center;min-height:40px;font-size:14px}.briefing-links .ui-icon{width:15px;height:15px}
@keyframes fold-open{from{opacity:.4;transform:perspective(1000px) rotateX(-7deg) translateY(-8px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.spatial-ui :is(.condition-tile,.market-card,.forecast-sky-hour,.instrument-card,.showcase-card):hover{transform:perspective(1000px) rotateX(var(--tilt-x,1deg)) rotateY(var(--tilt-y,-1deg)) translateY(-5px);box-shadow:inset 0 1px #ffffff45,inset 0 -3px #06122b30,0 9px 0 #020c2520,0 22px 34px #03091f40!important}.spatial-ui .condition-tile:active{transform:translateY(-1px) scale(.987)}}
@media(max-width:1100px){.spatial-ui .condition-tile-grid{grid-auto-columns:calc((100% - 16px)/2)}.station-briefing>summary>span:not(.brief-chevron){display:none}.station-briefing>summary{padding:0 10px!important}.station-briefing .brief-chevron{display:none}}
@media(max-width:767px){.spatial-ui .condition-tile-grid{grid-auto-columns:86%;padding-bottom:22px;scrollbar-width:none}.spatial-ui .condition-tile{min-height:285px;padding:24px}.spatial-ui .condition-tile h3{font-size:18px;min-height:46px}.spatial-ui .condition-tile>strong{font-size:33px}.spatial-ui .condition-tile :is(p,.condition-detail){font-size:14px}.spatial-ui .condition-kind{font-size:11px}.spatial-ui .condition-detail{min-height:20px}.spatial-ui .condition-tile-foot{font-size:12px}.spatial-ui .tile-art{width:96px;height:96px}.atmosphere-summary strong{font-size:20px}.spatial-ui .atmosphere-summary{padding:18px 15px;gap:10px}.drawer-art{width:46px;height:50px}.drawer-art .ui-icon{width:48px;height:48px}.tile-controls{align-items:flex-start}.tile-controls>span{max-width:125px;font-size:12px;line-height:1.5}.tile-controls output{font-size:12px;min-width:55px}.tile-controls button{width:34px;height:34px}.tile-controls>div{gap:6px}.spatial-ui .page-scene{padding:20px!important;gap:12px}.spatial-ui .page-scene>.desk-art{width:60px;height:60px}.spatial-ui .page-scene h2{font-size:23px!important}.desk-shortcuts{gap:7px}.desk-shortcuts a{font-size:12px;padding:6px 9px}.briefing-sheet{position:fixed;top:125px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 155px);overflow:auto}.spatial-ui .workspace-tools{gap:6px}.station-briefing>summary{height:40px}.station-briefing>summary .ui-icon{width:23px;height:23px}.spatial-ui .workspace-station select{max-width:144px}.spatial-ui .compact-dock .ui-icon{width:25px;height:25px}.spatial-ui .compact-dock a,.spatial-ui .compact-dock button{min-height:58px}}
html[data-corners=square] .spatial-ui :is(.condition-tile,.page-scene,.atmosphere-summary,.briefing-sheet){border-radius:4px!important}
.spatial-ui .condition-tile :is(p,.condition-detail){font-size:calc(14px * var(--text-factor))}
.spatial-ui.reduce-motion .page-scene h2,.spatial-ui.reduce-motion .atmosphere-summary strong{animation:none!important}
@media(prefers-reduced-motion:reduce){.spatial-ui .page-scene h2,.spatial-ui .atmosphere-summary strong{animation:none!important}}
.spatial-ui.reduce-motion :is(.tile-tray,.page-scene,.desk-art,.nav-popover,.briefing-sheet,.dimensional-surface,.ui-icon){animation:none!important;transition:none!important;transform:none!important}.spatial-ui.reduce-motion details>*{animation:none!important}
@media(prefers-reduced-motion:reduce){.spatial-ui :is(.tile-tray,.page-scene,.desk-art,.nav-popover,.briefing-sheet,.dimensional-surface,.ui-icon){animation:none!important;transition:none!important;transform:none!important}.spatial-ui details>*{animation:none!important}}
