:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.is-minimap,body.is-minimap,html.is-minimap #root,body.is-minimap #root,.is-minimap,.minimap-container,.minimap-container~*{background:transparent!important;background-color:transparent!important;transition:none!important}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.context-menu-btn{background:transparent;border:none;color:#fff;text-align:left;padding:10px 16px;width:100%;cursor:pointer;border-radius:0;font-size:.9rem;transition:background .2s}.context-menu-btn:hover{background:#ffffff1a;border-color:transparent}:root{--primary-color: #4b5320;--primary-hover: #383e18;--border-radius: 12px;--sidebar-width: 260px}body.light-theme{--bg-color: #f0f2f5;--surface-color: #ffffff;--surface-hover: #e4e6eb;--text-primary: #050505;--text-secondary: #65676b;--success-color: #2e7d32;--danger-color: #d32f2f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--input-bg: #fafafa;--input-border: #ddd}body.dark-theme{--bg-color: #121212;--surface-color: #1e1e1e;--surface-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--success-color: #4caf50;--danger-color: #f44336;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 6px 12px rgba(0, 0, 0, .4);--input-bg: #2c2c2c;--input-border: #444}body{margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;background-color:var(--bg-color);color:var(--text-primary);height:100vh;overflow:hidden;transition:background-color .3s,color .3s}#root{display:flex;height:100%;width:100%}.auth-screen{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(#0a0a0ab8,#0a0a0adb),var(--app-bg-image, none),#0d0f10;background-size:cover;background-position:center;padding:24px;box-sizing:border-box}.auth-panel{width:min(420px,100%);background:#1e1e1ef0;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:28px;box-shadow:0 18px 50px #00000073;color:#fff}.auth-panel h1{margin:0 0 8px;font-size:1.5rem;color:#fff}.auth-panel p{margin:0 0 22px;color:#b0b0b0}.auth-panel label{display:block;margin-bottom:14px;color:#d6d6d6;font-size:.86rem;font-weight:700}.auth-panel input{width:100%;margin-top:6px;padding:12px;box-sizing:border-box;background:#161616;border:1px solid #3a3a3a;border-radius:8px;color:#fff;font-size:1rem}.auth-panel input:focus{outline:none;border-color:var(--success-color)}.auth-panel .btn{width:100%;margin-top:4px}.auth-error{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#f4433624;border:1px solid rgba(244,67,54,.35);color:#ff8a80;font-size:.86rem;font-weight:700}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--surface-color);display:flex;flex-direction:column;padding:1.5rem;box-shadow:2px 0 10px #0000000d;z-index:10;height:100%;box-sizing:border-box;transition:background-color .3s}.sidebar h1{font-size:1.8rem;font-weight:800;color:var(--primary-color);margin-bottom:2rem;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.nav-item{padding:12px 18px;margin-bottom:8px;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;color:var(--text-secondary);font-weight:600;display:flex;align-items:center;font-size:1rem}.nav-item:hover{background-color:var(--surface-hover);color:var(--primary-color);transform:translate(4px)}.nav-item.active{background-color:var(--surface-hover);color:var(--primary-color);box-shadow:inset 4px 0 0 var(--primary-color);border-left:none}.main-content{flex:1;padding:2rem;overflow-y:auto;height:100%;box-sizing:border-box;position:relative}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#333;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color);background:#aaa}.card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05)}.btn{padding:8px 16px;font-size:.85rem;border:none;border-radius:8px;cursor:pointer;font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:all .2s;box-shadow:var(--shadow-sm)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-success{background-color:var(--success-color);color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);opacity:.95}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:600;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:12px;box-sizing:border-box;background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);border-radius:8px;font-size:1rem;transition:border-color .2s,background-color .3s}.form-group input[type=number]:not(.no-spin)::-webkit-inner-spin-button,.form-group input[type=number]:not(.no-spin)::-webkit-outer-spin-button,input[type=number]:not(.no-spin)::-webkit-inner-spin-button,input[type=number]:not(.no-spin)::-webkit-outer-spin-button{opacity:1;height:28px;width:20px;cursor:pointer;background-color:var(--surface-hover)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-control{box-sizing:border-box;width:100%;max-width:100%}.control,.form-group textarea,textarea.control,select.control,input.control{width:100%;box-sizing:border-box;min-height:42px;padding:11px 12px;border-radius:8px;border:1px solid var(--input-border, #444);background:#0a0a0a6b;color:var(--text-primary);font:inherit;font-size:.92rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.control:focus,.form-group textarea:focus,textarea.control:focus,select.control:focus,input.control:focus{border-color:var(--success-color);box-shadow:0 0 0 3px #4caf5029;background:#0a0a0a94}.control::placeholder,textarea.control::placeholder,input.control::placeholder{color:#ffffff6b}textarea.control{resize:vertical;min-height:92px;line-height:1.45}.field{display:grid;gap:7px;min-width:0}.field-label{color:var(--text-secondary);font-size:.82rem;font-weight:800}.field-hint{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:start}.form-grid-wide{grid-column:1 / -1}.toolbar-panel,.setting-strip,.mini-panel{border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:10px;background:#00000038}.toolbar-panel{padding:14px}.setting-strip{padding:12px}.check-card{min-height:48px;display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border-color, rgba(255,255,255,.1));cursor:pointer}.check-card input,.inline-check input{width:17px;height:17px;accent-color:var(--success-color)}.inline-check{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary);font-weight:800;cursor:pointer}.file-drop{position:relative;display:grid;gap:10px;padding:18px;border-radius:10px;border:1px dashed rgba(255,255,255,.22);background:#0000003d}.file-drop input[type=file]{width:100%;color:var(--text-secondary)}.file-drop input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:8px;padding:9px 14px;background:var(--primary-color);color:#fff;font-weight:800;cursor:pointer}.info-list{margin:0;padding-left:18px;line-height:1.8;color:var(--text-secondary)}.update-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.list-row{padding:8px 10px;border-radius:8px;background:#0000002e;border:1px solid rgba(255,255,255,.06);font-size:.84rem;margin-bottom:7px}.reward-rule-row{display:grid;grid-template-columns:minmax(90px,130px) auto minmax(90px,130px) auto auto;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#0000002e;border:1px solid rgba(255,255,255,.07)}@media(max-width:720px){.reward-rule-row{grid-template-columns:1fr}}.form-group input[type=range]{padding:0;height:8px;min-height:8px;border:0;border-radius:999px;background:var(--surface-hover);cursor:pointer;accent-color:var(--primary-color)}.form-group input[type=range]:focus{outline:2px solid rgba(116,161,46,.35);outline-offset:4px}.status-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.status-online{background-color:var(--success-color);box-shadow:0 0 8px #2e7d3266}.status-offline{background-color:var(--danger-color)}html{background-color:#000}body.has-bg:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:var(--app-bg-image);background-size:cover;background-position:center;opacity:var(--app-bg-opacity, .3);z-index:-1;pointer-events:none;transition:opacity .5s ease,background-image .5s ease}body.has-bg,body.has-bg .app-container{background-color:transparent!important}.app-container[data-has-bg=true] .sidebar{background-color:#0f0f0fbf!important;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);border-right:1px solid rgba(255,255,255,.1)}.app-container[data-has-bg=true] .main-content{background-color:transparent!important}.app-container[data-has-bg=true] .card{background-color:#1e1e1e66!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0006}.app-container[data-has-bg=true] .nav-item.active{background-color:#ffffff1a;box-shadow:inset 4px 0 0 var(--primary-color)}.app-container[data-has-bg=true] table tr{background-color:transparent!important}.app-container[data-has-bg=true] .console-output{background-color:#0009!important;border-radius:8px}.app-container[data-has-bg=true] h2,.app-container[data-has-bg=true] h3{text-shadow:0 2px 4px rgba(0,0,0,.6)}body.light-theme.has-bg:before{background-color:#f5f5f5}body.light-theme.has-bg .app-container[data-has-bg=true] .sidebar{background-color:#ffffffb3!important;color:#000}body.light-theme.has-bg .app-container[data-has-bg=true] .card{background-color:#fff9!important}.sidebar,.main-content{z-index:1}.map-container{height:600px;border-radius:var(--border-radius);overflow:hidden;border:1px solid #ddd;box-shadow:var(--shadow-md)}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--surface-hover);transition:.4s;border:1px solid var(--border-color, #444)}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.no-spin::-webkit-outer-spin-button,.no-spin::-webkit-inner-spin-button{-webkit-appearance:none!important;width:0!important;height:0!important;display:none!important;margin:0!important}.no-spin{-moz-appearance:textfield!important}:root{--bg-app: #0b0f11;--bg-sidebar: #0d1113;--bg-panel: #111719;--bg-panel-soft: #151c1e;--bg-input: #171d1f;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.13);--text-primary: #f3f5f4;--text-secondary: #9ca5a2;--text-muted: #6f7976;--accent: #7f951c;--accent-hover: #91a925;--accent-soft: rgba(127,149,28,.18);--danger: #e05252;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-card: 0 12px 30px rgba(0,0,0,.2)}.live-map-page{background:var(--bg-app);color:var(--text-primary);min-height:100vh;padding:20px;font-family:inherit;box-sizing:border-box}.live-map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.live-map-title-area h2{margin:0;font-size:26px;font-weight:700}.live-map-title-area p{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.live-map-status-area{display:flex;align-items:center;gap:16px}.status-badge{display:inline-flex;align-items:center;gap:8px;background:#2ecc711a;border:1px solid rgba(46,204,113,.3);color:#2ecc71;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700}.status-badge .dot{width:8px;height:8px;background:#2ecc71;border-radius:50%}.status-time{display:flex;flex-direction:column;align-items:flex-end;font-size:14px;font-weight:600}.status-time span{font-size:11px;color:var(--text-secondary);font-weight:400}.controls-grid{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.control-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 16px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px}.control-card.flex-1{flex:1}.control-card.auto-width{flex:0 0 auto;min-width:320px}.card-title{font-size:11px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin:0;font-weight:600}.card-title-row{display:flex;justify-content:space-between;align-items:center}.map-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-actions-grid{display:flex;flex-direction:column;gap:8px}.quick-actions-row{display:flex;gap:8px}.lm-btn{background:#ffffff09;border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.lm-btn:hover:not(:disabled){background:#ffffff14;border-color:var(--border-strong)}.lm-btn:disabled{opacity:.5;cursor:not-allowed}.lm-btn.active,.lm-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.lm-btn.active:hover,.lm-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.lm-btn-danger{background:#e052521a;color:var(--danger);border-color:#e052524d}.lm-btn-danger:hover{background:#e0525233}.live-map-content{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,.95fr);gap:20px;align-items:start}@media(max-width:1100px){.live-map-content{grid-template-columns:1fr!important}}.map-container-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-card);width:100%;box-sizing:border-box;display:flex;justify-content:center}.map-canvas-wrapper{width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-md);overflow:hidden;position:relative;background:#000}.sidebar-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:20px}.tabs-container{display:flex;background:var(--bg-panel-soft);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:12px 0;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.tab-btn.active{background:var(--accent);color:#fff}.command-input-container{display:flex;gap:8px}.command-input-container input{flex:1;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;font-family:monospace}.command-input-container input:focus{outline:none;border-color:var(--accent)}.empty-state{text-align:center;padding:40px 20px;background:var(--bg-panel-soft);border-radius:var(--radius-md);border:1px dashed var(--border-strong)}.empty-state .icon{font-size:32px;margin-bottom:12px;color:var(--text-muted)}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:700}.empty-state p{margin:0 0 16px;font-size:14px;font-weight:600}.empty-state small{display:block;color:var(--text-secondary);font-size:12px;line-height:1.5}.legend-card{background:var(--bg-panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.legend-title{font-size:11px;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-weight:700}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%}.list-item{background:var(--bg-panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .2s;margin-bottom:8px}.list-item:hover{border-color:var(--border-strong)}.list-container{max-height:400px;overflow-y:auto;padding-right:4px}.list-container::-webkit-scrollbar{width:6px;height:6px}.list-container::-webkit-scrollbar-track{background:transparent}.list-container::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.list-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.is-minimap .live-map-page,.app-container[data-has-bg=true] .live-map-page{background:transparent!important}.app-container[data-has-bg=true] .control-card,.app-container[data-has-bg=true] .map-container-card,.app-container[data-has-bg=true] .sidebar-panel{background:#11171973!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:#ffffff14}.app-container[data-has-bg=true] .tabs-container,.app-container[data-has-bg=true] .legend-card,.app-container[data-has-bg=true] .list-item,.app-container[data-has-bg=true] .empty-state{background:#151c1e59!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.app-container[data-has-bg=true] .command-input-container input{background:#171d1f80!important}.map-hover-controls{opacity:0;transition:opacity .2s ease-in-out}.map-canvas-wrapper:hover .map-hover-controls{opacity:1}
