*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:oklch(3.5% .005 60);--surface:oklch(7% .005 60);--raised:oklch(11% .005 60);--border:oklch(18% .005 60);--muted:oklch(32% .004 60);--subtle:oklch(48% .003 60);--secondary:oklch(65% .003 60);--primary:oklch(92% .002 60);--white:oklch(97% .001 60);--font-display:"Playfair Display",serif;--font-ui:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--radius:6px;--radius-sm:4px}body{background:var(--bg);color:var(--primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select{font-family:inherit}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);transition:all .15s cubic-bezier(0,0,.2,1);white-space:nowrap}.btn-filled{background:var(--white);color:var(--bg)}.btn-filled:hover{background:var(--primary)}.btn-outlined{background:transparent;border:1px solid var(--border);color:var(--secondary)}.btn-outlined:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);padding:.625rem .875rem;font-size:.9375rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--white)}.input::placeholder{color:var(--muted)}.label{display:block;font-size:.75rem;font-weight:600;color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.375rem}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--white);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:500;border:1px solid var(--border);color:var(--subtle)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.stat-value{font-family:var(--font-mono);font-size:1.875rem;font-weight:500;color:var(--white);line-height:1;margin-bottom:.375rem}.stat-label{font-size:.75rem;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
