@font-face{font-family:Bahnschrift;src:url(/assets/Bahnschrift-BC22LHhh.woff2)format("woff2");font-weight:300 700;font-stretch:75% 100%;font-display:swap}:root{--mv-amber:#ffb700;--mv-black:#000;--mv-white:#fff;--amber-50:#fff8e6;--amber-100:#ffedbf;--amber-200:#ffe199;--amber-300:#ffd166;--amber-400:#ffc433;--amber-500:#ffb700;--amber-600:#e6a500;--amber-700:#b38000;--amber-800:#805c00;--amber-900:#4d3700;--n-0:#000;--n-50:#0a0a0a;--n-100:#121212;--n-150:#171717;--n-200:#1c1c1c;--n-250:#242424;--n-300:#2e2e2e;--n-400:#3d3d3d;--n-500:#5c5c5c;--n-600:gray;--n-700:#a6a6a6;--n-800:#ccc;--n-900:#e6e6e6;--n-1000:#fff;--surface-canvas:var(--n-0);--surface-shell:var(--n-50);--surface-panel:var(--n-100);--surface-card:var(--n-200);--surface-raised:var(--n-250);--surface-input:var(--n-300);--surface-overlay:#000000b8;--surface-map-chrome:#0a0a0ae0;--surface-rail-float:#0a0a0a9e;--surface-gate-card:#1212129e;--border-subtle:#1f1f1f;--border-default:#2e2e2e;--border-strong:#454545;--border-accent:#ffb70073;--border-focus:var(--mv-amber);--text-primary:#fff;--text-secondary:#b3b3b3;--text-tertiary:#999;--text-disabled:#4d4d4d;--text-accent:var(--mv-amber);--text-on-accent:#000;--text-inverse:#000;--accent:var(--mv-amber);--accent-hover:var(--amber-400);--accent-active:var(--amber-600);--accent-wash:#ffb7001f;--accent-wash-strong:#ffb70038;--accent-ring:#ffb70059;--status-success:#3ecf8e;--status-success-wash:#3ecf8e26;--status-warning:var(--mv-amber);--status-warning-wash:#ffb70026;--status-danger:#ff5c5c;--status-danger-wash:#ff5c5c26;--status-neutral:var(--n-600);--status-neutral-wash:#80808026;--viz-1:#ffb700;--viz-2:#fff;--viz-3:#b38000;--viz-4:gray;--viz-5:#ffd166;--viz-6:#4d4d4d;--fp-low:#ffb7000b;--fp-mid:#ffb70016;--fp-high:#ffb70024;--fp-stroke:#ffb700;--fp-selected-stroke:#fff;--aoi-stroke:#ffb700;--aoi-fill:#ffb7001a;--grid-stroke:#ffb7008c;--font-sans:"Bahnschrift", "DIN Alternate", "Segoe UI Variable Text", "Segoe UI", "Roboto Condensed", system-ui, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--fs-display:28px;--lh-display:34px;--fs-h1:22px;--lh-h1:28px;--fs-h2:18px;--lh-h2:24px;--fs-h3:15px;--lh-h3:20px;--fs-body:14px;--lh-body:20px;--fs-sm:13px;--lh-sm:18px;--fs-xs:12px;--lh-xs:16px;--fs-2xs:11px;--lh-2xs:14px;--font-stretch:87.5%;--fw-regular:400;--fw-semibold:600;--fw-bold:700;--ls-tight:-.01em;--ls-normal:0;--ls-wide:.02em;--ls-caps:.08em;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--sh-1:0 1px 2px #0009;--sh-2:0 2px 8px #0000008c;--sh-3:0 8px 24px #0009;--sh-4:0 16px 48px #000000b3;--sh-focus:0 0 0 2px var(--accent-ring);--nav-rail-w:224px;--nav-rail-w-collapsed:60px;--drawer-w:380px;--drawer-w-wide:620px;--topbar-h:64px;--statusbar-h:28px;--toolstrip-w:48px;--dock-w:296px;--minimap-w:250px;--minimap-h:150px;--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s;--ease-out:cubic-bezier(.2,.8,.3,1);--ease-inout:cubic-bezier(.4,0,.2,1);--z-map:0;--z-map-chrome:900;--z-drawer:1000;--z-rail:1010;--z-topbar:1020;--z-popover:1100;--z-modal:1200;--z-toast:1300}[data-theme=light]{--surface-canvas:#fff;--surface-shell:#fff;--surface-panel:#f7f7f7;--surface-card:#fff;--surface-raised:#fff;--surface-input:#f0f0f0;--surface-overlay:#00000073;--surface-map-chrome:#ffffffeb;--surface-rail-float:#ffffffb8;--surface-gate-card:#ffffffb8;--border-subtle:#ebebeb;--border-default:#d6d6d6;--border-strong:#b0b0b0;--text-primary:#000;--text-secondary:#4d4d4d;--text-tertiary:#6e6e6e;--text-disabled:#b3b3b3;--accent-wash:#ffb7002e;--viz-2:#000}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-stretch:var(--font-stretch);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:var(--r-pill);border:2px solid var(--surface-panel)}::-webkit-scrollbar-thumb:hover{background:var(--n-400)}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:0;border-radius:var(--r-sm)}.maplibregl-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:0}.u-caps{text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.u-tnum{font-variant-numeric:tabular-nums}.u-muted{color:var(--text-secondary)}.u-dim{color:var(--text-tertiary)}.u-accent{color:var(--text-accent)}.u-row{align-items:center;gap:var(--sp-2);display:flex}.u-spread{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.u-grow{flex:1;min-width:0}.u-trunc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.icon-sm{width:15px;height:15px}.icon-lg{width:22px;height:22px}[hidden]{display:none!important}.app{grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.app>.topbar{grid-row:1}.app>.appbody{grid-row:2}.wizard-host{display:contents}.wizard-host[hidden]{display:none}.appbody{grid-template-columns:var(--nav-rail-w) auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.app.is-collapsed .appbody{grid-template-columns:var(--nav-rail-w-collapsed) auto minmax(0,1fr)}.appbody>.rail{grid-area:1/1}.appbody>.drawer{grid-area:1/2}.appbody>.map{grid-area:1/3}.topbar{align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);background:var(--surface-shell);border-bottom:1px solid var(--border-subtle);min-width:0;z-index:var(--z-topbar);display:flex}.brand{align-items:center;gap:var(--sp-3);width:calc(var(--nav-rail-w) - var(--sp-4));flex:none;display:flex}.brand-mark{flex:none;width:30px;height:30px}.brand-word{font-size:20px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight)}.brand-word em{color:var(--accent);font-style:normal}.brand-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--accent);border:1px solid var(--border-accent);border-radius:var(--r-xs);padding:1px 8px}.gsearch{flex:340px;min-width:150px;max-width:340px;position:relative}.gsearch input{width:100%;height:40px;padding:0 36px 0 var(--sp-3);background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--text-primary)}.gsearch input::placeholder{color:var(--text-tertiary)}.gsearch input:focus{border-color:var(--accent);box-shadow:var(--sh-focus);outline:none}.gsearch .caret{right:var(--sp-2);color:var(--text-tertiary);position:absolute;top:50%;transform:translateY(-50%)}.gsearch-menu{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-sm);box-shadow:var(--sh-3);padding:var(--sp-1) 0;z-index:var(--z-popover);max-height:280px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.gsearch-menu button{text-align:left;width:100%;padding:10px var(--sp-4);font-size:var(--fs-sm);color:var(--text-secondary);display:block}.gsearch-menu button:hover{background:var(--accent-wash);color:var(--text-primary)}.maptools{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-md);flex:none;align-items:center;gap:2px;padding:4px;display:flex;position:relative}.tool{border-radius:var(--r-sm);width:36px;height:32px;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out);place-items:center;display:grid}.tool:hover{background:var(--n-300);color:var(--text-primary)}.tool.is-active{background:var(--accent-wash);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border-accent)}.toolsplit{border-radius:var(--r-sm);align-items:center;display:flex;overflow:hidden}.toolsplit .tool{border-radius:var(--r-sm) 0 0 var(--r-sm)}.toolsplit.is-active{background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--border-accent)}.toolsplit.is-active .tool{box-shadow:none;background:0 0}.toolsplit.is-active .tool-split{color:var(--accent)}.tool-split{width:20px;height:32px;color:var(--text-tertiary);border-radius:0 var(--r-sm) var(--r-sm) 0;transition:background var(--dur-fast) var(--ease-out);place-items:center;padding:0;display:grid}.tool-split:hover,.tool-split.is-open{background:var(--n-300);color:var(--text-primary)}.topbar-right{align-items:center;gap:var(--sp-2);flex:none;margin-left:auto;display:flex}.iconbtn{border-radius:var(--r-sm);width:38px;height:38px;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-default);place-items:center;display:grid}.iconbtn:hover{color:var(--accent);border-color:var(--border-accent)}.iconbtn.is-locked{opacity:.45;cursor:not-allowed}.iconbtn.is-locked:hover{color:var(--text-secondary);border-color:var(--border-default)}.avatar{cursor:pointer;border-radius:var(--r-pill);background:var(--accent-wash);width:38px;height:38px;color:var(--accent);border:1px solid var(--border-accent);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);place-items:center;display:grid;position:relative}.avatar.is-live:after{content:"";border-radius:var(--r-pill);background:var(--status-success);border:2px solid var(--surface-shell);width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.launch-pop{top:calc(var(--topbar-h) + 6px);right:var(--sp-4);gap:var(--sp-2);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--sp-2);box-shadow:var(--sh-3);z-index:var(--z-popover);display:flex;position:absolute}.launch-pop a{width:104px;padding:var(--sp-3) var(--sp-2);border-radius:var(--r-sm);text-align:center;color:var(--text-secondary);font-size:var(--fs-xs);border:1px solid #0000;justify-items:center;gap:6px;text-decoration:none;display:grid}.launch-pop a:hover{background:var(--accent-wash);color:var(--accent);border-color:var(--border-accent)}.rail{background:var(--surface-shell);border-right:1px solid var(--border-subtle);padding:var(--sp-3) 0;z-index:var(--z-rail);flex-direction:column;display:flex;overflow:hidden}.rail-item{align-items:center;gap:var(--sp-3);height:44px;padding:0 var(--sp-4);margin:1px var(--sp-2);border-radius:var(--r-sm);color:var(--text-secondary);font-size:var(--fs-sm);width:calc(100% - var(--sp-4));transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex;position:relative}.rail-item:hover{background:var(--n-150);color:var(--text-primary)}.rail-item.is-active{background:var(--accent-wash);color:var(--accent)}.rail-item.is-active:before{content:"";left:calc(-1 * var(--sp-2));border-radius:0 var(--r-xs) var(--r-xs) 0;background:var(--accent);width:3px;position:absolute;top:8px;bottom:8px}.rail-label{text-align:left;white-space:nowrap;flex:1}.app.is-collapsed .rail-label,.app.is-collapsed .rail-item .badge,.app.is-collapsed .rail-item .vis{display:none}.app.is-collapsed .rail-item{justify-content:center;padding:0}.app.is-collapsed .rail.is-peek{width:var(--nav-rail-w);z-index:calc(var(--z-drawer) + 1);box-shadow:var(--sh-4);border-right:1px solid var(--border-default);background:var(--surface-rail-float);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);animation:rail-peek var(--dur-base) var(--ease-out);position:absolute;top:0;bottom:0;left:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app.is-collapsed .rail.is-peek{background:var(--surface-shell)}}@keyframes rail-peek{0%{opacity:.35;transform:translate(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app.is-collapsed .rail.is-peek{animation:none}}.app.is-collapsed .rail.is-peek .rail-label,.app.is-collapsed .rail.is-peek .rail-item .vis{display:flex}.app.is-collapsed .rail.is-peek .rail-item{padding:0 var(--sp-4);justify-content:flex-start}.badge{border-radius:var(--r-xs);background:var(--accent);min-width:18px;height:18px;color:var(--text-on-accent);font-size:var(--fs-2xs);font-weight:var(--fw-bold);place-items:center;padding:0 5px;display:grid}.vis{color:var(--text-tertiary);place-items:center;width:22px;height:22px;padding:0;display:grid}.vis:hover{color:var(--accent)}.vis.is-off{color:var(--text-disabled)}.vis:disabled{color:var(--text-disabled);cursor:default}.infotip{flex:none;display:inline-flex;position:relative}.infotip-card{z-index:var(--z-popover);width:260px;max-width:min(260px,80vw);padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-raised);box-shadow:var(--sh-3);font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-secondary);font-weight:var(--fw-regular);text-align:left;white-space:normal;cursor:default;gap:4px;display:grid;position:absolute;top:calc(100% + 6px);right:-4px}.infotip-card b{color:var(--text-primary);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.rail-spacer{flex:1}.rail-collapse{border-top:1px solid var(--border-subtle);margin-top:var(--sp-2);padding-top:var(--sp-3)}.drawer{width:var(--drawer-w);background:var(--surface-panel);border-right:1px solid var(--border-subtle);min-height:0;z-index:var(--z-drawer);transition:width var(--dur-base) var(--ease-out);display:flex}.drawer.is-wide{width:var(--drawer-w-wide)}.drawer.is-hidden{border-right:none;width:0;overflow:hidden}.drawer-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.panel{flex-direction:column;flex:1;min-height:0;display:flex}.panel-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);flex:none;display:flex}.panel-title{font-size:var(--fs-h1);font-weight:var(--fw-regular);letter-spacing:var(--ls-tight)}.panel-count{font-size:var(--fs-h3);color:var(--accent);font-weight:var(--fw-semibold)}.panel-body{flex:1;overflow:hidden auto}.panel-body.is-searching{animation:1.6s ease-in-out infinite search-pulse}.panel-body.is-searching .reslist{opacity:.55;transition:opacity .2s}@keyframes search-pulse{0%,to{background-color:#0000}50%{background-color:var(--status-neutral-wash)}}.res-searching{z-index:1;padding:var(--sp-6) var(--sp-4);text-align:center;font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-semibold);color:var(--accent);position:sticky;top:0}.res-sentinel{height:1px}.res-more{padding:var(--sp-4);text-align:center;font-size:var(--fs-xs);color:var(--text-tertiary);animation:1.2s ease-in-out infinite vis-pending}@media (prefers-reduced-motion:reduce){.panel-body.is-searching{background-color:var(--status-neutral-wash);animation:none}.res-more{animation:none}}.panel-foot{border-top:1px solid var(--border-subtle);padding:var(--sp-3) var(--sp-4);flex:none}.section-label{padding:var(--sp-4) var(--sp-4) var(--sp-2);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.opacity-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);display:flex}.opacity-row .rng{margin:0}.stack-select{background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--r-sm);height:28px;color:var(--accent);padding:0 var(--sp-2);font-size:var(--fs-sm);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.rng{--rng-thumb:16px;--rng-track:4px;width:100%;min-width:80px;height:var(--rng-thumb);margin:var(--sp-2) 0;flex:1 1 0;display:block;position:relative}.rng-rail,.rng-fill{height:var(--rng-track);margin-top:calc(var(--rng-track) / -2);border-radius:var(--r-pill);pointer-events:none;position:absolute;top:50%}.rng-rail{background:var(--n-400);left:0;right:0}.rng-fill{background:var(--accent);left:calc(var(--rng-thumb) / 2 + (100% - var(--rng-thumb)) * var(--lo,0));width:calc((100% - var(--rng-thumb)) * (var(--hi,0) - var(--lo,0)))}.rng.is-single .rng-fill{width:calc(var(--rng-thumb) / 2 + (100% - var(--rng-thumb)) * var(--hi,0));left:0}.rng input.rng-input[type=range]{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:0;outline:none;flex:none;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.rng.is-dual input.rng-input[type=range]{pointer-events:none}.rng input.rng-input[type=range]::-webkit-slider-runnable-track{height:var(--rng-thumb);background:0 0;border:none}.rng input.rng-input[type=range]::-moz-range-track{height:var(--rng-thumb);background:0 0;border:none}.rng input.rng-input[type=range]::-moz-range-progress{background:0 0}.rng input.rng-input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;box-sizing:border-box;width:var(--rng-thumb);height:var(--rng-thumb);border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--surface-panel);cursor:pointer;margin-top:0}.rng input.rng-input[type=range]::-moz-range-thumb{pointer-events:auto;box-sizing:border-box;width:var(--rng-thumb);height:var(--rng-thumb);border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--surface-panel);cursor:pointer}.rng input.rng-input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-ring)}.rng input.rng-input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-ring)}.rng.is-off .rng-fill,.rng.is-disabled .rng-fill{background:var(--n-600)}.rng.is-off input.rng-input[type=range]::-webkit-slider-thumb{background:var(--n-600)}.rng.is-off input.rng-input[type=range]::-moz-range-thumb{background:var(--n-600)}.rng.is-disabled{opacity:.4}.rng.is-disabled input.rng-input[type=range]{cursor:not-allowed}.rng.is-disabled input.rng-input[type=range]::-webkit-slider-thumb{background:var(--n-600);cursor:not-allowed}.rng.is-disabled input.rng-input[type=range]::-moz-range-thumb{background:var(--n-600);cursor:not-allowed}.rng-lock{pointer-events:none;height:8px;width:calc(var(--rng-thumb) / 2 + (100% - var(--rng-thumb)) * var(--lock,0));background:repeating-linear-gradient(135deg, var(--n-600) 0 1px, transparent 1px 4px);margin-top:-4px;position:absolute;top:50%;left:0}.rng-stop{background:var(--text-tertiary);width:2px;position:absolute;top:-3px;bottom:-3px;right:-1px}.rng.is-single.is-locked .rng-fill{left:calc(var(--rng-thumb) / 2 + (100% - var(--rng-thumb)) * var(--lo,0));width:calc((100% - var(--rng-thumb)) * (var(--hi,0) - var(--lo,0)))}.rng-scale{--rng-thumb:16px;height:var(--lh-xs);font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;position:relative}.rng-scale>span{white-space:nowrap;top:0;left:calc(var(--rng-thumb) / 2 + (100% - var(--rng-thumb)) * var(--at,0));position:absolute;transform:translate(-50%)}.rng-scale>span.is-first{transform:translateX(max(-50%, calc(var(--rng-thumb) / -2)))}.rng-scale>span.is-last{transform:translateX(min(-50%, calc(var(--rng-thumb) / 2 - 100%)))}.rng-scale>span.is-on{color:var(--accent);font-weight:var(--fw-semibold)}.rng-scale.is-icons{height:20px;margin-top:6px}.rng-scale.is-icons>span{place-items:center;display:grid}.field:has(>.rng){display:flow-root}.field>.rng{margin:var(--sp-5) 0 var(--sp-2)}input[type=range]{appearance:none;border-radius:var(--r-pill);background:linear-gradient(to right, var(--accent) 0 var(--fill,0%), var(--n-300) var(--fill,0%) 100%);cursor:pointer;flex:1;height:4px}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:0 0;height:4px}input[type=range]::-moz-range-track{border-radius:var(--r-pill);background:0 0;border:none;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--surface-panel);cursor:pointer;width:14px;height:14px;margin-top:-5px}input[type=range]::-moz-range-thumb{border-radius:var(--r-pill);box-sizing:border-box;background:var(--accent);border:2px solid var(--surface-panel);cursor:pointer;width:14px;height:14px}.reslist{padding:var(--sp-3);gap:var(--sp-2);display:grid}.rescard{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);overflow:hidden}.rescard:hover{border-color:var(--border-strong)}.rescard.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rescard-head{align-items:center;gap:var(--sp-2);padding:6px var(--sp-2) 6px var(--sp-3);background:var(--n-150);display:flex;position:relative}.rescard-head:before{content:"";border-style:solid;border-width:14px 14px 0 0;border-color:var(--accent) transparent transparent transparent;position:absolute;top:0;left:0}.rescard-date{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;padding-left:var(--sp-2);flex:1}.rescard-body{padding:var(--sp-3)}.sensor{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-3);display:flex}.metrics{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.metric{color:var(--text-secondary);justify-items:center;gap:4px;display:grid}.metric b{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.thumb{aspect-ratio:16/10;object-fit:cover;background:var(--n-250);width:100%;display:block}.cbx{appearance:none;border:1.5px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-input);cursor:pointer;flex:none;width:16px;height:16px;position:relative}.cbx:checked{background:var(--accent);border-color:var(--accent)}.cbx:checked:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:1px;left:4.5px;transform:rotate(45deg)}.rdo{appearance:none;border:1.5px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-input);cursor:pointer;flex:none;width:16px;height:16px;position:relative}.rdo:checked{border-color:var(--accent)}.rdo:checked:after{content:"";border-radius:var(--r-pill);background:var(--accent);position:absolute;inset:3px}.switch{appearance:none;border-radius:var(--r-pill);background:var(--n-400);cursor:pointer;width:38px;height:20px;transition:background var(--dur-fast);flex:none;position:relative}.switch:after{content:"";border-radius:var(--r-pill);background:var(--n-800);width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out);position:absolute;top:2px;left:2px}.switch:checked{background:var(--accent-wash-strong)}.switch:checked:after{background:var(--accent);transform:translate(18px)}.fswitch{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);cursor:pointer;display:flex}.rowcard{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card);display:flex}.rowcard:hover{border-color:var(--border-strong)}.rowcard h4{font-size:var(--fs-body);font-weight:var(--fw-semibold);margin:0 0 4px}.rowcard .meta{font-size:var(--fs-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;line-height:17px}.optrow{gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);align-items:flex-start;display:flex}.optrow:hover{background:var(--n-150)}.optrow h4{font-size:var(--fs-h3);font-weight:var(--fw-regular);margin:0 0 4px}.optrow p{font-size:var(--fs-xs);color:var(--text-tertiary);margin:0;line-height:17px}.pill{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:var(--r-xs);background:var(--n-300);color:var(--text-secondary);padding:2px 8px}.pill.is-accent{background:var(--accent-wash);color:var(--accent);border:1px solid var(--border-accent)}.tag{vertical-align:middle;white-space:nowrap;line-height:14px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:var(--r-xs);background:var(--n-300);color:var(--text-secondary);padding:1px 6px;display:inline-block}.tag.is-accent{background:var(--accent-wash);color:var(--accent)}.accordion-head{width:100%;padding:var(--sp-4);font-size:var(--fs-h3);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.accordion-head:hover{background:var(--n-150)}.accordion-head{gap:var(--sp-3)}.accordion-toggle{align-items:center;gap:var(--sp-3);cursor:pointer;text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex:auto;padding:0;display:flex}.accordion-toggle:hover{color:var(--accent)}.accordion-toggle .icon{flex:none}.group-box{margin:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card);overflow:hidden}.group-box>.section-label{padding:var(--sp-3) var(--sp-4);background:var(--n-150)}.group-box .optrow:last-child{border-bottom:none}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:38px;padding:0 var(--sp-4);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;display:inline-flex}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn-outline{border-color:var(--border-accent);color:var(--accent);background:0 0}.btn-outline:hover{background:var(--accent-wash)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--n-250);color:var(--text-primary)}.btn-danger{border-color:var(--status-danger);color:var(--status-danger)}.btn-danger:hover{background:var(--status-danger-wash)}.btn:disabled{opacity:.4;pointer-events:none}.btn-sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-block{width:100%}.field{margin:var(--sp-4) 0;position:relative}.field>label{background:var(--surface-panel);font-size:var(--fs-xs);color:var(--text-tertiary);z-index:1;padding:0 6px;position:absolute;top:-7px;left:10px}.field>label .req{color:var(--status-danger)}.field input,.field select,.field textarea{width:100%;height:44px;padding:0 var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--text-primary);background:0 0}.field textarea{height:auto;padding:var(--sp-3);resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field input::placeholder{color:var(--text-tertiary)}.field select{appearance:none;cursor:pointer;background-image:none}.field .chev{right:var(--sp-3);pointer-events:none;color:var(--text-tertiary);position:absolute;top:50%;transform:translateY(-50%)}.field input[type=range]{background:linear-gradient(to right, var(--accent) 0 var(--fill,0%), var(--n-300) var(--fill,0%) 100%);height:4px;margin:var(--sp-4) 0 var(--sp-3);border:none;padding:0}.filterbox{border:1px solid var(--border-default);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-3) var(--sp-3);position:relative}.filterbox>legend{font-size:var(--fs-xs);color:var(--text-tertiary);margin-left:6px;padding:0 6px}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{z-index:1;text-align:left;padding:var(--sp-3) var(--sp-3);background:var(--surface-panel);color:var(--text-secondary);font-weight:var(--fw-semibold);border-bottom:1px solid var(--border-default);white-space:nowrap;position:sticky;top:0}.table td{padding:var(--sp-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr:hover{background:var(--n-150)}.table tbody tr.is-selected{background:var(--accent-wash)}.chip{border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.chip-success{background:var(--status-success-wash);color:var(--status-success)}.chip-warning{background:var(--status-warning-wash);color:var(--status-warning)}.chip-danger{background:var(--status-danger-wash);color:var(--status-danger)}.chip-neutral{background:var(--status-neutral-wash);color:var(--status-neutral)}.pager{justify-content:center;align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-secondary);display:flex}.pager .page{border-radius:var(--r-sm);min-width:28px;height:28px;color:var(--text-secondary);place-items:center;display:grid}.pager .page.is-current{background:var(--accent-wash);color:var(--accent)}.pager .page:hover{background:var(--n-250);color:var(--text-primary)}.donuts{padding:var(--sp-6) var(--sp-4);justify-content:space-around;gap:var(--sp-4);display:flex}.donut{justify-items:center;gap:var(--sp-2);display:grid}.donut svg{width:96px;height:96px;transform:rotate(-90deg)}.donut .ring-bg{fill:none;stroke:var(--n-300);stroke-width:6px}.donut .ring-fg{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round}.donut .num{fill:var(--accent);transform-origin:50%;text-anchor:middle;dominant-baseline:central;font-size:22px;font-family:var(--font-sans);transform:rotate(90deg)}.donut figcaption{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-secondary)}.bars{gap:var(--sp-2);padding:var(--sp-4);display:grid}.bar-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);grid-template-columns:88px 1fr;display:grid}.bar-row .lbl{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.bar-track{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border-subtle);padding:var(--sp-2) 0;display:flex}.bar{border-radius:var(--r-xs);height:26px;display:flex;overflow:hidden}.bar span:first-child{background:var(--viz-3)}.bar span:nth-child(2){background:var(--viz-1)}.bar-val{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.legend{gap:var(--sp-4);padding:0 var(--sp-4);font-size:var(--fs-xs);color:var(--text-secondary);display:flex}.legend i{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.tabs{border-bottom:1px solid var(--border-default);display:flex}.tab{height:44px;color:var(--text-secondary);font-size:var(--fs-sm);flex:1;position:relative}.tab.is-active{color:var(--accent)}.tab.is-active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.kv{gap:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);padding:var(--sp-4);grid-template-columns:190px 1fr;display:grid}.kv dt{color:var(--text-tertiary)}.kv dd{margin:0}.map{background:var(--n-100);position:relative;overflow:hidden}.map svg.basemap{width:100%;height:100%;position:absolute;inset:0}.map-chrome{z-index:var(--z-map-chrome);position:absolute}.mc-right{top:var(--sp-4);right:var(--sp-4);gap:var(--sp-2);display:grid}.mc-zoom{bottom:calc(var(--statusbar-h) + var(--sp-4));right:var(--sp-4);gap:var(--sp-2);display:grid}.mapbtn{border-radius:var(--r-sm);background:var(--surface-map-chrome);border:1px solid var(--border-default);width:40px;height:40px;color:var(--text-secondary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;display:grid}.mapbtn:hover{color:var(--accent);border-color:var(--border-accent)}.mapbtn.is-active{color:var(--accent);border-color:var(--border-accent);background:var(--accent-wash)}.zoomstack{background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;overflow:hidden}.zoomstack button{width:40px;height:38px;color:var(--text-secondary);place-items:center;display:grid}.zoomstack button+button{border-top:1px solid var(--border-default)}.zoomstack button:hover{background:var(--accent-wash);color:var(--accent)}.zoomstack button:disabled,.zoomstack button:disabled:hover{color:var(--text-disabled);cursor:default;background:0 0}.minimap{left:var(--sp-4);bottom:calc(var(--statusbar-h) + var(--sp-4));width:var(--minimap-w);height:var(--minimap-h);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-map-chrome);z-index:var(--z-map-chrome);position:absolute;overflow:hidden}.minimap svg{width:100%;height:100%}.minimap .mm-toggle{background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-xs);width:26px;height:26px;color:var(--text-secondary);place-items:center;display:grid;position:absolute;bottom:6px;left:6px}.statusbar{height:var(--statusbar-h);align-items:center;gap:var(--sp-5);padding:0 var(--sp-4);background:var(--surface-map-chrome);border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--fs-2xs);color:var(--text-tertiary);z-index:var(--z-map-chrome);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.statusbar>:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.statusbar .scale{align-items:center;gap:var(--sp-4);flex:none;margin-left:auto;display:flex}.scale-bar{border:1px solid var(--text-tertiary);border-top:none;width:70px;height:8px}.coordpick{color:var(--text-tertiary);font-family:var(--font-mono);background:0 0;align-items:center;gap:4px;display:inline-flex}.coordpick:hover{color:var(--accent)}.map-actionbar{top:var(--sp-4);gap:var(--sp-2);background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--sp-2);box-shadow:var(--sh-3);z-index:var(--z-map-chrome);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.map-banner{top:var(--sp-4);align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:var(--z-map-chrome);font-size:var(--fs-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.aoi-badge{z-index:var(--z-map-chrome);background:var(--surface-map-chrome);border:1px solid var(--border-accent);border-radius:var(--r-sm);padding:6px var(--sp-4);font-size:var(--fs-h3);box-shadow:var(--sh-2);position:absolute}.aoi-badge b{color:var(--accent);font-size:var(--fs-h2)}.floatcard{z-index:var(--z-map-chrome);background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-md);width:290px;box-shadow:var(--sh-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;overflow:hidden}.floatcard header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-h3);justify-content:space-between;align-items:center;display:flex}.floatcard .fc-row{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);border-top:1px solid var(--border-subtle);display:flex}.scrim{background:var(--surface-overlay);z-index:var(--z-modal);padding:var(--sp-6);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--sh-4);flex-direction:column;width:min(980px,100%);max-height:88vh;display:flex}.modal:focus{outline:none}.modal.narrow{width:min(560px,100%)}.modal.wide{width:min(1180px,100%)}.modal-head{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);display:flex}.modal-title{font-size:var(--fs-h2);font-weight:var(--fw-regular)}.modal-body{padding:var(--sp-5);overflow:auto}.modal-foot{justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);display:flex}.modal .field>label{background:var(--surface-panel)}.stepper{align-items:center;gap:var(--sp-2);flex:1;display:flex}.step{align-items:center;gap:var(--sp-2);color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);display:flex}.step .n{border-radius:var(--r-pill);border:1px solid var(--border-strong);width:24px;height:24px;font-size:var(--fs-xs);letter-spacing:0;font-variant-numeric:tabular-nums;box-sizing:border-box;place-items:center;padding-top:1px;line-height:1;display:grid}.step.is-current{color:var(--accent)}.step.is-current .n{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.step.is-done .n{border-color:var(--accent);color:var(--accent)}.step-line{background:var(--border-default);flex:1;height:1px}.wiz-map{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--n-100);height:220px;position:relative;overflow:hidden}.wiz-map-empty{pointer-events:none;color:var(--text-tertiary);font-size:var(--fs-sm);background:var(--surface-map-chrome);place-items:center;display:grid;position:absolute;inset:0}.wiz-pass-note{margin:0 0 var(--sp-2);font-size:var(--fs-xs);color:var(--accent)}.meta-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.meta-table th{text-align:left;padding:var(--sp-3) var(--sp-4);background:var(--n-150);color:var(--text-secondary);font-weight:var(--fw-semibold)}.meta-table td{padding:10px var(--sp-4);border-bottom:1px solid var(--border-subtle)}.meta-table tbody tr:nth-child(odd){background:var(--n-150)}.meta-table td:first-child{color:var(--text-tertiary);width:40%}.toast{bottom:var(--sp-6);background:var(--surface-raised);border:1px solid var(--border-accent);color:var(--text-primary);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-sm);box-shadow:var(--sh-3);z-index:var(--z-toast);font-size:var(--fs-sm);position:fixed;left:50%;transform:translate(-50%)}.appcard{border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--sp-5);background:var(--surface-card);margin-bottom:var(--sp-4)}.appcard.is-primary{border-color:var(--border-accent);background:linear-gradient(180deg,var(--accent-wash),transparent 60%),var(--surface-card)}.appcard-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.appicon{border-radius:var(--r-md);border:1px solid var(--border-accent);width:44px;height:44px;color:var(--accent);background:var(--accent-wash);flex:none;place-items:center;display:grid}.appcard h3{font-size:var(--fs-h2);font-weight:var(--fw-regular);margin:0}.appcard p{color:var(--text-secondary);font-size:var(--fs-sm);margin:0}.sidecard{border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--surface-card);margin-bottom:var(--sp-4);overflow:hidden}.sidecard header{align-items:center;gap:var(--sp-2);padding:var(--sp-4);font-size:var(--fs-h2);display:flex}.sidecard .sc-body{padding:0 var(--sp-4) var(--sp-4)}.kvline{justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-sm);padding:6px 0;display:flex}.kvline span:first-child{color:var(--text-secondary)}.kvline span:last-child{color:var(--accent);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.meter{border-radius:var(--r-pill);background:var(--n-300);height:6px;margin:var(--sp-2) 0;overflow:hidden}.meter i{background:var(--accent);height:100%;display:block}@media (width<=1340px){:root{--drawer-w-wide:560px}}@media (width<=1240px){.minimap{display:none}}@media (width<=1200px){.appbody,.app.is-collapsed .appbody{grid-template-columns:var(--nav-rail-w-collapsed) auto minmax(0,1fr)}.rail-label,.rail-item .badge,.rail-item .vis{display:none}.rail-item{justify-content:center;padding:0}.rail-collapse{display:none}.brand{width:auto}:root{--drawer-w-wide:520px}.filters{width:400px}.gsearch{max-width:280px}}@media (width<=940px){:root{--drawer-w:340px;--drawer-w-wide:440px}.filters{width:min(360px,100%)}.gsearch{max-width:220px}.imgcard-thumb{width:76px;height:76px}.mc-cards .fc-areas,.mc-cards .fc-images{display:none}}@media (width<=640px){.lp-grid{grid-template-columns:1fr}.gsearch{max-width:150px}.maptools{display:none}}#leafmap{background:var(--n-100);position:absolute;inset:0}.leaflet-container{background:var(--n-100);font-family:var(--font-sans);outline:none}.map.is-dark .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.72)contrast(1.28)saturate(.45)}.leaflet-control-container{display:none}.leaflet-container a{color:var(--accent)}.leaflet-interactive{cursor:pointer;outline:none}.leaflet-grab{cursor:grab}.map.is-drawing .leaflet-grab,.map.is-drawing .leaflet-container{cursor:crosshair}.fp-label{background:var(--surface-map-chrome);border:1px solid var(--border-accent);color:var(--text-primary);font-size:var(--fs-2xs);border-radius:var(--r-sm);white-space:nowrap;box-shadow:var(--sh-1);padding:2px 7px}.leaflet-tooltip.fp-label:before{display:none}.mc-right{top:var(--sp-4);right:var(--sp-4);bottom:calc(var(--statusbar-h) + var(--sp-4));align-items:flex-end;gap:var(--sp-3);z-index:var(--z-map-chrome);pointer-events:none;flex-direction:column;display:flex;position:absolute}.mc-right>*{pointer-events:auto}.mc-rail{gap:var(--sp-2);flex-direction:column;flex:none;display:flex}.mc-rail .zoomstack{margin-top:2px}.mc-cards{width:var(--dock-w);gap:var(--sp-2);scrollbar-width:none;flex-direction:column;min-height:0;margin-top:auto;display:flex;overflow:hidden}.mc-cards::-webkit-scrollbar{display:none}.mc-cards .floatcard{flex:none;width:100%;position:static}.minimap{z-index:var(--z-map-chrome)}.cat-toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-xs);flex:none;display:flex}.cat-toolbar .count{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cat-toolbar .count b{color:var(--text-primary);font-variant-numeric:tabular-nums}.tbtn{border-radius:var(--r-sm);height:28px;color:var(--text-secondary);font-size:var(--fs-xs);align-items:center;gap:5px;padding:0 8px;display:inline-flex}.tbtn:hover{background:var(--n-250);color:var(--text-primary)}.tbtn.is-active{background:var(--accent-wash);color:var(--accent)}.tbtn .dot{border-radius:var(--r-pill);background:var(--accent);width:6px;height:6px;position:absolute;top:2px;right:2px}.tbtn{position:relative}.imgcard{border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--surface-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);position:relative;overflow:hidden}.imgcard:hover{border-color:var(--border-strong)}.imgcard.is-hot{border-color:var(--border-accent);box-shadow:0 0 0 1px var(--border-accent)}.imgcard.is-selected{border-color:var(--accent)}.imgcard.is-selected:after,.imgcard.is-refused:after{content:"";z-index:2;pointer-events:none;border:1px solid var(--accent);border-radius:calc(var(--r-md) - 1px);position:absolute;inset:0}.imgcard.is-open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.imgcard-top{gap:var(--sp-3);padding:var(--sp-3);display:flex}.imgcard-thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--n-250);border:1px solid var(--border-default);flex:none;width:88px;height:88px}.imgcard-main{flex:1;min-width:0;overflow:hidden}.imgcard-when{font-size:var(--fs-h3);line-height:19px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.imgcard-plat b{color:var(--text-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.imgcard-plat{font-size:var(--fs-xs);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 8px;line-height:15px;display:-webkit-box;overflow:hidden}.imgcard-specs{font-size:var(--fs-xs);color:var(--text-tertiary);gap:1px;display:grid}.imgcard-specs span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.imgcard-specs b{color:var(--text-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.imgcard-acts{flex-direction:column;flex:none;align-items:center;gap:6px;width:26px;display:flex}.imgcard-foot{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-subtle);background:var(--n-150);align-items:center;gap:6px;display:flex}.imgcard-isect{min-width:0;font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.imgcard-isect b{color:var(--text-primary);font-variant-numeric:tabular-nums}.imgcard-isect span{color:var(--text-tertiary)}.btn-cart{height:30px;padding:0 var(--sp-3);border-radius:var(--r-sm);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.btn-cart:hover{background:var(--accent-hover)}.btn-cart.is-added{background:var(--status-success)}.btn-cart:disabled{opacity:.4;cursor:not-allowed}.prj-filter{gap:var(--sp-4);margin:0 var(--sp-4) var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.prj-filter>*{min-width:0}.prj-filter .daterow{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.prj-filter .datefield input{min-width:0}.prj-imgbar{align-items:center;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3);flex-wrap:wrap;display:flex}.prj-imgbar>.prj-imgcount{min-width:0;font-size:var(--fs-xs);flex:140px}.prj-imgbar>.prj-imgacts{align-items:center;gap:var(--sp-2);flex:none;margin-left:auto;display:flex}.prj-cellgrid-wrap{flex:none;max-width:55%;overflow-x:auto}.prj-imgtable{font-size:var(--fs-xs)}.prj-imgtable th,.prj-imgtable td{padding:var(--sp-2) 6px}.prj-imgtable tr>:first-child{padding-left:var(--sp-3)}.prj-imgtable tr>:last-child{padding-right:var(--sp-3)}.prj-imgtable th{white-space:normal}.prj-imgtable .prj-sensor{overflow-wrap:anywhere}.prj-imgtable .btn-cart{height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.prj-imgtable .prj-mapacts{flex-direction:column;align-items:center;gap:2px;display:flex}.prj-filter h4{justify-content:space-between;gap:var(--sp-2);margin:0 0 var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--ls-caps);display:flex}.prj-filter h4 span{text-transform:none;letter-spacing:0;color:var(--accent)}.selall:disabled{opacity:.4;cursor:default}.stype{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:var(--r-xs);background:var(--n-300);color:var(--text-secondary);padding:1px 6px}.stype[data-t=OPTICAL]{background:var(--accent-wash);color:var(--accent)}.stype[data-t=SAR],.stype[data-t=HYPERSPECTRAL],.stype[data-t=THERMAL],.stype[data-t=CARBON],.stype[data-t=VECTOR],.stype[data-t=RF]{background:var(--n-300);color:var(--text-secondary)}.filters{background:var(--surface-panel);border-right:1px solid var(--border-default);width:440px;max-width:100%;box-shadow:var(--sh-3);z-index:var(--z-drawer);transition:transform var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.filters.is-open{transform:translate(0)}.filters-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);flex:none;display:flex}.filters-head h2{font-size:var(--fs-h1);font-weight:var(--fw-regular);flex:1;margin:0}.filters-body{flex:1;overflow-y:auto}.filters-foot{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);flex:none;display:flex}.filters-foot .btn{flex:1}.fgroup{padding:var(--sp-5);border-bottom:8px solid var(--n-50)}.fgroup:last-child{border-bottom:none}.fgroup-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.fgroup-head h3{font-size:var(--fs-h2);font-weight:var(--fw-regular);flex:1;margin:0}.selall{font-size:var(--fs-xs);color:var(--text-secondary);text-decoration:underline}.selall:hover{color:var(--accent)}.selall+.selall:before{content:"/";color:var(--text-disabled);margin:0 6px;text-decoration:none;display:inline-block}.tzrow{border:1px solid var(--border-default);border-radius:var(--r-sm);margin-top:var(--sp-3);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.tzrow button{padding:var(--sp-2);text-align:center;color:var(--text-secondary);font-size:var(--fs-xs);background:var(--surface-input)}.tzrow button b{color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:block}.tzrow button.is-active{background:var(--accent-wash);color:var(--accent)}.tzrow button.is-active b{color:var(--accent)}.dual-ends{font-size:var(--fs-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.cloudval{text-align:center;font-size:var(--fs-h2);color:var(--accent);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.stiles{gap:var(--sp-2);display:grid}.stile{align-items:center;gap:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--surface-card);cursor:pointer;padding-right:var(--sp-3);transition:border-color var(--dur-fast) var(--ease-out);display:flex;position:relative;overflow:hidden}.stile:hover{border-color:var(--border-strong)}.stile.is-on{border-color:var(--border-accent);background:var(--accent-wash)}.stile img{object-fit:cover;flex:none;width:104px;height:44px;display:block}.stile .nm{min-width:0;font-size:var(--fs-h3);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.stile.is-on .nm{color:var(--accent)}.ppills{gap:var(--sp-2);flex-wrap:wrap;display:flex}.ppill{border-radius:var(--r-sm);font-size:var(--fs-sm);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:7px 14px}.ppill:hover{border-color:var(--border-strong);color:var(--text-primary)}.ppill.is-on{border-color:var(--border-accent);background:var(--accent-wash);color:var(--accent)}.ppill.is-dim{opacity:.38;cursor:not-allowed}.ppill.is-dim:hover{border-color:var(--border-default);color:var(--text-secondary)}.ftype .fgroup-head h3{color:var(--accent)}.fscope{font-size:var(--fs-2xs);color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--r-xs);cursor:help;padding:1px 8px}.fdef+.fdef{margin-top:var(--sp-4)}.fdef h4{margin:0 0 var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.chipset{flex-wrap:wrap;gap:6px;display:flex}.fchip{border-radius:var(--r-sm);font-size:var(--fs-xs);cursor:pointer;border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.fchip:hover{border-color:var(--border-strong);color:var(--text-primary)}.fchip.is-on{border-color:var(--border-accent);background:var(--accent-wash);color:var(--accent)}.fchip b{font-weight:var(--fw-regular);font-variant-numeric:tabular-nums;opacity:.6}.fchip-more{color:var(--text-tertiary);border-style:dashed}.res-caption{text-align:center;font-size:var(--fs-h2);color:var(--accent);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.res-caption small{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-regular);margin-top:2px;display:block}.res-tiers{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.res-tier{text-align:center;opacity:.3;min-width:0;transition:opacity var(--dur-fast) var(--ease-out);flex:1}.res-tier.is-in{opacity:1}.res-tier img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border-default);width:100%;display:block}.res-tier.is-in img{border-color:var(--border-accent)}.res-tier b{font-size:var(--fs-2xs);line-height:13px;font-weight:var(--fw-semibold);color:var(--text-secondary);margin-top:5px;display:block}.res-tier.is-in b{color:var(--accent)}.res-tier span{font-size:var(--fs-2xs);color:var(--text-tertiary);line-height:12px;display:block}.cbgrid{gap:var(--sp-2) var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.cbgrid label{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);cursor:pointer;display:flex}.cbgrid label.is-disabled{color:var(--text-disabled);cursor:not-allowed}.daterow{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.datefield{position:relative}.datefield input{width:100%;height:44px;padding:0 38px 0 var(--sp-3);background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--text-primary);font-variant-numeric:tabular-nums}.datefield input:focus{border-color:var(--accent);outline:none}.dateinput{flex:1;min-width:0;display:block;position:relative}.dateinput .dateinput-text{font-variant-numeric:tabular-nums;width:100%;padding-right:36px}.dateinput-btn.is-on{color:var(--accent)}.datecal{z-index:var(--z-popover);width:264px;padding:var(--sp-3);gap:var(--sp-2);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-sm);box-shadow:var(--sh-3);cursor:default;display:grid;position:absolute;top:calc(100% + 4px);left:0}.datecal.is-right{left:auto;right:0}.datecal.is-up{top:auto;bottom:calc(100% + 4px)}.datecal-head{align-items:center;gap:2px;display:flex}.datecal-head b{font-size:var(--fs-h3);font-weight:var(--fw-semibold);flex:1}.datecal-dot{border-radius:var(--r-pill);background:currentColor;width:8px;height:8px}.datecal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datecal-wd{text-align:center;font-size:var(--fs-2xs);color:var(--text-tertiary);padding-bottom:2px}.datecal-day{border-radius:var(--r-xs);height:30px;color:var(--text-primary);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:0}.datecal-day:hover{background:var(--n-400)}.datecal-day.is-out{color:var(--text-disabled)}.datecal-day.is-today{box-shadow:inset 0 0 0 1px var(--border-accent);color:var(--accent)}.datecal-day.is-on{background:var(--accent);color:var(--text-on-accent);font-weight:var(--fw-semibold);box-shadow:none}.datecal-day:focus-visible{box-shadow:var(--sh-focus);outline:none}.dateinput-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.dateinput-btn:hover{color:var(--text-primary);background:var(--surface-raised)}.drawhint{top:var(--sp-4);background:var(--surface-map-chrome);border:1px solid var(--border-accent);color:var(--text-primary);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);font-size:var(--fs-sm);z-index:var(--z-map-chrome);box-shadow:var(--sh-2);align-items:center;gap:var(--sp-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.drawhint b{color:var(--accent)}.map-actionbar{top:calc(var(--sp-4) + 44px)}.aoi-badge{pointer-events:none;transform:translate(-50%,-50%)}.bm-menu{top:var(--sp-4);right:calc(var(--sp-4) + 48px);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-md);width:190px;box-shadow:var(--sh-3);padding:var(--sp-1) 0;z-index:var(--z-popover);position:absolute}.bm-menu button{text-align:left;width:100%;padding:9px var(--sp-4);font-size:var(--fs-sm);color:var(--text-secondary);display:block}.bm-menu button:hover{background:var(--accent-wash);color:var(--text-primary)}.bm-menu button.is-active{color:var(--accent)}.hr{background:var(--border-subtle);height:1px;margin:var(--sp-4) 0}.empty{justify-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-5);text-align:center;color:var(--text-tertiary);display:grid}.empty svg{width:36px;height:36px;color:var(--n-400)}.empty p{font-size:var(--fs-sm);max-width:230px;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.scenepop{width:376px;max-height:76vh;z-index:var(--z-popover);background:var(--surface-raised);border:1px solid var(--border-accent);border-radius:var(--r-md);box-shadow:var(--sh-4);flex-direction:column;display:flex;position:fixed;overflow:hidden}.scenepop:before{content:"";background:var(--surface-raised);border-left:1px solid var(--border-accent);border-bottom:1px solid var(--border-accent);width:12px;height:12px;position:absolute;top:26px;left:-7px;transform:rotate(45deg)}.scenepop.is-left:before{left:auto;right:-7px;transform:rotate(225deg)}.scenepop-head{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);flex:none;align-items:flex-start;display:flex}.scenepop-head img{border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--border-default);flex:none;width:46px;height:46px}.scenepop-head .t{flex:1;min-width:0}.scenepop-head b{font-size:var(--fs-h3);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:19px;display:block}.scenepop-head small{font-size:var(--fs-xs);color:var(--text-secondary)}.scenepop-body{flex:1;min-height:0;overflow-y:auto}.scenepop-kv{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.scenepop-kv td{padding:9px var(--sp-4);border-bottom:1px solid var(--border-subtle)}.scenepop-kv td:first-child{color:var(--text-secondary);white-space:nowrap}.scenepop-kv td:last-child{color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;word-break:break-word}.scenepop-props{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.scenepop-props>.u-spread{margin-bottom:var(--sp-2);font-size:var(--fs-sm)}.codeblock{background:var(--surface-canvas);border:1px solid var(--border-default);border-radius:var(--r-sm);padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-2xs);white-space:pre;max-height:200px;color:var(--text-secondary);margin:0;line-height:17px;overflow:auto}.codeblock .k{color:var(--accent)}.codeblock .s{color:var(--status-success)}.codeblock .n{color:var(--text-primary)}.scenepop-foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);flex:none;display:flex}.scenepop-foot .btn{flex:1}@media (width<=900px){.scenepop{width:auto;max-height:60vh;bottom:8px;right:8px;top:auto!important;left:8px!important}.scenepop:before{display:none}}.connchip{border-radius:var(--r-sm);height:34px;font-size:var(--fs-xs);white-space:nowrap;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.connchip b{font-weight:var(--fw-semibold)}.connchip:hover{border-color:var(--border-strong);color:var(--text-primary)}.connchip.is-live{color:var(--status-success);background:var(--status-success-wash);border-color:#3ecf8e73}.connchip.is-live b{color:var(--status-success)}.ledger-amt{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ledger-amt.is-pos{color:var(--status-success)}.credit-stat{border:1px solid var(--border-default);border-radius:var(--r-sm);padding:var(--sp-3)}.credit-stat h4{margin:0 0 var(--sp-2);font-weight:var(--fw-regular);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-tertiary)}.credit-meter{border-radius:var(--r-pill);background:var(--n-400);height:6px;margin-top:6px;overflow:hidden}.credit-meter>span{background:var(--accent);height:100%;display:block}.banner{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);border-bottom:1px solid var(--border-subtle);line-height:16px;display:flex}.banner svg{flex:none;margin-top:1px}.banner.is-warn{background:var(--status-warning-wash);color:var(--status-warning)}.banner.is-error{background:var(--status-danger-wash);color:var(--status-danger)}.banner.is-ok{background:var(--status-success-wash);color:var(--status-success)}.acct-notice{border-radius:var(--r-sm);margin:var(--sp-4) 0 0;border:0}.acct-notice:first-child{margin:0 0 var(--sp-4)}.acct-lang{flex:none;width:fit-content;min-width:240px}.acct-lang .pass-seg-btn:disabled{cursor:progress}.acct-lang-note{margin:var(--sp-2) 0 0;font-size:var(--fs-xs)}.imgcard.skel{pointer-events:none}.sk{background:linear-gradient(90deg,var(--n-250) 25%,var(--n-300) 37%,var(--n-250) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s infinite sk}.sk-line{height:11px;margin:0 0 7px}@keyframes sk{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.imgcard-thumb.is-broken,.imgcard-thumb:not([src]){background:var(--n-250)}.imgcard-thumb.is-broken{color:var(--text-tertiary);place-items:center;display:grid}details summary{list-style:none}details summary::-webkit-details-marker{display:none}code{font-family:var(--font-mono);color:var(--accent);background:var(--surface-canvas);border-radius:var(--r-xs);padding:1px 5px;font-size:.92em}.fnote{margin:var(--sp-3) 0 0;font-size:var(--fs-2xs);color:var(--status-warning);align-items:flex-start;gap:6px;line-height:15px;display:flex}.fnote svg{flex:none;margin-top:1px}.mv-preview{image-rendering:auto;transition:opacity var(--dur-base) var(--ease-out)}.vis.is-on{color:var(--accent)}.vis.is-pending{animation:1.2s ease-in-out infinite vis-pending}@keyframes vis-pending{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.vis.is-pending{opacity:.6;animation:none}}.tbtn.is-on{background:var(--accent-wash);color:var(--accent)}.floatcard header{gap:var(--sp-2)}.fc-toggle{width:20px;height:20px;color:var(--text-tertiary);border-radius:var(--r-xs);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast);flex:none;place-items:center;display:grid}.fc-toggle:hover{color:var(--text-primary);background:var(--n-250)}.floatcard.is-collapsed .fc-toggle{transform:rotate(-90deg)}.floatcard.is-collapsed .fc-body{display:none}.floatcard.is-collapsed header{border-bottom:none}.fc-scroll{max-height:230px;overflow-y:auto}.fc-scroll::-webkit-scrollbar{width:6px}.fc-scroll::-webkit-scrollbar-thumb{background:var(--n-300);border:none}.fc-row.is-on{background:var(--accent-wash)}.fc-row.is-on .u-grow{color:var(--accent)}.fc-row .fc-pick{cursor:pointer}.fc-row .fc-pick:hover{color:var(--accent)}.fc-row .fc-pick:focus-visible{box-shadow:var(--sh-focus);border-radius:var(--r-xs);outline:none}.floatcard header .pill{font-size:var(--fs-2xs);padding:1px 6px}.leaflet-tooltip.aoi-label{background:var(--surface-map-chrome);border:1px solid var(--border-accent);color:var(--accent);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--r-sm);box-shadow:var(--sh-2);white-space:nowrap;padding:3px 9px}.leaflet-tooltip.aoi-label:before{display:none}.input{width:100%;height:44px;padding:0 var(--sp-3);background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--r-sm)}.input::placeholder{color:var(--text-tertiary)}select.input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.input:focus{border-color:var(--accent);box-shadow:var(--sh-focus);outline:none}.flabel{margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--text-tertiary);display:block}.linkbtn{margin-top:var(--sp-3);color:var(--accent);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:0}.linkbtn:hover{text-decoration:underline}.tmenu-wrap{display:inline-flex;position:relative}.tmenu{z-index:var(--z-menu,60);min-width:180px;padding:var(--sp-1) 0;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--r-sm);box-shadow:var(--sh-3);position:absolute;top:calc(100% + 6px);right:0}.tmenu button{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;display:block}.tmenu button:hover{background:var(--surface-input);color:var(--text-primary)}.tmenu button.is-on{color:var(--accent)}.reslist.is-list{padding:var(--sp-2) var(--sp-3);gap:0}.imgrow{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2);border-bottom:1px solid var(--border-subtle);cursor:pointer;min-width:0;transition:background var(--dur-fast) var(--ease-out);display:flex;overflow:hidden}.imgrow:last-child{border-bottom:0}.imgrow:hover{background:var(--surface-card)}.imgrow.is-selected{background:var(--surface-card);box-shadow:inset 2px 0 0 var(--accent)}.imgrow-when{width:74px;font-size:var(--fs-xs);color:var(--text-primary);font-weight:var(--fw-semibold);flex:none}.imgrow-when small{font-size:var(--fs-2xs);color:var(--text-tertiary);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums;display:block}.imgrow-plat{min-width:0;font-size:var(--fs-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.imgrow-gsd{font-size:var(--fs-xs);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);flex:none}.imgrow .imgcard-acts{flex-direction:row;flex:none;align-items:center;gap:2px;width:auto}.imgrow .imgcard-acts .cbx{margin:0}.imgrow .imgcard-acts .vis:not([data-kebab]){margin-left:6px}.imgrow .imgcard-acts .vis[data-kebab]{width:14px}.scenepop-nothumb{border-radius:var(--r-sm);background:var(--n-250);flex:none;width:44px;height:44px}.menu{z-index:var(--z-popover);min-width:200px;padding:var(--sp-1) 0;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--r-sm);box-shadow:var(--sh-3);position:absolute;top:calc(100% + 6px);left:0}.menu button{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);color:var(--text-secondary);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;display:flex}.menu button:hover{background:var(--surface-input);color:var(--text-primary)}.menu button .icon{color:var(--text-tertiary);flex:none}.menu button:hover .icon{color:var(--accent)}.rail-item.is-locked{opacity:.45;cursor:not-allowed}.rail-item.is-locked:hover{background:0 0}.gate{background:linear-gradient(var(--accent-wash) 1px, transparent 1px) 0 0 / 160px 160px, linear-gradient(90deg, var(--accent-wash) 1px, transparent 1px) 0 0 / 160px 160px, radial-gradient(ellipse at 50% 40%, var(--surface-panel) 0%, var(--mv-black) 70%);min-height:100vh;color:var(--text-primary);grid-template-rows:1fr auto;display:grid}.gate-body{padding:var(--sp-6);place-items:center;display:grid}.gate-card{width:min(420px,100%);padding:var(--sp-6) var(--sp-6) var(--sp-8);background:var(--surface-gate-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--sh-4);-webkit-backdrop-filter:blur(20px)saturate(120%);backdrop-filter:blur(20px)saturate(120%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.gate-card{background:var(--surface-panel)}}.gate-logo{width:150px;height:auto;margin:0 0 var(--sp-5);display:block}.gate-title{margin:0 0 var(--sp-2);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight)}.gate-title:not(:has(+.gate-lead)){margin-bottom:var(--sp-6)}.gate-card .input{background:var(--surface-input);border-color:var(--border-default)}.gate-lead{margin:0 0 var(--sp-6);color:var(--text-secondary);font-size:var(--fs-sm)}.gate-notice{margin:0 0 var(--sp-4);border-radius:var(--r-sm);border:0}.gate-card .banner.is-error{margin:var(--sp-4) 0 0}.gate-submit{margin-top:var(--sp-5)}.gate-help{margin:var(--sp-3) 0 0;color:var(--text-tertiary);font-size:var(--fs-xs)}.gate-alt{margin-top:var(--sp-4);display:block}.gate-foot{padding:var(--sp-4) var(--sp-6);color:var(--text-tertiary);font-size:var(--fs-xs);text-align:center}@media (width<=640px){.gate-card{padding:var(--sp-6) var(--sp-4)}}.gate-foot-links{gap:var(--sp-4);margin-left:var(--sp-4);display:inline-flex}.gate-foot a{color:var(--text-secondary);text-decoration:none}.gate-foot a:hover{color:var(--accent);text-decoration:underline}.gate-foot a[aria-current=page]{color:var(--accent)}.gate.is-legal{height:100dvh;min-height:0;overflow-y:auto}.gate.is-legal .gate-body{padding:var(--sp-8) var(--sp-6);place-items:start center}.legal-card{width:min(760px,100%);padding:var(--sp-8)}.legal-card a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.legal-card .legal-back{align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-5);font-size:var(--fs-sm);color:var(--text-secondary);text-decoration:none;display:inline-flex}.legal-card .legal-back:hover{color:var(--accent)}.legal-draft{margin:0 0 var(--sp-6);border-radius:var(--r-sm);border:0}.legal-draft b{font-weight:var(--fw-semibold)}.legal-toc{padding:var(--sp-4);border:1px solid var(--border-subtle);border-radius:var(--r-sm)}.legal-toc ol{padding-left:var(--sp-5);columns:2;column-gap:var(--sp-8);font-size:var(--fs-sm);color:var(--text-tertiary);margin:0}.legal-toc li{break-inside:avoid;padding:2px 0}.legal-card .legal-toc a{color:var(--text-secondary);text-decoration:none}.legal-card .legal-toc a:hover{color:var(--accent);text-decoration:underline}.legal-section h2{margin:var(--sp-8) 0 var(--sp-3);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-semibold);scroll-margin-top:var(--sp-6)}.legal-section p,.legal-section li{color:var(--text-secondary);line-height:1.6}.legal-section p{margin:0 0 var(--sp-3)}.legal-section ul{margin:0 0 var(--sp-3);padding-left:var(--sp-5)}.legal-section li+li{margin-top:var(--sp-2)}.legal-facts{gap:var(--sp-2);margin:0 0 var(--sp-3);display:grid}.legal-fact{gap:var(--sp-4);grid-template-columns:180px 1fr;line-height:1.6;display:grid}.legal-fact dt{color:var(--text-tertiary)}.legal-fact dd{color:var(--text-secondary);overflow-wrap:anywhere;margin:0}@media (width<=640px){.gate-foot-links{margin:var(--sp-2) 0 0;justify-content:center;display:flex}.gate.is-legal .gate-body{padding:var(--sp-4)}.legal-card{padding:var(--sp-6) var(--sp-4)}.legal-toc ol{columns:1}.legal-fact{grid-template-columns:1fr;gap:0}}.acct-contact a:not(.btn){color:var(--accent);text-decoration:none}.acct-contact a:not(.btn):hover{text-decoration:underline}.acct-contact .btn{margin-top:var(--sp-4);text-decoration:none}.acct-contact-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.acct-legal{gap:var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border-subtle);font-size:var(--fs-xs);display:flex}.acct-contact .acct-legal a{color:var(--text-secondary)}.acct-contact .acct-legal a:hover{color:var(--accent)}.pass-tools{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);gap:var(--sp-2);display:grid}.pass-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.pass-row .rng{min-width:120px;margin:0}.pass-seg{border:1px solid var(--border-default);border-radius:var(--r-sm);flex:1;min-width:0;display:flex;overflow:hidden}.pass-seg-btn{height:28px;padding:0 var(--sp-2);border:0;border-left:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1}.pass-seg-btn:first-child{border-left:0}.pass-seg-btn:hover{color:var(--text-primary);background:var(--n-250)}.pass-seg-btn.is-on{background:var(--accent-wash);color:var(--accent);font-weight:var(--fw-semibold)}.pass-types{gap:var(--sp-1);flex-wrap:wrap;display:flex}.pass-types .pass-tog{flex:auto}.pass-tog{justify-content:space-between;align-items:center;gap:var(--sp-2);height:30px;padding:0 var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-xs);background:var(--surface-card);min-width:0;color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex}.pass-tog b{font-weight:var(--fw-regular);color:var(--text-tertiary)}.pass-tog:hover{border-color:var(--border-strong);color:var(--text-primary)}.pass-tog.is-on{border-color:var(--border-accent);background:var(--accent-wash);color:var(--accent)}.pass-tog.is-on b{color:var(--accent)}.pass-menu-btn{justify-content:flex-start;gap:6px}.pass-menu-btn b{color:var(--accent)}.pass-search{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-input);color:var(--text-tertiary);cursor:text;display:flex}.pass-search:focus-within{border-color:var(--accent)}.pass-search input{min-width:0;height:100%;color:var(--text-primary);font:inherit;font-size:var(--fs-xs);background:0 0;border:0;outline:none;flex:1;padding:0}.pass-search input::placeholder{color:var(--text-tertiary)}.pass-switch{align-items:center;gap:var(--sp-2);cursor:pointer;color:var(--text-secondary);display:inline-flex}.pass-progress{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);gap:6px;display:grid}.progress{background:var(--n-400);height:3px;position:relative;overflow:hidden}.progress-fill{background:var(--accent);width:calc(100% * var(--progress,0));transition:width var(--dur-fast) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.progress.is-indeterminate .progress-fill{width:33%;transition:none;animation:1.4s ease-in-out infinite progress-sweep}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.progress.is-indeterminate .progress-fill{opacity:.35;width:100%;animation:none}}.reslist>.pass-card{min-width:0;max-width:100%;overflow:hidden}.pass-card{cursor:pointer;align-items:center}.pass-card:hover{border-color:var(--border-strong)}.pass-card.is-shown h4{color:var(--text-primary)}.pass-card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pass-card .meta{white-space:normal;overflow-wrap:anywhere}.pass-menu-anchor{position:relative}.pass-menu{z-index:var(--z-map-chrome);background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--r-md);width:320px;max-width:70vw;box-shadow:var(--sh-3);position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.pass-menu-head{gap:var(--sp-2);padding:var(--sp-2);border-bottom:1px solid var(--border-subtle);display:flex}.pass-menu-list{max-height:340px;overflow-y:auto}.pass-menu-row{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);font-size:var(--fs-xs);cursor:pointer;display:flex}.pass-menu-row:hover{background:var(--n-150)}.pass-menu-row.is-mine>span.u-grow{color:var(--text-primary)}.pass-menu-row.is-sat{padding-left:calc(var(--sp-3) + 22px);color:var(--text-secondary)}.pass-when{min-width:58px;font-size:var(--fs-xs);gap:2px;display:grid}.pass-when b{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.pass-acts{align-items:center;gap:var(--sp-2);flex:none;display:flex}.pass-note{padding:var(--sp-3) var(--sp-4) var(--sp-5);font-size:var(--fs-2xs);line-height:16px}.pass-note p{margin:0 0 var(--sp-2)}.passclock{left:50%;top:var(--sp-4);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-map-chrome);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:var(--z-map-chrome);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;position:absolute;transform:translate(-50%)}.passclock .when{font-family:var(--font-mono);color:var(--text-primary);text-align:center;min-width:150px}.passclock .when.is-live{color:var(--accent)}.passclock select{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card);height:26px;color:var(--text-secondary);font-size:var(--fs-2xs);padding:0 var(--sp-2)}.passclock .vis{width:26px;height:26px}.map.has-clock .map-banner{top:calc(var(--sp-4) + 48px)}.u-danger{color:var(--status-danger)}.imgcard.is-refused,.imgcard.is-refused.is-selected,.imgcard.is-refused:after{border-color:var(--status-danger)}.imgrow.is-refused{box-shadow:inset 0 0 0 1px var(--status-danger)}.prj-imgtable tr.is-refused{outline:1px solid var(--status-danger);outline-offset:-1px}.minarea-note{align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--status-danger-wash);color:var(--status-danger);font-size:var(--fs-xs);display:flex}.minarea-note .btn{flex:none}.imgcard .minarea-note{margin:0 var(--sp-3) var(--sp-3)}.reslist.is-list>.minarea-note{margin:var(--sp-1) 0 var(--sp-2)}.scenepop .minarea-note{margin:var(--sp-2) var(--sp-4)}.prj-minimum>td{padding-top:0}.minarea-foot{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--status-danger)}.aoi-badge.is-under{border-color:var(--status-danger)}.aoi-badge.is-under b{color:var(--status-danger)}.aoi-badge small{font-size:var(--fs-xs);color:var(--status-danger);display:block}.fc-row .fc-under{font-size:var(--fs-2xs);color:var(--status-danger);white-space:normal;display:block}.review-body{padding:0 var(--sp-4) var(--sp-4)}.review-note{font-size:var(--fs-xs);color:var(--text-tertiary);margin:0}.review-body>.review-note{padding:var(--sp-2) 0}.review-msgs{padding:var(--sp-2) 0 0;gap:var(--sp-2);margin:0;list-style:none;display:grid}.review-msg{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--surface-card)}.review-msg.is-totalview{border-left:3px solid var(--accent)}.review-msg.is-customer{margin-left:var(--sp-6);background:0 0}.review-msg-head{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:4px;display:flex}.review-msg-who{font-weight:var(--fw-semibold);color:var(--text-secondary)}.review-msg.is-totalview .review-msg-who{color:var(--accent)}.review-msg-body{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:20px}.review-reply .field{margin:var(--sp-5) 0 var(--sp-2)}.review-reply textarea{min-height:76px}.review-error{margin:0 0 var(--sp-2);font-size:var(--fs-xs);color:var(--status-danger)}.review-proposal{margin:var(--sp-3) var(--sp-4) 0;padding:var(--sp-3);border:1px solid var(--border-accent);border-radius:var(--r-sm);background:var(--accent-wash);gap:var(--sp-2);display:grid}.review-proposal-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);margin:0}.review-proposal-change{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.review-proposal-change b{font-weight:var(--fw-semibold);color:var(--accent)}.review-proposal-reason{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.review-outcome{align-items:flex-start;gap:var(--sp-2);margin:var(--sp-3) var(--sp-4) 0;font-size:var(--fs-xs);color:var(--text-secondary);display:flex}.review-outcome svg{color:var(--status-success);flex:none;margin-top:1px}.rowcard.is-removed{background:0 0;border-style:dashed}.rowcard.is-removed h4{color:var(--text-tertiary);font-weight:var(--fw-regular)}.removed-note{font-size:var(--fs-xs);color:var(--status-danger);margin:0 0 4px}.rowcard h4 .tag{margin-left:var(--sp-1)}.delivery-until{align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;display:flex}.delivery-until svg{color:var(--accent);flex:none}.delivery-banner{border-radius:var(--r-sm);margin:0 var(--sp-4);border:0}.delivery-until+.delivery-banner{margin-top:var(--sp-3)}.delivery-loading{padding:var(--sp-3) var(--sp-4) 0}.delivery-loading p{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--text-tertiary)}.delivery-file{align-items:center}.delivery-file .progress{margin-top:var(--sp-2)}.delivery-file .btn{flex:none}
