:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--surface:#1e1e1e;--surface-2:#2a2a2a;--border:#333;--text:#e6e1e5;--text-muted:#a9a4ac;--primary:#bb86fc;--on-primary:#121212;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius:12px;--gutter:16px;--pad-left:max(var(--gutter), env(safe-area-inset-left));--pad-right:max(var(--gutter), env(safe-area-inset-right));--cols:2;--grid-gap:12px;--appbar-h:120px;--glass-tint:#1c1c226b;--glass-tint-strong:#1c1c229e;--glass-blur:blur(14px) saturate(160%);--glass-edge:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #ffffff0d, inset 0 0 0 1px #ffffff14;--glass-shadow:0 8px 24px #0006;--glass-fill:#ffffff12;--spring:cubic-bezier(.34, 1.4, .64, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--appbar-h);scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font:15px/1.4 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit}button,input{font:inherit;color:inherit}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.icon{fill:currentColor;flex:none;width:24px;height:24px}.appbar{z-index:10;padding-top:calc(10px + env(safe-area-inset-top));--glass-inset:0px;padding-bottom:6px;position:sticky;top:0}.appbar:before,.appbar:after{content:"";inset:var(--glass-inset);z-index:-1;pointer-events:none;transition:inset .45s var(--spring), border-radius .45s var(--spring), background-color .3s ease, box-shadow .3s ease, opacity .3s ease;border-radius:0;position:absolute}.appbar:before{background-color:var(--bg);box-shadow:0 1px 0 var(--border)}.appbar:after{opacity:0;background-color:#0000;background-image:linear-gradient(#ffffff1a,#fff0 55%),linear-gradient(105deg,#0000 35%,#ffffff17 45%,#ffffff05 52%,#0000 62%);background-position:0 0,30% 0;background-repeat:no-repeat;background-size:100% 100%,250% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition-property:inset,border-radius,opacity}[data-scrolled] .appbar{--glass-inset:calc(4px + env(safe-area-inset-top)) 8px 2px}[data-scrolled] .appbar:before,[data-scrolled] .appbar:after{border-radius:28px}[data-scrolled] .appbar:before{background-color:var(--glass-tint);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge), var(--glass-shadow)}[data-scrolled] .appbar:after{opacity:1}.appbar-row{min-height:48px;padding:0 var(--pad-right) 0 var(--pad-left);align-items:center;gap:12px;display:flex}.brand{white-space:nowrap;border-radius:22px;align-items:center;gap:10px;min-width:0;min-height:44px;margin-left:-8px;padding:0 8px;font-size:1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-icon{color:var(--primary)}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.version{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-overflow:ellipsis;font-size:.66rem;font-weight:500;overflow:hidden}.back-icon,.view-game .brand-icon{display:none}.view-game .back-icon{display:block}.status{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);margin-left:auto;font-size:.85rem;overflow:hidden}.install-btn{background:var(--glass-fill);min-height:36px;box-shadow:var(--glass-edge);color:var(--primary);cursor:pointer;border:0;border-radius:18px;flex:none;align-items:center;gap:4px;padding:0 12px 0 8px;font-size:.85rem;font-weight:600;display:inline-flex}.install-btn .icon{width:20px;height:20px}.toolbar{padding:0 var(--pad-right) 8px var(--pad-left)}.search{background:var(--surface-2);height:44px;color:var(--text-muted);cursor:text;border:1px solid #0000;border-radius:22px;align-items:center;gap:8px;padding:0 12px;transition:background-color .3s,box-shadow .3s,border-color .2s;display:flex}[data-scrolled] .search{background:var(--glass-fill);box-shadow:inset 0 1px #ffffff1f,inset 0 0 0 1px #ffffff0f}.search:focus-within{border-color:var(--primary)}.search .icon{width:20px;height:20px}.search input{min-width:0;height:100%;color:var(--text);appearance:none;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:16px}.search input::placeholder{color:var(--text-muted);opacity:1}.search input::-webkit-search-decoration{-webkit-appearance:none}.search input::-webkit-search-cancel-button{cursor:pointer}.letters{margin:8px calc(8px - var(--pad-right)) 0 calc(8px - var(--pad-left));padding:0 calc(var(--pad-right) - 8px) 0 calc(var(--pad-left) - 8px);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:2px;display:flex;overflow-x:auto}.letters::-webkit-scrollbar{display:none}.letters{touch-action:pan-x pan-y;position:relative}.letters.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.letters.dragging .letter-btn{cursor:grabbing}.letters.more-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.letters.more-start{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 48px),#0000)}.letters.more-start.more-end{-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000)}.letters:empty{display:none}.letters>.letter-btn:first-child{margin-left:auto}.letters>.letter-btn:last-child{margin-right:auto}.letter-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:.9rem;font-weight:600;line-height:1;display:flex}.letter-btn.active{background:var(--primary);color:var(--on-primary);box-shadow:inset 0 1px #ffffff73,0 0 14px #bb86fc73}.main{padding:16px var(--pad-right) 32px var(--pad-left);flex:1}.footer{padding:16px var(--pad-right) calc(24px + env(safe-area-inset-bottom)) var(--pad-left);border-top:1px solid var(--border);color:var(--text-muted);text-align:center;font-size:.8rem}.footer a{color:var(--primary);text-decoration:none}.footer a:hover{text-decoration:underline}.page-title{overflow-wrap:anywhere;margin:4px 0 16px;font-size:1.4rem;font-weight:600;line-height:1.25}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.card{border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--glass-edge), 0 2px 8px #0000004d;transition:transform .35s var(--spring), box-shadow .25s ease;touch-action:manipulation;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.card:active{transition-duration:.1s;transform:scale(.97)}.card:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(115deg,#0000 30%,#ffffff29 45%,#ffffff0a 52%,#0000 65%) 120% 0/250% 100% no-repeat;transition:background-position .8s,opacity .3s;position:absolute;inset:0}.card-thumb{z-index:1;aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.card-body{z-index:1;background:linear-gradient(180deg, #ffffff12, #ffffff03 40%), linear-gradient(105deg, var(--tint-a,transparent), var(--tint-b,transparent)), var(--surface);flex-direction:column;flex:1;gap:6px;padding:10px 12px 12px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff24}.card-title{--title-lines:3;min-height:calc(var(--title-lines) * 1.35em);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.35;display:-webkit-box;overflow:hidden}.card-game .card-title{--title-lines:2;-webkit-line-clamp:2;line-clamp:2;font-weight:600}.card-meta{color:var(--text-muted);margin-top:auto;font-size:.8rem}@media (hover:hover){.card:hover{box-shadow:var(--glass-edge), 0 14px 30px #00000080, 0 0 0 1px #bb86fc40;transform:translateY(-3px)}.card:hover:after{opacity:1;background-position:-60% 0}.card:hover .card-title{color:var(--primary)}.letter-btn:not(.active):hover{color:var(--text);background:var(--surface-2)}.brand:hover,.install-btn:hover{background:var(--surface-2)}a.pager-btn:not([aria-current]):hover{color:var(--text);background:var(--surface-2)}}.card:focus-visible{transform:translateY(-3px)}.pager{flex-direction:column;align-items:center;gap:8px;margin-top:24px;display:flex}.pager-pages{background:var(--glass-fill);box-shadow:var(--glass-edge), 0 4px 14px #0000004d;border-radius:24px;align-items:center;gap:4px;padding:4px;display:flex}.pager-btn,.pager-gap{min-width:36px;height:36px;color:var(--text-muted);font-variant-numeric:tabular-nums;touch-action:manipulation;border-radius:18px;justify-content:center;align-items:center;padding:0 6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.pager-gap{min-width:20px;padding:0}.pager-arrow{font-size:1.3rem;line-height:1}.pager-btn[aria-current=page]{background:var(--primary);color:var(--on-primary);box-shadow:inset 0 1px #ffffff73,0 0 14px #bb86fc73}.pager-btn[aria-disabled=true]{opacity:.35}.pager-summary{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}@media (width<=380px){.pager-btn{min-width:32px;height:32px}.pager-pages{gap:2px}}.card.skeleton .card-thumb,.skeleton-line{background:var(--surface-2)}.skeleton-line{border-radius:4px;height:.8rem}.skeleton-line.short{width:40%}.card.skeleton:after,.card-thumb.loading:after{content:"";z-index:2;opacity:1;pointer-events:none;background:linear-gradient(100deg,#0000 20%,#ffffff12 50%,#0000 80%);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.card-thumb.loading{background:var(--surface-2)}.card-thumb.loading img{opacity:0}.card-thumb img{transition:opacity .25s}@keyframes shimmer{to{transform:translate(100%)}}.message{text-align:center;max-width:28rem;color:var(--text-muted);margin:48px auto}.message p{margin:0 0 16px}.btn{background:var(--primary);min-height:40px;color:var(--on-primary);cursor:pointer;border:0;border-radius:20px;align-items:center;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=600px){:root{--gutter:24px;--cols:4;--grid-gap:16px}.view-home .appbar{grid-template-columns:minmax(0,1fr) minmax(220px,380px);grid-template-areas:"row search""letters letters";align-items:center;display:grid}.view-home .appbar-row{grid-area:row}.view-home .toolbar{display:contents}.view-home .search{margin-right:var(--pad-right);grid-area:search}.view-home .letters{padding:0 calc(var(--pad-right) - 8px) 8px calc(var(--pad-left) - 8px);grid-area:letters;margin:0 8px}}@media (width>=1200px){:root{--cols:8}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass-tint:var(--glass-tint-strong)}[data-scrolled] .appbar:before{background-color:var(--surface)}}@media (prefers-reduced-transparency:reduce){[data-scrolled] .appbar:before{background-color:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.appbar:after{display:none}.card-body{background:var(--surface)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (display-mode:standalone){.install-btn{display:none!important}}
