@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page: #FAF9F6;--bg-sidebar: #FDFCFB;--bg-warm: #F2F0E9;--bg-field: #FFFFFF;--bg-stage: #EFECE6;--border-light: #EAE8E3;--border-mid: #D6D3CE;--border-dark: #C4C0BA;--text-primary: #1C1917;--text-secondary: #57534E;--text-muted: #A8A29E;--accent-dark: #292524;--accent-hover: #44403C;--term-bg: #2A2826;--term-bg-deep: #1E1C1A;--term-header: #22201E;--term-border: #3A3836;--term-text: #F4F3EE;--green-bg: #F0FDF4;--green-text: #15803D;--green-dot: #22C55E;--green-border: #BBF7D0;--amber-text: #D97706;--amber-bg: #FFFBEB;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--r-sm: 0px;--r-md: 0px;--r-lg: 0px;--r-xl: 0px}html,body,#root{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.custom-scrollbar::-webkit-scrollbar{width:5px;height:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:420px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-light);display:flex;flex-direction:column;box-shadow:2px 0 20px #00000008;z-index:30;position:relative}.sidebar-brand{height:64px;padding:0 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fff}.brand-left{display:flex;align-items:center;gap:12px}.brand-logo{width:32px;height:32px;background:var(--accent-dark);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.brand-logo-icon{color:var(--bg-page);fill:var(--bg-page)}.brand-title{font-size:13px;font-weight:700;letter-spacing:-.2px;color:var(--text-primary)}.brand-version{font-size:10px;font-family:JetBrains Mono,monospace;font-weight:700;background:var(--bg-warm);padding:3px 8px;border-radius:6px;color:var(--text-secondary);border:1px solid var(--border-light)}.sidebar-scroll{flex:1;overflow-y:auto;padding:20px 24px}.sidebar-item{margin-bottom:20px;background:var(--bg-field);border:1px solid var(--border-light);border-left:4px solid var(--accent-dark);padding:18px 20px;box-shadow:var(--shadow-sm)}.sidebar-item-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.sidebar-item-icon{padding:6px;background:var(--bg-warm);border-radius:7px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .2s}.sidebar-item-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.sidebar-item-content{display:flex;flex-direction:column;gap:16px}.control-group{display:flex;flex-direction:column;gap:6px}.control-label{font-size:11.5px;font-weight:600;color:var(--text-secondary);display:block;letter-spacing:.01em}.select-wrapper{position:relative}.custom-select{width:100%;background:var(--bg-field);border:1px solid var(--border-light);border-radius:var(--r-md);padding:8px 32px 8px 10px;font-size:12px;font-weight:500;font-family:Inter,sans-serif;color:var(--text-primary);appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-xs)}.custom-select:hover{border-color:var(--border-mid)}.custom-select:focus{outline:none;border-color:var(--accent-dark);box-shadow:0 0 0 3px #29252414}.select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--text-muted);pointer-events:none;transition:color .15s}.select-wrapper:hover .select-chevron{color:var(--text-secondary)}.custom-input{width:100%;background:var(--bg-field);border:1px solid var(--border-light);border-radius:var(--r-md);padding:8px 10px;font-size:12px;font-weight:500;font-family:Inter,sans-serif;color:var(--text-primary);transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-xs)}.custom-input.mono{font-family:JetBrains Mono,monospace;font-size:12px}.custom-input:hover{border-color:var(--border-mid)}.custom-input:focus{outline:none;border-color:var(--accent-dark);box-shadow:0 0 0 3px #29252414}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-page);border:1px solid var(--border-light);border-radius:var(--r-md)}.toggle-mini{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding:8px;background:var(--bg-page);border:1px solid var(--border-light);border-radius:var(--r-md)}.toggle-label{font-size:11px;font-weight:600;color:var(--text-primary)}.toggle-btn{width:44px;height:24px;border-radius:12px;background:var(--border-mid);border:none;cursor:pointer;position:relative;display:flex;align-items:center;transition:background .3s;box-shadow:inset 0 1px 3px #0000001a}.toggle-btn.active{background:var(--accent-dark)}.toggle-thumb{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000026;transition:transform .3s;transform:translate(4px)}.toggle-thumb.active{transform:translate(24px)}.slider-group{display:flex;flex-direction:column;gap:12px}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.slider-value{font-size:11px;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--text-secondary);background:var(--bg-warm);padding:2px 8px;border-radius:6px;border:1px solid var(--border-light)}input[type=range].custom-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--border-light);border-radius:3px;cursor:pointer;outline:none}input[type=range].custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent-dark);cursor:pointer;border:2px solid var(--bg-page);box-shadow:0 2px 6px #0003;transition:transform .15s}input[type=range].custom-range::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range].custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px #2925241f,0 2px 6px #0003}input[type=range].custom-range::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--border-light);border-radius:3px}.access-section{margin-top:8px;padding-top:24px;border-top:1px solid var(--border-light)}.access-section-dense{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-light)}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light);background:var(--bg-page);flex-shrink:0}.reset-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;font-size:10px;font-weight:700;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:#fff;border:1px solid var(--border-light);border-radius:var(--r-lg);cursor:pointer;transition:color .15s,border-color .15s,background .15s,box-shadow .15s,transform .1s;box-shadow:var(--shadow-xs)}.reset-btn:hover{color:var(--text-primary);border-color:var(--border-mid);background:var(--bg-page);box-shadow:var(--shadow-sm)}.reset-btn:active{transform:scale(.98)}.main-stage{flex:1;display:flex;flex-direction:column;min-width:0;background-color:var(--bg-stage);background-image:url(https://www.transparenttextures.com/patterns/cubes.png);background-blend-mode:multiply}.stage-header{height:64px;background:#faf9f6d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(210,206,200,.6);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:20;flex-shrink:0;box-shadow:var(--shadow-xs)}.stage-header-left{display:flex;align-items:center;gap:16px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.breadcrumb-icon,.breadcrumb-sep{color:var(--border-mid)}.breadcrumb-active{color:var(--text-primary)}.typing-badge{font-size:10px;font-weight:600;color:var(--amber-text);background:var(--amber-bg);padding:4px 8px;border-radius:20px;border:1px solid #FDE68A;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.stage-header-right{display:flex;align-items:center;gap:20px}.sync-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--green-bg);color:var(--green-text);border-radius:100px;border:1px solid var(--green-border);box-shadow:var(--shadow-xs)}.sync-badge span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--green-dot);animation:syncPulse 2s ease-in-out infinite}@keyframes syncPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.header-divider{width:1px;height:16px;background:var(--border-mid)}.icon-btn{padding:6px;background:transparent;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s;display:flex;align-items:center}.icon-btn:hover{color:var(--text-primary);background:#d2cec866}.canvas-area{flex:1;padding:0;display:flex;flex-direction:column;gap:0;overflow-y:hidden}.map-preview-section{flex:1;min-height:200px;background:var(--bg-stage);border-radius:0;border:none;overflow:hidden;box-shadow:none;position:relative;outline:none;transition:none}.loading-overlay{position:absolute;inset:0;background:#faf9f6a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-card{padding:24px 32px;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;align-items:center;gap:12px}.loading-spinner{color:var(--accent-dark);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.map-iframe{width:100%;height:100%;border:none;background:var(--bg-page);display:block}.live-badge{position:absolute;top:16px;right:16px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;pointer-events:none}.map-preview-section:hover .live-badge{opacity:1;transform:translateY(0)}.live-badge-inner{background:#292524f2;color:var(--bg-page);font-size:10px;font-weight:700;padding:6px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;letter-spacing:.06em;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.terminal-section{flex-shrink:0;background:var(--term-bg);border-top:1px solid var(--term-border);border-bottom:none;border-left:none;border-right:none;border-radius:0;overflow:hidden;box-shadow:none;min-height:140px;display:flex;flex-direction:column}.terminal-header{padding:12px 24px;border-bottom:1px solid var(--term-border);background:var(--term-header);display:flex;align-items:center;justify-content:space-between}.terminal-header-left{display:flex;align-items:center;gap:12px}.terminal-dots{display:flex;gap:6px;align-items:center}.dot{width:11px;height:11px;border-radius:50%}.dot.red{background:#f87171e6}.dot.amber{background:#fbbf24e6}.dot.green{background:#34d399e6}.terminal-title{display:flex;align-items:center;gap:8px;color:#8a8480;margin-left:8px}.terminal-title span{font-size:10px;font-family:JetBrains Mono,monospace;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.status-badge{font-size:9px;font-family:JetBrains Mono,monospace;font-weight:700;color:#a7f3d0;background:#a7f3d01a;padding:3px 8px;border-radius:5px;border:1px solid rgba(167,243,208,.2);letter-spacing:.06em}.terminal-body{padding:24px 32px;flex:1;display:flex;align-items:center;gap:20px}.url-display{flex:1;font-family:JetBrains Mono,monospace;font-size:13.5px;color:var(--term-text);word-break:break-all;padding:16px 20px;background:var(--term-bg-deep);border-radius:var(--r-md);border:1px solid var(--term-border);box-shadow:inset 0 2px 6px #0003;line-height:1.6;-webkit-user-select:all;user-select:all}.url-method{color:#8a8480;font-weight:700;margin-right:12px;-webkit-user-select:none;user-select:none}.url-base{color:#d6d3ce}.url-params{color:#fde68ad9}.terminal-actions{display:flex;gap:8px;flex-shrink:0}.copy-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 24px;border-radius:var(--r-lg);font-weight:700;font-size:11px;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:none;transition:all .2s;background:var(--bg-page);color:var(--text-primary);box-shadow:var(--shadow-xs)}.copy-btn:hover{background:#fff;box-shadow:var(--shadow-sm)}.copy-btn.copied{background:#22c55e;color:#fff;box-shadow:0 4px 12px #22c55e40}.copy-btn:active{transform:scale(.97)}.open-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--term-bg);border:1px solid #4A4846;border-radius:var(--r-lg);color:#a8a29e;cursor:pointer;transition:all .2s}.open-btn:hover{background:#3a3836;border-color:#787470;color:var(--term-text)}.open-btn:active{transform:scale(.97)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:8px;flex-shrink:0}.metric-card{padding:18px 20px;background:#fff;border:1px solid var(--border-light);border-radius:var(--r-xl);display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-xs);transition:box-shadow .25s,transform .25s;cursor:default}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-icon{padding:10px;background:var(--bg-page);border-radius:var(--r-md);color:var(--text-muted);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.metric-card:hover .metric-icon{color:var(--text-primary);background:var(--bg-warm)}.metric-text{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.metric-value{font-size:12px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-primary)}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{width:300px}.canvas-area{padding:16px}}
