:root{--bg:#050a14;--surface-0:#080f1c;--surface-1:#0c1626;--surface-2:#111d31;--surface-3:#1a2c48;--topbar-bg:#070d18eb;--border:#78a0d221;--border-strong:#78a0d23d;--text:#eef4ff;--text-soft:#b3c8e2;--text-muted:#738ba9;--text-dim:#48607f;--brand:#2f7bff;--ok:#18e08a;--warn:#f5b942;--danger:#ff4d63;--info:#4ea2ff;--rtd:#18e08a;--actual:#ff7a4d;--pad:16px;--gap:12px;--r:12px;--r-sm:8px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font-family:var(--font-body), "IBM Plex Sans", system-ui, sans-serif;font-size:13px;line-height:1.4}button,input{font:inherit}.mono,.dock-value,table{font-family:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;font-variant-numeric:tabular-nums}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:var(--topbar-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:1px;min-width:0;display:flex}.brand h1{letter-spacing:.04em;margin:0;font-size:16px}.brand .sub{color:var(--text-muted);font-size:11px}.plant-picker{min-width:min(320px,70vw);position:relative}.plant-picker-k{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700;display:block}.plant-picker-input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--r-sm);margin-top:2px;padding:6px 8px;font-size:12px}.plant-menu{z-index:40;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-sm);max-height:360px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000073}.plant-menu-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:8px 10px 4px;font-size:10px;font-weight:700}.plant-menu button{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}.plant-menu button:hover,.plant-menu button.is-on{background:var(--surface-3)}.plant-meta,.plant-empty,.plant-hint{color:var(--text-muted);font-size:11px}.plant-empty,.plant-hint{margin:0;padding:6px 10px 10px}.banner.plant-draft{background:var(--surface-2);color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.banner.plant-draft input{background:var(--surface-1);border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);padding:6px 8px}.banner.plant-draft label{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.banner.plant-draft input[type=number]{width:5.5rem}.plant-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 12px;margin:0 0 12px;display:grid}.plant-fields label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.plant-fields input,.plant-fields select{background:var(--surface-1);border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);padding:6px 8px}.plant-fields .span-2{grid-column:span 2}.plant-save-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.top-metrics{flex-wrap:wrap;align-items:stretch;gap:18px;display:flex}.top-metric{flex-direction:column;display:flex}.top-metric .k{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.top-metric .v{font-size:20px;font-weight:700}.top-metric .v.ok{color:var(--ok)}.top-metric .v.warn{color:var(--warn)}.banner{border-bottom:1px solid var(--border);padding:8px 16px;font-size:12px}.banner.stale{color:var(--warn);background:#f5b9421f}.banner.err{color:var(--danger);background:#ff4d631f}.banner.alert{color:var(--text);background:#ff4d631a}.main{gap:var(--gap);flex-direction:column;padding:12px 16px 24px;display:flex}.dock{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r);min-height:92px;padding:12px 14px}.tile .label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.tile .value{margin-top:6px;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:700}.tile .sub{color:var(--text-muted);margin-top:4px;font-size:11px}.tile .value.muted{color:var(--text-dim)}.grid-2{gap:var(--gap);grid-template-columns:1.1fr .9fr;display:grid}@media (max-width:960px){.grid-2{grid-template-columns:1fr}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r);padding:var(--pad);min-width:0}.card h2{margin:0 0 10px;font-size:14px;font-weight:600}.card .hint{color:var(--text-muted);margin:-6px 0 10px;font-size:11px}.sky-map{width:100%;height:100%}.sky-map .leaflet-container{background:#050a14;width:100%;height:100%;font-family:inherit}.sky-map .leaflet-control-zoom{margin:12px 0 0 12px}.sky-map .leaflet-control-zoom a{color:var(--text);border:1px solid var(--border-strong);background:#0c1626e0;border-radius:4px;width:28px;height:28px;line-height:26px}.sky-map .leaflet-control-zoom a:hover{background:var(--surface-3)}.sky-map .leaflet-bar{box-shadow:none;border:0}.sky-map .leaflet-cloud-pane .leaflet-layer,.sky-map .leaflet-radar-pane .leaflet-layer{transition:opacity .28s linear}.sky-map .leaflet-radar-pane img,.sky-map img.sky-radar{image-rendering:auto;filter:blur(.8px)saturate(1.15)}.sky-map .sky-basemap{filter:brightness(1.12)contrast(.96)}.sky-map .sky-himawari,.sky-map .sky-ir{filter:blur(.35px)}.sky-map .sky-himawari img,.sky-map .sky-ir img{image-rendering:auto}.sky-map .leaflet-control-attribution{color:var(--text-muted);border:1px solid var(--border);background:#080f1cd1;border-radius:4px;margin:0 12px 56px 0;padding:2px 8px;font-size:10px}.sky-map .leaflet-tooltip{background:var(--surface-1);color:var(--text);border:1px solid var(--border);box-shadow:none;border-radius:4px;font-size:11px}.sky-map .leaflet-tooltip-right:before{border-right-color:var(--border)}.sky-map .leaflet-tooltip.sky-plant-label{white-space:nowrap;border-color:var(--ok);color:var(--text);background:#080f1cf5;padding:3px 8px;font-weight:600;box-shadow:0 2px 10px #00000080}.sky-map .leaflet-tooltip-top.sky-plant-label:before{border-top-color:var(--ok)}.sky-map .leaflet-control-scale{margin:0 12px 56px}.sky-map .leaflet-control-scale-line{color:var(--text-muted);border:1px solid var(--border);background:#080f1cd1;border-top:none;border-radius:0 0 4px 4px;padding:1px 6px 2px;font-size:10px}.sky-map img.sky-labels{image-rendering:auto}.sky-map .leaflet-tooltip.sky-pin-tip{border:1px solid var(--border);color:var(--text-soft);background:#080f1ceb;font-size:10px}.sky-map .leaflet-tooltip-top.sky-pin-tip:before{border-top-color:var(--border)}.tabs{gap:6px;margin-bottom:10px;display:flex}.tabs button,.btn{background:var(--surface-3);color:var(--text-soft);border:1px solid var(--border);border-radius:var(--r-sm);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:7px 10px;font-size:11px;font-weight:700}.tabs button.is-on,.btn.primary{background:var(--brand);color:#fff;border-color:#0000}.tabs button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.btn:hover{filter:brightness(1.08)}.btn-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.chart{width:100%;height:240px}.day-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;display:flex}.day-row:last-child{border-bottom:0}.day-row .d{color:var(--text-muted)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-sm);max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px}th:first-child,td:first-child{text-align:left}th{background:var(--surface-2);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;position:sticky;top:0}tr.high td{background:#ff4d6314}tr.watch td{background:#f5b94212}.risk{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.risk.ok{color:var(--ok)}.risk.watch{color:var(--warn)}.risk.high{color:var(--danger)}.empty{color:var(--text-muted);padding:12px 0;font-size:12px}.ai-desk .ai-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.ai-desk .ai-head h2{margin:0}.ai-meta{color:var(--text-muted);margin:2px 0 0;font-size:11px}.ai-brief{color:var(--text);margin:0 0 10px;font-size:13px;line-height:1.45}.ai-watch{color:var(--text-soft);margin:0 0 12px;padding-left:16px;font-size:12px}.ai-watch li{margin:0 0 4px}.bias{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);border-radius:4px;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.bias.conservative{color:var(--warn);border-color:#f5b94266}.bias.p50{color:var(--ok);border-color:#18e08a59}.bias.aggressive{color:var(--info);border-color:#4ea2ff66}.bias.window-solar{color:var(--ok);border-color:#18e08a59}.bias.window-score{color:var(--info);border-color:#4ea2ff66}.bias.window-off{color:var(--text-muted)}.ai-flags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ai-flags .bias{margin-bottom:0}.hist-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px;display:grid}.hist-kpis .label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.hist-kpis .sub{color:var(--text-dim);margin-top:2px;font-size:11px}@media (max-width:720px){.hist-kpis{grid-template-columns:1fr}}.ai-ask{gap:8px;display:flex}.ai-ask input{background:var(--surface-2);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:var(--r-sm);flex:1;padding:8px 10px}.ai-ask input:disabled{opacity:.5}.ai-answer{border-top:1px solid var(--border);color:var(--text-soft);margin-top:10px;padding-top:10px;font-size:12px;line-height:1.45}.footer{color:var(--text-dim);padding:8px 16px 20px;font-size:11px}.operator{border-left:1px solid var(--border);flex-direction:column;align-items:flex-end;gap:4px;padding-left:14px;display:flex}.operator .k{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.operator .handle{font-family:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;font-size:13px;font-weight:600}.btn.desk-out{color:var(--text-muted);background:0 0;padding:3px 8px;font-size:10px}.btn.desk-out:hover{color:var(--text);background:var(--surface-3)}.gate{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.gate-rail{border-bottom:1px solid var(--border);background:var(--topbar-bg);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 20px;display:flex}.gate-brand{align-items:baseline;gap:8px;display:flex}.gate-brand strong{letter-spacing:.06em;font-size:15px}.gate-brand span{color:var(--text-dim);letter-spacing:.12em;font-size:11px}.gate-rail-meta{color:var(--text-muted);gap:18px;font-size:12px;display:flex}.gate-body{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(300px,420px);min-height:0;display:grid}.gate-sky{border-right:1px solid var(--border);--sun-x:70%;--sun-y:42%;--sun-glow:.4;background:#050a14;position:relative;overflow:hidden}.gate-sky-wash{background:radial-gradient(ellipse 70% 46% at var(--sun-x) var(--sun-y), rgba(245, 185, 66, calc(.28 * var(--sun-glow))), transparent 58%), linear-gradient(180deg, #06101c 0%, #081424 62%, #0b1a2c 100%);position:absolute;inset:0}.gate-sky[data-day="0"] .gate-sky-wash{background:radial-gradient(50% 30% at 50% 100%,#2f7bff14,#0000 60%),linear-gradient(#03070e 0%,#050a14 70%,#071018 100%)}.gate-grid{background-image:linear-gradient(#78a0d213 1px,#0000 1px),linear-gradient(90deg,#78a0d213 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 78%,#0000 100%);mask-image:linear-gradient(#000 0% 78%,#0000 100%)}.gate-horizon{background:#b4d2f038;height:1px;position:absolute;top:72%;left:0;right:0}.gate-horizon:after{content:"";background:linear-gradient(#12283e59,#0000);height:48px;position:absolute;top:0;left:0;right:0}.gate-strata{background:linear-gradient(#0000 22%,#b4d2f00d 24%,#0000 27%),linear-gradient(#0000 36%,#8cb4dc0f 39%,#0000 43%),linear-gradient(#0000 51%,#c8dcf00a 54%,#0000 58%);position:absolute;inset:0}.gate-sun{width:14px;height:14px;left:var(--sun-x);top:var(--sun-y);box-shadow:0 0 0 1px #f5b94259, 0 0 28px rgba(245, 185, 66, calc(.45 * var(--sun-glow)));background:#f5b942;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.gate-sky[data-day="0"] .gate-sun{display:none}.gate-pin{color:var(--text);flex-direction:column;gap:2px;display:flex;position:absolute;top:48%;left:22%}.gate-pin i{border:1.5px solid var(--ok);border-radius:50%;width:9px;height:9px;margin-bottom:6px;box-shadow:0 0 0 4px #18e08a1f}.gate-pin b{letter-spacing:.04em;font-size:12px;font-weight:600}.gate-pin em{font-style:normal;font-family:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;color:var(--text-muted);font-size:11px}.gate-sky-read{font-family:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;gap:14px;font-size:11px;display:flex;position:absolute;bottom:16px;left:16px}.gate-panel{background:var(--surface-0);border-left:1px solid var(--border);flex-direction:column;justify-content:center;padding:40px 36px 32px;display:flex}.gate-k{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:10px;font-weight:700}.gate-panel h1{letter-spacing:-.02em;margin:0 0 8px;font-size:26px;font-weight:600}.gate-lead{color:var(--text-soft);max-width:34ch;margin:0 0 28px;font-size:13px;line-height:1.45}.gate-form{flex-direction:column;gap:14px;display:flex}.gate-field{flex-direction:column;gap:5px;display:flex}.gate-field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.gate-field input,.gate-pass input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--r-sm);padding:9px 10px;font-size:14px}.gate-field input:focus,.gate-pass input:focus{border-color:var(--brand);outline:none}.gate-pass{gap:6px;display:flex}.gate-pass button{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--r-sm);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;flex:none;padding:0 10px;font-size:10px;font-weight:700}.gate-pass button:hover{color:var(--text);background:var(--surface-3)}.gate-go{width:100%;margin-top:4px;padding:10px 12px;font-size:12px}.gate-err{color:var(--danger);margin:0;font-size:12px}.gate-foot{color:var(--text-dim);margin:28px 0 0;font-size:11px}@media (max-width:820px){.gate-body{grid-template-columns:1fr}.gate-sky{border-right:0;border-bottom:1px solid var(--border);min-height:220px}.gate-panel{max-width:none;padding:28px 20px 32px}.gate-rail-meta{gap:10px;font-size:11px}.operator{border-left:0;align-items:flex-start;padding-left:0}}
.dk{--font-ui:-apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--bg:#f5f5f5;--surface-0:#fafafa;--surface-1:#fff;--surface-2:#f6f7f7;--surface-3:#eceeee;--topbar-bg:#fff;--border:#10181617;--border-strong:#10181629;--text:#272a29;--text-soft:#545958;--text-muted:#737877;--text-dim:#9a9f9e;--brand:#2563eb;--ok:#15803d;--warn:#b45309;--danger:#c0392b;--info:#2563eb;--rtd:#15803d;--actual:#ea580c;--fc:#2563eb;--ov-0:#9333ea;--ov-1:#0d9488;--ov-2:#b45309;--row-next:#2563eb12;--r:10px;--r-sm:6px;background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;grid-template-columns:208px minmax(0,1fr);font-size:14px;line-height:1.5;display:grid}.dk[data-theme=dark]{--bg:#0f1216;--surface-0:#12161b;--surface-1:#171c22;--surface-2:#1c222a;--surface-3:#262d37;--topbar-bg:#12161b;--border:#ffffff12;--border-strong:#ffffff24;--text:#e9edf2;--text-soft:#b8c1cc;--text-muted:#8a95a3;--text-dim:#616c7a;--brand:#4f8cff;--ok:#3ccf98;--warn:#e8b04d;--danger:#ee6b70;--info:#6aa8ff;--rtd:#3ccf98;--actual:#f08a62;--fc:#6aa8ff;--ov-0:#c084fc;--ov-1:#2dd4bf;--ov-2:#e8b04d;--row-next:#6aa8ff17}body:has(.dk){background:#f5f5f5}body:has(.dk[data-theme=dark]){background:#0f1216}.dk,.dk *{font-family:var(--font-ui)}.dk *{text-transform:none!important;letter-spacing:normal!important}.dk .num,.dk .mono,.dk table,.dk input{font-variant-numeric:tabular-nums}.dk-side{background:var(--surface-0);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:16px 10px;display:flex;position:sticky;top:0}.dk-brand{margin:0 8px 18px;font-size:15px;font-weight:600}.dk-sidenav{flex-direction:column;gap:14px;display:flex}.dk-navgroup{flex-direction:column;gap:1px;display:flex}.dk-navlabel{color:var(--text-dim);margin:0 10px 4px;font-size:12px}.dk-sidenav button{text-align:left;border-radius:var(--r-sm);color:var(--text-soft);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:14px;font-weight:500}.dk-sidenav button:hover{background:var(--surface-3);color:var(--text)}.dk-sidenav button.is-on{background:var(--surface-1);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.dk-side-foot{margin-top:auto;padding:0 4px}.dk-body{flex-direction:column;min-width:0;display:flex}.dk-top{z-index:800;background:var(--topbar-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.dk-top-plant{align-items:center;gap:12px;min-width:0;display:flex}.dk-brand-inline{font-size:15px;font-weight:600;display:none}.dk-top .plant-picker{min-width:280px}.dk-top .plant-picker-k{display:none}.dk-top .plant-picker-input{background:var(--surface-2);border-color:var(--border);color:var(--text)}.dk-top-meta{color:var(--text-soft);align-items:center;gap:14px;font-size:13px;display:flex}.dk-navi-link{color:var(--text);text-decoration:none}.dk-who{color:var(--text);font-weight:500}.dk-theme-inline{display:none}.dk .btn.desk-out,.dk-icon{border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-soft);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px;font-weight:500}.dk .btn.desk-out:hover,.dk-icon:hover{color:var(--text);background:var(--surface-2)}.dk-topnav{display:none}.dk-main{flex-direction:column;gap:16px;width:100%;max-width:1400px;margin:0 auto;padding:20px 24px 40px;display:flex}.dk-banner{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-soft);padding:10px 14px;font-size:13px}.dk-banner-warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, var(--surface-1));color:var(--warn)}.dk-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dk-stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r);min-width:0;padding:14px 16px}.dk-stat-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.dk-stat-value{align-items:baseline;gap:6px;margin:4px 0 2px;display:flex}.dk-stat-value .num{font-size:28px;font-weight:600;line-height:1.15}.dk-stat-unit{color:var(--text-muted);font-size:13px}.dk-stat-sub{color:var(--text-soft);margin:0;font-size:13px}.dk-note{color:var(--text-soft);max-width:100ch;margin:0;font-size:14px;line-height:1.6}.dk-link{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.dk-link:hover{text-decoration:underline}.dk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.dk-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;min-width:0;display:flex}.dk-card.is-wide{grid-column:1/-1}.dk-card-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 8px;display:flex}.dk-card-head h2{margin:0;font-size:14px;font-weight:600}.dk-card-actions{gap:6px;display:flex}.dk-card>.sc,.dk-card>.dk-chips,.dk-card>.dk-empty{margin-left:16px;margin-right:16px}.dk-card>.sc{margin-bottom:14px}.dk-card>div:not(.dk-chips):not(.dk-map){padding:0 16px 16px}.dk-empty{color:var(--text-muted);margin:0;padding:8px 16px 16px;font-size:13px}.dk-table{border-collapse:collapse;width:100%;font-size:14px}.dk-table th{text-align:right;color:var(--text-muted);border-bottom:1px solid var(--border);background:0 0;padding:6px 16px;font-size:13px;font-weight:500;position:static}.dk-table td{text-align:right;border-bottom:1px solid var(--border);padding:7px 16px}.dk-table th:first-child,.dk-table td:first-child{text-align:left}.dk-table tr:last-child td{border-bottom:0}.dk-table tr.is-next td{background:var(--row-next)}.dk-table tr.is-next td:first-child{box-shadow:inset 2px 0 0 var(--fc);font-weight:600}.dk-table tr.dk-dark td{text-align:left;color:var(--text-dim);font-size:13px}.dk-table tr.dk-daybreak td{text-align:left;color:var(--text-soft);background:var(--surface-2);font-size:13px;font-weight:500}.dk-risk-watch{color:var(--warn)}.dk-risk-high{color:var(--danger)}.dk-risk-ok{color:var(--text-muted)}.dk-map{flex:1;padding:0 8px 8px;display:flex}.dk-map .sm-wrap{border-radius:8px;min-height:380px}.dk-skypage{height:calc(100vh - 110px);min-height:480px;display:flex}.dk-skypage .sm-wrap{border-radius:var(--r);min-height:0}.dk-tabs{border-bottom:1px solid var(--border);gap:20px;margin-top:4px;display:flex}.dk-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0;font-size:14px;font-weight:500}.dk-tabs button.is-on{color:var(--text);border-bottom-color:var(--text)}.dk-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.dk-chip{border:1px solid var(--border-strong);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.dk-chip.is-on{background:var(--surface-3);color:var(--text);border-color:#0000}.dk-chip.is-fixed{cursor:default;background:color-mix(in srgb, var(--fc) 12%, transparent);color:var(--fc)}.dk-source{color:var(--text-dim);margin:0;font-size:12px}.dk-main>.card{background:var(--surface-1);border-color:var(--border);border-radius:var(--r);padding:18px 20px}.dk .card h2{font-size:16px;font-weight:600}.dk .hint{color:var(--text-muted);max-width:90ch;font-size:13px}.dk .btn,.dk .tabs button{border-radius:var(--r-sm);font-size:12px;font-weight:500}.dk th{font-size:13px;font-weight:500}.dk .table-wrap th{background:var(--surface-2)}.sc{margin:0}.sc svg{width:100%;height:auto;display:block}.sc-grid{stroke:var(--border);stroke-width:1px}.sc-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.sc-band{fill:var(--fc);opacity:.14}.sc-mid{fill:none;stroke:var(--fc);stroke-width:2px;stroke-linejoin:round}.sc-actual{fill:none;stroke:var(--actual);stroke-width:2px}.sc-rtd{fill:none;stroke:var(--rtd);stroke-width:1.5px;stroke-dasharray:5 4}.sc-ov{fill:none;stroke-width:1.75px;stroke-dasharray:6 4}.sc-ov-0{stroke:var(--ov-0)}.sc-ov-1{stroke:var(--ov-1)}.sc-ov-2{stroke:var(--ov-2)}.sc-now{stroke:var(--text-dim);stroke-width:1px}.sc-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:6px;font-size:12px;display:flex}.sc-legend span{align-items:center;gap:6px;display:inline-flex}.sc-key{width:14px;height:2px;display:inline-block}.sc-key-mid{background:var(--fc);box-shadow:0 -3px 0 2px color-mix(in srgb, var(--fc) 16%, transparent)}.sc-key-actual{background:var(--actual)}.sc-key-rtd{background:repeating-linear-gradient(90deg, var(--rtd) 0 5px, transparent 5px 8px)}.sc-key-ov-0{background:repeating-linear-gradient(90deg, var(--ov-0) 0 5px, transparent 5px 8px)}.sc-key-ov-1{background:repeating-linear-gradient(90deg, var(--ov-1) 0 5px, transparent 5px 8px)}.sc-key-ov-2{background:repeating-linear-gradient(90deg, var(--ov-2) 0 5px, transparent 5px 8px)}@media (max-width:960px){.dk{grid-template-columns:minmax(0,1fr)}.dk-side{display:none}.dk-brand-inline,.dk-theme-inline{display:inline-block}.dk-topnav{scrollbar-width:none;border-bottom:1px solid var(--border);background:var(--topbar-bg);gap:2px;padding:0 12px;display:flex;overflow-x:auto}.dk-topnav .dk-navgroup{flex-direction:row;gap:2px}.dk-topnav .dk-navlabel{display:none}.dk-topnav button{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 9px 8px;font-size:13px;font-weight:500}.dk-topnav button.is-on{color:var(--text);border-bottom-color:var(--text)}.dk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.dk-top{flex-wrap:wrap;gap:8px;padding:10px 16px}.dk-top-plant{width:100%}.dk-top .plant-picker{flex:1;min-width:0}.dk-top-meta{justify-content:flex-end;width:100%}.dk-main{gap:12px;padding:14px 16px 32px}.dk-stat{padding:12px}.dk-stat-value .num{font-size:22px}.dk-table th,.dk-table td{padding:6px 10px}.dk-skypage{height:calc(100vh - 150px)}}
.sm{--bg:#0f1216;--surface-1:#161b21;--surface-2:#1c222a;--surface-3:#262d37;--border:#ffffff14;--border-strong:#ffffff29;--text:#e9edf2;--text-soft:#b8c1cc;--text-muted:#8a95a3;--text-dim:#6b7684;--ok:#3ccf98;--warn:#e8b04d;--danger:#ee6b70;min-width:0;color:var(--text);flex:1;display:flex}.sm-wrap{border:1px solid var(--border);background:#0f1216;border-radius:8px;flex:1;min-height:420px;position:relative;overflow:hidden}.sm-map{position:absolute;inset:0}.sm .leaflet-container{background:#0f1216}.sm-switch,.sm-card,.sm-time,.sm-legend,.sm-notice{z-index:600;border:1px solid var(--border-strong);background:#0f1216f0;border-radius:8px;position:absolute}.sm-switch{gap:2px;padding:2px;display:flex;top:12px;left:12px}.sm-switch button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 11px;font-size:12px}.sm-switch button:hover:not(:disabled){color:var(--text)}.sm-switch button.is-on{background:var(--surface-3);color:var(--text)}.sm-switch button:disabled{opacity:.4;cursor:not-allowed}.sm-card{max-width:min(300px,100% - 24px);padding:9px 12px;top:12px;right:12px}.sm-card-head{color:var(--text);margin:0;font-size:13px;font-weight:500}.sm-card-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.sm-card-warn{border-color:#e8b04d73}.sm-card-warn .sm-card-head{color:var(--warn)}.sm-card-calm .sm-card-head{color:var(--ok)}.sm-notice{max-width:calc(100% - 24px);color:var(--text-soft);text-align:center;pointer-events:none;padding:6px 12px;font-size:12px;top:56px;left:50%;transform:translate(-50%)}.sm-legend{color:var(--text-muted);pointer-events:none;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex;top:52px;left:12px}.sm-legend i{border-radius:1px;width:72px;height:6px;display:block}.sm-rain{background:linear-gradient(90deg,#b4f0ff,#58b5e8,#2f7fd6,#2fbf71,#f5d33a,#f08a3c,#e34a4a)}.sm-ghi{width:110px!important}.sm-switch-sep{background:var(--border-strong);align-self:stretch;width:1px;margin:4px 2px}.sm-time{align-items:center;gap:12px;padding:6px 12px;display:flex;bottom:12px;left:12px;right:12px}.sm-btn{border:1px solid var(--border-strong);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:4px 10px;font-size:12px}.sm-btn:disabled{opacity:.4;cursor:not-allowed}.sm-track{flex:1;min-width:0;height:32px;position:relative}.sm-track-past,.sm-track-future{height:2px;position:absolute;top:11px}.sm-track-past{background:#4a525c;left:0}.sm-track-future{background:repeating-linear-gradient(90deg, var(--warn) 0 4px, transparent 4px 7px);right:0}.sm-track-now{background:var(--text);width:2px;height:14px;margin-left:-1px;position:absolute;top:5px}.sm-track input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;position:absolute;top:0;left:0;right:0}.sm-track input[type=range]::-webkit-slider-runnable-track{background:0 0;height:24px}.sm-track input[type=range]::-moz-range-track{background:0 0;height:24px}.sm-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:2px solid #0f1216;border-radius:50%;width:13px;height:13px;margin-top:5.5px}.sm-track input[type=range]::-moz-range-thumb{background:var(--text);border:2px solid #0f1216;border-radius:50%;width:9px;height:9px}.sm-track input[type=range]:focus-visible{outline:none}.sm-track input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #6aa8ff80}.sm-ticks{pointer-events:none;height:12px;position:absolute;top:19px;left:0;right:0}.sm-ticks span{color:var(--text-dim);white-space:nowrap;font-size:11px;line-height:12px;position:absolute;transform:translate(-50%)}.sm-ticks span:first-child{transform:none}.sm-ticks span:last-child{transform:translate(-100%)}.sm-ticks .is-future{color:var(--warn)}.sm-time-label{text-overflow:ellipsis;white-space:nowrap;max-width:42%;color:var(--text-muted);flex:0 auto;font-size:12px;overflow:hidden}.sm-time-label.is-future{color:var(--warn)}.sky-map .leaflet-div-icon.sm-ring-label,.sky-map .leaflet-div-icon.sm-edge-label{white-space:nowrap;text-shadow:0 1px 2px #0f1216;background:0 0;border:0;font-size:11px}.sky-map .leaflet-div-icon.sm-ring-label{color:var(--text-muted)}.sky-map .leaflet-div-icon.sm-edge-label{color:var(--warn)}.sky-map .leaflet-div-icon.sm-flow-label{color:#7ad2ff;white-space:nowrap;text-shadow:0 1px 2px #0f1216;background:0 0;border:0;font-size:11px;font-weight:600}.sm .leaflet-bottom{bottom:56px}.sm .leaflet-control-zoom{margin:0 12px 8px 0}.sm .leaflet-control-attribution{margin:0 0 8px 12px;font-size:10px}.sm-wrap{container-type:inline-size}@container (max-width:560px){.sm-switch button{padding:5px 8px}.sm-card{max-width:none;top:52px;left:12px;right:12px}.sm-notice{top:104px}.sm-time{flex-wrap:wrap;row-gap:2px}.sm-track{flex-basis:calc(100% - 70px)}.sm-time-label{order:3;width:100%;max-width:none}.sm .leaflet-bottom{bottom:76px}}@media (max-width:560px){.sm-wrap{min-height:380px}.sm-switch button{padding:5px 8px}.sm-card{max-width:none;top:52px;left:12px;right:12px}.sm-notice{top:104px}.sm-time{flex-wrap:wrap;row-gap:2px}.sm-track{flex-basis:calc(100% - 70px)}.sm-time-label{order:3;width:100%;max-width:none}.sm .leaflet-bottom{bottom:76px}}
