:root{color-scheme:dark;--bg:#0b1016;--sidebar:#10171e;--panel:#141e27;--line:#25323d;--text:#edf4f4;--muted:#90a2ad;--accent:#a9e851;--blue:#72b9e5;--red:#f4a6a0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid #33434f;background:#1a2833;color:var(--text);border-radius:8px;padding:10px 14px;cursor:pointer;display:inline-flex;gap:10px;align-items:center;justify-content:center;white-space:nowrap}button:hover{border-color:#8bad91;background:#243540}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:#14200d;font-weight:650}.primary:hover{background:#b7f066;border-color:#b7f066}.danger{color:var(--red)}.ghost{background:transparent}.icon-btn{font-size:24px;padding:0;width:36px;height:36px;background:transparent}.full{width:100%;justify-content:space-between}input,select,textarea{display:block;width:100%;padding:12px 13px;background:#0e1821;color:var(--text);border:1px solid #33434f;border-radius:8px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a9e85113}input::placeholder{color:#718795}label{display:block;font-size:12px;font-weight:550;color:#bacbd3;margin:18px 0 8px}label input,label select{margin-top:8px}.muted,.footnote{color:var(--muted)}.error{color:var(--red);min-height:20px;white-space:pre-line}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:650;color:#9eb3be}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:0}h2{font-size:20px;letter-spacing:-.4px;margin-bottom:10px}h3{font-size:15px;margin-bottom:6px}a{color:inherit;text-decoration:none}small{font-size:11px}.wordmark{font-size:19px;font-weight:750;display:flex;align-items:center;gap:10px;letter-spacing:.5px}.wordmark>span:last-child{font-size:inherit}.wordmark small{display:block;font-size:9px;letter-spacing:2.5px;color:var(--muted);line-height:1.3}.brand-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #a9e8517a;border-radius:10px;background:#a9e85116;color:var(--accent);font-weight:850}.wordmark>span:not(.brand-icon){font-weight:450}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{padding:65px 10%;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at bottom left,#25452b50,transparent 70%);border-right:1px solid var(--line)}.login-art .wordmark{margin-bottom:90px}.login-art h1{font-size:clamp(36px,4vw,64px);line-height:1.1;letter-spacing:-3px;margin:15px 0 25px}.login-art .intro{color:var(--muted);font-size:17px;max-width:350px}.login-art>small{color:var(--muted);margin-top:70px}.platform-tags{display:flex;gap:8px;flex-wrap:wrap;max-width:400px;margin-top:20px}.platform-tags span{padding:6px 11px;border:1px solid var(--line);border-radius:20px;font-size:11px;color:#c3d1d7}.login-side{display:grid;place-items:center;padding:35px}.login-card{max-width:380px;width:100%}.login-card h2{font-size:30px;margin-top:12px}.login-card button{margin-top:10px}#shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}*[hidden]{display:none!important}.sidebar{padding:30px 20px;position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column}.nav-label{font-size:9px;letter-spacing:1.5px;color:#6d8795;margin:50px 12px 15px}nav{display:grid;gap:7px}nav button{justify-content:flex-start;background:transparent;border-color:transparent;color:#9bafba;padding:13px}nav button>span{font-size:18px;width:22px}nav button.active{background:#a9e85112;color:#c9f29b;border-color:#a9e85125}nav b{font-size:10px;background:var(--accent);color:#15200e;border-radius:5px;padding:1px 5px;margin-left:auto}.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted)}.sidebar-bottom small{display:block;margin:8px 0 18px 15px;color:#597483}.sidebar-bottom button{width:100%;justify-content:space-between}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}main{padding:30px 38px 20px;min-width:0;max-width:1800px;width:100%}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.header-right{display:flex;align-items:center;gap:18px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px}.stats article>span{font-size:12px;color:#a6b8c2}.stats strong{display:block;font-size:34px;font-weight:600;line-height:1.3;margin:10px 0}.stats small{color:#6f8897}.stats article:last-child strong{color:var(--accent)}.card,.table-card{border:1px solid var(--line);border-radius:12px;background:var(--panel)}.card{padding:24px}.welcome-card{display:grid;grid-template-columns:1fr 280px;gap:30px;padding:32px;border-radius:14px;border:1px solid #3b5639;background:linear-gradient(115deg,#1b3026,#152329 70%);margin-bottom:30px}.welcome-card h2{font-size:29px;letter-spacing:-1px;margin:15px 0}.welcome-card p{color:#a2b7b0;max-width:540px}.welcome-card button{margin-top:12px}.network-graphic{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#a9e85112,transparent 70%);gap:14px}.hub{width:80px;height:80px;border-radius:24px;border:1px solid #a9e85199;background:#a9e85115;box-shadow:0 0 0 18px #a9e85105,0 0 0 40px #a9e85103;display:grid;place-items:center;font-size:42px;color:var(--accent);font-weight:800}.hub-caption{font-size:10px;letter-spacing:2px;margin-top:10px}.platform-orbit{font-size:9px;letter-spacing:1px;color:#88a391}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;margin-top:8px}.section-title h2{margin-bottom:4px}.section-title p{margin:0;font-size:12px}.section-title>span{font-size:11px}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.platform-card{padding:23px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.platform-card .platform-symbol{color:var(--accent);font-size:11px;font-weight:650;background:#a9e8510d;border:1px solid #a9e85125;border-radius:8px;display:inline-block;padding:8px 11px;margin-bottom:18px}.platform-card h3{font-size:16px}.platform-card p{font-size:12px;color:var(--muted);margin-bottom:0}.info-card{display:flex;gap:18px}.info-card p{color:var(--muted);margin-bottom:0;font-size:12px;max-width:900px}.info-icon{border:1px solid #557480;color:#9cc1cc;border-radius:50%;height:22px;min-width:22px;text-align:center;font-size:12px}.notice{padding:14px 18px;background:#253922;border:1px solid #59714a;border-radius:9px;margin-bottom:20px;white-space:pre-line}.notice.problem{background:#382725;border-color:#754a45;color:#f3c1b7}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}thead{background:#192630}th{font-weight:550;font-size:9px;letter-spacing:1px;color:#819ba8;padding:16px 18px}td{padding:18px;border-top:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted);margin-top:4px}.url-cell{font-family:ui-monospace,monospace;font-size:11px;color:#adc5cf;max-width:360px;word-break:break-all}.row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:180px}.row-actions button{font-size:10px;padding:6px 9px}.badge{display:inline-block;font-size:10px;padding:4px 8px;border-radius:20px;white-space:nowrap;background:#33424b;color:#a9bdc8}.badge.on{background:#a9e85116;color:#b7e589}.badge.off{background:#f4a6a010;color:#d8a5a0}.empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:13px}.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.group-card .section-title{margin:0 0 20px}.group-card .route{padding:12px 0;display:flex;gap:12px;border-bottom:1px solid var(--line)}.route b{font-size:11px;color:var(--accent);min-width:18px}.route span{font-size:12px;display:block}.route small{color:var(--muted);display:block;font-size:10px;word-break:break-all}.group-meta{font-size:11px;color:var(--muted);margin-bottom:16px}.group-card .row-actions{margin-top:20px}.footnote{font-size:11px;margin-top:18px}.search{max-width:450px;margin-bottom:18px}.pending-panel{border-color:#4b6437;margin-bottom:25px}.pair-row{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0}.pair-row code{font-size:17px;letter-spacing:2px;color:var(--accent)}.pair-row p{margin:3px 0}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.settings-grid h2{margin-top:9px}.settings-grid form{align-self:start}.settings-grid .muted{font-size:12px;margin-top:15px}.audit-row{display:grid;grid-template-columns:150px 90px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row time,.audit-row>small{color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:45px;color:#647f8e;font-size:10px}dialog{width:min(560px,94vw);max-height:90vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid #40535f;border-radius:15px;padding:26px;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#04090cbf;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-header h2{margin:6px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.server-order{padding:0;list-style:none}.server-order li{display:flex;align-items:center;gap:8px;padding:10px;background:#101a22;border:1px solid var(--line);border-radius:8px;margin:8px 0}.server-order li>span{flex:1;font-size:12px}.server-order button{padding:5px 9px}.inline-add{display:flex;gap:10px}.inline-add select{flex:1}.field-note{font-size:11px;color:var(--muted);margin-top:8px}#secretText{font-family:ui-monospace,monospace;font-size:12px;resize:none;margin-top:20px}@media(min-width:1600px){.platform-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:1100px){#shell{grid-template-columns:200px 1fr}main{padding:25px 22px}.stats{gap:10px}.stats article{padding:17px}.welcome-card{grid-template-columns:1fr}.network-graphic{display:none}.settings-grid{grid-template-columns:1fr}.header-right>span{display:none}}@media(max-width:760px){#shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.sidebar .wordmark{font-size:15px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:5px}nav button{padding:9px;font-size:11px}nav button>span{display:none}main{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}.platform-grid,.group-grid{grid-template-columns:1fr 1fr}.platform-card{padding:17px}.welcome-card{padding:24px}.welcome-card h2{font-size:24px}.section-title>span{display:none}.section-title{align-items:flex-start}.section-title button{font-size:11px}.audit-row{grid-template-columns:1fr;gap:4px}.login-layout{grid-template-columns:1fr}.login-art{padding:30px;border-right:none;border-bottom:1px solid var(--line)}.login-art .wordmark{margin-bottom:25px}.login-art h1{font-size:34px;letter-spacing:-1.5px}.login-art .intro,.login-art>small,.platform-tags{display:none}.login-side{padding:35px 25px}h1{font-size:25px}.pair-row{flex-wrap:wrap}.group-grid{grid-template-columns:1fr}footer span{max-width:170px;text-align:right}}

.cell-detail{display:block;color:var(--muted);font-size:11px;margin-top:5px}.platform-card h3{overflow-wrap:anywhere}.route span{min-width:0}.route small{overflow-wrap:anywhere}.url-cell{overflow-wrap:anywhere}select:disabled{opacity:.5}@media(max-width:760px){.sidebar-bottom{display:flex;justify-content:flex-end;margin-top:10px;padding-top:0;border-top:none}.sidebar-bottom>div{display:none}.sidebar-bottom button{padding:6px 10px;font-size:11px}}

.player-link{color:var(--accent);text-decoration:none;white-space:nowrap;font-size:12px}.player-link:hover{text-decoration:underline}
