:root{--background: #0e0e0e;--foreground: #f4f1ea;--card: #151515;--card-foreground: #f4f1ea;--popover: #151515;--popover-foreground: #f4f1ea;--primary: #ffa300;--primary-foreground: #0e0e0e;--secondary: #242424;--secondary-foreground: #f4f1ea;--muted: #1b1b1b;--muted-foreground: #8b8b88;--accent: #2b261d;--accent-foreground: #ffa300;--border: #282828;--input: #282828;--ring: #ffa300;--radius: .7rem;--surface: #141414;--surface-2: #191919;--surface-3: #1c1c1c;--line: #242424;--line-strong: #292929;--line-accent: #5b421c;--ink-dim: #8b8b85;--ink-faint: #63635d;--accent-wash: #ffa30016;--ok: #8cc9a4;--ok-wash: #8cc9a415;--danger: #e58c73;--danger-wash: #e58c7315;--info: #78c9b5;--info-wash: #78c9b515;--violet: #bca7eb;--violet-wash: #bca7eb15;--blue: #6e9eff}*{box-sizing:border-box;border-color:var(--border)}body{margin:0;background:var(--background);color:var(--foreground);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}h1,h2,h3,.display{font-family:Space Grotesk;letter-spacing:-.05em}.eyebrow{color:var(--ink-faint);font-size:10px;font-weight:700;letter-spacing:.15em}.btn{display:inline-flex;align-items:center;gap:7px;border-radius:6px;padding:9px 14px;font-size:11px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.15s ease}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background:#ffb52e}.btn-secondary{background:var(--surface-3);border-color:#353535;color:#aaa9a1}.btn-secondary:hover{color:var(--foreground);border-color:#575757}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:9.5px;font-weight:700}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill-accent{color:var(--primary);background:var(--accent-wash)}.pill-ok{color:var(--ok);background:var(--ok-wash)}.pill-danger{color:var(--danger);background:var(--danger-wash)}.pill-info{color:var(--info);background:var(--info-wash)}.pill-neutral{color:#a5a5a0;background:#ffffff0d}.panel{border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);padding:20px}.panel-hover:hover{border-color:var(--line-accent);background:#191713;transform:translateY(-2px)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-row>div{padding:17px 18px 15px 0;border-right:1px solid var(--line)}.stat-row>div:not(:first-child){padding-left:18px}.stat-row>div:last-child{border-right:0}.stat-row span{display:block;color:var(--ink-faint);font-size:9.5px;letter-spacing:.08em}.stat-row strong{display:block;margin-top:8px;font-family:Space Grotesk;font-size:26px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat-row small{display:block;color:var(--ink-faint);font-size:9px;margin-top:3px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:8px;color:#888884;text-decoration:none;font-size:12px;border-left:2px solid transparent}.nav-item:hover{color:var(--foreground);background:var(--surface-2)}.nav-item.active{color:var(--primary);background:#272015;font-weight:600;border-left-color:var(--primary);padding-left:9px}.empty-state{display:grid;place-items:center;gap:6px;padding:40px;border:1px dashed #333;border-radius:11px;color:var(--ink-dim);text-align:center}.empty-state strong{color:#d7d4cd;font-size:12.5px}.empty-state span{font-size:10.5px;color:var(--ink-faint)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;background:var(--primary);color:var(--primary-foreground)}.avatar-muted{background:#292929;color:#a9a9a2}.meter{height:6px;border-radius:10px;background:#2d2b27;overflow:hidden}.meter>i{display:block;height:100%;background:var(--primary);border-radius:inherit}@media(prefers-reduced-motion:no-preference){.rise-in{animation:rise .45s both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}html{-webkit-text-size-adjust:100%}input[type=text],input[type=tel],input[type=password],input[type=email],textarea,select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);padding:.75rem .9rem;font:inherit;font-size:16px;min-height:44px}input::placeholder{color:var(--ink-faint)}input.ng-invalid.ng-touched{border-color:var(--danger)}label.field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-dim);margin-bottom:6px}.field-error{color:var(--danger);font-size:11px;margin-top:6px}.btn-danger{background:var(--danger-wash);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover{background:var(--danger);color:var(--background)}.btn{min-height:44px;min-width:44px}.btn-block{width:100%;justify-content:center}@media(hover:hover)and (pointer:fine){.panel-hover:hover{transform:translateY(-2px)}}.panel-hover{transition:transform .15s ease,background .15s ease,border-color .15s ease}.app-shell{min-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) env(safe-area-inset-right) max(1rem,env(safe-area-inset-bottom)) env(safe-area-inset-left)}.app-shell--guest{max-width:480px;margin-inline:auto;padding-inline:1rem}.display-number{font-family:Space Grotesk;font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(1.75rem,8vw,2.5rem);font-weight:600}.rank-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .25rem;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:none}.rank-row__pos{width:28px;flex:none;text-align:center;font-family:Space Grotesk;font-weight:600;color:var(--ink-faint);font-variant-numeric:tabular-nums}.rank-row--top .rank-row__pos{color:var(--primary)}.rank-row__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.rank-row__points{flex:none;font-family:Space Grotesk;font-weight:600;font-variant-numeric:tabular-nums;font-size:16px;color:var(--foreground)}.rank-row--top .rank-row__points{color:var(--primary)}.nav-strip{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.nav-strip .nav-item{flex:none;min-height:44px;min-width:64px;justify-content:center}@media(min-width:640px){.panel{padding:1.5rem}}
