:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#0b0d14;color:#f0f1f6;font-size:15px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -15%,#21253a 0,transparent 38%),#0b0d14;min-height:100vh}.shell{max-width:1050px;margin:0 auto;padding:24px 22px 90px}header,.brand,.section-head,.actions,.upload-row{display:flex;align-items:center;gap:12px}header{justify-content:space-between;margin-bottom:28px}.brand{gap:13px}.brand strong{display:block;font-size:18px;letter-spacing:.02em}.brand small{display:block;color:#8d94aa;font-size:12px;margin-top:3px}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#8d6bf1,#5c42ae);font-weight:900;font-style:italic;font-size:24px;box-shadow:0 8px 30px #7b5be544}.pill{font-size:12px;padding:8px 12px;border-radius:30px;background:#332a1e;color:#eac488}.pill.on{background:#193d32;color:#8ae3ba}nav{display:flex;gap:6px;border-bottom:1px solid #2a2d39;margin-bottom:28px}button{font:inherit;cursor:pointer;border:0;color:inherit}nav button{background:transparent;padding:12px 20px;color:#949aaf;border-bottom:2px solid transparent}.tab.active{color:#d9cbff;border-color:#9d7af1}.panel{display:none}.panel.active{display:block}.intro{margin-bottom:22px}.intro h1{font-size:29px;margin:0 0 5px;letter-spacing:-.04em}.intro p,.hint{color:#9199ad}.intro p{margin:0;line-height:1.6}.card,.feed{background:#151824;border:1px solid #292d3d;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 10px 40px #06070b30}.card h2,.feed h2{font-size:17px;margin:0 0 18px}.card h3{font-size:14px;margin:0 0 6px}.section-head{justify-content:space-between;flex-wrap:wrap}.section-head h2{margin:0 0 16px}.hint{font-size:12px;line-height:1.55}.choices,.actions{display:flex;gap:9px;flex-wrap:wrap}.choices button,.secondary,.primary,.danger-soft,.danger{border-radius:10px;padding:11px 15px;font-weight:600}.choices button,.secondary{background:#252a3a;color:#dce0ee}.choices button.active{background:#493a72;color:#e9ddff;box-shadow:inset 0 0 0 1px #a786ed}.primary{background:#8d6bea;color:#fff}.danger-soft{background:#3b2932;color:#ffb5c5}.danger{background:#bd4661;color:#fff}.choices button:hover,.secondary:hover,.primary:hover,.danger-soft:hover{filter:brightness(1.15)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;color:#cbd0de;font-size:13px;font-weight:600;line-height:1.4}input,select{display:block;width:100%;height:43px;margin-top:7px;background:#0e111b;border:1px solid #34394b;border-radius:10px;padding:0 12px;color:#f2f3f8;font:inherit;outline:none}input:focus,select:focus{border-color:#9c79f2;box-shadow:0 0 0 3px #9572e329}input[type=file]{height:auto;padding:11px;font-size:12px}.actions{margin-top:20px}.divider{height:1px;background:#2e3242;margin:22px 0}.upload-row{margin-top:14px;align-items:end}.upload-row>*{flex:1}.upload-row button{flex:0 0 auto}.wide{margin-top:14px}.server-list{max-height:210px;overflow:auto;border:1px solid #303446;border-radius:11px;padding:8px}.server-item{display:flex;align-items:center;gap:12px;padding:9px;border-bottom:1px solid #242837}.server-item:last-child{border:0}.server-item input{width:17px;height:17px;margin:0;accent-color:#9672ed}.server-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{background:none;color:#b79dff;font-size:12px;padding:5px}.caution{border-color:#513541}.feed{margin-top:24px}.log{color:#aeb6cb;font-size:13px;line-height:1.7;max-height:180px;overflow:auto;white-space:pre-wrap}.log-entry{padding:6px 0;border-top:1px solid #232736}.log-entry:first-child{border:0}dialog{border:1px solid #4d3a50;border-radius:18px;background:#1d1e2b;color:#fff;width:min(400px,calc(100% - 35px));box-shadow:0 30px 90px #0009}.dialog-body{padding:18px}.dialog-body h2{margin:0 0 8px}.dialog-body p{color:#bfc4d2;line-height:1.6}dialog::backdrop{background:#05060ac0}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#30254e;border:1px solid #8e6be5;padding:11px 18px;border-radius:12px;box-shadow:0 10px 35px #0008;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.show{opacity:1}@media(max-width:650px){.shell{padding:17px 14px 80px}.card,.feed{padding:17px}.form-grid{grid-template-columns:1fr}.upload-row{flex-direction:column;align-items:stretch}.upload-row>*{width:100%}.intro h1{font-size:25px}nav button{flex:1;padding:11px 5px}.choices button{flex:1 1 42%}}
:root{background:#10130f;color:#f3f5ee}
body{background:radial-gradient(circle at 48% -8%,#293124 0,transparent 45%),linear-gradient(#242a201b 1px,transparent 1px),linear-gradient(90deg,#242a201b 1px,transparent 1px),#10130f;background-size:auto,42px 42px,42px 42px,auto}
.card,.feed{background:#191d18;border-color:#343a30}.mark{background:linear-gradient(145deg,#d3e0bb,#9fad88);color:#1b2013;box-shadow:0 8px 30px #baca9d3b}
.brand small,.intro p,.hint{color:#a7b09f}nav{border-color:#343a30}nav button{color:#a7b09f}.tab.active{color:#d3e0bb;border-color:#d3e0bb}
.pill{background:#37331d;color:#e9d7a4}.pill.on{background:#273a29;color:#d3e0bb}
.choices button,.secondary{background:#2c3229;color:#e8eddf}.choices button.active{background:#d3e0bb;color:#1b2013;box-shadow:inset 0 0 0 1px #d3e0bb}
.primary{background:#d3e0bb;color:#1b2013}.danger-soft{background:#3b2c2c;color:#ffc2bf}
input,select{background:#11150f;border-color:#3b4436;color:#f3f5ee}input:focus,select:focus{border-color:#d3e0bb;box-shadow:0 0 0 3px #d3e0bb23}
.divider{background:#353e31}.server-list{border-color:#3b4436}.server-item{border-color:#30392d}.server-item input{accent-color:#b8cc9a}.text-button{color:#d3e0bb}
.header-tools,.small-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.header-tools select{width:auto;height:34px;margin:0;font-size:12px;padding:0 8px}
.role-box{display:flex;flex-wrap:wrap;gap:8px;min-height:46px;align-items:center;margin-top:12px;border:1px solid #3b4436;background:#11150f;border-radius:10px;padding:10px 12px;color:#a7b09f;font-size:13px}
.role-chip{padding:6px 10px;border:1px solid #617255;border-radius:999px;background:#2d3929;color:#e8f2db}
dialog{background:#1b2119;border-color:#67785d}#toast{background:#2d3929;border-color:#a8c38b}
html[dir=rtl] body{text-align:right}html[dir=rtl] input,html[dir=rtl] select{text-align:right}
@media(max-width:650px){header{align-items:flex-start;gap:10px}.header-tools{justify-content:flex-end}.header-tools .text-button{padding:3px}.small-actions{gap:3px}}
.access{max-width:520px;margin:7vh auto}.access h1{font-size:24px}.access label{margin:20px 0 12px}.access button{margin-top:7px}body.locked nav,body.locked main,body.locked #reconnect{display:none}[hidden]{display:none!important}
.stream-warning{padding:11px 13px;border-radius:10px;border:1px solid #79633d;background:#393020;color:#f4dda9;font-size:13px}
