.region-selector[data-v-24d700d7]{display:flex;flex-direction:column;gap:8px}.controls[data-v-24d700d7]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-primary[data-v-24d700d7]{padding:6px 10px;border-radius:4px;border:none;cursor:pointer;font-size:13px;background:#2563eb;color:#fff}.btn-primary[data-v-24d700d7]:disabled{opacity:.6;cursor:default}.status[data-v-24d700d7]{font-size:12px;color:#4b5563}.error[data-v-24d700d7]{font-size:12px;color:#ef4444}.preview-wrapper[data-v-24d700d7]{border:1px solid #e5e7eb;border-radius:4px;overflow:hidden;max-width:100%}.preview-canvas[data-v-24d700d7]{width:100%;display:block}.selector-semi-overlay[data-v-9d6ed6cc]{position:fixed;inset:0;background:#000000e6;backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.selector-container[data-v-9d6ed6cc]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:95vw;max-width:1560px;max-height:98vh;display:flex;flex-direction:column;box-shadow:0 40px 100px #000000b3;overflow:hidden}.selector-header[data-v-9d6ed6cc]{padding:12px 24px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:20px}.header-left[data-v-9d6ed6cc]{flex:1}.header-controls[data-v-9d6ed6cc]{display:flex;gap:16px;align-items:center}.title-with-icon[data-v-9d6ed6cc]{display:flex;align-items:center;gap:15px}.step-badge[data-v-9d6ed6cc]{background:#ef4444;color:#fff;font-size:11px;font-weight:900;padding:5px 12px;border-radius:6px;letter-spacing:.12em}h3[data-v-9d6ed6cc]{margin:0;font-size:1.2em;font-weight:800;letter-spacing:.05em;color:var(--text-primary)}.instruction[data-v-9d6ed6cc]{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.6}.instruction strong[data-v-9d6ed6cc]{color:#ef4444;text-decoration:underline}.canvas-wrapper[data-v-9d6ed6cc]{position:relative;background:#000;overflow:hidden;display:flex;justify-content:center;align-items:center;user-select:none;flex:1}.interaction-layer[data-v-9d6ed6cc]{flex-shrink:0;box-shadow:0 0 100px #000c}canvas[data-v-9d6ed6cc]{display:block}.selection-box[data-v-9d6ed6cc]{position:absolute;left:0;top:0;border:2px solid #ef4444;background:#ef444433;cursor:grab;box-shadow:0 0 20px #ef444480;will-change:transform,width,height;transition:background .2s,box-shadow .2s}.selection-box[data-v-9d6ed6cc]:hover{background:#ef44444d}.selection-box.is-grabbing[data-v-9d6ed6cc]{cursor:grabbing;border-style:dashed;transition:none!important}.rect-info[data-v-9d6ed6cc]{position:absolute;top:-22px;left:-2px;background:#ef4444;color:#fff;font-size:9px;font-weight:900;padding:2px 8px;border-radius:3px 3px 0 0;white-space:nowrap;pointer-events:none}.handle[data-v-9d6ed6cc]{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #ef4444;border-radius:2px;z-index:5}.handle.tl[data-v-9d6ed6cc]{top:-7px;left:-7px;cursor:nwse-resize}.handle.tr[data-v-9d6ed6cc]{top:-7px;right:-7px;cursor:nesw-resize}.handle.bl[data-v-9d6ed6cc]{bottom:-7px;left:-7px;cursor:nesw-resize}.handle.br[data-v-9d6ed6cc]{bottom:-7px;right:-7px;cursor:nwse-resize}.edge-handle[data-v-9d6ed6cc]{position:absolute;background:transparent;z-index:4}.edge-handle.top[data-v-9d6ed6cc]{top:-5px;left:10px;right:10px;height:10px;cursor:ns-resize}.edge-handle.bottom[data-v-9d6ed6cc]{bottom:-5px;left:10px;right:10px;height:10px;cursor:ns-resize}.edge-handle.left[data-v-9d6ed6cc]{left:-5px;top:10px;bottom:10px;width:10px;cursor:ew-resize}.btn[data-v-9d6ed6cc]{padding:6px 20px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.08);letter-spacing:.1em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-transform:uppercase;background:#ffffff1a}.btn-cancel[data-v-9d6ed6cc]{color:#9ca3af}.btn-cancel[data-v-9d6ed6cc]:hover{background:#fff3;color:#000;border-color:#ffffff4d}.btn-confirm[data-v-9d6ed6cc]{color:#ef4444}.btn-confirm[data-v-9d6ed6cc]:hover:not(:disabled){background:#ef444426;color:#ef4444;border-color:#ef4444}.btn-confirm[data-v-9d6ed6cc]:active:not(:disabled){transform:translateY(1px)}.btn-confirm[data-v-9d6ed6cc]:disabled{background:#4b55631a;opacity:.3;cursor:not-allowed;border-color:transparent;color:#6b7280}#app{width:100%;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}:root{--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--bg-tertiary: #FFFFFF;--text-primary: #000000;--text-secondary: #737373;--text-tertiary: #A6A6A6;--border-color: #E5E5E5;--border-subtle: #F2F2F2;--color-up: #000000;--color-down: #737373;--color-special: #000000;--color-accent: #22C55E;--color-accent-rgb: 34, 197, 94;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .05)}[data-theme=dark]{--bg-primary: #050505;--bg-secondary: #0D0D0D;--bg-tertiary: #121212;--text-primary: #E0E0E0;--text-secondary: #888888;--text-tertiary: #444444;--border-color: #1A1A1A;--border-subtle: #121212;--color-up: #FF3B30;--color-down: #A6A6A6;--color-special: #BF5AF2;--color-accent: #22C55E;--color-accent-rgb: 34, 197, 94;--shadow-sm: 0 4px 8px rgba(0, 0, 0, .5);--shadow-md: 0 8px 32px rgba(0, 0, 0, .8);--glass-bg: rgba(13, 13, 13, .7);--glass-border: rgba(255, 255, 255, .05)}body{background-color:var(--bg-primary);color:var(--text-primary)}:root{--font-sans: "Microsoft YaHei", "微软雅黑", "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll;color-scheme:dark}body,#app{width:100%;max-width:100vw;height:100%;overflow-x:hidden;position:relative;-webkit-text-size-adjust:100%;text-size-adjust:100%}img,svg{max-width:100%;height:auto}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);letter-spacing:-.01em}.text-uppercase-tech{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;opacity:.7}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}button{cursor:pointer;font-family:inherit;font-size:inherit;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,filter .3s ease}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background-color:var(--bg-primary)}a{color:var(--color-down);text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.8}.btn-floating,.card-floating,.interactive-lift,.btn-neon-accent{transition:opacity .3s ease,filter .3s ease}.btn-floating{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}@media (hover: hover){.btn-floating:hover{filter:brightness(1.1);border-color:var(--text-secondary)}}.card-floating{border:1px solid var(--border-subtle);background:transparent;backdrop-filter:blur(12px);border-radius:var(--radius-md)}.btn-neon-accent{background:#22c55e0d;border:1px solid rgba(34,197,94,.3);color:#22c55e;font-weight:800;text-shadow:0 0 8px rgba(34,197,94,.3);padding:10px 24px}@media (hover: hover){.btn-neon-accent:hover{border-color:#22c55e;color:#22c55e}}.interactive-lift:hover{filter:brightness(1.2)}.breakout-pulse{animation:breakout-pulse-anim .8s infinite alternate ease-in-out;will-change:stroke-width}@keyframes breakout-pulse-anim{0%{stroke-width:1.2px}to{stroke-width:1.8px}}.input-tech,.select-tech{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;outline:none;transition:all .2s;box-shadow:0 1px 2px #0000000d}.input-tech:focus,.select-tech:focus{border-color:#f44336;box-shadow:0 0 0 2px #f443361a}
