:root{color-scheme:dark;--bg:#070913;--panel:#0c1326;--panel2:#101a34;--line:rgba(126,157,219,.2);--text:#edf4ff;--muted:#8795b4;--cyan:#55e5ff;--violet:#a574ff;--green:#58e6ad;--font:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(700px 500px at 85% -10%,rgba(112,86,255,.24),transparent 64%),radial-gradient(650px 500px at 0 30%,rgba(34,211,238,.11),transparent 64%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.shell{max-width:1180px;margin:auto;padding:0 26px}
.topbar{min-height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;font-size:.85rem;font-weight:800;letter-spacing:.16em;flex:none}.mark{width:33px;height:33px;border:1px solid var(--cyan);border-radius:10px;color:var(--cyan);display:grid;place-items:center;box-shadow:0 0 22px rgba(85,229,255,.26)}.brand small{display:block;color:var(--cyan);font-size:.57rem;letter-spacing:.2em;margin-top:3px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.top-actions a,.top-actions button{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:rgba(15,26,51,.55);color:#aebddb;font-size:.71rem;white-space:nowrap}.top-actions a:hover,.top-actions button:hover{border-color:rgba(85,229,255,.5);color:#fff}.top-actions .active{border-color:rgba(85,229,255,.5);color:var(--cyan);background:rgba(85,229,255,.08)}
.hero{padding:56px 0 31px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1.3}.hero h1 span{color:var(--cyan)}.hero p{color:var(--muted);font-size:.8rem;margin-top:12px;line-height:1.7}.access-badge{padding:12px 15px;border:1px solid rgba(165,116,255,.25);border-radius:12px;color:#c8a9ff;font-size:.68rem;background:rgba(165,116,255,.06);white-space:nowrap}
main{min-width:0;min-height:460px;padding-bottom:36px}main:focus{outline:none}.layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:15px;align-items:start}.card{min-width:0;border:1px solid var(--line);border-radius:17px;background:linear-gradient(140deg,rgba(17,28,55,.82),rgba(8,13,27,.72));padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.2)}h2{font-size:1rem;letter-spacing:-.03em;line-height:1.5;margin-bottom:20px}.card-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px}.card-title h2{margin:0}p{color:var(--muted);font-size:.8rem;line-height:1.7}
.login-panel{width:100%;max-width:440px;margin:14px auto 10px;padding:30px}.login-panel h2{font-size:1.17rem;margin-bottom:6px}.login-panel p{margin-bottom:26px}.login-symbol{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;color:var(--cyan);border:1px solid rgba(85,229,255,.35);border-radius:14px;background:linear-gradient(145deg,rgba(85,229,255,.17),rgba(165,116,255,.16));box-shadow:0 0 28px rgba(85,229,255,.14)}.login-symbol svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5}
label{display:block;margin-bottom:18px;font-size:.75rem;line-height:1.5;color:#aebddb}input,select{display:block;width:100%;min-width:0;min-height:44px;margin-top:8px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#081126;color:#dce8ff;font-size:.8rem}input::placeholder{color:#8795b4;opacity:1}input:hover,select:hover{border-color:rgba(85,229,255,.4)}select{background:#111d38;cursor:pointer;padding-right:30px}option{background:var(--panel2);color:var(--text)}
button{min-height:42px;padding:10px 14px;border:1px solid rgba(85,229,255,.38);border-radius:9px;background:rgba(85,229,255,.1);color:var(--cyan);cursor:pointer;font-size:.75rem;transition:background-color .15s,border-color .15s}button:hover{background:rgba(85,229,255,.18)}.primary{width:100%;font-weight:600}.quiet{background:rgba(15,26,51,.55);border-color:var(--line);color:#aebddb}.quiet:hover{border-color:rgba(85,229,255,.5);color:var(--text);background:rgba(85,229,255,.08)}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}:is(button,input,select,a):focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
#message{overflow-wrap:anywhere}#message:not(:empty){margin-bottom:20px;padding:12px 15px;border:1px solid rgba(85,229,255,.25);border-radius:10px;background:rgba(85,229,255,.06);color:#c7d6ef;font-size:.75rem}#message.error{border-color:rgba(255,116,141,.35);background:rgba(255,116,141,.08);color:#ff9cb0}
.bot-toolbar{display:flex;align-items:flex-end;gap:14px}.bot-selector{flex:1;max-width:510px;margin-bottom:0}.bot-toolbar .quiet{min-height:44px;flex:none}.statusbar{margin:14px 0 22px;font-size:.75rem;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.mapping-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-top:18px;border-top:1px solid var(--line)}.add-mapping{width:100%;border-style:dashed;color:var(--cyan)}.hint{margin:14px 0 20px;font-size:.72rem;line-height:1.7}#count{font-size:.7rem;color:var(--muted);white-space:nowrap}
.person{padding:18px 0;border-top:1px solid var(--line)}.person:last-child{padding-bottom:0}.person-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.person strong{font-size:.88rem;font-weight:600;overflow-wrap:anywhere}.person ul{padding-left:17px;margin:12px 0 0;font-size:.75rem;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.remove{min-height:36px;flex:none;padding:8px 10px;border-color:rgba(255,116,141,.35);color:#ff9cb0;background:rgba(255,116,141,.08);font-size:.68rem}.remove:hover{background:rgba(255,116,141,.16)}
.footer{border-top:1px solid var(--line);padding:25px 0 35px;color:#8795b4;font-size:.65rem;display:flex;justify-content:space-between;gap:16px}.footer a{color:#89a1ce}.skip-link{position:fixed;top:-80px;left:24px;z-index:2;padding:12px;background:var(--cyan);color:var(--bg);border-radius:8px}.skip-link:focus{top:16px}
@media(max-width:800px){.layout{grid-template-columns:minmax(0,1fr)}.hero{display:block;padding-top:40px}.access-badge{display:inline-block;margin-top:18px}.roster{min-height:240px}}
@media(max-width:520px){.shell{padding:0 17px}.topbar{align-items:flex-start;padding:18px 0;gap:12px}.brand{margin-top:4px}.top-actions{max-width:180px;gap:6px}.top-actions a,.top-actions button{padding:8px 9px;font-size:.66rem;min-height:36px}.hero{padding:32px 0 26px}.card{padding:20px}.login-panel{margin-top:0}.bot-toolbar{gap:10px}.bot-toolbar .quiet{padding:10px}.mapping-row{gap:10px}input,select{font-size:16px}.footer{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.bot-health{margin-bottom:26px}.health-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.health-heading h2{margin:0}.health-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.auto-check{display:flex;align-items:center;gap:7px;margin:0;font-size:.7rem}.auto-check input{width:16px;min-height:16px;height:16px;margin:0;padding:0;accent-color:var(--cyan)}#status-summary{margin:15px 0;font-size:.72rem}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bot-state{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(4,9,21,.5)}.bot-state-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bot-state h3{font-size:.8rem;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.state-badge{font-size:.62rem;line-height:1.6;flex:none;border:1px solid var(--line);border-radius:8px;padding:4px 7px;color:var(--muted)}.state-badge.online{color:var(--green);border-color:rgba(88,230,173,.25);background:rgba(88,230,173,.06)}.state-badge.waiting{color:#ffc56b;border-color:rgba(255,197,107,.25);background:rgba(255,197,107,.06)}.state-badge.unavailable{color:#ff9cb0;border-color:rgba(255,116,141,.3);background:rgba(255,116,141,.06)}.bot-state dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:14px;font-size:.7rem;line-height:1.6}.bot-state dt{color:var(--muted)}.bot-state dd{color:#c7d6ef;overflow-wrap:anywhere;margin:0}.bot-state p{margin-top:14px;font-size:.72rem}.bot-state time{display:block;margin-top:13px;color:var(--muted);font-size:.65rem}.health-note{font-size:.67rem;margin-top:16px}
@media(max-width:1000px){.status-grid{grid-template-columns:minmax(0,1fr)}.bot-state dl{grid-template-columns:110px minmax(0,1fr);gap:8px}.bot-state dd{margin:0}}
@media(max-width:520px){.health-actions{gap:10px}.health-heading{gap:12px}.bot-state{padding:14px}.bot-state-head{flex-wrap:wrap}}
