:root{--brand:#4ecca3;--brand-hover:#5fd6b0;--brand-dim:#3aa885;--brand-glow:#4ecca359;--brand-ink:#0c2018;--bg-1:#1a1a2e;--bg-2:#16213e;--bg-3:#1e2746;--surface:#1e1e2e;--surface-2:#232842;--line:#0f3460;--line-soft:#ffffff12;--line-strong:#ffffff24;--text:#e6e8ef;--text-dim:#a0a0b0;--text-mute:#6b7280;--danger:#e94560;--warn:#fbbf24;--ok:#4ade80;--info:#60a5fa;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow-1:0 4px 16px #00000040;--shadow-2:0 16px 40px #00000073;--ring:0 0 0 3px var(--brand-glow);--ease:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--t-fast:.14s var(--ease);--t:.22s var(--ease);--t-press:.11s cubic-bezier(.25, 1, .5, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--bg-1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,monospace;overflow:hidden}body:before{content:"";z-index:-1;pointer-events:none;will-change:transform;background:radial-gradient(45rem 32rem at 12% -8%,#4ecca31f,#0000 60%),radial-gradient(42rem 34rem at 108% 8%,#60a5fa1a,#0000 55%),radial-gradient(36rem 34rem at 50% 118%,#7c3aed14,#0000 60%);animation:42s ease-in-out infinite alternate aurora;position:fixed;inset:-20%}@keyframes aurora{0%{transform:translate(-2%,-1%)scale(1.05)}to{transform:translate(2%,2%)scale(1.12)}}::selection{background:var(--brand-glow);color:#fff}*{scrollbar-width:thin;scrollbar-color:#ffffff29 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{transition:background-color var(--t);background:#ffffff24 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#4ecca380 padding-box padding-box}:focus-visible{box-shadow:var(--ring);outline:none}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-enter{animation:page-enter .4s var(--ease) both}.stagger-item{animation:rise .34s var(--ease) both;animation-delay:calc(var(--i,0) * 42ms)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app{height:100dvh;color:var(--text);background:0 0;flex-direction:row;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{-webkit-backdrop-filter:blur(12px)saturate(140%);backdrop-filter:blur(12px)saturate(140%);border-bottom:1px solid var(--line-soft);z-index:20;background:#16213eb8;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.header h1{letter-spacing:.01em;background:linear-gradient(135deg,#4ecca3,#8fe9d0);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.4rem;font-weight:700}.controls{align-items:center;gap:12px;display:flex}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot.online{animation:dot-pulse 2s var(--ease) infinite;background:#4ecca3}@keyframes dot-pulse{0%{box-shadow:0 0 #4ecca380}70%{box-shadow:0 0 0 7px #4ecca300}to{box-shadow:0 0 #4ecca300}}.status-dot.offline{background:#e94560;box-shadow:0 0 6px #e9456099}.status-text{color:#a0a0b0;font-size:.85rem}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t), filter var(--t-fast);border:none;padding:8px 18px;font-size:.85rem;font-weight:600}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.96)}.btn-start{color:var(--brand-ink);background:linear-gradient(135deg,#4ecca3,#3aa885)}.btn-start:hover:not(:disabled){box-shadow:0 6px 20px #4ecca359}.btn-stop{color:#fff;background:linear-gradient(135deg,#e94560,#c4344c)}.btn-stop:hover:not(:disabled){box-shadow:0 6px 20px #e9456059}.terminal{border-radius:var(--radius);border:1px solid var(--line-soft);box-shadow:var(--shadow-1), inset 0 1px 0 #ffffff08;animation:page-enter .4s var(--ease) both;background:linear-gradient(#0f0f1aeb,#0a0c16f5);flex-direction:column;flex:1;margin:16px;display:flex;overflow:hidden}.terminal-output{flex:1;padding:16px;font-size:.8rem;line-height:1.5;overflow-y:auto}.log-line{white-space:pre-wrap;word-break:break-all;content-visibility:auto;contain-intrinsic-size:auto 1.2em}.terminal-input{border-top:1px solid var(--line-soft);transition:box-shadow var(--t), background var(--t);background:#16213e99;align-items:center;gap:8px;padding:10px 16px;display:flex}.terminal-input:focus-within{box-shadow:inset 0 2px 0 -1px var(--brand-glow);background:#16213ed9}.terminal-input .prompt{color:#4ecca3;font-weight:700}.terminal-input input{color:#e0e0e0;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.85rem}.terminal-input input::placeholder{color:#555}@media (width<=768px){.app{flex-direction:column}.main-content{flex:1;min-height:0}.header{flex-wrap:wrap;gap:8px;padding:12px 16px}.header h1{font-size:1.1rem}.controls{flex-wrap:wrap;justify-content:flex-end;gap:8px}.btn{padding:6px 12px;font-size:.8rem}.terminal{border-radius:6px;margin:8px}.terminal-output{padding:12px;font-size:.75rem}.terminal-input{padding:8px 12px}}.sidebar{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-right:1px solid var(--line-soft);background:#16213e8c;flex-direction:column;width:210px;padding:18px 12px;display:flex}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-item{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:background var(--t), color var(--t);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;font-size:.85rem;text-decoration:none;display:flex;position:relative}.sidebar-item:before{content:"";width:3px;height:56%;transition:transform var(--t);background:linear-gradient(#4ecca3,#60a5fa);border-radius:999px;position:absolute;top:50%;left:4px;transform:translateY(-50%)scaleY(0)}.sidebar-item:hover{color:var(--text);background:#ffffff0a}.sidebar-item:hover .sidebar-icon{color:var(--brand);transform:scale(1.08)}.sidebar-item:active{transition:transform var(--t-press);transform:scale(.97)}.sidebar-item.active{color:var(--brand);background:#4ecca31f}.sidebar-item.active:before{transform:translateY(-50%)scaleY(1)}.sidebar-item.active .sidebar-icon{color:var(--brand)}.sidebar-icon{transition:transform var(--t-fast), color var(--t);flex-shrink:0}.sidebar-label{font-weight:500}.sidebar-logout{border-top:1px solid var(--line-soft);border-radius:0;margin-top:auto}.sidebar-logout:hover,.sidebar-logout:hover .sidebar-icon{color:var(--danger)}.sidebar-user{border-radius:var(--radius-sm);border:1px solid var(--line-soft);transition:background-color var(--t), border-color var(--t);background:#ffffff08;align-items:center;gap:10px;margin-top:auto;margin-bottom:4px;padding:9px 11px;text-decoration:none;display:flex}.sidebar-user:hover{border-color:var(--line-strong);background:#ffffff0f}.sidebar-user+.sidebar-logout{border-top:none;margin-top:0}.sidebar-user-avatar{color:#fff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:.82rem;font-weight:600;display:grid}.sidebar-user-avatar-img{object-fit:cover}.sidebar-user-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sidebar-user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.sidebar-user-sub{color:var(--text-mute);font-size:.66rem}@media (width<=768px){.sidebar-user{display:none}.sidebar{width:100%;padding:4px;padding-bottom:max(4px, env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--line-soft);flex-direction:row;order:1}.sidebar-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;justify-content:space-around;gap:0;width:100%;overflow-x:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-item{white-space:nowrap;flex-direction:column;flex:1 0 auto;align-items:center;gap:3px;padding:6px 4px;font-size:.62rem}.sidebar-item:before{width:40%;height:3px;transition:transform var(--t);top:4px;left:50%;transform:translate(-50%)scaleX(0)}.sidebar-item.active:before{transform:translate(-50%)scaleX(1)}.sidebar-logout{border-top:none;margin-top:0}}@media (width<=480px){.sidebar-item{padding:6px 3px;font-size:.58rem}.sidebar-icon{width:16px;height:16px}}.header-title{align-items:center;gap:10px;min-width:0;display:flex}.server-chip{border:1px solid var(--line-soft);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:160px;transition:border-color var(--t), color var(--t), background-color var(--t);background:#ffffff0a;border-radius:999px;flex-shrink:1;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.server-chip:hover{border-color:var(--brand);color:var(--brand);background:#4ecca314}.action-error{color:#ff6b6b;text-overflow:ellipsis;white-space:nowrap;max-width:40ch;font-size:.85rem;overflow:hidden}@media (width<=768px){.action-error{max-width:24ch;font-size:.75rem}.server-chip{max-width:96px}}.toast-stack{z-index:60;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(360px,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{pointer-events:auto;color:#eef1f6;background:#1c2743;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.82rem;line-height:1.4;animation:.28s cubic-bezier(.22,1,.36,1) both toast-in;display:flex;box-shadow:0 8px 24px #00000059}.toast:before{content:"";background:#6ee7c0;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #4ecca326}.toast-success{border-color:#4ade8059}.toast-success:before{background:#4ade80;box-shadow:0 0 0 3px #4ade8026}.toast-error{border-color:#e9456066}.toast-error:before{background:#ff6b81;box-shadow:0 0 0 3px #e9456026}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.toast.leaving{animation:.24s cubic-bezier(.25,1,.5,1) forwards toast-out}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(12px)scale(.98)}}@media (prefers-reduced-motion:reduce){.toast{animation:.2s both toast-fade}@keyframes toast-fade{0%{opacity:0}to{opacity:1}}}.terminal-toolbar{border-bottom:1px solid var(--line-soft);background:#16213e66;align-items:center;gap:.5rem;padding:8px 12px;display:flex}.terminal-search{flex:1;align-items:center;max-width:360px;display:flex;position:relative}.terminal-search-icon{color:var(--text-mute);pointer-events:none;position:absolute;left:8px}.terminal-search input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);min-width:0;color:var(--text);transition:border-color var(--t);background:#00000040;flex:1;padding:.35rem .5rem .35rem 1.6rem;font-family:inherit;font-size:.78rem}.terminal-search input:focus{border-color:var(--brand);outline:none}.terminal-count{color:var(--text-mute);white-space:nowrap;margin-left:auto;font-size:.72rem}.term-conn{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.7rem;font-weight:500;display:inline-flex}.term-conn-dot{border-radius:50%;flex:none;width:7px;height:7px}.term-conn.is-live{color:var(--brand);background:#4ecca31f}.term-conn.is-live .term-conn-dot{background:var(--brand)}.term-conn.is-down{color:#f0b849;background:#f0b8491f}.term-conn.is-down .term-conn-dot{background:#f0b849;animation:1.1s ease-in-out infinite term-conn-pulse}@keyframes term-conn-pulse{0%,to{opacity:1}50%{opacity:.28}}@media (prefers-reduced-motion:reduce){.term-conn.is-down .term-conn-dot{animation:none}}.terminal-tool{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-dim);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.terminal-tool:hover:not(:disabled){color:var(--brand);background:#ffffff0f}.terminal-tool:active:not(:disabled){transition:transform var(--t-press);transform:scale(.88)}.terminal-tool:disabled{opacity:.35;cursor:not-allowed}.terminal-empty{text-align:center;color:var(--text-mute);animation:rise .35s var(--ease) both;padding:1.5rem 0;font-size:.8rem}.terminal-input{position:relative}.cmd-suggest{min-width:280px;max-width:min(560px,100% - 20px);max-height:264px;box-shadow:var(--shadow-2);z-index:30;animation:cmd-in .16s var(--ease) both;background:#1b2545;border:1px solid #2c3f6d;border-radius:10px;padding:4px;position:absolute;bottom:calc(100% + 6px);left:10px;overflow-y:auto}@keyframes cmd-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cmd-preview{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:2px;margin-bottom:4px;padding:.45rem .6rem .5rem;display:flex}.cmd-usage{letter-spacing:.01em;font-size:.8rem}.cmd-usage-name{color:var(--brand);font-weight:600}.cmd-usage-args{color:var(--text-dim)}.cmd-desc{color:var(--text-dim);font-size:.72rem;line-height:1.45}.cmd-item{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.4rem .6rem;font-family:inherit;font-size:.82rem;display:flex}.cmd-item:hover{background:#ffffff0d}.cmd-item.sel{background:#4ecca329}.cmd-item-value{color:var(--text);flex-shrink:0;font-weight:500}.cmd-item.sel .cmd-item-value{color:var(--brand)}.cmd-item-hint{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}@media (width<=768px){.terminal-search{max-width:none}.terminal-count{display:none}.cmd-suggest{max-width:calc(100% - 20px)}}.cl-controls{border-bottom:1px solid var(--line-soft);background:#16213e40;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:8px 12px;display:flex}.cl-seg{border:1px solid var(--line-soft);background:#00000040;border-radius:9px;gap:2px;padding:3px;display:inline-flex}.cl-seg button{appearance:none;color:var(--text-dim);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:0;border-radius:6px;padding:5px 11px;font-family:inherit;font-size:.74rem;font-weight:600}.cl-seg button.on{color:var(--brand);background:#4ecca329}.cl-seg button:not(.on):hover{color:var(--text)}.cl-seg button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cl-tog{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.74rem;display:inline-flex}.cl-tog input{opacity:0;width:0;height:0;position:absolute}.cl-track{border:1px solid var(--line-soft);width:30px;height:17px;transition:background var(--t), border-color var(--t);background:#00000059;border-radius:17px;flex:none;position:relative}.cl-track:after{content:"";background:var(--text-mute);width:13px;height:13px;transition:transform .18s var(--ease), background var(--t);border-radius:50%;position:absolute;top:1px;left:1px}.cl-tog input:checked+.cl-track{border-color:var(--brand);background:#4ecca333}.cl-tog input:checked+.cl-track:after{background:var(--brand);transform:translate(13px)}.cl-tog input:focus-visible+.cl-track{outline:2px solid var(--brand);outline-offset:2px}.cl-pick-wrap{margin-left:auto;position:relative}.cl-pick{border:1px solid var(--line-soft);border-radius:var(--radius-sm);min-width:150px;max-width:210px;color:var(--text-dim);cursor:pointer;transition:border-color var(--t), color var(--t);background:#00000040;align-items:center;gap:8px;padding:.35rem .6rem;font-family:inherit;font-size:.76rem;display:inline-flex}.cl-pick:hover:not(:disabled){color:var(--text);border-color:var(--line)}.cl-pick:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cl-pick:disabled{opacity:.4;cursor:not-allowed}.cl-pick-caret{color:var(--text-mute);flex:none;margin-left:auto}.cl-pick-menu{z-index:40;min-width:190px;max-height:260px;box-shadow:var(--shadow-2);animation:cmd-in .14s var(--ease) both;background:#1b2545;border:1px solid #2c3f6d;border-radius:10px;padding:4px;position:absolute;top:calc(100% + 5px);right:0;overflow-y:auto}.cl-pick-opt{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background var(--t-fast);background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:.45rem .6rem;font-family:inherit;font-size:.82rem;display:flex}.cl-pick-opt:hover{background:#ffffff0f}.cl-pick-opt:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.cl-pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cl-pick-dot{border:1.5px solid var(--text-mute);background:0 0;border-radius:50%;flex:none;width:9px;height:9px}.cl-pick-dot.is-online{background:#5fc47f;border-color:#5fc47f;box-shadow:0 0 0 3px #5fc47f2e}.cl-pick-on{color:#5fc47f;background:#5fc47f24;border-radius:999px;flex:none;padding:1px 7px;font-size:.62rem;font-weight:600}.cl-chips{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.cl-chip{appearance:none;color:var(--text-dim);border:1px solid var(--line-soft);cursor:pointer;transition:opacity var(--t), color var(--t), border-color var(--t);background:#00000038;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-family:inherit;font-size:.7rem;font-weight:500;display:inline-flex}.cl-cd{background:var(--c,var(--text-mute));width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--c,#8b93b8) 20%, transparent);border-radius:50%;flex:none}.cl-chip[aria-pressed=false]{opacity:.4}.cl-chip[aria-pressed=false] .cl-cd{box-shadow:none}.cl-chip:hover{color:var(--text)}.cl-chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cl-chip-quiet{--c:var(--brand);margin-left:auto}.cl-chip-quiet[aria-pressed=true]{color:var(--brand);border-color:#4ecca373}.cl-hide{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 12px;display:flex}.cl-hide-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:5px;font-size:.66rem;font-weight:600;display:inline-flex}.cl-rule{max-width:230px;color:var(--text-dim);border:1px solid var(--line-soft);cursor:pointer;transition:color var(--t), border-color var(--t);background:#00000040;border-radius:6px;align-items:center;gap:5px;padding:3px 6px 3px 8px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.7rem;display:inline-flex}.cl-rule-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cl-rule:hover{color:var(--danger);border-color:color-mix(in oklab, var(--danger,#e46b74) 45%, var(--line-soft))}.cl-rule:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cl-hide-add{flex:1;align-items:center;gap:6px;min-width:180px;display:inline-flex}.cl-hide-add input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);min-width:0;color:var(--text);transition:border-color var(--t);background:#00000040;flex:1;padding:.3rem .55rem;font-family:inherit;font-size:.74rem}.cl-hide-add input:focus{border-color:var(--brand);outline:none}.cl-rule-add{color:var(--text-dim);border:1px solid var(--line-soft);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t), color var(--t);background:#ffffff0d;padding:.32rem .7rem;font-family:inherit;font-size:.72rem;font-weight:600}.cl-rule-add:hover:not(:disabled){color:var(--brand);background:#4ecca324}.cl-rule-add:disabled{opacity:.4;cursor:not-allowed}.log-line.lvl-error{color:#e46b74}.log-line.lvl-warn{color:#e0a33e}.log-line.lvl-system{color:#8b93b8}.log-line.log-hidden{opacity:.55}.cl-insight{border-bottom:1px solid var(--line-soft);animation:cmd-in .18s var(--ease) both;background:#4ecca314;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.cl-ins-head{width:26px;height:26px;image-rendering:pixelated;border-radius:6px;flex:none;box-shadow:0 0 0 1px #0006}.cl-ins-name{color:var(--text);font-size:.86rem;font-weight:600}.cl-ins-stat{flex-direction:column;line-height:1.15;display:flex}.cl-ins-stat b{font-variant-numeric:tabular-nums;color:var(--text);font-size:.8rem;font-weight:600}.cl-ins-stat span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);font-size:.6rem}.cl-mini{color:var(--brand);cursor:pointer;transition:background var(--t);background:#4ecca324;border:1px solid #4ecca359;border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-family:inherit;font-size:.7rem;font-weight:600;display:inline-flex}.cl-mini:hover:not(:disabled){background:#4ecca33d}.cl-mini:disabled{opacity:.45;cursor:not-allowed}.cl-ins-close{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-dim);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.cl-ins-close:hover{color:var(--text);background:#ffffff0f}.cl-row{content-visibility:auto;contain-intrinsic-size:auto 26px;animation:cl-in .2s var(--ease) both;align-items:flex-start;gap:9px;padding:2px 12px;font-size:.8rem;line-height:1.5;display:flex}@keyframes cl-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.cl-ts{color:var(--text-mute);font-variant-numeric:tabular-nums;flex:none;min-width:56px;padding-top:2px;font-size:.7rem}.cl-dot{background:var(--c,var(--text-mute));border-radius:50%;flex:none;width:7px;height:7px;margin-top:7px}.cl-gutter{width:22px;height:22px;color:var(--c);background:color-mix(in oklab, var(--c) 16%, transparent);border-radius:6px;flex:none;place-items:center;display:grid}.cl-head{width:22px;height:22px;image-rendering:pixelated;border-radius:5px;flex:none;box-shadow:0 0 0 1px #0006}.cl-body{word-break:break-word;flex:1;min-width:0}.cl-bubble{border:1px solid var(--line-soft);background:#ffffff0d;border-radius:3px 9px 9px;max-width:100%;padding:3px 9px;display:inline-block}.cl-nm{font-size:.76rem;font-weight:600}.cl-msg{color:var(--text)}.cl-who{color:var(--text);font-weight:600}.cl-dim{color:var(--text-dim)}.cl-tag{color:#e8b64c;background:#e8b64c2e;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-block}.cl-lvl{letter-spacing:.05em;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:700;display:inline-block}.cl-lvl.warn{color:#e0a33e;background:#e0a33e33}.cl-lvl.error{color:#e46b74;background:#e46b7433}.cl-cmd{color:#6ea8e6}.cl-bc-tag{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;background:#4ecca329;border-radius:999px;padding:1px 7px;font-size:.62rem;font-weight:700;display:inline-block}.cl-tname{font-weight:600}.cl-ink{color:var(--text)}.cl-qbadge{letter-spacing:.06em;color:var(--text-mute);border:1px solid var(--line-soft);vertical-align:2px;border-radius:4px;margin-left:7px;padding:0 4px;font-size:.56rem;font-weight:700;display:inline-block}.cl-row.quiet{opacity:.7}@media (width<=768px){.cl-pick{width:100%;max-width:none;margin-left:0}.cl-chip-quiet{margin-left:0}.cl-ts{display:none}}@media (prefers-reduced-motion:reduce){.cl-row,.cl-insight{animation:none}}.cl-spark{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.55rem;display:flex}.cl-spark-label{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.74rem;display:inline-flex}.cl-spark-label svg{color:var(--warn)}.cl-chip-spark{--c:var(--warn)}.cl-spark-hint{color:var(--text-mute);font-size:.68rem}.rd-root{z-index:60;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.rd-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}.rd-box{background:var(--bg-2);border:1px solid var(--line);width:min(30rem,100%);animation:rd-pop var(--t) var(--ease) both;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.15rem 1.25rem 1.25rem;display:flex;position:relative;box-shadow:0 18px 50px #0006}@keyframes rd-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.rd-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rd-head h3{color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:620;display:flex}.rd-x{color:var(--text-dim);cursor:pointer;transition:color var(--t), background var(--t);background:0 0;border:0;border-radius:6px;place-items:center;padding:.25rem;display:grid}.rd-x:hover{color:var(--text);background:var(--bg-3)}.rd-x:active{transform:scale(var(--t-press))}.rd-lede{color:var(--text-dim);margin:0;font-size:.9rem;line-height:1.55}.rd-opts{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.4rem;display:grid}.rd-opt{border:1px solid var(--line);background:var(--bg-3);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--t), color var(--t), background var(--t);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.875rem;display:flex}.rd-opt:hover{border-color:var(--line-strong);color:var(--text)}.rd-opt:active{transform:scale(var(--t-press))}.rd-opt.on{border-color:var(--brand);color:var(--text);background:color-mix(in srgb, var(--brand) 12%, transparent)}.rd-opt input{accent-color:var(--brand);margin:0}.rd-warn,.rd-note{border-radius:8px;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;font-size:.855rem;line-height:1.5;display:flex}.rd-warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent)}.rd-warn svg{flex:none;margin-top:.1rem}.rd-note{color:var(--text-dim);background:var(--bg-3);border:1px solid var(--line)}.rd-foot{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.rd-btn{border:1px solid var(--line);background:var(--bg-3);color:var(--text-dim);cursor:pointer;transition:color var(--t), border-color var(--t), background var(--t);border-radius:8px;padding:.5rem .9rem;font-size:.875rem;font-weight:550}.rd-btn:hover{color:var(--text)}.rd-btn:active{transform:scale(var(--t-press))}.rd-go{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, transparent)}.rd-go.danger{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.rd-live{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:.5rem 0;display:flex}.rd-count{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:640}.rd-count-sm{font-size:1.1rem}.rd-live .rd-foot{justify-content:center;width:100%}@media (prefers-reduced-motion:reduce){.rd-box{animation:none}.rd-btn:active,.rd-opt:active,.rd-x:active{transform:none}}.ov-page{animation:page-enter var(--t) var(--ease) both;flex-direction:column;gap:1.25rem;display:flex}.ov-head{flex-direction:column;gap:.2rem;display:flex}.ov-head h2{margin:0}.ov-sub{color:var(--text-dim);margin:0;font-size:.9rem}.ov-tiles{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;display:grid}.ov-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.3rem;padding:.85rem .95rem;display:flex}.ov-tile-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.ov-tile-value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;align-items:baseline;gap:.45rem;font-size:1.5rem;font-weight:620;line-height:1.15;display:flex}.ov-tile-of{color:var(--text-mute);font-size:.95rem;font-weight:500}.ov-tile-foot{color:var(--text-dim);font-size:.78rem}.ov-tile-foot a{color:var(--brand);text-decoration:none}.ov-tile-foot a:hover{text-decoration:underline}.ov-dot{border-radius:50%;flex:none;align-self:center;width:.6rem;height:.6rem}.ov-dot.on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.ov-dot.off{background:var(--text-mute)}.ov-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.ov-side{flex-direction:column;gap:.75rem;display:flex}.ov-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.7rem;padding:.9rem 1rem 1rem;display:flex}.ov-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.ov-card-head h3{color:var(--text);margin:0;font-size:.95rem;font-weight:620}.ov-more{color:var(--text-dim);transition:color var(--t);align-items:center;gap:.25rem;font-size:.8rem;text-decoration:none;display:inline-flex}.ov-more:hover{color:var(--brand)}.ov-empty{color:var(--text-dim);margin:0;font-size:.875rem;line-height:1.55}.ov-events{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ov-event{border-bottom:1px solid var(--line-soft);gap:.65rem;padding:.4rem 0;font-size:.875rem;line-height:1.45;display:flex}.ov-event:last-child{border-bottom:0}.ov-event-time{color:var(--text-mute);font-variant-numeric:tabular-nums;flex:none;padding-top:.1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.ov-event-body{color:var(--text-dim);overflow-wrap:anywhere;min-width:0}.ov-event-body b{color:var(--text);font-weight:600}.ov-event.t-warn .ov-event-body{color:var(--warn)}.ov-event.t-error .ov-event-body{color:var(--danger)}.ov-event.t-join .ov-event-body b{color:var(--ok)}.ov-event.t-leave .ov-event-body b{color:var(--text-mute)}.ov-online{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.ov-online li{color:var(--text);align-items:center;gap:.55rem;font-size:.875rem;display:flex}.ov-av{color:#0b0e12;border-radius:50%;flex:none;place-items:center;width:1.55rem;height:1.55rem;font-size:.75rem;font-weight:650;display:grid}.ov-op{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);background:color-mix(in srgb, var(--brand) 14%, transparent);border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:650}.ov-backup{color:var(--text-dim);align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.ov-actions{flex-direction:column;gap:.4rem;display:flex}.ov-act{border:1px solid var(--line);background:var(--bg-3);color:var(--text-dim);cursor:pointer;transition:color var(--t), border-color var(--t), background var(--t);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.855rem;font-weight:550;display:flex}.ov-act:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.ov-act:active:not(:disabled){transform:scale(var(--t-press))}.ov-act:disabled{opacity:.5;cursor:not-allowed}@media (width<=860px){.ov-cols{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ov-page{animation:none}.ov-act:active:not(:disabled){transform:none}}.act-page{animation:page-enter var(--t) var(--ease) both;flex-direction:column;gap:1rem;display:flex}.act-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.act-head h2{margin:0}.act-sub{color:var(--text-dim);max-width:40rem;margin:.2rem 0 0;font-size:.9rem}.act-refresh{border:1px solid var(--line);background:var(--bg-3);color:var(--text-dim);cursor:pointer;transition:color var(--t), border-color var(--t);border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.855rem;display:inline-flex}.act-refresh:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.act-refresh:active:not(:disabled){transform:scale(var(--t-press))}.act-refresh:disabled{opacity:.55;cursor:default}.act-chips{flex-wrap:wrap;gap:.4rem;display:flex}.act-chip{border:1px solid var(--line);background:var(--bg-3);color:var(--text-mute);cursor:pointer;transition:color var(--t), border-color var(--t), background var(--t);border-radius:999px;padding:.35rem .7rem;font-size:.82rem}.act-chip:hover{color:var(--text-dim)}.act-chip:active{transform:scale(var(--t-press))}.act-chip.on{color:var(--text);border-color:var(--brand);background:color-mix(in srgb, var(--brand) 14%, transparent)}.act-error{color:var(--danger);margin:0;font-size:.9rem}.act-empty{color:var(--text-dim);max-width:42rem;margin:0;font-size:.9rem;line-height:1.6}.act-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.act-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:.7rem;padding:.65rem .85rem;display:flex}.act-row:last-child{border-bottom:0}.act-av{color:#0b0e12;border-radius:50%;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.78rem;font-weight:650;display:grid}.act-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.act-line{color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.885rem;line-height:1.45;display:flex}.act-line b{color:var(--text);font-weight:620}.act-cat{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);background:var(--bg-3);border:1px solid var(--line);border-radius:4px;padding:.1rem .38rem;font-size:.68rem;font-weight:650}.act-cat.c-access{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.act-cat.c-console{color:var(--brand);border-color:color-mix(in srgb, var(--brand) 40%, transparent)}.act-detail{color:var(--text-mute);background:var(--bg-3);border:1px solid var(--line-soft);overflow-wrap:anywhere;border-radius:5px;align-self:flex-start;max-width:100%;padding:.15rem .4rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.act-when{color:var(--text-mute);font-variant-numeric:tabular-nums;flex:none;padding-top:.15rem;font-size:.78rem}.act-more{border:1px solid var(--line);background:var(--bg-3);color:var(--text-dim);cursor:pointer;transition:color var(--t), border-color var(--t);border-radius:8px;align-self:center;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.855rem;display:inline-flex}.act-more:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.act-more:active:not(:disabled){transform:scale(var(--t-press))}.act-more:disabled{opacity:.55;cursor:default}.act-end{color:var(--text-mute);align-self:center;align-items:center;gap:.4rem;margin:0;font-size:.8rem;display:inline-flex}@media (width<=640px){.act-when{display:none}}@media (prefers-reduced-motion:reduce){.act-page{animation:none}.act-chip:active,.act-more:active:not(:disabled),.act-refresh:active:not(:disabled){transform:none}}.pp-root{--pp-surface:#16213e;--pp-surface-2:#1b2646;--pp-inset:#101a33;--pp-line:#ffffff14;--pp-line-2:#26365f;--pp-text:#e9ecf3;--pp-dim:#a6aec0;--pp-brand:#4ecca3;--pp-brand-soft:#4ecca324;--pp-brand-ink:#06130d;--pp-danger:#ff6b81;--pp-danger-soft:#e945601f;--pp-danger-solid:#c4344c;--pp-ease:cubic-bezier(.22, 1, .36, 1);z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.pp-scrim{background:#060a148c;animation:.22s both pp-scrim-in;position:absolute;inset:0}.pp-panel{background:var(--pp-surface);border-left:1px solid var(--pp-line-2);width:min(420px,100vw);height:100%;color:var(--pp-text);animation:pp-panel-in .26s var(--pp-ease) both;flex-direction:column;display:flex;position:relative;box-shadow:-18px 0 48px #0006}.pp-root.closing .pp-scrim{animation:.2s both pp-scrim-out}.pp-root.closing .pp-panel{animation:.22s both pp-panel-out}@keyframes pp-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes pp-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes pp-panel-in{0%{transform:translate(100%)}to{transform:none}}@keyframes pp-panel-out{0%{transform:none}to{transform:translate(100%)}}.pp-header{border-bottom:1px solid var(--pp-line);align-items:center;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.pp-avatar{width:46px;height:46px;image-rendering:pixelated;background:var(--pp-inset);border-radius:8px;flex-shrink:0}.pp-headtext{flex:1;min-width:0}.pp-name{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:600;overflow:hidden}.pp-presence{color:var(--pp-dim);align-items:center;gap:.4rem;margin-top:.15rem;font-size:.78rem;display:inline-flex}.pp-presence-dot{background:#6b7280;border-radius:50%;width:7px;height:7px}.pp-presence.is-online{color:var(--pp-brand)}.pp-presence.is-online .pp-presence-dot{background:var(--pp-brand);box-shadow:0 0 0 3px var(--pp-brand-soft)}.pp-close{width:34px;height:34px;color:var(--pp-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;transition:background .16s,color .16s;display:grid}.pp-close:hover{color:var(--pp-text);background:#ffffff0f}.pp-close:active{transition:transform var(--t-press);transform:scale(.9)rotate(90deg)}.pp-tags{flex-wrap:wrap;gap:.4rem;padding:.85rem 1.25rem 0;display:flex}.pp-tag{border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.pp-tag-op{color:#fbcf6a;background:#fbbf2429}.pp-tag-wl{color:#8fc0ff;background:#60a5fa29}.pp-tag-ban{background:var(--pp-danger-soft);color:var(--pp-danger)}.pp-notice{color:#f2d38a;background:#fbbf2414;border:1px solid #fbbf2440;border-radius:8px;margin:.85rem 1.25rem 0;padding:.55rem .7rem;font-size:.78rem}.pp-body{flex:1;padding-bottom:1rem;overflow-y:auto}.pp-section{border-top:1px solid var(--pp-line);padding:1.05rem 1.25rem}.pp-section:first-child{border-top:none}.pp-body>.pp-section{animation:pp-sec .34s var(--pp-ease) both}.pp-body>.pp-section:first-child{animation-delay:50ms}.pp-body>.pp-section:nth-child(2){animation-delay:90ms}.pp-body>.pp-section:nth-child(3){animation-delay:.13s}.pp-body>.pp-section:nth-child(4){animation-delay:.17s}.pp-body>.pp-section:nth-child(5){animation-delay:.21s}.pp-body>.pp-section:nth-child(6){animation-delay:.25s}@keyframes pp-sec{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.pp-section-title{color:var(--pp-dim);letter-spacing:.01em;margin:0 0 .7rem;font-size:.8rem;font-weight:600}.pp-hint{color:var(--pp-dim);margin:-.3rem 0 .6rem;font-size:.75rem}.pp-stats{background:var(--pp-inset);border:1px solid var(--pp-line);border-radius:10px;display:flex;overflow:hidden}.pp-stat{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.75rem .5rem;display:flex}.pp-stat+.pp-stat{border-left:1px solid var(--pp-line)}.pp-stat-icon{color:var(--pp-brand);opacity:.9}.pp-stat-value{color:var(--pp-text);font-size:.95rem;font-weight:600}.pp-stat-label{color:var(--pp-dim);font-size:.68rem}.pp-maplink{color:var(--pp-brand);align-items:center;gap:.4rem;margin-top:.75rem;font-size:.82rem;text-decoration:none;display:inline-flex}.pp-maplink:hover{text-decoration:underline}.pp-toggle-row{justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.pp-toggle-row+.pp-toggle-row{border-top:1px solid var(--pp-line)}.pp-toggle-label{color:var(--pp-text);align-items:center;gap:.55rem;font-size:.9rem;display:inline-flex}.pp-toggle-label svg{color:var(--pp-dim)}.pp-toggle{border:1px solid var(--pp-line-2);color:var(--pp-dim);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.pp-toggle:hover:not(:disabled){border-color:var(--pp-brand);color:var(--pp-text)}.pp-toggle.is-on{background:var(--pp-brand-soft);color:var(--pp-brand);border-color:#0000}.pp-toggle:active:not(:disabled){transition:transform var(--t-press);transform:scale(.95)}.pp-btn{border:1px solid var(--pp-line-2);background:var(--pp-surface-2);color:var(--pp-text);cursor:pointer;transition:transform .14s var(--pp-ease), background .16s, border-color .16s, box-shadow .16s;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .85rem;font-family:inherit;font-size:.83rem;font-weight:500;display:inline-flex}.pp-btn:hover:not(:disabled){border-color:var(--pp-brand);transform:translateY(-1px)}.pp-btn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.96)}.pp-btn:disabled{opacity:.42;cursor:not-allowed}.pp-btn-primary{background:var(--pp-brand);color:var(--pp-brand-ink);border-color:#0000;font-weight:600}.pp-btn-primary:hover:not(:disabled){border-color:#0000;box-shadow:0 5px 16px #4ecca34d}.pp-btn-safe{background:var(--pp-brand-soft);color:var(--pp-brand);border-color:#0000;font-weight:600}.pp-btn-danger-ghost{color:var(--pp-danger);background:0 0;border-color:#e9456066}.pp-btn-danger-ghost:hover:not(:disabled){background:var(--pp-danger-soft);border-color:var(--pp-danger)}.pp-btn-danger{background:var(--pp-danger-solid);color:#fff;border-color:#0000;flex:1;font-weight:600}.pp-btn-danger:hover:not(:disabled){box-shadow:0 5px 16px #c4344c66}.pp-btn-ghost{color:var(--pp-dim);background:0 0;flex:none;padding:.55rem .7rem}.pp-btn-grid{flex-wrap:wrap;gap:.5rem;display:flex}.pp-btn-grid .pp-btn{flex:auto;min-width:88px}.pp-inline-form{gap:.5rem;margin-top:.6rem;display:flex}.pp-inline-form .pp-btn{flex-shrink:0}.pp-confirm{animation:pp-pop .18s var(--pp-ease) both;flex:100%;gap:.4rem;display:flex}@keyframes pp-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.pp-input,.pp-select{background:var(--pp-inset);border:1px solid var(--pp-line-2);width:100%;min-width:0;color:var(--pp-text);border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.83rem;transition:border-color .16s,box-shadow .16s}.pp-input::placeholder{color:#8a93a6}.pp-input:focus,.pp-select:focus{border-color:var(--pp-brand);box-shadow:0 0 0 3px var(--pp-brand-soft);outline:none}.pp-input:disabled,.pp-select:disabled{opacity:.45;cursor:not-allowed}.pp-textarea{resize:vertical;min-height:2.4rem;line-height:1.4}.pp-chat{resize:vertical;background:var(--pp-inset);border:1px solid var(--pp-line);border-radius:10px;flex-direction:column;gap:.35rem;height:220px;min-height:96px;max-height:70vh;margin-bottom:.6rem;padding:.6rem;display:flex;overflow:auto}.pp-bubble{word-break:break-word;max-width:82%;animation:pp-bubble-in .2s var(--pp-ease) both;border-radius:11px;flex-direction:column;gap:1px;padding:.38rem .6rem;font-size:.82rem;line-height:1.35;display:flex}@keyframes pp-bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pp-bubble-them{background:var(--pp-surface-2);color:var(--pp-text);border-bottom-left-radius:3px;align-self:flex-start}.pp-bubble-me{background:var(--pp-brand-soft);color:#d7f5ea;border-bottom-right-radius:3px;align-self:flex-end}.pp-bubble-text{white-space:pre-wrap}.pp-bubble-time{color:var(--pp-dim);align-self:flex-end;font-size:.62rem}.pp-chat-empty{text-align:center;color:var(--pp-dim);background:var(--pp-inset);border:1px dashed var(--pp-line-2);border-radius:10px;margin:0 0 .6rem;padding:.7rem;font-size:.76rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.pp-bubble{animation:none}}.pp-select{cursor:pointer;flex:1}.pp-coords{flex:1;gap:.4rem;display:flex}.pp-coord{text-align:center;appearance:textfield}.pp-coord::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pp-coord::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pp-danger{background:#e945600a}.pp-danger .pp-input{margin-bottom:.6rem}@media (prefers-reduced-motion:reduce){.pp-scrim,.pp-panel,.pp-root.closing .pp-scrim,.pp-root.closing .pp-panel{animation:1ms linear both pp-fade}@keyframes pp-fade{0%{opacity:1}to{opacity:1}}.pp-panel{animation:.18s both pp-panel-fade}@keyframes pp-panel-fade{0%{opacity:0}to{opacity:1}}.pp-btn:hover:not(:disabled){transform:none}}@media (width<=560px){.pp-panel{border-left:none;width:100vw}}.players-page{color:#e9ecf3;height:100%;animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.players-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.players-header h2{margin:0;font-size:1.25rem}.players-header-actions{align-items:center;gap:.6rem;display:flex}.btn-refresh,.btn-edit{color:#cdd3df;cursor:pointer;background:0 0;border:1px solid #26365f;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-family:inherit;font-size:.82rem;font-weight:500;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.btn-refresh:hover:not(:disabled),.btn-edit:hover:not(:disabled){color:#4ecca3;border-color:#4ecca3}.btn-refresh:disabled,.btn-edit:disabled{opacity:.55;cursor:not-allowed}.btn-refresh .spin{animation:.8s linear infinite players-spin}@keyframes players-spin{to{transform:rotate(360deg)}}.players-loading,.players-error{color:#a6aec0;font-size:.9rem}.players-error{color:#ff6b81}.players-empty{text-align:center;border:1px dashed #2a3a63;border-radius:12px;max-width:460px;padding:2rem 1.5rem}.players-empty-title{color:#e9ecf3;margin:0 0 .4rem;font-size:1rem;font-weight:600}.players-empty-sub{color:#a6aec0;margin:0;font-size:.85rem;line-height:1.55}.players-editbar{max-width:640px;animation:rise .22s var(--ease) both;background:#1b2646;border:1px solid #26365f;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.7rem 1rem;display:flex}.players-editbar.confirming{border-color:var(--danger)}.players-editbar-text{color:#cdd3df;font-size:.85rem}.players-editbar.confirming .players-editbar-text{color:#e9ecf3;font-weight:500}.players-editbar-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-danger,.btn-danger-ghost,.btn-ghost{cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .16s,color .16s,background .16s,opacity .16s;display:inline-flex}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-danger-ghost{color:#ff6b81;background:0 0;border-color:#26365f}.btn-danger-ghost:hover:not(:disabled){border-color:var(--danger);background:#e945601f}.btn-danger-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:#a6aec0;background:0 0;font-weight:500}.btn-ghost:hover:not(:disabled){color:#e9ecf3}.players-list{flex-direction:column;gap:.5rem;max-width:640px;display:flex}.player-card{text-align:left;cursor:pointer;background:#1b2646;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.7rem .9rem;font-family:inherit;transition:transform .14s cubic-bezier(.22,1,.36,1),background .16s,border-color .16s;display:flex}.player-card:hover{background:#212d52;border-color:#2f3f6b;transform:translateY(-1px)}.player-card:focus-visible{border-color:#4ecca3;outline:none;box-shadow:0 0 0 3px #4ecca338}.player-card:active{transition:transform var(--t-press);transform:scale(.985)}.player-card.selected{background:#212d52;border-color:#4ecca3}.player-card.edit-mode.checked{border-color:var(--danger);background:#e945601a}.player-checkbox{color:#fff;background:0 0;border:1px solid #3a4a78;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .14s,background .14s;display:flex}.player-checkbox.checked{border-color:var(--danger);background:var(--danger)}.player-card.offline{opacity:.62}.player-card.offline:hover{opacity:.85}.player-card.offline .player-avatar{filter:grayscale(.6)}.player-status-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.player-card.online .player-status-indicator{background:#4ade80;box-shadow:0 0 6px #4ade8080}.player-card.offline .player-status-indicator{background:#6b7280}.player-avatar{width:40px;height:40px;image-rendering:pixelated;border-radius:6px;flex-shrink:0}.player-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.player-name{color:#e9ecf3;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.player-badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.badge-op{color:#fbcf6a;background:#fbbf242e}.badge-banned{color:#ff6b81;background:#e945602e}.badge-whitelisted{color:#8fc0ff;background:#60a5fa2e}.player-status-text{color:#a6aec0;white-space:nowrap;font-size:.8rem}.player-card.online .player-status-text{color:#6ee7b0}.player-chevron{color:#6b7590;flex-shrink:0;transition:transform .16s,color .16s}.player-card:hover .player-chevron{color:#a6aec0;transform:translate(2px)}@media (prefers-reduced-motion:reduce){.player-card,.player-chevron{transition:none}.player-card:hover{transform:none}.btn-refresh .spin{animation:none}}@media (width<=768px){.players-page{padding:1rem}.players-header{margin-bottom:1rem}.players-list{max-width:100%}.players-editbar{flex-wrap:wrap;max-width:100%}.player-card{padding:.6rem .75rem}.player-avatar{width:32px;height:32px}.player-name{font-size:.85rem}.player-status-text{display:none}}.perf-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.pf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.pf-head h2{align-items:center;gap:.55rem;margin:0;font-size:1.25rem;display:flex}.pf-head-icon{color:var(--brand)}.pf-sub{color:var(--text-dim);margin:.3rem 0 0;font-size:.82rem}.pf-sampling{color:var(--text-dim);align-items:center;gap:.55rem;font-size:.78rem;display:flex}.pf-interval{align-items:center;gap:.4rem;display:inline-flex}.pf-interval select{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);padding:.4rem .55rem;font-family:inherit;font-size:.8rem}.pf-interval select:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.pf-live{color:var(--brand);align-items:center;gap:6px;font-weight:600;display:inline-flex}.pf-live-dot{background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 3px var(--brand-glow);border-radius:50%}.pf-btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-3);color:var(--text);cursor:pointer;transition:transform var(--t-fast), border-color var(--t), background var(--t), box-shadow var(--t);align-items:center;gap:.4rem;padding:.5rem .9rem;font-family:inherit;font-size:.83rem;font-weight:500;text-decoration:none;display:inline-flex}.pf-btn:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.pf-btn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.95)}.pf-btn:disabled{opacity:.45;cursor:not-allowed}.pf-btn-primary{background:var(--brand);color:var(--brand-ink);border-color:#0000;font-weight:600}.pf-btn-primary:hover:not(:disabled){box-shadow:0 5px 16px var(--brand-glow)}.pf-btn-ghost{color:var(--text-dim);background:0 0}.pf-btn-icon{padding:.42rem}.pf-btn-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.pf-empty{text-align:center;max-width:520px;color:var(--text-dim);border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:flex}.pf-empty svg{color:var(--text-mute)}.pf-empty-warn svg{color:var(--warn)}.pf-empty p{margin:0;font-size:.85rem;line-height:1.55}.pf-empty-sub{color:var(--text-mute);font-size:.78rem}.pf-empty-sub a{color:var(--brand)}.pf-empty code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.pf-vitals{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.pf-tile{border:1px solid var(--line-soft);border-radius:var(--radius);background:#16213e80;flex-direction:column;gap:.15rem;min-width:0;padding:.85rem 1rem .6rem;display:flex}.pf-tile-label{color:var(--text-dim);align-items:center;gap:.45rem;font-size:.72rem;display:flex}.pf-tile-label svg{color:var(--text-mute)}.pf-tile-when{color:var(--text-mute);margin-left:auto}.pf-tile-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:700;line-height:1.2}.pf-unit{color:var(--text-dim);margin-left:2px;font-size:.85rem;font-weight:500}.pf-tile-value.is-ok,.pf-ping-value.is-ok{color:var(--ok)}.pf-tile-value.is-warn,.pf-ping-value.is-warn{color:var(--warn)}.pf-tile-value.is-danger,.pf-ping-value.is-danger{color:var(--danger)}.pf-tile-sub{color:var(--text-mute);font-variant-numeric:tabular-nums;font-size:.7rem}.pf-tile-spark{height:42px;margin-top:.45rem}.pf-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:#16213e80;margin-bottom:1rem;padding:1rem 1.15rem 1.05rem}.pf-card-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.pf-card-head h3{align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:600;display:flex}.pf-card-head h3 svg{color:var(--brand)}.pf-spacer{flex:1}.pf-help{color:var(--text-dim);max-width:68ch;margin:0;font-size:.78rem;line-height:1.55}.pf-quiet{color:var(--text-mute);margin:0;font-size:.78rem}.pf-seg{border:1px solid var(--line-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.pf-seg button{color:var(--text-dim);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:.35rem .7rem;font-family:inherit;font-size:.76rem}.pf-seg button+button{border-left:1px solid var(--line-soft)}.pf-seg button.on{color:var(--brand);background:#4ecca324;font-weight:600}.pf-chart{height:220px}.tc{width:100%;height:100%;position:relative}.tc svg{width:100%;height:100%;display:block}.tc-axis{color:var(--text-mute);font-variant-numeric:tabular-nums;background:#1a1a2eb3;border-radius:4px;padding:0 5px;font-size:.66rem;position:absolute;right:6px}.tc-axis-top{top:4px}.tc-axis-bottom{bottom:4px}.tc-empty{color:var(--text-mute);place-items:center;font-size:.78rem;display:grid;position:absolute;inset:0}.pf-chart-foot{color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.55rem;font-size:.72rem;display:flex}.pf-linklike{color:var(--text-dim);font-family:inherit;font-size:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;text-decoration:underline}.pf-linklike:hover{color:var(--danger)}.pf-actions{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.pf-progress{margin-top:.9rem}.pf-progress-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.pf-progress-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .9s linear}.pf-progress-label{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:.4rem 0 0;font-size:.74rem}.pf-result{border-radius:var(--radius-sm);background:#4ecca314;border:1px solid #4ecca359;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.9rem;padding:.6rem .8rem;font-size:.8rem;display:flex}.pf-result svg{color:var(--brand)}.pf-result a{color:var(--brand);word-break:break-all}.pf-result-note{color:var(--text-mute);font-size:.72rem}.pf-diag-error{color:var(--danger);margin:.7rem 0 0;font-size:.78rem}.pf-privacy{color:var(--text-mute);align-items:flex-start;gap:.4rem;margin:.8rem 0 0;font-size:.7rem;display:flex}.pf-privacy svg{color:var(--warn);flex:none;margin-top:1px}.pf-twocol{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;display:grid}.pf-twocol .pf-card{margin-bottom:1rem}.pf-ping{flex-direction:column;gap:.2rem;display:flex}.pf-ping-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text);font-size:1.55rem;font-weight:700;line-height:1.2}.pf-ping-sub{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.76rem}.pf-ping-note{margin-top:.35rem;line-height:1.5}.pf-table{border-collapse:collapse;width:100%;font-size:.8rem}.pf-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);border-bottom:1px solid var(--line-soft);padding:.35rem .6rem;font-size:.68rem;font-weight:600}.pf-table td{border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;padding:.45rem .6rem}.pf-table tr:last-child td{border-bottom:none}.pf-when{white-space:nowrap;color:var(--text-dim)}.pf-note-col{width:42%}.pf-kind{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:1px 8px;font-size:.66rem;font-weight:700;display:inline-block}.pf-kind-profiler{color:var(--brand);background:#4ecca329}.pf-kind-heap{color:var(--info);background:#60a5fa29}.pf-kind-health{color:var(--warn);background:#fbbf2429}.pf-kind-unknown{color:var(--text-dim);background:#ffffff14}.pf-note-input{width:100%;color:var(--text-dim);background:0 0;border:none;border-bottom:1px dashed #0000;padding:2px 0;font-family:inherit;font-size:.78rem}.pf-note-input:hover{border-bottom-color:var(--line-strong)}.pf-note-input:focus{border-bottom-color:var(--brand);color:var(--text);outline:none}.pf-row-actions{justify-content:flex-end;gap:.3rem;display:flex}.pf-gc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem;display:grid}.pf-gc-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.6rem .8rem}.pf-gc-name{margin-bottom:.25rem;font-size:.78rem;font-weight:600}.pf-gc-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.72rem}.pf-add{gap:.5rem;margin-top:.8rem;display:flex}.pf-add input{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);flex:1;padding:.45rem .65rem;font-family:inherit;font-size:.8rem}.pf-add input:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.pf-foot{color:var(--text-mute);max-width:78ch;margin:1.2rem 0 0;font-size:.72rem;line-height:1.6}.pf-foot code{color:var(--text-dim)}.pf-visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=560px){.pf-head{flex-direction:column}}.server-setup-page{height:100%;animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.server-setup-page h2{margin:0 0 1.5rem;font-size:1.25rem}.server-info-grid{flex-wrap:wrap;gap:2rem;display:flex}.server-info-item{flex-direction:column;gap:.25rem;display:flex}.info-label{color:#a0a0b0;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.info-value{text-transform:capitalize;font-size:1rem;font-weight:600}.server-info-card{background:#0f0f1a;border:1px solid #0f3460;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.server-info{background:0 0;padding:0}.server-info h3{margin-bottom:.5rem}.server-info-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.server-exists-card{background:var(--color-surface,#1e1e2e);border-radius:8px;max-width:500px;padding:1.5rem}.server-exists-message{color:#a0a0b0;margin:0 0 1rem}.setup-error{color:#e94560;margin:0 0 1rem;font-size:.85rem}.modal{background:var(--color-surface,#1e1e2e);border:1px solid #333;border-radius:8px;width:90%;max-width:420px;padding:1.5rem}.modal h3{margin:0 0 .75rem;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.setup-hint{color:#a0a0b0;margin:1rem 0 0;font-size:.8rem}.delete-confirm{flex-direction:column;gap:.75rem;display:flex}.delete-warning{color:#e94560;margin:0;font-size:.85rem;line-height:1.4}.delete-confirm-actions{gap:.5rem;display:flex}.setup-form{flex-direction:column;gap:1.5rem;display:flex}.setup-section{background:var(--color-surface,#1e1e2e);border-radius:8px;padding:1.25rem;overflow:hidden}.setup-section h3{margin:0 0 1rem;font-size:1rem}.setup-field{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.setup-field label{color:#a0a0b0;min-width:120px;font-size:.85rem}.setup-field input[type=text],.setup-field select{border:1px solid var(--color-border,#333);background:var(--color-input-bg,#111);color:inherit;border-radius:4px;flex:1;padding:.4rem .6rem;font-size:.85rem}.setup-toggle{cursor:pointer;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.setup-toggle input[type=checkbox]{width:1rem;height:1rem}.setup-properties{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem;display:grid}.setup-properties .property-field{min-width:0;overflow:hidden}.setup-properties .property-field label{white-space:nowrap;flex-shrink:0}.setup-properties .property-field input[type=text],.setup-properties .property-field input[type=number],.setup-properties .property-field select{border:1px solid var(--color-border,#333);background:var(--color-input-bg,#111);min-width:0;color:inherit;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.85rem}.properties-table-wrapper{overflow-x:auto}.properties-table{table-layout:fixed;border-collapse:collapse;background:#0f0f1a;border:1px solid #0f3460;border-radius:8px;width:100%;font-size:.8rem;line-height:1.5;overflow:hidden}.properties-table th:first-child,.properties-table td:first-child{width:26%}.properties-table th:nth-child(2),.properties-table td:nth-child(2){width:22%}.properties-table th:nth-child(3),.properties-table td:nth-child(3){width:52%}.properties-table thead{background:#16213e;border-bottom:1px solid #0f3460}.properties-table th{text-align:left;color:#4ecca3;white-space:nowrap;padding:.6rem 1rem;font-weight:600}.properties-table td{border-bottom:1px solid #0f346040;padding:.5rem 1rem}.properties-table tbody tr:last-child td{border-bottom:none}.properties-table tbody tr:hover{background:#16213e40}.prop-name{white-space:nowrap;color:#e0e0e0;align-items:center;gap:.4rem;font-weight:500;display:flex;position:relative;overflow:hidden}.prop-name-text{text-overflow:ellipsis;min-width:20px;overflow:hidden}.prop-value{min-width:120px}.prop-value input[type=text],.prop-value input[type=number],.prop-value select{color:#e0e0e0;background:#1a1a2e;border:1px solid #0f3460;border-radius:4px;width:100%;padding:.3rem .5rem;font-family:inherit;font-size:.8rem}.prop-value input[type=text]:focus,.prop-value input[type=number]:focus,.prop-value select:focus{border-color:#4ecca3;outline:none}.prop-value input[type=checkbox]{cursor:pointer;accent-color:#4ecca3;width:1rem;height:1rem}.prop-desc{color:#a0a0b0;font-size:.75rem}.prop-tooltip-container{flex-shrink:0;display:none;position:relative}.prop-info-btn{color:#a0a0b0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.prop-info-btn:hover,.prop-info-btn[aria-expanded=true]{color:#4ecca3;background:#4ecca31f}.prop-tooltip{z-index:30;color:#e0e0e0;text-transform:none;width:max-content;max-width:220px;box-shadow:var(--shadow-1,0 4px 16px #00000059);background:#16213e;border:1px solid #0f3460;border-radius:6px;padding:.5rem .65rem;font-size:.75rem;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 6px);left:0}.danger-zone{border:1px solid #e9456040}.properties-actions{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.properties-actions-right{align-items:center;gap:.5rem;display:flex}.properties-actions-right .btn{align-items:center;gap:.4rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#111;background:#4ecca3}.btn-primary:hover{background:#3db88f}.btn-create{color:#111;background:#4ecca3}.btn-create:hover{background:#3db88f}.btn-danger{color:#fff;background:#e94560}.btn-danger:hover{background:#d63851}.btn-secondary{color:#a0a0b0;background:0 0;border:1px solid #333}.btn-secondary:hover{color:#fff;border-color:#555}@media (width<=768px){.server-setup-page{padding:1rem}.server-info-card{flex-direction:column;padding:1rem}.server-info-actions{align-items:stretch;width:100%}.server-info-actions .btn{width:100%}.setup-section{padding:1rem}.setup-field{flex-direction:column;align-items:stretch;gap:.35rem}.setup-field label{min-width:0}.setup-field input[type=text],.setup-field select{width:100%}.properties-table-wrapper{margin:0 -1rem;padding:0 1rem;overflow-x:hidden}.properties-table,.properties-table tbody{width:100%;display:block}.properties-table thead{display:none}.properties-table tr{border-bottom:1px solid #0f346040;flex-direction:column;width:100%;padding:.6rem .75rem;display:flex}.properties-table tbody tr:last-child{border-bottom:none}.properties-table td{border-bottom:none;padding:0;display:block;width:100%!important}.prop-desc{display:none!important}.prop-name{white-space:normal;margin-bottom:.4rem;overflow:visible}.prop-name-text{white-space:normal;text-overflow:clip;min-width:0;overflow:visible}.prop-value{min-width:0}.prop-tooltip-container{display:inline-flex;position:static}.prop-tooltip{width:auto;max-width:none;left:0;right:0}.properties-actions{flex-direction:column;align-items:stretch;gap:.75rem}.properties-actions-right{flex-direction:column;align-items:stretch}.properties-actions .btn,.properties-actions-right .btn{justify-content:center;width:100%}.modal{width:calc(100% - 2rem);padding:1.25rem}.delete-confirm-actions{flex-direction:column}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.servers-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.servers-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.servers-head h2{margin:0;font-size:1.25rem}.servers-note{color:var(--text-dim);margin:.3rem 0 0;font-size:.82rem}.servers-head-actions{flex-shrink:0;gap:.5rem;display:flex}.svbtn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-3);color:var(--text);cursor:pointer;transition:transform var(--t-fast), border-color var(--t), background-color var(--t), box-shadow var(--t), color var(--t);align-items:center;gap:.4rem;padding:.5rem .9rem;font-family:inherit;font-size:.83rem;font-weight:500;display:inline-flex}.svbtn:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.svbtn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.95)}.svbtn:disabled{opacity:.45;cursor:not-allowed}.svbtn .spin{animation:.8s linear infinite servers-spin}@keyframes servers-spin{to{transform:rotate(360deg)}}.svbtn-primary{background:var(--brand);color:var(--brand-ink);border-color:#0000;font-weight:600}.svbtn-primary:hover:not(:disabled){box-shadow:0 5px 16px var(--brand-glow)}.svbtn-icon{flex-shrink:0;padding:.5rem}.svbtn-danger-ghost:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.servers-loading{color:var(--text-dim);font-size:.9rem}.servers-empty{text-align:center;max-width:460px;color:var(--text-dim);border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:flex}.servers-empty svg{color:var(--text-mute)}.servers-empty p{margin:0;font-size:.85rem;line-height:1.5}.servers-empty-sub{color:var(--text-mute);font-size:.78rem}.servers-empty code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.servers-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.9rem;max-width:1100px;display:grid}.server-card{border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color var(--t);background:#16213e80;flex-direction:column;gap:.7rem;padding:1.1rem 1.15rem;display:flex;position:relative}.server-card.is-current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand-glow)}.server-card-badge{background:var(--brand);color:var(--brand-ink);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.1rem .5rem;font-size:.62rem;font-weight:700;position:absolute;top:-8px;right:12px}.server-card-head{align-items:center;gap:.55rem;display:flex}.server-dot{background:var(--text-mute);border-radius:50%;flex-shrink:0;width:9px;height:9px}.server-dot.online{background:var(--ok);box-shadow:0 0 6px #4ade808c}.server-dot.offline{background:var(--danger)}.server-card-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.server-card-state{color:var(--text-mute);flex-shrink:0;font-size:.72rem}.server-card-meta{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;overflow:hidden}.server-card-stats{gap:1rem;display:flex}.server-stat{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.server-stat svg{color:var(--text-mute)}.server-mem{flex-direction:column;gap:.3rem;display:flex}.server-mem-label{color:var(--text-mute);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.server-mem-track{background:#ffffff12;border-radius:999px;height:5px;overflow:hidden}.server-mem-fill{background:linear-gradient(90deg, var(--brand-dim), var(--brand));border-radius:999px;height:100%}.server-card-actions{align-items:center;gap:.5rem;margin-top:auto;padding-top:.3rem;display:flex}.server-card-actions .svbtn-primary{flex:1}.server-card-new{border:1px dashed var(--line);border-radius:var(--radius);min-height:150px;color:var(--text-mute);cursor:not-allowed;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.server-card-new svg{opacity:.7}.server-card-new-sub{color:var(--text-mute);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:500}@media (prefers-reduced-motion:reduce){.svbtn .spin{animation:none}.server-card,.server-mem-fill{transition:none}}@media (width<=768px){.servers-page{padding:1rem}}@media (width<=560px){.servers-head{flex-direction:column}.servers-grid{grid-template-columns:1fr}}.rp-root{--rp-surface:#16213e;--rp-inset:#101a33;--rp-line:#ffffff14;--rp-line-2:#26365f;--rp-text:#e9ecf3;--rp-dim:#a6aec0;--rp-brand:#4ecca3;--rp-brand-soft:#4ecca324;--rp-brand-ink:#06130d;--rp-ease:cubic-bezier(.22, 1, .36, 1);z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.rp-scrim{background:#060a148c;animation:.22s both rp-scrim-in;position:absolute;inset:0}.rp-panel{background:var(--rp-surface);border-left:1px solid var(--rp-line-2);width:min(440px,100vw);height:100%;color:var(--rp-text);animation:rp-panel-in .26s var(--rp-ease) both;flex-direction:column;display:flex;position:relative;box-shadow:-18px 0 48px #0006}.rp-root.closing .rp-scrim{animation:.2s both rp-scrim-out}.rp-root.closing .rp-panel{animation:.22s both rp-panel-out}@keyframes rp-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes rp-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes rp-panel-in{0%{transform:translate(100%)}to{transform:none}}@keyframes rp-panel-out{0%{transform:none}to{transform:translate(100%)}}.rp-header{border-bottom:1px solid var(--rp-line);flex-shrink:0;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.rp-avatar{color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.rp-avatar-img{object-fit:cover}.rp-headtext{flex:1;min-width:0}.rp-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:600;overflow:hidden}.rp-sub{color:var(--rp-dim);margin-top:.1rem;font-size:.78rem}.rp-close{width:34px;height:34px;color:var(--rp-dim);cursor:pointer;transition:background-color var(--t), color var(--t);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.rp-close:hover{color:var(--rp-text);background:#ffffff0f}.rp-close:active{transition:transform var(--t-press);transform:scale(.9)rotate(90deg)}.rp-body{flex:1;padding-bottom:1rem;overflow-y:auto}.rp-section{border-top:1px solid var(--rp-line);padding:1.05rem 1.25rem}.rp-section:first-child{border-top:none}.rp-section-title{color:var(--rp-dim);margin:0 0 .7rem;font-size:.8rem;font-weight:600}.rp-hint{color:var(--rp-dim);margin:-.3rem 0 .6rem;font-size:.75rem}.rp-hint.rp-warn{color:#fbbf24}.rp-select{background:var(--rp-inset);border:1px solid var(--rp-line-2);width:100%;color:var(--rp-text);cursor:pointer;border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.9rem}.rp-select:focus{border-color:var(--rp-brand);box-shadow:0 0 0 3px var(--rp-brand-soft);outline:none}.rp-select:disabled{opacity:.45;cursor:not-allowed}.rp-toggle-row{justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.rp-toggle-row+.rp-toggle-row{border-top:1px solid var(--rp-line)}.rp-toggle-label{color:var(--rp-text);align-items:center;gap:.5rem;font-size:.86rem;display:inline-flex}.rp-toggle-label svg{color:var(--rp-dim);flex-shrink:0}.rp-custom-tag{text-transform:uppercase;letter-spacing:.03em;color:#fbbf24;background:#fbbf2424;border-radius:999px;padding:.05rem .4rem;font-size:.65rem;font-weight:700}.rp-toggle{border:1px solid var(--rp-line-2);color:var(--rp-dim);cursor:pointer;transition:background-color var(--t), border-color var(--t), color var(--t);background:0 0;border-radius:999px;flex-shrink:0;padding:.32rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600}.rp-toggle:hover:not(:disabled){border-color:var(--rp-brand);color:var(--rp-text)}.rp-toggle.is-on{background:var(--rp-brand-soft);color:var(--rp-brand);border-color:#0000}.rp-toggle:disabled{opacity:.45;cursor:not-allowed}.rp-toggle:active:not(:disabled){transition:transform var(--t-press);transform:scale(.95)}.rp-owner-banner{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2440;border-radius:10px;align-items:center;gap:.6rem;margin:1.1rem 1.25rem;padding:.75rem .9rem;font-size:.85rem;display:flex}.rp-footer{border-top:1px solid var(--rp-line);flex-shrink:0;align-items:center;gap:.6rem;padding:.9rem 1.25rem;display:flex}.rp-unsaved{color:#fbbf24;flex:1;font-size:.78rem}.rp-btn{cursor:pointer;transition:transform var(--t-fast), background-color var(--t);border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.rp-btn:disabled{opacity:.5;cursor:not-allowed}.rp-btn-primary{background:var(--rp-brand);color:var(--rp-brand-ink);border:none}.rp-btn-primary:not(:disabled):hover{transform:translateY(-1px)}.rp-btn-ghost{border:1px solid var(--rp-line-2);color:var(--rp-dim);background:0 0}.rp-btn-ghost:not(:disabled):hover{color:var(--rp-text);border-color:var(--rp-line-2)}.rp-spin{animation:.8s linear infinite rp-spin}@keyframes rp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.rp-scrim,.rp-panel,.rp-spin{animation:none}}@media (width<=480px){.rp-panel{width:100vw}}.users-page{height:100%;animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.users-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.users-header h2{margin:0;font-size:1.25rem}.btn-invite{color:#111;cursor:pointer;background:#4ecca3;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;display:flex}.btn-invite:hover{background:#3db88f}.btn-invite:disabled{opacity:.5;cursor:not-allowed}.users-loading,.users-error,.users-empty{color:var(--color-text-muted,#888);font-size:.9rem}.users-error{color:#f87171}.users-list{flex-direction:column;gap:.5rem;max-width:700px;display:flex}.user-card{background:var(--color-surface,#1e1e2e);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.user-card.is-clickable{cursor:pointer;transition:background-color var(--t), transform var(--t-fast)}.user-card.is-clickable:hover,.user-card.is-clickable:focus-visible{background:var(--surface-2,#232842)}.user-card.is-clickable:active{transition:transform var(--t-press);transform:scale(.99)}.user-manage-hint{color:var(--text-mute,#6b7280);flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;font-size:.78rem;font-weight:600;display:inline-flex}.user-card.is-clickable:hover .user-manage-hint,.user-card.is-clickable:focus-visible .user-manage-hint{color:var(--brand,#4ecca3)}.user-avatar-placeholder{background:var(--color-primary,#7c3aed);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;display:flex}.user-avatar-img{object-fit:cover}.user-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.invitations-list{flex-direction:column;gap:.5rem;max-width:700px;display:flex}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface,#1e1e2e);border:1px solid #333;border-radius:12px;flex-direction:column;gap:.75rem;width:90%;max-width:500px;padding:1.5rem;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{margin:0;font-size:1.1rem}.modal-description{color:var(--color-text-muted,#aaa);margin:0;font-size:.85rem}.invite-link-row{align-items:center;gap:.5rem;display:flex}.invite-link{white-space:nowrap;text-overflow:ellipsis;background:#0000004d;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.8rem;overflow:hidden}.invite-note{color:var(--color-text-muted,#666);font-size:.75rem}.btn-dismiss{width:28px;height:28px;color:var(--color-text-muted,#888);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-dismiss:hover{color:#fff}.invitation-card{background:var(--color-surface,#1e1e2e);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.invitation-card.expired{opacity:.5}.invitation-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.invitation-link{white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:.8rem;overflow:hidden}.invitation-expires{color:var(--color-text-muted,#888);font-size:.75rem}.btn-copy{width:32px;height:32px;color:var(--color-text-muted,#888);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.btn-copy:hover{color:#fff;background:#ffffff0d}.ce{--ce-py:12px;--ce-px:14px;height:100%;min-height:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.82rem;line-height:1.6;display:flex;overflow:hidden}.ce-gutter{padding:var(--ce-py) 10px var(--ce-py) 12px;text-align:right;color:#5b6788;border-right:1px solid var(--line-soft);-webkit-user-select:none;user-select:none;background:#ffffff05;flex-shrink:0;overflow:hidden}.ce-gutter-inner{font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre;will-change:transform;margin:0}.ce-scroll{flex:1;min-width:0;position:relative;overflow:auto}.ce-inner{width:max-content;min-width:100%;min-height:100%;position:relative}.ce-pre,.ce-ta{padding:var(--ce-py) var(--ce-px);font-family:inherit;font-size:inherit;line-height:inherit;tab-size:2;white-space:pre;overflow-wrap:normal;word-break:normal;letter-spacing:normal;box-sizing:border-box;border:0;margin:0}.ce-pre{pointer-events:none;min-width:100%;color:var(--text)}.ce-ta{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--brand);background:0 0;outline:none;position:absolute;inset:0;overflow:hidden}.ce-ta::selection{background:#4ecca347}.j-key{color:#5fd6b0}.j-str{color:#e0a86a}.j-num{color:#74b6ff}.j-bool,.j-null{color:#c48fff}.j-punc{color:#8390b4}.p-key{color:#5fd6b0}.p-eq{color:#8390b4}.p-val{color:#e0a86a}.p-comment{color:#6b7590;font-style:italic}.files-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;flex-direction:column;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.files-dropzone{z-index:20;text-align:center;color:var(--brand);border:2px dashed var(--brand);pointer-events:none;animation:files-drop-in .14s var(--ease) both;background:#0e1424db;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;display:flex;position:absolute;inset:.75rem}.files-dropzone p{color:var(--text);margin:0;font-size:.95rem;font-weight:500}.files-page.is-dragging .files-list,.files-page.is-dragging .files-empty{opacity:.35}@keyframes files-drop-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.files-dropzone{animation:none}}.files-unsupported{text-align:center;max-width:460px;color:var(--text-dim);border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;margin:1.5rem auto;padding:2rem 1.5rem;display:flex}.files-unsupported svg{color:var(--text-mute)}.files-unsupported p{margin:0;font-size:.85rem;line-height:1.5}.files-unsupported-sub{color:var(--text-mute);font-size:.78rem}.files-unsupported code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.files-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.files-crumbs{flex-wrap:wrap;align-items:center;min-width:0;font-size:.85rem;display:flex}.crumb-seg{align-items:center;display:inline-flex}.crumb{color:var(--text-dim);cursor:pointer;transition:color var(--t), background var(--t);background:0 0;border:none;border-radius:5px;padding:.15rem .3rem;font-family:inherit;font-size:.85rem}.crumb:hover{color:var(--brand);background:#ffffff0d}.crumb-sep{color:var(--text-mute);flex-shrink:0}.files-actions{align-items:center;gap:.5rem;display:flex}.fbtn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-3);color:var(--text);cursor:pointer;transition:transform var(--t-fast), border-color var(--t), background var(--t);align-items:center;gap:.4rem;padding:.45rem .8rem;font-family:inherit;font-size:.82rem;font-weight:500;display:inline-flex}.fbtn:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.fbtn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.94)}.fbtn:disabled{opacity:.42;cursor:not-allowed}.fbtn-icon{padding:.45rem}.fbtn-ghost{color:var(--text-dim);background:0 0}.spin{animation:.8s linear infinite files-spin}@keyframes files-spin{to{transform:rotate(360deg)}}.files-loading,.files-empty{color:var(--text-dim);font-size:.88rem}.files-error{color:var(--danger);font-size:.88rem}.files-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.file-row{transition:background var(--t);border-radius:8px;align-items:center;gap:.4rem;display:flex}.file-row:hover{background:#ffffff09}.file-main{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:.7rem;padding:.6rem .7rem;font-family:inherit;font-size:.88rem;display:flex}.file-main:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-glow);outline:none}.file-main:active{transition:transform var(--t-press);transform:scale(.99)}.file-icon{color:var(--text-dim);flex-shrink:0}.file-icon-dir{color:#78b6ff}.file-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.file-size{color:var(--text-mute);white-space:nowrap;font-size:.76rem}.file-go{color:var(--text-mute);flex-shrink:0}.file-dl{color:var(--text-dim)}.file-del{color:var(--text-mute);margin-right:.4rem}.file-del:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.fbtn-danger{color:#f08a9c;background:#e9456024;border-color:#e945606b}.fbtn-danger:hover:not(:disabled){border-color:var(--danger);background:#e945603d}.fbtn-warn{color:#f5cf7e;background:#fbbf2424;border-color:#fbbf246b}.fbtn-warn:hover:not(:disabled){border-color:var(--warn);background:#fbbf243d}.files-modal-scrim{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:files-scrim-in .16s var(--ease) both;background:#080a149e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.files-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-3);width:min(400px,100%);animation:files-modal-in .2s var(--ease) both;padding:1.4rem 1.4rem 1.2rem;box-shadow:0 24px 60px -24px #000000d9}.files-modal-icon{width:42px;height:42px;color:var(--danger);background:#e9456024;border-radius:12px;place-items:center;margin-bottom:.85rem;display:grid}.files-modal-icon-warn{color:var(--warn);background:#fbbf2424}.files-modal-title{color:var(--text);margin:0 0 .4rem;font-size:1.05rem;font-weight:700}.files-modal-body{color:var(--text-dim);margin:0 0 1.25rem;font-size:.88rem;line-height:1.5}.files-modal-body b{color:var(--text);word-break:break-all;font-weight:600}.files-modal-actions{justify-content:flex-end;gap:.6rem;display:flex}@keyframes files-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes files-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.files-modal-scrim,.files-modal{animation:none}}.file-editor{border:1px solid var(--line-soft);border-radius:var(--radius);min-height:0;animation:file-editor-in .32s var(--ease) both;background:#0f0f1ad9;flex-direction:column;flex:1;display:flex;overflow:hidden}@keyframes file-editor-in{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:none}}.file-editor-bar{border-bottom:1px solid var(--line-soft);background:#16213e99;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.file-editor-icon{color:var(--brand);flex-shrink:0}.file-editor-name{min-width:0;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.file-editor-dirty{color:var(--warn);font-size:.9rem;line-height:1}.file-editor .ce{flex:1;min-height:0}.file-editor-status{border-top:1px solid var(--line-soft);color:var(--text-dim);background:#16213e66;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .85rem;font-size:.72rem;display:flex}.fe-ok,.fe-bad,.fe-muted{align-items:center;gap:.4rem;display:inline-flex}.fe-ok{color:var(--ok)}.fe-bad{color:var(--danger)}.fe-muted{color:var(--text-dim)}.fe-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.fe-meta{color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=768px){.files-page{padding:1rem}.file-size{display:none}}.backups-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.backups-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.backups-head h2{margin:0;font-size:1.25rem}.backups-note{color:var(--text-dim);margin:.3rem 0 0;font-size:.82rem}.bbtn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-3);color:var(--text);cursor:pointer;transition:transform var(--t-fast), border-color var(--t), background var(--t), box-shadow var(--t);align-items:center;gap:.4rem;padding:.5rem .9rem;font-family:inherit;font-size:.83rem;font-weight:500;display:inline-flex}.bbtn:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.bbtn:active:not(:disabled){transition:transform var(--t-press);transform:scale(.95)}.bbtn:disabled{opacity:.45;cursor:not-allowed}.bbtn-primary{background:var(--brand);color:var(--brand-ink);border-color:#0000;flex-shrink:0;font-weight:600}.bbtn-primary:hover:not(:disabled){box-shadow:0 5px 16px var(--brand-glow)}.bbtn-icon{padding:.5rem}.bbtn-danger{background:var(--danger);color:#fff;border-color:#0000;font-weight:600}.bbtn-warn{background:var(--warn);color:#3a2c05;border-color:#0000;font-weight:600}.bbtn-danger-ghost:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.bbtn-ghost{color:var(--text-dim);background:0 0}.backups-schedule{border:1px solid var(--line-soft);border-radius:var(--radius);background:#16213e80;max-width:640px;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.schedule-head{align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;display:flex}.schedule-head svg{color:var(--brand)}.switch{cursor:pointer;width:40px;height:22px;margin-left:auto;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch-track{background:var(--line);transition:background var(--t);border-radius:999px;position:absolute;inset:0}.switch-track:before{content:"";width:16px;height:16px;transition:transform var(--t), background var(--t);background:#cdd3df;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--brand)}.switch input:checked+.switch-track:before{background:var(--brand-ink);transform:translate(18px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--brand-glow)}.schedule-fields{transition:opacity var(--t);flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin-top:1rem;display:flex}.schedule-fields[data-enabled=false]{opacity:.5}.field{color:var(--text-dim);flex-direction:column;gap:.3rem;font-size:.75rem;display:flex}.field select,.field input{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:.45rem .6rem;font-family:inherit;font-size:.83rem}.field input{width:90px}.field select:focus,.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.backups-loading,.backups-hint{color:var(--text-dim);font-size:.82rem}.backups-hint{margin-top:.75rem}.backups-error{color:var(--danger);font-size:.88rem}.backups-empty{text-align:center;max-width:460px;color:var(--text-dim);border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:flex}.backups-empty svg{color:var(--text-mute);animation:3.5s ease-in-out infinite backups-float}@keyframes backups-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.backups-empty p{margin:0;font-size:.85rem;line-height:1.5}.backups-unsupported-sub{color:var(--text-mute);font-size:.78rem}.backups-empty code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.backups-list{flex-direction:column;gap:.5rem;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.backup-row{border:1px solid var(--line-soft);background:#16213e80;border-radius:10px;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.backup-icon{color:var(--brand);opacity:.9;flex-shrink:0}.backup-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.backup-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.backup-meta{color:var(--text-mute);font-size:.74rem}.backup-actions,.backup-confirm{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.backup-confirm{animation:backup-pop .18s var(--ease) both}@keyframes backup-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.confirm-q{color:var(--text-dim);font-size:.76rem}@media (width<=560px){.backups-head{flex-direction:column}.backup-name{max-width:40vw}}.settings-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.settings-page h2{margin:0 0 .35rem;font-size:1.25rem}.settings-note{color:var(--text-dim);margin:0 0 1.5rem;font-size:.82rem}.settings-form{max-width:560px}.setting{border:1px solid var(--line-soft);border-radius:var(--radius);background:#16213e80;padding:1.1rem 1.25rem}.setting label{color:var(--text);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.setting label svg{color:var(--brand)}.setting-help{color:var(--text-dim);margin:.4rem 0 .9rem;font-size:.8rem;line-height:1.55}.setting-row{gap:.5rem;display:flex}.setting-row input{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;color:var(--text);transition:border-color var(--t), box-shadow var(--t);flex:1;padding:.55rem .7rem;font-family:inherit;font-size:.85rem}.setting-row input::placeholder{color:var(--text-mute)}.setting-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.btn-save{border-radius:var(--radius-sm);background:var(--brand);color:var(--brand-ink);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t);border:none;flex-shrink:0;padding:.55rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600}.btn-save:hover{box-shadow:0 5px 16px var(--brand-glow);transform:translateY(-1px)}.btn-save:active{transition:transform var(--t-press);transform:scale(.96)}@media (width<=560px){.setting-row{flex-direction:column}}.ac-root{z-index:60;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.ac-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}.ac-box{background:var(--bg-1);border:1px solid var(--line);width:min(22rem,100%);animation:ac-pop var(--t) var(--ease) both;border-radius:12px;flex-direction:column;align-items:center;gap:.9rem;padding:1.15rem 1.25rem 1.25rem;display:flex;position:relative;box-shadow:0 18px 50px #0006}@keyframes ac-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.ac-head{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.ac-head h3{color:var(--text);margin:0;font-size:1rem;font-weight:620}.ac-x{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--t-fast), color var(--t-fast);background:0 0;border:none;place-items:center;padding:.3rem;display:grid}.ac-x:not(:disabled):hover{background:var(--line-soft);color:var(--text)}.ac-x:disabled{opacity:.5;cursor:not-allowed}.ac-viewport{border-radius:var(--radius);border:1px solid var(--line);touch-action:none;cursor:grab;background:#000;position:relative;overflow:hidden}.ac-viewport:active{cursor:grabbing}.ac-img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute}.ac-hint{color:var(--text-mute);text-align:center;margin:0;font-size:.78rem}.ac-zoom{width:100%;color:var(--text-dim);align-items:center;gap:.6rem;display:flex}.ac-zoom input[type=range]{accent-color:var(--brand);flex:1}.ac-foot{justify-content:flex-end;gap:.5rem;width:100%;display:flex}.ac-btn{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t), background-color var(--t);align-items:center;gap:.4rem;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.ac-btn:disabled{opacity:.55;cursor:not-allowed}.ac-btn-primary{background:var(--brand);color:var(--brand-ink);border:none}.ac-btn-primary:not(:disabled):hover{box-shadow:0 5px 16px var(--brand-glow);transform:translateY(-1px)}.ac-btn-ghost{border:1px solid var(--line);color:var(--text-dim);background:0 0}.ac-btn-ghost:not(:disabled):hover{border-color:var(--line-strong);color:var(--text)}.account-page{height:100%;color:var(--text);animation:page-enter .4s var(--ease) both;padding:1.5rem;overflow-y:auto}.account-page h2{margin:0 0 1.25rem;font-size:1.25rem}.acct-identity{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.acct-avatar{border-radius:var(--radius);color:#fff;flex:none;place-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:700;display:grid}.acct-avatar-img{object-fit:cover}.acct-identity-text{flex-direction:column;gap:.3rem;min-width:0;display:flex}.acct-name{font-size:1.1rem;font-weight:700}.acct-sub{color:var(--text-dim);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.acct-role-badge{color:var(--brand);background:#4ecca324;border:1px solid #4ecca34d;border-radius:999px;padding:.1rem .55rem;font-size:.72rem;font-weight:600}.acct-role-badge.is-owner{color:#fbbf24;background:#fbbf2424;border-color:#fbbf2459}.acct-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:#16213e80;max-width:640px;margin-bottom:1.25rem;padding:1.1rem 1.25rem}.acct-card-title{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .8rem;font-size:.95rem;font-weight:600;display:flex}.acct-card-title svg{color:var(--brand)}.acct-help{color:var(--text-dim);margin:0 0 .9rem;font-size:.82rem;line-height:1.55}.acct-hint{color:var(--text-mute);font-size:.82rem}.acct-inline-form{flex-wrap:wrap;gap:.5rem;display:flex}.acct-input{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:140px;color:var(--text);transition:border-color var(--t), box-shadow var(--t);flex:1;margin-bottom:20px;padding:.55rem .7rem;font-family:inherit;font-size:.85rem}.acct-input::placeholder{color:var(--text-mute)}.acct-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.acct-code-input{text-align:center;letter-spacing:.15em;text-transform:uppercase;flex:none;width:8ch;font-weight:700}.acct-btn{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t), background-color var(--t);flex-shrink:0;align-items:center;gap:.4rem;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.acct-btn:disabled{opacity:.55;cursor:not-allowed}.acct-btn-primary{background:var(--brand);color:var(--brand-ink);border:none}.acct-btn-primary:not(:disabled):hover{box-shadow:0 5px 16px var(--brand-glow);transform:translateY(-1px)}.acct-btn-primary:not(:disabled):active{transition:transform var(--t-press);transform:scale(.96)}.acct-btn-ghost{border:1px solid var(--line);color:var(--text-dim);background:0 0}.acct-btn-ghost:not(:disabled):hover{border-color:var(--line-strong);color:var(--text)}.acct-spin{animation:.8s linear infinite acct-spin}@keyframes acct-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.acct-spin{animation:none}}.acct-error{color:var(--danger);margin:.6rem 0 0;font-size:.8rem}.acct-profile-edit{flex-direction:column;gap:1.1rem;display:flex}.acct-avatar-edit{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.acct-avatar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.acct-field{flex-direction:column;gap:.4rem;display:flex}.acct-label{color:var(--text-dim);font-size:.78rem;font-weight:600}.acct-linked{align-items:center;gap:.75rem;display:flex}.acct-mc-head{width:40px;height:40px;image-rendering:pixelated;border-radius:6px;flex:none}.acct-linked-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.acct-mc-name{font-size:.92rem;font-weight:600}.acct-owner-banner{border-radius:var(--radius-sm);color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2440;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.85rem;font-weight:600;display:flex}.acct-perm-zones{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem;display:grid}.acct-perm-zone-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.acct-perm-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.acct-perm-row{color:var(--text-mute);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.acct-perm-row svg{flex:none}.acct-perm-row.is-granted{color:var(--text)}.acct-perm-row.is-granted svg{color:var(--ok)}@media (width<=560px){.acct-inline-form{flex-direction:column}.acct-code-input{width:100%}}.auth-page{background:#1a1a2e;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#16213e;border:1px solid #0f3460;border-radius:12px;width:100%;max-width:400px;padding:40px}.auth-card h1{color:#4ecca3;text-align:center;margin:0 0 8px;font-size:1.6rem}.auth-card p{color:#a0a0b0;text-align:center;margin:0 0 24px;font-size:.9rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:#a0a0b0;font-size:.85rem}.auth-field input{color:#e0e0e0;background:#1a1a2e;border:1px solid #0f3460;border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.auth-field input:focus{border-color:#4ecca3}.auth-submit{color:#1a1a2e;cursor:pointer;background:#4ecca3;border:none;border-radius:8px;margin-top:8px;padding:12px;font-family:inherit;font-size:1rem;font-weight:600;transition:opacity .2s}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#e94560;background:#e945601a;border:1px solid #e94560;border-radius:8px;padding:10px 14px;font-size:.85rem}.auth-link{text-align:center;color:#a0a0b0;margin-top:16px;font-size:.85rem}.auth-link a{color:#4ecca3;text-decoration:none}.auth-link a:hover{text-decoration:underline}.legal-page{background:var(--bg-1);height:100dvh;color:var(--text);justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;overflow-y:auto}.legal-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);width:100%;max-width:760px;margin-bottom:48px;padding:40px 48px 56px}.legal-card h1{color:var(--brand);margin:0 0 4px;font-size:1.7rem}.legal-updated{color:var(--text-mute);margin:0 0 32px;font-size:.85rem}.legal-card h2{color:var(--text);border-bottom:1px solid var(--line-soft);margin:32px 0 12px;padding-bottom:8px;font-size:1.15rem}.legal-card p,.legal-card li{color:var(--text-dim);font-size:.95rem;line-height:1.6}.legal-card ul{margin:8px 0;padding-left:22px}.legal-card li+li{margin-top:6px}.legal-card a{color:var(--brand)}.legal-card strong{color:var(--text)}.legal-crosslink{border-top:1px solid var(--line-soft);color:var(--text-mute);margin-top:40px;padding-top:20px;font-size:.9rem}
