*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #06060b;--s1: #0c0c14;--s2: #12121e;--line: #1a1a2e;--brand: #00b4ff;--accent: #7b61ff;--gold: #ffd700;--green: #00ff88;--yellow: #ffaa00;--red: #ff4444;--paper: #e8e8f0;--mute: #666680;--dim: #44445a;--font: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--grad: linear-gradient(135deg, #00b4ff, #7b61ff);--shadow-brand: 0 4px 30px rgba(0,180,255,.15);--shadow-modal: 0 20px 60px rgba(0,0,0,.5);--shadow-glow: 0 0 40px rgba(0,180,255,.3);--max-w: 1280px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--paper);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}::selection{background:#00b4ff4d}a{color:inherit}.eyebrow{font-size:.625rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--mute)}.score-hero{font-size:3.5rem;font-weight:900;line-height:1}.score-mega{font-size:6rem;font-weight:900;line-height:1}.grad-bg{background:var(--grad)}.grad-text{background:linear-gradient(135deg,#00b4ff,#7b61ff,#00b4ff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradshift 8s linear infinite}@keyframes gradshift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.glass{background:#0c0c14b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.glass-strong{background:#0c0c14d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-primary{display:inline-flex;align-items:center;gap:.4rem;background:var(--grad);color:#fff;font-weight:700;font-size:.875rem;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;font-family:var(--font);text-decoration:none;box-shadow:var(--shadow-brand);transition:transform .2s}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-ghost{display:inline-flex;align-items:center;gap:.4rem;background:var(--s1);border:1px solid var(--line);color:var(--paper);font-weight:700;font-size:.875rem;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-family:var(--font);text-decoration:none;transition:border-color .2s}.btn-ghost:hover{border-color:#00b4ff66}.btn-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;border:1px solid var(--line);background:var(--s1);color:var(--paper);cursor:pointer;font-family:var(--font);transition:all .2s}.btn-pill:hover{border-color:#00b4ff66}.card{background:var(--s1);border:1px solid var(--line);border-radius:12px;transition:transform .2s,border-color .2s}.card-hover:hover{transform:translateY(-2px);border-color:#00b4ff4d;box-shadow:0 -2px 30px #00b4ff14}.tier-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:4px;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.score-bar{display:flex;align-items:center;gap:.5rem}.score-bar .score-bar-label{font-size:.65rem;font-weight:700;color:var(--mute);width:60px;text-transform:uppercase;letter-spacing:.05em}.score-bar .score-bar-track{flex:1;height:4px;background:var(--line);border-radius:100px;overflow:hidden}.score-bar .score-bar-fill{height:100%;border-radius:100px;transition:width .5s ease}.score-bar .score-bar-value{font-size:.75rem;font-weight:700;width:28px;text-align:right;font-variant-numeric:tabular-nums}.pulse-dot{animation:pdot 2s infinite}@keyframes pdot{0%,to{opacity:1}50%{opacity:.4}}.float-y{animation:floaty 4s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bar-fill{animation:barfill .5s ease forwards}@keyframes barfill{0%{width:0}}.tabular-nums{font-variant-numeric:tabular-nums}.modal-enter{animation:modalIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
