:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e14;--bg-elevated:#141824;--bg-soft:#1a1f2e;--border:#2a3142;--border-strong:#3a4358;--text:#eef1f8;--muted:#a0a9bc;--accent:#6b8cff;--accent-soft:color-mix(in srgb, var(--accent) 18%, transparent);--accent-ink:#dce4ff;--danger:#ff6b7a;--good:#3ddc97;--radius:14px;--radius-sm:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--z-sticky:20;--font:"Segoe UI", system-ui, -apple-system, "Noto Sans TC", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.18s;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 480px at 50% -12%, #1a2240 0%, transparent 55%), var(--bg)}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit;text-decoration:none}.app-shell{contain:layout style;grid-template-rows:auto 1fr auto;max-width:480px;min-height:100dvh;margin:0 auto;display:grid}.topbar{padding:var(--space-4) var(--space-4) var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.topbar h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.125rem;font-weight:700}.lang-switch{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;gap:2px;padding:2px;display:flex}.lang-switch button{min-width:40px;min-height:32px;color:var(--muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:999px;padding:4px 10px;font-size:.75rem}.lang-switch button.active{background:var(--accent);color:#fff;font-weight:600}.content{padding:var(--space-2) var(--space-4) 96px;contain:content}.tabbar{z-index:var(--z-sticky);gap:var(--space-1);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 88%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);grid-template-columns:repeat(3,1fr);display:grid;position:sticky;bottom:0}.tabbar a{text-align:center;border-radius:var(--radius-sm);min-height:44px;color:var(--muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);place-content:center;padding:10px 8px;font-size:.85rem;display:grid}.tabbar a:active{transform:scale(.98)}.tabbar a.active{background:var(--bg-soft);color:var(--text);font-weight:600}.page{gap:var(--space-3);flex-direction:column;display:flex}.page-games{gap:0}.greeting{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.25rem;font-weight:700}.balance-pill{background:var(--accent-soft);color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;margin:0;padding:6px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.section-title{margin:var(--space-3) 0 0;color:var(--muted);letter-spacing:.02em;font-size:.8rem;font-weight:600}.game-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.game-card{--game-accent:var(--accent);text-align:left;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);min-height:88px;transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);grid-template-columns:auto 1fr;align-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.game-card--crash{grid-column:1/-1}.game-icon{border-radius:12px;flex-shrink:0;width:48px;height:48px;display:block;box-shadow:0 2px 8px #00000059}.game-meta{gap:4px;min-width:0;display:grid}.game-card:hover{border-color:color-mix(in srgb, var(--game-accent) 40%, var(--border));background:var(--bg-soft)}.game-card:active{transform:scale(.985)}.game-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:700;line-height:1.2}.game-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.game-cta{color:color-mix(in srgb, var(--game-accent) 70%, var(--accent-ink));z-index:1;margin-top:4px;font-size:.85rem;font-weight:600;display:none;position:relative}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.card.stack{gap:var(--space-3);display:grid}.card.muted,.muted{color:var(--muted)}.stat{justify-content:space-between;gap:var(--space-3);display:flex}.stat-label{color:var(--muted)}.stat-value{font-weight:600}.stat-value.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hint{color:var(--muted);font-size:.85rem}.tabs{gap:6px;display:flex}.tabs button{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);min-height:40px;color:var(--muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);flex:1;padding:8px}.tabs button.active{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}.lb-table{border-collapse:collapse;background:var(--bg-elevated);border-radius:var(--radius);contain:content;width:100%;overflow:hidden}.lb-table th,.lb-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.lb-table th{color:var(--muted);font-size:.85rem;font-weight:500}.lb-table td{font-variant-numeric:tabular-nums}.center-screen{place-content:center;gap:var(--space-3);text-align:center;min-height:100dvh;padding:var(--space-5);display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:var(--danger)}.btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;min-height:44px;transition:filter var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);padding:10px 18px;font-weight:600}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.game-card:active,.btn:active,.tabbar a:active{transform:none}}
