:root{--bg:#0e141b;--panel:#1b2838;--panel-2:#22303f;--text:#e6edf3;--muted:#9fb0c0;--accent:#66c0f4;--right:#4caf7d;--left:#d9534f;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--controls-h:calc(94px + var(--safe-bottom))}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.app,.app.full{position:relative}.app.full{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;display:block;padding-top:0;padding-bottom:0}.app-header{position:relative;z-index:36;padding:4px 12px 2px;padding-top:calc(4px + var(--safe-top));pointer-events:none}.app-header:not(.on-image){position:-webkit-sticky;position:sticky;top:0;background:var(--bg)}.app-header.on-image{position:absolute;top:0;left:0;right:0;padding-bottom:26px;background:linear-gradient(180deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.62) 38%,rgba(0,0,0,.28) 70%,rgba(0,0,0,0))}.app-header .head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;pointer-events:none}.app-header .logo{font-size:19px;font-weight:750;letter-spacing:.01em;padding:4px 2px}.app-header .logo,.app-header .menu-btn{pointer-events:auto;color:var(--text);text-shadow:0 1px 6px rgba(0,0,0,.8)}.app-header .menu-btn{background:none;border:0;font-size:20px;line-height:1;width:44px;height:40px;display:flex;align-items:center;justify-content:flex-end}.app-header .head-sub{pointer-events:none;color:var(--muted);font-size:14px;line-height:1.4;padding:0 2px 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 5px rgba(0,0,0,.85)}.menu-backdrop{position:fixed;inset:0;z-index:1;pointer-events:auto;background:rgba(0,0,0,.45);animation:menu-fade .12s ease-out}.menu-panel{position:absolute;z-index:2;pointer-events:auto;top:100%;right:8px;min-width:190px;display:flex;flex-direction:column;padding:6px;border-radius:12px;background:var(--panel);border:1px solid #2a3a4a;box-shadow:0 14px 34px rgba(0,0,0,.55);animation:menu-in .12s ease-out}.menu-panel a{color:var(--text);font-size:15px;padding:12px 14px;border-radius:8px}.menu-link.is-current,.menu-panel a:active{background:var(--panel-2)}.menu-link.is-current{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.deck-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-height:0}.card{overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform;z-index:5}.card,.card .card-media{position:absolute;inset:0;background:var(--panel)}.card .cover{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#0a0f14}.card .micro-layer{position:absolute;inset:0;opacity:0;transition:opacity .35s ease-out;pointer-events:none}.card .micro-layer.visible{opacity:1}.card .micro-bg{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:blur(28px) brightness(.5) saturate(1.05);background:#0a0f14}.card .micro-stage{position:absolute;left:0;right:0;top:var(--header-h,0);bottom:var(--micro-bottom,0);overflow:hidden;display:flex;align-items:center;justify-content:center}.card .micro{display:block;width:100%;height:100%;object-fit:contain;transform:scale(var(--micro-zoom,1));pointer-events:none;background:transparent}.video-debug{position:fixed;left:0;right:0;top:0;z-index:100;padding:6px 8px;background:rgba(0,0,0,.82);color:#9fe8b0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.45;max-height:46vh;overflow:hidden;pointer-events:none;word-break:break-all}.video-debug .video-debug-head{color:#ffd479;border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:3px;padding-bottom:3px}.card .card-body{position:absolute;left:0;right:0;bottom:0;padding:64px 16px calc(var(--controls-h) + 4px);display:flex;flex-direction:column;gap:8px;background:linear-gradient(0deg,rgba(0,0,0,.94) 0,rgba(0,0,0,.86) 42%,rgba(0,0,0,.55) 72%,rgba(0,0,0,0));pointer-events:none}.card .card-body .title{margin:0;font-size:21px;font-weight:650;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.9)}.card .chips{display:flex;flex-wrap:wrap;gap:6px;max-height:3.6em;overflow:hidden}.card .chip{font-size:12px;line-height:1.4;color:#dbe6f0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);padding:3px 9px;border-radius:999px;white-space:nowrap}.card .summary{margin:0;font-size:13.5px;line-height:1.5;color:#e6edf3;text-shadow:0 1px 3px rgba(0,0,0,.85);min-height:3em;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card .price-row{display:flex;align-items:center;gap:8px;min-height:20px}.card .price-row .price{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.85)}.card .price-row .ea{font-size:11px;color:#f0ad4e;border:1px solid #f0ad4e;border-radius:6px;padding:1px 6px}.card.preview{pointer-events:none}.card.preview.d1{z-index:2}.card.preview.d2{z-index:1}.card.ghost{z-index:10;pointer-events:none;animation-name:fly-out;animation-duration:.24s;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.35,0,.9,.75)}@keyframes fly-out{0%{transform:translate(var(--from-x,0),var(--from-y,0)) rotate(var(--from-rot,0deg));opacity:1}to{transform:translate(var(--to-x,120%),calc(var(--from-y, 0px) + 40px)) rotate(calc(var(--from-rot, 0deg) + 8deg));opacity:0}}.swipe-hint{position:absolute;top:calc(var(--header-h, 0px) + 10px);padding:6px 12px;border-radius:8px;font-weight:800;font-size:18px;letter-spacing:1px;border:3px solid;opacity:0;pointer-events:none}.swipe-hint.right{left:14px;color:var(--right);border-color:var(--right);transform:rotate(-12deg)}.swipe-hint.left{right:14px;color:var(--left);border-color:var(--left);transform:rotate(12deg)}.controls{position:absolute;left:0;right:0;bottom:0;z-index:30;height:var(--controls-h);display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 16px calc(16px + var(--safe-bottom));pointer-events:none}.controls button{pointer-events:auto;border:none;border-radius:999px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text)}.controls .big{width:64px;height:64px;font-size:26px}.controls .left{color:var(--left)}.controls .right{color:var(--right)}.controls .detail-btn{width:54px;height:54px;font-size:14px;color:var(--accent)}.overlay{position:absolute;inset:0;background:rgba(0,0,0,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;z-index:20;border-radius:14px}.overlay .tap-emoji{font-size:42px}.overlay.intro,.overlay.pause{background:rgba(8,12,17,.96)}.overlay.intro .btn{margin-top:8px}.overlay.pause{animation:pause-in .18s ease-out}@keyframes pause-in{0%{opacity:0}to{opacity:1}}.overlay .intro-title{font-size:19px;font-weight:650;color:var(--text)}.overlay .intro-genres{font-size:14px;color:var(--muted);line-height:1.7;max-width:320px}.discovery{padding:4px 16px 8px;overflow-y:auto}.discovery-picked{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;max-width:460px;margin:0 auto 12px}.discovery-picked:has(>:nth-child(2)){grid-template-columns:repeat(2,1fr)}.discovery-hero{aspect-ratio:460/215;border-radius:10px;overflow:hidden;background:#0a0f14;box-shadow:0 2px 10px rgba(0,0,0,.35)}.discovery-hero img{width:100%;height:100%;object-fit:cover;display:block}.discovery-passed{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:6px;gap:6px;max-width:460px;margin:0 auto}.discovery-thumb{width:100%;aspect-ratio:231/87;object-fit:cover;border-radius:5px;background:#0a0f14;opacity:.72}.answer-teaser{text-align:center;color:var(--muted);font-size:13px;line-height:1.6;padding:8px 24px 0;max-width:360px;margin:0 auto}.dig-more{padding:4px 16px 8px;display:flex;justify-content:center}.btn.wide{width:100%;max-width:360px;text-align:center;font-size:16px}.exhausted-note{text-align:center;color:var(--muted);line-height:1.7}.detail{position:absolute;inset:0;background:var(--bg);z-index:50;display:flex;flex-direction:column;padding-top:var(--safe-top)}.detail .detail-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:8px 16px 32px;overscroll-behavior:contain}.detail .trailer-img,.detail video{width:100%;border-radius:10px;background:#000;aspect-ratio:16/9;object-fit:cover}.shots{display:flex;gap:8px;overflow-x:auto;padding:10px 0;scroll-snap-type:x mandatory}.shots img{height:150px;border-radius:8px;scroll-snap-align:start}.detail h2{font-size:20px;margin:10px 0 4px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tags .tag{font-size:13px;background:var(--panel-2);color:var(--muted);padding:4px 9px;border-radius:999px}.detail .meta{color:var(--muted);font-size:14px;line-height:1.7}.detail .ai-translated-label{color:var(--muted);font-size:11px;opacity:.7;margin:8px 0 2px}.detail .price{font-size:16px;font-weight:650;margin:8px 0}.detail .ea{display:inline-block;font-size:12px;color:#f0ad4e;border:1px solid #f0ad4e;border-radius:6px;padding:1px 6px;margin-left:8px}.detail-bar{display:flex;gap:12px;padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid #2a3a4a}.detail-bar button{flex:1 1;border:none;border-radius:10px;padding:14px;font-weight:650;font-size:15px;background:var(--panel-2)}.detail-bar .left{color:var(--left)}.detail-bar .right{color:var(--right)}.detail-bar .close{flex:0 0 auto;color:var(--muted);background:transparent}.app.full .center-msg{position:absolute;inset:0}.center-msg{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px;color:var(--muted)}.btn{display:inline-block;background:var(--accent);color:#06121c;font-weight:700;padding:12px 20px;border-radius:10px;border:none}.list{padding:8px 16px 32px}.list-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #22303f}.list-item img{width:92px;aspect-ratio:231/87;object-fit:cover;border-radius:6px;background:#0a0f14}.list-lead{padding:0 16px 6px;color:var(--muted);font-size:14px}.sort-tabs{display:flex;gap:8px;padding:4px 16px 0}.sort-tabs button{background:none;border:1px solid #2a3a4a;border-radius:999px;color:var(--muted);font-size:13px;padding:5px 12px}.sort-tabs button.active{border-color:var(--accent);color:var(--accent)}.list-group{margin:16px 0 2px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.02em}.list-group span{color:#6b8098;font-weight:400;margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-genres{color:var(--muted);font-size:12px;margin:2px 0 1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.affinity{padding:4px 16px 32px}.affinity-title{color:var(--muted);font-size:13px;margin-bottom:8px}.affinity-tags{display:flex;flex-wrap:wrap;gap:6px}.affinity-tag{font-size:13px;background:var(--panel-2);color:var(--text);padding:4px 10px;border-radius:999px}.affinity-note{color:var(--muted);font-size:11px;line-height:1.5;margin-top:8px}.genre-split{padding:4px 16px 8px;max-width:460px;width:100%;margin:0 auto}.genre-split-title{color:var(--muted);font-size:13px;margin-bottom:6px}.genre-split-row{display:flex;align-items:center;gap:10px;padding:3px 0}.genre-split-label{font-size:14px;color:var(--text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.genre-split-bar{flex:0 0 84px;height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden}.genre-split-bar i{display:block;height:100%;background:var(--right)}.settings-opt{display:block;width:100%;text-align:left;background:var(--panel);border:1px solid #2a3a4a;border-radius:10px;padding:16px;margin:10px 0;font-size:16px}.settings-opt.active{border-color:var(--accent);color:var(--accent)}.settings-opt.toggle{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-opt.toggle.active{border-color:#2a3a4a;color:var(--text)}.settings-note{display:block;margin-top:4px;font-size:13px;color:var(--muted);line-height:1.5}.switch{flex:0 0 auto;width:46px;height:28px;border-radius:999px;background:#2a3a4a;position:relative;transition:background .15s ease-out}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform .15s ease-out,background .15s ease-out}.switch.on{background:var(--accent)}.switch.on:after{transform:translateX(18px);background:#06121c}.selftest{margin-top:12px;border-top:1px solid #22303f;padding-top:4px}.selftest-id{display:flex;gap:8px;align-items:center}.selftest-id code{overflow-x:auto;white-space:nowrap;color:var(--muted)}.selftest-id code,.selftest-input{flex:1 1;min-width:0;background:var(--panel);border:1px solid #2a3a4a;border-radius:8px;padding:10px 12px;font-size:12px}.selftest-btn,.selftest-input{color:var(--text)}.selftest-btn{flex:0 0 auto;background:var(--panel);border:1px solid #2a3a4a;border-radius:8px;padding:10px 12px;font-size:13px}.selftest-btn:disabled{opacity:.4}.doc{padding:4px 18px 40px;line-height:1.8;font-size:15px}.doc h2{font-size:16px;margin:26px 0 6px;display:flex;align-items:center;gap:10px}.doc p{margin:0 0 12px;color:#cddae6}.doc-tagline{color:var(--accent);font-size:14px;margin:0 0 18px}.doc-lead{margin-bottom:20px!important}.doc-empty,.doc-lead{color:var(--muted)!important}.doc-empty{padding:24px 0}.doc-links{margin:20px 0 0;padding-left:18px}.doc-links li{margin:6px 0}.doc-updated{color:var(--muted)!important;font-size:12px;margin-top:28px!important}.howto-step{margin-bottom:26px}.howto-num{flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:var(--accent);color:#06121c;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.howto-shot{display:block;width:100%;max-width:260px;border-radius:12px;border:1px solid #2a3a4a;background:#0a0f14;margin:4px 0 0}.howto-shot.missing{aspect-ratio:390/780;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:var(--muted);font-size:13px}.admin{max-width:760px;margin:0 auto;padding:24px 16px}.admin table{width:100%;border-collapse:collapse;margin:8px 0 24px}.admin td,.admin th{border:1px solid #2a3a4a;padding:8px 10px;text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin h2{font-size:17px;margin:22px 0 8px}.first-run{position:absolute;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:32px 28px calc(32px + env(safe-area-inset-bottom))}.first-run-lead{font-size:19px;font-weight:650;line-height:1.5;max-width:22em}.first-run-body{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:15px;line-height:1.7;max-width:24em}.first-run .btn{margin-top:10px}.fallback{min-height:70dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 24px;text-align:center}.fallback-title{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}.detail .trailer-wrap{position:relative;line-height:0}.detail .trailer-audio{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:999px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.16);line-height:1}.detail .trailer-sound{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:15px;background:transparent;border:0;padding:0}.detail .trailer-volume{width:92px;accent-color:var(--accent)}.detail .trailer-audio.open{padding-right:12px}@media (min-width:700px){body{background:#05080b;min-height:100dvh;display:grid;place-items:start center}.app{width:480px}.app.full{align-self:center;height:min(100dvh,720px);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.6)}.card{cursor:-webkit-grab;cursor:grab}.card:active{cursor:-webkit-grabbing;cursor:grabbing}}.detail .cats{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.detail .cat{font-size:12px;color:var(--muted);border:1px solid #2f4256;border-radius:6px;padding:3px 8px;white-space:nowrap}