/* Readable Thai UI, loaded after all visual skins. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar>nav{flex-shrink:0;overflow:visible}
/* A shallow reading strip leaves the device and vane visible on small maps. */
@media(max-width:700px){#mapReading{width:calc(100% - 24px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding:10px 12px}#mapReading .map-reading-head{grid-column:1 / -1;min-height:30px;margin:0;max-width:calc(100% - 38px)}#mapReading .map-reading-title{grid-column:1;grid-row:2;align-self:center;max-width:none}#mapReading .map-reading-number{grid-column:2;grid-row:2;font-size:29px;line-height:1.3}#mapReading .map-reading-station{grid-column:1 / -1;grid-row:3}#mapReading .map-reading-time{grid-column:1 / -1;grid-row:4;margin-top:1px}#mapReading .sensor-object{width:38px;height:36px;right:8px;top:7px}}
/* Keep long Thai metric names readable on tablets and narrow laptops. */
.geo-map-toolbar{max-width:calc(100% - 66px);flex-wrap:wrap;align-items:center}.geo-map-toolbar>*{flex-shrink:0}
.metric-card,.metric-top{min-width:0}.metric-top>span:first-child{overflow-wrap:anywhere}.metric-icon{flex-shrink:0}
@media(min-width:701px) and (max-width:1100px){.primary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.analysis-options summary{display:none}.model-toggle{width:auto;height:auto}.geo-canvas-wrap[data-scope=user] .map-provider-bar>a{display:none}
@media(max-width:700px){.analysis-options summary{display:list-item;cursor:pointer;font-size:14px;min-height:44px;padding:10px 3px;color:#285a76}.geo-canvas-wrap>#stationMap{min-height:400px}.geo-canvas-wrap>#googleAtlas{min-height:400px}}
html{font-size:17px}body{line-height:1.7}
:root[data-theme=light]{--muted:#4b647b}
.nav-item{font-size:16px;min-height:48px}.nav-label,.sidebar .profile small,.sidebar .network-note,.sidebar .text-button,.workspace-switch{font-size:14px}.profile strong{font-size:16px}.eyebrow{font-size:12px;letter-spacing:.06em}.topbar h1{font-size:32px}
.button,.text-button,input,select,textarea{font-size:16px;line-height:1.55}.button,input,select{min-height:44px}.utility select{font-size:16px}.connection,.demo-banner,.demo-banner strong,.demo-banner a{font-size:14px}.demo-banner{gap:12px;line-height:1.8;flex-wrap:wrap}
.network-stats>div,.network-stats p{font-size:15px}.station-heading h2{font-size:19px}.station-picker input,.station-picker select{font-size:16px}.station-picker{grid-template-columns:minmax(150px,1fr) minmax(180px,1fr)}.station-heading .badge,.badge{font-size:13px}
.metric-top{font-size:17px}.metric-meta,.metric-number span{font-size:14px}.metric-number strong{font-size:46px}.metric-card:first-child .metric-number strong{font-size:50px}.panel-top h2,.section-title h2{font-size:23px}.panel-top select,.segmented button{font-size:15px}.chart-stats>div,.chart-footer,.wind-footer,.wind-values span{font-size:14px}.chart-stats strong{font-size:21px}th,td{font-size:15px}.history-panel .panel-top p,.footer{font-size:14px}
.sensor-group-title h3{font-size:20px}.sensor-filters button,.sensor-search input{font-size:15px;min-height:44px}.sensor-counts small,.sensor-group-title>span{font-size:14px}.sensor-card h4,[data-theme=light] .sensor-card h4{font-size:17px;line-height:1.55}.sensor-card-top,.sensor-card-footer,.sensor-status,.sensor-value>span{font-size:13px}.sensor-value strong,[data-theme=light] .sensor-value strong{font-size:38px}.sensor-card,[data-theme=light] .sensor-card{min-height:324px}.sensor-card h4{max-width:100%}.sensor-card-top{font-size:13px}
.geo-heading p:not(.eyebrow),.atlas-heading p:last-child{font-size:16px;line-height:1.85}.geo-scope,.geo-stat small{font-size:14px}.geo-stat strong{font-size:33px}.geo-station strong{font-size:16px;line-height:1.65}.geo-station small,.geo-list-heading,.geo-footer,.atlas-footer small,.atlas-footnote{font-size:13px}.geo-station{padding:13px 10px}.geo-temp{font-size:21px}.geo-detail h3{font-size:24px}.geo-coordinate,.geo-position-info,.geo-location-note{font-size:14px}.geo-sensor-preview>div>span{font-size:14px}.geo-sensor-preview strong{font-size:27px}.geo-sensor-preview small{font-size:13px}.geo-search input{font-size:16px}
.map-provider-choices button{font-size:14px;min-height:44px;padding:8px 13px}.map-provider-bar>a,.map-metric-control>span{font-size:13px}.map-metric-control select{font-size:15px;min-height:44px}.analysis-heading b{font-size:16px}.analysis-heading small{font-size:13px}.analysis-presets button{font-size:14px;min-height:44px;padding:5px 10px}.analysis-presets i{width:27px;height:27px}.analysis-switches>button{font-size:14px;min-height:42px}.analysis-zone-picker,.analysis-zone-picker select{font-size:14px;min-height:42px}.analysis-summary{font-size:13px;line-height:1.7}.analysis-summary-top strong{font-size:14px}.analysis-summary summary,.analysis-summary p{font-size:13px}.analysis-legend{font-size:13px}.map-reading-title{font-size:15px}.map-reading-head,.map-reading-time,.map-reading-station{font-size:12px}.map-reading-number{font-size:36px}.map-reading{width:230px}.geo-view-label{font-size:12px}.geo-map-toolbar .geo-tool,.geo-dimensions button{min-width:42px;min-height:42px}
.geo-frame{min-height:840px}.geo-focus .geo-frame{min-height:840px}.overview-map-host{height:850px!important}.geo-focus .geo-view-label{max-width:calc(100% - 275px)}.map-setup-dialog p,.setup-box,.login-box p{font-size:16px}
@media(min-width:1200px){.geo-frame{grid-template-columns:290px minmax(0,1fr)}.station-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}
@media(max-width:700px){html{font-size:16px}.topbar h1{font-size:28px}.workspace{padding-left:16px;padding-right:16px}.geo-heading h2{font-size:28px}.geo-heading p:not(.eyebrow){font-size:15px}.geo-summary{gap:10px}.geo-stat{padding:13px 11px}.geo-stat small{font-size:13px}.geo-stat strong{font-size:29px}.geo-frame{grid-template-rows:850px auto 350px;min-height:0}.geo-focus .geo-frame{height:auto;min-height:850px;grid-template-rows:850px}.map-provider-bar{padding:12px 10px;gap:10px}.map-provider-choices{gap:5px}.map-provider-choices button{font-size:13px;padding:8px}.map-metric-control{width:100%}.map-metric-control select{font-size:16px;flex:1;min-width:0}.analysis-heading{align-items:flex-start;gap:10px}.analysis-heading small{font-size:12px;max-width:43%}.analysis-heading b{font-size:15px}.analysis-presets button{font-size:14px}.analysis-switches>button{font-size:13px;min-height:44px}.analysis-zone-picker,.analysis-zone-picker select{font-size:15px;min-height:44px}.analysis-summary{font-size:12px;padding:10px 12px}.analysis-summary-top strong,.analysis-summary summary,.analysis-legend{font-size:12px}.analysis-summary p{font-size:13px}.geo-sensor-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-reading{width:184px;padding:13px}.map-reading-number{font-size:31px}.map-reading-title{font-size:14px}.map-reading-head,.map-reading-time,.map-reading-station{font-size:11px}.map-reading .sensor-object{width:67px;height:65px}.geo-view-label{max-width:calc(100% - 210px);font-size:11px}.geo-nature-tag,.geo-view-label #mapGesture{display:none}.sensor-card,[data-theme=light] .sensor-card{min-height:314px}.sensor-card h4,[data-theme=light] .sensor-card h4{font-size:16px}.sensor-value strong,[data-theme=light] .sensor-value strong{font-size:34px}.sensor-card-footer,.sensor-status{font-size:12px}.demo-banner{font-size:14px}.demo-banner a{font-size:13px}.station-picker{grid-template-columns:1fr}.station-tile h3{font-size:18px}}
@media(max-width:700px){.geo-frame{grid-template-rows:minmax(850px,auto) auto 350px}.geo-focus .geo-frame{grid-template-rows:minmax(850px,auto);height:auto}.overview-map-host{height:auto!important;min-height:850px}.overview-map-host .geo-canvas-wrap{height:auto;min-height:850px}}
@media(min-width:701px) and (max-width:1100px){.geo-frame{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(850px,auto) auto;grid-template-areas:"canvas canvas" "list detail"}.geo-frame>.geo-list{min-height:340px;max-height:500px;border-top:1px solid var(--line)}.geo-frame>.geo-detail{border-right:0}.geo-focus .geo-frame{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(850px,auto);grid-template-areas:"canvas"}}
