:root{--bg: #f6f6f9;--surface: #ffffff;--surface-2: #eef0f5;--text: #15171c;--muted: #6b7280;--line: #e2e5ec;--accent: #0a84ff;--danger: #ff453a;--poster-bg: linear-gradient(135deg, #c6cbd6, #e5e8ef);--tabbar-h: 56px;--topbar-h: 48px;--yeartabs-h: 44px;--radius: 14px;--radius-sm: 8px}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #0b0b10;--surface: #17181d;--surface-2: #23242b;--text: #eef0f5;--muted: #9aa0ae;--line: #2a2c34;--accent: #0a84ff;--poster-bg: linear-gradient(135deg, #2a2c34, #3a3d47)}}:root[data-theme=dark]{--bg: #0b0b10;--surface: #17181d;--surface-2: #23242b;--text: #eef0f5;--muted: #9aa0ae;--line: #2a2c34;--accent: #0a84ff;--poster-bg: linear-gradient(135deg, #2a2c34, #3a3d47)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,ui-sans-serif,sans-serif;font-size:15px;line-height:1.4;overflow-x:hidden;min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}#app{min-height:100dvh}#view{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:50}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar-h);color:var(--muted);font-size:10.5px;font-weight:500;transition:color .12s ease}.tab span{font-size:10px}.tab svg{width:24px;height:24px}.tab.active{color:var(--accent)}.tab:active{opacity:.6}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;justify-content:center;padding:0 56px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--line);font-weight:600;font-size:16px}.topbar .back{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;height:36px;padding:0 10px;color:var(--accent);font-weight:500}.topbar .back svg{width:22px;height:22px}.year-tabs{position:sticky;top:var(--topbar-h);z-index:15;display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--line);scroll-snap-type:x proximity;scrollbar-width:none}.year-tabs::-webkit-scrollbar{display:none}.year-tab{flex:0 0 auto;padding:6px 14px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:500;scroll-snap-align:center}.year-tab.active{background:var(--accent);color:#fff}.year-pager{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;height:calc(100dvh - var(--topbar-h) - var(--yeartabs-h) - var(--tabbar-h) - env(safe-area-inset-bottom) - 12px)}.year-pager::-webkit-scrollbar{display:none}.pager-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pager-slide::-webkit-scrollbar{display:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;padding:14px}@media(min-width:900px){.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}.card{display:block;color:inherit}.poster{aspect-ratio:2 / 3;background:var(--poster-bg);border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:0 2px 8px #00000014}.rank-badge{position:absolute;top:8px;left:8px;z-index:2;padding:3px 8px;min-width:28px;border-radius:8px;background:#0000009e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-weight:700;font-size:12px;letter-spacing:.3px;text-align:center;line-height:1.2}.rank-badge.rank-1{background:linear-gradient(135deg,#ffd166,#e6a800);color:#201400}.rank-badge.rank-2{background:linear-gradient(135deg,#d5d8de,#9aa0ae);color:#1b1d22}.rank-badge.rank-3{background:linear-gradient(135deg,#d99566,#a3663a);color:#1d1008}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster .placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:14px;font-size:14px;font-weight:600;color:color-mix(in srgb,var(--text) 70%,transparent);text-align:center}.card .meta{margin-top:8px;padding:0 2px}.card .title{font-size:13.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .sub{font-size:12px;color:var(--muted);margin-top:2px;display:flex;gap:6px;align-items:center}.star{color:#f5a623}.actors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:16px 12px;padding:14px}.actor-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:inherit}.avatar{width:88px;height:88px;border-radius:50%;background:var(--poster-bg);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:color-mix(in srgb,var(--text) 65%,transparent);box-shadow:0 2px 6px #00000014;position:relative}.avatar img{width:100%;height:100%;object-fit:cover}.avatar .rank-badge{top:-4px;left:50%;transform:translate(-50%);min-width:24px;padding:2px 7px;font-size:11px}.actor-card .name{font-size:13px;font-weight:600;line-height:1.2}.actor-card .sub{font-size:11.5px;color:var(--muted)}.detail{padding:0 0 24px}.detail-hero{display:flex;gap:16px;padding:16px}.detail-hero .poster{flex:0 0 120px;width:120px}.detail-hero .info{flex:1;min-width:0}.detail-hero h1{margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.2}.detail-hero .info .sub{color:var(--muted);font-size:13px;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{padding:3px 10px;border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--muted)}.section{padding:6px 16px 8px}.section h2{font-size:14px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;margin:10px 0 6px}.cast-row{display:flex;gap:12px;overflow-x:auto;padding:6px 16px 14px;scrollbar-width:none}.cast-row::-webkit-scrollbar{display:none}.cast-item{flex:0 0 80px;text-align:center;color:inherit}.cast-item .avatar{width:72px;height:72px;font-size:18px;margin:0 auto 6px}.cast-item .name{font-size:12px;font-weight:600;line-height:1.2}.cast-item .role{font-size:11px;color:var(--muted);margin-top:2px}.settings{padding:16px;display:flex;flex-direction:column;gap:16px}.settings-group{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:.5px solid var(--line)}.settings-group h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:16px 16px 6px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:.5px solid var(--line);min-height:48px}.setting-row:last-child{border-bottom:0}.setting-row .label{font-size:15px}.seg{display:inline-flex;background:var(--surface-2);border-radius:8px;padding:2px}.seg button{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted)}.seg button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.ratings{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 8px}.rating-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:12px;background:var(--surface);border:.5px solid var(--line);min-width:96px}.rating-src{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.rating-score{display:flex;align-items:baseline;gap:1px;margin-top:2px}.rating-num{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.rating-max{font-size:12px;color:var(--muted);font-weight:500}.ep-wrap{overflow-x:auto;padding:0 16px 8px;-webkit-overflow-scrolling:touch}.ep-wrap::-webkit-scrollbar{height:6px}.ep-grid{display:grid;gap:3px;min-width:max-content;background:var(--surface-2);border-radius:10px;padding:8px}.ep-h,.ep-row-h,.ep-corner,.ep-cell{min-width:44px;min-height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;font-variant-numeric:tabular-nums;border-radius:4px;font-weight:600}.ep-h,.ep-row-h{color:var(--muted);background:transparent;font-weight:500}.ep-corner{background:transparent}.ep-cell{background:#2a2d35;color:#e6e8ef}.ep-cell.ep-empty{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--muted) 25%,transparent)}.ep-cell.ep-9{background:#2ecc71;color:#0b2010}.ep-cell.ep-8{background:#7dcf5c;color:#0d1f07}.ep-cell.ep-7{background:#f4d03f;color:#2a1d00}.ep-cell.ep-6{background:#f39c12;color:#2a1300}.ep-cell.ep-5{background:#e6543a;color:#280a05}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px}.genre-tile{display:flex;flex-direction:column;justify-content:flex-end;height:110px;padding:14px;border-radius:var(--radius);background:linear-gradient(135deg,#5b8eff,#8b4fe0);color:#fff;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.genre-tile:nth-child(6n+1){background:linear-gradient(135deg,#ff6b6b,#ff9f43)}.genre-tile:nth-child(6n+2){background:linear-gradient(135deg,#1dd1a1,#10ac84)}.genre-tile:nth-child(6n+3){background:linear-gradient(135deg,#5f27cd,#341f97)}.genre-tile:nth-child(6n+4){background:linear-gradient(135deg,#0a84ff,#5e60ce)}.genre-tile:nth-child(6n+5){background:linear-gradient(135deg,#ee5a6f,#c44569)}.genre-tile:nth-child(6n+6){background:linear-gradient(135deg,#f1c40f,#e67e22)}.genre-tile .name{font-size:18px;font-weight:700;line-height:1.1}.genre-tile .count{font-size:12px;opacity:.85;margin-top:2px}.center-pad{padding:40px 16px;text-align:center;color:var(--muted)}.spinner{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:24px auto}@keyframes spin{to{transform:rotate(360deg)}}.avatar-lg.svelte-1hrll4{width:120px;height:120px;flex:0 0 120px;font-size:30px}
