[hidden]{display:none!important}body{background:#081521}header{background:#0b202d}header h1{letter-spacing:-.6px}button,input,select,a{touch-action:manipulation}input:focus-visible,summary:focus-visible,#semet-stage:focus-visible{outline:3px solid #38d4ef;outline-offset:2px}.provider-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:1920px;margin:16px auto 0;padding:0 24px}.provider-switch [aria-pressed=true]{border-color:#38d4ef;background:#07516a;color:#fff}.provider-switch #radar-install{margin-left:auto}#radar-connectivity{color:#ffd071;font-size:13px}main{max-width:1920px}#semet-panel{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;margin:20px auto;padding:0 24px;max-width:1920px}.semet-sidebar{align-self:start;background:#102635;border:1px solid #274b60;border-radius:10px;padding:16px}.semet-sidebar summary{font-weight:bold;cursor:pointer}.semet-sidebar label,.semet-controls label{display:flex;flex-direction:column;gap:5px;margin:12px 0;color:#b8cdda;font-size:14px}.semet-sidebar input,.semet-sidebar select,.semet-controls input,.semet-controls select{width:100%;min-width:0;color:#e4f0f5}.semet-workspace{min-width:0}.semet-heading{justify-content:space-between;align-items:center;border-bottom:1px solid #274b60;padding-bottom:12px}.semet-heading h2{font-size:clamp(23px,2.4vw,34px);line-height:1.4}.source-label{font-size:13px;color:#87cfe1;margin:0}.semet-controls{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px}.semet-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.semet-actions label{font-size:13px;display:flex;gap:6px;align-items:center}.semet-actions .check input{min-height:0;width:19px;height:19px}.semet-actions .zoom{margin-left:auto}.zoom input{padding:0;width:110px;min-height:24px}.zoom output{width:48px}#semet-province-list{display:flex;flex-direction:column;gap:5px;max-height:43vh;overflow:auto;overscroll-behavior:contain;margin-top:12px}#semet-province-list button{text-align:left;display:flex;justify-content:space-between;gap:8px;padding:10px 12px;background:transparent}#semet-province-list button small{font-size:11px;align-self:center;white-space:nowrap;color:#9cb5c4}#semet-province-list button[aria-pressed=true]{border-color:#38d4ef;background:#084057}#semet-viewer{border:1px solid #315465;border-radius:10px;overflow:hidden;background:#030c12}#semet-selected{margin:0;padding:10px 14px;background:#123344;color:#ffd071;font-size:14px;min-height:45px}#semet-stage{overflow:auto;height:78vh;min-height:340px;overscroll-behavior:contain;scrollbar-color:#537688 #081521;position:relative}#semet-plot{position:relative;width:100%;min-width:0;margin:0;aspect-ratio:1507/1611}#semet-image{display:block;width:100%;height:100%}#semet-image:not([src]){visibility:hidden}#semet-areas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#semet-areas path{fill:transparent;stroke:rgba(225,243,250,.55);stroke-width:.65;vector-effect:non-scaling-stroke;pointer-events:all;cursor:crosshair}#semet-areas path:hover,#semet-areas path.selected{stroke:#ffcf5a;stroke-width:2;fill:rgba(255,207,90,.15)}#semet-areas path.district-selected{stroke:#ffd071;stroke-width:1.3;fill:rgba(255,207,90,.035)}.viewer-footer{display:flex;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #274b60;color:#b8cdda;font-size:13px}.viewer-footer button{margin-left:auto}#semet-play[aria-pressed=true]{border-color:#ffd071;color:#ffd071}#semet-viewer:fullscreen,#semet-viewer.expanded{background:#030c12;width:100%;height:100%;display:flex;flex-direction:column}#semet-viewer.expanded{position:fixed;inset:0;z-index:1000;border-radius:0}#semet-viewer:fullscreen #semet-stage,#semet-viewer.expanded #semet-stage{height:auto;min-height:0;flex:1}body.radar-expanded{overflow:hidden}.semet-workspace>.note{max-width:100ch}#radar-install{border-color:#5c9cae}.drill-hint{border-left:3px solid #38d4ef;background:#102c3a;padding:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(min-width:1500px){#semet-panel{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:900px){#semet-panel{grid-template-columns:210px minmax(0,1fr);gap:16px;padding:0 16px}.semet-controls{grid-template-columns:1fr 1fr}.semet-controls label:last-child{grid-column:1/-1}.semet-actions .zoom{margin-left:0}}
@media(max-width:700px){header{padding:14px 12px}.provider-switch{padding:0 12px;margin-top:12px}.provider-switch button{flex:1;font-size:14px}#semet-panel{display:block;padding:0 12px;margin-top:12px}.semet-sidebar{padding:12px;margin-bottom:18px}#semet-province-list{max-height:190px;display:grid;grid-template-columns:1fr 1fr}#semet-province-list button{font-size:12px;padding:8px;display:block}#semet-province-list button small{display:block}.semet-heading h2{font-size:25px}.semet-heading a{font-size:13px}.semet-controls{gap:8px}.semet-controls label{font-size:13px;margin:8px 0}.semet-controls label:nth-child(2){grid-column:1/-1;grid-row:2}.semet-controls label:last-child{grid-column:auto;grid-row:1}.semet-actions button{font-size:13px;padding:8px}#semet-stage{height:70vh;min-height:300px}.semet-actions .zoom{flex:1}.zoom input{flex:1}#semet-selected{font-size:12px}.provider-switch #radar-install{flex-basis:100%}.semet-workspace>.note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:700px){.semet-controls label:first-child{grid-row:1;grid-column:1}.semet-controls label:last-child{grid-row:1;grid-column:2}.semet-actions .zoom{min-width:215px;white-space:nowrap}#semet-stage{height:min(70vh,calc((100vw - 26px)*1.069));min-height:300px}}
/* r3: compact operations console; the overview fits BOTH viewport dimensions. */
body{font-family:"Leelawadee UI",Tahoma,"Segoe UI",sans-serif}header{padding:12px 20px}header h1{font-size:21px}.provider-switch{max-width:1640px;margin-top:10px;padding:0 20px}#semet-panel{max-width:1640px;grid-template-columns:230px minmax(0,1fr);gap:16px;padding:0 20px;margin-top:14px}.semet-sidebar{padding:12px;font-size:14px}.semet-sidebar label{margin:9px 0;font-size:13px}.semet-heading{padding-bottom:8px;margin-bottom:0}.semet-heading h2{font-size:25px}.source-label{font-size:12px}.semet-controls{gap:10px}.semet-controls label{margin:8px 0;font-size:13px}.semet-actions{gap:6px;margin-bottom:10px}.semet-actions button{font-size:13px;padding:8px 10px}.semet-camera-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;background:#0c2432;border-bottom:1px solid #274b60}.semet-camera-controls button{padding:7px 11px;font-size:13px}.semet-camera-controls>button:first-child,.semet-camera-controls>button:nth-of-type(2){font-size:22px;line-height:1;min-width:44px}.semet-camera-controls .zoom{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;margin:0}.semet-camera-controls .zoom input{width:110px}.semet-camera-controls .zoom output{font-variant-numeric:tabular-nums;width:44px;text-align:right}#semet-view-hint{margin-left:auto;color:#a7bcc9;font-size:12px}#semet-stage{height:clamp(330px,56vh,640px);min-height:0;touch-action:pan-x pan-y;background:#050f18;cursor:default}#semet-stage.zoomed{cursor:grab}#semet-stage.panning,#semet-stage.panning *{cursor:grabbing!important}#semet-stage.panning{user-select:none}#semet-surface{position:relative;min-width:100%;min-height:100%}#semet-plot{position:absolute;margin:0;user-select:none}#semet-image{-webkit-user-drag:none}#semet-selected{min-height:38px;padding:7px 12px;font-size:13px}.viewer-footer{padding:8px 12px;min-height:42px}.semet-workspace>.note{font-size:12px;line-height:1.7;margin:9px 0}#image-stage img{width:auto;max-width:100%;max-height:65vh;object-fit:contain}.semet-sidebar .note{font-size:12px}#semet-viewer:fullscreen #semet-stage,#semet-viewer.expanded #semet-stage{height:auto;min-height:0;flex:1}.semet-camera-controls button:focus-visible{outline:3px solid #38d4ef;outline-offset:2px}
@media(max-width:1000px){#semet-panel{grid-template-columns:200px minmax(0,1fr)}#semet-view-hint{display:none}.semet-camera-controls .zoom{flex:1}.semet-camera-controls .zoom input{flex:1;min-width:55px;width:85px}}
@media(max-width:700px){header{padding:12px}header h1{font-size:18px}.provider-switch{padding:0 12px}#semet-panel{display:block;padding:0 12px;margin-top:12px}.semet-sidebar{margin-bottom:12px}.semet-heading h2{font-size:23px}.semet-controls{gap:8px}.semet-camera-controls{gap:5px;padding:7px}.semet-camera-controls .zoom{min-width:105px}.semet-camera-controls .zoom input{width:55px}.semet-camera-controls .zoom output{width:38px}.semet-camera-controls #semet-fit,.semet-camera-controls #semet-native{font-size:12px;padding:7px 9px}#semet-stage{height:clamp(330px,53svh,560px);min-height:0}#semet-selected{font-size:12px}.semet-actions button{font-size:12px}.semet-actions{gap:5px}.semet-camera-controls .zoom{font-size:0}.semet-camera-controls .zoom output{font-size:12px}#image-stage img{max-height:58vh}}
/* r4: allocate the viewport to the image, not a stack of forms or a card. */
body.semet-active .semet-actions .check{flex-direction:row;grid-column:1/-1;min-height:32px;margin:0;justify-content:flex-start}
body.semet-active{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.semet-active>header{padding:7px 16px;flex:none}body.semet-active>header p{display:none}body.semet-active>header h1{font-size:18px}body.semet-active>.provider-switch{margin:6px 0;padding:0 16px;flex:none}body.semet-active>#semet-panel{width:100%;max-width:none;flex:1;min-height:0;grid-template-columns:260px minmax(0,1fr);padding:0 16px 6px;margin:0;gap:16px}body.semet-active .semet-sidebar{align-self:stretch;min-height:0;overflow:auto;margin:0;border:0;border-radius:0;border-right:1px solid #274b60;padding:0 12px 8px 0;background:transparent;overscroll-behavior:contain}body.semet-active .semet-workspace{display:flex;flex-direction:column;min-height:0}body.semet-active .semet-heading{flex:none;border:0;padding:0;margin:0;gap:8px;min-height:32px}body.semet-active .semet-heading>div{flex:1;min-width:0}body.semet-active .semet-heading h2{font-size:20px}body.semet-active .source-label{display:none}body.semet-active .semet-heading a{font-size:12px}body.semet-active .semet-controls{display:flex;flex-direction:column;gap:0}body.semet-active .semet-controls label{margin:4px 0;font-size:12px}body.semet-active .semet-actions{display:grid;grid-template-columns:1fr 1fr;margin:8px 0 16px;gap:6px}body.semet-active .semet-actions button{padding:6px;font-size:12px}body.semet-active #semet-province-list{max-height:180px}body.semet-active #semet-viewer{display:flex;flex-direction:column;flex:1;min-height:0;border:0;border-radius:0;overflow:hidden;background:transparent}body.semet-active #semet-selected{background:transparent;color:#a7bcc9;min-height:0;flex:none;padding:3px 0;font-size:12px}body.semet-active .semet-camera-controls{background:transparent;border:0;padding:3px 0;flex:none}body.semet-active #semet-stage{flex:1;height:auto;min-height:0;background:transparent}body.semet-active .viewer-footer{padding:4px 0;min-height:28px;border:0;flex:none;font-size:12px}.semet-info{margin-top:16px;font-size:12px;color:#a7bcc9}.semet-info summary{cursor:pointer}.semet-info .note{font-size:12px;line-height:1.7}#semet-settings-toggle,#semet-settings-close{display:none}body.semet-active #semet-viewer:fullscreen,body.semet-active #semet-viewer.expanded{background:#081521}
@media(max-width:700px){body.semet-active>header{padding:6px 10px}body.semet-active>header h1{font-size:15px}body.semet-active>.provider-switch{padding:0 10px;margin:5px 0}body.semet-active>#semet-panel{display:flex;flex-direction:column;padding:0 10px 4px;gap:0}body.semet-active .semet-workspace{flex:1}body.semet-active .semet-heading h2{font-size:17px}body.semet-active .semet-heading{flex-wrap:wrap;gap:5px}body.semet-active .semet-heading a{font-size:11px}#semet-settings-toggle{display:block;padding:6px 8px;font-size:12px;min-height:40px}body.semet-active .semet-sidebar{display:none;position:fixed;inset:56px 10px 10px;z-index:90;background:#102635;border:1px solid #315465;padding:12px;overflow:auto}body.semet-active .semet-sidebar.is-open{display:block}#semet-settings-close{display:block;margin:0 0 8px auto;font-size:13px}body.semet-active .semet-camera-controls{gap:4px}body.semet-active .semet-camera-controls .zoom{min-width:90px}body.semet-active #semet-view-hint{display:none}body.semet-active #semet-selected{max-height:34px;overflow:auto;font-size:11px}body.semet-active .viewer-footer{font-size:11px}body.semet-active #radar-connectivity{max-height:32px;overflow:auto}body.semet-active .provider-switch #radar-install{flex-basis:auto;font-size:11px}}
