/* Orbotriq design system: deep space, orbit cyan, quantum violet, solar orange */
:root{--bg:#050816;--bg2:#0a1030;--panel:rgba(255,255,255,.045);--panel2:rgba(255,255,255,.08);--line:rgba(160,180,255,.16);--ink:#eaf0ff;--mut:#9fb0e3;--cy:#22d3ee;--vi:#8b5cf6;--or:#f97316;--ye:#fbbf24;--ok:#34d399;--warn:#fbbf24;--bad:#fb7185;--r:16px;--font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--head:Sora,Inter,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:hidden}
body{margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font:15px/1.6 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh}
h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.02em;line-height:1.15;margin:0}
a{color:var(--cy);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
.hide{display:none!important}
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;contain:paint;max-width:100vw;background:radial-gradient(1100px 560px at 82% -8%,#1b1f6b66,transparent 70%),var(--bg)}
.aurora i{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(96px);opacity:.34;animation:drift 24s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:#4f46e5;left:-14vmax;top:-12vmax}
.aurora i:nth-child(2){background:#0ea5c6;right:-16vmax;top:12vmax;animation-duration:30s}
.aurora i:nth-child(3){background:#c2410c;left:28vw;bottom:-28vmax;opacity:.16;animation-duration:36s}
@keyframes drift{to{transform:translate(6vmax,4vmax) scale(1.12)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{opacity:.55;transform:scale(1.06)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.glass{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 18px;font:600 14px var(--font);color:#06101f;background:linear-gradient(120deg,var(--cy),#8b7bff);cursor:pointer;transition:transform .15s,box-shadow .2s;text-decoration:none!important;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px -10px #22d3eecc}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{box-shadow:none;border-color:var(--cy)}
.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}
.btn.danger{background:linear-gradient(120deg,#fb7185,#f97316);color:#1a0a08}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
input,select,textarea{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#0a1030cc;color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--cy);outline-offset:0;border-color:transparent}
select option{background:#0a1030}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin:12px 0 5px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grow{flex:1}
.chip{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;background:#22d3ee1f;color:var(--cy);border:1px solid #22d3ee40}
.chip.ok{background:#34d3991f;color:var(--ok);border-color:#34d39940}.chip.warn{background:#fbbf241f;color:var(--warn);border-color:#fbbf2440}.chip.bad{background:#fb71851f;color:var(--bad);border-color:#fb718540}.chip.vi{background:#8b5cf624;color:#c4b5fd;border-color:#8b5cf650}
.mut{color:var(--mut)}.small{font-size:13px}
.msg{min-height:20px;font-size:14px;color:var(--bad);margin-top:10px}.msg.ok{color:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--mut);font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid #a0b4ff14;vertical-align:middle}
tr:hover td{background:#ffffff06}
.scroll{overflow-x:auto}
dialog{border:1px solid var(--line);border-radius:18px;background:#0b1236;color:var(--ink);padding:22px;max-width:min(560px,94vw);width:100%}
dialog::backdrop{background:#02041099;backdrop-filter:blur(4px)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0b1236;border:1px solid var(--line);padding:11px 18px;border-radius:12px;z-index:99;animation:rise .25s;box-shadow:0 12px 40px #000a}
.toast.err{border-color:#fb718580}.toast.ok{border-color:#34d39980}
.bar{height:8px;border-radius:99px;background:#ffffff12;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cy),var(--vi));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.kpi{padding:18px}.kpi small{color:var(--mut);display:block;font-size:13px}.kpi b{font:700 28px var(--head);display:block;margin-top:4px}.kpi span{font-size:12px;color:var(--mut)}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.center{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth{width:min(440px,100%);padding:28px}
.tabs{display:flex;gap:4px;background:#ffffff0a;padding:4px;border-radius:12px;margin:18px 0 6px}
.tabs button{flex:1;border:0;background:none;color:var(--mut);padding:9px;border-radius:9px;font:600 14px var(--font);cursor:pointer}
.tabs button.on{background:#ffffff16;color:var(--ink)}
code,pre{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
pre{background:#030618;border:1px solid var(--line);border-radius:12px;padding:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:6px 0}

.grid>*,.cols>*,.two>*,.row>*{min-width:0}
@media (max-width:640px){.g2,.g3{grid-template-columns:minmax(0,1fr)}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:14px}.kpi b{font-size:22px}.kpi small{font-size:12px}}
/* Tagline under the logo */
.lock{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none}
.tagline{display:block;margin-top:5px;font:500 12px/1 var(--head);letter-spacing:.06em;color:var(--cy);background:linear-gradient(90deg,var(--cy),var(--vi));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.side .lock{margin:2px 8px}.side .lock img.logo{margin:0}
.auth .tagline{margin-top:7px}
@media (max-width:520px){.nav .tagline{font-size:11px;margin-top:4px}}
