:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#252525;--bg-card:#161616;--bg-input:#1e1e1e;--text-primary:#f3f4f6;--text-secondary:#c4ccd8;--text-muted:#98a4b3;--accent:#0f8f66;--accent-hover:#0a7352;--accent-text:#4ade80;--accent-secondary:#6366f1;--accent-glow:#4ade8038;--danger:#ef4444;--danger-hover:#dc2626;--warning:#f59e0b;--warning-hover:#d97706;--border:#2a2a2a;--border-light:#333;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--shadow-glow:0 0 20px #4ade8024;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;font:16px/1.5 var(--font-sans);letter-spacing:-.01em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-card:#fff;--bg-input:#fff;--text-primary:#1e293b;--text-secondary:#334155;--text-muted:#64748b;--accent:#0f8f66;--accent-hover:#0a7352;--accent-text:#0f8f66;--border:#e2e8f0;--border-light:#cbd5e1;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-glow:0 0 20px #0f8f662e}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{color:var(--text-primary);font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;font-size:2rem}h2{letter-spacing:-.01em;font-size:1.25rem}h3{font-size:1rem}input,textarea,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;outline:none}input,textarea{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.login-container{background:radial-gradient(ellipse at 20% 80%, #4ade801a 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #6366f10f 0%, transparent 50%), var(--bg-primary);flex:1;justify-content:center;align-items:center;padding:20px;animation:.5s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg), var(--shadow-glow);padding:48px 40px;animation:.5s .1s both slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card .logo{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:28px;display:flex;box-shadow:0 0 30px #4ade8033}.login-card h1{text-align:center;margin-bottom:8px;font-size:1.5rem}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.login-form{flex-direction:column;gap:16px;display:flex}.login-form input{border-radius:var(--radius-md);background:var(--bg-input);width:100%;padding:14px 16px;font-size:1rem}.login-form button{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;width:100%;transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:14px 24px;font-size:1rem;font-weight:600}.login-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0f8f6647}.login-form button:active:not(:disabled){transform:translateY(0)}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-card .error{color:var(--danger);text-align:center;margin-top:12px;font-size:.9rem;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.dashboard{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px;animation:.4s fadeIn}.dashboard header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex}.dashboard header h1{align-items:center;gap:12px;font-size:1.25rem;display:flex}.dashboard header h1:before{content:"";background:var(--accent-text);width:10px;height:10px;box-shadow:0 0 10px var(--accent-text);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard header .btn-logout{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:10px 20px;font-weight:500}.dashboard header .btn-logout:hover{background:var(--danger);color:#fff}.dashboard .message{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-md);margin-bottom:20px;padding:14px 20px;font-weight:500;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-content{flex-direction:column;gap:20px;display:flex}.dashboard section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:24px}.dashboard section:hover{box-shadow:var(--shadow-md)}.dashboard section h2{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;font-size:1.1rem;display:flex}.dashboard section h2:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-secondary));border-radius:2px;width:4px;height:20px}.console-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px}.console-output{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);height:200px;margin-bottom:12px;padding:12px;font-family:monospace;font-size:13px;overflow-y:auto}.console-empty{color:var(--text-secondary);font-style:italic}.console-line{margin-bottom:4px}.console-command{color:var(--accent-text)}.console-response{color:var(--text-secondary);margin-left:8px;display:block}.console-input{gap:8px;display:flex}.console-input input{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-primary);flex:1;padding:10px 14px;font-family:monospace}.console-input input:focus{border-color:var(--accent);outline:none}.console-input button{background:var(--accent);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;padding:10px 20px;font-weight:500;transition:all .2s}.console-input button:hover{background:var(--accent-hover)}.status-indicator{align-items:center;gap:12px;margin-bottom:20px;display:flex}.status-indicator .status-dot{border-radius:50%;width:16px;height:16px;animation:2s infinite pulse}.status-indicator .online .status-dot{background:var(--accent-text);box-shadow:0 0 15px var(--accent-text)}.status-indicator .offline .status-dot{background:var(--danger);box-shadow:0 0 15px var(--danger)}.status-indicator .checking .status-dot{background:var(--accent-secondary);box-shadow:0 0 15px var(--accent-secondary)}.status-indicator .unknown .status-dot{background:var(--text-muted);box-shadow:0 0 15px #6b728066}.status-indicator .status-text{font-size:1.25rem;font-weight:600}.status-indicator .online .status-text{color:var(--accent-text)}.status-indicator .offline .status-text{color:var(--danger)}.status-indicator .checking .status-text{color:var(--accent-secondary)}.status-indicator .unknown .status-text{color:var(--text-secondary)}.status-card .status-meta{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.status-details{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.status-details .stat{background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center;padding:16px}.status-details .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem}.status-details .stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.status-card .controls{gap:12px;display:flex}.status-card .controls button{border-radius:var(--radius-md);transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-weight:600;display:flex}.btn-start{background:var(--accent);color:#fff}.btn-start:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0f8f6647}.btn-stop{background:var(--danger);color:#fff}.btn-stop:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-2px);box-shadow:0 6px 20px #ef44444d}.btn-restart{background:var(--warning);color:#fff}.btn-restart:hover:not(:disabled){background:var(--warning-hover);transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b4d}.controls button:disabled{opacity:.5;cursor:not-allowed;transform:none}.plugin-list{max-height:300px;margin-bottom:20px;overflow-y:auto}.plugin-item{background:var(--bg-tertiary);border-radius:var(--radius-md);transition:background var(--transition-fast);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.plugin-item:hover{background:var(--bg-secondary)}.plugin-item .info{flex-direction:column;gap:2px;display:flex}.plugin-item .name{font-weight:500}.plugin-item .meta{color:var(--text-muted);font-size:.8rem}.plugin-item .meta .enabled{color:var(--accent-text)}.plugin-item .meta .disabled{color:var(--danger)}.plugin-item .actions{gap:8px;display:flex}.plugin-item .actions button{background:var(--bg-card);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition-fast);padding:6px 12px;font-size:.8rem}.plugin-item .actions button:hover{background:var(--bg-primary);color:var(--text-primary)}.plugin-item .actions .btn-remove:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.add-plugin h3{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem}.add-plugin input{border-radius:var(--radius-md);width:100%;margin-bottom:12px;padding:12px 16px}.add-plugin button{background:var(--bg-tertiary);width:100%;color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border);transition:all var(--transition-fast);padding:12px 20px;font-weight:500}.add-plugin button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.plugins-card .btn-refresh,.players-card .btn-refresh{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition-fast);margin-bottom:16px;padding:8px 16px;font-size:.85rem}.plugins-card .btn-refresh:hover,.players-card .btn-refresh:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.player-section{margin-bottom:24px}.player-section:last-child{margin-bottom:0}.player-section h3{border-bottom:1px solid var(--border);color:var(--text-secondary);margin-bottom:16px;padding-bottom:8px}.player-list{max-height:200px;margin-bottom:16px;overflow-y:auto}.player-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 14px;font-size:.9rem;display:flex}.player-item .player-info{align-items:center;gap:8px;display:flex}.player-item .player-info .name{font-weight:500}.player-item .player-info .uuid{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.player-item button{color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;padding:4px 10px;font-size:.75rem}.player-item button:hover{background:var(--danger);color:#fff}.add-player{flex-wrap:wrap;gap:8px;display:flex}.add-player input{border-radius:var(--radius-sm);flex:1;min-width:120px;padding:10px 14px;font-size:.9rem}.add-player button{background:var(--accent);color:#fff;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:10px 16px;font-size:.9rem;font-weight:500}.add-player button:hover{background:var(--accent-hover);transform:translateY(-1px)}.config-card .btn-refresh{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition-fast);margin-bottom:16px;padding:8px 16px;font-size:.85rem}.config-card .btn-refresh:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.config-editor{flex-direction:column;gap:12px;display:flex}.config-toolbar{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px;display:flex}.config-summary{max-width:560px;color:var(--text-secondary);font-size:.92rem}.config-summary p+p{margin-top:6px}.config-summary code,.config-field-key{font-family:var(--font-mono);color:var(--text-secondary);font-size:.78rem}.config-toolbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.config-toolbar-actions input{min-width:min(100%,260px)}.config-groups{flex-direction:column;gap:16px;display:flex}.config-group-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.config-group-toggle{width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.config-group-toggle:hover{box-shadow:none;background:#ffffff08;transform:none}.config-group-toggle span{flex-direction:column;gap:4px;display:flex}.config-group-toggle strong{font-size:1rem}.config-group-toggle small{color:var(--text-secondary);font-size:.88rem;font-weight:400}.config-group-meta{color:var(--text-muted);align-items:center;flex-direction:row!important;gap:10px!important}.config-group-chevron{font-size:1rem}.config-group-toggle.is-open{border-bottom:1px solid var(--border)}.config-fields-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:18px;display:grid}.config-field{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:14px;display:flex}.config-field.is-dirty{border-color:var(--accent);box-shadow:0 0 0 1px #4ade803d}.config-field-header{flex-direction:column;gap:4px;display:flex}.config-field-label{color:var(--text-primary);font-weight:600}.config-field-help{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.config-field input,.config-field select{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:linear-gradient(180deg, #ffffff05, #fff0), var(--bg-card);width:100%;color:var(--text-primary);box-shadow:var(--shadow-sm);padding:12px 14px}.config-toolbar-actions input{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:linear-gradient(180deg, #ffffff05, #fff0), var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm);padding:12px 14px}.config-field input:focus,.config-field select:focus,.config-toolbar-actions input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-glow)}.config-toggle{color:var(--text-primary);align-items:center;gap:10px;font-weight:500;display:inline-flex}.config-toggle input{width:auto}.config-editor button{background:var(--accent);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);align-self:flex-end;padding:12px 24px;font-weight:600}.config-editor button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0f8f6647}@media (width<=720px){.config-toolbar-actions,.config-toolbar-actions input,.config-toolbar-actions button,.config-field input,.config-field select{width:100%}}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state p{font-size:.9rem}.section-loading{text-align:center;color:var(--text-secondary);background:var(--bg-tertiary);border:1px dashed var(--border-light);border-radius:var(--radius-md);padding:24px 16px;font-size:.95rem}.world-help{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:16px;padding:14px 16px;font-size:.9rem}.world-help p+p{margin-top:8px}.world-list{max-height:250px;margin-bottom:20px;overflow-y:auto}.world-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:12px 14px;font-size:.9rem;display:flex}.world-item .world-info{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:0;display:flex}.world-item .world-name{font-weight:500}.world-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.world-item .world-env{background:var(--accent);color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:500}.world-players{color:var(--text-muted);font-size:.75rem}.world-item .world-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.world-item .world-actions button{background:var(--bg-input);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition-fast);padding:6px 12px;font-size:.75rem}.world-item .world-actions button:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.world-item .world-actions button.btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger)}.world-item .world-actions button:disabled{opacity:.4;cursor:not-allowed}.world-details-panel{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px;padding:16px}.world-details-panel h3{color:var(--text-secondary);margin-bottom:12px;font-size:.95rem}.world-details-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.world-detail-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.world-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem;display:block}.world-detail-value{color:var(--text-primary);font-weight:600}.create-world{border-top:1px solid var(--border);padding-top:16px}.create-world h3{color:var(--text-secondary);margin-bottom:12px;font-size:.95rem}.world-form{flex-wrap:wrap;gap:8px;display:flex}.world-form input,.world-form select{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);flex:1;min-width:140px;padding:10px 14px;font-size:.9rem}.world-form button{background:var(--accent);color:#fff;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:10px 18px;font-size:.9rem;font-weight:500}.world-form button:hover{background:var(--accent-hover);transform:translateY(-1px)}@media (width<=768px){.dashboard{padding:16px}.dashboard header{text-align:center;flex-direction:column;gap:16px}.world-item{flex-direction:column;align-items:flex-start}.status-details{grid-template-columns:1fr}.status-card .controls{flex-direction:column}.world-item .world-actions{justify-content:flex-start;width:100%}}
