:root{--ink-900: #0e0d0c;--ink-800: #161513;--ink-700: #1d1b18;--ink-600: #24211d;--ink-500: #2d2924;--line: #302b25;--line-strong: #453f37;--text: #ebe5dc;--text-dim: #9d958a;--text-faint: #6a635a;--signal: #5ee08a;--signal-dim: #2f7d4c;--amber: #e8a33d;--amber-dim: #8a6220;--alert: #e2664f;--alert-dim: #7c2f22;--font: ui-sans-serif, system-ui, "Segoe UI Variable Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--r: 4px;--r-lg: 8px;--gap: 10px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur: .15s;--shadow-xs: 0 1px 2px rgb(0 0 0 / 25%);--shadow-sm: 0 2px 6px rgb(0 0 0 / 30%);--shadow-md: 0 4px 16px rgb(0 0 0 / 40%);--shadow-lg: 0 8px 32px rgb(0 0 0 / 50%);--shadow-xl: 0 16px 48px rgb(0 0 0 / 60%)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ink-900);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;overflow:hidden;cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='20'><path d='M1 1v16l4.5-4.5L8 18h2L7.5 12.5 13 11z' fill='%23ebe5dc' stroke='%230e0d0c' stroke-width='1.2' stroke-linejoin='round'/></svg>") 1 1,default}.label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--ink-600);border:1px solid var(--line);border-radius:var(--r);padding:7px 12px;cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='22'><path d='M6.5 7V1.5a1.5 1.5 0 0 1 3 0V7h0V5a1.5 1.5 0 0 1 3 0v3.5a1.5 1.5 0 0 1 3 0V12a6 6 0 0 1-6 6H8A5.5 5.5 0 0 1 2.5 12.5V9.5A1.5 1.5 0 0 1 5 9.5V7a1.5 1.5 0 0 1 1.5-1.5z' fill='%23e8a33d' stroke='%230e0d0c' stroke-width='.8'/></svg>") 6 1,pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur) var(--ease),transform 80ms var(--ease)}button:hover:not(:disabled){border-color:var(--line-strong);background:var(--ink-500)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--amber);border-color:var(--amber);color:#241706;font-weight:650}button.primary:hover:not(:disabled){background:#f2b354;border-color:#f2b354;box-shadow:0 0 16px -4px #e8a33d66}button.ghost{background:transparent}button.danger{color:var(--alert);border-color:var(--alert-dim)}button.armed{background:#2b1613;border-color:var(--alert-dim);color:var(--alert)}input,select,textarea{background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 2px #e8a33d26}input[type=range]{padding:0;accent-color:var(--amber);background:transparent;border:none;box-shadow:none}input[type=range]:focus{box-shadow:none}::selection{background:var(--amber-dim);color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--ink-500);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}::-webkit-scrollbar-track{background:transparent}.vu{display:flex;gap:2px;align-items:flex-end;height:12px;flex:none}.vu i{width:3px;background:var(--ink-500);border-radius:1px;transition:background 70ms linear,height 70ms linear}.vu i:nth-child(1){height:4px}.vu i:nth-child(2){height:7px}.vu i:nth-child(3){height:10px}.vu i:nth-child(4){height:12px}.vu.live i{background:var(--signal)}.vu.live i:nth-child(1){animation:vu .42s ease-in-out infinite}.vu.live i:nth-child(2){animation:vu .38s ease-in-out infinite 60ms}.vu.live i:nth-child(3){animation:vu .46s ease-in-out infinite .12s}.vu.live i:nth-child(4){animation:vu .4s ease-in-out infinite 30ms}@keyframes vu{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}.vu i{transform-origin:bottom}@media(prefers-reduced-motion:reduce){.vu.live i{animation:none}}#app{height:100%}.browser{height:100%;display:grid;grid-template-rows:auto 1fr;max-width:720px;margin:0 auto;padding:56px 28px 28px;gap:32px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:40px;height:40px;flex-shrink:0}.brand h1{margin:0;font-size:32px;font-weight:800;letter-spacing:-.04em;background:linear-gradient(160deg,#f2b354,var(--amber));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand .rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong) 0%,transparent 100%)}.browser-body{overflow-y:auto;display:grid;gap:20px;align-content:start}.stack{display:grid;gap:8px}.server-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 16px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.server-card:hover{border-color:var(--amber-dim);background:var(--ink-700);box-shadow:0 0 0 1px #8a62204d,var(--shadow-md);transform:translateY(-1px)}.server-card .slot{font-family:var(--mono);font-size:15px;color:var(--amber);min-width:26px;text-align:center}.server-card .name{font-weight:600;font-size:15px}.server-card .where{color:var(--text-faint);font-family:var(--mono);font-size:11px}.occupancy{display:flex;gap:2px;align-items:center}.occupancy i{width:4px;height:14px;background:var(--ink-500);border-radius:1px;transition:background var(--dur) var(--ease)}.occupancy i.filled{background:var(--amber)}.occupancy .count{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--text-dim)}.empty{color:var(--text-faint);padding:32px 4px;border:1px dashed var(--line);border-radius:var(--r-lg);text-align:center;font-size:13px}.form-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:16px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);animation:slide-down .2s var(--ease-out)}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.form-grid .wide{grid-column:1 / -1}label.field{display:grid;gap:5px}.row{display:flex;align-items:center;gap:10px}.identity-row{display:flex;align-items:center;gap:10px;color:var(--text-faint);border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap;font-size:12px}.identity-row .mono{color:var(--text-dim)}.shell{height:100%;display:grid;grid-template-columns:54px minmax(230px,300px) 1fr;grid-template-rows:1fr auto;grid-template-areas:"rail rooms talk" "console console console"}.rail{grid-area:rail;background:var(--ink-800);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 10px;overflow-y:auto}.rail-brand{width:34px;height:34px;margin-bottom:4px;opacity:.7;transition:opacity var(--dur) var(--ease)}.rail-brand:hover{opacity:1}.rail button{width:36px;height:36px;padding:0;display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--text-dim);background:transparent;border:1px solid transparent;border-radius:10px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),border-radius var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.rail button:hover:not(:disabled){background:var(--ink-600);border-color:var(--line);border-radius:var(--r-lg);color:var(--text)}.rail button.here{border-color:var(--amber-dim);color:var(--amber);background:#e8a33d1a;border-radius:var(--r-lg);box-shadow:0 0 8px -2px #e8a33d26}.rail .spacer{flex:1}.rail .sep{width:24px;height:1px;background:var(--line);margin:2px 0}.rail button svg{width:18px;height:18px;stroke-width:1.8}.rail-avatar{width:36px!important;height:36px!important;font-weight:700;font-size:14px;color:var(--amber)!important;background:#e8a33d1f!important;border-color:var(--amber-dim)!important}.rooms{grid-area:rooms;border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;min-height:0}.rooms>header,.talk>header{padding:12px 14px;border-bottom:1px solid var(--line);display:grid;gap:2px}.rooms>header{background:var(--ink-800)}.rooms>header .name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.tree{overflow-y:auto;padding:6px}.room{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;color:var(--text-dim);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.room:hover{background:var(--ink-700)}.room.here{background:#e8a33d14;color:var(--text);box-shadow:inset 2.5px 0 0 var(--amber)}.room.selected{background:var(--ink-600);color:var(--text);box-shadow:inset 2.5px 0 0 var(--text-faint)}.room.selected.here{box-shadow:inset 2.5px 0 0 var(--amber)}.room .idx{font-family:var(--mono);font-size:10px;color:var(--text-faint);min-width:16px}.room-info{flex:1;min-width:0;display:grid;gap:1px}.room .name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room .topic{font-size:10px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}.room .cap{font-family:var(--mono);font-size:10px;color:var(--text-faint);align-self:start;margin-top:4px}.section-header{display:flex;align-items:center;gap:10px;padding:14px 12px 6px;user-select:none}.section-header:before,.section-header:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--line),transparent)}.section-label{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.24em;color:var(--text-faint);text-transform:uppercase}.section-header.bot-section .section-label{color:var(--amber-dim, #b8863d)}.section-divider{height:1px;margin:8px 12px 10px;background:linear-gradient(to right,transparent,var(--line),transparent)}.room.bot-channel{margin:2px 0;background:linear-gradient(90deg,rgba(232,163,61,.06) 0%,rgba(232,163,61,.015) 60%,transparent 100%);border:1px solid rgba(232,163,61,.12);padding-top:9px;padding-bottom:9px}.room.bot-channel:hover{background:linear-gradient(90deg,rgba(232,163,61,.12) 0%,rgba(232,163,61,.03) 60%,transparent 100%);border-color:#e8a33d3d}.room.bot-channel .idx{color:var(--amber);font-family:inherit;font-size:12px}.room.bot-channel .name{color:var(--text);letter-spacing:.02em}.room.bot-channel.here{border-color:#e8a33d59}.room.tool-channel{margin:2px 0;color:var(--text);background:#ffffff05}.room.tool-channel .idx{color:var(--amber);font-size:12px}.peer{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 24px;border-radius:6px;color:var(--text-dim);cursor:pointer;font-size:13px;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.peer:hover{background:var(--ink-700)}.peer.selected{background:var(--ink-600);box-shadow:inset 2.5px 0 0 var(--text-faint)}.peer.me .nick{color:var(--text);font-weight:600}.peer .nick{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer.quiet .nick{color:var(--text-faint)}.peer-avatar{width:22px;height:22px;border-radius:50%;background:var(--ink-500);border:1px solid var(--line);display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--text-dim);flex-shrink:0;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.peer.me .peer-avatar{background:#e8a33d26;border-color:var(--amber-dim);color:var(--amber)}.peer-avatar.talking{border-color:var(--signal);box-shadow:0 0 6px #5ee08a4d}.peer-avatar.muted{opacity:.5}.rank{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber-dim);border-radius:3px;padding:0 4px;line-height:1.6}.peer.movable{user-select:none;cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20'><path d='M6 2v12l3.5-3.5L12 16h2l-2.5-5.5L16 10z' fill='%23e8a33d' stroke='%23241706' stroke-width='1'/></svg>") 6 2,grab}.peer.dragging{opacity:.35;cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22'><path d='M7 2v12l3.5-3.5L13 16h2l-2.5-5.5L17 10z' fill='%23f2b354' stroke='%23241706' stroke-width='1.2'/><circle cx='17' cy='5' r='3' fill='none' stroke='%23f2b354' stroke-width='1.5'/><path d='M19.1 7.1l2.5 2.5' stroke='%23f2b354' stroke-width='1.5' stroke-linecap='round'/></svg>") 7 2,grabbing}.room.drop-target{background:var(--ink-600);box-shadow:inset 2px 0 0 var(--amber);color:var(--text)}.drag-ghost{position:fixed;z-index:100;padding:4px 10px;background:var(--ink-700);border:1px solid var(--amber-dim);border-radius:var(--r);font-size:12px;font-weight:600;color:var(--amber);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-lg)}.peer .flag{font-size:10px;color:var(--alert);font-family:var(--mono)}.rooms>footer{border-top:1px solid var(--line);padding:8px 10px;display:flex;gap:6px;background:var(--ink-800)}.rooms>footer button{font-size:12px;padding:5px 10px}.talk{grid-area:talk;display:flex;flex-direction:column;min-height:0}.talk>header{display:flex;align-items:center;gap:12px;background:var(--ink-800)}.talk>header .name{font-weight:700;font-size:14px;letter-spacing:-.01em}.talk>header .motd{color:var(--text-dim);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.talk>header .motd.warn{color:var(--alert)}.stat{font-family:var(--mono);font-size:10px;color:var(--text-faint);display:flex;gap:10px;align-items:center}.stat b{color:var(--text-dim);font-weight:500}.stat .via{color:var(--amber)}.claims-page,.stats-page{flex:1;min-height:0;overflow-y:auto;padding:14px;display:grid;align-content:start;gap:12px}.claims-panel{border-bottom:1px solid var(--line);background:#ffffff04;border:1px solid var(--line);border-radius:6px;padding:12px;display:grid;gap:8px}.claims-panel h3{margin:0;font-size:12px;color:var(--text-dim);text-transform:uppercase}.claims-head{display:flex;align-items:center;gap:10px}.claims-head h2{margin:0;font-size:13px;text-transform:uppercase;color:var(--text)}.claim-form{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(120px,1fr) 78px auto;gap:8px;align-items:start}.bot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 12px}.bot-field{display:grid;gap:4px;font-size:12px;color:var(--text-dim)}.bot-field-label{text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim)}.bot-field input[type=text],.bot-field input:not([type]),.bot-field input[type=number]{height:32px;padding:0 8px}.bot-field input[type=checkbox]{justify-self:start;width:16px;height:16px}.bot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.bot-hunted-add{display:grid;grid-template-columns:1fr auto;gap:8px}.bot-name-list{display:grid;gap:4px;margin-top:6px}.bot-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:#ffffff05}.bot-name{font-size:13px;display:inline-flex;align-items:center;gap:6px}.bot-guild-tag{font-size:11px;font-weight:600;padding:1px 5px;border-radius:4px;background:#e8a33d24;color:var(--brand, #e8a33d);letter-spacing:.03em}.settings-hint{display:block;font-size:12px;color:var(--text-dim);margin:2px 0 6px}.claim-form input,.claim-form select{min-width:0;height:34px}.resp-search{display:grid;gap:5px;min-width:0}.resp-search-results{display:grid;gap:4px}.resp-search-option{border:1px solid var(--line);background:#ffffff06;color:var(--text);border-radius:5px;min-height:30px;padding:5px 8px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left}.resp-search-option:hover{border-color:#e8a33d52}.resp-search-option strong,.resp-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resp-search-option small{color:var(--text-faint);font-size:10px}.resp-search-empty,.resp-search-hint{padding-left:2px}.resp-code{color:var(--amber);font-family:var(--mono);font-size:11px}.claims-list{display:grid;gap:6px;max-height:260px;overflow-y:auto}.resp-list{max-height:420px;gap:10px}.resp-group{display:grid;gap:4px}.resp-group-head{display:flex;align-items:center;gap:8px;padding:7px 2px 3px;border-bottom:1px solid var(--line)}.resp-group-head strong{color:var(--amber);font-size:12px}.resp-title{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center}.claim-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#ffffff06}.claim-row.occupied{border-color:#e8a33d2e}.claim-row.free strong{color:var(--text-dim)}.claim-main{min-width:0;flex:1;display:grid;gap:2px}.claim-main strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-meta,.claim-note,.claims-empty{color:var(--text-faint);font-size:11px}.claim-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{border:1px solid var(--line);border-radius:6px;padding:12px;background:#ffffff06;display:grid;gap:6px}.stat-card strong{font-family:var(--mono);font-size:24px}.log{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:2px;min-height:0}.line{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:baseline;padding:4px 6px;border-radius:4px;transition:background var(--dur) var(--ease)}.line:hover{background:#ffffff06}.line time{font-family:var(--mono);font-size:10px;color:var(--text-faint)}.line .who{font-weight:650;font-size:13px;color:var(--amber);margin-right:6px}.line .body{font-size:13px}.line.system .body{color:var(--text-faint);font-style:italic;font-size:12px}.line.dm .who{color:var(--signal)}.dm-log{padding:14px 16px;gap:4px;background:radial-gradient(circle at 20% 0%,rgba(232,163,61,.04),transparent 40%),radial-gradient(circle at 80% 100%,rgba(126,169,255,.03),transparent 40%)}.dm-row{display:flex;align-items:flex-end;gap:8px;padding:0 4px;margin:2px 0}.dm-row.dm-in{justify-content:flex-start}.dm-row.dm-out{justify-content:flex-end}.dm-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:linear-gradient(140deg,#4a3a2a,#2a2018);color:#f3d9a8;border:1px solid rgba(232,163,61,.25);flex-shrink:0;user-select:none}.dm-avatar-mine{background:linear-gradient(140deg,#e8a33d52,#e8a33d1f);color:#1a1410;border-color:#e8a33d8c}.dm-bubble{max-width:min(72%,520px);padding:8px 12px 6px;border-radius:14px;font-size:13px;line-height:1.35;word-break:break-word;box-shadow:0 1px 2px #00000040}.dm-row.dm-in .dm-bubble{background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.06);border-top-left-radius:4px}.dm-row.dm-out .dm-bubble{background:linear-gradient(160deg,#e8a33d38,#e8a33d24);color:#fdf5e6;border:1px solid rgba(232,163,61,.3);border-top-right-radius:4px}.dm-text{white-space:pre-wrap}.dm-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:3px;font-family:var(--mono);font-size:10px;color:var(--text-faint);opacity:.85}.dm-row.dm-out .dm-meta{color:#fdf5e6a6}.dm-check{font-family:var(--mono);font-size:11px;letter-spacing:-1px;line-height:1}.dm-check.sent{color:var(--text-faint)}.dm-check.read{color:#6db8ff}.line.bot .body{font-style:normal;font-size:13px;color:var(--text)}.line.bot .bot-tag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:3px;margin-right:8px;vertical-align:1px;background:#ffffff0f;color:var(--text-faint)}.line.bot-online .bot-tag{background:#5ec27a2e;color:#7fd89b}.line.bot-offline .bot-tag{background:#7878782e;color:#8f8f8f}.line.bot-death .bot-tag{background:#d65a5a33;color:#ef8a8a}.line.bot-kill .bot-tag{background:#d6915a33;color:#f0a866}.line.bot-levelup .bot-tag{background:#eec36433;color:#f0cd76}.line.bot-presence .bot-tag{background:#5ec27a24;color:#9edcad}.line.bot-test .bot-tag{background:#7ea9ff2e;color:#a9c4ff}.line.bot-online .body{color:#cde8d3}.line.bot-offline .body{color:var(--text-faint)}.line.bot-death .body{color:#f2c0c0}.line.bot-kill .body{color:#f2d1b0}.line.bot-levelup .body{color:#f2e2b0}.line.bot-presence .body{color:#d8e8dc}.line.bot-test .body{color:#dbe6ff}.line.bot .bot-side{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:3px;margin-right:8px;vertical-align:1px}.line.bot .bot-side-amigo-tag{background:#5ec27a29;color:#86dda1}.line.bot .bot-side-inimigo-tag{background:#d65a5a33;color:#ef8a8a}.line.bot .bot-guild-tag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;margin-right:8px;vertical-align:1px;background:#e8a33d24;color:#e8a33d;border:1px solid rgba(232,163,61,.25)}.line.bot .bot-player{font-weight:600;color:var(--text)}.line.bot .bot-level{display:inline-block;font-family:var(--mono);font-size:11px;padding:0 5px;border-radius:3px;background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.08)}.line.bot .bot-level-from{color:var(--text-dim);background:#ffffff08}.line.bot .bot-level-to{color:#f0cd76;background:#eec3641f;border-color:#eec3643d;font-weight:700}.line.bot-death .bot-player,.line.bot-side-inimigo.bot-online .bot-player{color:#f2c0c0}.line.bot-kill .bot-player{color:#f2d1b0}.line.bot-levelup .bot-player{color:#f2e2b0}.line.bot-side-amigo .bot-player{color:#cde8d3}.empty-dm{color:var(--text-faint);font-style:italic;text-align:center;padding:20px}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;color:var(--text-faint);font-size:13px;padding:32px}.empty-chat-icon{font-size:28px;font-weight:800;color:var(--ink-500);width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--ink-500);border-radius:50%;margin-bottom:4px}.empty-chat-hint{font-size:11px;color:var(--text-faint);opacity:.6}.chat-tabs{display:flex;gap:0;padding:0 12px;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0;background:var(--ink-800)}.chat-tab{display:flex;align-items:center;gap:4px;padding:8px 12px 7px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;letter-spacing:.04em;border-radius:0;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.chat-tab:hover{color:var(--text);background:#ffffff08}.chat-tab:active:not(:disabled){transform:none}.chat-tab.active{color:var(--amber);border-bottom-color:var(--amber)}.tab-badge{background:var(--amber);color:var(--ink-900);font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.tab-close{font-size:14px;line-height:1;opacity:.4;cursor:pointer;margin-left:2px;transition:opacity var(--dur) var(--ease)}.tab-close:hover{opacity:1;color:var(--alert)}.composer{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line);flex-shrink:0;background:var(--ink-800)}.composer input{font-size:13px;padding:7px 12px;border-radius:6px}.group-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px;padding:14px;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--dur) var(--ease)}.group-card:hover{border-color:var(--line-strong)}.group-card.dirty{border-color:#e8a33d8c;box-shadow:inset 3px 0 #e8a33dbf}.group-preview{font-weight:600;font-size:13px}.groups-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:8px 10px;margin:6px 0 10px;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(4px)}.groups-toolbar .groups-status{flex:1;font-size:12px;color:var(--text-dim)}.groups-toolbar .groups-status.dirty{color:#e8a33d;font-weight:600}.groups-toolbar button{padding:4px 12px;font-size:12px}.groups-toolbar button:disabled{opacity:.4;cursor:not-allowed}.group-icon-area{display:grid;gap:6px;justify-items:center;align-content:start}.group-icon-placeholder{width:32px;height:32px;background:var(--ink-600);border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;font-weight:700;font-size:14px;color:var(--text-dim)}.group-info-area{display:grid;gap:10px;align-content:start}.channel-info{border-bottom:1px solid var(--line);padding:14px 18px;display:grid;gap:10px;background:var(--ink-800);animation:info-in .2s var(--ease-out);flex-shrink:0;overflow-y:auto;max-height:40vh}@keyframes info-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.channel-info-header{display:flex;align-items:center;gap:8px}.channel-icon{font-size:12px;color:var(--text-faint);min-width:16px;text-align:center}.channel-name{font-weight:650;font-size:15px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-desc{color:var(--text-dim);font-size:13px;line-height:1.5;padding:6px 10px;background:var(--ink-900);border-radius:var(--r);border-left:2px solid var(--amber-dim)}.channel-stats{display:flex;gap:16px;align-items:center}.stat-item{display:flex;align-items:baseline;gap:4px}.stat-value{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--amber)}.stat-label{font-size:11px;color:var(--text-faint)}.channel-members{display:grid;gap:6px}.member-grid{display:flex;flex-wrap:wrap;gap:4px 10px}.member-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-dim)}.member-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.member-dot.online{background:var(--signal);box-shadow:0 0 4px #5ee08a66}.member-dot.muted{background:var(--text-faint)}.member-dot.away{background:var(--amber-dim)}.client-info-rows{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.client-info-row{display:flex;gap:6px;font-size:11px;line-height:1.6}.client-info-label{color:var(--text-faint);white-space:nowrap}.client-info-value{color:var(--text);word-break:break-all}.client-controls{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.client-vol-row{display:flex;align-items:center;gap:8px}.console{grid-area:console;background:var(--ink-800);border-top:1px solid var(--line);box-shadow:0 -4px 16px #0003;padding:8px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.console .group{display:flex;align-items:center;gap:8px}.console .divider{width:1px;height:20px;background:var(--line);margin:0 2px}.console .spacer{flex:1}.meter{width:120px;height:6px;background:var(--ink-900);border:1px solid var(--line);border-radius:3px;overflow:hidden;position:relative}.meter i{display:block;height:100%;width:0;background:var(--amber);transition:width 60ms linear;border-radius:2px}.meter.live i{background:var(--signal)}.meter u{position:absolute;top:0;bottom:0;width:1px;background:var(--line-strong)}.console button{padding:5px 8px;min-width:32px;height:32px}.console button svg{width:16px;height:16px;stroke-width:1.8}.console select{width:auto;min-width:118px;font-size:12px;padding:5px 8px}.console input[type=range]{width:96px}.console .mono{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.menu{position:fixed;z-index:40;min-width:220px;max-width:280px;max-height:min(80vh,480px);overflow-y:auto;overscroll-behavior:contain;background:#1d1b18eb;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--line-strong);border-radius:10px;padding:5px;box-shadow:var(--shadow-xl),0 0 0 1px #0003,inset 0 1px #ffffff08;display:grid;gap:1px;animation:menu-in .15s var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:none}}.menu::-webkit-scrollbar{width:4px}.menu::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.menu .head{padding:10px 10px 8px;margin-bottom:2px;display:grid;gap:2px}.menu .head .nick{font-weight:700;font-size:14px}.menu .head .mono{font-size:10px;color:var(--text-faint);font-family:var(--mono)}.menu .head+hr{margin-top:0}.menu .section-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:8px 10px 3px;user-select:none}.menu .label{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:4px 10px 2px}.menu button{background:transparent;border:none;text-align:left;padding:6px 10px;border-radius:6px;width:100%;font-size:13px;cursor:pointer;transition:background 80ms var(--ease),color 80ms var(--ease);display:flex;align-items:center;gap:8px}.menu button:hover:not(:disabled){background:#ffffff0f}.menu button:active:not(:disabled){background:#ffffff0a;transform:none}.menu button.primary{background:var(--amber);border:1px solid var(--amber);color:#241706;font-weight:650;justify-content:center}.menu button.primary:hover:not(:disabled){background:#f2b354;border-color:#f2b354}.menu button.danger{color:var(--alert)}.menu button.ghost{color:var(--text-dim)}.menu button .arrow{margin-left:auto;font-size:10px;color:var(--text-faint);transition:transform .15s var(--ease)}.menu button.open .arrow{transform:rotate(90deg)}.menu .slider{padding:6px 10px 8px;display:grid;gap:6px}.menu .sub{display:grid;gap:1px;padding:2px 0 2px 6px;margin-left:10px;border-left:2px solid var(--line);overflow:hidden;transition:grid-template-rows .15s var(--ease),opacity .15s var(--ease),padding .15s var(--ease);grid-template-rows:1fr;opacity:1}.menu .sub.collapsed{grid-template-rows:0fr;opacity:0;padding:0 0 0 6px}.menu .sub>div{overflow:hidden;display:grid;gap:1px}.menu .sub button{font-size:12px;padding:5px 8px;color:var(--text-dim)}.menu .sub button:hover:not(:disabled){color:var(--text)}.menu .sub button.danger{color:var(--alert)}.menu hr{border:none;border-top:1px solid var(--line);margin:3px 4px}.notice{position:fixed;bottom:76px;left:50%;transform:translate(-50%);background:#2b1613;border:1px solid var(--alert-dim);color:#f3ccc4;padding:9px 14px;border-radius:var(--r);font-size:13px;z-index:50;box-shadow:var(--shadow-lg);animation:notice-in .2s var(--ease-out)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%)}}.badge{background:var(--amber);color:#241706;border-radius:8px;font-family:var(--mono);font-size:10px;font-weight:700;padding:1px 6px}@media(max-width:860px){.shell{grid-template-columns:46px 1fr;grid-template-areas:"rail rooms" "rail talk" "console console";grid-template-rows:38% 1fr auto}.rooms{border-bottom:1px solid var(--line)}.rail-brand{width:28px;height:28px}}.poke-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:grid;place-items:center;padding:24px;animation:overlay-in .2s var(--ease-out)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes poke-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}90%{transform:translate(1px)}}.poke-modal{background:var(--ink-800);border:1px solid var(--amber-dim);border-radius:12px;width:360px;max-width:100%;overflow:hidden;animation:poke-shake .4s ease-out;box-shadow:var(--shadow-xl)}.poke-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--ink-700);border-bottom:1px solid var(--line)}.poke-header .poke-icon{font-size:22px;flex:none}.poke-header .poke-title{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);flex:1}.poke-header .poke-count{font-family:var(--mono);font-size:11px;color:var(--text-dim);background:var(--ink-500);border-radius:var(--r);padding:2px 7px}.poke-list{max-height:240px;overflow-y:auto;padding:4px 0}.poke-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease)}.poke-entry:last-child{border-bottom:none}.poke-entry.poke-new{animation:poke-flash .6s ease-out}@keyframes poke-flash{0%{background:var(--amber-dim)}to{background:transparent}}.poke-avatar{width:28px;height:28px;border-radius:50%;background:var(--ink-500);border:1px solid var(--line-strong);display:grid;place-items:center;font-size:13px;color:var(--amber);font-weight:700;flex:none}.poke-info{min-width:0}.poke-from{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poke-msg{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poke-time{font-family:var(--mono);font-size:10px;color:var(--text-faint);flex:none}.poke-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:var(--ink-700)}.settings-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:24px;animation:overlay-in .2s var(--ease-out)}.settings{background:var(--ink-800);border:1px solid var(--line-strong);border-radius:12px;width:720px;max-width:100%;height:560px;max-height:100%;display:grid;grid-template-columns:170px 1fr;grid-template-rows:1fr auto;overflow:hidden;box-shadow:var(--shadow-xl);animation:modal-in .25s var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.settings-nav{grid-row:1 / -1;background:var(--ink-900);border-right:1px solid var(--line);padding:8px 0;overflow-y:auto}.settings-nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 16px;border:none;border-radius:0;background:transparent;color:var(--text-dim);font-size:13px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.settings-nav button:hover{background:var(--ink-700);color:var(--text)}.settings-nav button:active:not(:disabled){transform:none}.settings-nav button.active{background:var(--ink-700);color:var(--amber);box-shadow:inset 2px 0 0 var(--amber)}.settings-nav button .icon{font-size:16px;width:20px;text-align:center}.settings-body{padding:20px 28px;overflow-y:auto;display:grid;gap:16px;align-content:start}.settings-body h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--line);padding-bottom:8px}.settings-row{display:grid;gap:6px}.settings-row label{display:grid;gap:4px}.settings-row label>span{font-size:12px;color:var(--text-dim)}.settings-row select,.settings-row input[type=text],.settings-row input[type=password],.settings-row input[type=number]{width:100%}.settings-slider{display:grid;grid-template-columns:1fr 48px;gap:10px;align-items:center}.settings-slider input[type=range]{width:100%}.settings-slider .val{font-family:var(--mono);font-size:11px;color:var(--text-dim);text-align:right}.settings-toggle{display:flex;align-items:center;gap:10px}.settings-toggle input[type=checkbox],.settings-toggle input[type=radio]{width:16px;height:16px;accent-color:var(--amber);flex-shrink:0}.settings-toggle span{font-size:13px;line-height:1.4}.settings-test{display:flex;align-items:center;gap:10px;margin-top:4px}.settings-test .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-500);flex-shrink:0;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.settings-test .dot.live{background:var(--signal);box-shadow:0 0 6px #5ee08a80}.settings-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;padding:12px 28px;border-top:1px solid var(--line)}.settings hr{border:none;border-top:1px solid var(--line);margin:4px 0}.threshold-bar{position:relative;height:24px;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:4px}.threshold-bar .level-fill{position:absolute;left:0;top:0;bottom:0;background:var(--signal-dim);transition:width 50ms linear}.threshold-bar .level-fill.above{background:var(--signal)}.threshold-bar .marker{position:absolute;top:0;bottom:0;width:2px;background:var(--amber);z-index:1;transform:translate(-1px)}
