:root{--nuit:#13111c;--creuset:#1c1928;--alambic:#262236;--trait:#332e47;--parchemin:#ece6f5;--cendre:#9a93ad;--or:#e8b04b;--or-sombre:#b8862f;--vif:#4fd18b;--braise:#f0616d;--ambre:#f3a73b;--display:"Syne", "Manrope", system-ui, sans-serif;--body:"Manrope", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--radius:14px;--radius-sm:9px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--nuit);color:var(--parchemin);font:15px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--or);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:clamp(26px,3.2vw,34px);line-height:1.1}h2{font-size:20px}h3{font-size:15px;font-family:var(--body);font-weight:700}code,.mono{font-family:var(--mono);font-size:.88em}:focus-visible{outline:2px solid var(--or);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:248px 1fr;min-height:100%;display:grid}.sidebar{border-right:1px solid var(--trait);flex-direction:column;gap:28px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand-name{font-family:var(--display);letter-spacing:.02em;font-size:19px;font-weight:800}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.12em;color:var(--cendre);padding:14px 10px 6px;font-size:11px}.nav a{border-radius:var(--radius-sm);color:var(--cendre);align-items:center;gap:10px;padding:9px 10px;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--creuset);color:var(--parchemin)}.nav a.active{background:var(--alambic);color:var(--parchemin)}.nav a.active svg{color:var(--or)}.me{border-top:1px solid var(--trait);align-items:center;gap:10px;margin-top:auto;padding:10px 8px;display:flex}.me img{border-radius:50%;width:34px;height:34px}.me-name{font-size:14px;font-weight:700}.me-role{color:var(--cendre);font-size:12px}.main{width:100%;max-width:1180px;padding:36px clamp(16px,4vw,48px) 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.page-head p{color:var(--cendre);margin:6px 0 0}.mobile-bar{display:none}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;background:var(--nuit);height:auto;display:none;position:fixed;inset:0}.sidebar.open{display:flex}.mobile-bar{border-bottom:1px solid var(--trait);background:var(--nuit);z-index:30;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.main{padding-top:24px}}.card{background:var(--creuset);border:1px solid var(--trait);border-radius:var(--radius);padding:20px}.btn{font:600 14px var(--body);border-radius:var(--radius-sm);border:1px solid var(--trait);background:var(--alambic);color:var(--parchemin);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 16px;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--cendre)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-gold{background:var(--or);border-color:var(--or);color:#1a1405}.btn-gold:hover:not(:disabled){background:#f0bf62;border-color:#f0bf62}.btn-danger{color:var(--braise)}.btn-danger:hover:not(:disabled){border-color:var(--braise)}.btn-ghost{color:var(--cendre);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--parchemin);border-color:var(--trait)}.btn-sm{padding:6px 11px;font-size:13px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:13px;font-weight:600}.field .hint{color:var(--cendre);font-size:12.5px}.input,select.input,textarea.input{font:14px var(--body);background:var(--nuit);color:var(--parchemin);border:1px solid var(--trait);border-radius:var(--radius-sm);width:100%;padding:10px 12px}.input:focus{border-color:var(--or);outline:none}textarea.input{resize:vertical;min-height:80px;font-family:var(--mono);font-size:13px}.input.mono{font-family:var(--mono);letter-spacing:.03em}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill{background:var(--alambic);color:var(--cendre);border-radius:99px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill-online{color:var(--vif)}.pill-error,.pill-expired{color:var(--braise)}.pill-warn{color:var(--ambre)}.pill-off{color:var(--cendre)}.alert{border-radius:var(--radius-sm);white-space:pre-line;border:1px solid;padding:12px 14px;font-size:14px}.alert-error{color:#ffb3b9;background:#f0616d14;border-color:#f0616d66}.alert-ok{color:#a9f0c8;background:#4fd18b14;border-color:#4fd18b66}.alert-warn{color:#ffd7a0;background:#f3a73b14;border-color:#f3a73b66}.muted{color:var(--cendre)}.small{font-size:13px}.bot-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.bot-card{color:inherit;grid-template-columns:1fr auto;gap:18px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.bot-card:hover{border-color:var(--cendre);text-decoration:none;transform:translateY(-2px)}.bot-id{align-items:center;gap:12px;display:flex}.bot-id img{background:var(--alambic);border-radius:14px;width:46px;height:46px}.bot-name{font-family:var(--display);font-size:18px;font-weight:700;line-height:1.2}.bot-meta{grid-template-columns:auto 1fr;gap:4px 14px;margin-top:16px;font-size:13px;display:grid}.bot-meta dt{color:var(--cendre)}.bot-meta dd{margin:0}.empty{text-align:center;padding:56px 24px}.empty p{color:var(--cendre);max-width:420px;margin:10px auto 22px}.ring{flex-shrink:0;position:relative}.ring svg{display:block}.ring-arc{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}.ring-center{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.ring-value{font-family:var(--mono);font-size:22px;font-weight:500}.ring-unit{color:var(--cendre);margin-top:4px;font-size:11px}.ring.lg .ring-value{font-size:34px}.ring.lg .ring-unit{font-size:12px}.bot-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;display:grid}.bot-hero img{border-radius:22px;width:76px;height:76px}@media (width<=640px){.bot-hero{grid-template-columns:1fr}}.tabs{border-bottom:1px solid var(--trait);gap:4px;margin:28px 0 22px;display:flex;overflow-x:auto}.tabs button{color:var(--cendre);font:600 14px var(--body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.tabs button:hover{color:var(--parchemin)}.tabs button.active{color:var(--parchemin);border-bottom-color:var(--or)}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--creuset);border:1px solid var(--trait);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--cendre);font-size:12px}.stat-value{font-family:var(--mono);margin-top:2px;font-size:18px}.logs{border:1px solid var(--trait);border-radius:var(--radius);font:12.5px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;background:#0c0b12;height:460px;padding:14px;overflow:auto}.logs .err{color:#ff9aa2}.presence-preview{background:var(--nuit);border:1px solid var(--trait);border-radius:var(--radius);align-items:center;gap:12px;padding:14px;display:flex}.presence-preview img{border-radius:50%;width:40px;height:40px}.dot{border:3px solid var(--nuit);border-radius:50%;width:12px;height:12px;margin:26px 0 0 -20px}.dot-online{background:var(--vif)}.dot-idle{background:var(--ambre)}.dot-dnd{background:var(--braise)}.dot-invisible{background:var(--cendre)}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=720px){.two-col{grid-template-columns:1fr}}.table-wrap{border:1px solid var(--trait);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--cendre);background:var(--creuset);border-bottom:1px solid var(--trait);padding:12px 14px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--trait);vertical-align:middle;padding:12px 14px}tr:last-child td{border-bottom:none}td .mini-bot{align-items:center;gap:10px;display:flex}td .mini-bot img{border-radius:9px;width:28px;height:28px}.segmented{background:var(--creuset);border:1px solid var(--trait);border-radius:var(--radius-sm);padding:3px;display:inline-flex}.segmented button{color:var(--cendre);font:600 13px var(--body);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px}.segmented button.active{background:var(--alambic);color:var(--parchemin)}.login{background:radial-gradient(600px 400px at 50% 110%, #e8b04b1a, transparent 70%), var(--nuit);place-items:center;min-height:100%;padding:24px;display:grid}.login-box{text-align:center;width:100%;max-width:400px}.login-box h1{margin:26px 0 10px;font-size:40px}.login-box p{color:var(--cendre);margin:0 0 30px}.btn-discord{color:#fff;background:#5865f2;border-color:#5865f2;padding:12px 22px;font-size:15px}.btn-discord:hover:not(:disabled){background:#4752c4;border-color:#4752c4}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--alambic);border:1px solid var(--trait);border-left:3px solid var(--vif);border-radius:var(--radius-sm);max-width:360px;padding:11px 16px;font-size:14px;animation:.2s ease-out toast-in;box-shadow:0 12px 30px #0006}.toast.error{border-left-color:var(--braise)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.spinner{border:2px solid var(--trait);border-top-color:var(--or);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{place-items:center;padding:60px;display:grid}.keys{font-family:var(--mono);background:var(--nuit);border:1px solid var(--trait);border-radius:var(--radius-sm);padding:12px 14px;font-size:13.5px;line-height:1.8}
