:root{--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-300:#67e8f9;--cyan-400:#22e5f7;--cyan-500:#15e0f2;--cyan-600:#08aecb;--cyan-700:#0e7e97;--cyan-800:#155366;--mag-100:#ffd3e6;--mag-200:#ffa6cc;--mag-300:#ff7db4;--mag-400:#ff529f;--mag-500:#ff2e88;--mag-600:#e81670;--mag-700:#b30f55;--mag-800:#7a0a39;--lime-100:#f1fecf;--lime-200:#e4fb9e;--lime-300:#d6fb6e;--lime-400:#cef94e;--lime-500:#c6f73a;--lime-600:#a9de1e;--lime-700:#7e9f15;--lime-800:#566d10;--violet-300:#d6b4ff;--violet-400:#c188ff;--violet-500:#b45cff;--violet-600:#9b33f0;--violet-700:#7a1fc2;--ink-950:#05070f;--ink-900:#080b16;--ink-850:#0c1020;--ink-800:#11162a;--ink-750:#161d33;--ink-700:#1c2440;--ink-650:#232c4d;--ink-600:#2c375c;--ink-500:#3a4670;--ink-400:#586089;--text-1:#eef2ff;--text-2:#aeb7d6;--text-3:#6f7aa0;--success:#2ee6a0;--warning:#ffc53d;--danger:#ff4d5e;--info:#45a6ff;--surface-0:rgba(12,16,32,.55);--surface-1:rgba(22,29,51,.55);--surface-2:rgba(34,44,77,.50);--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.16);--grad-cyan:linear-gradient(135deg,#22e5f7,#0a8fe0);--grad-magenta:linear-gradient(135deg,#ff53a8,#b45cff);--grad-lime:linear-gradient(135deg,#defb7e,#a9de1e);--grad-aurora:linear-gradient(120deg,#15e0f2,#b45cff 50%,#ff2e88);--grad-surface:linear-gradient(160deg,rgba(40,52,92,.45),rgba(10,14,26,.25));--glow-cyan:0 0 0 1px rgba(21,224,242,.35),0 0 22px rgba(21,224,242,.40),0 0 46px rgba(21,224,242,.18);--glow-mag:0 0 0 1px rgba(255,46,136,.35),0 0 22px rgba(255,46,136,.40),0 0 46px rgba(255,46,136,.18);--glow-lime:0 0 0 1px rgba(198,247,58,.30),0 0 22px rgba(198,247,58,.38),0 0 46px rgba(198,247,58,.16);--glow-violet:0 0 0 1px rgba(180,92,255,.35),0 0 22px rgba(180,92,255,.40),0 0 46px rgba(180,92,255,.18);--shadow-dark:0 10px 30px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);--focus-ring:0 0 0 3px rgba(21,224,242,.40);--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-2xl:32px;--r-pill:999px;--font-display:"Chakra Petch",sans-serif;--font-body:"Manrope",sans-serif;--font-mono:"JetBrains Mono",monospace;--fs-display:clamp(2.5rem,6vw,4rem);--fs-h1:2.25rem;--fs-h2:1.75rem;--fs-h3:1.375rem;--fs-h4:1.125rem;--fs-body-lg:1.125rem;--fs-body:1rem;--fs-sm:.875rem;--fs-caption:.75rem;--fs-overline:.7rem;--lh-tight:1.1;--lh-snug:1.3;--lh-normal:1.6;--tracking-tight:-.02em;--tracking-overline:.2em;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--dur-fast:150ms;--dur:220ms;--dur-slow:300ms;--ease:cubic-bezier(.2,.7,.2,1);--container:1180px}.cv{position:relative}.cv,.cv button,.cv input,.cv select,.cv textarea{font-family:var(--font-body)}.cv{background:var(--ink-950);color:var(--text-1);min-height:100vh;isolation:isolate}.cv ::selection{background:rgba(21,224,242,.3);color:#fff}.cv h1,.cv h2,.cv h3,.cv h4{font-family:var(--font-display);letter-spacing:var(--tracking-tight)}.cv a{color:inherit;text-decoration:none}.cv :focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.cv-bg-fx{z-index:-2;background:radial-gradient(60% 50% at 12% 4%,rgba(21,224,242,.16),transparent 60%),radial-gradient(55% 50% at 92% 22%,rgba(180,92,255,.15),transparent 60%),radial-gradient(60% 55% at 78% 96%,rgba(255,46,136,.13),transparent 60%),radial-gradient(50% 45% at 30% 88%,rgba(198,247,58,.07),transparent 60%),var(--ink-950)}.cv-bg-fx,.cv-bg-grid{position:fixed;inset:0;pointer-events:none}.cv-bg-grid{z-index:-1;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 90%);mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 90%)}.cv .overline{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--cyan-400)}.cv .text-aurora{background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.cv .glass{background:var(--surface-1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-dark),inset 0 1px 0 rgba(255,255,255,.06)}.cv .btn{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:.92rem;cursor:pointer;padding:.7rem 1.4rem;border-radius:var(--r-pill);color:var(--ink-950);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.01em;border:none;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease),opacity var(--dur) var(--ease)}.cv .btn:active{transform:translateY(1px) scale(.98)}.cv .btn-primary{background:var(--grad-cyan);box-shadow:var(--glow-cyan)}.cv .btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(21,224,242,.5),0 0 30px rgba(21,224,242,.6),0 0 60px rgba(21,224,242,.3)}.cv .btn-secondary{background:var(--grad-magenta);color:#fff;box-shadow:var(--glow-mag)}.cv .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,46,136,.5),0 0 30px rgba(255,46,136,.6),0 0 60px rgba(255,46,136,.3)}.cv .btn-tertiary{background:var(--grad-lime);box-shadow:var(--glow-lime)}.cv .btn-tertiary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(198,247,58,.5),0 0 30px rgba(198,247,58,.55),0 0 60px rgba(198,247,58,.28)}.cv .btn-ghost{background:rgba(21,224,242,.06);color:var(--cyan-300);border:1px solid rgba(21,224,242,.4);box-shadow:inset 0 0 16px rgba(21,224,242,.08)}.cv .btn-ghost:hover{background:rgba(21,224,242,.14);box-shadow:0 0 18px rgba(21,224,242,.25),inset 0 0 16px rgba(21,224,242,.12)}.cv .btn-neutral{background:var(--ink-700);color:var(--text-1);border:1px solid var(--line-strong)}.cv .btn-neutral:hover{background:var(--ink-650);border-color:var(--ink-500)}.cv .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:var(--ink-700)!important;color:var(--text-3)!important;border:1px solid var(--line)!important}.cv .btn-sm{padding:.45rem 1rem;font-size:.82rem}.cv .btn-lg{padding:.95rem 1.9rem;font-size:1.02rem}.cv .btn .spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.25);border-top:2px solid var(--ink-950);border-radius:50%;animation:cv-spin .7s linear infinite}.cv .btn-ghost .spinner,.cv .btn-neutral .spinner{border:2px solid rgba(255,255,255,.25);border-top:2px solid var(--text-1)}@keyframes cv-spin{to{transform:rotate(1turn)}}.cv .badge-pill{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:.74rem;letter-spacing:.02em;padding:.3rem .7rem;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:.4rem}.cv .bp-cyan{background:rgba(21,224,242,.14);color:var(--cyan-300);border:1px solid rgba(21,224,242,.4)}.cv .bp-mag{background:rgba(255,46,136,.14);color:var(--mag-300);border:1px solid rgba(255,46,136,.4)}.cv .bp-lime{background:rgba(198,247,58,.14);color:var(--lime-400);border:1px solid rgba(198,247,58,.4)}.cv .bp-solid{background:var(--grad-cyan);color:var(--ink-950);box-shadow:0 0 14px rgba(21,224,242,.4)}.cv .bp-success{background:rgba(46,230,160,.14);color:var(--success);border:1px solid rgba(46,230,160,.4)}.cv .bp-warning{background:rgba(255,197,61,.14);color:var(--warning);border:1px solid rgba(255,197,61,.4)}.cv .bp-danger{background:rgba(255,77,94,.14);color:var(--danger);border:1px solid rgba(255,77,94,.4)}.cv .field label{display:block;font-size:.78rem;color:var(--text-2);margin-bottom:.4rem;font-weight:var(--fw-medium)}.cv .inp{width:100%;background:var(--ink-800);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:.7rem .9rem;color:var(--text-1);font-family:var(--font-body);font-size:.92rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.cv .inp::placeholder{color:var(--text-3)}.cv .inp:focus{outline:none;border-color:var(--cyan-500);box-shadow:var(--focus-ring);background:rgba(21,224,242,.04)}.cv .inp.err{border-color:var(--danger);box-shadow:0 0 0 3px rgba(255,77,94,.25)}.cv .field .hint{font-size:.72rem;color:var(--text-3);margin-top:.35rem}.cv .field .hint.err{color:var(--danger)}.cv .banner-warning{background:rgba(255,197,61,.12);border-bottom:1px solid rgba(255,197,61,.35);color:var(--warning)}