@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.app-shell{min-height:var(--app-view-height);background:var(--app-background);color:var(--app-text);overflow:hidden}.page-enter-active,.page-leave-active{transition:opacity .18s ease,transform .18s ease}.page-enter-from{opacity:0;transform:translateY(6px) scale(.99)}.page-leave-to{opacity:0;transform:translateY(-6px) scale(.99)}.login-view[data-v-941bf298]{position:relative;min-height:var(--app-view-height);height:var(--app-view-height);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.5rem,6vh,3rem) 1.25rem;gap:1.25rem;overflow:hidden;background:var(--app-background)}.login-view[data-v-941bf298]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 46% 46% at 50% 46%,rgba(255,255,255,.85),transparent 70%);pointer-events:none}.login-view[data-v-941bf298]>*{position:relative;z-index:1}.login-card[data-v-941bf298]{width:min(404px,100%);background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:var(--r-lg);padding:2rem 1.9rem 1.9rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:1.25rem}.login-head[data-v-941bf298]{text-align:left;display:flex;flex-direction:column;gap:.4rem}.brand[data-v-941bf298]{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--app-faint)}.login-head h1[data-v-941bf298]{margin:0;font-size:1.62rem;font-weight:600;letter-spacing:-.025em;color:var(--app-text)}form[data-v-941bf298]{display:flex;flex-direction:column;gap:.9rem}label[data-v-941bf298]{display:flex;flex-direction:column;gap:.3rem;font-size:.76rem;font-weight:600;color:var(--app-muted)}input[data-v-941bf298]{border:1px solid var(--app-border-strong);border-radius:var(--r-sm);padding:.62rem .7rem;background:var(--app-surface-alt);font-size:.92rem;transition:border-color .14s ease,background .14s ease}input[data-v-941bf298]:focus{background:var(--app-surface);border-color:var(--app-accent);outline:none;box-shadow:0 0 0 3px var(--app-accent-soft)}.primary[data-v-941bf298]{margin-top:.35rem;border-radius:var(--r-sm);padding:.68rem;font-size:.92rem;font-weight:600;background:var(--app-primary);color:var(--app-on-primary);box-shadow:var(--sh-1)}.primary[data-v-941bf298]:hover:not(:disabled){background:var(--app-primary-dark)}.primary[data-v-941bf298]:disabled{opacity:.7;cursor:not-allowed}.error[data-v-941bf298]{margin:0;color:var(--app-danger);font-size:.9rem}@media(min-width:768px){.login-view[data-v-941bf298]{min-height:100vh;padding:4rem 2.5rem}}.app-header[data-v-cf3bba1a]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-radius:var(--r-md);background:var(--app-surface);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1),var(--hi);flex-wrap:nowrap;position:relative;overflow:visible;z-index:1000}.header-left[data-v-cf3bba1a],.header-right[data-v-cf3bba1a]{display:inline-flex;align-items:center;gap:.35rem;min-width:0;flex-shrink:0;position:relative;z-index:1}.header-center[data-v-cf3bba1a]{flex:1;display:flex;min-width:0;justify-content:center;position:relative;z-index:1}.icon-button[data-v-cf3bba1a]{width:34px;height:34px;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:var(--app-surface);color:var(--app-text-soft);font-size:.95rem;box-shadow:var(--sh-1),var(--hi)}.icon-button[data-v-cf3bba1a]:hover{background:var(--app-surface-alt)}.title-line[data-v-cf3bba1a]{display:inline-flex;align-items:center;gap:.35rem}.title-stack[data-v-cf3bba1a]{display:flex;flex-direction:column;align-items:flex-start}.title-icon[data-v-cf3bba1a]{width:24px;height:24px;border-radius:var(--r-xs);background:var(--app-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.eyebrow[data-v-cf3bba1a]{margin:0;font-family:var(--font-mono);font-size:.64rem;font-weight:500;color:var(--app-faint);letter-spacing:.13em;text-transform:uppercase}.app-header h1[data-v-cf3bba1a]{margin:0;font-size:1.18rem;font-weight:700;letter-spacing:-.01em;color:#101744}.subtitle[data-v-cf3bba1a]{margin:.05rem 0 0;color:var(--app-muted);font-size:.82rem}.ghost[data-v-cf3bba1a]{padding:.4rem 1rem;border-radius:var(--r-sm);border:none;background:var(--app-primary);font-weight:600;font-size:.85rem;color:#fff;box-shadow:var(--sh-1)}.settings-btn[data-v-f844a1d9]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#ffffffe6;color:var(--app-text);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-btn[data-v-f844a1d9]:hover{background:var(--app-surface-alt);border-color:#12131640}.modal-backdrop[data-v-488d1da6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10001}.modal-card[data-v-488d1da6]{width:min(460px,100%);background:#fff;border-radius:var(--r-lg);padding:1.1rem 1.3rem 1.3rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.9rem}.modal-head[data-v-488d1da6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.modal-head h2[data-v-488d1da6]{margin:0;font-size:1.05rem;font-weight:700;color:var(--app-text)}.icon-button[data-v-488d1da6]{width:32px;height:32px;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#ffffffe6;font-size:1.05rem;line-height:1;color:var(--app-text);cursor:pointer}.icon-button[data-v-488d1da6]:hover{background:var(--app-surface-alt)}.option-list[data-v-488d1da6]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.option-card[data-v-488d1da6]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.7rem;border-radius:var(--r-lg);border:1px solid var(--app-border-strong);background:var(--app-surface-alt);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.option-card[data-v-488d1da6]:hover{border-color:#12131640;background:var(--app-surface-alt)}.option-card.selected[data-v-488d1da6]{border-color:var(--app-primary);background:#fff;box-shadow:0 0 0 1px var(--app-primary)}.option-preview[data-v-488d1da6]{width:32px;height:32px;border-radius:var(--r-md);flex-shrink:0;border:1px solid var(--app-border-strong)}.option-preview[data-provider=google][data-v-488d1da6]{background:#4285f4}.option-preview[data-provider=vworld][data-v-488d1da6]{background:#2f7d4f}.option-label[data-v-488d1da6]{flex:1;min-width:0;font-weight:600;color:var(--app-text)}.option-check[data-v-488d1da6]{width:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--app-primary);flex-shrink:0}.section-divider[data-v-488d1da6]{height:1px;background:var(--app-border);margin:.1rem 0}.drone-group[data-v-488d1da6]{display:flex;flex-direction:column;gap:.35rem}.group-head[data-v-488d1da6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.1rem .2rem;border:none;background:transparent;cursor:pointer;text-align:left}.group-name[data-v-488d1da6]{font-size:.85rem;font-weight:700;color:var(--app-text)}.group-count[data-v-488d1da6]{font-size:.72rem;font-weight:600;color:var(--app-muted)}.layer-list[data-v-488d1da6]{list-style:none;margin:0;padding:0 0 0 .2rem;display:flex;flex-direction:column;gap:.15rem}.layer-row[data-v-488d1da6]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.3rem .25rem;border:none;border-radius:var(--r-sm);background:transparent;font-size:.84rem;color:var(--app-text);text-align:left;cursor:pointer}.layer-row[data-v-488d1da6]:hover{background:var(--app-surface-alt)}.layer-check[data-v-488d1da6]{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background:#fff;color:#fff}.layer-check.on[data-v-488d1da6]{border-color:var(--app-primary);background:var(--app-primary)}.slider-row[data-v-488d1da6]{display:flex;align-items:center;gap:.6rem;padding:.15rem .2rem}.slider-row label[data-v-488d1da6]{font-size:.85rem;font-weight:600;color:var(--app-text);white-space:nowrap}.slider-row input[type=range][data-v-488d1da6]{flex:1;min-width:0;accent-color:var(--app-primary)}.slider-value[data-v-488d1da6]{font-size:.78rem;font-weight:600;color:var(--app-muted);width:3rem;text-align:right}.modal-enter-active[data-v-488d1da6],.modal-leave-active[data-v-488d1da6]{transition:opacity .2s ease}.modal-enter-active .modal-card[data-v-488d1da6],.modal-leave-active .modal-card[data-v-488d1da6]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-488d1da6],.modal-leave-to[data-v-488d1da6]{opacity:0}.modal-enter-from .modal-card[data-v-488d1da6],.modal-leave-to .modal-card[data-v-488d1da6]{opacity:0;transform:translateY(16px) scale(.97)}.mode-view[data-v-ac65fea6]{min-height:var(--app-view-height);max-width:68rem;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;display:flex;flex-direction:column;gap:1.1rem}.hero[data-v-ac65fea6]{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.6rem 1.5rem;border-radius:var(--r-md);background:var(--app-primary);color:#fff;box-shadow:var(--sh-1)}.hero-copy[data-v-ac65fea6]{position:relative;z-index:1;display:flex;flex-direction:column;gap:.3rem}.hero-eyebrow[data-v-ac65fea6]{margin:0;font-family:var(--font-mono);font-size:.63rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffffff85}.hero h2[data-v-ac65fea6]{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.028em;color:#fff}.hero-desc[data-v-ac65fea6]{margin:0;max-width:30rem;font-size:.85rem;line-height:1.6;color:#ffffff9e}.hero-art[data-v-ac65fea6]{position:absolute;right:0;top:0;height:100%;width:340px;color:#fff;pointer-events:none;-webkit-mask-image:linear-gradient(to left,#000 45%,transparent 96%);mask-image:linear-gradient(to left,#000 45%,transparent 96%)}@media(max-width:640px){.hero[data-v-ac65fea6]{padding:1.3rem 1.2rem}.hero-art[data-v-ac65fea6]{display:none}}.mode-grid[data-v-ac65fea6]{display:grid;grid-template-columns:1fr;gap:.9rem}@media(min-width:760px){.mode-grid[data-v-ac65fea6]{grid-template-columns:1fr 1fr}.mode-card[data-v-ac65fea6]{display:flex;flex-direction:column}}.device-counts[data-v-ac65fea6]{display:flex;align-items:stretch;gap:0;padding:0;border-radius:var(--r-md);background:var(--app-surface);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1),var(--hi);overflow:hidden}.metric[data-v-ac65fea6]{flex:1;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.6rem .95rem}.metric-head[data-v-ac65fea6]{display:inline-flex;align-items:center;gap:.6rem;color:var(--app-muted)}.metric-label[data-v-ac65fea6]{font-size:.79rem;font-weight:500}.metric-value[data-v-ac65fea6]{margin:0;font-family:var(--font-mono);font-size:.86rem;font-weight:500;color:var(--app-text);font-variant-numeric:tabular-nums}.divider[data-v-ac65fea6]{width:1px;background:var(--app-border-strong)}.device-counts .status-dot[data-v-ac65fea6]{position:relative;width:7px;height:7px;border-radius:50%;background:var(--app-muted)}.device-counts .status-dot[data-v-ac65fea6]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--r-sm);border:2px solid rgba(34,197,94,.35);opacity:0}.device-counts .status-dot.on[data-v-ac65fea6]{background:var(--app-success);animation:pulse-green-ac65fea6 1.9s ease-out infinite}.device-counts .status-dot.on[data-v-ac65fea6]:after{animation:ring-pulse-ac65fea6 1.9s ease-out infinite}.device-counts .status-dot.off[data-v-ac65fea6]{background:var(--app-muted);box-shadow:none;opacity:.6}.mode-card[data-v-ac65fea6]{position:relative;background:var(--app-surface);border-radius:var(--r-md);padding:1.35rem 1.4rem;border:1px solid var(--app-border-strong);box-shadow:var(--sh-1),var(--hi);cursor:pointer;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.mode-card[data-v-ac65fea6]:before{content:"";position:absolute;right:-52px;bottom:-68px;width:150px;height:150px;border-radius:50%;border:1px solid var(--app-border-strong);box-shadow:0 0 0 20px var(--app-surface),0 0 0 21px var(--app-border-strong),0 0 0 41px var(--app-surface),0 0 0 42px var(--app-border-strong),0 0 0 62px var(--app-surface),0 0 0 63px var(--app-border);opacity:.4;pointer-events:none}.mode-card[data-v-ac65fea6]:hover{border-color:var(--app-accent);box-shadow:var(--sh-2);transform:translateY(-2px)}.mode-card:hover .mode-icon[data-v-ac65fea6]{background:var(--app-accent)}.mode-card[data-v-ac65fea6]>*{position:relative}.mode-card[data-v-ac65fea6]:after{content:"→";position:absolute;right:1.4rem;top:1.5rem;font-size:1rem;color:var(--app-faint);transition:transform .16s ease,color .16s ease}.mode-card[data-v-ac65fea6]:hover:after{color:var(--app-text);transform:translate(3px)}.title-stack[data-v-ac65fea6]{display:flex;flex-direction:row;align-items:center;gap:.6rem}.mode-icon[data-v-ac65fea6]{width:34px;height:34px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:clamp(1rem,4vw,1.3rem);font-weight:600;color:#fff;box-shadow:var(--sh-1)}.mode-icon svg[data-v-ac65fea6]{width:70%;height:70%}.mode-icon.capture[data-v-ac65fea6],.mode-icon.map[data-v-ac65fea6]{background:var(--app-primary)}.capture-card h2[data-v-ac65fea6],.map-card h2[data-v-ac65fea6]{color:var(--app-primary)}.badge[data-v-ac65fea6]{display:inline-flex;padding:.3rem .8rem;border-radius:var(--r-sm);background:var(--app-surface-alt);color:var(--app-primary);font-size:.8rem;font-weight:600}.mode-card.secondary .badge[data-v-ac65fea6]{background:var(--app-border-strong);color:var(--app-accent)}.mode-card h2[data-v-ac65fea6]{margin:0;font-size:1.12rem;font-weight:600;letter-spacing:-.022em}.mode-card p[data-v-ac65fea6]{margin:.6rem 0 0;max-width:30rem;font-size:.86rem;line-height:1.6;color:var(--app-muted)}.cta[data-v-ac65fea6]{margin-top:1rem;display:inline-flex;font-weight:600;color:var(--app-primary)}.cta.muted[data-v-ac65fea6]{color:var(--app-muted)}.status-chip[data-v-ac65fea6]{display:inline-flex;align-items:center;padding:.25rem .8rem;border-radius:var(--r-sm);background:#7c2dbf1f;font-weight:600;font-size:.78rem;color:#7c2dbf}.cta.ship[data-v-ac65fea6]{color:var(--app-muted)}.title-row[data-v-ac65fea6]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.live-tag[data-v-ac65fea6]{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .7rem;border-radius:var(--r-sm);background:#0f172a12;font-size:.8rem;font-weight:600;color:var(--app-text)}.live-tag .dot[data-v-ac65fea6]{width:6px;height:6px;border-radius:var(--r-sm);background:var(--app-success);box-shadow:var(--sh-1)}@keyframes pulse-green-ac65fea6{0%,to{box-shadow:var(--sh-1)}55%{box-shadow:var(--sh-1)}}@keyframes ring-pulse-ac65fea6{0%{transform:scale(.4);opacity:.45}70%{transform:scale(1.7);opacity:0}to{opacity:0}}.map-attribution[data-v-72214a4e]{position:absolute;left:4.8rem;bottom:.35rem;z-index:5;font-size:.62rem;font-weight:600;letter-spacing:.01em;color:#ffffffeb;text-shadow:0 0 2px rgba(0,0,0,.75),0 1px 2px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap}.map-canvas[data-v-72214a4e]{position:absolute;top:0;right:0;bottom:0;left:0}.realtime-map[data-v-72214a4e]{position:relative;width:100%;height:100%;border-radius:var(--r-lg);overflow:hidden;background:#e2e8f0;box-shadow:inset 0 0 0 1px var(--app-border)}.map-placeholder[data-v-72214a4e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--app-muted);text-align:center;z-index:10;background:var(--app-surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-placeholder p[data-v-72214a4e]{margin:0;font-weight:600;color:var(--app-text)}.map-placeholder small[data-v-72214a4e]{font-size:.85rem}.map-toolbar[data-v-318b6762]{position:absolute;top:1rem;left:1rem;display:flex;align-items:flex-start;gap:.4rem;z-index:5}.map-style-toggle[data-v-318b6762]{display:inline-flex;border-radius:var(--r-sm);overflow:hidden;background:var(--app-surface);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1)}.map-style-toggle button[data-v-318b6762]{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:none;background:transparent;padding:.35rem .85rem;font-weight:600;font-size:.82rem;color:#3b3b55;text-transform:uppercase;letter-spacing:.03em}.map-style-toggle .drone-locate[data-v-318b6762]{padding:0 .55rem;border-left:1px solid var(--app-border-strong);align-self:stretch;color:#3b3b55}.map-style-toggle .drone-locate svg[data-v-318b6762]{display:block}.map-style-toggle button.active[data-v-318b6762]{background:var(--app-primary);color:#fff}.capture-view[data-v-318b6762]{height:var(--app-view-height);min-height:var(--app-view-height);overflow:hidden;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem}@supports (padding-bottom: env(safe-area-inset-bottom)){.capture-view[data-v-318b6762]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}}.status-dot[data-v-318b6762]{position:relative;width:10px;height:10px;border-radius:50%;background:var(--app-muted);box-shadow:none}.status-dot[data-v-318b6762]:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent;opacity:0}.status-dot.mini[data-v-318b6762]{width:8px;height:8px}.status-dot.on[data-v-318b6762]{background:var(--app-success);animation:pulse-green-318b6762 1.8s ease-out infinite}.status-dot.ready[data-v-318b6762]{background:var(--app-accent);animation:pulse-blue-318b6762 1.8s ease-out infinite}.status-dot.off[data-v-318b6762]{opacity:.45}.status-dot.on[data-v-318b6762]:after,.status-dot.ready[data-v-318b6762]:after{animation:ring-pulse-318b6762 1.8s ease-out infinite}.status-dot.on[data-v-318b6762]:after{border-color:#22c55e66}.status-dot.ready[data-v-318b6762]:after{border-color:#12131659}.capture-header-center[data-v-318b6762]{display:inline-flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.device-current[data-v-318b6762]{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.9rem;min-width:0}.device-current[data-empty=true][data-v-318b6762]{color:var(--app-muted)}.type-label[data-v-318b6762]{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted)}.device-current .device-id[data-v-318b6762]{font-size:.95rem;color:var(--app-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-btn[data-v-318b6762]{flex-shrink:0;border:none;border-radius:var(--r-sm);padding:.45rem 1rem;background:var(--app-primary);color:#fff;font-weight:600;font-size:.85rem;box-shadow:var(--sh-1);display:inline-flex;align-items:center;gap:.35rem}.device-btn.header-btn[data-v-318b6762]{padding:.35rem .9rem;font-size:.8rem}.device-btn[data-v-318b6762]:disabled{background:var(--app-border);color:var(--app-muted);box-shadow:none;cursor:not-allowed}.btn-icon[data-v-318b6762]{width:16px;text-align:center}.icon-button[data-v-318b6762]{width:42px;height:42px;border-radius:50%;border:1px solid var(--app-border-strong);background:#fff;box-shadow:var(--sh-1);font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center}.map-section[data-v-318b6762]{position:relative;flex:1;min-height:320px;border-radius:var(--r-lg);overflow:hidden;box-shadow:inset 0 0 0 1px var(--app-border);isolation:isolate}@media(min-width:960px){.map-section[data-v-318b6762]{min-height:520px}}.map-section[data-v-318b6762]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none;z-index:1}.pill-sep[data-v-318b6762]{width:1px;height:12px;background:var(--app-border-strong)}.pill-gps[data-v-318b6762]{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--app-text-soft)}.pill-gps-dot[data-v-318b6762]{width:7px;height:7px;border-radius:50%;background:var(--app-muted)}.pill-gps[data-state=ok] .pill-gps-dot[data-v-318b6762]{background:#1f9d55}.pill-gps[data-state=warn] .pill-gps-dot[data-v-318b6762]{background:#c2410c}.map-status-pill[data-v-318b6762]{position:absolute;top:1rem;right:1rem;padding:.35rem .9rem;border-radius:var(--r-sm);color:#fff;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-status-pill[data-active=true][data-v-318b6762]{background:var(--app-success)}.map-status-pill[data-active=false][data-v-318b6762]{background:#0f172ab8}.map-fabs[data-v-318b6762]{position:absolute;right:1rem;bottom:1rem;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;z-index:10}.gps-fab[data-v-318b6762],.fab-toggle[data-v-318b6762]{width:56px;height:56px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--sh-2);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.gps-fab[data-v-318b6762]{background:var(--app-bar);border:1px solid rgba(255,255,255,.08);color:#fff}.gps-fab[data-active=true][data-v-318b6762]{background:var(--app-primary)}.fab-icon.gps[data-v-318b6762]{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.85);display:inline-block;position:relative}.fab-icon.gps[data-v-318b6762]:before,.fab-icon.gps[data-v-318b6762]:after{content:"";position:absolute;top:50%;left:50%;background:#ffffffe6;transform:translate(-50%,-50%)}.fab-icon.gps[data-v-318b6762]:before{width:2px;height:70%}.fab-icon.gps[data-v-318b6762]:after{width:70%;height:2px}.action-fab[data-v-318b6762]{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.fab-toggle[data-v-318b6762]{background:var(--app-primary);color:#fff;font-size:1.6rem}.action-fab[data-open=true] .fab-toggle span[data-v-318b6762],.action-fab[data-open=false] .fab-toggle span[data-v-318b6762]{transition:transform .25s ease}.action-fab[data-open=true] .fab-toggle span[data-v-318b6762]{transform:rotate(45deg)}.fab-card[data-v-318b6762]{position:absolute;right:calc(100% + .5rem);bottom:0;background:#0f172aeb;color:#fff;padding:clamp(.85rem,3vw,1.1rem);border-radius:var(--r-lg);width:min(260px,70vw);min-width:220px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.75rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(max-width:420px){.fab-card[data-v-318b6762]{width:min(240px,calc(100vw - 5.5rem));min-width:180px}}.fab-card header[data-v-318b6762]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fab-card header p[data-v-318b6762]{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3}.action-fab .fab-card[data-v-318b6762]{transform-origin:100% 100%}.fab-meta[data-v-318b6762]{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.fab-meta li[data-v-318b6762]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem}.fab-meta .label[data-v-318b6762]{color:#ffffffa6;text-transform:uppercase;letter-spacing:.08em}.fab-meta .value[data-v-318b6762]{font-weight:600}.fab-meta .value.gps-fix.ok[data-v-318b6762]{color:var(--app-success)}.fab-meta .value.gps-fix.warn[data-v-318b6762]{color:var(--app-danger)}.fab-hint[data-v-318b6762]{margin:0;font-size:.78rem;color:#ffffffbf}.fab-actions[data-v-318b6762]{display:flex;flex-direction:column;gap:.5rem}.fab-btn[data-v-318b6762]{border:none;border-radius:var(--r-lg);padding:.65rem .9rem;font-weight:600;width:100%}.fab-btn.start[data-v-318b6762]{background:var(--app-success);color:#fff}.fab-btn.stop[data-v-318b6762]{background:linear-gradient(135deg,#dc2626,var(--app-danger));color:#fff}.fab-btn.resume[data-v-318b6762]{background:#6366f1f2;color:#fff}.modal-backdrop[data-v-318b6762]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card[data-v-318b6762]{width:min(480px,100%);background:#fff;border-radius:var(--r-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--sh-2)}.device-picker[data-v-318b6762]{transition:height .35s ease;overflow:hidden}.modal-header[data-v-318b6762],.summary-modal header[data-v-318b6762]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.summary-modal .eyebrow[data-v-318b6762]{margin:0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--app-muted)}.summary-modal h2[data-v-318b6762]{margin:.15rem 0 0}.summary-grid[data-v-318b6762]{display:flex;flex-direction:column;gap:.6rem}.summary-row[data-v-318b6762]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border-radius:var(--r-lg);border:1px solid var(--app-border);background:#f8fbff}.summary-row dt[data-v-318b6762]{margin:0;font-size:.85rem;color:var(--app-muted)}.summary-row dd[data-v-318b6762]{margin:0;font-weight:600;font-size:.98rem;color:var(--app-text);text-align:right}.modal-card form[data-v-318b6762]{display:flex;flex-direction:column;gap:.75rem}.modal-card label[data-v-318b6762]{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--app-muted)}.modal-card label span[data-v-318b6762]{font-weight:600;color:var(--app-text)}.modal-card input[data-v-318b6762],.modal-card textarea[data-v-318b6762]{border:1px solid var(--app-border-strong);border-radius:var(--r-lg);padding:.85rem 1rem;background:#f8fbff;font-size:1rem}.custom-select-wrapper[data-v-318b6762]{position:relative;width:100%}.custom-select-trigger[data-v-318b6762]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border-radius:var(--r-lg);border:2px solid rgba(239,68,68,.3);background:#ef44440d;font-size:1rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease;text-align:left}.custom-select-trigger[data-v-318b6762]:hover{border-color:#ef444480;background:#ef444414}.custom-select-trigger.active[data-v-318b6762]{border-color:var(--app-primary);background:var(--app-surface-alt)}.custom-select-trigger.selected[data-v-318b6762]{border-color:#22c55e80;background:#22c55e14;font-weight:600}.custom-select-trigger.selected[data-v-318b6762]:hover{border-color:#22c55eb3;background:#22c55e1f}.custom-select-trigger .placeholder[data-v-318b6762]{color:#ef4444b3;font-weight:500}.custom-select-trigger svg[data-v-318b6762]{flex-shrink:0;transition:transform .2s ease}.custom-select-trigger.active svg[data-v-318b6762]{transform:rotate(180deg)}.custom-dropdown[data-v-318b6762]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:var(--r-lg);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1);z-index:100;overflow:hidden;max-height:200px;overflow-y:auto}.dropdown-option[data-v-318b6762]{width:100%;padding:.75rem 1rem;border:none;background:transparent;font-size:1rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-option[data-v-318b6762]:hover{background:var(--app-accent-soft);color:var(--app-primary)}.dropdown-option.active[data-v-318b6762]{background:var(--app-accent-soft);color:var(--app-primary);font-weight:600}.dropdown-enter-active[data-v-318b6762],.dropdown-leave-active[data-v-318b6762]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-318b6762],.dropdown-leave-to[data-v-318b6762]{opacity:0;transform:translateY(-8px)}.modal-card input.invalid[data-v-318b6762]{border-color:var(--app-danger)}.input-error[data-v-318b6762]{margin:-.2rem 0 0;font-size:.78rem;color:var(--app-danger)}.modal-card input[data-v-318b6762]::placeholder,.modal-card textarea[data-v-318b6762]::placeholder{color:#0f172a59}.save-footer[data-v-318b6762]{display:flex;flex-direction:row;gap:.6rem;margin-top:.25rem}.save-footer .cancel-btn[data-v-318b6762]{flex:1;margin-top:.25rem;border-radius:var(--r-lg);border:none;padding:.95rem 1rem;font-weight:600;font-size:.95rem;background:#94a3b8;color:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.save-footer .cancel-btn[data-v-318b6762]:hover:not(:disabled){background:#64748b;opacity:.9}.save-footer .cancel-btn[data-v-318b6762]:disabled{opacity:.5;cursor:not-allowed}.save-footer .primary[data-v-318b6762]{flex:1}.save-footer .primary[data-v-318b6762]{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.spinner[data-v-318b6762]{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin-318b6762 .8s linear infinite;display:inline-block}.spinner.small[data-v-318b6762]{width:14px;height:14px}.check-icon[data-v-318b6762]{font-size:1rem;font-weight:700}@keyframes spin-318b6762{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-card .primary[data-v-318b6762]{margin-top:.25rem;border-radius:var(--r-lg);border:none;padding:.95rem 1rem;font-weight:600;font-size:1rem;background:var(--app-primary);color:#fff;box-shadow:var(--sh-2)}.modal-card.device-picker[data-v-318b6762]{width:min(540px,100%)}.filter-tabs[data-v-318b6762]{display:flex;width:100%;border-radius:var(--r-md);border:1px solid var(--app-border-strong);overflow:hidden}.filter-tabs button[data-v-318b6762]{flex:1;padding:.45rem 1rem;background:transparent;color:var(--app-muted);font-weight:600;border:none;text-align:center;white-space:nowrap}.filter-tabs button+button[data-v-318b6762]{border-left:1px solid var(--app-border)}.filter-tabs .active[data-v-318b6762]{background:var(--app-primary);color:#fff}.search-field[data-v-318b6762]{margin-top:.75rem;width:100%;border-radius:var(--r-md);border:1px solid var(--app-border-strong);padding:.65rem .9rem;font-size:1rem}.gps-error[data-v-318b6762]{margin:.5rem 0 0;color:var(--app-danger);font-size:.8rem;word-break:keep-all}.device-list[data-v-318b6762]{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem;max-height:min(45vh,320px);overflow-y:auto;-webkit-overflow-scrolling:touch}.device-list li[data-v-318b6762]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--app-border);border-radius:var(--r-lg);background:#f9fbff}.device-chip[data-v-318b6762]{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.device-chip .device-id[data-v-318b6762]{color:var(--app-text);font-size:.95rem}.device-list li.selected[data-v-318b6762]{border-color:var(--app-primary);background:#2563eb14}.device-btn.quiet[data-v-318b6762]{background:var(--app-border);color:var(--app-text);box-shadow:none}.device-btn.quiet.selected[data-v-318b6762]{background:var(--app-primary);color:#fff}.empty[data-v-318b6762]{margin:1rem 0 0;text-align:center;color:var(--app-muted)}textarea[data-v-318b6762]{resize:none}.fab-card-enter-active[data-v-318b6762],.fab-card-leave-active[data-v-318b6762]{transition:opacity .28s ease,transform .28s ease;transform-origin:100% 100%}.fab-card-enter-from[data-v-318b6762],.fab-card-leave-to[data-v-318b6762]{opacity:0;transform:translate(10px,12px) scale(.96)}.modal-enter-active[data-v-318b6762],.modal-leave-active[data-v-318b6762]{transition:opacity .28s ease}.modal-enter-from[data-v-318b6762],.modal-leave-to[data-v-318b6762]{opacity:0}.modal-enter-active .modal-card[data-v-318b6762],.modal-leave-active .modal-card[data-v-318b6762]{transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s ease}.modal-enter-from .modal-card[data-v-318b6762],.modal-leave-to .modal-card[data-v-318b6762]{transform:translateY(24px) scale(.97);opacity:0}@keyframes pulse-green-318b6762{0%,to{box-shadow:var(--sh-1)}50%{box-shadow:var(--sh-1)}}@keyframes pulse-blue-318b6762{0%,to{box-shadow:var(--sh-1)}50%{box-shadow:var(--sh-1)}}@keyframes ring-pulse-318b6762{0%{transform:scale(.4);opacity:.45}70%{transform:scale(1.8);opacity:0}to{opacity:0}}.tab-fade-enter-active[data-v-318b6762],.tab-fade-leave-active[data-v-318b6762]{transition:opacity .25s ease,transform .25s ease}.tab-fade-enter-from[data-v-318b6762],.tab-fade-leave-to[data-v-318b6762]{opacity:0;transform:translateY(6px)}li[data-v-4bb1c8ce]{border-radius:var(--r-lg);border:1px solid var(--app-border);padding:.6rem .65rem;background:var(--app-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;transition:all .2s ease}li[data-v-4bb1c8ce]:hover{border-color:var(--app-border-strong);background:var(--app-surface-alt)}li.active[data-v-4bb1c8ce]{border-color:var(--app-primary);background:var(--app-accent-soft)}.info[data-v-4bb1c8ce]{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.name[data-v-4bb1c8ce]{margin:0;font-weight:600;color:var(--app-text)}.meta[data-v-4bb1c8ce]{margin:.15rem 0 0;font-size:.82rem;color:var(--app-muted)}.range-btn[data-v-4bb1c8ce]{flex-shrink:0;margin-right:.3rem;padding:.2rem .5rem;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:inherit;font-size:.71rem;font-weight:600;color:var(--app-text-soft);cursor:pointer}.range-btn[data-v-4bb1c8ce]:hover{background:var(--app-surface-alt);border-color:var(--app-accent)}.range-btn.active[data-v-4bb1c8ce]{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.visualize-btn[data-v-4bb1c8ce]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:none;background:transparent;color:var(--app-text);cursor:pointer;transition:all .2s ease;flex-shrink:0}.visualize-btn[data-v-4bb1c8ce]:hover{background:var(--app-surface-alt)}.visualize-btn.active[data-v-4bb1c8ce]{color:var(--app-primary)}.visualize-btn[data-v-4bb1c8ce]:not(.active){opacity:.5}.drive-group[data-v-7c051a10]{list-style:none;display:flex;flex-direction:column;gap:.4rem;padding:.5rem .55rem .55rem;border-radius:var(--r-lg);border:1px solid var(--app-border);background:#0f172a05}.drive-group.fusable[data-v-7c051a10]{border-color:#12131652;background:var(--app-surface-alt)}.drive-head[data-v-7c051a10]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.drive-spacer[data-v-7c051a10]{flex:1;min-width:0}.drive-actions[data-v-7c051a10]{display:flex;align-items:center;gap:.4rem;flex-shrink:0;margin-left:auto}.drive-title[data-v-7c051a10]{display:flex;align-items:baseline;gap:.4rem;min-width:0;flex-shrink:1}.drive-badge[data-v-7c051a10]{flex-shrink:0;padding:.16rem .45rem;border-radius:var(--r-sm);background:var(--app-primary);color:#fff;font-size:.68rem;font-weight:700}.drive-window[data-v-7c051a10]{font-size:.72rem;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-edit[data-v-7c051a10]{flex-shrink:0;padding:.3rem .65rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:inherit;font-size:.74rem;font-weight:600;color:var(--app-text-soft);cursor:pointer;box-shadow:var(--hi)}.drive-edit[data-v-7c051a10]:hover{background:var(--app-surface-alt);border-color:var(--app-accent)}.drive-action[data-v-7c051a10]{flex-shrink:0;padding:.3rem .7rem;border-radius:var(--r-sm);border:none;background:var(--app-accent);color:#fff;font-family:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.drive-action[data-v-7c051a10]:hover{background:var(--app-primary)}.drive-note[data-v-7c051a10]{flex-shrink:0;font-size:.7rem;color:var(--app-muted)}.drive-member[data-v-7c051a10]{display:flex;align-items:center;gap:.45rem}.drive-member-item[data-v-7c051a10]{flex:1;min-width:0}.drive-pick[data-v-7c051a10]{flex-shrink:0;width:15px;height:15px;accent-color:var(--app-primary);cursor:pointer}.drive-split[data-v-7c051a10]{display:flex;align-items:center;gap:.4rem;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed var(--app-border-strong);font-size:.73rem;color:var(--app-muted)}.drive-split span[data-v-7c051a10]{flex:1;min-width:0}.split-actions[data-v-7c051a10]{display:flex;align-items:center;gap:.4rem;margin:0 .8rem;padding:.55rem .6rem;border-radius:var(--r-sm);background:var(--app-surface-alt);border:1px solid var(--app-border-strong)}.split-count[data-v-7c051a10]{flex:1;min-width:0;font-size:.74rem;color:var(--app-muted)}.split-actions button[data-v-7c051a10]{flex-shrink:0;padding:.28rem .6rem;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:inherit;font-size:.73rem;font-weight:600;color:var(--app-text-soft);cursor:pointer}.split-actions button[data-v-7c051a10]:hover:not(:disabled){background:var(--app-surface-alt);border-color:var(--app-accent)}.split-actions button[data-v-7c051a10]:disabled{opacity:.45;cursor:default}.solo[data-v-7c051a10]{list-style:none;display:flex;align-items:center;gap:.45rem}.candidate .drive-member-item[data-v-7c051a10],.solo.candidate .drive-member-item[data-v-7c051a10]{box-shadow:inset 2px 0 0 var(--app-accent)}.split-mode-btn[data-v-7c051a10]{flex-shrink:0;padding:.4rem .65rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:inherit;font-size:.75rem;font-weight:600;color:var(--app-text-soft);cursor:pointer;white-space:nowrap}.split-mode-btn[data-v-7c051a10]:hover{background:var(--app-surface-alt)}.split-mode-btn.active[data-v-7c051a10]{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.drive-split button[data-v-7c051a10]:disabled{opacity:.45;cursor:default}.drive-split button[data-v-7c051a10]{flex-shrink:0;padding:.22rem .55rem;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background:var(--app-surface);font-family:inherit;font-size:.72rem;font-weight:600;color:var(--app-text-soft);cursor:pointer}.drive-split button[data-v-7c051a10]:hover{background:var(--app-surface-alt);border-color:var(--app-accent)}.drive-members[data-v-7c051a10]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.download-bar[data-v-c1b844b1]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .75rem;margin:0 .25rem .5rem;border-radius:var(--r-md);background:#0f172a08}.download-bar-top[data-v-c1b844b1]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.download-info[data-v-c1b844b1]{font-size:.8rem;color:var(--app-text)}.download-top-actions[data-v-c1b844b1]{display:flex;align-items:center;gap:.5rem}.text-link[data-v-c1b844b1]{background:none;border:none;color:var(--app-primary);font-size:.75rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:var(--r-xs);transition:background-color .2s ease}.text-link[data-v-c1b844b1]:hover{background-color:var(--app-accent-soft)}.merge-bar[data-v-9c25bfcb]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .75rem .5rem;margin:0 .25rem .35rem;border-radius:var(--r-md);background:#3b82f60f}.merge-info[data-v-9c25bfcb]{font-size:.8rem;color:var(--app-text)}.merge-actions[data-v-9c25bfcb]{display:flex;align-items:center;gap:.4rem}.pill[data-v-9c25bfcb]{border-radius:var(--r-sm);border:none;padding:.35rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--app-primary);color:#fff}.pill[data-v-9c25bfcb]:hover:not(:disabled){box-shadow:var(--sh-1)}.pill[data-v-9c25bfcb]:disabled{opacity:.5;cursor:not-allowed}.pill.ghost[data-v-9c25bfcb]{background:#0f172a08;color:var(--app-text)}.pill.ghost[data-v-9c25bfcb]:hover{background:var(--app-border)}.merge-bar-enter-active[data-v-9c25bfcb],.merge-bar-leave-active[data-v-9c25bfcb]{transition:max-height .22s ease,opacity .18s ease,transform .18s ease}.merge-bar-enter-from[data-v-9c25bfcb],.merge-bar-leave-to[data-v-9c25bfcb]{max-height:0;opacity:0;transform:translateY(-4px)}.merge-bar-enter-to[data-v-9c25bfcb],.merge-bar-leave-from[data-v-9c25bfcb]{max-height:80px;opacity:1;transform:translateY(0)}.json-editor-container[data-v-702c3c24]{display:flex;flex-direction:column;gap:1rem}.editor-header[data-v-702c3c24]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.editor-label[data-v-702c3c24]{font-size:.85rem;font-weight:600;color:var(--app-text)}.delete-btn[data-v-702c3c24]{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--app-muted);cursor:pointer;transition:all .2s ease}.delete-btn[data-v-702c3c24]:hover{background:#ef44440f;border-color:#ef444466;color:var(--app-danger)}.json-editor[data-v-702c3c24]{width:100%;min-height:300px;padding:.75rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;color:var(--app-text);resize:vertical;transition:all .2s ease}.json-editor[data-v-702c3c24]:focus{outline:none;border-color:var(--app-primary);box-shadow:var(--sh-1)}.json-editor.has-error[data-v-702c3c24]{border-color:var(--app-danger);background:#ef44440d}.json-editor.has-error[data-v-702c3c24]:focus{border-color:var(--app-danger);box-shadow:var(--sh-1)}.error-message[data-v-702c3c24]{color:var(--app-danger);font-size:.85rem;margin-top:-.5rem;padding:.5rem .75rem;background:#ef44441a;border-radius:var(--r-sm);border-left:3px solid var(--app-danger)}.button-spinner[data-v-702c3c24]{display:inline-flex;align-items:center;justify-content:center;animation:spin-702c3c24 1s linear infinite}@keyframes spin-702c3c24{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.editor-actions[data-v-702c3c24]{display:flex;align-items:center;gap:.75rem;justify-content:flex-end}.pill[data-v-702c3c24]{border-radius:var(--r-sm);border:none;padding:.55rem 1.1rem;background:var(--app-primary);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.pill[data-v-702c3c24]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.pill[data-v-702c3c24]:active:not(:disabled){transform:translateY(0)}.pill[data-v-702c3c24]:disabled{opacity:.6;cursor:not-allowed}.pill.ghost[data-v-702c3c24]{background:var(--app-surface-alt);color:var(--app-primary)}.pill.ghost[data-v-702c3c24]:hover:not(:disabled){background:var(--app-border-strong);box-shadow:var(--sh-1)}li[data-v-a5c43e79]{cursor:default;margin-left:.5rem;margin-right:.5rem;padding:.5rem .6rem;width:calc(100% - 1rem);border-radius:var(--r-lg);border:1px solid var(--app-border);background:var(--app-surface-alt);display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:border-color .2s ease,background .2s ease}li[data-v-a5c43e79]:hover{border-color:var(--app-border-strong);background:var(--app-surface-alt)}li.highlighted[data-v-a5c43e79]{background:#fff;border-color:var(--app-accent);box-shadow:var(--sh-1);transform:translateY(-1px)}li.expanded[data-v-a5c43e79]{background:var(--app-surface-alt);flex-direction:column;align-items:stretch;transition:all .3s cubic-bezier(.4,0,.2,1)}.info[data-v-a5c43e79]{flex:1;display:flex;align-items:center;min-width:0;gap:.4rem}.name-wrapper[data-v-a5c43e79]{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1}.name[data-v-a5c43e79]{margin:0;font-weight:600;color:var(--app-text);flex:1;min-width:0}.name.imported[data-v-a5c43e79]{color:var(--app-muted)}.original-date-badge[data-v-a5c43e79]{font-size:.7rem;font-weight:500;color:var(--app-primary);background:var(--app-accent-soft);padding:.15rem .4rem;border-radius:var(--r-xs);white-space:nowrap;flex-shrink:0}.merge-checkbox[data-v-a5c43e79]{flex-shrink:0;width:12px;height:12px;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.merge-checkbox[data-v-a5c43e79]:hover{border-color:var(--app-primary)}.merge-checkbox[data-v-a5c43e79]:checked{border-color:var(--app-primary);background-color:var(--app-primary);position:relative}.merge-checkbox[data-v-a5c43e79]:checked:before{content:"";position:absolute;width:7px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);top:3px;left:2px}.element-name-input[data-v-a5c43e79]{width:100%;padding:.5rem .75rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#fff;font-size:.9rem;font-weight:500;color:var(--app-text);transition:all .2s ease}.element-name-input[data-v-a5c43e79]:focus{outline:none;border-color:var(--app-primary);box-shadow:var(--sh-1)}.element-actions[data-v-a5c43e79]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.line-action[data-v-a5c43e79]{flex-shrink:0;padding:.2rem .5rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#fff;font-family:inherit;font-size:.7rem;font-weight:600;color:var(--app-text);cursor:pointer;white-space:nowrap}.line-action[data-v-a5c43e79]:hover{background:var(--app-surface-alt);border-color:var(--app-accent)}.line-action.solid[data-v-a5c43e79]{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.line-action.solid[data-v-a5c43e79]:hover{background:var(--app-primary-dark)}.visualize-btn[data-v-a5c43e79]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:none;background:transparent;color:var(--app-text);cursor:pointer;transition:all .2s ease}.visualize-btn[data-v-a5c43e79]{border:none;background:transparent}.visualize-btn[data-v-a5c43e79]:hover{background:var(--app-surface-alt)}.visualize-btn.active[data-v-a5c43e79]{color:var(--app-primary)}.visualize-btn[data-v-a5c43e79]:not(.active){opacity:.5}.element-editor-content[data-v-a5c43e79]{width:100%;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--app-border);min-height:0}.expand-enter-active[data-v-a5c43e79]{transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease,margin .3s ease;overflow:hidden}.expand-leave-active[data-v-a5c43e79]{transition:max-height .25s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .25s ease,margin .25s ease;overflow:hidden}.expand-enter-from[data-v-a5c43e79],.expand-leave-to[data-v-a5c43e79]{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0}.expand-enter-to[data-v-a5c43e79],.expand-leave-from[data-v-a5c43e79]{max-height:2000px;opacity:1}.fade-enter-active[data-v-a5c43e79],.fade-leave-active[data-v-a5c43e79]{transition:opacity .2s ease}.fade-enter-from[data-v-a5c43e79],.fade-leave-to[data-v-a5c43e79],li.collapsing .info[data-v-a5c43e79],li.collapsing .element-actions[data-v-a5c43e79]{opacity:0}.element-sections[data-v-9dc022fd]{display:flex;flex-direction:column;gap:.5rem}.element-section[data-v-9dc022fd]{display:flex;flex-direction:column}.section-header[data-v-9dc022fd]{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border:none;border-radius:var(--r-lg);cursor:pointer;transition:all .2s ease;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--app-text);margin:0 .35rem;position:relative;text-align:left;width:calc(100% - .7rem)}.section-header .section-arrow[data-v-9dc022fd]{flex-shrink:0;margin-right:.25rem;transition:transform .2s ease;color:var(--app-muted)}.section-header .section-arrow.collapsed[data-v-9dc022fd]{transform:rotate(-90deg)}.section-header[data-v-9dc022fd]:disabled{opacity:.5;cursor:not-allowed}.section-header[data-v-9dc022fd]{background:var(--app-surface-alt)}.section-header[data-v-9dc022fd]:before{content:"";width:9px;height:9px;flex-shrink:0;border-radius:2px;background:var(--swatch, var(--app-muted));box-shadow:0 0 0 1px #1213162e inset}.section-header[data-type=point][data-v-9dc022fd]{--swatch: var(--app-accent)}.section-header[data-type=line][data-v-9dc022fd]{--swatch: #b45309}.section-header[data-type=polygon][data-v-9dc022fd]{--swatch: #059669}.section-header[data-v-9dc022fd]:not(:disabled):hover{background:var(--app-surface-deep)}.section-title[data-v-9dc022fd]{flex:1;text-align:left;display:flex;align-items:center;gap:.5rem}.section-select-checkbox[data-v-9dc022fd]{margin-right:.5rem;width:12px;height:12px;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.section-select-checkbox[data-v-9dc022fd]:hover{border-color:var(--app-primary)}.section-select-checkbox[data-v-9dc022fd]:checked{border-color:var(--app-primary);background-color:var(--app-primary);position:relative}.section-select-checkbox[data-v-9dc022fd]:checked:before{content:"";position:absolute;width:7px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);top:3px;left:2px}.section-merge-btn[data-v-9dc022fd]{margin-left:.5rem;padding:.25rem .8rem;border-radius:var(--r-sm);border:none;background:var(--app-primary);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.section-merge-btn[data-v-9dc022fd]:hover:not(:disabled){box-shadow:var(--sh-1)}.section-merge-btn[data-v-9dc022fd]:disabled{opacity:.5;cursor:not-allowed}.section-count[data-v-9dc022fd]{color:var(--app-muted);font-weight:500;font-size:.85rem;margin-left:.25rem}.section-visualize-btn[data-v-9dc022fd]{margin-left:.5rem;padding:.25rem;background:none;border:none;color:var(--app-text-secondary);cursor:pointer;border-radius:var(--r-xs);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.section-visualize-btn[data-v-9dc022fd]:hover{background-color:var(--app-surface-alt);color:var(--app-text)}.section-visualize-btn.active[data-v-9dc022fd]{color:var(--app-primary)}.section-visualize-btn.hidden[data-v-9dc022fd]{color:var(--app-muted);opacity:.5}.collapse-enter-active[data-v-9dc022fd],.collapse-leave-active[data-v-9dc022fd]{transition:max-height .3s ease,opacity .2s ease}.collapse-enter-from[data-v-9dc022fd],.collapse-leave-to[data-v-9dc022fd]{max-height:0;opacity:0}.collapse-enter-to[data-v-9dc022fd],.collapse-leave-from[data-v-9dc022fd]{max-height:2000px;opacity:1}.record-list[data-v-9dc022fd]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;flex:1 0 auto}.record-list.elements[data-v-9dc022fd]{gap:.4rem;padding:.4rem 0;margin:0 .35rem;width:calc(100% - .7rem);box-sizing:border-box}.time-picker-wrapper[data-v-e884a8e8]{position:relative}.time-picker-trigger[data-v-e884a8e8]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease}.time-picker-trigger[data-v-e884a8e8]:hover:not(:disabled){border-color:#1213164d;background:var(--app-surface-alt)}.time-picker-trigger.readonly[data-v-e884a8e8]{background:var(--app-surface-alt);cursor:default;color:var(--app-muted)}.time-picker-trigger.active[data-v-e884a8e8]{border-color:var(--app-primary);background:var(--app-surface-alt)}.time-picker-trigger[data-v-e884a8e8]:disabled{background:var(--app-surface-alt);cursor:not-allowed;color:var(--app-muted)}.time-picker-dropdown[data-v-e884a8e8]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:var(--r-md);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1);z-index:100;overflow:hidden}.time-picker-scroll[data-v-e884a8e8]{display:flex;gap:0;max-height:280px}.time-column[data-v-e884a8e8]{flex:1;display:flex;flex-direction:column}.time-label[data-v-e884a8e8]{padding:.75rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--app-muted);background:var(--app-surface-alt);border-bottom:1px solid var(--app-border)}.time-scroll-list[data-v-e884a8e8]{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent}.time-scroll-list[data-v-e884a8e8]::-webkit-scrollbar{width:4px}.time-scroll-list[data-v-e884a8e8]::-webkit-scrollbar-track{background:transparent}.time-scroll-list[data-v-e884a8e8]::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:var(--r-xs)}.time-option[data-v-e884a8e8]{width:100%;padding:.5rem .75rem;border:none;background:transparent;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .15s ease;text-align:center}.time-option[data-v-e884a8e8]:hover{background:var(--app-accent-soft);color:var(--app-primary)}.time-option.active[data-v-e884a8e8]{background:var(--app-accent-soft);color:var(--app-primary);font-weight:600}.dropdown-enter-active[data-v-e884a8e8],.dropdown-leave-active[data-v-e884a8e8]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-e884a8e8],.dropdown-leave-to[data-v-e884a8e8]{opacity:0;transform:translateY(-8px)}.modal-backdrop[data-v-0ddb6606]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10000}.modal-card[data-v-0ddb6606]{width:min(520px,100%);background:#fff;border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.9rem}.calendar-modal[data-v-0ddb6606]{width:min(360px,calc(100% - 2rem));max-width:360px;padding:1.25rem}.calendar-header[data-v-0ddb6606]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.nav-arrow[data-v-0ddb6606]{width:36px;height:36px;flex-shrink:0;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:var(--app-surface-alt);display:inline-flex;align-items:center;justify-content:center;color:var(--app-primary);transition:all .2s ease;cursor:pointer}.nav-arrow[data-v-0ddb6606]:hover{background:var(--app-border-strong);border-color:var(--app-border-strong)}.month-selector[data-v-0ddb6606]{flex:1;height:36px;border:1px solid var(--app-border-strong);border-radius:var(--r-md);padding:0 1rem;background:var(--app-surface-alt);font-size:1rem;font-weight:600;color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center;cursor:default;white-space:nowrap}.calendar-header .icon[data-v-0ddb6606]{width:36px;height:36px;flex-shrink:0;border:1px solid var(--app-border);background:#fff;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:var(--sh-1);color:var(--app-primary);transition:all .2s ease;cursor:pointer}.calendar-header .icon[data-v-0ddb6606]:hover{background:var(--app-surface-alt)}.calendar-body[data-v-0ddb6606]{display:flex;flex-direction:column;gap:.75rem}.calendar-weekdays[data-v-0ddb6606]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.weekday[data-v-0ddb6606]{text-align:center;font-size:.85rem;font-weight:600;color:var(--app-muted);padding:.5rem 0}.calendar-grid[data-v-0ddb6606]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day[data-v-0ddb6606]{aspect-ratio:1;border:none;border-radius:var(--r-sm);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease;position:relative;padding:.25rem}.calendar-day[data-v-0ddb6606]:hover:not(:disabled):not(.today){background:var(--app-surface-alt);transform:translateY(-1px)}.calendar-day[data-v-0ddb6606]:disabled{opacity:.3;cursor:not-allowed}.calendar-day.disabled-date[data-v-0ddb6606]{opacity:.5;cursor:not-allowed;position:relative}.calendar-day.disabled-date[data-v-0ddb6606]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:1px;height:100%;background:#94a3b880}.calendar-day.other-month[data-v-0ddb6606]{opacity:.4;background:var(--app-surface-alt)}.calendar-day.today[data-v-0ddb6606]{background:var(--app-surface-alt);font-weight:600}.calendar-day.selected[data-v-0ddb6606]{background:var(--app-primary);color:#fff;font-weight:600;box-shadow:var(--sh-1)}.calendar-day.selected .data-indicator[data-v-0ddb6606]{background:#ffffffe6}.calendar-day.has-data[data-v-0ddb6606]:not(.selected){color:var(--app-primary);font-weight:600}.day-number[data-v-0ddb6606]{line-height:1}.data-indicator[data-v-0ddb6606]{width:5px;height:5px;border-radius:50%;background:var(--app-success);position:absolute;bottom:.35rem;box-shadow:var(--sh-1)}.calendar-day.has-data:not(.selected) .data-indicator[data-v-0ddb6606]{background:var(--app-success)}.calendar-day.selected .data-indicator[data-v-0ddb6606]{background:var(--app-surface);box-shadow:var(--sh-1)}.modal-enter-active[data-v-0ddb6606],.modal-leave-active[data-v-0ddb6606]{transition:opacity .3s ease}.modal-enter-active .modal-card[data-v-0ddb6606],.modal-leave-active .modal-card[data-v-0ddb6606]{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease}.modal-enter-from[data-v-0ddb6606],.modal-leave-to[data-v-0ddb6606]{opacity:0}.modal-enter-from .modal-card[data-v-0ddb6606],.modal-leave-to .modal-card[data-v-0ddb6606]{transform:translateY(24px) scale(.95);opacity:0}.modal-backdrop[data-v-2a5c2727]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10000}.modal-card[data-v-2a5c2727]{width:min(520px,100%);background:#fff;border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.9rem}.modal-head[data-v-2a5c2727]{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.modal-head h2[data-v-2a5c2727]{margin:0;font-size:1.25rem;font-weight:600;color:var(--app-text)}.modal-icons[data-v-2a5c2727]{display:inline-flex;gap:.35rem}.modal-card .icon[data-v-2a5c2727]{border:1px solid var(--app-border);background:#fff;border-radius:var(--r-sm);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:var(--sh-1);color:var(--app-primary);transition:all .2s ease;cursor:pointer}.modal-card .icon[data-v-2a5c2727]:hover{background:var(--app-surface-alt)}.modal-card .icon.danger[data-v-2a5c2727]{color:var(--app-danger)}.modal-card .icon.danger[data-v-2a5c2727]:hover{background:var(--app-danger-wash);border-color:var(--app-danger-line)}.form-grid[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem}.form-grid label[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--app-muted)}.form-grid label span[data-v-2a5c2727]{font-weight:600;color:var(--app-text)}.form-grid input[data-v-2a5c2727]{border-radius:var(--r-md);border:1px solid var(--app-border-strong);padding:.5rem .75rem;font-size:.9rem;font-weight:500;color:var(--app-text);background:#fff;transition:all .2s ease;box-sizing:border-box;cursor:text}.form-grid input[data-v-2a5c2727]:not([readonly]):not(.readonly){cursor:text}.form-grid input[data-v-2a5c2727]:focus:not(.readonly):not(:readonly){outline:none;border-color:var(--app-primary);box-shadow:var(--sh-1)}.form-grid input[readonly].readonly[data-v-2a5c2727],.form-grid input.readonly[readonly][data-v-2a5c2727],.form-grid input.readonly[data-v-2a5c2727],.form-grid input[readonly][data-v-2a5c2727],.form-grid label input[readonly].readonly[data-v-2a5c2727],.form-grid label input.readonly[readonly][data-v-2a5c2727],.form-grid label input.readonly[data-v-2a5c2727],.form-grid label input[readonly][data-v-2a5c2727]{background:var(--app-surface-alt)!important;cursor:default!important;color:var(--app-muted)!important;border-color:var(--app-border)!important}.form-grid input[readonly].readonly[data-v-2a5c2727]:hover,.form-grid input.readonly[readonly][data-v-2a5c2727]:hover,.form-grid input.readonly[data-v-2a5c2727]:hover,.form-grid input[readonly][data-v-2a5c2727]:hover,.form-grid label input[readonly].readonly[data-v-2a5c2727]:hover,.form-grid label input.readonly[readonly][data-v-2a5c2727]:hover,.form-grid label input.readonly[data-v-2a5c2727]:hover,.form-grid label input[readonly][data-v-2a5c2727]:hover{cursor:default!important;color:var(--app-muted)!important;background:var(--app-surface-alt)!important;border-color:var(--app-border)!important}.form-row[data-v-2a5c2727]{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.form-grid label.half[data-v-2a5c2727]{grid-column:span 1;min-width:0;display:flex;flex-direction:column}.custom-select-wrapper[data-v-2a5c2727]{min-width:0;width:100%;flex:1}.custom-select-trigger[data-v-2a5c2727]{min-width:0;width:100%;box-sizing:border-box}.form-grid label.full[data-v-2a5c2727]{grid-column:1 / -1}.modal-divider[data-v-2a5c2727]{border:none;border-top:1px solid var(--app-border-strong);margin:1rem 0}.modal-actions[data-v-2a5c2727]{display:flex;align-items:center;gap:.75rem}.modal-actions.center[data-v-2a5c2727]{justify-content:center}.modal-actions.split[data-v-2a5c2727]{justify-content:space-between;gap:.75rem}.modal-actions.split[data-v-2a5c2727]>*{flex:1}.eyebrow[data-v-2a5c2727]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);margin:0}.eyebrow.subtle[data-v-2a5c2727]{font-size:.8rem;text-transform:none;letter-spacing:normal;margin-bottom:.5rem}.custom-select-wrapper[data-v-2a5c2727]{position:relative}.custom-select-trigger[data-v-2a5c2727]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease}.custom-select-trigger[data-v-2a5c2727]:hover:not(:disabled){border-color:#1213164d;background:var(--app-surface-alt)}.custom-select-trigger.readonly[data-v-2a5c2727],.custom-select-trigger.readonly[data-v-2a5c2727]:disabled,.custom-select-trigger[data-v-2a5c2727]:disabled{background:var(--app-surface-alt)!important;cursor:default!important;color:var(--app-muted)!important;border-color:var(--app-border)!important}.custom-select-trigger.readonly span[data-v-2a5c2727],.custom-select-trigger.readonly:disabled span[data-v-2a5c2727],.custom-select-trigger:disabled span[data-v-2a5c2727]{color:var(--app-muted)!important}.custom-select-trigger.readonly svg[data-v-2a5c2727],.custom-select-trigger.readonly:disabled svg[data-v-2a5c2727],.custom-select-trigger:disabled svg[data-v-2a5c2727]{color:var(--app-muted)!important;stroke:var(--app-muted)!important}.custom-select-trigger.active[data-v-2a5c2727]{border-color:var(--app-primary);background:var(--app-surface-alt)}.date-picker-wrapper[data-v-2a5c2727]{position:relative;width:100%}.date-picker-trigger[data-v-2a5c2727]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease}.date-picker-trigger[data-v-2a5c2727]:hover:not(:disabled){border-color:#1213164d;background:var(--app-surface-alt)}.date-picker-trigger.readonly[data-v-2a5c2727],.date-picker-trigger[data-v-2a5c2727]:disabled{background:var(--app-surface-alt);cursor:default;color:var(--app-muted)}.date-picker-trigger.active[data-v-2a5c2727]{border-color:var(--app-primary);background:var(--app-surface-alt)}.date-picker-dropdown[data-v-2a5c2727]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:var(--r-md);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1);z-index:100;padding:.5rem}.date-input[data-v-2a5c2727]{width:100%;border:none;padding:.5rem;font-size:.9rem;font-weight:500;color:var(--app-text);background:transparent;cursor:pointer}.date-input[data-v-2a5c2727]:focus{outline:none}.custom-dropdown[data-v-2a5c2727]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:var(--r-md);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1);z-index:100;overflow:hidden}.dropdown-option[data-v-2a5c2727]{width:100%;padding:.75rem 1rem;border:none;background:transparent;font-size:.9rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-option[data-v-2a5c2727]:hover{background:var(--app-accent-soft);color:var(--app-primary)}.dropdown-option.active[data-v-2a5c2727]{background:var(--app-accent-soft);color:var(--app-primary);font-weight:600}.geometry-grid[data-v-2a5c2727]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.geometry-option[data-v-2a5c2727]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:var(--r-lg);border:1px solid var(--app-border-strong);background:var(--app-surface-alt);cursor:pointer;transition:all .2s ease}.geometry-option[data-v-2a5c2727]:hover{border-color:var(--app-primary);background:var(--app-accent-soft);transform:translateY(-2px);box-shadow:var(--sh-1)}.geo-icon[data-v-2a5c2727]{font-size:2rem;line-height:1}.geometry-option strong[data-v-2a5c2727]{font-size:.9rem;font-weight:600;color:var(--app-text)}.geometry-option small[data-v-2a5c2727]{font-size:.75rem;color:var(--app-muted);text-align:center}.fusion-entry[data-v-2a5c2727]{display:flex;align-items:center;gap:.7rem;width:100%;margin-top:.5rem;padding:.7rem .8rem;border-radius:var(--r-lg);border:1px solid rgba(18,19,22,.35);background:var(--app-surface-alt);text-align:left;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.fusion-entry[data-v-2a5c2727]:hover{background:var(--app-border-strong);border-color:var(--app-accent)}.fusion-icon[data-v-2a5c2727]{font-size:1.2rem;color:var(--app-accent);flex-shrink:0}.fusion-text[data-v-2a5c2727]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.fusion-text strong[data-v-2a5c2727]{font-size:.85rem;color:var(--app-text)}.fusion-text small[data-v-2a5c2727]{font-size:.7rem;line-height:1.35;color:var(--app-muted)}.fusion-arrow[data-v-2a5c2727]{flex-shrink:0;font-size:1.1rem;color:var(--app-muted)}.multi-placeholder[data-v-2a5c2727]{display:flex;align-items:center;height:100%;min-height:2.4rem;font-size:.78rem;color:var(--app-muted)}.multi-device[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.5rem}.multi-toggle[data-v-2a5c2727]{display:flex;align-items:flex-start;gap:.55rem;width:100%;padding:.6rem .7rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:var(--app-surface-alt);text-align:left;font-family:inherit;cursor:pointer}.multi-toggle[aria-checked=true][data-v-2a5c2727]{border-color:var(--app-accent);background:var(--app-surface-alt)}.multi-check[data-v-2a5c2727]{width:16px;height:16px;margin-top:.1rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background:#fff;color:#fff}.multi-check.on[data-v-2a5c2727]{border-color:var(--app-primary);background:var(--app-primary)}.multi-text[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.1rem;min-width:0}.multi-text strong[data-v-2a5c2727]{font-size:.82rem;color:var(--app-text)}.multi-text small[data-v-2a5c2727]{font-size:.7rem;line-height:1.4;color:var(--app-muted)}.multi-rows[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.35rem;padding-left:.2rem}.form-grid .multi-row[data-v-2a5c2727]{display:flex;flex-direction:row;align-items:center;gap:.5rem}.multi-row input[data-v-2a5c2727]{flex:1;min-width:0}.multi-role[data-v-2a5c2727]{width:42px;flex-shrink:0;text-align:center;padding:.25rem 0;border-radius:var(--r-sm);font-size:.75rem;font-weight:700;background:var(--app-surface-alt);color:var(--app-primary)}.multi-role[data-role=center][data-v-2a5c2727]{background:var(--app-border-strong)}.multi-error[data-v-2a5c2727]{margin:.1rem 0 0;font-size:.74rem;font-weight:600;color:var(--app-danger)}.element-creation-form[data-v-2a5c2727]{display:flex;flex-direction:column;gap:1.5rem;margin-top:.5rem}.creation-type-display[data-v-2a5c2727]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--app-accent-soft);border-radius:var(--r-md);border:1px solid rgba(59,130,246,.2)}.creation-type-label[data-v-2a5c2727]{font-size:.85rem;color:var(--app-muted);font-weight:500}.creation-type-value[data-v-2a5c2727]{font-size:.9rem;color:var(--app-primary);font-weight:600}.creation-param-label[data-v-2a5c2727]{display:flex;flex-direction:column;gap:.75rem;font-size:.84rem;color:var(--app-muted);min-height:5.5rem;justify-content:flex-start}.param-title[data-v-2a5c2727]{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;font-weight:600;color:var(--app-text);font-size:.9rem;line-height:1.4}.param-hint[data-v-2a5c2727]{font-weight:400;font-size:.75rem;color:var(--app-muted);opacity:.75;white-space:nowrap}.param-row[data-v-2a5c2727]{display:flex;flex-direction:column;gap:1rem}.param-input-wrapper[data-v-2a5c2727]{display:flex;align-items:center;gap:.5rem;min-height:2.75rem}.param-input[data-v-2a5c2727]{flex:1;border-radius:var(--r-md);border:1px solid rgba(59,130,246,.4);padding:.625rem .75rem;background:#fff;font-size:.9rem;font-weight:500;color:var(--app-text);transition:all .2s ease;height:2.75rem;box-sizing:border-box}.param-input[data-v-2a5c2727]:focus{outline:none;border-color:#3b82f6;box-shadow:var(--sh-1)}.param-unit[data-v-2a5c2727]{font-size:.9rem;font-weight:600;color:var(--app-primary);min-width:1.5rem}.point-type-selector[data-v-2a5c2727]{display:grid;grid-template-columns:repeat(2,1fr);background:#0d1f4c0f;border-radius:var(--r-sm);padding:.2rem;min-height:2.75rem;align-items:center}.point-type-btn[data-v-2a5c2727]{border:none;background:transparent;font-size:.9rem;font-weight:600;padding:.55rem .4rem;border-radius:var(--r-sm);color:#0e204199;cursor:pointer;transition:background .2s,color .2s}.point-type-btn[data-v-2a5c2727]:hover{color:#0e2041cc}.point-type-btn.active[data-v-2a5c2727]{background:#fff;color:var(--app-primary);box-shadow:var(--sh-1)}.button-spinner[data-v-2a5c2727]{display:inline-flex;align-items:center;justify-content:center;animation:spin-2a5c2727 1s linear infinite}.button-spinner svg[data-v-2a5c2727]{width:16px;height:16px}@keyframes spin-2a5c2727{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pill[data-v-2a5c2727]{border-radius:var(--r-sm);border:none;padding:.55rem 1.1rem;background:var(--app-primary);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.pill[data-v-2a5c2727]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.pill[data-v-2a5c2727]:active:not(:disabled){transform:translateY(0)}.pill[data-v-2a5c2727]:disabled{opacity:.6;cursor:not-allowed}.pill.success[data-v-2a5c2727]{background:var(--app-success)}.pill.success[data-v-2a5c2727]:hover:not(:disabled){background:var(--app-success);box-shadow:var(--sh-1)}.pill.error[data-v-2a5c2727]{background:var(--app-danger)}.pill.error[data-v-2a5c2727]:hover:not(:disabled){background:var(--app-danger);box-shadow:var(--sh-1)}.pill.ghost[data-v-2a5c2727]{background:var(--app-surface-alt);color:var(--app-primary)}.pill.ghost[data-v-2a5c2727]:hover:not(:disabled){background:var(--app-border-strong);box-shadow:var(--sh-1)}.modal-enter-active[data-v-2a5c2727],.modal-leave-active[data-v-2a5c2727]{transition:opacity .3s ease}.modal-enter-active .modal-card[data-v-2a5c2727],.modal-leave-active .modal-card[data-v-2a5c2727]{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease}.modal-enter-from[data-v-2a5c2727],.modal-leave-to[data-v-2a5c2727]{opacity:0}.modal-enter-from .modal-card[data-v-2a5c2727],.modal-leave-to .modal-card[data-v-2a5c2727]{transform:translateY(24px) scale(.95);opacity:0}.dropdown-enter-active[data-v-2a5c2727],.dropdown-leave-active[data-v-2a5c2727]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-2a5c2727],.dropdown-leave-to[data-v-2a5c2727]{opacity:0;transform:translateY(-8px)}@keyframes shake-2a5c2727{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.pill.shake[data-v-2a5c2727]{animation:shake-2a5c2727 .5s ease-in-out}.diagnostics[data-v-cc427b21]{display:flex;flex-direction:column;gap:.6rem}.clock-alert[data-v-cc427b21]{display:flex;gap:.6rem;padding:.7rem .8rem;border-radius:var(--r-md);background:#eab30824;border:1px solid rgba(234,179,8,.5)}.alert-icon[data-v-cc427b21]{font-size:1.1rem;line-height:1.3}.clock-alert strong[data-v-cc427b21]{display:block;font-size:.84rem;color:#8a5a00}.clock-alert ul[data-v-cc427b21]{list-style:none;margin:.35rem 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.clock-alert li[data-v-cc427b21]{display:flex;align-items:baseline;gap:.4rem;font-size:.8rem;color:var(--app-text)}.clock-alert li b[data-v-cc427b21]{min-width:2rem}.device-id[data-v-cc427b21]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:var(--app-muted)}.offset[data-v-cc427b21]{font-weight:700;color:#8a5a00}.clock-alert p[data-v-cc427b21]{margin:0;font-size:.74rem;line-height:1.45;color:var(--app-muted)}.swap-alert[data-v-cc427b21]{display:flex;gap:.6rem;padding:.7rem .8rem;border-radius:var(--r-md);background:var(--app-danger-wash);border:1px solid rgba(217,74,74,.45)}.swap-alert strong[data-v-cc427b21]{display:block;font-size:.84rem;color:#a83232}.swap-alert p[data-v-cc427b21]{margin:.25rem 0 0;font-size:.75rem;line-height:1.45;color:var(--app-muted)}.clock-ok[data-v-cc427b21]{margin:0;padding:.45rem .7rem;border-radius:var(--r-md);background:#22c55e1a;font-size:.78rem;color:#157347}.metric-grid[data-v-cc427b21]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.4rem}.metric-grid li[data-v-cc427b21]{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem;border-radius:var(--r-md);background:var(--app-surface-alt);border:1px solid transparent}.metric-grid li[data-state=bad][data-v-cc427b21]{background:var(--app-danger-wash);border-color:#d94a4a59}.metric-grid li[data-state=warn][data-v-cc427b21]{background:#eab3081f;border-color:#eab30859}.metric-label[data-v-cc427b21]{font-size:.7rem;font-weight:600;color:var(--app-muted)}.metric-value[data-v-cc427b21]{font-size:.95rem;font-weight:700;color:var(--app-text)}.metric-grid small[data-v-cc427b21]{font-size:.68rem;color:var(--app-muted)}.raw summary[data-v-cc427b21]{font-size:.75rem;font-weight:600;color:var(--app-muted);cursor:pointer}.raw dl[data-v-cc427b21]{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;margin:.4rem 0 0;font-size:.72rem}.raw dt[data-v-cc427b21]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--app-muted)}.raw dd[data-v-cc427b21]{margin:0;color:var(--app-text);word-break:break-all}.review-bar[data-v-f2e4cadc]{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:10002;display:flex;align-items:center;gap:.55rem;max-width:calc(100vw - 2rem);padding:.55rem .6rem .55rem .9rem;border-radius:var(--r-sm);background:#0f172af0;box-shadow:var(--sh-1)}.bar-dot[data-v-f2e4cadc]{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--app-success)}.bar-dot.warn[data-v-f2e4cadc]{background:#eab308}.bar-text[data-v-f2e4cadc]{font-size:.78rem;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-text b[data-v-f2e4cadc]{color:#fff;margin-right:.35rem}.bar-btn[data-v-f2e4cadc]{flex-shrink:0;border:none;border-radius:var(--r-sm);padding:.34rem .75rem;background:#ffffff29;color:#fff;font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.bar-btn[data-v-f2e4cadc]:hover:not(:disabled){background:#ffffff47}.bar-btn[data-v-f2e4cadc]:disabled{opacity:.6;cursor:default}.bar-btn.primary[data-v-f2e4cadc]{background:var(--app-accent)}.bar-btn.primary[data-v-f2e4cadc]:hover:not(:disabled){background:#5570d8}.collapse-button[data-v-f2e4cadc]{flex-shrink:0;padding:.3rem .7rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#fff;font-family:inherit;font-size:.76rem;font-weight:600;color:var(--app-text);cursor:pointer}.collapse-button[data-v-f2e4cadc]:hover{background:var(--app-surface-alt)}.bar-enter-active[data-v-f2e4cadc],.bar-leave-active[data-v-f2e4cadc]{transition:opacity .2s ease,transform .2s ease}.bar-enter-from[data-v-f2e4cadc],.bar-leave-to[data-v-f2e4cadc]{opacity:0;transform:translate(-50%,8px)}.modal-backdrop[data-v-f2e4cadc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10002}.modal-card[data-v-f2e4cadc]{width:min(560px,100%);max-height:calc(100vh - 2rem);overflow:hidden;background:var(--app-surface);border-radius:var(--r-lg);box-shadow:var(--sh-2);display:flex;flex-direction:column}.modal-head[data-v-f2e4cadc]{padding:1.1rem 1.3rem .8rem}.modal-body[data-v-f2e4cadc]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.9rem}.modal-body[data-v-f2e4cadc]::-webkit-scrollbar{width:8px}.modal-body[data-v-f2e4cadc]::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:var(--r-sm)}.modal-body[data-v-f2e4cadc]::-webkit-scrollbar-track{background:transparent}.block.first[data-v-f2e4cadc]{padding-top:0;border-top:none}.preset-row[data-v-f2e4cadc]{display:flex;align-items:center;gap:.35rem}.preset-row select[data-v-f2e4cadc]{width:auto;flex:0 1 8rem;font-size:.78rem;padding:.35rem .45rem}.preset-row input[data-v-f2e4cadc]{flex:1 1 6rem;min-width:0;font-size:.78rem;padding:.35rem .5rem}.options>summary[data-v-f2e4cadc]{font-size:.78rem;font-weight:600;color:var(--app-muted);cursor:pointer;list-style:none}.options>summary[data-v-f2e4cadc]:before{content:"▸ "}.options[open]>summary[data-v-f2e4cadc]:before{content:"▾ "}.options[data-v-f2e4cadc]>*:not(summary){margin-top:.55rem}.modal-head[data-v-f2e4cadc]{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.head-text h2[data-v-f2e4cadc]{margin:0;font-size:1.05rem;font-weight:700;color:var(--app-text)}.head-text .sub[data-v-f2e4cadc]{margin:.15rem 0 0;font-size:.78rem;color:var(--app-muted)}.icon-button[data-v-f2e4cadc]{width:32px;height:32px;flex-shrink:0;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#ffffffe6;font-size:1.05rem;line-height:1;color:var(--app-text);cursor:pointer}.icon-button[data-v-f2e4cadc]:hover{background:var(--app-surface-alt)}.block[data-v-f2e4cadc]{display:flex;flex-direction:column;gap:.45rem;padding-top:.6rem;border-top:1px solid var(--app-border)}.block-head[data-v-f2e4cadc]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.eyebrow[data-v-f2e4cadc]{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--app-muted);text-transform:uppercase}.hint[data-v-f2e4cadc]{margin:0;font-size:.74rem;line-height:1.45;color:var(--app-muted)}.hint.bad[data-v-f2e4cadc]{color:var(--app-danger);font-weight:600}.range-row[data-v-f2e4cadc]{display:flex;gap:.5rem}.field[data-v-f2e4cadc]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--app-text)}.date-trigger[data-v-f2e4cadc]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.45rem .55rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-family:inherit;font-size:.85rem;color:var(--app-text);cursor:pointer}.date-trigger[data-v-f2e4cadc]:hover{background:var(--app-surface-alt)}.date-trigger svg[data-v-f2e4cadc]{flex-shrink:0;color:var(--app-muted)}@media(max-width:520px){.rig-panel[data-v-f2e4cadc]{flex-direction:column;align-items:stretch}.rig-figure[data-v-f2e4cadc]{width:100%}.range-row[data-v-f2e4cadc]{flex-direction:column}}input[type=text][data-v-f2e4cadc],input[type=number][data-v-f2e4cadc],input[type=datetime-local][data-v-f2e4cadc],select[data-v-f2e4cadc]{width:100%;min-width:0;padding:.45rem .55rem;border-radius:var(--r-md);border:1px solid var(--app-border-strong);background:#fff;font-size:.85rem;font-family:inherit;color:var(--app-text)}input[data-v-f2e4cadc]:focus,select[data-v-f2e4cadc]:focus{outline:2px solid rgba(18,19,22,.35);outline-offset:-1px}.rig-panel[data-v-f2e4cadc]{display:flex;gap:.9rem;align-items:center;padding:.7rem .8rem;border-radius:var(--r-md);background:var(--app-surface-alt)}.rig-figure[data-v-f2e4cadc]{width:15rem;max-width:100%;flex-shrink:0;height:auto}.rig-guide line[data-v-f2e4cadc]{stroke:var(--app-primary);stroke-width:2.5;stroke-linecap:round}.rig-guide .rig-heading[data-v-f2e4cadc]{stroke-width:1.6;color:var(--app-primary)}.rig-node circle[data-v-f2e4cadc]{fill:var(--app-primary)}.rig-node text[data-v-f2e4cadc]{fill:var(--app-text);font-size:11px;font-weight:700}.rig-dim line[data-v-f2e4cadc]{stroke:var(--app-muted);stroke-width:.9;opacity:.7}.rig-dim text[data-v-f2e4cadc]{fill:var(--app-muted);font-size:9.5px;font-weight:600}.rig-inputs[data-v-f2e4cadc]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}.rig-inputs label[data-v-f2e4cadc]{display:flex;flex-direction:column;gap:.2rem}.device-rows[data-v-f2e4cadc]{display:flex;flex-direction:column;gap:.35rem}.device-row[data-v-f2e4cadc]{display:flex;align-items:center;gap:.5rem}.role-tag[data-v-f2e4cadc]{width:42px;flex-shrink:0;text-align:center;padding:.25rem 0;border-radius:var(--r-sm);font-size:.75rem;font-weight:700;background:var(--app-surface-alt);color:var(--app-primary)}.role-tag[data-role=center][data-v-f2e4cadc]{background:var(--app-border-strong)}.spec-row[data-v-f2e4cadc]{display:flex;gap:.5rem;flex-wrap:wrap}.spec-row label[data-v-f2e4cadc]{flex:1 1 8rem;min-width:0;display:flex;flex-direction:column;gap:.25rem}.param-title[data-v-f2e4cadc]{display:flex;flex-direction:column;font-size:.78rem;font-weight:600;color:var(--app-text)}.param-title small[data-v-f2e4cadc]{font-size:.68rem;font-weight:500;color:var(--app-muted)}.input-unit[data-v-f2e4cadc]{display:flex;align-items:center;gap:.3rem}.input-unit span[data-v-f2e4cadc]{font-size:.7rem;font-weight:700;color:var(--app-muted)}.input-unit.disabled[data-v-f2e4cadc]{opacity:.45}.mini[data-v-f2e4cadc]{flex-shrink:0;padding:.38rem .6rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#fff;font-size:.75rem;font-weight:600;color:var(--app-text);cursor:pointer}.mini[data-v-f2e4cadc]:hover:not(:disabled){background:var(--app-surface-alt)}.mini[data-v-f2e4cadc]:disabled{opacity:.5;cursor:default}.mini.danger[data-v-f2e4cadc]{color:var(--app-danger);border-color:#d94a4a66}.output-row[data-v-f2e4cadc]{display:flex;align-items:center;gap:.75rem}.output-row .input-unit[data-v-f2e4cadc]{width:8rem}.check[data-v-f2e4cadc]{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--app-text);cursor:pointer}.check input[data-v-f2e4cadc]{width:auto;accent-color:var(--app-primary)}.error-box[data-v-f2e4cadc]{margin:0;padding:.55rem .7rem;border-radius:var(--r-md);background:var(--app-danger-wash);border:1px solid rgba(217,74,74,.3);font-size:.8rem;line-height:1.45;color:#a83232;white-space:pre-wrap}.result-banner[data-v-f2e4cadc]{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .8rem;border-radius:var(--r-md);background:#22c55e1f;border:1px solid rgba(34,197,94,.35)}.result-banner.warn[data-v-f2e4cadc]{background:#eab30824;border-color:#eab30873}.result-banner strong[data-v-f2e4cadc]{font-size:.85rem;color:var(--app-text)}.result-banner span[data-v-f2e4cadc]{font-size:.76rem;color:var(--app-muted)}.result-banner.done[data-v-f2e4cadc]{background:#22c55e1f;border-color:#22c55e59}.review-guide[data-v-f2e4cadc]{margin:0;padding:.6rem .75rem;border-radius:var(--r-md);background:var(--app-surface-alt);font-size:.76rem;line-height:1.55;color:var(--app-muted)}.swatch[data-v-f2e4cadc]{display:inline-flex;align-items:center;gap:.25rem;color:var(--app-text)}.swatch[data-v-f2e4cadc]:before{content:"";width:14px;height:3px;border-radius:var(--r-xs)}.swatch.center[data-v-f2e4cadc]:before{background:var(--app-accent)}.swatch.edge[data-v-f2e4cadc]:before{background:repeating-linear-gradient(90deg,#f59e0b 0 4px,transparent 4px 7px)}.width-row[data-v-f2e4cadc]{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--r-md);background:var(--app-surface-alt)}.width-row .input-unit[data-v-f2e4cadc]{width:7rem}.width-note[data-v-f2e4cadc]{font-size:.73rem;color:var(--app-muted);white-space:nowrap}.modal-actions[data-v-f2e4cadc]{display:flex;gap:.5rem;padding-top:.3rem}.modal-actions.split[data-v-f2e4cadc]>*{flex:1}.pill[data-v-f2e4cadc]{padding:.6rem 1rem;border-radius:var(--r-sm);border:none;background:var(--app-primary);color:#fff;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer}.pill[data-v-f2e4cadc]:hover:not(:disabled){background:var(--app-primary-dark)}.pill[data-v-f2e4cadc]:disabled{opacity:.5;cursor:default}.pill.ghost[data-v-f2e4cadc]{background:#fff;color:var(--app-text);border:1px solid var(--app-border-strong)}.pill.ghost[data-v-f2e4cadc]:hover:not(:disabled){background:var(--app-surface-alt)}.modal-enter-active[data-v-f2e4cadc],.modal-leave-active[data-v-f2e4cadc]{transition:opacity .2s ease}.modal-enter-from[data-v-f2e4cadc],.modal-leave-to[data-v-f2e4cadc]{opacity:0}.shift-bar[data-v-c8cb4f9b]{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:10000;width:min(30rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1rem .9rem;border-radius:var(--r-lg);background:var(--app-bar);box-shadow:var(--sh-2);color:#fff}.head[data-v-c8cb4f9b]{display:flex;align-items:baseline;gap:.5rem}.title[data-v-c8cb4f9b]{font-size:.86rem;font-weight:700}.target[data-v-c8cb4f9b]{flex:1;min-width:0;font-size:.75rem;color:#fff9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close[data-v-c8cb4f9b]{flex-shrink:0;border:none;background:transparent;color:#ffffffb3;font-size:1.1rem;line-height:1;padding:0 .2rem;cursor:pointer}.close[data-v-c8cb4f9b]:hover{color:#fff}.steps[data-v-c8cb4f9b]{list-style:none;margin:0;padding:0;display:flex;gap:.6rem}.steps li[data-v-c8cb4f9b]{display:flex;align-items:center;gap:.32rem;font-size:.72rem;color:#ffffff73}.steps li.active[data-v-c8cb4f9b]{color:#fff}.steps li.done[data-v-c8cb4f9b]{color:#ffffffb3}.dot[data-v-c8cb4f9b]{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.65rem;font-weight:700;background:#ffffff29}.steps li.active .dot[data-v-c8cb4f9b]{background:#f59e0b;color:#1f2937}.steps li.done .dot[data-v-c8cb4f9b]{background:#22c55ed9}.offset-row[data-v-c8cb4f9b]{display:flex;align-items:center;gap:.45rem}.offset-row.disabled[data-v-c8cb4f9b]{opacity:.4}.offset-row input[type=range][data-v-c8cb4f9b]{flex:1;min-width:0;accent-color:#f59e0b}.side[data-v-c8cb4f9b]{flex-shrink:0;border:none;border-radius:var(--r-sm);padding:.25rem .45rem;background:#ffffff24;color:#fff;font-family:inherit;font-size:.7rem;font-weight:600;cursor:pointer}.side[data-v-c8cb4f9b]:hover:not(:disabled){background:#ffffff42}.value[data-v-c8cb4f9b]{flex-shrink:0;display:flex;align-items:center;gap:.2rem}.value input[data-v-c8cb4f9b]{width:4.2rem;padding:.28rem .4rem;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;font-family:inherit;font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums}.value span[data-v-c8cb4f9b]{font-size:.7rem;color:#fff9}.hint[data-v-c8cb4f9b]{margin:0;font-size:.72rem;line-height:1.5;color:#ffffff9e}.hint b[data-v-c8cb4f9b]{color:#fbbf24}.sw[data-v-c8cb4f9b]{display:inline-flex;align-items:center;gap:.22rem}.sw[data-v-c8cb4f9b]:before{content:"";width:12px;height:3px;border-radius:var(--r-xs)}.sw.range[data-v-c8cb4f9b]:before{background:var(--app-success)}.sw.range[data-v-c8cb4f9b]{color:#86efac}.error[data-v-c8cb4f9b]{margin:0;font-size:.74rem;font-weight:600;color:#fca5a5}.warn[data-v-c8cb4f9b]{margin:0;font-size:.74rem;font-weight:600;color:#fbbf24}.check[data-v-c8cb4f9b]{margin:0;font-size:.73rem;line-height:1.45;color:#ffffffbf}.check[data-status=match][data-v-c8cb4f9b]{color:#86efac}.check[data-status=mismatch][data-v-c8cb4f9b]{color:#fca5a5;font-weight:600}.actions[data-v-c8cb4f9b]{display:flex;gap:.4rem}.btn[data-v-c8cb4f9b]{flex:1;border:none;border-radius:var(--r-sm);padding:.42rem .8rem;background:#ffffff29;color:#fff;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.btn[data-v-c8cb4f9b]:hover:not(:disabled){background:#ffffff47}.btn[data-v-c8cb4f9b]:disabled{opacity:.45;cursor:default}.btn.primary[data-v-c8cb4f9b]{background:#f59e0b;color:#1f2937}.btn.primary[data-v-c8cb4f9b]:hover:not(:disabled){background:#fbbf24}.shift-bar-enter-active[data-v-c8cb4f9b],.shift-bar-leave-active[data-v-c8cb4f9b]{transition:opacity .2s ease,transform .2s ease}.shift-bar-enter-from[data-v-c8cb4f9b],.shift-bar-leave-to[data-v-c8cb4f9b]{opacity:0;transform:translate(-50%,10px)}.range-bar[data-v-81066f60]{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:10000;width:min(34rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.55rem;padding:.85rem 1rem .9rem;border-radius:var(--r-md);background:var(--app-bar);box-shadow:var(--sh-2);color:#fff}.head[data-v-81066f60]{display:flex;align-items:baseline;gap:.5rem}.title[data-v-81066f60]{font-size:.86rem;font-weight:700}.target[data-v-81066f60]{flex:1;min-width:0;font-size:.75rem;color:#ffffff94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close[data-v-81066f60]{flex-shrink:0;border:none;background:transparent;color:#ffffffb3;font-size:1.1rem;line-height:1;cursor:pointer}.loading[data-v-81066f60]{margin:0;font-size:.78rem;color:#fff9}.track[data-v-81066f60]{position:relative;height:24px}.track-line[data-v-81066f60],.track-sel[data-v-81066f60]{position:absolute;top:50%;height:4px;border-radius:2px;transform:translateY(-50%);pointer-events:none}.track-line[data-v-81066f60]{left:0;right:0;background:#ffffff29}.track-sel[data-v-81066f60]{background:#ffb020}.handle[data-v-81066f60]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.handle[data-v-81066f60]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--app-bar);box-shadow:0 0 0 1px #ffffff80;cursor:grab}.handle[data-v-81066f60]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--app-bar);cursor:grab}.readout[data-v-81066f60]{display:flex;align-items:baseline;gap:.5rem}.edge[data-v-81066f60]{display:inline-flex;align-items:baseline;gap:.3rem}.edge em[data-v-81066f60]{font-style:normal;font-size:.68rem;color:#ffffff80}.edge b[data-v-81066f60]{font-family:var(--font-mono);font-size:.95rem;font-weight:500;font-variant-numeric:tabular-nums}.mid[data-v-81066f60]{flex:1;text-align:center;font-size:.72rem;color:#ffffff94}.nudge[data-v-81066f60]{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.nudge-gap[data-v-81066f60]{flex:1;min-width:0}.stepper[data-v-81066f60]{display:flex;align-items:center;gap:.35rem}.stepper-label[data-v-81066f60]{font-size:.72rem;color:#ffffff8c}.stepper-btns[data-v-81066f60]{display:flex;border-radius:var(--r-xs);overflow:hidden;background:#ffffff1f}.stepper-btns button[data-v-81066f60]{width:30px;height:27px;border:none;background:transparent;color:#fff;font-family:inherit;font-size:1.05rem;line-height:1;padding:0 0 .1rem;cursor:pointer}.stepper-btns button+button[data-v-81066f60]{border-left:1px solid rgba(255,255,255,.16)}.stepper-btns button[data-v-81066f60]:hover{background:#fff3}.widen[data-v-81066f60]{display:flex;align-items:center;gap:.4rem}.widen-label[data-v-81066f60]{font-size:.71rem;color:#ffffff73}.widen button[data-v-81066f60]{border:1px solid rgba(255,255,255,.18);border-radius:var(--r-xs);padding:.24rem .55rem;background:transparent;color:#ffffffd9;font-family:inherit;font-size:.71rem;font-weight:500;cursor:pointer}.widen button[data-v-81066f60]:hover:not(:disabled){background:#ffffff1f}.widen button[data-v-81066f60]:disabled{opacity:.35;cursor:default}.widen button.empty[data-v-81066f60]{border-style:dashed;color:#ffffff8c}.widen-note[data-v-81066f60]{font-size:.68rem;color:#ffffff6b}.preset[data-v-81066f60]{border:none;border-radius:var(--r-xs);padding:.28rem .6rem;background:#ffffff1f;color:#fff;font-family:inherit;font-size:.73rem;font-weight:600;cursor:pointer}.preset[data-v-81066f60]:hover{background:#ffffff3d}.hint[data-v-81066f60]{margin:0;font-size:.71rem;line-height:1.5;color:#ffffff8c}.sw[data-v-81066f60]{display:inline-flex;align-items:center;gap:.24rem}.sw[data-v-81066f60]:before{content:"";width:13px;height:3px;border-radius:2px}.sw.sel[data-v-81066f60]{color:#ffb020}.sw.sel[data-v-81066f60]:before{background:#ffb020}.sw.rest[data-v-81066f60]{color:#ffffffbf}.sw.rest[data-v-81066f60]:before{background:#ffffffbf;height:2px}.apply-all[data-v-81066f60]{display:flex;align-items:center;gap:.42rem;font-size:.74rem;color:#ffffffc7;cursor:pointer}.apply-all input[data-v-81066f60]{accent-color:#ffb020;cursor:pointer}.error[data-v-81066f60]{margin:0;font-size:.74rem;font-weight:600;color:#fca5a5}.actions[data-v-81066f60]{display:flex;gap:.4rem}.btn[data-v-81066f60]{flex:1;border:none;border-radius:var(--r-sm);padding:.55rem;background:#ffffff24;color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.btn[data-v-81066f60]:hover:not(:disabled){background:#ffffff42}.btn[data-v-81066f60]:disabled{opacity:.45;cursor:default}.btn.primary[data-v-81066f60]{background:#fff;color:var(--app-bar)}.range-bar-enter-active[data-v-81066f60],.range-bar-leave-active[data-v-81066f60]{transition:opacity .2s ease,transform .2s ease}.range-bar-enter-from[data-v-81066f60],.range-bar-leave-to[data-v-81066f60]{opacity:0;transform:translate(-50%,10px)}.modal-backdrop[data-v-fffd5818]{position:fixed;top:0;right:0;bottom:0;left:0;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10001}.modal-card[data-v-fffd5818]{width:min(360px,100%);background:#fff;border-radius:var(--r-lg);padding:1.25rem 1.4rem 1.1rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.75rem}.modal-head h2[data-v-fffd5818]{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text)}.message[data-v-fffd5818]{margin:.2rem 0 .4rem;font-size:.9rem;color:var(--app-muted);line-height:1.5;white-space:pre-line}.modal-actions[data-v-fffd5818]{display:flex;justify-content:flex-end;gap:.5rem}.pill[data-v-fffd5818]{border-radius:var(--r-sm);border:none;padding:.45rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pill.ghost[data-v-fffd5818]{background:var(--app-surface-alt);color:var(--app-text)}.pill.danger[data-v-fffd5818]{background:var(--app-danger);color:#fff}.pill[data-v-fffd5818]:hover{transform:translateY(-1px);box-shadow:var(--sh-1)}.modal-enter-active[data-v-fffd5818],.modal-leave-active[data-v-fffd5818]{transition:opacity .2s ease}.modal-enter-active .modal-card[data-v-fffd5818],.modal-leave-active .modal-card[data-v-fffd5818]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-fffd5818],.modal-leave-to[data-v-fffd5818]{opacity:0}.modal-enter-from .modal-card[data-v-fffd5818],.modal-leave-to .modal-card[data-v-fffd5818]{opacity:0;transform:translateY(16px) scale(.97)}.modal-backdrop[data-v-54989c27]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.modal-card[data-v-54989c27]{width:min(360px,100%);background:#fff;border-radius:var(--r-lg);padding:1.25rem 1.4rem 1.1rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.75rem}.modal-head h2[data-v-54989c27]{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text)}.message[data-v-54989c27]{margin:.1rem 0 .2rem;font-size:.88rem;color:var(--app-muted)}.field[data-v-54989c27]{display:flex;flex-direction:column;gap:.35rem;margin-top:.3rem}.field span[data-v-54989c27]{font-size:.8rem;font-weight:600;color:var(--app-text)}.field input[data-v-54989c27]{border-radius:var(--r-md);border:1px solid var(--app-border-strong);padding:.45rem .7rem;font-size:.9rem;font-weight:500;color:var(--app-text);transition:all .15s ease}.field input[data-v-54989c27]:focus{outline:none;border-color:var(--app-primary);box-shadow:var(--sh-1)}.field input[data-v-54989c27]:disabled{background:var(--app-surface-alt);cursor:not-allowed}.modal-actions[data-v-54989c27]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.pill[data-v-54989c27]{border-radius:var(--r-sm);border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pill.ghost[data-v-54989c27]{background:var(--app-surface-alt);color:var(--app-text)}.pill[data-v-54989c27]:not(.ghost){background:var(--app-primary);color:#fff}.pill[data-v-54989c27]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.pill[data-v-54989c27]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.button-spinner[data-v-54989c27]{display:inline-flex;align-items:center;justify-content:center;animation:spin-54989c27 1s linear infinite}.button-spinner svg[data-v-54989c27]{width:16px;height:16px}@keyframes spin-54989c27{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-enter-active[data-v-54989c27],.modal-leave-active[data-v-54989c27]{transition:opacity .2s ease}.modal-enter-active .modal-card[data-v-54989c27],.modal-leave-active .modal-card[data-v-54989c27]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-54989c27],.modal-leave-to[data-v-54989c27]{opacity:0}.modal-enter-from .modal-card[data-v-54989c27],.modal-leave-to .modal-card[data-v-54989c27]{opacity:0;transform:translateY(16px) scale(.97)}.modal-backdrop[data-v-cc48b76b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.import-modal[data-v-cc48b76b]{width:min(600px,90vw);max-height:85vh;background:#fff;border-radius:var(--r-lg);padding:1.25rem 1.4rem 1.1rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.75rem}.modal-head[data-v-cc48b76b]{display:flex;align-items:center;gap:.5rem;position:relative}.back-button[data-v-cc48b76b]{border:none;background:transparent;color:var(--app-text);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:all .2s ease}.back-button[data-v-cc48b76b]:hover{background:#0f172a0f}.modal-head h2[data-v-cc48b76b]{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text);flex:1;text-align:center}.close-button[data-v-cc48b76b]{border:none;background:transparent;color:var(--app-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:all .2s ease}.close-button[data-v-cc48b76b]:hover{background:#0f172a0f;color:var(--app-text)}.modal-content[data-v-cc48b76b]{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:1rem}.file-upload-section[data-v-cc48b76b]{margin-bottom:1rem}.file-upload-label[data-v-cc48b76b]{display:block;cursor:pointer}.file-input[data-v-cc48b76b]{display:none}.file-upload-area[data-v-cc48b76b]{border:2px dashed var(--app-border-strong);border-radius:var(--r-lg);padding:2rem;text-align:center;transition:all .2s ease;background:#f8fbff}.file-upload-area[data-v-cc48b76b]:hover{border-color:var(--app-primary);background:var(--app-surface-alt)}.file-upload-area.has-file[data-v-cc48b76b]{border-color:var(--app-primary);background:#3b82f614;padding:1rem}.upload-text[data-v-cc48b76b]{margin-top:.75rem}.upload-title[data-v-cc48b76b]{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--app-text)}.upload-hint[data-v-cc48b76b]{margin:0;font-size:.8rem;color:var(--app-muted)}.file-info[data-v-cc48b76b]{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--app-primary)}.file-name[data-v-cc48b76b]{font-size:.9rem;font-weight:600;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn[data-v-cc48b76b]{border:none;background:transparent;color:var(--app-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem;border-radius:var(--r-xs);transition:all .2s ease}.remove-file-btn[data-v-cc48b76b]:hover{background:var(--app-surface-alt);color:var(--app-text)}.error-message[data-v-cc48b76b]{text-align:center;font-size:.85rem;color:var(--app-danger);padding:1rem 0;margin:0}.element-list-container[data-v-cc48b76b]{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.list-header[data-v-cc48b76b]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.list-title[data-v-cc48b76b]{font-size:.85rem;font-weight:600;color:var(--app-text)}.list-actions[data-v-cc48b76b]{display:flex;align-items:center;gap:.5rem}.text-link[data-v-cc48b76b]{border:none;border-radius:var(--r-sm);padding:.2rem .7rem;background:#0d1f4c14;color:var(--app-primary);font-size:.8rem;font-weight:600;cursor:pointer;line-height:1.4;transition:all .2s ease}.text-link[data-v-cc48b76b]:hover{background:#0d1f4c29;box-shadow:var(--sh-1)}.element-sections[data-v-cc48b76b]{display:flex;flex-direction:column;gap:.5rem}.element-section[data-v-cc48b76b]{display:flex;flex-direction:column}.section-header[data-v-cc48b76b]{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border:none;border-radius:var(--r-lg);cursor:pointer;transition:all .2s ease;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--app-text);background:var(--app-accent-soft)}.section-header[data-v-cc48b76b]:disabled{opacity:.5;cursor:not-allowed}.section-header[data-v-cc48b76b]:not(:disabled):hover{filter:brightness(.9)}.section-arrow[data-v-cc48b76b]{flex-shrink:0;transition:transform .2s ease;color:var(--app-muted)}.section-arrow.collapsed[data-v-cc48b76b]{transform:rotate(-90deg)}.section-select-checkbox[data-v-cc48b76b]{margin-right:.25rem;width:12px;height:12px;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.section-select-checkbox[data-v-cc48b76b]:hover{border-color:var(--app-primary)}.section-select-checkbox[data-v-cc48b76b]:checked{border-color:var(--app-primary);background-color:var(--app-primary);position:relative}.section-select-checkbox[data-v-cc48b76b]:checked:before{content:"";position:absolute;width:7px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);top:3px;left:2px}.section-title[data-v-cc48b76b]{flex:1;text-align:left}.section-count[data-v-cc48b76b]{color:var(--app-muted);font-weight:500;font-size:.85rem}.element-list[data-v-cc48b76b]{list-style:none;margin:0;padding:.4rem .5rem;display:flex;flex-direction:column;gap:.4rem}.element-item[data-v-cc48b76b]{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:var(--r-md);cursor:pointer;transition:all .2s ease}.element-item[data-v-cc48b76b]:hover{background:var(--app-surface-alt)}.element-checkbox[data-v-cc48b76b]{width:12px;height:12px;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.element-checkbox[data-v-cc48b76b]:hover{border-color:var(--app-primary)}.element-checkbox[data-v-cc48b76b]:checked{border-color:var(--app-primary);background-color:var(--app-primary);position:relative}.element-checkbox[data-v-cc48b76b]:checked:before{content:"";position:absolute;width:7px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);top:3px;left:2px}.element-name[data-v-cc48b76b]{font-size:.85rem;font-weight:500;color:var(--app-text)}.empty-message[data-v-cc48b76b]{text-align:center;font-size:.85rem;color:var(--app-muted);padding:2rem 0}.modal-actions[data-v-cc48b76b]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;flex-shrink:0}.pill[data-v-cc48b76b]{border-radius:var(--r-sm);border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pill.ghost[data-v-cc48b76b]{background:var(--app-surface-alt);color:var(--app-text)}.pill[data-v-cc48b76b]:not(.ghost){background:var(--app-primary);color:#fff}.pill[data-v-cc48b76b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.pill[data-v-cc48b76b]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.button-spinner[data-v-cc48b76b]{display:inline-flex;align-items:center;justify-content:center;animation:spin-cc48b76b 1s linear infinite}.button-spinner svg[data-v-cc48b76b]{width:16px;height:16px}@keyframes spin-cc48b76b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collapse-enter-active[data-v-cc48b76b]{transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .35s ease;overflow:hidden;will-change:max-height,opacity}.collapse-leave-active[data-v-cc48b76b]{transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease;overflow:hidden;will-change:max-height,opacity}.collapse-enter-from[data-v-cc48b76b],.collapse-leave-to[data-v-cc48b76b]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.collapse-enter-to[data-v-cc48b76b],.collapse-leave-from[data-v-cc48b76b]{opacity:1;max-height:3000px}.modal-enter-active[data-v-cc48b76b],.modal-leave-active[data-v-cc48b76b]{transition:opacity .2s ease}.modal-enter-active .modal-card[data-v-cc48b76b],.modal-leave-active .modal-card[data-v-cc48b76b]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-cc48b76b],.modal-leave-to[data-v-cc48b76b]{opacity:0}.modal-enter-from .modal-card[data-v-cc48b76b],.modal-leave-to .modal-card[data-v-cc48b76b]{opacity:0;transform:translateY(16px) scale(.97)}.modal-backdrop[data-v-df92d3ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#161c146b;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.modal-card[data-v-df92d3ca]{width:min(380px,100%);background:#fff;border-radius:var(--r-lg);padding:1.25rem 1.4rem 1.1rem;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:.75rem}.modal-head h2[data-v-df92d3ca]{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text)}.message[data-v-df92d3ca]{margin:.1rem 0 .4rem;font-size:.88rem;color:var(--app-muted)}.field[data-v-df92d3ca]{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.6rem;margin-top:.3rem}.field-label[data-v-df92d3ca]{font-size:.8rem;font-weight:600;color:var(--app-text);min-width:70px}.field input[data-v-df92d3ca]{width:100%;border-radius:var(--r-md);border:1px solid var(--app-border-strong);padding:.45rem .7rem;font-size:.9rem;font-weight:500;color:var(--app-text);transition:all .15s ease}.field input[data-v-df92d3ca]:focus{outline:none;border-color:var(--app-primary);box-shadow:var(--sh-1)}.field input[data-v-df92d3ca]:disabled{background:var(--app-surface-alt);cursor:not-allowed}.type-row[data-v-df92d3ca]{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.type-pill[data-v-df92d3ca]{border-radius:var(--r-sm);border:1px solid rgba(148,163,184,.7);background:#fff;padding:.28rem .7rem;font-size:.8rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem;width:100%;justify-content:center}.type-pill.active[data-v-df92d3ca]{border-color:var(--app-primary);background:#3b82f614;color:var(--app-primary);box-shadow:var(--sh-1)}.type-pill[data-v-df92d3ca]:disabled{opacity:.6;cursor:not-allowed}.type-icon[data-v-df92d3ca]{font-size:.9rem;line-height:1}.type-label[data-v-df92d3ca]{white-space:nowrap}.modal-actions[data-v-df92d3ca]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.pill[data-v-df92d3ca]{border-radius:var(--r-sm);border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pill.ghost[data-v-df92d3ca]{background:var(--app-surface-alt);color:var(--app-text)}.pill[data-v-df92d3ca]:not(.ghost){background:var(--app-primary);color:#fff}.pill[data-v-df92d3ca]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.pill[data-v-df92d3ca]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.button-spinner[data-v-df92d3ca]{display:inline-flex;align-items:center;justify-content:center;animation:spin-df92d3ca 1s linear infinite}.button-spinner svg[data-v-df92d3ca]{width:16px;height:16px}@keyframes spin-df92d3ca{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-enter-active[data-v-df92d3ca],.modal-leave-active[data-v-df92d3ca]{transition:opacity .2s ease}.modal-enter-active .modal-card[data-v-df92d3ca],.modal-leave-active .modal-card[data-v-df92d3ca]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-df92d3ca],.modal-leave-to[data-v-df92d3ca]{opacity:0}.modal-enter-from .modal-card[data-v-df92d3ca],.modal-leave-to .modal-card[data-v-df92d3ca]{opacity:0;transform:translateY(16px) scale(.97)}.map-controls[data-v-29609ab7]{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;z-index:5;pointer-events:none}.map-controls[data-v-29609ab7]>*{pointer-events:auto}.map-toolbar[data-v-29609ab7]{display:flex;align-items:flex-start;gap:.4rem}.map-style-toggle[data-v-29609ab7]{display:inline-flex;border-radius:var(--r-sm);overflow:hidden;background:var(--app-surface);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1)}.map-style-toggle button[data-v-29609ab7]{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:none;background:transparent;padding:.35rem .85rem;font-weight:600;font-size:.82rem;color:#3b3b55;text-transform:uppercase;letter-spacing:.03em;transition:all .2s ease}.map-style-toggle .drone-locate[data-v-29609ab7]{padding:0 .55rem;border-left:1px solid var(--app-border-strong);align-self:stretch;color:#3b3b55}.map-style-toggle .drone-locate svg[data-v-29609ab7]{display:block}.map-style-toggle button.active[data-v-29609ab7]{background:var(--app-primary);color:#fff}.builder-view[data-v-29609ab7]{min-height:var(--app-view-height);height:var(--app-view-height);padding:1.5rem clamp(.85rem,4vw,1.5rem) 1.5rem;display:flex;justify-content:center;width:100%;box-sizing:border-box;overflow:hidden}.builder-shell[data-v-29609ab7]{width:100%;max-width:none;display:flex;flex-direction:column;gap:1.5rem;height:100%;min-height:0}.builder-layout[data-v-29609ab7]{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;overflow:hidden;height:100%;min-height:0}@media(max-width:1024px){.builder-layout[data-v-29609ab7]{grid-template-columns:1fr;display:flex;flex-direction:column;gap:1rem;height:auto}.builder-view[data-v-29609ab7]{height:auto;min-height:auto;overflow:visible;padding-bottom:0}.builder-shell[data-v-29609ab7]{height:auto;min-height:0}.records-panel[data-v-29609ab7],.workspace[data-v-29609ab7]{height:100vh;max-height:100vh;min-height:100vh}}.records-panel[data-v-29609ab7]{background:var(--app-surface);border-radius:var(--r-lg);border:1px solid var(--app-border-strong);box-shadow:var(--sh-2);padding:1.1rem;display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0;overflow:hidden;position:relative;min-width:300px;max-width:800px}.panel-resizer[data-v-29609ab7]{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:10;background:transparent;transition:background .2s ease}.panel-resizer[data-v-29609ab7]:hover{background:#3b82f633}.panel-resizer[data-v-29609ab7]:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:#3b82f666;border-radius:var(--r-xs);opacity:0;transition:opacity .2s ease}.panel-resizer[data-v-29609ab7]:hover:after{opacity:1}@media(max-width:1024px){.records-panel[data-v-29609ab7]{padding-bottom:1.1rem;width:100%!important;min-width:auto;max-width:none}}[data-v-29609ab7] .panel-section{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}[data-v-29609ab7] .records-content{flex:1;display:flex;flex-direction:column;gap:.35rem;min-height:0;position:relative;overflow:hidden}[data-v-29609ab7] .records-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:0;min-height:0;scrollbar-width:none;-ms-overflow-style:none;position:relative}[data-v-29609ab7] .records-scroll::-webkit-scrollbar{display:none}[data-v-29609ab7] .scroll-hint{position:absolute;bottom:.25rem;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:#0f172ad9;border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);z-index:10;cursor:pointer;transition:all .3s ease;opacity:1;pointer-events:auto}[data-v-29609ab7] .scroll-hint:hover{background:var(--app-bar);transform:translate(-50%) scale(1.1)}[data-v-29609ab7] .scroll-hint svg{width:18px;height:18px}@media(max-width:1024px){[data-v-29609ab7] .scroll-hint{display:none}}[data-v-29609ab7] .add-button-container{margin-top:auto;padding-top:.75rem;flex-shrink:0;flex-grow:0}[data-v-29609ab7] .add-button-row{display:flex;gap:.5rem}[data-v-29609ab7] .add-button-row .add-btn{flex:1;min-width:0}@media(max-width:1024px){.records-panel[data-v-29609ab7]{padding-bottom:1.1rem}[data-v-29609ab7] .records-content{flex:1;min-height:0}[data-v-29609ab7] .add-button-container{padding-bottom:0;margin-top:auto}.mobile-map-jump[data-v-29609ab7]{bottom:1rem;right:1rem}}.mobile-map-jump[data-v-29609ab7]{position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:50%;background:#0f172ae6;border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);z-index:40;transition:all .3s ease;cursor:pointer}.mobile-map-jump[data-v-29609ab7]:hover{background:var(--app-bar);transform:scale(1.05)}.mobile-map-jump svg[data-v-29609ab7]{width:20px;height:20px}@media(min-width:1025px){.mobile-map-jump[data-v-29609ab7]{display:none}}.panel-tabs[data-v-29609ab7]{display:grid;grid-template-columns:repeat(2,1fr);background:#0d1f4c0f;border-radius:var(--r-sm);padding:.2rem}.panel-tabs button[data-v-29609ab7]{border:none;background:transparent;font-size:.9rem;font-weight:600;padding:.55rem .4rem;border-radius:var(--r-sm);color:#0e204199;transition:background .2s,color .2s}.panel-tabs button.active[data-v-29609ab7]{background:#fff;color:var(--app-primary);box-shadow:var(--sh-1)}[data-v-29609ab7] .record-controls{display:flex;flex-direction:column;gap:.8rem}[data-v-29609ab7] .clear-storage-btn{padding:.4rem .6rem;border:none;background:#f1f5f9;border-radius:var(--r-sm);cursor:pointer;font-size:1rem;transition:all .2s ease}[data-v-29609ab7] .clear-storage-btn:hover{background:#e2e8f0}[data-v-29609ab7] .clear-storage-btn.active{background:var(--app-danger);color:#fff}[data-v-29609ab7] .clear-storage-btn.active:hover{background:#dc2626}[data-v-29609ab7] .scroll-shortcuts{display:flex;gap:.4rem;padding:.5rem 0;margin-top:.25rem}[data-v-29609ab7] .shortcut-btn{flex:1;padding:.5rem .75rem;border:1px solid var(--app-border-strong);background:#fff;border-radius:var(--r-sm);font-size:.85rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .2s ease}[data-v-29609ab7] .shortcut-btn:hover:not(:disabled){background:#f8fafc;border-color:var(--app-primary);color:var(--app-primary)}[data-v-29609ab7] .shortcut-btn:disabled{opacity:.4;cursor:not-allowed}[data-v-29609ab7] .search-row{display:flex;align-items:center;gap:.5rem}[data-v-29609ab7] .record-controls input{border-radius:var(--r-lg);border:1px solid var(--app-border-strong);padding:.45rem .75rem;flex:1}[data-v-29609ab7] .divider{border:none;border-top:1px solid var(--app-border);margin:0rem 0}.map-edit-btn[data-v-29609ab7]{min-width:64px;padding:.3rem .75rem;border-radius:var(--r-sm);border:1px solid var(--app-border-strong);background:#ffffffe6;font-size:.8rem;font-weight:500;color:var(--app-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .15s ease}.map-edit-btn[data-v-29609ab7]:hover{border-color:var(--app-surface-alt)}.map-edit-btn.primary[data-v-29609ab7]{background:var(--app-primary);color:#fff;border-color:transparent}.map-edit-btn.ghost[data-v-29609ab7]{background:#f8fafcf2}.compare-panel[data-v-29609ab7]{position:fixed;right:1.25rem;bottom:1.5rem;z-index:10000;width:min(20rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.5rem;padding:.8rem .9rem;border-radius:var(--r-lg);background:var(--app-bar);color:#fff;box-shadow:var(--sh-2)}.compare-head[data-v-29609ab7]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.compare-head strong[data-v-29609ab7]{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-head button[data-v-29609ab7]{flex-shrink:0;border:none;background:transparent;color:#ffffffb3;font-size:1.05rem;line-height:1;cursor:pointer}.compare-stats[data-v-29609ab7]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .6rem}.compare-stats li[data-v-29609ab7]{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;font-size:.74rem;color:#fff9}.compare-stats li b[data-v-29609ab7]{color:#fff;font-variant-numeric:tabular-nums}.compare-stats li.bad b[data-v-29609ab7]{color:#fca5a5}.compare-ok[data-v-29609ab7]{margin:0;font-size:.74rem;color:#86efac}.compare-lead[data-v-29609ab7]{margin:0;font-size:.74rem;color:#fbbf24}.compare-list[data-v-29609ab7]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;max-height:8rem;overflow-y:auto}.compare-list button[data-v-29609ab7]{width:100%;display:flex;justify-content:space-between;gap:.5rem;padding:.28rem .45rem;border:none;border-radius:var(--r-sm);background:#ffffff1a;color:#ffffffd9;font-family:inherit;font-size:.73rem;cursor:pointer}.compare-list button[data-v-29609ab7]:hover{background:#ffffff38}.compare-list b[data-v-29609ab7]{color:#fca5a5;font-variant-numeric:tabular-nums}.undo-toast[data-v-29609ab7]{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:.75rem;padding:.6rem .7rem .6rem 1rem;border-radius:var(--r-sm);background:#0f172aeb;color:#fff;font-size:.82rem;box-shadow:var(--sh-1)}.undo-toast button[data-v-29609ab7]{border:none;background:#ffffff29;color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;padding:.32rem .7rem;border-radius:var(--r-sm);cursor:pointer}.undo-toast button[data-v-29609ab7]:hover:not(:disabled){background:#ffffff47}.undo-toast button[data-v-29609ab7]:disabled{opacity:.6;cursor:default}.undo-toast .undo-close[data-v-29609ab7]{padding:.2rem .5rem;background:transparent;font-size:1rem;line-height:1}.undo-enter-active[data-v-29609ab7],.undo-leave-active[data-v-29609ab7]{transition:opacity .2s ease,transform .2s ease}.undo-enter-from[data-v-29609ab7],.undo-leave-to[data-v-29609ab7]{opacity:0;transform:translate(-50%,8px)}.download-actions[data-v-29609ab7]{display:flex;align-items:center;gap:.4rem}.download-actions .pill[data-v-29609ab7]{border-radius:var(--r-sm);border:none;padding:.35rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.download-actions .pill.ghost[data-v-29609ab7]{background:#0f172a08;color:var(--app-text)}.download-actions .pill[data-v-29609ab7]:not(.ghost){background:var(--app-primary);color:#fff}.download-actions .pill[data-v-29609ab7]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.download-actions .pill[data-v-29609ab7]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.text-link[data-v-29609ab7]{border:none;border-radius:var(--r-sm);padding:.2rem .7rem;background:#0d1f4c14;color:var(--app-primary);font-size:.8rem;font-weight:600;cursor:pointer;line-height:1.4;transition:all .2s ease}.text-link[data-v-29609ab7]:hover{background:#0d1f4c29;box-shadow:var(--sh-1)}.section-select-checkbox[data-v-29609ab7]{margin-right:.5rem;width:12px;height:12px;border-radius:var(--r-xs);border:1px solid var(--app-border-strong);background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.section-select-checkbox[data-v-29609ab7]:hover{border-color:var(--app-primary)}.section-select-checkbox[data-v-29609ab7]:checked{border-color:var(--app-primary);background-color:var(--app-primary);position:relative}.section-select-checkbox[data-v-29609ab7]:checked:before{content:"";position:absolute;width:7px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);top:3px;left:2px}.merge-actions .pill[data-v-29609ab7]{border-radius:var(--r-sm);border:none;padding:.4rem .9rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.merge-actions .pill.ghost[data-v-29609ab7]{background:var(--app-surface-alt);color:var(--app-text)}.merge-actions .pill[data-v-29609ab7]:not(.ghost){background:var(--app-primary);color:#fff}.merge-actions .pill[data-v-29609ab7]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.merge-actions .pill[data-v-29609ab7]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.section-arrow[data-v-29609ab7]{flex-shrink:0;transition:transform .2s ease;color:var(--app-muted)}.section-arrow.collapsed[data-v-29609ab7]{transform:rotate(-90deg)}.section-visualize-btn[data-v-29609ab7]{width:28px;height:28px;border-radius:var(--r-xs);border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--app-muted);transition:all .2s ease;flex-shrink:0;opacity:.7;cursor:pointer;margin-left:auto}.section-visualize-btn[data-v-29609ab7]:hover{opacity:1;color:var(--app-primary);background:var(--app-surface-alt)}.section-visualize-btn.active[data-v-29609ab7]{opacity:1;color:var(--app-primary)}.collapse-enter-active[data-v-29609ab7]{transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .35s ease;overflow:hidden;will-change:max-height,opacity}.collapse-leave-active[data-v-29609ab7]{transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease;overflow:hidden;will-change:max-height,opacity}.collapse-enter-from[data-v-29609ab7],.collapse-leave-to[data-v-29609ab7]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.collapse-enter-to[data-v-29609ab7],.collapse-leave-from[data-v-29609ab7]{opacity:1;max-height:3000px}[data-v-29609ab7] .record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;flex:1 0 auto}[data-v-29609ab7] .record-list.elements{gap:.4rem;padding-top:.4rem;padding-bottom:.4rem}[data-v-29609ab7] .empty{text-align:center;font-size:.85rem;color:var(--app-muted)}[data-v-29609ab7] .add-btn{border:none;width:100%;border-radius:var(--r-lg);padding:.65rem;background:var(--app-primary);color:#fff;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}[data-v-29609ab7] .add-btn.ghost{background:#0d1f4c14;color:var(--app-primary)}[data-v-29609ab7] .add-btn.danger{background:var(--app-danger);color:#fff}[data-v-29609ab7] .add-btn.danger:hover:not(:disabled){background:var(--app-danger)}[data-v-29609ab7] .add-btn.danger:disabled{opacity:.5;cursor:not-allowed}.workspace[data-v-29609ab7]{border-radius:var(--r-lg);border:none;background:transparent;box-shadow:none;padding:0;min-width:0;overflow:hidden;height:100%}.map-preview[data-v-29609ab7]{border-radius:var(--r-lg);background:var(--app-surface-alt);min-height:360px;height:100%;position:relative;overflow:hidden;box-shadow:var(--sh-2);display:flex}@media(max-width:1024px){.map-preview[data-v-29609ab7]{min-height:0;height:100%;max-height:100%}}[data-v-29609ab7] .map-preview .realtime-map{height:100%;flex:1;border-radius:inherit}.map-placeholder[data-v-29609ab7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1rem;text-align:center;background:#12131675;color:#fff}.map-placeholder small[data-v-29609ab7]{color:#ffffffd9}.element-drawing-buttons-vertical[data-v-29609ab7]{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.35rem;background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:var(--r-lg);padding:.4rem;box-shadow:var(--sh-1);z-index:10}.draw-btn-vertical[data-v-29609ab7]{width:40px;height:40px;border:none;border-radius:var(--r-md);background:transparent;color:var(--app-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.element-drawing-buttons-vertical:not(.is-edit-mode) .draw-btn-vertical[data-v-29609ab7]:hover:not(:disabled){background:#3b82f614}.draw-btn-vertical[data-v-29609ab7]:disabled{opacity:.4;cursor:not-allowed}.draw-btn-vertical.active[data-v-29609ab7]{background:var(--app-primary);color:#fff;box-shadow:var(--sh-1)}.draw-btn-vertical svg[data-v-29609ab7]{width:18px;height:18px}.map-edit-inline-actions[data-v-29609ab7]{display:flex;flex-direction:column;gap:.7rem;margin-top:.4rem}.map-edit-mode-label[data-v-29609ab7]{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--app-warn);white-space:nowrap}.map-edit-inline-actions .map-edit-btn[data-v-29609ab7]{min-width:0;width:40px;font-size:.72rem;padding:.3rem .4rem;border-radius:var(--r-sm)}.drawing-name-box[data-v-29609ab7]{position:absolute;top:calc(1rem + 200px);right:1rem;background:var(--app-surface);z-index:9;border:1px solid var(--app-border-strong);border-radius:var(--r-lg);padding:.85rem 1rem;box-shadow:var(--sh-1);z-index:5;display:flex;flex-direction:column;gap:.6rem;min-width:240px}.drawing-name-input[data-v-29609ab7]{border:1px solid var(--app-border-strong);border-radius:var(--r-md);padding:.5rem .7rem;font-size:.9rem;font-weight:500;color:var(--app-text);transition:all .15s ease;outline:none}.drawing-name-input[data-v-29609ab7]:focus{border-color:var(--app-primary);box-shadow:var(--sh-1)}.drawing-name-actions[data-v-29609ab7]{display:flex;gap:.5rem}.drawing-btn[data-v-29609ab7]{flex:1;border:none;border-radius:var(--r-md);padding:.45rem .8rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.drawing-btn.cancel[data-v-29609ab7]{background:#0f172a0f;color:var(--app-text)}.drawing-btn.cancel[data-v-29609ab7]:hover{background:var(--app-border-strong)}.drawing-btn.save[data-v-29609ab7]{background:var(--app-primary);color:#fff}.drawing-btn.save[data-v-29609ab7]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-1)}.drawing-btn.save[data-v-29609ab7]:disabled{opacity:.5;cursor:not-allowed}.header-center-row[data-v-29609ab7]{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%}@media(max-width:640px){.header-center-row[data-v-29609ab7]{flex-direction:column;align-items:stretch}}.date-select[data-v-29609ab7],.golf-course-select[data-v-29609ab7]{position:relative}.date-select.head[data-v-29609ab7],.golf-course-select.head[data-v-29609ab7]{flex:1;min-width:0;max-width:360px}.date-select.head .chip[data-v-29609ab7],.golf-course-select.head .chip[data-v-29609ab7]{width:100%;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.date-select.head .chip[data-v-29609ab7]:hover,.golf-course-select.head .chip[data-v-29609ab7]:hover{background:#12131642;transform:translateY(-1px);box-shadow:var(--sh-1)}.date-select.head .chip[data-v-29609ab7]:active,.golf-course-select.head .chip[data-v-29609ab7]:active{transform:translateY(0);box-shadow:var(--sh-1)}.golf-course-select.head .chip.active[data-v-29609ab7]{background:#12131652}.custom-select-wrapper[data-v-29609ab7]{position:relative;width:100%}.custom-dropdown[data-v-29609ab7]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:var(--r-lg);border:1px solid var(--app-border-strong);box-shadow:var(--sh-1);z-index:10000;overflow:hidden;max-height:200px;overflow-y:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dropdown-option[data-v-29609ab7]{width:100%;padding:.75rem 1rem;border:none;background:transparent;font-size:.92rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-option[data-v-29609ab7]:hover{background:var(--app-accent-soft);color:var(--app-primary)}.dropdown-option.active[data-v-29609ab7]{background:var(--app-accent-soft);color:var(--app-primary);font-weight:600}.dropdown-enter-active[data-v-29609ab7],.dropdown-leave-active[data-v-29609ab7]{transition:opacity .2s ease,transform .2s ease}.dropdown-enter-from[data-v-29609ab7],.dropdown-leave-to[data-v-29609ab7]{opacity:0;transform:translateY(-8px)}.chip[data-v-29609ab7]{border-radius:var(--r-sm);border:1px solid var(--app-border-strong);padding:.5rem 1rem;background:var(--app-surface-alt);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:var(--font-body);width:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--sh-1)}.chip.prominent[data-v-29609ab7]{font-size:.92rem;color:var(--app-primary);letter-spacing:.01em}:root{--font-title: "Pretendard Variable", "IBM Plex Sans KR", "Spoqa Han Sans Neo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: var(--font-title);--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-body);line-height:1.5;font-weight:400;color:#161914;--app-background: #f5f4ef;--app-surface: #ffffff;--app-surface-alt: #efeee7;--app-surface-deep: #e6e5dc;--app-border: rgba(26, 30, 24, .09);--app-border-strong: rgba(26, 30, 24, .15);--app-text: #161914;--app-text-soft: #3f443c;--app-muted: #6b7065;--app-faint: #979b91;--app-primary: #14402d;--app-primary-dark: #0f3323;--app-on-primary: #ffffff;--app-accent: #246b4c;--app-accent-soft: rgba(36, 107, 76, .1);--app-danger: #9d3325;--app-danger-wash: #fdf4f2;--app-danger-line: rgba(157, 51, 37, .22);--app-warn: #8a5a0b;--app-warn-wash: #fbf7ec;--app-warn-line: rgba(138, 90, 11, .22);--app-success: #1f7a55;--app-success-wash: #eff5f1;--app-bar: #15201a;--r-xs: 5px;--r-sm: 7px;--r-md: 10px;--r-lg: 14px;--sh-1: 0 1px 1px rgba(22, 28, 20, .04), 0 1px 3px rgba(22, 28, 20, .05);--sh-2: 0 1px 1px rgba(22, 28, 20, .03), 0 6px 12px -4px rgba(22, 28, 20, .1), 0 18px 36px -10px rgba(22, 28, 20, .17);--hi: inset 0 1px 0 rgba(255, 255, 255, .9);--app-view-height: 100vh}@supports (height: 100svh){:root{--app-view-height: 100svh}}@supports (height: 100dvh){:root{--app-view-height: 100dvh}}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;min-height:100%}body{margin:0;min-height:var(--app-view-height);font-family:var(--font-body);color:var(--app-text);word-break:keep-all;background:linear-gradient(180deg,#fbfaf6 0%,var(--app-background) 46%);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,rgba(26,30,24,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(26,30,24,.045) 1px,transparent 1px),linear-gradient(to right,rgba(26,30,24,.075) 1px,transparent 1px),linear-gradient(to bottom,rgba(26,30,24,.075) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;-webkit-mask-image:radial-gradient(ellipse 100% 90% at 50% 30%,#000 10%,transparent 88%);mask-image:radial-gradient(ellipse 100% 90% at 50% 30%,#000 10%,transparent 88%)}#app{position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);letter-spacing:-.018em}#app{min-height:var(--app-view-height)}button,input,select,textarea{font:inherit;color:inherit}button{border:none;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}input[type=number],.mono,[data-mono]{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px;border-radius:var(--r-xs)}fieldset,legend{border:none;margin:0;padding:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
