:root{--bg: #070710;--bg2: #0b0b16;--panel: #0e0e1a;--card: #12121f;--card2: #0e0e18;--border: rgba(140, 160, 220, .12);--border-soft: rgba(255, 255, 255, .06);--text: #eaf1f6;--dim: #9aa6b8;--faint: #5a6377;--cyan: #19e5f0;--pink: #ff1e6e;--purple: #a24be0;--os: #5bc8e8}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 70% -10%,rgba(255,30,110,.1),transparent 60%),radial-gradient(1000px 500px at 0% 0%,rgba(25,229,240,.1),transparent 55%),var(--bg);background-attachment:fixed}a{color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#8ca0dc2e;border-radius:8px}::-webkit-scrollbar-track{background:transparent}input::placeholder,textarea::placeholder{color:var(--faint)}.input{width:100%;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:11px 13px;color:var(--text);font-size:14px;font-family:inherit;outline:none}.input:focus{border-color:#19e5f087;box-shadow:0 0 0 3px #19e5f01f}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:700;font-family:inherit;letter-spacing:.2px;cursor:pointer;text-decoration:none;transition:filter .15s ease,transform .12s ease,border-color .15s ease,background .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed;filter:none;transform:none}.btn-primary{background:linear-gradient(90deg,var(--cyan),var(--pink));color:#06121a;font-weight:800}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.97)}.btn-ghost{background:#ffffff0a;color:var(--text);border:1px solid var(--border);font-weight:600}.btn-ghost:hover{border-color:#fff3;background:#ffffff12}.card{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--border);border-radius:15px;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-4px);border-color:#19e5f073;box-shadow:0 14px 40px -12px #19e5f040,0 4px 14px #0006}.accent-line{height:3px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink))}.badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:3px 9px;border-radius:999px;white-space:nowrap}.clamp2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link{transition:color .15s ease}.link:hover{color:var(--cyan)!important}table{font-family:inherit}.fade{animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.breathe{transform-box:fill-box;transform-origin:center;animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(.94)}50%{transform:scale(1)}}.hexpulse{animation:hexpulse 3s ease-in-out infinite}@keyframes hexpulse{0%,to{opacity:.18}50%{opacity:.5}}.flow{stroke-dasharray:16 120;animation:flow 1.5s linear infinite}@keyframes flow{to{stroke-dashoffset:-136}}.nodeC{animation:nodeC 1.6s ease-in-out infinite}@keyframes nodeC{0%,to{r:5.6;opacity:.65}50%{r:7.4;opacity:1}}.nodeP{animation:nodeP 1.6s ease-in-out infinite .35s}@keyframes nodeP{0%,to{r:8.4;opacity:.65}50%{r:10.4;opacity:1}}.dots:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){.fade,.breathe,.hexpulse,.flow,.nodeC,.nodeP,.dots:after{animation:none!important}}
