:root{color:var(--app-text,#f8fafc);background:var(--app-bg,#08090d);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--app-bg:#08090d;--app-surface:#11131a;--app-surface-raised:#181b24;--app-surface-soft:#202431;--app-text:#f8fafc;--app-muted:#9ba3b5;--app-faint:#697084;--app-accent:#61dafb;--app-accent-2:#8b5cf6;--app-positive:#5ee6b2;--app-warning:#f6c76b;--app-danger:#fb7185;--app-border:#ffffff17;--app-shadow:0 20px 50px #00000052;--app-safe-top:0px;--app-safe-right:0px;--app-safe-bottom:0px;--app-safe-left:0px;--app-content-safe-top:0px;--app-content-safe-right:0px;--app-content-safe-bottom:0px;--app-content-safe-left:0px;--app-viewport-height:100svh;--app-viewport-stable-height:100svh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--app-bg:#f4f6fb;--app-surface:#fff;--app-surface-raised:#f9faff;--app-surface-soft:#edf0f7;--app-text:#151824;--app-muted:#5f6676;--app-faint:#858b99;--app-border:#1418241a;--app-shadow:0 18px 45px #1e23371f}*{box-sizing:border-box}html{background:var(--app-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;min-height:var(--app-viewport-height);background:radial-gradient(circle at 85% -10%, #8b5cf629, transparent 38%), radial-gradient(circle at -10% 30%, #22d3ee1a, transparent 34%), var(--app-bg);margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--app-accent) 70%, white);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}img{max-width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-root{width:min(100%,520px);min-height:var(--app-viewport-height,100svh);padding:max(12px, var(--app-safe-top), var(--app-content-safe-top), env(safe-area-inset-top)) max(16px, var(--app-safe-right), var(--app-content-safe-right), env(safe-area-inset-right)) calc(126px + max(var(--app-safe-bottom), var(--app-content-safe-bottom), env(safe-area-inset-bottom))) max(16px, var(--app-safe-left), var(--app-content-safe-left), env(safe-area-inset-left));margin:0 auto}.app-topbar{justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-bottom:14px;display:flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{width:38px;height:38px;color:var(--app-accent);background:linear-gradient(145deg,#61dafb29,#8b5cf62e);border:1px solid #61dafb47;border-radius:13px;flex:0 0 38px;place-items:center;font-weight:900;display:grid;box-shadow:inset 0 1px #ffffff1a}.brand-copy{min-width:0}.brand-copy strong,.brand-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand-copy strong{letter-spacing:-.02em;font-size:.92rem}.brand-copy span{color:var(--app-muted);margin-top:2px;font-size:.72rem}.topbar-action,.icon-button{border:1px solid var(--app-border);width:44px;height:44px;color:var(--app-text);background:var(--app-surface);cursor:pointer;border-radius:15px;flex:0 0 44px;place-items:center;display:inline-grid}.status-banner{border:1px solid var(--app-border);color:var(--app-muted);background:var(--app-surface);border-radius:14px;align-items:flex-start;gap:10px;margin:0 0 12px;padding:11px 13px;font-size:.82rem;line-height:1.45;display:flex}.status-banner strong{color:var(--app-text)}.status-banner.offline{color:color-mix(in srgb, var(--app-warning) 78%, var(--app-text));border-color:#f6c76b59}.status-banner.banned,.status-banner.error{color:color-mix(in srgb, var(--app-danger) 78%, var(--app-text));border-color:#fb718559}.screen{gap:16px;animation:.22s ease-out screen-enter;display:grid}@keyframes screen-enter{0%{opacity:0;transform:translateY(5px)}}.screen-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.screen-header h1,.screen-header h2,.hero h1,.card h2,.card h3,p{margin:0}.screen-header h1,.hero h1{max-width:18ch;color:var(--app-text);letter-spacing:-.055em;font-size:clamp(1.75rem,8vw,2.5rem);line-height:1.02}.screen-header p,.hero p{color:var(--app-muted);margin-top:7px;font-size:.88rem;line-height:1.5}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--app-accent)!important;margin-bottom:8px!important;font-size:.7rem!important}.hero{border:1px solid var(--app-border);background:radial-gradient(circle at 88% 12%, #61dafb38, transparent 32%), linear-gradient(145deg, #8b5cf629, transparent 58%), var(--app-surface);box-shadow:var(--app-shadow);border-radius:24px;padding:22px;position:relative;overflow:hidden}.hero:after{content:"";border:22px solid #ffffff08;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-48px;right:-36px}.hero-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:18px;display:flex;position:relative}.card{border:1px solid var(--app-border);background:color-mix(in srgb, var(--app-surface) 94%, transparent);border-radius:20px;padding:16px;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.card.compact{border-radius:16px;padding:13px 14px}.card.accent{background:linear-gradient(135deg, #61dafb17, #8b5cf614), var(--app-surface);border-color:#61dafb3d}.card.warning{border-color:#f6c76b4d}.card-head,.row,.list-row,.balance-row,.setting-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.setting-row small{margin-top:3px;display:block}.card-head{margin-bottom:14px}.card h2{letter-spacing:-.025em;font-size:1rem}.card h3{font-size:.94rem}.muted,.meta,.card p{color:var(--app-muted);font-size:.82rem;line-height:1.48}.meta{flex-wrap:wrap;gap:7px 10px;margin-top:7px;display:flex}.grid-2,.quick-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-card{border:1px solid var(--app-border);min-height:104px;color:var(--app-text);text-align:left;background:var(--app-surface);cursor:pointer;border-radius:18px;padding:15px;text-decoration:none}.quick-card .quick-icon{color:var(--app-accent);margin-bottom:16px;font-size:1.25rem;display:block}.quick-card strong,.quick-card span{display:block}.quick-card strong{font-size:.9rem}.quick-card span{color:var(--app-muted);margin-top:4px;font-size:.72rem}.wallet-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.balance-tile{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:16px;min-width:0;padding:12px}.balance-tile span,.stat span{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.balance-tile strong,.stat strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:1.04rem;display:block}.stat{background:var(--app-surface-raised);border-radius:16px;padding:14px}.stat strong{font-size:1.35rem}.button{min-height:44px;color:var(--app-button-text,#061017);background:var(--app-button,linear-gradient(135deg, var(--app-accent), #7dd3fc));cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:800;display:inline-flex;box-shadow:0 10px 25px #22d3ee29}.button.secondary{border-color:var(--app-border);color:var(--app-text);background:var(--app-surface-raised);box-shadow:none}.button.ghost{color:var(--app-accent);box-shadow:none;background:0 0;border-color:#0000}.button.danger{color:#fff;background:var(--app-danger);box-shadow:none}.button.full{width:100%}.button.small{border-radius:12px;min-height:44px;padding:8px 12px;font-size:.8rem}.chip,.status-chip{border:1px solid var(--app-border);min-height:27px;color:var(--app-muted);background:var(--app-surface-raised);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.status-chip.positive{color:var(--app-positive);border-color:#5ee6b242}.status-chip.warning{color:var(--app-warning);border-color:#f6c76b47}.status-chip.danger{color:var(--app-danger);border-color:#fb718547}.list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.list-row{border:1px solid var(--app-border);min-height:64px;color:inherit;text-align:left;background:var(--app-surface-raised);border-radius:16px;padding:12px;text-decoration:none}button.list-row{cursor:pointer;width:100%}.product-image{border:1px solid var(--app-border);object-fit:cover;background:var(--app-surface-raised);border-radius:18px;flex:none;width:88px;height:88px;display:block}.product-image.compact{border-radius:12px;width:42px;height:42px}.product-image.roulette-image{border:0;border-radius:50%;width:34px;height:34px}.list-row-main{min-width:0}.list-row-main strong,.list-row-main span{display:block}.list-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.list-row-main span{color:var(--app-muted);margin-top:4px;font-size:.72rem}.reward-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.progress-track{background:var(--app-surface-soft);border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-track>span{width:var(--progress,0%);border-radius:inherit;background:linear-gradient(90deg, var(--app-accent), var(--app-accent-2));height:100%;display:block}.segmented{border:1px solid var(--app-border);background:var(--app-surface);border-radius:14px;gap:4px;padding:4px;display:flex}.segmented button{min-height:44px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:7px 10px;font-size:.73rem;font-weight:800}.segmented button[aria-pressed=true]{color:var(--app-text);background:var(--app-surface-soft)}.field{gap:7px;display:grid}.field label,.field legend{color:var(--app-text);font-size:.78rem;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--app-border);width:100%;min-height:46px;color:var(--app-text);background:var(--app-surface-raised);border-radius:13px;padding:11px 13px}.field textarea{resize:vertical;min-height:96px}.radio-list{border:0;gap:8px;margin:0;padding:0;display:grid}.radio-option{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:13px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.radio-option:has(input:checked){background:#61dafb14;border-color:#61dafb80}.switch{flex:0 0 48px;width:48px;height:28px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch span{background:var(--app-surface-soft);border-radius:999px;transition:background .16s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #00000040}.switch input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--app-accent) 70%, white);outline-offset:3px}.switch input:checked+span{background:var(--app-accent-2)}.switch input:checked+span:after{transform:translate(20px)}.bottom-nav{z-index:30;right:max(10px, var(--app-safe-right), var(--app-content-safe-right), env(safe-area-inset-right));bottom:max(10px, var(--app-safe-bottom), var(--app-content-safe-bottom), env(safe-area-inset-bottom));left:max(10px, var(--app-safe-left), var(--app-content-safe-left), env(safe-area-inset-left));border:1px solid var(--app-border);background:color-mix(in srgb, var(--app-surface) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;max-width:500px;min-height:68px;margin:0 auto;padding:6px;display:grid;position:fixed;box-shadow:0 18px 50px #0000006b}.bottom-nav button,.bottom-nav a{min-width:0;min-height:54px;color:var(--app-faint);cursor:pointer;background:0 0;border:0;border-radius:16px;align-content:center;place-items:center;gap:3px;padding:4px 2px;text-decoration:none;display:grid}.bottom-nav button[aria-current=page],.bottom-nav a[aria-current=page]{color:var(--app-text);background:var(--app-surface-soft)}.nav-icon{font-size:1.05rem;line-height:1}.nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:700;overflow:hidden}.state-panel,.auth-shell{text-align:center;align-content:center;place-items:center;gap:14px;min-height:55svh;padding:28px 18px;display:grid}.auth-shell{min-height:calc(var(--app-viewport-height,100svh) - 40px)}.state-symbol,.auth-symbol{border:1px solid var(--app-border);width:62px;height:62px;color:var(--app-accent);background:var(--app-surface);border-radius:21px;place-items:center;font-size:1.6rem;display:grid}.auth-symbol{background:linear-gradient(145deg, #61dafb24, #8b5cf629), var(--app-surface);border-radius:25px;width:74px;height:74px}.state-panel h1,.state-panel h2,.auth-shell h1{color:var(--app-text);letter-spacing:-.035em;margin:0;font-size:1.35rem}.state-panel p,.auth-shell p{max-width:34ch;color:var(--app-muted);margin:0;font-size:.86rem;line-height:1.55}.spinner{border:3px solid #ffffff1f;border-top-color:var(--app-accent);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--app-surface);border-radius:17px;min-height:84px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff0f 45%,#0000 70%);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.roulette-stage{aspect-ratio:1;place-items:center;width:min(82vw,340px);margin:8px auto;display:grid;position:relative}.roulette-wheel{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:inset 0 0 0 14px #00000014, var(--app-shadow);transform:rotate(var(--wheel-rotation,0deg));border-radius:50%;transition:transform 1.25s cubic-bezier(.12,.68,.08,1);position:absolute;inset:0}.roulette-pointer{z-index:2;border-left:11px solid #0000;border-right:11px solid #0000;border-top:22px solid var(--app-warning);filter:drop-shadow(0 4px 6px #00000059);width:0;height:0;position:absolute;top:-4px}.roulette-center{z-index:1;aspect-ratio:1;border:1px solid var(--app-border);background:var(--app-surface-raised);width:38%;color:var(--app-text);text-align:center;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 10px 30px #0000004d}.roulette-center strong{padding:8px;font-size:.82rem}.countdown{color:var(--app-text);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,12vw,3.2rem);font-weight:850}.leaderboard-row{border-bottom:1px solid var(--app-border);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:9px 5px;display:grid}.leaderboard-row:last-child{border-bottom:0}.rank{color:var(--app-muted);font-variant-numeric:tabular-nums;font-weight:800}.leaderboard-row.me{background:#61dafb12;border:1px solid #61dafb47;border-radius:14px;margin:8px -6px -4px;padding-left:10px;padding-right:10px}.prize-secret{color:var(--app-positive);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#5ee6b212;border:1px dashed #5ee6b273;border-radius:14px;padding:14px;font-family:SFMono-Regular,Consolas,monospace}.legal{color:var(--app-faint);text-align:center;padding:8px 6px 0;font-size:.72rem;line-height:1.5}.dialog{border:1px solid var(--app-border);width:min(100% - 32px,500px);max-height:calc(100% - 32px);color:var(--app-text);background:var(--app-surface);box-shadow:var(--app-shadow);border-radius:22px;margin:auto;padding:20px}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000009e}.dialog h2{margin:0;font-size:1.15rem}.dialog p{margin-top:8px}.dialog-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}@media (width>=480px){.app-root{padding-left:20px;padding-right:20px}}@media (width<=350px){.app-root{padding-left:11px;padding-right:11px}.brand-copy span,.nav-label{font-size:.68rem}.card,.hero{padding:14px}}
