*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:JetBrains Mono,Fira Code,monospace}.app{color:#e0e0e0;background:#1a1a2e;flex-direction:row;height:100vh;font-family:JetBrains Mono,Fira Code,monospace;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{background:#16213e;border-bottom:1px solid #0f3460;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header h1{color:#4ecca3;margin:0;font-size:1.4rem}.controls{align-items:center;gap:12px;display:flex}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot.online{background:#4ecca3;box-shadow:0 0 6px #4ecca3}.status-dot.offline{background:#e94560;box-shadow:0 0 6px #e94560}.status-text{color:#a0a0b0;font-size:.85rem}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:opacity .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-start{color:#1a1a2e;background:#4ecca3}.btn-stop{color:#fff;background:#e94560}.terminal{background:#0f0f1a;border:1px solid #0f3460;border-radius:8px;flex-direction:column;flex:1;margin:16px;display:flex;overflow:hidden}.terminal-output{flex:1;padding:16px;font-size:.8rem;line-height:1.5;overflow-y:auto}.log-line{white-space:pre-wrap;word-break:break-all}.terminal-input{background:#16213e;border-top:1px solid #0f3460;align-items:center;gap:8px;padding:10px 16px;display:flex}.terminal-input .prompt{color:#4ecca3;font-weight:700}.terminal-input input{color:#e0e0e0;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.85rem}.terminal-input input::placeholder{color:#555}@media (width<=768px){.app{flex-direction:column}.main-content{flex:1;min-height:0}.header{flex-wrap:wrap;gap:8px;padding:12px 16px}.header h1{font-size:1.1rem}.controls{gap:8px}.btn{padding:6px 12px;font-size:.8rem}.terminal{border-radius:6px;margin:8px}.terminal-output{padding:12px;font-size:.75rem}.terminal-input{padding:8px 12px}}.sidebar{background:#16213e;border-right:1px solid #0f3460;flex-direction:column;width:200px;padding:16px 0;display:flex}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-item{color:#a0a0b0;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 20px;font-family:inherit;font-size:.85rem;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-item:hover{color:#e0e0e0;background:#4ecca314}.sidebar-item.active{color:#4ecca3;background:#4ecca31f;border-left:3px solid #4ecca3;padding-left:17px}.sidebar-icon{flex-shrink:0}.sidebar-label{font-weight:500}@media (width<=768px){.sidebar{border-top:1px solid #0f3460;border-right:none;flex-direction:row;order:1;width:100%;padding:0}.sidebar-nav{flex-direction:row;justify-content:space-around;width:100%}.sidebar-item{flex-direction:column;align-items:center;gap:4px;padding:8px 12px;font-size:.7rem}.sidebar-item.active{border-top:2px solid #4ecca3;border-left:none;padding-top:6px;padding-left:12px}}.players-page{height:100%;padding:1.5rem;overflow-y:auto}.players-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.players-header h2{margin:0;font-size:1.25rem}.btn-refresh{background:var(--color-primary,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;transition:opacity .2s}.btn-refresh:hover{opacity:.85}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.players-loading,.players-error,.players-empty{color:var(--color-text-muted,#888);font-size:.9rem}.players-error{color:#f87171}.players-list{flex-direction:column;gap:.5rem;max-width:700px;display:flex}.player-card{background:var(--color-surface,#1e1e2e);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:opacity .2s;display:flex}.player-card.offline{opacity:.5}.player-card.offline .player-avatar{filter:grayscale(.6)}.player-status-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.player-card.online .player-status-indicator{background:#4ade80;box-shadow:0 0 6px #4ade8080}.player-card.offline .player-status-indicator{background:#6b7280}.player-avatar{width:40px;height:40px;image-rendering:pixelated;border-radius:4px}.player-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.player-badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{text-transform:uppercase;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.badge-op{color:#fbbf24;background:#fbbf2440}.badge-banned{color:#f87171;background:#f8717140}.badge-whitelisted{color:#60a5fa;background:#60a5fa40}.player-status-text{color:var(--color-text-muted,#888);white-space:nowrap;font-size:.8rem}.player-card.online .player-status-text{color:#4ade80}@media (width<=768px){.players-page{padding:1rem}.players-header{margin-bottom:1rem}.players-list{max-width:100%}.player-card{padding:.6rem .75rem}.player-avatar{width:32px;height:32px}.player-name{font-size:.85rem}.player-status-text{display:none}}.properties-page{height:100%;padding:1.5rem;overflow-y:auto}.properties-page h2{margin:0 0 1.5rem;font-size:1.25rem}.properties-form{grid-template-columns:1fr 1fr;gap:1rem;max-width:900px;display:grid}.property-field{background:var(--color-surface,#1e1e2e);border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.property-field label{white-space:nowrap;flex-shrink:0;font-size:.85rem}.property-field input[type=text],.property-field input[type=number],.property-field select{border:1px solid var(--color-border,#333);background:var(--color-input-bg,#111);min-width:0;color:inherit;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.85rem}.property-field input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.btn-save{background:var(--color-primary,#4caf50);color:#fff;cursor:pointer;border:none;border-radius:6px;grid-column:1/-1;margin-top:1rem;padding:.6rem 1.5rem;font-size:.9rem}.btn-save:hover{opacity:.9}@media (width<=768px){.properties-page{padding:1rem}.properties-form{grid-template-columns:1fr}.property-field{flex-wrap:wrap}.btn-save{grid-column:1}}
