:root{--bg: var(--tg-bg, #0e0e12);--surface: var(--tg-surface, #191922);--surface-2: #23232f;--line: #2e2e3c;--text: var(--tg-text, #f2f2f6);--muted: var(--tg-hint, #9a9aae);--accent: var(--tg-button, #ff3b6b);--accent-text: var(--tg-button-text, #fff);--ok: #3ddc84;--warn: #ffb020;--radius: 12px;--header: 52px;--tabbar: 56px}:root[data-tg-scheme=light]{--surface-2: #eceef2;--line: #dfe2e8}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,PingFang SC,Hiragino Sans,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}#app{min-height:100vh;padding:calc(var(--header) + env(safe-area-inset-top)) env(safe-area-inset-right) calc(var(--tabbar) + env(safe-area-inset-bottom)) env(safe-area-inset-left)}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app-header{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;gap:10px;height:calc(var(--header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;background:var(--bg);border-bottom:1px solid var(--line)}.app-header__title{flex:1;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__back{margin-inline-start:-6px;padding:6px 8px;font-size:20px;line-height:1;color:var(--muted)}.lang-picker{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px}.tabbar{position:fixed;inset:auto 0 0 0;z-index:20;display:flex;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--line)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted)}.tabbar a.router-link-active{color:var(--accent)}.tabbar__glyph{font-size:19px;line-height:1}.page{padding:14px}.page__title{margin:4px 0 12px;font-size:17px;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.card{background:var(--surface);border-radius:var(--radius);overflow:hidden}.card__art{display:block;position:relative;aspect-ratio:3 / 4;background:var(--surface-2)}.card__art img{width:100%;height:100%;object-fit:cover;display:block}.card__fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:12px;text-align:center;color:var(--muted);font-size:13px}.card__count{position:absolute;inset:auto 6px 6px auto;padding:2px 6px;border-radius:6px;background:#000000a8;font-size:11px}.card__title{padding:8px 10px 10px;font-size:13px;font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.panel{margin-bottom:12px;padding:14px;background:var(--surface);border-radius:var(--radius)}.panel__label{color:var(--muted);font-size:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.muted{color:var(--muted)}.big-number{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-weight:600}.button--quiet{background:var(--surface-2);color:var(--text)}.button:disabled{opacity:.5;cursor:default}.field{display:block;margin-bottom:12px}.field span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.tabs{display:flex;margin-bottom:16px;border-bottom:1px solid var(--line)}.tabs button{flex:1;padding:10px 0;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.tabs button.is-on{color:var(--text);border-bottom-color:var(--accent)}.episodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.episodes a{position:relative;display:flex;align-items:center;justify-content:center;padding:12px 0;border-radius:8px;background:var(--surface-2);font-variant-numeric:tabular-nums}.episodes a.is-free{color:var(--ok)}.episodes a.is-locked{color:var(--muted)}.episodes a.is-current{outline:2px solid var(--accent)}.episodes__lock{position:absolute;inset:2px 4px auto auto;font-size:9px}.player{background:#000}.player video{width:100%;max-height:62vh;display:block;background:#000}.player__bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface)}.notice{padding:14px;border-radius:var(--radius);background:var(--surface);text-align:center}.notice--bad{color:var(--warn)}.row--button{width:100%;text-align:start}.row--button:disabled{opacity:.5;cursor:default}.tier__price{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.pill{padding:2px 8px;border-radius:999px;background:var(--surface-2);font-size:11px}.pill--ok{color:var(--ok)}.pill--warn{color:var(--warn)}.pill--pick{border:1px solid var(--line);cursor:pointer}.pill--pick:hover{border-color:var(--accent);color:var(--accent)}.console{color-scheme:dark;--bg: #101016;--surface: #1a1a23;--surface-2: #24242f;--line: #32323f;--text: #f2f2f6;--muted: #9a9aae;--accent: #ff3b6b;--accent-text: #ffffff;min-height:100vh;background:var(--bg);color:var(--text)}.is-console #app{padding:0}.is-console,.is-console body{background:#101016}.console__page{max-width:1160px;margin:0 auto;padding:20px 28px 48px}.console__bar{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}.console__title{margin:0;font-size:20px;font-weight:600}.console__spacer{flex:1}.console input,.console select{color:var(--text);background:var(--surface-2)}.console input:-webkit-autofill,.console input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-2) inset;caret-color:var(--text)}.console .button{width:auto}.console .field input,.console .field select{max-width:420px}.console .tabs button{flex:0 0 auto;padding:10px 18px}.console__columns{display:grid;margin-bottom:16px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.console__columns .panel{margin-bottom:0}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:10px}.tile{position:relative}.tile__face{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font:inherit;cursor:pointer}.tile__face--on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--surface-2));color:var(--text)}.tile__face:disabled{cursor:not-allowed;opacity:.5}.tile__no{font-size:22px;font-weight:600;line-height:1}.tile__langs{position:absolute;right:6px;bottom:4px;font-size:11px;color:var(--muted)}.tile__flag{position:absolute;left:6px;bottom:4px;font-size:10px;color:var(--warn)}.tile__shelf{position:absolute;top:2px;right:3px;padding:0 4px;border:0;border-radius:7px;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--muted);font:inherit;font-size:11px;line-height:1.4;cursor:pointer;opacity:0}.tile:hover .tile__shelf,.tile__shelf:focus-visible{opacity:1}.tile__shelf:disabled{cursor:not-allowed}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0009}.modal__card{width:100%;max-width:460px;margin-bottom:0;max-height:100%;overflow-y:auto}.modal__card--wide{max-width:720px}.modal__card .field input,.modal__card .field select,.modal__card .field textarea{max-width:none}.console textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit;resize:vertical}.console--gate{display:flex;align-items:center;justify-content:center;padding:24px}.console__gate{width:100%;max-width:340px}.console__gate .console__title{margin-bottom:14px}.console__gate .button{width:100%}.card__flag{position:absolute;inset:6px auto auto 6px;background:#000000a8}.card__note{display:block;margin-top:-6px;padding:0 10px 10px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
