:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,rgba(0,229,255,.18),transparent 35%),linear-gradient(180deg,#07101a,#04070b);color:#ecfeff}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input{font:inherit}.page{min-height:100vh;padding:18px;display:grid;gap:16px;max-width:960px;margin:0 auto}.top-bar h1{margin:6px 0 2px;font-size:30px}.badge{display:inline-flex;margin:0;padding:4px 10px;border:1px solid rgba(0,229,255,.4);border-radius:999px;color:#7df9ff;background:#00e5ff14}.sub,.status,.error{margin:0;opacity:.85}.stage-wrap{position:relative;aspect-ratio:16 / 10;border-radius:24px;overflow:hidden;background:#081018e6;border:1px solid rgba(125,249,255,.15);box-shadow:0 18px 60px #00000073}.map-stage,.route-layer,.inline-route-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.inline-route-map svg{width:100%;height:100%;display:block}.inline-route-layer{pointer-events:none}.map-image{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.9) contrast(1.1)}.map-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(125,249,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(125,249,255,.08) 1px,transparent 1px);background-size:64px 64px;mix-blend-mode:screen;pointer-events:none}.loading{display:grid;place-items:center;color:#7df9ff}.route-path{stroke:#00e5ff;stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--path-length);stroke-dashoffset:var(--path-length);animation:drawRoute .62s ease-out forwards;filter:drop-shadow(0 0 10px rgba(0,229,255,.85))}.route-dot{fill:#fff;filter:drop-shadow(0 0 12px rgba(255,255,255,.95))}.target-frame-ripple,.target-frame{fill:none;stroke:#7df9ffad;stroke-width:4;filter:drop-shadow(0 0 8px rgba(0,229,255,.58))}.target-frame{stroke-width:2.5;opacity:.9}.panel{display:grid;gap:12px;padding:16px;border-radius:20px;background:#0a141ed1;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.search-row{display:flex;gap:10px}.search-row input{flex:1;min-width:0;border:1px solid rgba(125,249,255,.22);border-radius:14px;background:#ffffff0a;color:inherit;padding:14px 16px}.search-row button,.hot-list button,.voice-btn{border:1px solid rgba(125,249,255,.2);background:#00e5ff14;color:#ecfeff;border-radius:14px;padding:12px 14px}.hot-list{display:flex;flex-wrap:wrap;gap:10px;max-height:48px;overflow:hidden}.voice-btn{min-height:52px}.error{color:#ff9da1}@keyframes drawRoute{to{stroke-dashoffset:0}}@keyframes pulse{0%{transform:scale(.9);opacity:.9}to{transform:scale(2.6);opacity:0}}@keyframes blink{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 640px){.page{padding:12px}.top-bar h1{font-size:24px}.stage-wrap{aspect-ratio:3 / 4}.search-row{flex-direction:column}}.tool-page{min-height:100vh;max-width:1200px;margin:0 auto;padding:16px;display:grid;gap:12px}.tool-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}.tool-form input{border:1px solid rgba(125,249,255,.25);border-radius:12px;background:#ffffff0a;color:inherit;padding:10px 12px}.tool-stage{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:14px;overflow:hidden;border:1px solid rgba(125,249,255,.2);background:#0a1118;touch-action:none}.tool-map,.tool-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tool-empty{height:100%;display:grid;place-items:center;opacity:.7}.tool-box{fill:#00e5ff33;stroke:#00e5ff;stroke-width:3}.tool-box-draft{fill:#7df9ff33;stroke:#7df9ff;stroke-width:2;stroke-dasharray:8 6}.tool-box-label{fill:#fff;font-size:24px;paint-order:stroke;stroke:#001018;stroke-width:3px}.tool-list{display:grid;gap:8px}.tool-row{display:grid;grid-template-columns:40px 1fr 2fr 90px 70px;gap:10px;align-items:center}.tool-row input{border:1px solid rgba(125,249,255,.2);border-radius:10px;background:#ffffff0a;color:inherit;padding:9px 10px}.tool-row button,.tool-copy{border:1px solid rgba(125,249,255,.2);border-radius:10px;background:#00e5ff1a;color:inherit;padding:9px 10px}.tool-json{width:100%;min-height:260px;background:#071019;color:#dffcff;border:1px solid rgba(125,249,255,.25);border-radius:12px;padding:12px;font-family:Consolas,Monaco,monospace}@media (max-width: 900px){.tool-form{grid-template-columns:1fr 1fr}.tool-row{grid-template-columns:32px 1fr}}.studio-page{min-height:100vh;width:100%;max-width:none;margin:0;padding:10px 8px;display:grid;gap:8px;overflow-x:hidden}.studio-layout{display:grid;grid-template-columns:var(--studio-mobile-width, 380px) 8px minmax(0,1fr);gap:6px;align-items:start;min-width:0}.studio-mobile{position:sticky;top:12px}.phone-shell{width:100%;border-radius:36px;padding:10px;background:linear-gradient(180deg,#121923,#080d13);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 52px #00000080}.phone-notch{width:38%;height:18px;margin:0 auto 8px;border-radius:0 0 12px 12px;background:#020406;opacity:.8}.phone-screen{border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#04070b}.studio-mobile-top{padding:10px 12px 0}.studio-mobile-top h1{font-size:20px}.studio-mobile-stage{aspect-ratio:3 / 4;border-radius:0}.studio-mobile-panel{border-radius:0;border-left:0;border-right:0;border-bottom:0;gap:10px;padding:12px}.studio-workbench{display:grid;gap:10px;min-width:0}.studio-top{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:10px}.studio-top-group{display:grid;gap:8px;align-content:start;padding:10px;border-radius:14px;border:1px solid rgba(125,249,255,.18)}.studio-top-group>p{margin:0;font-size:12px;color:#eefcffb8;letter-spacing:.08em}.studio-top-group>div{display:flex;flex-wrap:wrap;gap:8px}.studio-top-group-file{background:#7df9ff0d}.studio-top-group-publish{background:#00e5ff1a;border-color:#00e5ff52}.studio-top-group-map{background:#ffcc4d0f;border-color:#ffcc4d2e}.studio-top input,.studio-top .tool-copy{border:1px solid rgba(125,249,255,.25);border-radius:10px;padding:10px;background:#ffffff0a;color:inherit;min-width:0;flex:1 1 120px}.studio-top .tool-copy{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}.studio-top .publish-primary{flex-basis:190px;border-color:#7df9ffa6;background:linear-gradient(135deg,#00e5ff47,#7df9ff1a);color:#ecfeff;font-weight:700}.published-demo-url{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(125,249,255,.22);border-radius:12px;background:#00e5ff12}.published-demo-url input{min-width:0;border:0;background:transparent;color:#7df9ff}.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 8px var(--studio-list-width, 340px);gap:6px;min-width:0}.studio-resizer{align-self:stretch;width:8px;min-height:120px;border:0;border-radius:999px;background:#7df9ff1f;cursor:col-resize;padding:0}.studio-resizer:hover{background:#7df9ff57}.studio-canvas{border:1px solid rgba(125,249,255,.2);border-radius:12px;overflow:hidden}.studio-stage{position:relative;width:100%;aspect-ratio:16 / 10}.studio-map,.studio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.studio-map{background:#0a1118}.studio-map svg{width:100%;height:100%;display:block}.studio-map [label*=流线],.studio-map [label*=路线],.studio-map [label*=通道],.studio-map [label*=动线],.studio-map [label*=路径],.studio-map [label*=节点],.studio-map [label*=坐标],.studio-map [label*=起点],.studio-map [inkscape\:label*=流线],.studio-map [inkscape\:label*=路线],.studio-map [inkscape\:label*=通道],.studio-map [inkscape\:label*=动线],.studio-map [inkscape\:label*=路径],.studio-map [inkscape\:label*=节点],.studio-map [inkscape\:label*=坐标],.studio-map [inkscape\:label*=起点],.inline-route-map [label*=流线],.inline-route-map [label*=路线],.inline-route-map [label*=通道],.inline-route-map [label*=动线],.inline-route-map [label*=路径],.inline-route-map [label*=节点],.inline-route-map [label*=坐标],.inline-route-map [label*=起点],.inline-route-map [inkscape\:label*=流线],.inline-route-map [inkscape\:label*=路线],.inline-route-map [inkscape\:label*=通道],.inline-route-map [inkscape\:label*=动线],.inline-route-map [inkscape\:label*=路径],.inline-route-map [inkscape\:label*=节点],.inline-route-map [inkscape\:label*=坐标],.inline-route-map [inkscape\:label*=起点]{display:none}.studio-list{border:1px solid rgba(125,249,255,.2);border-radius:12px;padding:10px;max-height:70vh;overflow:auto;min-width:0}.studio-list-actions{display:flex;gap:8px;margin-bottom:8px}.manual-dest-toolbar{display:flex;gap:8px}.manual-dest-toolbar input{width:180px;border:1px solid rgba(125,249,255,.25);border-radius:10px;padding:9px 10px;background:#ffffff0a;color:inherit}.tool-copy.active{background:#00e5ff3d;border-color:#7df9ff8c}.studio-overlay.placing{cursor:crosshair}.studio-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:6px 0}.studio-item>input:nth-of-type(2),.studio-item>label:last-child{display:none}.studio-delete{border:1px solid rgba(255,157,161,.35);border-radius:8px;background:#ff5d6a14;color:#ffb5b9;padding:7px 8px}.studio-fix{border:1px solid rgba(125,249,255,.32);border-radius:8px;background:#00e5ff14;color:#b8fbff;padding:7px 8px}.studio-fix.active{border-color:#7df9ffbf;background:#00e5ff38;color:#ecfeff}.studio-target-list{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;padding-left:24px}.studio-target-remove{border:1px solid rgba(255,157,161,.28);border-radius:8px;background:#ff5d6a12;color:#ffd1d4;padding:6px 8px;font-size:12px}.studio-target-remove.active{border-color:#7df9ffbf;background:#00e5ff38;color:#ecfeff}.studio-entry-point{fill:#fff;stroke:#00e5ff;stroke-width:3;filter:drop-shadow(0 0 8px rgba(0,229,255,.9))}.studio-start-point{fill:#ffcc4d;stroke:#071018;stroke-width:3;filter:drop-shadow(0 0 8px rgba(255,204,77,.9))}.studio-route-draft{fill:none;stroke:#ffcc4dbf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 8;filter:drop-shadow(0 0 8px rgba(255,204,77,.55))}.studio-route-draft.active{stroke:#ffcc4d;stroke-width:5}.studio-route-point{fill:#ffcc4d;stroke:#071018;stroke-width:2}.studio-fixing-target{fill:#00e5ff2e;stroke:#00e5ff;stroke-width:4;stroke-dasharray:10 6}.studio-fixing-ring{fill:none;stroke:#7df9ffd9;stroke-width:4;filter:drop-shadow(0 0 10px rgba(0,229,255,.9))}.studio-item input[type=text],.studio-item input:not([type]){border:1px solid rgba(125,249,255,.2);border-radius:8px;background:#ffffff0a;color:inherit;padding:8px 10px}.studio-box{fill:#2a9dff2e;stroke:#2a9dffe6;stroke-width:2}.studio-box.active{fill:#00e5ff40;stroke:#00e5ff}@media (max-width: 960px){.studio-layout{grid-template-columns:1fr}.studio-mobile{position:static}.studio-top,.studio-grid{grid-template-columns:1fr}}
