:root{color-scheme:dark;--bg:#0b1113;--surface:#11191c;--border:#243034;--text:#edf3f2;--muted:#87979b;--teal:#69e7bd;--teal-dark:#142f29;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.25;letter-spacing:-1.1px;font-weight:600}h2{font-size:17px;letter-spacing:-.3px;font-weight:600}h3{font-weight:600}.muted{color:var(--muted)}.teal{color:var(--teal)}.layout{display:flex;min-height:100vh}aside{width:244px;position:fixed;inset:0 auto 0 0;background:#0e1619;border-right:1px solid var(--border);padding:32px 19px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 13px}.brand-mark{display:flex;align-items:center;justify-content:center;width:37px;height:40px;font-size:33px;font-weight:700;letter-spacing:-5px;color:var(--teal);transform:skew(-8deg);border:1px solid #3b6a5b;border-radius:10px;background:#192b26;padding-right:5px}.brand-mark span{color:#f0fff8}.brand-name{font-size:25px;letter-spacing:-1px;font-weight:650}.brand-name>span{display:block;font-size:8px;color:var(--muted);letter-spacing:2.1px;margin-top:1px}.workspace{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:12px;margin:35px 0 27px;font-size:12px}.workspace-logo{background:#29352f;border:1px solid #46564e;border-radius:6px;padding:6px 9px;color:#bfe9d6;font-weight:600}.workspace small,.profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.workspace-dot,.tiny-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);margin-left:auto}.nav-label{display:block;font-size:9px;font-weight:600;letter-spacing:1.8px;color:#677d83;margin:22px 13px 11px}aside>.nav-label{margin-top:0}nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:7px;color:#9babaf;margin:4px 0;font-size:12px}nav a svg{width:18px;height:18px}nav a:hover{background:#172226;color:#fff}nav a.active{background:#1c332d;color:var(--teal);box-shadow:inset 2px 0 var(--teal)}.nav-count{font-size:10px;margin-left:auto;border:1px solid #2b3a3d;border-radius:4px;padding:1px 5px;color:#879c9c}nav a.active .nav-count{border-color:#3e6555;color:var(--teal)}.sidebar-bottom{margin-top:auto}.connection{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding:22px 8px;font-size:10px;color:#b0c0bc}.connection svg{color:var(--teal);width:18px}.connection small{display:block;font-size:8px;color:#6b8184;margin-top:5px}.profile{width:100%;justify-content:start;text-align:left;background:none;color:var(--text);border-top:1px solid var(--border);padding:18px 4px;font-size:12px}.profile>svg{margin-left:auto;color:var(--muted);width:17px}.avatar{width:34px;height:34px;border-radius:9px;background:#293b36;border:1px solid #3a5148;color:#a8d8c5;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.avatar.small{width:30px;height:30px;font-size:9px}.main{margin-left:244px;width:calc(100% - 244px);display:flex;flex-direction:column;min-height:100vh}header{height:78px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumb{color:#788e94;font-size:11px}.breadcrumb span{margin:0 12px;color:#42565b}.breadcrumb b{font-weight:400;color:#c9d5d6}.header-right{display:flex;align-items:center;gap:23px}.environment{font-size:9px;letter-spacing:1.1px;color:#9eaeae}.environment i,.live-dot{display:inline-block;width:5px;height:5px;background:var(--teal);border-radius:50%;margin-right:6px}.content{padding:39px 42px 30px;max-width:1650px;width:100%;margin:0 auto;flex:1}.eyebrow{display:block;font-size:9px;letter-spacing:2px;color:var(--teal);font-weight:600;margin-bottom:13px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}.page-heading p{color:var(--muted);font-size:12px;margin-top:12px;line-height:1.6}.primary,.secondary,.danger{padding:11px 16px;border-radius:7px;font-size:11px;font-weight:600;min-height:39px;white-space:nowrap}.primary{background:var(--teal);color:#0d2b22;border:1px solid var(--teal);box-shadow:0 4px 20px #69e7bd0a}.primary:hover{background:#94f5d4}.secondary{background:#172125;color:#c5d2d4;border:1px solid #2b3a3e}.secondary:hover{background:#203035}.danger{background:#361f24;color:#f8a9b6;border:1px solid #63343e}.primary svg,.secondary svg{width:15px;height:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}.stat{background:linear-gradient(120deg,#141e21,#10181b);padding:20px;border:1px solid var(--border);border-radius:9px}.stat>span{font-size:8px;letter-spacing:1.4px;color:#99afb2;display:flex;align-items:center;justify-content:space-between}.stat>span svg{width:16px;height:16px;color:#6c8587}.stat strong{display:block;font-size:31px;font-weight:550;letter-spacing:-1px;margin:17px 0 10px}.stat strong small{font-size:11px;font-weight:400;color:#7d9195;margin-left:9px;letter-spacing:0}.stat p{font-size:9px;color:#6f868b}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:17px}.section-title p{font-size:11px;color:var(--muted);margin-top:7px}.subtle-label{font-size:8px;color:#687f83;letter-spacing:1.5px}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:30px}.category-card{position:relative;padding:20px 17px 14px;background:#121c1f;border:1px solid #28363a;border-radius:9px;overflow:hidden;transition:transform .18s,border-color .18s}.category-card:before{content:'';position:absolute;width:100px;height:100px;top:-40px;right:-35px;background:radial-gradient(circle,#80d3b811,transparent 70%)}.category-card:hover{transform:translateY(-4px);border-color:#5c8f7c}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.category-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #2e594a;border-radius:10px;background:#1b352c;color:#7ce4b9}.category-icon svg{width:21px;height:21px}.card-index{font-size:9px;color:#526b73;font-family:monospace;margin-top:4px}.category-card h3{font-size:14px;letter-spacing:-.3px;margin-bottom:8px;white-space:nowrap}.category-card>p{font-size:10px;line-height:1.65;color:#81989d;min-height:32px}.card-bottom{border-top:1px solid #263539;margin-top:18px;padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8da5a8}.card-arrow{color:#a4bebc}.card-arrow svg{width:15px;height:15px}.lobby .category-icon,.mini-icon.lobby{color:#91c7fa;background:#192e40;border-color:#2d4d68}.game .category-icon,.mini-icon.game{color:#c0a2ed;background:#2d233c;border-color:#4c3a63}.bot .category-icon,.mini-icon.bot{color:#b3b8ff;background:#262a47;border-color:#40466a}.website .category-icon,.mini-icon.website{color:#e9bd88;background:#372d21;border-color:#5f4b31}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:20px}.panel{background:#111a1d;border:1px solid var(--border);border-radius:9px;overflow:hidden}.panel-heading{padding:20px 21px;border-bottom:1px solid #223034;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading h2{font-size:13px;display:flex;gap:8px;align-items:center}.panel-heading h2 svg{width:16px;color:#8caaa9}.text-button{background:none;padding:0;color:#8aa3a6;font-size:10px}.text-button svg{width:13px;height:13px}.text-button:hover{color:var(--teal)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:10px}th{font-size:8px;color:#6e878d;font-weight:500;letter-spacing:1px;text-align:left;padding:14px 15px;background:#121e21}td{padding:15px;border-top:1px solid #202e31;color:#b1c2c4}td:first-child,th:first-child{padding-left:21px}td small{display:block;color:#6f878c;font-size:9px;margin-top:5px}.instance-link{background:none;color:inherit;padding:0;text-align:left;gap:11px}.instance-link strong{font-size:11px;font-weight:500}.instance-link small{font-size:9px}.mini-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:33px;background:#20392e;border:1px solid #385747;border-radius:6px;color:#7bc7a4}.mini-icon svg{width:16px;height:16px}.status{display:inline-flex;gap:6px;align-items:center;padding:5px 8px;color:#9daeb0;background:#1f2b2e;border:1px solid #334347;border-radius:5px;font-size:9px;white-space:nowrap}.status i{width:4px;height:4px;border-radius:50%;background:currentColor}.status.online{color:#82e0b6;background:#193128;border-color:#2b5141}.status.warning{color:#e7bb81;background:#30291d;border-color:#65512f}.icon-button{background:none;color:#7d979b;padding:4px}.icon-button svg{width:16px}.activity{padding:5px 20px 15px}.activity-item{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px solid #213034}.activity-item:last-child{border:0}.activity-icon{border:1px solid #2e4542;border-radius:6px;background:#1d2d2b;color:#8ec4b0;padding:7px;display:flex}.activity-icon svg{width:13px;height:13px}.activity-item p{font-size:10px;line-height:1.5}.activity-item small{color:#6f888d;font-size:8px;display:block;margin-top:4px}.infra-note{display:flex;align-items:center;gap:17px;background:linear-gradient(110deg,#142620,#111b1e);border:1px solid #294238;border-radius:8px;padding:20px;margin-top:25px}.infra-note>svg{width:25px;height:25px;color:#6cb999}.infra-note strong{font-size:11px;font-weight:500}.infra-note p{font-size:10px;color:#7f9b96;line-height:1.7;margin-top:5px}.infra-note a{margin-left:auto;white-space:nowrap;color:#a1c7b7;font-size:9px;display:flex;gap:9px;align-items:center}.infra-note a svg{width:14px}footer{margin:0 42px;border-top:1px solid #223034;padding:20px 0;display:flex;justify-content:space-between;font-size:8px;color:#849c9d}footer>span:last-child{font-size:7px;letter-spacing:1px}footer .muted{margin-left:7px;color:#536c72}.empty{padding:45px 20px;text-align:center;grid-column:1/-1}.empty>svg{width:32px;height:32px;color:#5d8377;margin-bottom:17px}.empty h3{font-size:15px;font-weight:500}.empty p{font-size:11px;color:#7f979b;line-height:1.7;margin:10px 0 20px}.toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.toolbar input{max-width:350px}.node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.node-card{padding:24px}.node-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.node-url{font-size:11px;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}.node-metrics{display:flex;gap:45px;padding:22px 0;margin:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.node-metrics small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px}.node-metrics strong{font-size:20px;display:block;margin-top:10px;font-weight:500}.full{width:100%}.back{margin-bottom:23px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.console-panel pre{height:380px;background:#091012;color:#99c6b4;overflow:auto;margin:0;padding:22px;font:11px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.console-actions{padding:18px;display:flex;gap:10px;border-top:1px solid var(--border)}dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 8px;padding:22px;margin:0;font-size:11px}dt{color:#839a9f}dd{margin:0;text-align:right;overflow-wrap:anywhere}.upload-label{margin:0 22px 15px;display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;border:1px dashed #45635a;border-radius:7px;color:var(--teal);font-size:11px;cursor:pointer}.upload-label svg{width:16px}.config-panel>.hint{padding:0 22px 22px}.hint{font-size:10px;color:#819b9d;line-height:1.7}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{position:relative;min-height:700px;background:radial-gradient(ellipse at 55% 25%,#183d2f70,transparent 60%),#0d1918;overflow:hidden;border-right:1px solid #274238}.login-brand{display:flex;align-items:center;gap:12px;position:absolute;top:55px;left:60px}.login-copy{position:absolute;bottom:90px;left:60px;z-index:1}.login-copy h1{font-size:45px;letter-spacing:-1.8px;line-height:1.2}.login-copy p{color:#84a398;font-size:13px;line-height:1.9;margin-top:22px}.edition{display:block;margin-top:48px;color:#517c6b;font-size:8px;letter-spacing:2px}.orbit{position:absolute;border:1px solid #32654e55;border-radius:50%;width:430px;height:430px;top:60px;left:calc(50% - 215px);transform:rotateX(55deg) rotate(-25deg)}.orbit-two{transform:rotateX(55deg) rotate(35deg);width:300px;height:470px;left:calc(50% - 150px);top:40px}.orbit-three{width:260px;height:260px;top:140px;left:calc(50% - 130px);border-style:dashed;transform:rotate(-15deg)}.network-core{position:absolute;top:215px;left:calc(50% - 45px);width:90px;height:90px;display:grid;place-items:center;background:linear-gradient(140deg,#3b795a,#18352b);border:1px solid #70bd92;border-radius:25px;box-shadow:0 0 90px #5ee8ad22;transform:rotate(-10deg)}.network-core svg{width:45px;height:45px;color:#91e6b9}.login-form-wrap{align-self:center;justify-self:center;width:min(380px,calc(100% - 50px));padding:50px 0}.tag{display:inline-flex;gap:8px;align-items:center;color:#95b5a7;background:#152b23;border:1px solid #2e4c3c;padding:7px 10px;border-radius:5px;font-size:9px;margin-bottom:35px}.tag svg{width:13px;height:13px}.login-form-wrap h2{font-size:29px;letter-spacing:-1px}.login-form-wrap>p{color:#83999e;font-size:12px;line-height:1.6;margin:13px 0 32px}label{display:block;font-size:11px;color:#b6c6c8;margin-bottom:20px}input,select{display:block;width:100%;background:#121e21;border:1px solid #2b3f44;border-radius:6px;color:#e0edeb;padding:12px 13px;margin-top:9px;outline:none;font-size:12px;min-height:41px}input::placeholder{color:#4f6c73}input:focus,select:focus{border-color:#69b799;box-shadow:0 0 0 3px #69e7bd0a}.login-form-wrap .primary{width:100%;justify-content:space-between;margin-top:8px}.login-form-wrap>small{display:block;text-align:center;color:#4f6d72;font-size:10px;margin-top:38px}.form-error{color:#f4a4af;font-size:11px;line-height:1.6;margin-bottom:15px}.form-error:empty{display:none}dialog{background:#111c20;border:1px solid #355047;color:var(--text);border-radius:14px;padding:35px;width:min(590px,calc(100% - 30px));max-height:92vh;overflow:auto;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#030a0dbb;backdrop-filter:blur(6px)}dialog h2{font-size:25px;letter-spacing:-.7px}.dialog-subtitle{color:var(--muted);font-size:11px;margin:11px 0 27px}.modal-close{position:absolute;top:17px;right:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.6}.check input{width:15px;min-height:15px;height:15px;margin:0;accent-color:var(--teal)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px;border-top:1px solid var(--border);padding-top:23px}.dialog-actions .primary{flex:1}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);padding:14px 22px;max-width:calc(100% - 30px);width:max-content;border:1px solid #39624e;background:#193329;color:#b4f2d3;box-shadow:0 8px 40px #0006;border-radius:8px;font-size:12px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:100}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#381e26;border-color:#7f3d50;color:#ffc0cf}[hidden]{display:none!important}@media(min-width:1550px){.content{padding-top:48px}.category-card{padding:24px}.category-card h3{font-size:16px}.category-card>p{font-size:11px}.card-top{margin-bottom:30px}.stats{margin-bottom:42px}.bottom-grid{margin-top:38px}}@media(max-width:1200px){aside{width:210px;padding-left:13px;padding-right:13px}.main{margin-left:210px;width:calc(100% - 210px)}.content{padding:30px 25px}header{padding:0 25px}footer{margin:0 25px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.stat>span{font-size:7px;letter-spacing:.7px}.page-heading h1{font-size:28px}.infra-note a{display:none}.node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-copy h1{font-size:35px}.login-copy,.login-brand{left:35px}}@media(max-width:800px){aside{position:relative;width:100%;padding:18px 15px;border-right:0;border-bottom:1px solid var(--border)}.layout{display:block}.brand{padding-left:0}.brand-name{font-size:21px}.brand-mark{width:32px;height:34px;font-size:28px}.workspace,aside>.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:5px;margin-top:17px;padding-bottom:3px}nav .nav-label{display:none}nav a{white-space:nowrap;padding:10px;font-size:10px}nav a svg{width:15px;height:15px}.nav-count{display:none}.main{margin-left:0;width:100%}header{height:55px;padding:0 20px}.content{padding:28px 20px}.environment{display:none}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:27px}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:18px}.stat>span{font-size:8px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card{padding:19px}.category-card h3{font-size:14px}.detail-grid{grid-template-columns:1fr}.node-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{padding:60px 0;align-self:start}.login-page:before{content:'lumura / NETWORK PANEL';text-align:center;font-size:13px;letter-spacing:2px;color:#69e7bd;padding-top:60px}.login-page{display:block;min-height:100vh}.login-form-wrap{margin:auto}.login-page:before{display:block}footer{margin:0 20px}footer>span:last-child{display:none}.infra-note{align-items:flex-start;padding:17px}.infra-note p{font-size:10px}.console-panel pre{height:300px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Lumura graphite theme — neutral dark grey with distinct service accents. */
:root {
  --bg: #222328;
  --surface: #2c2e34;
  --border: #42444e;
  --text: #f4f4f8;
  --muted: #b0b2c1;
  --teal: #70ebc7;
  --teal-dark: #263e38;
}
body { background: var(--bg); }
.main {
  background: radial-gradient(ellipse at 90% 0%, #a78bfa0a, transparent 48%), var(--bg);
}
aside { background: #27282e; border-color: #41434c; }
header { background: #292a30; border-color: #42444e; }
.brand-mark { background: #32463f; border-color: #5a9e85; box-shadow: 0 0 22px #70ebc714; }
.brand-name>span, .workspace small, .profile small { color: #acafbd; }
.workspace { background: #303139; border-color: #474955; }
.workspace-logo { background: #424348; border-color: #62656d; color: #dcf6ec; }
.nav-label { color: #a0a2b4; }
nav a { --nav-accent: #b49aff; color: #c4c5d1; }
nav a[href="#proxy"] { --nav-accent: #65e7c5; }
nav a[href="#lobby"] { --nav-accent: #79bfff; }
nav a[href="#game"] { --nav-accent: #c3a1ff; }
nav a[href="#bot"] { --nav-accent: #f19adb; }
nav a[href="#website"] { --nav-accent: #ffc17d; }
nav a[href="#nodes"] { --nav-accent: #83dbef; }
nav a svg { color: var(--nav-accent); }
nav a:hover { background: #35363f; color: #fff; }
nav a.active {
  background: color-mix(in srgb, var(--nav-accent) 13%, #292a31);
  color: var(--nav-accent);
  box-shadow: inset 3px 0 var(--nav-accent);
}
.nav-count { color: #b5b7c6; background: #2b2c33; border-color: #4d4f5b; }
nav a.active .nav-count { color: var(--nav-accent); border-color: color-mix(in srgb, var(--nav-accent) 40%, #3a3b43); }
.connection, .profile { border-color: #43454e; }
.connection { color: #d3ddd8; }
.connection small { color: #a1aaa8; }
.avatar { background: #42404f; border-color: #75638a; color: #e4cdfa; }
.breadcrumb { color: #afb0bf; }
.breadcrumb span { color: #7e8090; }
.breadcrumb b { color: #e0e0eb; }
.environment { color: #c5c5d0; }
.eyebrow { color: #9de9d5; }
.primary {
  background: linear-gradient(120deg, #77efc9, #63d9db);
  color: #15302c;
  border-color: #96f7db;
  box-shadow: 0 4px 20px #62dec323;
}
.primary:hover { background: linear-gradient(120deg, #a3f8de, #8debf0); box-shadow: 0 5px 25px #62dec33b; }
.secondary { background: #393b44; color: #e4e3ef; border-color: #595b69; }
.secondary:hover { background: #484a56; border-color: #9293a6; }
.danger { background: #56303c; color: #ffc0cf; border-color: #935264; }
.stat { background: linear-gradient(130deg, #33353d, #2b2d34); border-color: #494b57; box-shadow: 0 5px 16px #10111516; }
.stat:nth-child(1) { border-top: 2px solid #b99bfa; }
.stat:nth-child(2) { border-top: 2px solid #6de3b9; }
.stat:nth-child(3) { border-top: 2px solid #7dbfff; }
.stat:nth-child(4) { border-top: 2px solid #f2b77a; }
.stat:nth-child(1)>span svg { color: #c4a5ff; }
.stat:nth-child(2)>span svg { color: #77efc9; }
.stat:nth-child(3)>span svg { color: #8cc8ff; }
.stat:nth-child(4)>span svg { color: #ffcb92; }
.stat>span, .stat strong small { color: #bebfce; }
.stat p { color: #a7aab9; }
.subtle-label { color: #a5a7b8; }
.category-card { --card-accent: #65e7c5; --card-tint: #30483e; background: #30323a; border: 1px solid #4c4e5c; border-top: 3px solid var(--card-accent); box-shadow: 0 8px 22px #11121720; }
.category-card.proxy { --card-accent: #65e7c5; --card-tint: #2b4b40; }
.category-card.lobby { --card-accent: #79bfff; --card-tint: #30445e; }
.category-card.game { --card-accent: #c3a1ff; --card-tint: #49395f; }
.category-card.bot { --card-accent: #f19adb; --card-tint: #51394e; }
.category-card.website { --card-accent: #ffc17d; --card-tint: #514431; }
.category-card:before { background: radial-gradient(circle, color-mix(in srgb, var(--card-accent) 16%, transparent), transparent 70%); width: 180px; height: 180px; top: -70px; right: -65px; }
.category-card:hover { border-color: var(--card-accent); background: color-mix(in srgb, var(--card-accent) 6%, #30323a); box-shadow: 0 10px 28px #10111545; }
.category-card .category-icon { background: var(--card-tint); color: var(--card-accent); border-color: color-mix(in srgb, var(--card-accent) 40%, #3c3e49); box-shadow: 0 0 20px color-mix(in srgb, var(--card-accent) 9%, transparent); }
.card-index { color: var(--card-accent); opacity: .72; }
.category-card>p { color: #c0bfce; }
.card-bottom { color: #c0c1cf; border-color: #4a4b58; }
.card-arrow { color: var(--card-accent); }
.panel { background: #2c2e35; border-color: #464853; box-shadow: 0 4px 15px #10111512; }
.panel-heading { background: #30323a; border-color: #464853; }
.panel-heading h2 svg { color: #b4a1ef; }
.text-button { color: #c4b6ef; }
.text-button:hover { color: #e3d5ff; }
th { background: #343640; color: #bfc1d1; }
td { color: #d4d5e0; border-color: #42444f; }
td small { color: #a8abba; }
.instance-link:hover strong { color: #c6abff; }
.icon-button { color: #bdc0d0; }
.status { color: #c7c9d5; background: #3b3e48; border-color: #606372; }
.status.online { color: #9df4cc; background: #2b4b3e; border-color: #548d70; }
.status.warning { color: #ffcf95; background: #514332; border-color: #93734c; }
.activity-item { border-color: #444650; }
.activity-icon { background: #40394e; border-color: #6e5d86; color: #ceb2fa; }
.activity-item small { color: #adafbd; }
.infra-note { background: linear-gradient(110deg, #363544, #2d333b); border-color: #5a536c; }
.infra-note>svg { color: #bba2ed; }
.infra-note p { color: #b9bdcc; }
.infra-note a { color: #d6bcff; }
footer { border-color: #444650; color: #c2c2d0; }
footer .muted { color: #a0a2b4; }
.empty>svg { color: #aa94cc; }
.empty p { color: #b2b3c3; }
.node-url { color: #b4b8c8; }
.node-metrics { border-color: #494b57; }
.category-icon { background: #344844; border-color: #527e73; color: #8ce9ce; }
.console-panel pre { background: #202227; color: #b5e9cd; }
.console-actions { background: #30323a; border-color: #484a56; }
dt, .hint { color: #b2b6c6; }
.upload-label { background: #343640; color: #bcecd9; border-color: #6b8e81; }
.upload-label:hover { background: #3b4545; }
input, select { background: #24262c; border-color: #575967; color: #f0f0f7; }
input::placeholder { color: #9b9eae; }
input:focus, select:focus { border-color: #b6a0ee; box-shadow: 0 0 0 3px #b6a0ee20; }
label { color: #d2d3e1; }
dialog { background: #30323a; border-color: #6b627e; }
dialog::backdrop { background: #111218bf; }
.modal-close { color: #d3c4ed; }
.dialog-actions { border-color: #4c4e5b; }
.login-art {
  background: radial-gradient(ellipse at 65% 23%, #a587e72a, transparent 50%), radial-gradient(ellipse at 10% 80%, #61d9ba17, transparent 52%), #292b32;
  border-color: #4a4759;
}
.login-form-wrap .tag { background: #393447; border-color: #65567d; color: #ddc9ff; }
.login-copy p { color: #b9b9ce; }
.edition { color: #a2a0bb; }
.orbit { border-color: #9b84c363; }
.orbit-two { border-color: #6dcbb16b; }
.orbit-three { border-color: #de9ccf70; }
.network-core { background: linear-gradient(140deg, #7857a0, #397b73); border-color: #d0b1fa; box-shadow: 0 0 95px #b68af735; }
.network-core svg { color: #eef7ff; }
.login-form-wrap>p { color: #babdcc; }
.login-form-wrap>small { color: #a2a5b6; }
#toast { background: #324c40; border-color: #6e9d82; color: #d2ffe3; }
#toast.error { background: #55323f; border-color: #a65d77; color: #ffd5e3; }
@media(prefers-reduced-motion: no-preference) {
  .primary, .secondary, nav a { transition: background .18s, border-color .18s, box-shadow .18s; }
}
/* Spacious login with the Lumura brand retained in the upper left. */
.login-page {
  position: relative;
  display: flex;
  min-height: 100vh;
  min-height: 100dvh;
  align-items: center;
  justify-content: center;
  padding: 140px 28px 70px;
  background: radial-gradient(ellipse at 50% 42%, #b49aff09, transparent 58%), #222328;
}
.login-page::before { display: none; }
.login-brand { position: absolute; top: 42px; left: 48px; display: flex; gap: 12px; align-items: center; }
.login-form-wrap {
  width: min(620px, 100%);
  margin: 0;
  padding: 52px 56px;
  align-self: auto;
  background: #2c2e35;
  border: 1px solid #484b57;
  border-radius: 18px;
  box-shadow: 0 24px 70px #10111536;
}
.login-form-wrap .tag { font-size: 11px; padding: 9px 12px; margin-bottom: 26px; }
.login-form-wrap h2 { font-size: 38px; }
.login-form-wrap>p { font-size: 15px; margin: 15px 0 34px; line-height: 1.7; }
.login-form-wrap label { font-size: 14px; margin-bottom: 25px; }
.login-form-wrap input { font-size: 16px; min-height: 58px; padding: 17px 18px; margin-top: 12px; border-radius: 9px; }
.login-form-wrap .primary { min-height: 58px; padding: 17px 20px; font-size: 15px; border-radius: 9px; }
.login-form-wrap .primary svg { width: 20px; height: 20px; }
.login-form-wrap .form-error { font-size: 13px; }
.login-form-wrap>small { font-size: 12px; margin-top: 28px; }
@media(max-width: 640px) {
  .login-page { padding: 115px 18px 35px; }
  .login-brand { top: 28px; left: 25px; }
  .login-form-wrap { padding: 32px 24px; border-radius: 14px; }
  .login-form-wrap h2 { font-size: 30px; }
  .login-form-wrap>p { font-size: 13px; }
}
/* Login refresh: graphite, aurora accents and measured panel availability. */
.login-page {
  isolation: isolate;
  padding: 118px 24px 42px;
  background:
    radial-gradient(ellipse at 15% 20%, #915eff25, transparent 42%),
    radial-gradient(ellipse at 85% 75%, #40dbcf1b, transparent 40%),
    radial-gradient(ellipse at 75% 12%, #df73cb12, transparent 32%), #222328;
}
.login-page::before {
  content: ''; display: block; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(#c4b4ec08 1px, transparent 1px), linear-gradient(90deg, #c4b4ec08 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, #0008, transparent 80%);
}
.login-brand { top: 32px; left: 42px; }
.login-brand .brand-mark { background: linear-gradient(145deg, #3a6b5e, #3f3b63); border-color: #92dcc9; box-shadow: 0 0 28px #75e8ce24; }
.login-top-status { position: absolute; top: 36px; right: 42px; }
.panel-health {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px;
  border: 1px solid #737082; border-radius: 999px; background: #393741; color: #d4ccdf;
  font-size: 11px; line-height: 1.3; font-weight: 500; white-space: nowrap;
}
.panel-health i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.panel-health.online { background: #213f35; border-color: #477c65; color: #9af1c4; }
.panel-health.online i { box-shadow: 0 0 0 4px #82e9b914; }
.panel-health.offline { background: #492d37; border-color: #986273; color: #ffb5c8; }
.panel-health.checking { background: #413a2d; border-color: #806d45; color: #f3d69b; }
.login-form-wrap {
  position: relative; overflow: hidden; width: min(610px, 100%); padding: 34px 46px 25px;
  background: linear-gradient(145deg, #32313eeb, #2c3037f5 65%);
  border: 1px solid #625c77; border-radius: 22px;
  box-shadow: 0 25px 90px #10101670, 0 0 80px #9d75f20b, inset 0 1px 0 #ffffff0c;
}
.login-accent-line {
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #9b83ff, #df8cdd 35%, #7eeaca 70%, #6ac9f3);
  box-shadow: 0 0 25px #b191fc45;
}
.login-card-intro { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.login-emblem { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; background: linear-gradient(135deg, #6c4d964f, #377b704d); border: 1px solid #9c88b18c; color: #dbcaff; box-shadow: inset 0 1px 0 #ffffff19; }
.login-emblem svg { width: 24px; height: 24px; }
.login-kicker { font-size: 9px; font-weight: 600; letter-spacing: 1.7px; color: #cac1dc; }
.login-form-wrap h2 { font-size: 37px; letter-spacing: -1.3px; line-height: 1.2; }
.login-form-wrap h2 span { color: #c1adff; background: linear-gradient(100deg, #b6a3ff, #ecabd9); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.login-form-wrap>p { font-size: 13px; margin: 13px 0 26px; color: #bcbccf; }
.login-form-wrap label { font-size: 12px; margin-bottom: 20px; font-weight: 500; color: #dbd7e8; }
.login-input { display: block; position: relative; margin-top: 10px; }
.login-input .input-symbol { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9da7c9; pointer-events: none; }
.input-symbol svg { width: 18px; height: 18px; }
.login-form-wrap .login-input input { margin: 0; min-height: 54px; padding: 15px 16px 15px 47px; font-size: 14px; background: #25262f; border: 1px solid #57576b; border-radius: 9px; }
.login-form-wrap .login-input input:focus { background: #292b35; border-color: #8ce5dc; box-shadow: 0 0 0 3px #76ded314; }
.login-form-wrap label:nth-child(2) .login-input input:focus { border-color: #b8a0ee; box-shadow: 0 0 0 3px #a98ce515; }
.login-input:focus-within .input-symbol { color: #bdadf3; }
.login-form-wrap .primary { min-height: 54px; margin-top: 5px; padding: 15px 18px; font-size: 13px; background: linear-gradient(110deg, #a793f6, #8ebbe9 50%, #76e1ce); border: 1px solid #c0b0ff; color: #202433; box-shadow: 0 7px 26px #ae8af52b; }
.login-form-wrap .primary:hover { background: linear-gradient(110deg, #c1b1ff, #afd8ff 50%, #a0f2dd); box-shadow: 0 7px 30px #ae8af546; }
.login-service-status { background: #252a308c; border: 1px solid #47585a; border-radius: 11px; margin-top: 25px; padding: 15px; }
.service-status-main { display: flex; align-items: center; gap: 11px; }
.service-icon { display: grid; place-items: center; width: 34px; height: 34px; background: #31443f; border: 1px solid #52776a; color: #a0e6ce; border-radius: 9px; }
.service-icon svg { width: 19px; height: 19px; }
.service-status-main strong { display: block; font-size: 11px; font-weight: 600; }
.service-status-main small { display: block; font-size: 9px; color: #b1bac4; margin-top: 5px; }
.service-status-main .panel-health { margin-left: auto; font-size: 10px; padding: 6px 9px; }
.login-service-status>p { font-size: 9px; line-height: 1.7; color: #a4b4be; margin-top: 12px; border-top: 1px solid #424e55; padding-top: 10px; }
.login-bottom { display: flex; justify-content: space-between; gap: 12px; color: #a7a9bd; font-size: 9px; margin-top: 21px; }
.login-bottom>span:first-child { display: flex; align-items: center; gap: 5px; }
.login-bottom svg { width: 12px; height: 12px; color: #bea6eb; }
@media(max-width: 640px) {
  .login-page { padding: 105px 16px 30px; }
  .login-brand { top: 25px; left: 22px; }
  .login-top-status { top: 29px; right: 20px; }
  .login-top-status .panel-health { font-size: 9px; padding: 7px 9px; }
  .login-form-wrap { padding: 27px 24px 23px; border-radius: 17px; }
  .login-form-wrap h2 { font-size: 30px; }
  .login-kicker { font-size: 8px; letter-spacing: 1.1px; }
  .service-status-main { gap: 8px; }
  .service-icon { display: none; }
  .login-bottom { font-size: 8px; gap: 8px; flex-wrap: wrap; }
}
@media(prefers-reduced-motion: no-preference) {
  .panel-health.online i { animation: panel-beacon 2.8s ease-in-out infinite; }
  @keyframes panel-beacon { 50% { box-shadow: 0 0 0 5px #82e9b924; } }
}
.example-status { background: #40334e; border-color: #80669b; color: #dfb8ff; }
.example-config { max-width: 650px; margin-top: 24px; }

/* Expandable instance tree and lifecycle controls. */
aside nav { overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: #5c536c transparent; padding-bottom: 10px; }
.nav-section-heading { display: flex; align-items: center; gap: 3px; }
.nav-section-heading>a { flex: 1; min-width: 0; padding-right: 9px; gap: 9px; }
.nav-toggle { width: 23px; height: 29px; border-radius: 5px; color: #b9abc9; background: #34323d; flex: 0 0 23px; }
.nav-toggle:hover { background: #514461; color: #fff; }
.nav-toggle span { transform: rotate(180deg); font-size: 17px; line-height: 1; }
.nav-toggle.expanded span { transform: none; }
.nav-instances { margin: 1px 5px 9px 23px; padding: 3px 0 2px 11px; border-left: 1px solid #55505f; }
.nav-instance { display: flex; justify-content: flex-start; align-items: center; gap: 8px; width: 100%; text-align: left; color: #c9c8d7; background: none; padding: 9px 6px; border-radius: 6px; font-size: 10px; }
.nav-instance:hover,.nav-instance.selected { color: #eee3ff; background: #42394d; }
.nav-instance>span:last-child { overflow-wrap: anywhere; }
.nav-instance small { display: block; margin-top: 4px; color: #aaa5bb; font-size: 8px; }
.instance-tree-dot { flex: 0 0 5px; height: 5px; border-radius: 50%; background: #b49aff; }
.instance-tree-dot.proxy { background: #65e7c5; }
.instance-tree-dot.lobby { background: #79bfff; }
.instance-tree-dot.game { background: #c3a1ff; }
.nav-empty { display: block; color: #a9a3b6; font-size: 9px; padding: 9px 4px; }
.instance-controls { padding: 18px; margin-top: 22px; border: 1px solid #51495e; border-radius: 9px; background: #303039; }
.control-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.control-buttons .danger { margin-left: auto; }
.instance-controls>p { font-size: 10px; color: #c6b8db; line-height: 1.6; margin-top: 12px; }
.console-panel>.instance-controls { border: 0; border-top: 1px solid #484a56; border-radius: 0; margin-top: 0; }
.stop-button { color: #ffd3a2; border-color: #7c6651; background: #473d33; }
@media(max-width: 800px) {
  aside nav { display: block; max-height: 285px; overflow-y: auto; }
  .nav-section-heading>a { font-size: 11px; }
  .nav-instances { margin-left: 20px; }
  .control-buttons { gap: 8px; }
  .control-buttons button { flex: 1 1 130px; }
  .control-buttons .danger { margin-left: 0; }
}
.edit-button { background: #44374f; border-color: #86709a; color: #e6c9ff; }
.edit-button:hover { background: #564364; }

.local-target-hint { margin: 18px 0; min-height: 48px; }

.file-manager { margin: 28px 0; overflow: hidden; }
.file-manager .panel-heading { align-items: center; gap: 16px; flex-wrap: wrap; }
.file-manager .eyebrow { font-size: 10px; margin-bottom: 8px; color: #a99cff; }
.file-pending { font-size: 12px; color: #e7c581; padding: 9px 13px; border-radius: 9px; background: #443c2e; }
.file-tabs { display:flex; gap:8px; padding: 0 24px 18px; border-bottom: 1px solid #444650; flex-wrap:wrap; }
.file-tabs button { display:flex; align-items:center; gap:9px; padding:12px 20px; border-radius:10px; background:#35373f; color:#bfc1ce; border:1px solid transparent; font-weight:600; }
.file-tabs button svg { width:18px; height:18px; }
.file-tabs button[aria-selected="true"] { color:#ded5ff; background:#51426b; border-color:#9b7ddd; }
.file-tabs button:nth-child(1)[aria-selected="true"] { color:#95ecd3; background:#304c45; border-color:#588b7c; }
.file-tabs button:nth-child(2)[aria-selected="true"] { color:#aacdff; background:#35455f; border-color:#6789bd; }
.file-tabs button:nth-child(4)[aria-selected="true"] { color:#ffd0a3; background:#564334; border-color:#b58660; }
.file-notice { display:flex; align-items:center; gap:12px; background:#30343d; padding:14px 24px; color:#bfc6d8; }
.file-notice>svg { width:22px; height:22px; flex-shrink:0; color:#a99cff; }
.file-notice p { margin:0; font-size:12px; line-height:1.7; }
#file-workspace { padding:24px; }
.file-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.file-toolbar h3 { margin:0 0 7px; }
.file-toolbar p { color:#b8bac7; font-size:13px; margin:0; max-width:550px; line-height:1.6; }
.file-toolbar>div:last-child { display:flex; gap:8px; flex-shrink:0; }
.file-toolbar button svg { width:16px; height:16px; }
.file-list { border:1px solid #454751; border-radius:12px; overflow:hidden; }
.file-row { display:flex; align-items:center; gap:14px; padding:17px; border-bottom:1px solid #42444c; }
.file-row:last-child { border-bottom:0; }
.file-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#3c414f; color:#b4caff; flex-shrink:0; }
.file-symbol svg { width:21px; height:21px; }
.file-row>div { flex:1; min-width:0; }
.file-row strong { display:block; overflow-wrap:anywhere; font-size:13px; }
.file-row small { display:block; margin-top:7px; font-size:11px; color:#b8bac7; }
.file-remove { color:#efa3ad; }
.file-empty { padding:35px 18px; text-align:center; }
.file-empty svg { width:30px; height:30px; color:#b19bff; }
.file-empty p { color:#b8bac7; font-size:13px; line-height:1.7; }
.file-editor { margin-top:22px; padding:22px; background:#25272e; border:1px solid #65577c; border-radius:12px; }
.file-editor label { display:flex; flex-direction:column; gap:9px; margin:18px 0; font-size:13px; color:#d4d6e1; }
.file-editor input, .file-editor textarea { box-sizing:border-box; width:100%; padding:12px 14px; background:#1f2127; color:#e6e8f2; border:1px solid #515461; border-radius:8px; }
.file-editor textarea { min-height:320px; resize:vertical; font-family:Consolas,monospace; line-height:1.65; tab-size:2; white-space:pre; }
.file-editor-tools { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.file-editor-tools .upload-label { margin:0; }
@media(max-width:800px) { .file-toolbar { flex-direction:column; align-items:stretch; } .file-tabs { padding:0 14px 14px; } .file-tabs button { flex:1; justify-content:center; padding:10px; } #file-workspace { padding:14px; } .file-row { flex-wrap:wrap; } .file-editor { padding:14px; } }

/* Unified workspace design: graphite surfaces, restrained light, service colours. */
:root {
  --bg: #1c1e23;
  --surface: #25282e;
  --border: #393d46;
  --text: #f1f2f6;
  --muted: #a5aab8;
  --teal: #83e4c5;
  font-family: "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
}
body { background: var(--bg); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { letter-spacing: .05px; }
button:disabled { cursor: wait; }
textarea:focus-visible { outline: 2px solid #ab9af2; outline-offset: 3px; }
::selection { background: #8e79c985; color: #fff; }
aside { width: 252px; padding: 30px 17px 0; background: #23252b; border-right: 1px solid #383b43; }
.brand { padding: 0 12px; gap: 13px; }
.brand-mark { width: 39px; height: 41px; background: linear-gradient(145deg,#416957,#2b3f3b); border-color: #77a491; box-shadow: 0 6px 16px #0c0e1540, inset 0 1px #ffffff18; }
.brand-name { font-size: 26px; font-weight: 700; letter-spacing: -1.1px; }
.brand-name>span { color: #a9afbb; font-size: 8px; letter-spacing: 2.7px; }
.workspace { background: linear-gradient(120deg,#30333c,#292c33); border: 1px solid #444854; border-radius: 12px; margin: 30px 0 24px; padding: 14px 12px; font-size: 12px; }
.workspace-logo { color: #d8cef4; background: #454152; border: 1px solid #676075; border-radius: 8px; }
.workspace small { color: #a9aebb; margin-top: 5px; }
.workspace-dot { box-shadow: 0 0 0 4px #83e4c50c; }
.nav-label { font-size: 9px; letter-spacing: 1.8px; color: #8e94a5; margin: 24px 13px 12px; }
aside nav { scrollbar-width: thin; scrollbar-color: #535463 transparent; }
nav a { font-size: 12px; font-weight: 500; min-height: 44px; color: #b8becd; border-radius: 8px; }
nav a:hover { background: #2f323b; color: #fff; }
nav a.active { color: var(--nav-accent); background: color-mix(in srgb,var(--nav-accent) 11%,#24272d); box-shadow: inset 3px 0 var(--nav-accent); }
.nav-section-heading>a { padding-left: 12px; }
.nav-count { background: #20232980; color: #c5cad6; padding: 2px 6px; border-color: #444956; border-radius: 5px; font-size: 9px; }
.nav-toggle { background: transparent; color: #9095a7; }
.nav-toggle:hover { background: #383a45; }
.nav-instances { border-left-color: #424650; margin-left: 21px; padding-left: 12px; }
.nav-instance { border: 1px solid transparent; font-size: 11px; padding: 10px 8px; gap: 9px; }
.nav-instance small { color: #9ea6b8; font-size: 9px; margin-top: 5px; }
.nav-instance:hover { background: #30333c; }
.nav-instance.selected { background: #393440; border-color: #5a4e68; color: #efe4ff; }
.nav-empty { color: #8d95a8; font-size: 10px; }
.connection { padding: 18px 7px; border-color: #3b3e47; color: #bec6d3; }
.connection small { color: #939daf; font-size: 9px; line-height: 1.5; }
.profile { padding: 18px 6px; border-color: #3b3e47; }
.avatar { background: linear-gradient(145deg,#504660,#3c3f55); color: #e3d7fc; border-color: #6a617e; border-radius: 10px; }
.main { margin-left: 252px; width: calc(100% - 252px); background: radial-gradient(ellipse at 90% 0%,#7e6bb309,transparent 45%),#1c1e23; }
header { height: 76px; padding: 0 36px; background: #212329; border-color: #373b43; }
.breadcrumb { font-size: 12px; color: #8f99ad; }
.breadcrumb b { color: #d6dbe6; font-weight: 500; }
.breadcrumb span { color: #596173; }
.header-right { gap: 17px; }
.panel-health { font-size: 10px; padding: 8px 11px; }
.panel-health.online { color: #a0ebc6; background: #29423666; border-color: #456758; }
.content { padding: 34px 36px 32px; max-width: 1600px; }
h1 { font-size: clamp(28px,2.4vw,38px); font-weight: 650; letter-spacing: -1.2px; }
h2 { font-weight: 600; }
.eyebrow { font-size: 9px; color: #a8a2d5; letter-spacing: 2px; margin-bottom: 12px; }
.page-heading { padding: 5px 0 8px; margin-bottom: 27px; }
.page-heading p { color: #a5adbd; font-size: 13px; margin-top: 12px; }
.primary,.secondary,.danger { font-size: 12px; border-radius: 9px; min-height: 42px; padding: 11px 17px; }
.primary { background: linear-gradient(120deg,#9ce9cb,#76d3be); border: 1px solid #b2f2dc; color: #18372d; box-shadow: 0 4px 16px #6fd8b614, inset 0 1px #ffffff50; }
.primary:hover { background: linear-gradient(120deg,#b3f3dc,#97ead6); box-shadow: 0 5px 23px #6fd8b628; }
.secondary { background: #353842; color: #dce0eb; border-color: #505663; box-shadow: inset 0 1px #ffffff05; }
.secondary:hover { background: #424651; border-color: #717b8d; }
.danger { background: #462d36; color: #efabb9; border-color: #77434f; }
.danger:hover { background: #5a3340; border-color: #b46478; }
.text-button { color: #b3b1d5; font-size: 11px; }
.text-button:hover { color: #e7ddff; }
.back { margin-bottom: 22px; color: #abb3c3; gap: 8px; }
.stats { gap: 16px; margin-bottom: 34px; }
.stat { position: relative; padding: 22px; border: 1px solid #3b404b; border-radius: 13px; background: linear-gradient(135deg,#2b2f37,#25282f); box-shadow: 0 5px 16px #11131920; overflow: hidden; }
.stat:nth-child(n) { border-top: 1px solid #414753; }
.stat::after { content: ''; position: absolute; width: 64px; height: 64px; border-radius: 50%; background: #ac9be110; top: -30px; right: -16px; pointer-events: none; }
.stat>span { font-size: 9px; color: #b6bece; letter-spacing: 1px; }
.stat>span svg { width: 18px; height: 18px; }
.stat strong { font-size: 35px; letter-spacing: -1px; font-weight: 600; margin: 19px 0 12px; font-variant-numeric: tabular-nums; }
.stat strong small { color: #a4adbf; font-size: 11px; }
.stat p { color: #9aa5b9; font-size: 10px; }
.section-title { margin-bottom: 20px; }
.section-title h2 { font-size: 18px; }
.section-title p { color: #a1aabd; font-size: 12px; }
.subtle-label { color: #8f99ae; font-size: 9px; }
.category-grid { gap: 15px; }
.category-card { border-radius: 14px; background: linear-gradient(150deg,#2c3038,#26292f); border: 1px solid #424752; border-top: 1px solid color-mix(in srgb,var(--card-accent) 45%,#41434b); padding: 22px 20px 17px; box-shadow: 0 6px 20px #11131920; }
.category-card::before { opacity: .8; width: 190px; height: 190px; top: -80px; right: -70px; }
.category-card:hover { background: linear-gradient(150deg,color-mix(in srgb,var(--card-accent) 8%,#292c34),#282b33); border-color: color-mix(in srgb,var(--card-accent) 65%,#444752); transform: translateY(-4px); }
.category-card .category-icon { width: 44px; height: 44px; border-radius: 13px; background: color-mix(in srgb,var(--card-accent) 13%,#292d35); border-color: color-mix(in srgb,var(--card-accent) 33%,#3b414c); }
.card-top { margin-bottom: 25px; }
.card-index { font-size: 10px; opacity: .65; }
.category-card h3 { font-size: 15px; margin-bottom: 9px; }
.category-card>p { color: #afb9ca; font-size: 11px; line-height: 1.7; }
.card-bottom { color: #c1c9d8; font-size: 10px; padding-top: 16px; border-color: #434956; }
.card-arrow { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #ffffff07; }
.panel { border-radius: 13px; background: #26292f; border-color: #3e434d; box-shadow: 0 5px 22px #10131917; }
.panel-heading { padding: 21px 23px; background: #2a2e36; border-color: #414650; }
.panel-heading h2 { font-size: 14px; font-weight: 600; }
.panel-heading>svg { color: #8d97b0; width: 18px; height: 18px; }
th { background: #252930; color: #a0acc2; font-size: 9px; padding: 16px 18px; }
td { padding: 19px 18px; border-color: #393f49; color: #cbd3e2; font-size: 12px; }
tbody tr { background: #272b32; transition: background .15s; }
tbody tr:hover { background: #2d323c; }
td:first-child,th:first-child { padding-left: 23px; }
td small { color: #9ca8bf; font-size: 10px; margin-top: 6px; }
.instance-link strong { color: #edf0f7; font-size: 12px; font-weight: 600; }
.instance-link small { font-size: 10px; }
.mini-icon { width: 37px; height: 39px; border-radius: 9px; }
.status { border-radius: 6px; font-size: 10px; padding: 6px 9px; border-color: #4e5869; background: #333943; color: #c7d0e0; }
.example-status { color: #d1c0ed; background: #3b334a; border-color: #69577f; }
.status.online { color: #a5eac5; background: #2d4439; border-color: #537d65; }
.activity { padding: 3px 22px 12px; }
.activity-item { padding: 17px 0; border-color: #3a414d; gap: 13px; }
.activity-icon { background: #373443; border-color: #59556e; color: #c2afe8; padding: 8px; border-radius: 8px; }
.activity-item p { font-size: 11px; color: #dce2ed; }
.activity-item small { font-size: 9px; color: #9ba8c0; margin-top: 6px; }
.infra-note { border-radius: 12px; background: linear-gradient(110deg,#30313f,#282e36); border-color: #4e4b65; padding: 22px; }
.infra-note strong { font-size: 12px; color: #e0dcf3; }
.infra-note p { color: #acb4c8; font-size: 11px; }
.infra-note a { font-size: 11px; }
footer { margin: 0 36px; border-color: #363b45; color: #939fb5; font-size: 9px; padding: 22px 0; }
footer .muted { color: #8c96ab; }
.server-hero { --service:#8ae0c4; position: relative; overflow: hidden; padding: 25px 29px 0; border: 1px solid #454c57; border-radius: 17px; background: radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--service) 9%,transparent),transparent 60%),linear-gradient(125deg,#30343d,#292d34); box-shadow: 0 10px 35px #0c0e161c; }
.server-hero[data-service="lobby"] { --service:#8cbfff; }
.server-hero[data-service="game"] { --service:#c6a8ff; }
.server-hero[data-service="bot"] { --service:#eea1d9; }
.server-hero[data-service="website"] { --service:#f4bf89; }
.server-hero::before { content:''; position:absolute; left:0; top:25px; height:80px; width:3px; background:var(--service); border-radius:0 4px 4px 0; box-shadow:0 0 20px color-mix(in srgb,var(--service) 40%,transparent); }
.server-hero-top { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.server-hero-top .eyebrow { color: #c6cfde; font-size:9px; letter-spacing:1.8px; margin:0; text-transform:uppercase; }
.server-hero-top .eyebrow span { color:#728097; padding:0 10px; }
.server-hero-main { display:flex; align-items:center; gap:20px; margin:24px 0 29px; }
.server-emblem { width:67px; height:67px; display:grid; place-items:center; border-radius:18px; color:var(--service); background:linear-gradient(145deg,color-mix(in srgb,var(--service) 18%,#2c3339),#2a3038); border:1px solid color-mix(in srgb,var(--service) 40%,#414952); box-shadow:inset 0 1px #ffffff12,0 6px 20px #14192030; flex-shrink:0; }
.server-emblem svg { width:33px; height:33px; stroke-width:1.4; }
.server-hero-main h1 { font-size:34px; letter-spacing:-1px; }
.server-hero-main p { color:#aeb9cd; font-size:12px; margin-top:10px; line-height:1.7; }
.server-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #49505b; padding:22px 0; gap:20px; }
.server-facts>div { border-left:1px solid #49505b; padding-left:22px; min-width:0; }
.server-facts>div:first-child { border-left:0; padding-left:0; }
.server-facts span { display:block; color:#9faec4; font-size:9px; letter-spacing:1.2px; margin-bottom:10px; }
.server-facts strong { display:block; font-size:18px; font-weight:600; color:#e9edf5; overflow-wrap:anywhere; }
.server-facts small { font-size:10px; font-weight:400; color:#aebace; margin-left:7px; }
.instance-controls { margin:17px 0 25px; padding:16px 18px; border-radius:12px; border-color:#414651; background:#282c33; }
.control-buttons { gap:9px; }
.control-buttons .primary { padding-left:23px; padding-right:23px; }
.instance-controls>p { color:#a6afc4; font-size:10px; padding-left:2px; margin-top:13px; }
.stop-button { background:#3b3530; border-color:#69594b; color:#efc397; }
.edit-button { background:#3c354a; border-color:#6b5b81; color:#ddc8fa; }
.detail-grid { grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:22px; margin:25px 0; }
.console-chrome { display:flex; align-items:center; gap:6px; padding:15px 21px 4px; background:#1c2026; }
.console-chrome>span { width:7px; height:7px; border-radius:50%; background:#68505c; }
.console-chrome>span:nth-child(2) { background:#76654d; }
.console-chrome>span:nth-child(3) { background:#4e7565; }
.console-chrome small { font:10px Consolas,monospace; color:#8998b0; margin-left:9px; }
.console-panel pre { height:260px; padding:19px 22px; background:#1c2026; color:#acd7c3; font:12px/1.9 Consolas,monospace; }
dl { padding:23px; font-size:12px; gap:22px 15px; }
dt { color:#a2aec4; }
dd { color:#e0e6f1; }
.upload-label { font-size:11px; border-radius:9px; border-color:#657b76; background:#303b3b; color:#b7dece; padding:14px; }
.hint { font-size:11px; color:#a6b1c6; }
.detail-footnote { display:flex; gap:10px; align-items:center; color:#a0adc5; font-size:11px; padding:0 4px; line-height:1.7; }
.detail-footnote svg { width:16px; color:#b4a0d9; }
.file-manager { margin:25px 0; }
.file-manager .panel-heading { padding:24px; background:linear-gradient(110deg,#2c3039,#292d35); border:0; }
.file-manager .panel-heading h2 { font-size:17px; }
.file-manager .eyebrow { font-size:8px; letter-spacing:1.8px; color:#b6a6df; margin-bottom:9px; }
.file-pending { font-size:10px; color:#d6c5a5; background:#3b3831; border:1px solid #615847; border-radius:6px; padding:8px 10px; }
.file-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0 24px 20px; background:#292d35; border-color:#414853; }
.file-tabs button { border-radius:9px; background:#323741; border:1px solid #444c59; color:#afbcd1; font-size:12px; padding:14px 16px; justify-content:center; gap:10px; }
.file-tabs button:hover { background:#3d4350; color:#f1efff; }
.file-tabs button[aria-selected="true"] { background:#443a57; border-color:#8a75ad; color:#dfcbff; box-shadow:inset 0 1px #c5a6ff15; }
.file-tabs button:nth-child(1)[aria-selected="true"] { background:#30473f; border-color:#648d7b; color:#b3f0d3; }
.file-tabs button:nth-child(2)[aria-selected="true"] { background:#334358; border-color:#6b87ad; color:#bed8fc; }
.file-tabs button:nth-child(4)[aria-selected="true"] { background:#4c3e32; border-color:#a0805b; color:#f2cf9e; }
.file-notice { background:#242a32; padding:14px 24px; border-bottom:1px solid #3b424d; color:#b5bfd2; gap:11px; }
.file-notice p { font-size:11px; }
.file-notice>svg { width:17px; height:17px; color:#b4a4d9; }
.file-notice strong { color:#cdd4e2; font-weight:500; }
#file-workspace { padding:25px; }
.file-toolbar { margin-bottom:23px; gap:22px; }
.file-toolbar h3 { font-size:16px; }
.file-toolbar p { font-size:12px; line-height:1.75; color:#a7b4ca; }
.file-toolbar>div:last-child { gap:9px; }
.file-list { border-color:#424b59; border-radius:10px; background:#242930; }
.file-row { padding:18px; border-color:#3d4654; gap:14px; }
.file-row:hover { background:#2b323e; }
.file-row strong { font-size:12px; color:#e3e9f3; }
.file-row small { font-size:10px; color:#a2afc7; }
.file-symbol { background:#353c4c; border:1px solid #4b576e; color:#b1c5e9; width:39px; height:41px; border-radius:10px; }
.file-empty { padding:38px 20px; background:radial-gradient(ellipse at center,#7b6a9910,transparent 70%); }
.file-empty>span { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 16px; border-radius:15px; background:#373340; border:1px solid #575063; }
.file-empty>span svg { width:25px; height:25px; color:#bda6e3; }
.file-empty h3 { font-size:14px; color:#d8e0ef; }
.file-empty p { font-size:12px; color:#a3afc5; margin-top:9px; }
.file-editor { margin-top:24px; padding:24px; background:#22272f; border-color:#605574; border-radius:11px; box-shadow:inset 0 1px #ffffff05; }
.file-editor h3 { font-size:15px; margin-bottom:23px; }
.file-editor label { font-size:12px; color:#bfcce1; }
.file-editor input,.file-editor textarea { border-color:#4b5669; background:#1c2129; color:#dce6f7; border-radius:8px; }
.file-editor textarea { font-size:12px; min-height:280px; line-height:1.9; padding:17px; caret-color:#ad96e7; }
.file-editor input:focus,.file-editor textarea:focus { border-color:#9c88c4; box-shadow:0 0 0 3px #9c88c412; }
.file-editor-tools { gap:10px; }
.dialog-actions { border-color:#414959; }
input,select { background:#22272f; border-color:#4f596c; border-radius:8px; color:#e4eaf6; font-size:13px; padding:13px 14px; }
input::placeholder { color:#8e9bb2; }
label { color:#c9d3e4; font-size:12px; }
dialog { background:#2b3039; border-color:#655d78; border-radius:16px; padding:34px; box-shadow:0 30px 120px #070b14b0; }
dialog::backdrop { background:#101319c9; backdrop-filter:blur(8px); }
.dialog-subtitle { color:#b0bcd2; font-size:12px; line-height:1.7; }
.empty h3 { font-size:17px; }
.empty p { font-size:12px; color:#abb8cf; }
.node-card { background:linear-gradient(145deg,#2d323c,#262b33); padding:26px; }
.node-url { font-size:12px; color:#a8b7cf; }
.node-metrics { border-color:#424d5d; }
.node-metrics small { color:#a6b5cd; font-size:9px; }
.login-page { background:radial-gradient(ellipse at 12% 10%,#9c7ac61c,transparent 45%),radial-gradient(ellipse at 90% 85%,#6dbdaa13,transparent 45%),#1f2228; }
.login-form-wrap { border-color:#5e586d; background:linear-gradient(145deg,#343440,#2b3038 70%); box-shadow:0 25px 85px #0d101961,inset 0 1px #ffffff0b; }
.login-form-wrap .login-input input { background:#252a33; border-color:#596175; }
.login-form-wrap .primary { border-radius:10px; }
.login-service-status { background:#242b32; border-color:#455c59; }
.login-brand .brand-name { color:#eff4f8; }
@media(min-width:1550px) { .content { padding-top:42px; } .category-card { padding:26px 23px 20px; } .card-top { margin-bottom:32px; } }
@media(max-width:1200px) { aside { width:222px; padding-left:13px; padding-right:13px; } .main { margin-left:222px; width:calc(100% - 222px); } .content { padding:28px; } header { padding:0 28px; } footer { margin:0 28px; } .stats { gap:12px; } .stat { padding:19px; } .stat>span { font-size:8px; letter-spacing:.7px; } .server-hero { padding:23px 24px 0; } .server-hero-main h1 { font-size:31px; } .server-facts { gap:14px; } .server-facts>div { padding-left:16px; } }
@media(max-width:960px) { .detail-grid { grid-template-columns:1fr; } .control-buttons .danger { margin-left:0; } .file-toolbar { align-items:flex-start; flex-direction:column; } .file-toolbar>div:last-child { align-self:flex-end; } }
@media(max-width:800px) { aside { width:100%; position:relative; padding:22px 20px 14px; } aside nav { max-height:235px; margin-top:20px; } .main { margin-left:0; width:100%; } .brand { padding:0; } .brand-name { font-size:24px; } header { height:60px; padding:0 20px; } .content { padding:27px 20px; } .stats { grid-template-columns:repeat(2,minmax(0,1fr)); } footer { margin:0 20px; } .server-hero-top { align-items:flex-start; flex-wrap:wrap; } .server-hero-main { gap:15px; } .server-hero-main h1 { font-size:28px; overflow-wrap:anywhere; } .server-emblem { width:55px; height:55px; border-radius:14px; } .server-emblem svg { width:27px; height:27px; } .server-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; } .server-facts>div:nth-child(3) { border-left:0; padding-left:0; } .server-facts strong { font-size:17px; } .instance-controls { padding:14px; } .control-buttons button { flex:1 1 130px; } .file-manager .panel-heading { padding:21px; } .file-tabs { padding:0 20px 18px; gap:7px; } .file-tabs button { font-size:11px; padding:12px 8px; gap:6px; } .file-tabs button svg { width:15px; height:15px; } #file-workspace { padding:20px; } .file-notice { padding:14px 20px; align-items:flex-start; } .file-row { padding:15px; } .file-editor { padding:18px; } .page-heading h1 { font-size:29px; } }
@media(max-width:480px) { .content { padding:23px 15px; } header { padding:0 15px; } .breadcrumb { font-size:10px; } .breadcrumb span { margin:0 7px; } .header-right .avatar { display:none; } .panel-health { font-size:9px; } .server-hero { padding:20px 18px 0; } .server-hero-main { margin:22px 0; align-items:flex-start; } .server-hero-main h1 { font-size:25px; } .server-hero-main p { font-size:11px; } .server-hero-top .eyebrow { font-size:8px; letter-spacing:1.2px; } .file-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 16px 16px; } .file-toolbar>div:last-child { width:100%; } .file-toolbar>div:last-child button { flex:1; padding:11px; font-size:11px; } #file-workspace { padding:16px; } .file-manager .panel-heading { padding:20px 16px; } .file-pending { font-size:9px; } .file-row .secondary { margin-left:52px; } .file-editor { padding:16px; } .category-card { padding:19px 15px 15px; } .category-card h3 { font-size:13px; } .stat { padding:17px; } .stat>span { font-size:7px; } .stat p { font-size:9px; } .stats { gap:10px; } .login-brand { left:22px; } }
@media(prefers-reduced-motion:no-preference) { .server-hero,.panel,.stat { animation:workspace-enter .3s ease-out both; } .stat:nth-child(2) { animation-delay:.03s; } .stat:nth-child(3) { animation-delay:.06s; } .stat:nth-child(4) { animation-delay:.09s; } @keyframes workspace-enter { from { opacity:.5; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } } }
@media(max-width:800px) {
  aside nav { display:flex; flex-wrap:nowrap; gap:7px; max-height:none; overflow-x:auto; overflow-y:hidden; padding:0 0 5px; margin-top:21px; }
  aside nav>.nav-label, .nav-instances, .nav-section-heading>.nav-toggle { display:none; }
  aside nav>a, .nav-section { flex:0 0 auto; }
  .nav-section-heading>a { gap:8px; padding:10px 13px; }
  aside nav>a { padding:10px 13px; font-size:11px; }
  aside nav a { min-height:40px; margin:0; }
  .nav-count { display:inline; }
}

.catalog-library { margin-top:26px; }
.discord-design-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 17px; margin:0 0 20px; border-radius:9px; border:1px solid #8674b4; background:linear-gradient(120deg,#4c4264,#384b56); color:#e4d9fa; font-size:12px; font-weight:600; }
.discord-design-link:hover { background:linear-gradient(120deg,#655581,#456573); }
.discord-design-link svg { width:18px; height:18px; }

/* Server center: explicit controls, quiet surfaces and no page-wide animations. */
.panel,.stat,.server-hero { animation:none!important; }
.server-center { margin:0 0 28px; }
.server-center .panel-heading { align-items:center; }
.list-subtitle { color:#9faec4; font-size:11px; margin-top:8px; line-height:1.7; }
.bulk-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px 22px; background:#252c34; border-bottom:1px solid #424c5a; }
.bulk-toolbar strong { font-size:12px; color:#e2ebf8; }
.bulk-toolbar p { font-size:10px; color:#a6b6cd; margin-top:6px; line-height:1.7; }
.bulk-actions { display:flex; gap:8px; flex-shrink:0; }
.bulk-actions button { min-height:38px; padding:10px 13px; font-size:11px; }
.selection-cell { width:42px; padding-left:18px!important; padding-right:8px!important; }
.selection-cell input { width:16px; height:16px; min-height:16px; margin:0; padding:0; accent-color:#8cdec0; cursor:pointer; box-shadow:none; }
.row-controls { display:flex; gap:6px; }
.row-controls button { width:31px; height:32px; min-height:32px; padding:6px; border-radius:7px; font-size:9px; }
.row-controls svg { width:13px; height:13px; }
.workspace-sections { margin-top:35px; }
.workspace-sections+.category-grid .card-top { margin-bottom:15px; }
.workspace-sections+.category-grid .category-card { padding:19px 17px 14px; }
.workspace-sections+.category-grid .category-icon { width:36px; height:36px; border-radius:10px; }
.workspace-sections+.category-grid .card-bottom { margin-top:12px; padding-top:11px; }
.operation-strip { display:flex; align-items:center; gap:11px; padding:13px 17px; margin-bottom:23px; background:#363347; border:1px solid #71628c; border-radius:9px; color:#d7c5f4; font-size:11px; flex-wrap:wrap; }
.operation-strip>span:last-child { color:#c2b5d9; font-size:10px; line-height:1.7; }
.operation-spinner { width:12px; height:12px; border:2px solid #b29ad44d; border-top-color:#d1b5f7; border-radius:50%; }
.action-status { background:#393246; border-color:#796292; color:#dcc4f5; }
.software-drawer { border:1px solid #464f60; background:#272e37; border-radius:11px; margin:24px 0; overflow:hidden; }
.software-drawer>summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 22px; list-style:none; font-size:12px; color:#d6e0ef; }
.software-drawer>summary::-webkit-details-marker { display:none; }
.software-drawer>summary>span { display:flex; align-items:center; gap:10px; font-weight:600; }
.software-drawer>summary svg { width:17px; height:17px; color:#b7a4d9; }
.software-drawer>summary small { display:flex; align-items:center; gap:12px; font-size:10px; color:#acbad0; }
.software-drawer[open]>summary { border-bottom:1px solid #414c5e; background:#303746; }
.software-drawer>summary:focus-visible { outline:2px solid #b69ddb; outline-offset:-3px; }
.software-drawer .catalog-library { margin:0; border:0; border-radius:0; box-shadow:none; }
.software-drawer .catalog-inline { padding:23px; }
.ram-field { border:1px solid #505b6f; border-radius:11px; background:#252d38; padding:18px; margin:3px 0 21px; }
.ram-field>label { margin:0 0 12px; color:#d8e5f8; font-size:12px; }
.ram-stepper { display:flex; align-items:center; gap:10px; border:1px solid #626c80; border-radius:9px; background:#1f2732; padding:6px; }
.ram-stepper input { background:transparent; border:0; box-shadow:none; padding:9px; min-height:39px; margin:0; font-size:22px; font-weight:600; text-align:center; flex:1; min-width:0; }
.ram-stepper input::-webkit-inner-spin-button { appearance:none; }
.ram-stepper>span { font-size:12px; color:#acbdd6; padding-right:10px; }
.ram-stepper button { border:1px solid #59677c; background:#354255; color:#e1edfe; border-radius:7px; width:37px; height:37px; flex-shrink:0; font-size:22px; }
.ram-stepper button:hover { background:#4c5e7a; }
.ram-presets { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.ram-presets button { border:1px solid #4d5a71; color:#afc0d9; background:#303b4d; border-radius:5px; padding:7px 9px; font-size:10px; }
.ram-presets button.active { background:#3e554c; border-color:#8ab49e; color:#c5ecd8; }
.ram-explanation { font-size:11px; line-height:1.8; color:#d1ddf2; margin:14px 0 9px; }
@media(max-width:1100px) { .bulk-toolbar { align-items:flex-start; flex-direction:column; gap:14px; } .bulk-actions { width:100%; } .bulk-actions button { flex:1; } }
@media(max-width:600px) { .bulk-toolbar { padding:17px; } .bulk-actions { flex-wrap:wrap; } .bulk-actions button { flex:1 1 90px; font-size:10px; } .server-center .panel-heading { flex-wrap:wrap; } .software-drawer>summary { padding:17px; align-items:flex-start; } .software-drawer>summary small { font-size:9px; } .ram-field { padding:14px; } .ram-presets button { padding:7px; } }
@media(prefers-reduced-motion:no-preference) { .operation-spinner { animation:operation-spin 1s linear infinite; } @keyframes operation-spin { to { transform:rotate(360deg); } } }
.catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px; }
.catalog-heading h2 { font-size:19px; }
.catalog-heading .eyebrow { color:#b5a5da; font-size:8px; margin-bottom:9px; }
.catalog-heading p { color:#aab7cc; font-size:12px; line-height:1.7; margin-top:10px; }
.catalog-count { background:#343a44; border:1px solid #525d6d; padding:8px 11px; border-radius:7px; font-size:10px; color:#c3cde0; white-space:nowrap; }
.catalog-tabs { display:flex; padding:0 25px 21px; gap:10px; border-bottom:1px solid #414956; }
.catalog-tabs button { background:#323843; border:1px solid #485364; color:#b3bed2; padding:11px 15px; border-radius:8px; font-size:12px; gap:9px; }
.catalog-tabs button svg { width:17px; height:17px; }
.catalog-tabs button span { font-size:10px; padding:2px 6px; border-radius:4px; background:#222831; }
.catalog-tabs button.active { color:#c8eedc; background:#30473e; border-color:#678674; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; padding:25px; }
.catalog-card { position:relative; background:linear-gradient(145deg,#30353f,#292f38); border:1px solid #475262; border-radius:12px; padding:19px; }
.catalog-card.available { border-color:#52796a; }
.catalog-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:19px; }
.catalog-icon { width:37px; height:37px; display:grid; place-items:center; border-radius:10px; background:#413b50; border:1px solid #6a5d7f; color:#ccbae8; }
.catalog-icon svg { width:19px; height:19px; }
.catalog-state { display:flex; align-items:center; gap:5px; font-size:9px; color:#c8b7a0; }
.catalog-state i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.catalog-state.ready { color:#a4e1bf; }
.catalog-card h3 { font-size:15px; color:#e7edf7; letter-spacing:-.2px; overflow-wrap:anywhere; }
.catalog-card>p { margin-top:9px; color:#a9b5cb; font-size:10px; line-height:1.7; }
.catalog-card-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:18px; margin-top:16px; border-top:1px solid #414d5d; }
.catalog-card-actions button { flex:1 1 130px; font-size:11px; padding:10px; min-height:38px; }
.catalog-card-actions small { font-size:10px; color:#aab7ca; line-height:1.7; }
.catalog-hint { border-top:1px solid #414956; padding:17px 25px; color:#a6b3c9; font-size:11px; line-height:1.8; }
.catalog-inline { margin:24px 0 10px; }
.catalog-inline .catalog-heading { padding:0 0 20px; }
.catalog-inline .catalog-heading h2 { font-size:16px; }
.catalog-inline .catalog-heading p { font-size:11px; }
.catalog-inline .catalog-grid { padding:0; }
.catalog-divider { display:flex; align-items:center; gap:12px; margin:28px 0 20px; }
.catalog-divider span { font-size:9px; letter-spacing:1.4px; color:#9caecb; white-space:nowrap; }
.catalog-divider::after { content:''; height:1px; background:#444e60; width:100%; }
.catalog-empty { grid-column:1/-1; padding:25px; color:#adbbd1; text-align:center; font-size:12px; }
.catalog-empty>svg { display:block; margin:0 auto 15px; color:#baa7d9; width:26px; height:26px; }
.catalog-empty strong { color:#d2ddec; font-size:14px; }
.catalog-empty p { margin-top:10px; line-height:1.8; }

.nav-library { margin-top: 7px; }
.nav-library>summary { display:flex; align-items:center; gap:12px; padding:13px 12px; border-radius:9px; color:#d6d0ef; font-size:12px; cursor:pointer; list-style:none; }
.nav-library>summary::-webkit-details-marker { display:none; }
.nav-library>summary:hover, .nav-library[open]>summary { background:#3b354c; }
.nav-library>summary>svg { width:18px; height:18px; color:#c4a7ff; flex-shrink:0; }
.library-chevron { margin-left:auto; transition:transform .15s; }
.nav-library[open] .library-chevron { transform:rotate(180deg); }
.nav-library>div { margin:7px 0 7px 21px; padding-left:10px; border-left:1px solid #66567f; }
.nav-library>div>a { padding:11px 9px; font-size:11px; }
.library-sections { display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap; }
.library-sections>a { display:flex; align-items:center; gap:10px; padding:13px 18px; border:1px solid #4b4c5b; border-radius:10px; background:#303139; color:#c8c6db; font-size:12px; text-decoration:none; }
.library-sections>a.active { background:#433a59; border-color:#9f83d0; color:#edddff; }
.library-sections svg { width:18px; height:18px; }
.software-selection { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:15px; padding:18px; margin:0 0 21px; background:linear-gradient(130deg,#3b3650,#2b3540); border:1px solid #66597d; border-radius:12px; }
.software-selection>.hint, .software-selection>.text-button { grid-column:1/-1; }
dialog:has(#create-form), dialog:has(#edit-form) { width:min(760px,calc(100% - 30px)); }
.software-selection>label { margin-bottom:15px; }
.software-selection>.hint { line-height:1.8; margin:0 0 10px; }
.software-selection>.text-button { font-size:11px; color:#c5b0f0; padding:0; }
.console-command { padding:18px 22px 20px; border-top:1px solid #424956; }
.console-command>label { color:#c8d3e4; margin:0 0 10px; font-size:11px; }
.console-command>div { display:flex; align-items:center; gap:10px; padding-left:13px; background:#20232b; border:1px solid #53576a; border-radius:9px; }
.console-command>div:focus-within { border-color:#80dfbe; box-shadow:0 0 0 3px #80dfbe15; }
.console-command>div>span { font:20px monospace; color:#86e0bd; }
.console-command input { margin:0; border:0; background:transparent; padding:13px 0; box-shadow:none; min-width:0; font-family:Consolas,monospace; }
.console-command button { flex-shrink:0; margin:5px; padding:11px 14px; font-size:11px; }
.console-command>p { margin-top:10px; color:#aeb8c9; font-size:10px; line-height:1.8; overflow-wrap:anywhere; }
[data-software-status] { overflow-wrap:anywhere; }
.instance-options, .instance-plugin-picker { padding:18px; margin-bottom:20px; background:#282e38; border:1px solid #4f5969; border-radius:12px; }
.option-title { display:flex; align-items:center; gap:9px; font-size:12px; color:#dfd9f2; margin-bottom:14px; }
.option-title>svg { width:17px; height:17px; color:#bca3f2; }
.option-title>[data-plugin-count] { margin-left:auto; font-size:10px; color:#94e2c5; }
.instance-switch { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:0; padding:13px 0; border-top:1px solid #424b59; }
.instance-switch strong, .plugin-choice strong { display:block; font-size:11px; color:#e0e5ee; }
.instance-switch small, .plugin-choice small { display:block; margin-top:5px; font-size:10px; line-height:1.7; color:#aeb9ca; }
.instance-switch input[type=checkbox], .plugin-choice input[type=checkbox] { width:17px; min-height:17px; height:17px; margin:0; flex-shrink:0; accent-color:#78ddbc; }
.world-switches { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.spawn-label { margin:15px 0 0; padding-top:15px; border-top:1px solid #424b59; }
.spawn-field { display:flex; align-items:center; gap:8px; margin-top:9px; }
.spawn-field input { margin:0; flex:1; min-width:0; }
.spawn-field button { padding:12px; font-size:10px; white-space:nowrap; }
.instance-plugin-picker>p { font-size:10px; line-height:1.8; color:#aeb9ca; }
.instance-plugin-picker>summary { cursor:pointer; list-style:none; margin-bottom:0; }
.instance-plugin-picker>summary::-webkit-details-marker { display:none; }
.instance-plugin-picker[open]>summary { margin-bottom:14px; }
.plugin-picker-chevron { color:#c2aee5; }
.instance-plugin-picker[open] .plugin-picker-chevron { transform:rotate(180deg); }
.plugin-picker-actions { display:flex; gap:15px; margin:12px 0; }
.plugin-picker-actions>button { color:#bfa9e5; padding:0; font-size:10px; }
.plugin-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.plugin-choice { display:flex; align-items:center; gap:10px; margin:0; padding:12px; border:1px solid #46515f; border-radius:8px; background:#303744; cursor:pointer; min-width:0; }
.plugin-choice:has(input:checked) { background:#2b443e; border-color:#6ba68e; }
.plugin-choice.unavailable { opacity:.65; cursor:default; }
.plugin-choice strong { overflow-wrap:anywhere; }
.console-load-status { padding:12px 20px; margin:0; background:#49343d; color:#f5bbc4; font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
@media(max-width:600px) { .plugin-choice-grid, .world-switches { grid-template-columns:1fr; gap:8px; } .spawn-field { flex-wrap:wrap; } .spawn-field input { flex-basis:100%; } }
@media(max-width:800px) { .nav-library { margin:0; flex-shrink:0; } .nav-library>summary { padding:10px; white-space:nowrap; font-size:10px; } .nav-library>div { margin-left:9px; } .library-sections>a { flex:1; justify-content:center; padding:12px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .library-chevron { transition:none; } }
@media(max-width:600px) { .software-selection { grid-template-columns:minmax(0,1fr); } }
@media(max-width:1100px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .catalog-heading { padding:21px; align-items:flex-start; flex-wrap:wrap; gap:12px; } .catalog-grid { padding:20px; grid-template-columns:1fr; } .catalog-inline .catalog-grid { padding:0; } .catalog-tabs { padding:0 20px 18px; } .catalog-hint { padding:17px 20px; } }

.library-type-icon { width:45px; height:45px; display:flex; align-items:center; justify-content:center; border:1px solid #74658f; border-radius:12px; color:#ddc5fa; background:#433852; }
.lobby-routing-options { margin-top:20px; padding-top:20px; border-top:1px solid #505062; }
.lobby-routing-options .option-title { color:#c9b3ef; }
.library-shared-intro { padding:25px; background:linear-gradient(125deg,#343148,#263d3b); border-bottom:1px solid #4c5560; }
.shared-badge { display:inline-flex; align-items:center; gap:8px; font-size:10px; color:#b1edda; padding:7px 10px; border:1px solid #52786d; border-radius:6px; background:#28423b; margin-bottom:16px; }
.shared-badge svg { width:14px; height:14px; }
.library-shared-intro h3 { font-size:19px; margin-bottom:10px; }
.library-shared-intro p { font-size:12px; color:#c0c4d4; line-height:1.8; max-width:760px; }
.library-shared-intro small { display:block; font-size:10px; color:#aebdcb; margin-top:13px; line-height:1.7; }
.shared-import-button { margin-top:18px; }
.proxy-pool-editor { padding:18px; margin:20px 0; border:1px solid #665575; background:linear-gradient(120deg,#363242,#2b383d); border-radius:10px; }
.proxy-pool-editor>p { font-size:11px; line-height:1.8; color:#b9bdd0; margin:12px 0; }
.proxy-pool-editor .shared-badge { margin:0 0 0 auto; font-size:8px; }
.proxy-pool-head,.proxy-pool-row { display:grid; grid-template-columns:minmax(0,1fr) 54px 70px; align-items:center; gap:12px; }
.proxy-pool-head { padding:10px 0; font-size:9px; color:#ada6c5; }
.proxy-pool-head>span:not(:first-child) { text-align:center; }
.proxy-pool-row { border-top:1px solid #504957; padding:13px 0; }
.proxy-pool-row strong { font-size:12px; display:block; overflow-wrap:anywhere; }
.proxy-pool-row small { display:block; font-size:9px; margin-top:5px; color:#aaaec2; }
.proxy-pool-row input { width:18px; height:18px; min-height:0; margin:0 auto; accent-color:#97d8c4; }
.proxy-pool-editor>[data-save-pools] { margin-top:15px; width:100%; }
.proxy-pool-editor [data-pool-result]:empty { display:none; }
.network-host-button { margin-top:16px; text-align:left; justify-content:flex-start; font-size:10px; color:#c7b4e5; line-height:1.7; overflow-wrap:anywhere; }
@media(max-width:600px) { .library-shared-intro { padding:22px 16px; } .library-shared-intro h3 { font-size:17px; } }
.instance-controls+.console-panel { margin-top:24px; }
.service-initial-upload { margin-top:24px; padding:24px; }
.service-initial-upload .hint { margin:12px 0 18px; }
.service-initial-upload .upload-label { margin:0; }
.library-file-section { border-top:1px solid #414956; }
.catalog-tabs+.library-file-section { border-top:0; }
.library-instance-selector { padding:25px; display:flex; align-items:center; justify-content:space-between; gap:25px; background:linear-gradient(120deg,#34323e,#2b323b); }
.library-instance-selector h3 { font-size:16px; }
.library-instance-selector p { margin-top:8px; color:#b8b5c8; font-size:12px; line-height:1.6; }
.library-instance-selector .eyebrow { font-size:8px; color:#b9a3df; margin-bottom:9px; }
.library-instance-selector label { margin:0; flex:0 1 330px; min-width:0; font-size:11px; }
.library-instance-selector select { width:100%; margin-top:9px; }
.library-file-manager { margin:0; border-top:1px solid #444753; }
.library-file-manager .panel-heading { flex-wrap:wrap; }
.library-file-manager h2 { overflow-wrap:anywhere; }
.library-file-manager .panel-heading .hint { margin-top:7px; }
.library-select-empty { padding:40px 25px; text-align:center; color:#c1bdd1; }
.library-select-empty>svg { width:32px; height:32px; color:#b8a0dd; margin-bottom:17px; }
.library-select-empty h3 { font-size:16px; }
.library-select-empty p { max-width:480px; margin:10px auto 0; font-size:12px; line-height:1.8; color:#a5abba; }
.library-select-empty a { display:inline-flex; margin-top:20px; }
.library-shortcut a { text-decoration:none; }
@media(max-width:700px) { .library-instance-selector { padding:20px; flex-direction:column; align-items:stretch; gap:20px; } .library-instance-selector label { flex:auto; } .catalog-tabs { flex-wrap:wrap; } .library-shortcut { flex-wrap:wrap; } .library-shortcut a { margin-left:0; } }
@media(max-width:480px) { .catalog-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 16px 16px; } .catalog-tabs button { padding:11px 8px; font-size:11px; } .library-instance-selector { padding:20px 16px; } .library-select-empty { padding:32px 16px; } }
@media(max-width:600px) { .library-file-manager .file-row { display:grid; grid-template-columns:39px minmax(0,1fr); gap:13px; } .library-file-manager .file-row>div { min-width:0; } .library-file-manager .file-row>.secondary { grid-column:1 / -1; margin-left:0; justify-self:stretch; } .library-file-manager .file-row>.file-remove { grid-column:1 / -1; justify-self:center; padding:8px; } .library-file-manager .file-row small { line-height:1.6; } }
