:root{--bg:#0a0b0f;--bg-1:#0e1015;--bg-2:#14161d;--bg-3:#1b1e27;--card:hsla(0,0%,100%,.04);--card-strong:hsla(0,0%,100%,.07);--border:hsla(0,0%,100%,.07);--border-strong:hsla(0,0%,100%,.12);--accent:#ffe600;--accent-dim:rgba(255,230,0,.1);--accent-border:rgba(255,230,0,.22);--on-accent:#111;--accent-2:var(--accent);--accent-3:var(--accent);--accent-glow:rgba(255,230,0,.18);--violet:#7c6fff;--violet-2:#a78bfa;--success:#34d399;--warn:#fbbf24;--danger:#f87171;--info:#60a5fa;--text:#f2f4f8;--text-2:#98a1b3;--text-3:#646e80;--text-4:#646e80;--text1:var(--text);--text2:var(--text-2);--text3:var(--text-3);--text4:var(--text-4);--bg1:var(--bg-1);--bg2:var(--bg-2);--bg3:var(--bg-3);--card-border:var(--border);--bronze:#d09a5e;--silver:#c8cdd6;--gold:#ffe600;--platinum:#e5e4e2;--r-xs:12px;--r-sm:12px;--r-md:16px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--ease-spring:cubic-bezier(0.34,1.4,0.64,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--dur-fast:160ms;--dur:260ms;--dur-slow:420ms;--shadow-1:0 1px 2px rgba(0,0,0,.35);--shadow-2:0 8px 24px rgba(0,0,0,.35);--shadow-3:0 16px 40px rgba(0,0,0,.45);--shadow-glow:none;--safe-top:env(safe-area-inset-top,0px);--safe-bot:env(safe-area-inset-bottom,0px)}*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Inter,system-ui,sans-serif;font-feature-settings:"cv11","kern";background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.011em}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.08);border-radius:999px}.app{max-width:480px;margin:0 auto;padding:16px;padding-top:calc(16px + var(--safe-top));padding-bottom:calc(96px + var(--safe-bot));position:relative}.app,.center{min-height:100dvh}.center{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;padding-top:calc(24px + var(--safe-top));padding-bottom:calc(24px + var(--safe-bot))}.card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease-out)}.card-strong{border-color:var(--border-strong)}.card-accent,.card-strong{background:var(--card-strong)}.card-accent{border-color:var(--accent-border)}.card-danger{border-color:hsla(0,91%,71%,.28)}.card-hover:hover{border-color:var(--border-strong)}.btn{width:100%;padding:15px 22px;border-radius:var(--r-sm);font-weight:600;font-size:15px;letter-spacing:-.01em;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);will-change:transform;font-family:inherit}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){opacity:.92}.btn-secondary{background:var(--card-strong);color:var(--text);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent-border)}.btn-outline:hover:not(:disabled){background:var(--accent-dim)}.btn-danger{background:hsla(0,91%,71%,.12);color:var(--danger);border:1px solid hsla(0,91%,71%,.3)}.input{width:100%;padding:15px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.input:focus{border-color:var(--accent);background:var(--card-strong)}.input::placeholder{color:var(--text-3)}.display{font-size:40px;letter-spacing:-.03em;line-height:1.05}.display,.h1{font-weight:700}.h1{font-size:22px;letter-spacing:-.022em;line-height:1.2}.h2{font-size:17px;letter-spacing:-.016em;margin-bottom:12px}.h2,.h3{font-weight:600}.h3{font-size:15px;letter-spacing:-.012em}.label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.label,.muted{color:var(--text-2)}.muted{font-size:14px}.caption{font-size:12px;color:var(--text-3)}.numeric{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:600;letter-spacing:.02em}.badge-accent{background:var(--accent-dim);color:var(--accent)}.badge-green,.badge-success{background:rgba(52,211,153,.13);color:var(--success)}.badge-violet{background:hsla(0,0%,100%,.07);color:var(--text-2)}.badge-warn{background:rgba(251,191,36,.13);color:var(--warn)}.badge-danger{background:hsla(0,91%,71%,.13);color:var(--danger)}.progress{width:100%;height:5px;background:hsla(0,0%,100%,.07);overflow:hidden;margin-top:12px}.progress,.progress-bar{border-radius:var(--r-pill)}.progress-bar{height:100%;background:var(--accent);transition:width .6s var(--ease-out)}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:900;animation:fadeIn var(--dur) var(--ease-out)}.sheet{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;background:var(--bg-2);border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);border-top:1px solid var(--border-strong);padding:12px 20px calc(24px + var(--safe-bot));z-index:901;animation:sheetUp var(--dur-slow) var(--ease-spring);max-height:90dvh;overflow-y:auto}.sheet-handle{width:36px;height:4px;background:hsla(0,0%,100%,.18);border-radius:999px;margin:4px auto 16px}.modal-backdrop{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn var(--dur) var(--ease-out)}.modal{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--r-xl);padding:28px 24px 24px;text-align:center;max-width:360px;width:100%;animation:floatUp var(--dur-slow) var(--ease-spring) both}.modal-icon{width:64px;height:64px;border-radius:var(--r-md);margin:0 auto 16px;justify-content:center}.list-row,.modal-icon{display:flex;align-items:center}.list-row{width:100%;justify-content:space-between;padding:13px 0;background:none;border:none;cursor:pointer;color:var(--text);font-size:14px;font-family:inherit;border-bottom:1px solid var(--border);text-align:left}.list-row:last-child{border-bottom:none}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;margin-bottom:16px;grid-gap:2px;gap:2px}.seg-item{border:none;cursor:pointer;font-family:inherit;padding:9px 4px;border-radius:9px;font-size:13px;font-weight:600;background:transparent;color:var(--text-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.seg-item.active{background:var(--accent);color:var(--on-accent)}.chip{padding:7px 14px;border-radius:var(--r-pill);border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;white-space:nowrap;background:var(--card-strong);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast)}.chip.active{background:var(--accent);color:var(--on-accent)}.tier-Bronze{color:var(--bronze)}.tier-Silver{color:var(--silver)}.tier-Gold{color:var(--gold)}.tier-Platinum{color:var(--platinum)}.skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.09) 50%,hsla(0,0%,100%,.05));background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes floatUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in{animation:fadeIn var(--dur) var(--ease-out)}.fade-up{animation:fadeUp var(--dur) var(--ease-out) both}.float-up{animation:floatUp var(--dur-slow) var(--ease-spring) both}.spinner{animation:spin 1s linear infinite}.pulse{animation:none}.tap{transition:transform var(--dur-fast) var(--ease-out)}.tap:active{transform:scale(.97)}.hr{height:1px;background:var(--border);margin:12px 0;border:none}.tabbar{position:fixed;left:10px;right:10px;bottom:calc(8px + var(--safe-bot));max-width:460px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;background:rgba(16,18,24,.88);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);z-index:100}.tabbar-item{background:none;border:none;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 0;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:-.01em;transition:color var(--dur-fast) var(--ease-out);position:relative;border-radius:var(--r-sm)}.tabbar-item.active{color:var(--accent)}.tabbar-item:active{transform:scale(.96)}.tabbar-dot{position:absolute;top:6px;right:calc(50% - 16px);width:6px;height:6px;background:var(--danger);border-radius:50%}.row{align-items:center}.col,.row{display:flex}.col{flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.between{justify-content:space-between}.center-x{justify-content:center}.center-y{align-items:center}.grow{flex:1 1;min-width:0}.text-c{text-align:center}.full{width:100%}.hide-scroll::-webkit-scrollbar{display:none}.hide-scroll{scrollbar-width:none}.icon-tile{width:36px;height:36px;border-radius:var(--r-sm);flex-shrink:0;background:hsla(0,0%,100%,.06);display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}