*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-shell{max-width:560px;margin:0 auto;padding:16px 16px calc(84px + env(safe-area-inset-bottom, 0px))}a{color:inherit;text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.listing-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .08s ease}.listing-card:active{transform:scale(.985)}.listing-card-body{display:flex;flex-direction:column;gap:8px;padding:12px}.listing-card-badges{display:flex;flex-wrap:wrap;gap:6px}.thumb{aspect-ratio:1/1}.hero,.thumb{display:block;width:100%;object-fit:cover;background:var(--surface-2)}.hero{aspect-ratio:4/3;border-radius:14px}.hero-placeholder,.thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;background:var(--surface-2);color:var(--muted)}.thumb-placeholder{aspect-ratio:1/1;font-size:34px}.hero-placeholder{aspect-ratio:4/3;border-radius:14px;font-size:56px}.clamp-1{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.title{font-size:16px;font-weight:600}.muted{color:var(--muted);font-size:13px}.price{font-weight:700;white-space:nowrap;color:var(--stars)}:root[data-tg-theme=light] .price{color:#b07d05}.wordmark-accent{color:var(--brand-2)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:transform .06s ease,opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-stars{background:var(--stars);color:var(--stars-ink)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-danger{background:rgba(255,90,95,.16);border:1px solid rgba(255,90,95,.3)}.btn-danger,.error{color:var(--danger)}.error{font-size:13px;margin-top:8px}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0 8px 16px;border-left:2px solid var(--border);position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--brand-2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1.2s ease-in-out infinite}.skel-thumb{width:100%;aspect-ratio:1/1}.skel-line,.skel-thumb{background:var(--surface-2)}.skel-line{height:12px;border-radius:6px}.empty-state{text-align:center;padding:44px 16px}.empty-state .glyph{font-size:44px;line-height:1}.celebrate{text-align:center;padding:16px;margin-bottom:12px;border-radius:14px;border:1px solid rgba(176,107,255,.35);background:rgba(176,107,255,.12)}.celebrate .glyph{font-size:36px;line-height:1}.status-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--surface-2);font-size:13px;font-weight:600}input.field,select.field,textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit;resize:vertical}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.app-header h1{font-size:20px;font-weight:700;margin:0}.balance-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-weight:600;font-size:14px;white-space:nowrap}.balance-chip .diamond{color:var(--stars)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;max-width:560px;margin:0 auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1 1;min-width:0;padding:6px 2px;color:var(--muted);font-size:11px;font-weight:600}.bottom-nav-item.is-active{color:var(--brand-2)}.bottom-nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-glyph{font-size:20px;line-height:1;filter:grayscale(.85) opacity(.55);transition:transform .08s ease,filter .12s ease}.bottom-nav-item.is-active .bottom-nav-glyph{filter:none;transform:translateY(-1px) scale(1.08)}@media (max-width:360px){.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav-item{font-size:10px}.bottom-nav-glyph{font-size:18px}}.reveal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,#000 62%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:reveal-fade .18s ease}.reveal-stage{width:100%;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px 20px 20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.45)}.reveal-box{font-size:72px;line-height:1;display:inline-block;filter:drop-shadow(0 6px 16px rgba(124,92,255,.4))}.reveal-box.is-shaking{animation:reveal-shake .5s ease-in-out infinite}.reveal-box.is-open{animation:reveal-pop .45s cubic-bezier(.2,1.4,.4,1) both}.reveal-box.is-rest{filter:none;opacity:.85}.reveal-prize{font-size:44px;font-weight:800;margin-top:8px;color:var(--text);animation:reveal-pop .5s cubic-bezier(.2,1.4,.4,1) both}.reveal-cap{color:var(--muted);margin-top:6px}.reveal-tiers{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.reveal-tier{font-size:11px;font-weight:700;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 8px}.reveal-tier.rare{color:var(--stars);border-color:color-mix(in srgb,var(--stars) 50%,var(--border))}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes reveal-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg) scale(1.04)}40%{transform:rotate(9deg) scale(1.04)}60%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}@keyframes reveal-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.reveal-box.is-open,.reveal-box.is-shaking,.reveal-overlay,.reveal-prize{animation:none}}.explore-search{display:flex;gap:8px;margin-bottom:14px}.explore-search .field{flex:1 1}.explore-list{display:flex;flex-direction:column;gap:10px}.explore-card{cursor:pointer}.explore-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.explore-title{font-weight:800;font-size:15px}.explore-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12.5px}.market-card{display:block}.market-cat{font-size:26px;line-height:1}.status-pill.status-open{background:rgba(52,199,89,.16);color:var(--verified)}.option-list{display:flex;flex-direction:column;gap:10px;margin:14px 0}.option-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px;font-weight:600;cursor:pointer;transition:transform .06s ease,border-color .12s ease,background .12s ease}.option-btn:not(:disabled):active{transform:scale(.99)}.option-btn.is-selected{border-color:var(--brand-2);background:rgba(176,107,255,.14)}.option-btn.is-winner{border-color:var(--verified);background:rgba(52,199,89,.14)}.option-btn:disabled{cursor:not-allowed;opacity:.7}.option-key{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--surface);font-size:13px;color:var(--muted)}.option-key,.segmented{border:1px solid var(--border)}.segmented{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:12px;margin-bottom:14px}.segmented button{flex:1 1;padding:8px 10px;border:none;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.segmented button.is-active{background:var(--surface);color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.badge-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.badge-em{font-size:15px;line-height:1}.badge-lab{font-size:12.5px;font-weight:700;color:var(--text)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}.stat-value{font-size:24px;font-weight:700}.stat-label{color:var(--muted);font-size:12px;margin-top:2px}.rank-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.rank-row:last-child{border-bottom:none}.rank-row.is-me{background:rgba(176,107,255,.1);border-radius:10px}.rank-num{width:28px;text-align:center;font-weight:700;color:var(--muted)}.rank-num.top{color:var(--stars)}.rank-name{flex:1 1;font-weight:600}.rank-pts{font-weight:700;color:var(--brand-2)}.pack-credits{font-size:20px;font-weight:700}.success-note{color:var(--verified);font-size:13px;margin-top:8px}.field-label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}.app-header .brand{display:flex;align-items:center;gap:6px;font-weight:900;letter-spacing:-.3px}.header-chips{display:flex;align-items:center;gap:7px}.streak-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-weight:800;font-size:13px}.streak-chip .flame{color:var(--fire)}.balance-chip .diamond,.streak-chip .flame{font-size:13px}.gradient-hero{position:relative;overflow:hidden;border-radius:20px;padding:16px;margin-bottom:14px;color:#fff;background:var(--grad);box-shadow:0 14px 30px rgba(124,92,255,.32)}.gradient-hero.alt{background:var(--grad2)}.gradient-hero .hero-glyph{position:absolute;right:-8px;bottom:-18px;font-size:92px;opacity:.18;pointer-events:none}.gradient-hero .hero-lab{font-size:11px;font-weight:800;letter-spacing:1.4px;opacity:.92}.gradient-hero h3{margin:6px 0 2px;font-size:19px}.gradient-hero p{margin:0;font-size:12.5px;opacity:.92}.hero-cta{position:relative;margin-top:12px;width:100%;padding:11px 14px;border:none;border-radius:12px;background:#0b1118;color:#fff;font-weight:800;font-size:13px;cursor:pointer}.hero-cta:disabled{opacity:.65;cursor:not-allowed}.btn-gradient{background:var(--grad);color:#fff}.ob-steps{list-style:none;margin:4px 0 0;padding:0}.ob-step{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:13px;margin-bottom:10px}.ob-step .ob-n{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff;background:var(--grad)}.ob-step.done .ob-n{background:var(--verified);color:#052013}.ob-step .ob-t{font-weight:800;font-size:14px}.ob-step .ob-s{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.45}.ob-grant{text-align:center;border:1px solid var(--verified);border-radius:14px;padding:14px;margin:14px 0;background:rgba(67,209,127,.1);background:color-mix(in srgb,var(--verified) 12%,transparent)}.ob-grant-amt{font-size:26px;font-weight:900;color:var(--verified)}.ob-grant-lab{margin-top:2px}.ob-grant-lab,.sec-h{font-size:12px;color:var(--muted)}.sec-h{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;margin:18px 2px 10px}.sec-h .more{margin-left:auto;color:var(--accent);font-weight:700;letter-spacing:0;text-transform:none;font-size:12px}.cat-row{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 4px;padding:2px 16px 6px;scrollbar-width:none}.cat-row::-webkit-scrollbar{height:0}.cat-chip{flex:0 0 auto;padding:8px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}.cat-chip.on{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.mkt-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}.mkt-top .em{font-size:20px}.mkt-top .ct{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.mkt-top .lk{margin-left:auto;font-size:11px;font-weight:800;color:var(--fire)}.mkt-q{margin:0 0 10px;font-size:14.5px;line-height:1.35;font-weight:700}.opts-row{display:flex;gap:8px}.opt-chip{flex:1 1;min-width:0;padding:9px 6px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:center;cursor:pointer;transition:border-color .12s ease,transform .06s ease}.opt-chip:active{transform:scale(.98)}.opt-chip:hover{border-color:var(--brand-2)}.opt-chip .nm{font-size:12.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mkt-ft{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;color:var(--muted)}.mkt-ft .cost{margin-left:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 8px;font-weight:800;color:var(--text)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:8px 0 16px}.pod{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1 1;max-width:96px}.pod .pod-av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:var(--surface-2);border:3px solid var(--border);position:relative}.pod .pod-medal{position:absolute;bottom:-6px;right:-6px;font-size:18px}.pod .pod-nm{font-size:11.5px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod .pod-sc{font-size:12px;font-weight:800;color:var(--brand-2)}.pod .pod-bar{width:100%;border-radius:10px 10px 0 0;background:var(--grad);color:#fff;font-weight:900;text-align:center;padding:6px 0}.pod.p1 .pod-bar{height:58px}.pod.p2 .pod-bar{height:42px;opacity:.9}.pod.p3 .pod-bar{height:32px;opacity:.8}.rank-row.is-oracle{background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(62,166,255,.06));border-radius:10px}.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.5px;background:rgba(124,92,255,.18);color:#b9a6ff;margin-left:6px;vertical-align:middle}.packs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.pack{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 8px 12px;text-align:center}.pack.best{border-color:var(--brand-2);box-shadow:0 10px 26px rgba(124,92,255,.25)}.pack .ribbon{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:10px;font-weight:900;letter-spacing:.5px;padding:3px 8px;border-radius:999px;white-space:nowrap}.pack .cr{font-size:17px;font-weight:900}.pack .cr small{display:block;font-size:10px;font-weight:700;color:var(--muted);margin-top:2px}.pack .buy{margin-top:10px;background:var(--stars);color:var(--stars-ink);border-radius:10px;padding:7px 0;font-weight:900;font-size:12.5px}.pack[aria-disabled=true]{opacity:.6;pointer-events:none}.redeem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:8px}.redeem-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 8px 12px;text-align:center}.redeem-item.owned{border-color:var(--brand-2)}.redeem-em{font-size:26px;line-height:1}.redeem-lab{font-size:12.5px;font-weight:800}.void-card{background:rgba(255,92,114,.1);border:1px solid rgba(255,92,114,.32);border-radius:14px;padding:14px;margin-bottom:12px}.void-card .vt{font-weight:800;color:var(--danger)}.void-card .vr{margin-top:8px;font-size:12.5px;color:var(--verified)}.wall{text-align:center;padding:22px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);margin-bottom:12px}.wall .glyph{font-size:40px}.wall h4{margin:8px 0 4px;font-size:16px}.wall p{margin:0 0 12px;color:var(--muted);font-size:13px}.wall-actions{display:flex;flex-direction:column;gap:8px}.feed-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.feed-row:last-child{border-bottom:none}.feed-row .amt{margin-left:auto;font-weight:800;color:var(--stars)}.feed-row .amt.out{color:var(--danger)}.hist-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border-bottom:1px solid var(--border)}.hist-row:last-child{border-bottom:none}.hist-em{font-size:20px;line-height:1.2}.hist-body{min-width:0;flex:1 1}.hist-q{font-weight:700;font-size:14px;margin:0 0 2px}.hist-meta{color:var(--muted);font-size:12px;margin:0}.hist-badge{flex:none;align-self:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.hist-badge.is-win{background:rgba(67,209,127,.16);color:var(--verified)}.hist-badge.is-loss{background:rgba(255,92,114,.16);color:var(--danger)}.hist-badge.is-pending{background:rgba(245,166,35,.16);color:var(--warn)}.hist-badge.is-void{background:var(--surface-2);color:var(--muted)}.ref-link{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.ref-link-value{min-width:0;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--text)}.cp{flex:none;padding:6px 12px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:12px;font-weight:800;cursor:pointer}:root{--bg:#0b1118;--surface:#151f2b;--surface-2:#1b2735;--text:#eaf2fb;--muted:#8aa0b6;--accent:#3ea6ff;--verified:#43d17f;--warn:#f5a623;--danger:#ff5c72;--border:#26374a;--stars:#f7b955;--stars-ink:#20160a;--brand-1:#3ea6ff;--brand-2:#7c5cff;--fire:#ff7a45;--grad:linear-gradient(135deg,#3ea6ff,#7c5cff);--grad2:linear-gradient(135deg,#7c5cff,#ff6bd0)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px}.badge-verified{background:rgba(52,199,89,.14);color:var(--verified)}.badge-seller{background:var(--surface-2);color:var(--muted)}