:root{--bg:#070b16;--bg-raise:#0b1120;--panel:#94a3b80e;--panel-strong:#94a3b817;--stroke:#94a3b824;--stroke-soft:#94a3b814;--text:#e6ecf7;--text-dim:#8d99b2;--text-faint:#5b6780;--accent-a:#22d3ee;--accent-b:#a78bfa;--accent-grad:linear-gradient(135deg, #22d3ee 0%, #60a5fa 50%, #a78bfa 100%);--good:#34d399;--warn:#fbbf24;--bad:#fb7185;--mono:"Cascadia Code", "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--sans:"Segoe UI Variable Display", "Segoe UI", Inter, system-ui, -apple-system, sans-serif;--radius:14px;--shadow:0 20px 60px #0206148c}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1100px 500px at 85% -10%, #a78bfa21, transparent 60%), radial-gradient(900px 500px at -10% 15%, #22d3ee1c, transparent 55%), radial-gradient(700px 700px at 50% 120%, #60a5fa14, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:14px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#94a3b809 1px,#0000 1px),linear-gradient(90deg,#94a3b809 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000 0%,#0000 75%);mask-image:radial-gradient(90% 70% at 50% 0,#000 0%,#0000 75%)}::selection{background:#22d3ee4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#94a3b82e;border-radius:8px}::-webkit-scrollbar-track{background:0 0}.shell{z-index:1;grid-template-columns:232px 1fr;min-height:100vh;display:grid;position:relative}.sidebar{border-right:1px solid var(--stroke-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#0b1120b3,#070b1666);flex-direction:column;gap:4px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;padding:4px 10px 20px;display:flex}.brand-mark{background:var(--accent-grad);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 18px #38bdf859}.brand-mark svg{stroke:#06121f;stroke-width:3px;fill:none;stroke-linecap:round;width:18px;height:18px}.brand-name{letter-spacing:.2px;font-size:15px;font-weight:650}.brand-sub{color:var(--text-faint);letter-spacing:1.6px;text-transform:uppercase;font-size:10.5px}.nav-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-faint);padding:14px 12px 6px;font-size:10.5px}.nav-item{color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:13.5px;font-weight:480;transition:color .15s,background .15s,border-color .15s;display:flex}.nav-item svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;width:17px;height:17px}.nav-item:hover{color:var(--text);background:var(--panel)}.nav-item.active{color:var(--text);background:linear-gradient(135deg,#22d3ee1f,#a78bfa1a);border-color:#60a5fa38}.sidebar-foot{border-top:1px solid var(--stroke-soft);margin-top:auto;padding:10px 12px}.user-chip{align-items:center;gap:9px;padding:8px 0 2px;display:flex}.user-dot{background:var(--accent-grad);color:#06121f;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.user-mail{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.main{min-width:0;padding:26px 34px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-title{letter-spacing:-.2px;font-size:22px;font-weight:650}.page-desc{color:var(--text-dim);margin-top:3px;font-size:13px}.card{background:linear-gradient(180deg, var(--panel-strong), var(--panel));border:1px solid var(--stroke);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card-title{letter-spacing:1.1px;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-size:12px;font-weight:600}.grid{gap:14px;display:grid}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (width<=1180px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:1fr}}.stat-value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650}.stat-label{color:var(--text-dim);margin-top:2px;font-size:12px}.stat-hint{color:var(--text-faint);margin-top:6px;font-size:11px}.badge{letter-spacing:.3px;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.good{color:var(--good);background:#34d3991a;border:1px solid #34d39940}.badge.warn{color:var(--warn);background:#fbbf241a;border:1px solid #fbbf2440}.badge.bad{color:var(--bad);background:#fb71851a;border:1px solid #fb718540}.badge.dim{color:var(--text-dim);background:var(--panel);border:1px solid var(--stroke)}.badge.live:before{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.btn{cursor:pointer;border:1px solid var(--stroke);background:var(--panel-strong);color:var(--text);border-radius:10px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:transform .12s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#94a3b824;border-color:#94a3b847}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent-grad);color:#071018;border:none;box-shadow:0 4px 20px #38bdf84d}.btn.primary:hover{filter:brightness(1.06);box-shadow:0 6px 26px #38bdf873}.btn.danger{color:var(--bad);background:#fb718514;border-color:#fb71854d}.btn.danger:hover{background:#fb718529}.btn.ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--text);background:var(--panel)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.input,select.input{width:100%;color:var(--text);border:1px solid var(--stroke);background:#070b1699;border-radius:10px;outline:none;padding:9px 13px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:#60a5fa8c;box-shadow:0 0 0 3px #60a5fa24}.input::placeholder{color:var(--text-faint)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field-label{color:var(--text-dim);font-size:12px;font-weight:600}.field-hint{color:var(--text-faint);font-size:11.5px}.mono{font-family:var(--mono);font-size:12.5px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--stroke);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--stroke-soft);vertical-align:middle;padding:11px 14px;font-size:13px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#94a3b80b}.table tbody tr:last-child td{border-bottom:none}.chip{font-family:var(--mono);color:#93c5fd;background:#60a5fa1f;border:1px solid #60a5fa38;border-radius:6px;margin:1px 3px 1px 0;padding:2px 8px;font-size:11px;display:inline-block}.login-wrap{z-index:1;place-items:center;min-height:100vh;padding:20px;display:grid;position:relative}.login-card{width:400px;max-width:100%;padding:38px 36px 32px;animation:.45s cubic-bezier(.2,.9,.3,1) rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.99)}to{opacity:1;transform:none}}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;display:flex}.login-brand .brand-mark{border-radius:14px;width:52px;height:52px}.login-brand .brand-mark svg{width:26px;height:26px}.login-title{font-size:19px;font-weight:650}.login-sub{color:var(--text-dim);font-size:13px}.login-error{color:var(--bad);background:#fb718517;border:1px solid #fb718540;border-radius:10px;margin-bottom:14px;padding:9px 13px;font-size:12.5px;animation:.25s rise}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#04070fb8;place-items:center;padding:20px;animation:.18s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:480px;max-width:100%;max-height:88vh;padding:26px 26px 22px;animation:.3s cubic-bezier(.2,.9,.3,1) rise;overflow:auto}.modal-title{margin-bottom:4px;font-size:16px;font-weight:650}.modal-sub{color:var(--text-dim);margin-bottom:18px;font-size:12.5px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.secret-reveal{background:#34d3990f;border:1px solid #34d3994d;border-radius:12px;margin:14px 0;padding:16px}.secret-value{font-family:var(--mono);word-break:break-all;border:1px solid var(--stroke);-webkit-user-select:all;user-select:all;background:#04070f99;border-radius:8px;margin:10px 0;padding:10px 12px;font-size:12px}.secret-warning{color:var(--warn);align-items:flex-start;gap:8px;font-size:12px;display:flex}.toasts{z-index:80;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:22px;right:22px}.toast{box-shadow:var(--shadow);border:1px solid var(--stroke);background:var(--bg-raise);border-radius:12px;align-items:center;gap:9px;padding:12px 18px;font-size:13px;animation:.3s cubic-bezier(.2,.9,.3,1) slide-in;display:flex}.toast.good{border-color:#34d39959}.toast.good b{color:var(--good)}.toast.bad{border-color:#fb718559}.toast.bad b{color:var(--bad)}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.skeleton{background:linear-gradient(90deg, var(--panel) 25%, var(--panel-strong) 50%, var(--panel) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.event-row{animation:.4s cubic-bezier(.2,.9,.3,1) event-in}@keyframes event-in{0%{opacity:0;background:#22d3ee1f;transform:translateY(-6px)}to{opacity:1;transform:none}}.empty{text-align:center;color:var(--text-faint);padding:44px 20px;font-size:13px}.empty svg{width:34px;height:34px;stroke:var(--text-faint);fill:none;stroke-width:1.4px;opacity:.7;margin-bottom:10px}.spark{width:100%;height:46px}.kv{grid-template-columns:190px 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--text-dim)}.kv dd{font-family:var(--mono);word-break:break-all;font-size:12.5px}.divider{background:var(--stroke-soft);height:1px;margin:16px 0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.copy-ok{color:var(--good);font-size:11.5px}.doc-layout{grid-template-columns:264px 1fr;align-items:start;gap:16px;display:grid}@media (width<=1080px){.doc-layout{grid-template-columns:1fr}}.doc-pick{border:1px solid var(--stroke);background:var(--panel);cursor:pointer;text-align:left;width:100%;color:var(--text);border-radius:12px;margin-bottom:10px;padding:14px;font-family:inherit;transition:border-color .15s,background .15s,transform .12s}.doc-pick:hover{background:var(--panel-strong);border-color:#94a3b842}.doc-pick.active{background:linear-gradient(135deg,#22d3ee1c,#a78bfa17);border-color:#60a5fa73}.doc-pick-title{align-items:center;gap:8px;font-size:13.5px;font-weight:620;display:flex}.doc-pick-title svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.doc-pick-sum{color:var(--text-dim);margin-top:5px;font-size:11.5px;line-height:1.45}.doc-body{max-width:900px;padding:30px 38px 40px}.md{color:#cfd8e8;font-size:14px;line-height:1.68}.md-h1{letter-spacing:-.3px;color:var(--text);margin:0 0 6px;font-size:24px;font-weight:660}.md-h2{color:var(--text);border-top:1px solid var(--stroke-soft);margin:32px 0 10px;padding-top:16px;font-size:17px;font-weight:640}.md-h1+.md-h2{border-top:none;margin-top:22px;padding-top:0}.md-h3{color:var(--text);margin:22px 0 8px;font-size:14.5px;font-weight:640}.md-h4{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 6px;font-size:13px;font-weight:640}.md-p{margin:10px 0}.md-hr{border:none;border-top:1px solid var(--stroke-soft);margin:26px 0}.md-list{margin:10px 0 10px 20px}.md-list li{margin:5px 0;padding-left:3px}.md-list li::marker{color:var(--accent-a)}.md-code{font-family:var(--mono);color:#a5c9ff;white-space:nowrap;background:#60a5fa1c;border:1px solid #60a5fa2e;border-radius:5px;padding:1px 5px;font-size:12px}.md-link{color:var(--accent-a);border-bottom:1px solid #22d3ee59;text-decoration:none}.md-link:hover{border-bottom-color:var(--accent-a)}.md-ref{color:var(--text);border-bottom:1px dotted var(--text-faint)}.md-quote{border-left:3px solid var(--warn);color:#e8dcc0;background:#fbbf2412;border-radius:0 10px 10px 0;margin:14px 0;padding:12px 16px;font-size:13.5px}.md-table-wrap{border:1px solid var(--stroke);border-radius:10px;margin:14px 0;overflow-x:auto}.md-table{font-size:13px}.md-table th{background:#94a3b80d}.md-table td{vertical-align:top}.md-tasks{margin:12px 0;list-style:none}.md-tasks li{align-items:flex-start;gap:10px;margin:7px 0;display:flex}.md-box{border:1.5px solid var(--stroke);border-radius:5px;flex:none;place-items:center;width:16px;height:16px;margin-top:3px;display:grid}.md-box.done{background:#34d39929;border-color:#34d39980}.md-box svg{width:11px;height:11px;stroke:var(--good);fill:none;stroke-width:3px}.md-pre{border:1px solid var(--stroke);background:#04070fa8;border-radius:11px;margin:14px 0;overflow:hidden}.md-pre-head{border-bottom:1px solid var(--stroke-soft);background:#94a3b80b;justify-content:space-between;align-items:center;padding:6px 8px 6px 14px;display:flex}.md-lang{font-family:var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--text-faint);font-size:10.5px}.md-copy{padding:4px 10px;font-size:11.5px}.md-pre pre{padding:14px 16px;overflow-x:auto}.md-pre code{font-family:var(--mono);color:#b9c8e0;white-space:pre;font-size:12.2px;line-height:1.62}
