.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.65rem}.brand-logo{width:28px;height:28px;border-radius:6px;box-shadow:var(--img-outline)}.brand-name{font-weight:600;letter-spacing:-.01em}.user-menu{display:flex;align-items:center;padding:.3rem;border-radius:999px;border:1px solid transparent;background:transparent;transition:var(--transition)}.user-menu:hover,.user-menu.open{background:var(--bg-elev);border-color:var(--border)}.user-trigger{display:flex;align-items:center;gap:.6rem;padding:.1rem .4rem .1rem .1rem;background:transparent;border:none;cursor:pointer;color:inherit}.user-avatar{width:32px;height:32px;border-radius:50%;box-shadow:var(--img-outline);transition:var(--transition)}.user-menu.open .user-avatar{box-shadow:0 0 0 2px var(--accent)}.user-name{font-size:.9rem;color:var(--text-dim)}.user-actions{display:flex;align-items:center;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-width .3s ease,opacity .25s ease,padding .3s ease}.user-menu.open .user-actions{max-width:260px;opacity:1;pointer-events:auto;padding-left:.6rem;margin-left:.3rem;border-left:1px solid var(--border)}.user-actions .logout-btn{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;background:transparent;border:none;color:var(--text-dim);font-weight:600;font-size:.85rem;white-space:nowrap;cursor:pointer;transition:var(--transition)}.user-actions .logout-btn:hover{background:#ed42451f;color:#ed4245}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#08080a8c;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);animation:overlay-in .2s ease}.modal-card{width:100%;max-width:380px;padding:1.75rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#18181cd9;box-shadow:0 24px 60px #00000080;text-align:center;animation:modal-in .22s cubic-bezier(.16,1,.3,1)}.modal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;letter-spacing:-.01em;text-wrap:balance}.modal-text{margin:0 0 1.5rem;font-size:.9rem;line-height:1.5;color:var(--text-dim);text-wrap:pretty}.modal-actions{display:flex;gap:.75rem}.modal-btn{flex:1;padding:.7rem 1rem;border-radius:12px;font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid transparent;transition:var(--transition)}.modal-cancel{background:#5865f229;border-color:#5865f266;color:#8a98ff}.modal-cancel:hover{background:#5865f247;transform:translateY(-1px)}.modal-confirm{background:#ed424529;border-color:#ed424573;color:#ff6b6e}.modal-confirm:hover{background:#ed42454d;transform:translateY(-1px)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem}.app--detail{height:100dvh;min-height:0}.main.main--flush{max-width:none;margin:0;padding:0;min-height:0;display:flex}.status{color:var(--text-dim);text-align:center;padding:3rem 0}.status.error{display:flex;flex-direction:column;gap:1rem;align-items:center}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:10px;font-weight:600;font-size:.9rem;background:var(--accent);color:#fff;transition:var(--transition)}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-elev);transform:none}.btn-discord{background:var(--discord);padding:.85rem 1.5rem;font-size:1rem}.btn-discord:hover{background:var(--discord-hover)}.btn:active:not(:disabled),.chip:active,.modal-btn:active,.add-bot:active,.logout-btn:active,.role-chip:active:not(:disabled),.switch:active:not(:disabled){scale:.96}.login{max-width:520px;margin:4rem auto 0;text-align:center}.login-title{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem;text-wrap:balance}.login-sub{color:var(--text-dim);margin-bottom:2rem;text-wrap:pretty}.login-note{max-width:360px;margin:1.75rem auto 0;font-size:.78rem;line-height:1.5;color:var(--text-dim);opacity:.75;text-wrap:pretty}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.dashboard-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;text-wrap:balance}.dashboard-sub{color:var(--text-dim);font-size:.95rem;text-wrap:pretty;font-variant-numeric:tabular-nums}.filters{display:flex;gap:.5rem}.chip{padding:.45rem .9rem;border-radius:999px;background:var(--bg-elev);color:var(--text-dim);border:1px solid var(--border);font-size:.85rem;font-weight:500;transition:var(--transition)}.chip-active{background:var(--accent);color:#fff;border-color:var(--accent)}.guild-section{margin-bottom:2.5rem}.section-head{margin-bottom:1rem}.section-title{font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.section-count{font-size:.78rem;font-weight:600;color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;font-variant-numeric:tabular-nums}.section-hint{color:var(--text-dim);font-size:.85rem;margin-top:.25rem;text-wrap:pretty}.guild-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;align-items:start}.guild-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:var(--transition)}.guild-card:hover{border-color:#34343c;transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.guild-card.has-bot{border-color:#3ba55d59}.guild-icon{position:absolute;top:1.1rem;left:1.1rem;flex-shrink:0;width:56px;height:56px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:var(--bg-elev);box-shadow:inset var(--img-outline)}.guild-icon img{width:100%;height:100%;object-fit:cover}.guild-initials{font-weight:700;color:var(--text-dim)}.guild-body{min-width:0;width:100%;min-height:56px;display:flex;align-items:center;justify-content:flex-start}.guild-name{font-size:1.2rem;font-weight:600;text-align:left;width:100%;min-width:0;padding:0 2.75rem 0 5.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guild-footer{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center}.add-bot{display:block;width:calc(100% + 2.2rem);margin:0 -1.1rem -1.1rem;padding:.7rem .8rem;border-radius:0 0 var(--radius) var(--radius);text-align:center;font-size:.82rem;font-weight:600;color:#fff;background:var(--discord);transition:var(--transition)}.guild-card.clickable{cursor:pointer;text-decoration:none;color:inherit}.guild-card.clickable:hover{border-color:#3ba55d99}.guild-go{position:absolute;top:1.1rem;right:1.1rem;height:56px;display:grid;place-items:center;color:var(--text-dim);transition:var(--transition)}.guild-card.clickable:hover .guild-go{color:var(--text);transform:translate(3px)}.separator-line{border:0;display:block;width:100%;height:1px;margin:2rem 0;background-color:var(--border)}.add-bot:hover{background:var(--discord-hover)}.detail{width:100%}.detail--center{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem;overflow-y:auto}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.9rem;font-weight:500;margin-bottom:1.25rem;transition:var(--transition)}.back-link:hover{color:var(--text)}.back-link svg{transition:var(--transition)}.back-link:hover svg{transform:translate(-2px)}.server-header{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.75rem}.server-identity{display:flex;align-items:center;gap:1rem;min-width:0}.server-avatar{width:60px;height:60px;border-radius:16px;overflow:hidden;flex-shrink:0;background:var(--bg-elev);display:grid;place-items:center;box-shadow:inset var(--img-outline)}.server-avatar img{width:100%;height:100%;object-fit:cover}.server-initials{font-weight:700;font-size:1.35rem;color:var(--text-dim)}.server-headings{min-width:0}.server-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.server-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;padding:.22rem .55rem;border-radius:999px;letter-spacing:.01em;white-space:nowrap}.badge-present{background:#3ba55d29;color:var(--manage)}.badge-absent{background:#ed424529;color:#ed8c8e}.badge-manage{background:#4a90e229;color:#7fb3f0}.badge-readonly{background:var(--bg-elev);color:var(--text-dim)}.server-id{color:var(--text-dim);font-size:.78rem;font-variant-numeric:tabular-nums}.server-cta{flex-shrink:0;white-space:nowrap}.notice{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:var(--radius);margin-bottom:1.25rem;font-size:.9rem;line-height:1.45}.notice-warn{background:#f0b2321a;border:1px solid rgba(240,178,50,.32);color:var(--text)}.notice-icon{display:grid;place-items:center;flex-shrink:0;color:var(--owner)}.notice-text{flex:1;min-width:0;text-wrap:pretty}.notice .btn{flex-shrink:0}.toast-viewport{position:fixed;bottom:1.25rem;right:1.25rem;z-index:50;display:flex;justify-content:flex-end;pointer-events:none}.toast{display:flex;align-items:center;gap:.7rem;min-width:320px;padding:.95rem 1.25rem;border-radius:6px;font-size:.98rem;font-weight:500;color:var(--text);box-shadow:0 1px 2px #00000047,0 8px 24px #00000052,inset 0 0 0 1px #ffffff0f;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .24s cubic-bezier(.2,0,0,1),transform .24s cubic-bezier(.2,0,0,1);will-change:transform,opacity}.toast.is-visible{opacity:1;transform:translateY(0) scale(1)}.toast-success{background:color-mix(in srgb,var(--manage) 16%,var(--bg-elev))}.toast-success .toast-icon{background:var(--manage);color:#0a0a0a}.toast-icon{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:5px}.toast-message{text-wrap:pretty}.state-screen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:4rem 1.5rem}.state-screen.inline{padding:3rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.state-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--bg-elev);color:var(--text-dim);box-shadow:inset var(--img-outline)}.state-icon.error{color:#ed8c8e;background:#ed42451f}.state-title{font-size:1.2rem;font-weight:700;text-wrap:balance}.state-text{color:var(--text-dim);font-size:.92rem;max-width:420px;text-wrap:pretty}.state-screen .btn{margin-top:.5rem}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--accent);color:#fff}.btn-sm{padding:.45rem .8rem;font-size:.82rem;gap:.35rem}.server-shell{--content-max: 1200px;flex:1;display:flex;min-width:0;min-height:0}.server-rail{flex-shrink:0;width:264px;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 1rem;border-right:1px solid var(--border);background:var(--bg);overflow-y:auto}.server-rail .back-link{margin-bottom:0}.rail-identity{display:flex;flex-direction:column;gap:.6rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.rail-avatar{width:48px;height:48px;border-radius:14px}.rail-name{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;text-wrap:balance;overflow-wrap:anywhere}.manager-nav,.nav-group{display:flex;flex-direction:column;gap:.15rem}.nav-section{display:flex;align-items:center;gap:.6rem;padding:0 .75rem;margin:.9rem 0 .4rem}.nav-section-label{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.nav-section:after{content:"";flex:1;height:1px;background:var(--border)}.server-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.server-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.75rem 2rem;transition:padding-bottom .34s cubic-bezier(.2,.8,.2,1)}.server-scroll.save-bar-open{padding-bottom:6.5rem}.server-content{width:100%;max-width:var(--content-max);margin:0 auto}.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;border-radius:10px;background:transparent;color:var(--text-dim);font-size:.9rem;font-weight:500;text-align:left;transition:var(--transition)}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--bg-elev);color:var(--text)}.nav-item.active{background:var(--bg-elev);color:var(--text);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.nav-item:active:not(.active),.overview-configure:active{scale:.96}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-dirty{width:7px;height:7px;border-radius:50%;background:var(--owner);flex-shrink:0}.manager-fields{border:none;padding:0;margin:0;min-width:0;transition:opacity .2s ease}.manager-fields:disabled{opacity:.6}.module-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem 1.5rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.panel-head-text{min-width:0}.panel-heading{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;text-wrap:balance}.panel-blurb{color:var(--text-dim);font-size:.86rem;margin-top:.2rem;text-wrap:pretty}.directory-refresh{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}.directory-refresh:hover:not(:disabled){background:var(--bg-elev);color:var(--text);border-color:var(--border-strong, var(--border))}.directory-refresh:active:not(:disabled){scale:.96}.directory-refresh:disabled{cursor:default;opacity:.65}.directory-refresh svg{flex-shrink:0}.directory-refresh svg.is-spinning{animation:directory-refresh-spin .8s linear infinite}@keyframes directory-refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.directory-refresh svg.is-spinning{animation:none}}.field-list{display:flex;flex-direction:column}.status-badge{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;font-size:.74rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-badge.on{color:var(--manage);border-color:color-mix(in srgb,var(--manage) 45%,transparent);background:#3ba55d1a}.status-badge.off{color:var(--text-dim)}.status-badge.neutral{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding:.75rem 0;border-top:1px solid var(--border)}.setting-label{min-width:0}.setting-row:first-of-type{border-top:none;padding-top:0}.setting-row--sub{border-top:none;padding-top:0;padding-left:1.25rem}.setting-label label,.setting-label .group-label{display:inline-block;font-weight:600;font-size:.95rem}.setting-hint{color:var(--text-dim);font-size:.82rem;margin-top:.15rem;text-wrap:pretty}.switch{position:relative;width:44px;height:26px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);flex-shrink:0;transition:var(--transition)}.switch:after{content:"";position:absolute;top:-7px;right:-2px;bottom:-7px;left:-2px}.switch-on{background:var(--manage);border-color:var(--manage)}.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.4,0,.2,1)}.switch-on .switch-thumb{transform:translate(18px)}.switch:disabled{cursor:not-allowed}.text-input,.channel-select{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.5rem .7rem;font-size:.9rem;transition:var(--transition)}.text-input:focus,.channel-select:focus{border-color:var(--accent);outline:none}.channel-select{min-width:min(220px,100%);max-width:100%}.channel-select-wrap{min-width:0;max-width:100%}.text-input{max-width:100%}.text-input.has-error,.channel-select.has-error{border-color:var(--discord);border-color:#ed4245}.field-error{color:#ed8c8e;font-size:.78rem;margin-top:.3rem}.field-footer{display:flex;align-items:baseline;gap:.75rem;margin-top:.3rem}.field-footer .field-error{margin-top:0}.char-count{margin-left:auto;font-size:.75rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.char-count-max{color:var(--owner)}.save-bar{position:absolute;left:50%;bottom:1.5rem;z-index:5;width:min(var(--content-max),calc(100% - 4rem));display:flex;align-items:center;justify-content:space-between;gap:1.1rem;padding:.5rem .5rem .5rem 1.4rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#18181cb8;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px #ffffff0f,0 4px 12px -4px #0006,0 14px 36px -10px #0009;opacity:0;pointer-events:none;transform:translate(-50%) translateY(calc(100% + 1.5rem));transition:opacity .32s ease,transform .32s cubic-bezier(.4,0,.6,1)}.save-bar.is-visible{transition:opacity .24s ease,transform .34s cubic-bezier(.2,.8,.2,1);opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.save-bar.is-dirty{border-color:color-mix(in srgb,var(--owner) 45%,rgba(255,255,255,.08))}.save-bar-inner{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1.1rem}.save-bar-status{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:wrap}.save-bar-actions{display:flex;align-items:center;gap:.6rem}.save-bar .btn{border-radius:999px}.save-bar .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.save-status{font-size:.86rem}.save-status.error{color:#ed8c8e}.save-status.idle{color:var(--text-dim)}.overview-stack{display:flex;flex-direction:column;gap:1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem;margin:0}.stat{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;border-radius:10px;background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--border)}.stat-label{font-size:.78rem;font-weight:500;color:var(--text-dim)}.stat-value{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.overview-list{list-style:none}.overview-row{display:flex;align-items:center;gap:.9rem;padding:1rem 0;border-top:1px solid var(--border)}.overview-row:first-child{border-top:none;padding-top:.5rem}.overview-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;flex-shrink:0;background:var(--bg-elev);color:var(--text-dim);box-shadow:inset var(--img-outline);transition:var(--transition)}.overview-icon.on{color:var(--manage);background:#3ba55d1f}.overview-text{flex:1;min-width:0}.overview-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.overview-name{font-weight:600;font-size:.95rem;min-width:7.5rem}.overview-blurb{color:var(--text-dim);font-size:.84rem;margin-top:.15rem;text-wrap:pretty}.overview-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.overview-configure{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .7rem;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text);font-size:.82rem;font-weight:600;white-space:nowrap;transition:var(--transition)}.overview-configure:hover{background:var(--bg-elev);border-color:#34343c}.overview-configure svg{transition:var(--transition)}.overview-configure:hover svg{transform:translate(2px)}.setting-row.column,.setting-row--stack{flex-direction:column;align-items:stretch}.setting-row--stack .text-input,.setting-row--stack .channel-select{width:100%;max-width:100%}.text-area{width:100%;resize:vertical;font-family:inherit}.text-field-wrap{display:flex;flex-direction:column;min-width:0;max-width:100%}.role-multiselect{margin-top:.5rem}.role-chips{display:flex;flex-wrap:wrap;margin-bottom:-.4rem}.role-chip{display:inline-flex;align-items:center;gap:.4rem;margin:0 .4rem .4rem 0;padding:.3rem .6rem;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);font-size:.82rem;transition:var(--transition)}.role-chip:hover:not(:disabled){border-color:var(--accent)}.role-chip-on{border-color:var(--manage);background:color-mix(in srgb,var(--manage) 18%,var(--bg-elev))}.role-chip:disabled{cursor:not-allowed;opacity:.6}.role-chip-flagged-warn{border-color:color-mix(in srgb,var(--owner) 55%,var(--border));background:color-mix(in srgb,var(--owner) 8%,var(--bg-elev))}.role-chip-flagged-warn:hover:not(:disabled){border-color:var(--owner)}.role-chip-flagged-info{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev))}.role-chip-flagged-info:hover:not(:disabled){border-color:var(--accent)}.role-chip-collapsing{overflow:hidden;white-space:nowrap;max-width:20rem;transition-property:max-width,opacity,margin,padding,border-color,background-color;transition-duration:.26s;transition-timing-function:cubic-bezier(.2,0,0,1)}.role-chip-collapsing-out{max-width:0;margin:0;padding-left:0;padding-right:0;opacity:0}.role-collapsed-region{display:grid;grid-template-rows:0fr;opacity:0;transition-property:grid-template-rows,opacity;transition-duration:.28s,.2s;transition-timing-function:cubic-bezier(.2,0,0,1)}.role-collapsed-region.open{grid-template-rows:1fr;opacity:1}.role-collapsed-region-inner{overflow:hidden;min-height:0}@media (prefers-reduced-motion: reduce){.role-chip-collapsing,.role-collapsed-region{transition:none}.role-chip-collapsing-out{max-width:20rem;margin:0 .4rem .4rem 0;padding:.3rem .6rem;opacity:1}}.role-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.role-chip-more{border-style:dashed;color:var(--text-dim);font-weight:600}.role-chip-more:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.role-multiselect.has-error .role-chips{outline:1px solid #ed4245;outline-offset:4px;border-radius:8px}.role-collapsed-note{display:flex;align-items:flex-start;gap:.45rem;margin-top:.55rem;padding:.5rem .65rem;border-radius:8px;background:color-mix(in srgb,var(--note-hue) 10%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--note-hue) 35%,var(--border));color:var(--text-dim);font-size:.82rem;line-height:1.45;text-wrap:pretty}.role-collapsed-note strong{color:var(--text);font-weight:600}.role-collapsed-note-warn{--note-hue: var(--owner)}.role-collapsed-note-info{--note-hue: var(--accent)}.role-collapsed-note-icon{flex-shrink:0;margin-top:.1rem;color:var(--note-hue)}.preview-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem;padding:0;background:none;border:none;color:var(--text-dim);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}.preview-link:hover{color:var(--accent)}.setting-row:has(.preview-link){align-items:flex-start}.setting-row:has(.preview-link)>.switch{margin-top:.6rem}.welcome-preview-modal{max-width:480px;text-align:left}.welcome-preview{margin:1.25rem 0;display:flex;justify-content:center}.welcome-preview-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:700 / 300;width:100%;max-width:420px;padding:1.25rem;border-radius:10px;border:1px solid var(--border);background:linear-gradient(160deg,#313338,#2b2d31);color:#fff;text-align:center}.welcome-preview-avatar{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;border:4px solid #fff;background:#5865f2;overflow:hidden}.welcome-preview-title{font-size:clamp(1.1rem,4.5vw,1.6rem);font-weight:700;line-height:1.1}.welcome-preview-sub{font-size:clamp(.7rem,2.4vw,.9rem);opacity:.92}.command-groups{display:flex;flex-direction:column;gap:1.75rem;margin-top:.75rem}.command-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.command-group-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.command-group-blurb{color:var(--text-dim);font-size:.82rem;margin-top:.2rem;text-wrap:pretty}.command-group-count{flex-shrink:0;font-size:.78rem;font-weight:600;color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.command-group-count-sep{opacity:.55}.command-list{display:flex;flex-direction:column;gap:.6rem}.command-row{background:var(--bg-elev);border-radius:16px;box-shadow:var(--shadow-card);transition:box-shadow .2s var(--ease),filter .2s var(--ease),opacity .2s var(--ease)}.command-row:not(.is-on){filter:saturate(.45);opacity:.78}.command-row:not(.is-on):hover{filter:none;opacity:1}.command-row.is-on{box-shadow:var(--shadow-card),inset 0 0 0 1px color-mix(in srgb,var(--manage) 36%,transparent)}.command-row-head{display:flex;align-items:center;gap:.85rem;padding:.8rem .95rem}.command-row-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.command-row-name{font-family:var(--mono);font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.command-row-desc{font-size:.8rem;line-height:1.35;color:var(--text-dim);text-wrap:pretty}.command-row-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.command-row-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),scale .12s var(--ease)}.command-row-btn:hover{background:var(--bg-card);color:var(--text);border-color:var(--border)}.command-row-btn:active{scale:.92}.command-row-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.command-row-btn.is-active{background:color-mix(in srgb,var(--accent) 16%,var(--bg-card));color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.command-row-badge{flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--manage);padding:.25rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--manage) 45%,transparent);background:color-mix(in srgb,var(--manage) 10%,transparent);white-space:nowrap}.command-row-restricted{font-size:.7rem;font-weight:600;color:var(--accent);padding:.2rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);white-space:nowrap;font-variant-numeric:tabular-nums}.command-row-panel{padding:.9rem .95rem 1rem;border-top:1px solid var(--border)}.command-help-desc{font-size:.85rem;line-height:1.45;color:var(--text);text-wrap:pretty}.command-help-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:.7rem}.command-help-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.command-help-meta dd{font-size:.85rem;color:var(--text);margin-top:.1rem}.command-help-cap{text-transform:capitalize}.command-help-aliases{font-family:var(--mono)}.command-settings-hint{font-size:.82rem;color:var(--text-dim);margin-bottom:.85rem;text-wrap:pretty}.command-settings-hint code{font-family:var(--mono);color:var(--text)}.command-override-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem 1.25rem}.command-override-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.channel-multiselect{display:flex;flex-direction:column;gap:.45rem}.token-row{display:flex;flex-wrap:wrap;gap:.4rem}.token{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;padding:.2rem .25rem .2rem .55rem;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text)}.token-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:0;background:transparent;color:var(--text-dim);font-size:1rem;line-height:1;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.token-remove:hover{background:var(--border);color:var(--text)}.messagelog-body{display:flex;flex-direction:column;padding-top:.75rem}.messagelog-config{display:flex;flex-direction:column;gap:1.25rem;padding-top:.85rem}.messagelog-config .setting-row{border-top:none;padding:0}.messagelog-config>*{animation:ml-enter .32s var(--ease) both}.messagelog-config>*:nth-child(1){animation-delay:0ms}.messagelog-config>*:nth-child(2){animation-delay:70ms}.messagelog-config>*:nth-child(3){animation-delay:.14s}@keyframes ml-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ml-block{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}.ml-block .channel-select{min-width:min(280px,100%)}.ml-events{display:flex;flex-direction:column;gap:.7rem}.ml-events-label{font-weight:600;font-size:.95rem}.event-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.event-card{border-radius:20px;padding:.75rem;background:var(--bg-elev);box-shadow:var(--shadow-card);transition:var(--transition)}.event-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.event-card.is-on{box-shadow:var(--shadow-card),inset 0 0 0 1px color-mix(in srgb,var(--manage) 38%,transparent)}.event-card:not(.is-on){box-shadow:none;filter:saturate(.5);opacity:.85}.event-card:not(.is-on):hover{opacity:1;filter:none;box-shadow:var(--shadow-card-hover)}.event-card-toggle{display:flex;align-items:center;gap:.7rem;width:100%;padding:.45rem;background:none;border:none;border-radius:12px;text-align:left;color:inherit;transition:var(--transition)}.event-card-toggle:active:not(:disabled){scale:.96}.event-card-toggle:disabled{cursor:not-allowed}.event-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:8px;background:var(--bg-card);color:var(--text-dim);transition:var(--transition)}.event-card.is-on .event-card-icon{color:var(--manage);background:color-mix(in srgb,var(--manage) 14%,var(--bg-card))}.event-card-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.event-card-title{font-weight:600;font-size:.95rem}.event-card-desc{font-size:.8rem;color:var(--text-dim);text-wrap:pretty}.event-card-toggle .switch{pointer-events:none}.event-card-body{display:flex;flex-direction:column;gap:.55rem;padding:.25rem .45rem .2rem;animation:ml-enter .26s var(--ease) both}.event-card-field{display:flex;flex-direction:column;gap:.35rem}.event-card-field-label{font-size:.8rem;font-weight:600;color:var(--text-dim)}.event-card-field .channel-select{width:100%;min-width:0}.event-card-dest{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-dim)}.event-card-dest-channel{color:var(--text);font-weight:600}.event-card-dest--empty{color:var(--owner)}.event-card-dest--empty svg{flex-shrink:0}.unsaved-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap}.unsaved-dot{width:7px;height:7px;border-radius:999px;background:var(--owner);box-shadow:0 0 0 3px color-mix(in srgb,var(--owner) 22%,transparent)}@media (min-width: 1080px){.field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.75rem;row-gap:.4rem;align-items:start}.field-list>.setting-row{border-top:none;padding:.85rem 0}.field-list>.setting-row.column,.field-list>.setting-row--wide{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:1.1rem;margin-top:.35rem}.field-list>.setting-row--wide:first-child{border-top:none;margin-top:0;padding-top:.5rem;border-bottom:1px solid var(--border);padding-bottom:1.1rem;margin-bottom:.35rem}.overview-row{padding:1.1rem 0}}@media (max-width: 820px){.app--detail{height:auto;min-height:100dvh}.server-shell{flex-direction:column}.server-rail{width:100%;overflow:visible;border-right:none;border-bottom:1px solid var(--border);gap:1rem}.manager-nav{flex-direction:row;align-items:center;overflow-x:auto;gap:.4rem;padding-bottom:.25rem;scrollbar-width:none}.manager-nav::-webkit-scrollbar{display:none}.nav-group{flex-direction:row;align-items:center;gap:.4rem}.nav-section{margin:0;padding:0 .15rem;flex-shrink:0}.nav-section:after{display:none}.nav-item{width:auto;flex-shrink:0}.nav-item.active{box-shadow:inset 0 -2px 0 var(--accent)}.server-main,.server-scroll{overflow:visible;min-height:0}.server-scroll{padding:1.25rem 1.25rem 1.5rem}.save-bar{position:fixed;bottom:1rem}}@media (max-width: 600px){.main{padding:1.5rem 1rem}.user-name{display:none}.setting-row{flex-direction:column;align-items:flex-start}.channel-select{min-width:0;width:100%}.server-cta{width:100%;justify-content:center}.module-panel{padding:1.1rem 1.1rem 1.25rem}.overview-row{flex-wrap:wrap}.overview-actions{width:100%;justify-content:space-between;padding-left:calc(40px + .9rem)}.save-bar{left:1rem;right:1rem;width:auto;padding:.85rem;border-radius:1.1rem;transform:translateY(calc(100% + 1.5rem))}.save-bar.is-visible{transform:translateY(0)}.server-scroll.save-bar-open{padding-bottom:8.5rem}.save-bar-inner{flex:1;flex-direction:column;align-items:stretch;gap:.75rem}.save-bar-actions{width:100%}.save-bar-actions .btn{flex:1}}.bot-identity{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}@media (min-width: 1080px){.bot-identity{grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:2rem}}.bot-identity-media{min-width:0;max-width:460px}.bot-identity-fields{min-width:0;display:flex;flex-direction:column;gap:1.25rem}.bot-identity-fields .setting-row{border-top:none;padding:0}@media (min-width: 1080px){.field-list>.bot-identity-row{grid-column:1 / -1}}.bot-profile{display:flex;flex-direction:column;gap:14px}.bot-profile-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px 24px}.bot-profile-tile{display:flex;flex-direction:column;gap:10px;min-width:0}.bot-profile-tile--avatar{flex:0 0 auto}.bot-profile-tile--banner{flex:1 1 240px;max-width:340px}.bot-profile-tile-head{display:flex;align-items:center;gap:8px}.bot-profile-name{font-weight:600;font-size:.95rem}.bot-profile-tag{font-size:.7rem;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;white-space:nowrap}.bot-profile-tag.is-default{color:var(--text-dim);background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--border)}.bot-profile-tag.is-custom{color:var(--accent);background:#4a90e21f}.bot-profile-frame{position:relative;display:block;padding:0;background:var(--bg-elev);overflow:hidden;box-shadow:var(--shadow-card),var(--img-outline);transition-property:scale,box-shadow;transition-duration:.12s,.2s;transition-timing-function:var(--ease)}.bot-profile-frame:hover:not(:disabled){box-shadow:var(--shadow-card-hover),var(--img-outline)}.bot-profile-frame:active:not(:disabled){scale:.96}.bot-profile-frame:disabled{cursor:default;opacity:.6;box-shadow:var(--img-outline)}.bot-profile-frame.is-empty{background:var(--bg-elev);box-shadow:none;border:1px dashed var(--border)}.bot-profile-frame.is-empty:hover:not(:disabled){box-shadow:none}.bot-profile-frame--avatar{width:88px;height:88px;border-radius:50%}.bot-profile-frame--banner{width:100%;aspect-ratio:5 / 2;border-radius:var(--radius)}.bot-profile-img{display:block;width:100%;height:100%;object-fit:cover;transition-property:opacity;transition-duration:.2s;transition-timing-function:var(--ease)}.bot-profile-frame[aria-busy=true] .bot-profile-img{opacity:.55}.bot-profile-frame-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;background:#00000075;opacity:0;transition-property:opacity;transition-duration:.2s;transition-timing-function:var(--ease)}.bot-profile-frame:hover:not(:disabled) .bot-profile-frame-overlay,.bot-profile-frame:focus-visible .bot-profile-frame-overlay,.bot-profile-frame[aria-busy=true] .bot-profile-frame-overlay{opacity:1}.bot-profile-frame.is-empty:not(:disabled) .bot-profile-frame-overlay{opacity:1;background:transparent;color:var(--text-dim)}.bot-profile-frame-overlay svg,.bot-profile-overlay-label{scale:.25;opacity:0;filter:blur(4px);transition-property:scale,opacity,filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,0,0,1)}.bot-profile-frame-overlay svg{filter:blur(4px) drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bot-profile-frame:hover:not(:disabled) .bot-profile-frame-overlay svg,.bot-profile-frame:focus-visible .bot-profile-frame-overlay svg{scale:1;opacity:1;filter:blur(0) drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bot-profile-frame.is-empty:not(:disabled) .bot-profile-frame-overlay svg{scale:1;opacity:1;filter:none}.bot-profile-overlay-label{display:none;font-size:.72rem;font-weight:600}.bot-profile-frame--banner.is-empty:not(:disabled) .bot-profile-overlay-label{display:block;scale:1;opacity:1;filter:none}.bot-profile-spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:bot-profile-spin .7s linear infinite}@keyframes bot-profile-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bot-profile-spinner{border-top-color:#ffffff4d}}.bot-profile-buttons{display:flex;gap:8px;flex-wrap:wrap}.bot-profile-buttons .btn{min-height:40px}.bot-profile-status{margin:0;font-size:.875rem}.bot-profile-status.error{color:#ed4245}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-elev: #141417;--bg-card: #16161a;--border: #26262c;--text: #f2f2f3;--text-dim: #9a9aa3;--accent: #4a90e2;--discord: #5865f2;--discord-hover: #4752c4;--owner: #f0b232;--manage: #3ba55d;--radius: 12px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease: cubic-bezier(.4, 0, .2, 1);--transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease), opacity .2s var(--ease), filter .2s var(--ease), scale .12s var(--ease);--shadow-card: 0 1px 2px rgba(0, 0, 0, .24), 0 2px 8px rgba(0, 0, 0, .14);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .28);--img-outline: 0 0 0 1px rgba(255, 255, 255, .1)}html{-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
