:root{--scene-accent:#38baff;--scene-accent-rgb:56,186,255}
#scene-web-pois{position:fixed;inset:0;pointer-events:none;z-index:80000;overflow:hidden}
#scene-web-pois .scene-web-poi{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;max-width:280px;border:1px solid var(--poi-color,#38baff);border-radius:6px;background:var(--poi-bg,#151d28);color:var(--poi-color,#38baff);font:13px/1.5 'Microsoft YaHei',sans-serif;padding:8px 12px;cursor:pointer;pointer-events:auto;box-shadow:0 5px 18px #0007;white-space:nowrap}
#scene-web-pois .scene-web-poi[hidden]{display:none}#scene-web-pois .scene-web-poi:after{content:'';position:absolute;top:100%;left:50%;height:12px;border-left:1px solid var(--poi-color)}
#scene-web-pois .scene-web-poi-icon{font:18px/1 Consolas,monospace}#scene-web-pois .scene-web-poi-label .scene-web-poi-icon{display:none}#scene-web-pois .scene-web-poi-dot{padding:0;width:18px;height:18px;border-radius:50%;background:var(--poi-color)}#scene-web-pois .scene-web-poi-dot span{display:none}
#scene-web-pois .scene-web-poi:hover{filter:brightness(1.25)}#scene-web-pois .scene-web-poi[aria-pressed=true]{outline:1px solid var(--poi-color);outline-offset:4px;box-shadow:0 0 20px rgba(var(--scene-accent-rgb),.3)}
#scene-web-pois .scene-web-poi-draft{border-style:dashed;pointer-events:none;opacity:.86}#scene-web-pois .scene-web-poi-unconfigured{border-style:dashed}.scene-web-picking{cursor:crosshair!important}
/* Graphite surfaces and a restrained accent keep controls distinct from the scene. */
.dq-panel{position:relative;--accent:var(--scene-accent);--ink:#edf2f8;--muted:#9da9b9;--line:#303946;font:12px/1.6 'Segoe UI','Microsoft YaHei',sans-serif;background:#141a23f7;border-radius:10px}
.dq-panel h2{font-size:19px;letter-spacing:.5px;font-weight:600;margin:7px 0 4px}.dq-panel-head{padding:16px 14px 0}.dq-eyebrow{font-size:9px;letter-spacing:1.6px;color:#ced7e3}.dq-eyebrow>span:last-child{font-size:8px;letter-spacing:.5px}.dq-live-dot{width:6px;height:6px;box-shadow:0 0 9px var(--accent)}
.dq-connection{font-size:10px;line-height:1.6;min-height:32px;max-height:34px;overflow:hidden;color:var(--muted)}.dq-tabs{gap:0;margin-top:8px}.dq-panel .dq-tabs button{font-size:12px;padding:9px 3px}.dq-panel .dq-tabs button[aria-pressed=true]{background:transparent}
.dq-panel-body{padding:16px 14px}.dq-panel button{background:#222b37;border-color:#394555;color:var(--ink);border-radius:6px;padding:8px 10px;font-size:12px}.dq-panel button:hover{background:#2b3747;border-color:var(--accent)}.dq-panel button:disabled{opacity:.4}.dq-panel button[aria-pressed=true]{background:rgba(var(--scene-accent-rgb),.13);color:var(--accent);border-color:var(--accent)}
.dq-panel input,.dq-panel select,.dq-panel textarea{font-size:12px;background:#10151d;border-color:#35404e;color:var(--ink);border-radius:5px;margin-top:5px;padding:7px 9px}.dq-panel input:not([type=checkbox]):not([type=range]):not([type=color]),.dq-panel select{height:33px}.dq-panel input::placeholder{color:#718094}.dq-panel label{font-size:11px;color:#adb7c5}.dq-panel input[type=color]{height:32px;padding:3px}.dq-panel input[type=checkbox]{accent-color:var(--accent)}
.dq-panel .dq-note{font-size:10px;line-height:1.7;margin:7px 0;color:var(--muted)}.dq-panel .dq-section-heading{margin-bottom:12px}.dq-panel .dq-section-heading h3{font-size:12px}.dq-panel .dq-feedback{font-size:11px;line-height:1.6;color:var(--accent);margin:7px 0}.dq-panel-foot{padding:10px 14px;font-size:9px;gap:4px}
.dq-panel .dq-inline-check{display:flex;align-items:center;gap:7px;margin:10px 0}.dq-panel .dq-inline-check input{width:auto;margin:0}.dq-panel .dq-local-hint{padding:12px;background:#1c2531;border:1px solid var(--line);border-radius:6px;color:#b6c2d1;font-size:11px}.dq-panel .dq-poi-link{display:inline-block;margin-top:8px;color:var(--accent)}
.dq-panel .dq-weather-grid button,.dq-panel .dq-auto-row>button,.dq-empty{background:#1a2330}.dq-panel .dq-weather-grid button[aria-pressed=true]{background:rgba(var(--scene-accent-rgb),.13);color:var(--accent);box-shadow:none}.dq-panel .dq-weather-grid button[aria-pressed=true] svg{color:var(--accent)}.dq-empty{border-color:var(--line)}
/* B layout: independent object list and properties, fixed footer actions. */
#dq-live-panel{top:66px;left:16px;bottom:54px;width:318px;overflow:visible;border:1px solid #394757;border-radius:10px;background:#141a23f7;box-shadow:0 16px 42px #0006}#dq-live-panel[data-active-pane=pois]{width:228px}
.dq-panel[data-active-pane=pois] .dq-panel-body{overflow:visible;display:flex;flex-direction:column;padding:12px;min-height:0}.dq-panel[data-active-pane=pois] [data-pane=pois]{display:flex;flex-direction:column;flex:1;min-height:0}.dq-panel[data-active-pane=pois] .dq-panel-foot>span:first-child{white-space:nowrap;font-size:8px}
.dq-panel [name=poi-search]{margin:0 0 8px}.dq-panel [name=poi-filter]{margin:0 0 12px;font-size:11px}
.dq-poi-create-area{flex:none;margin:0 0 14px}.dq-panel .dq-poi-create{width:100%;display:flex;align-items:center;gap:8px;padding:11px 8px;background:rgba(var(--scene-accent-rgb),.13);border:1px dashed var(--accent);color:var(--accent);text-align:left;touch-action:none;user-select:none;cursor:grab}
.dq-poi-create b{font:25px/1 Consolas;font-weight:300}.dq-poi-create span{flex:1;font-size:12px;font-weight:600}.dq-poi-create small{display:block;font-size:9px;font-weight:400;margin-top:4px;color:#b3c3d5}.dq-poi-create i{font-style:normal;font-size:20px;color:var(--accent)}.dq-panel .dq-poi-create:hover{background:rgba(var(--scene-accent-rgb),.24);box-shadow:0 0 18px rgba(var(--scene-accent-rgb),.1)}.dq-panel .dq-poi-create:active{cursor:grabbing}.dq-panel .dq-poi-create-area .dq-note{font-size:9px;margin:5px 0 0}
.dq-poi-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#4c5f75 transparent}.dq-panel .dq-poi-list>button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid transparent;padding:11px 9px;margin:2px 0;color:#d3dce9}.dq-poi-list>button i{font:20px Consolas;color:var(--accent)}.dq-poi-list>button>span{min-width:0;flex:1}.dq-poi-list>button>span>span{display:block;overflow-wrap:anywhere;font-size:12px}.dq-poi-list small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.dq-panel .dq-poi-list>button[aria-pressed=true]{background:rgba(var(--scene-accent-rgb),.1);border-color:rgba(var(--scene-accent-rgb),.35);box-shadow:inset 3px 0 var(--accent);color:#f1f7ff}.dq-poi-empty{font-size:11px;line-height:1.9;color:var(--muted);padding:22px 7px}
.dq-poi-property{position:absolute;top:0;bottom:0;left:calc(100% + 12px);width:292px;display:flex;flex-direction:column;border:1px solid #394757;background:#181f29fa;border-radius:10px;box-shadow:0 16px 42px #0006;pointer-events:auto}
.dq-property-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:14px 16px;border-bottom:1px solid var(--line);flex:none}.dq-property-head h3{font-size:14px;font-weight:600;letter-spacing:0}.dq-property-head span{font-size:10px;color:var(--muted)}
.dq-property-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 12px;flex:none}.dq-panel .dq-property-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;padding:11px 4px;background:none;color:var(--muted);font-size:12px}.dq-panel .dq-property-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}
.dq-poi-form{flex:1;min-height:0;overflow:auto;padding:14px 16px;scrollbar-width:thin;scrollbar-color:#4c5f75 transparent}.dq-poi-form [data-property-pane]>label{margin-bottom:12px}.dq-poi-form .dq-grid{gap:10px}.dq-poi-form .dq-grid>label{margin-bottom:12px}.dq-panel .dq-flow{font-size:10px;margin:0 0 12px;color:#adbccc}.dq-coordinate-summary{font-size:12px;margin-bottom:8px}.dq-coordinate-summary span{float:right;color:var(--muted)}.dq-poi-form .dq-coordinates button{align-self:end;height:33px;padding:3px;font-size:11px}
.dq-view-setup{padding:12px;border:1px solid rgba(var(--scene-accent-rgb),.38);border-radius:8px;background:rgba(var(--scene-accent-rgb),.05);margin-top:3px}.dq-field-caption{display:block;font-size:10px;color:var(--muted);margin-bottom:8px;letter-spacing:1px}.dq-panel .dq-record-view{width:100%;font-size:14px;font-weight:600;letter-spacing:.4px;min-height:38px;background:var(--accent);color:#061824;border-color:var(--accent);box-shadow:0 4px 14px rgba(var(--scene-accent-rgb),.15)}.dq-panel .dq-record-view:hover{filter:brightness(1.1);background:var(--accent)}.dq-view-finish{display:flex;gap:8px;margin-top:8px}.dq-panel .dq-view-finish button{flex:1;background:transparent;padding:6px 4px;font-size:10px;color:#b8c5d5}.dq-setting-view .dq-view-setup{border-color:var(--accent)}
.dq-poi-actions{padding:12px 14px;border-top:1px solid var(--line);background:#1b2430;flex:none;border-radius:0 0 10px 10px}.dq-draft-state{display:flex;align-items:center;justify-content:space-between;min-height:18px;font-size:10px;color:#80d9c1}.dq-panel .dq-draft-state button{font-size:9px;padding:0;border:0;background:none;color:var(--muted)}.dq-panel .dq-poi-actions .dq-feedback{font-size:10px;min-height:32px;max-height:48px;overflow:auto;margin:4px 0 10px;color:#a9b9cc}
.dq-poi-action-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.dq-panel .dq-poi-action-row button{font-size:11px;white-space:nowrap;padding:8px 3px}.dq-panel .dq-poi-action-row .dq-primary{font-weight:500;background:#28394c;color:#dcecff;border-color:#526e8d}.dq-poi-secondary{display:flex;gap:14px;align-items:center;margin-top:12px}.dq-panel .dq-poi-secondary button{font-size:10px;padding:0;border:0;background:none;color:#a9bacd}.dq-panel .dq-poi-secondary [data-poi-remove]{margin-left:auto;color:#e69b9c}
.dq-theme-bar{display:flex;align-items:center;gap:9px;padding:12px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);flex:none}.dq-panel .dq-theme-bar button[data-theme]{background:var(--swatch);width:17px;height:17px;min-width:17px;padding:0;border-radius:50%;border:2px solid #141a23;box-shadow:0 0 0 1px #48586b}.dq-panel .dq-theme-bar button[data-theme][aria-pressed=true]{box-shadow:0 0 0 2px #e6f2ff}.dq-panel .dq-theme-bar input{width:19px;height:21px;margin:0;padding:0;border:0;background:none}.dq-panel .dq-theme-bar [data-theme-glow]{margin-left:auto;padding:4px 6px;font-size:10px;white-space:nowrap;background:transparent;color:var(--accent)}
.dq-backup-bar{display:flex;gap:8px;padding:0 12px 12px;flex:none}.dq-panel .dq-backup-bar button{flex:1;padding:7px 2px;font-size:10px;white-space:nowrap;background:transparent}.dq-drag-ghost{position:fixed;top:0;left:0;z-index:100100;pointer-events:none;background:#182837f5;color:var(--scene-accent);border:1px solid var(--scene-accent);border-radius:7px;padding:12px 16px;font:13px 'Microsoft YaHei',sans-serif;box-shadow:0 6px 24px #0008,0 0 16px rgba(var(--scene-accent-rgb),.2)}
/* Independent SVG strokes follow the real panel edges above their backgrounds. */
.dq-flow-border{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:8;border-radius:inherit}.dq-flow-border rect{fill:none;stroke-linecap:round;stroke:var(--scene-accent);stroke-width:1.5;animation:dq-flow-run 5s linear infinite;filter:drop-shadow(0 0 3px var(--scene-accent))}.dq-flow-border .dq-flow-head{stroke:#e5f6ff;stroke-width:2;filter:drop-shadow(0 0 5px var(--scene-accent))}.dq-poi-property>.dq-flow-border rect{animation-delay:-2s}@keyframes dq-flow-run{to{stroke-dashoffset:-100}}[data-scene-glow=false] .dq-flow-border{display:none}
#controls{position:relative;z-index:90001;overflow:visible}#controls[data-active-pane=pois]{width:228px}body:has(#controls[data-active-pane=pois]) main{grid-template-columns:228px minmax(0,1fr)}#controls .dq-poi-property{top:10px;bottom:10px;left:calc(100% + 12px)}#dq-toolbar{background:#171f2a!important;border-color:#3a4b60!important}#dq-toolbar button{color:#d3e2f2!important;border-color:#4b6582!important}#dq-panel-toggle{background:#1b2634;border-color:#4b6582;color:#dce9f7}
@media(max-height:820px){.dq-panel-head{padding-top:11px}.dq-panel h2{font-size:17px;margin:5px 0}.dq-connection{min-height:16px;max-height:30px}.dq-panel-foot{display:none}.dq-poi-form{padding:10px 14px}.dq-poi-form [data-property-pane]>label,.dq-poi-form .dq-grid>label{margin-bottom:9px}.dq-panel .dq-flow{margin-bottom:8px}.dq-view-setup{padding:10px}.dq-panel .dq-poi-actions .dq-feedback{min-height:0;max-height:32px}.dq-poi-actions{padding-top:9px;padding-bottom:10px}.dq-panel .dq-note{margin:5px 0}}
@media(max-width:800px){#dq-live-panel[data-active-pane=pois]{width:190px;left:8px;top:60px;bottom:52px}.dq-panel-head{padding-left:10px;padding-right:10px}.dq-panel[data-active-pane=pois] .dq-panel-body{padding:10px}.dq-eyebrow>span:last-child{display:none}.dq-poi-property{width:264px;left:calc(100% + 8px)}.dq-poi-create span{font-size:11px}.dq-poi-create small{font-size:8px}.dq-theme-bar{gap:8px;padding:10px}.dq-theme-bar>span{display:none}.dq-backup-bar{padding-left:8px;padding-right:8px}.dq-panel .dq-backup-bar button{font-size:9px}}
@media(max-width:520px){#dq-live-panel[data-active-pane=pois]{width:140px}.dq-poi-property{width:calc(100vw - 166px);left:calc(100% + 6px)}.dq-panel .dq-tabs button{font-size:10px}.dq-tabs [data-view-count]{display:none}.dq-panel .dq-poi-create{padding:10px 5px;gap:3px}.dq-poi-create i,.dq-poi-create small,.dq-poi-create-area .dq-note{display:none}.dq-poi-property .dq-grid{grid-template-columns:1fr}.dq-theme-bar{flex-wrap:wrap}.dq-panel .dq-theme-bar [data-theme-glow]{margin-left:0}.dq-poi-form{padding:10px}.dq-poi-actions{padding:9px}.dq-poi-action-row{grid-template-columns:1fr 1fr}.dq-poi-action-row [data-poi-save]{grid-column:1/-1}.dq-panel .dq-backup-bar{flex-direction:column}.dq-poi-list>button>span>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.dq-flow-border rect{animation:none}.dq-panel button{transition:none}}
.dq-poi-actions>.dq-record-view{margin-bottom:10px}.dq-view-setup .dq-view-finish{margin-top:0}

:root{--dq-ink:#edf2f8;--dq-muted:#9da9b9;--dq-green:var(--scene-accent);--dq-bg:#141a23}
.dq-load-copy h1{font-family:'Segoe UI','Microsoft YaHei',sans-serif;font-weight:500;letter-spacing:.03em}.dq-load-header,.dq-load-footer,.dq-map-caption{border-color:#3a4758}.dq-map-caption,.dq-load-steps{color:#96a9bf}#dq-loading-progress,#dq-loading-progress::-webkit-progress-bar{background:#2e3d50}.dq-load-map svg [stroke]:not([stroke=none]){stroke:var(--scene-accent)}.dq-load-map svg text,.dq-load-map svg circle[fill]{fill:var(--scene-accent)}#dq-loading button{border-color:#526e8d}
.dq-action-presets{margin:12px 0}.dq-panel .dq-action-presets button{font-size:11px;padding:7px 3px}.dq-panel [name=poi-actions]{font:11px/1.65 Consolas,monospace;min-height:220px;resize:vertical}.dq-panel [data-poi-full-id]{overflow-wrap:anywhere;user-select:all}.dq-capture [data-selected-view]{color:var(--accent)}
/* Glass editor: the model remains visible behind the toolbar and panels. */
#dq-toolbar{background:linear-gradient(100deg,rgba(5,27,44,.84),rgba(7,34,51,.48),rgba(5,27,44,.8))!important;backdrop-filter:blur(12px);border-color:rgba(var(--scene-accent-rgb),.3)!important;box-shadow:0 8px 28px #00101f40;padding-left:22px!important}#dq-toolbar strong{font-weight:500!important;letter-spacing:2px!important;color:#d9f1ff}#dq-toolbar small{color:#97b8ce!important;font-size:10px!important}#dq-toolbar button{border-color:rgba(var(--scene-accent-rgb),.28)!important;border-radius:4px;background:rgba(22,77,105,.2)!important;padding:6px 12px!important;font-size:11px!important}#dq-toolbar #dq-status{color:var(--scene-accent);font-size:10px}.dq-dashboard-link{color:var(--scene-accent);font-size:11px;margin-right:14px;text-decoration:none}.dq-dashboard-link:hover{color:#dbf8ff}
#dq-live-panel,.dq-poi-property{background:linear-gradient(135deg,rgba(9,34,53,.92),rgba(5,22,37,.85));backdrop-filter:blur(12px);border-color:rgba(var(--scene-accent-rgb),.28);border-radius:9px;box-shadow:0 16px 40px #00101b66}#dq-live-panel{top:72px;bottom:55px}.dq-panel{--muted:#8faabe;--line:rgba(100,160,192,.2)}.dq-panel-head{background:linear-gradient(120deg,rgba(var(--scene-accent-rgb),.08),transparent);border-radius:9px 9px 0 0}.dq-panel h2{font-size:18px;letter-spacing:2px;font-weight:500}.dq-panel .dq-eyebrow{color:#9ac2db}.dq-panel .dq-connection{font-size:10px;color:#93b4ca}.dq-panel .dq-tabs button[aria-pressed=true]{box-shadow:inset 0 -2px var(--scene-accent);background:linear-gradient(0deg,rgba(var(--scene-accent-rgb),.12),transparent)}.dq-panel button{transition:background .18s,border-color .18s,box-shadow .18s;background:rgba(29,70,95,.24);border-color:#48718b55}.dq-panel button:hover{background:rgba(var(--scene-accent-rgb),.15);box-shadow:0 0 12px rgba(var(--scene-accent-rgb),.06)}.dq-panel input,.dq-panel select,.dq-panel textarea{background:rgba(4,18,31,.7);border-color:#4f789455}.dq-panel select option{background:#10283b}.dq-panel label{color:#a3bed0}.dq-property-head{background:rgba(var(--scene-accent-rgb),.05)}.dq-poi-actions{background:rgba(7,28,46,.9)}.dq-panel .dq-poi-actions>.dq-record-view{background:linear-gradient(100deg,rgba(var(--scene-accent-rgb),.26),rgba(var(--scene-accent-rgb),.1));border-color:rgba(var(--scene-accent-rgb),.6);box-shadow:inset 0 1px rgba(255,255,255,.08);letter-spacing:1px}.dq-panel .dq-poi-create{border-style:solid;box-shadow:inset 2px 0 var(--scene-accent)}.dq-panel .dq-local-hint,.dq-panel .dq-weather-grid button,.dq-panel .dq-auto-row>button,.dq-empty{background:rgba(17,49,74,.4)}
.dq-flow-border rect{stroke-width:1.8;animation-duration:6s;filter:drop-shadow(0 0 4px var(--scene-accent));opacity:1}.dq-flow-border .dq-flow-head{stroke:#edfbff;stroke-width:2.8;filter:drop-shadow(0 0 6px var(--scene-accent))}.dq-panel .dq-type-visibility{padding:0;margin:0 0 10px;border:0;flex:none}.dq-type-visibility summary{font-size:10px;color:#c3dbe9;cursor:pointer;line-height:1.8}.dq-type-visibility summary small{float:right;color:#718fa6;font-size:9px}.dq-type-visibility>div{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}.dq-panel .dq-type-visibility button{font-size:10px;padding:4px}.dq-panel [data-pane]:not([hidden]){animation:dq-pane-enter .2s ease-out}@keyframes dq-pane-enter{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}#dq-panel-toggle{background:rgba(7,32,52,.86);border-color:rgba(var(--scene-accent-rgb),.5);color:#c4ebff;backdrop-filter:blur(10px)}
#scene-web-pois .scene-web-poi{backdrop-filter:blur(6px);background:color-mix(in srgb,var(--poi-bg) 82%,transparent);border-radius:4px;padding:6px 10px;box-shadow:0 5px 18px #0006,inset 0 1px #ffffff10;transition:background .15s,box-shadow .15s}#scene-web-pois .scene-web-poi[aria-pressed=true]{box-shadow:0 0 20px rgba(var(--scene-accent-rgb),.28),inset 0 0 15px rgba(var(--scene-accent-rgb),.12)}
@media(max-width:650px){#dq-toolbar small,#dq-toolbar #dq-status{display:none!important}.dq-dashboard-link{font-size:10px;margin-right:8px}#dq-toolbar{padding-left:10px!important}#dq-toolbar button{padding:6px 7px!important}#dq-live-panel{top:67px}.dq-type-visibility summary small{display:none}}
@media(prefers-reduced-motion:reduce){.dq-flow-border rect{animation:none;stroke-dasharray:none;opacity:.5}.dq-flow-border .dq-flow-head{display:none}.dq-panel [data-pane]:not([hidden]){animation:none}.dq-panel button,#scene-web-pois .scene-web-poi{transition:none}}
/* The explicit saved glow switch is the user's motion preference for this UI. */
html[data-scene-glow=true] .dq-flow-border rect{animation:dq-flow-run 6s linear infinite;opacity:1}html[data-scene-glow=true] .dq-flow-border .dq-flow-trail{stroke-dasharray:18 82}html[data-scene-glow=true] .dq-flow-border .dq-flow-head{display:block;stroke-dasharray:2 98}html[data-scene-glow=true] .dq-poi-property>.dq-flow-border rect{animation-delay:-2s}
