:root{color-scheme:dark;--bg:#101518;--panel:#1a2227;--line:#2b373e;--muted:#a2afb6;--text:#f3f5f2;--accent:#cef483}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 14px}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button.active{color:#18210c;background:var(--accent);border-color:var(--accent)}input,select{border:1px solid var(--line);border-radius:8px;background:#101518;color:var(--text);padding:10px}input:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:22px max(24px,calc((100% - 1280px)/2));flex-wrap:wrap}.brand{font-weight:800;font-size:26px;color:var(--accent);white-space:nowrap;text-decoration:none}.brand span{display:block;font-size:9px;color:var(--muted);font-weight:600;letter-spacing:2px;margin-top:2px}nav{display:flex;gap:4px;flex:1}nav button{border-color:transparent;background:transparent;padding:8px 11px;color:var(--muted);white-space:nowrap}#search{display:flex;gap:6px}#keyword{width:160px}.subtle{background:transparent;color:var(--muted)}main{max-width:1328px;margin:auto;padding:0 24px}#hero{padding:44px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}h1{font-size:34px;margin:14px 0 12px;letter-spacing:-1px}#intro,footer{color:var(--muted);line-height:1.8}#intro{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 20px}.card{border:none;background:transparent;padding:0;display:block;text-align:left;min-width:0}.poster{aspect-ratio:3/4;position:relative;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,#243331,#1a2025);overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;display:block}.placeholder{display:grid;place-content:center;text-align:center;width:100%;height:100%;padding:12px;color:var(--muted);font-size:12px;gap:8px}.placeholder strong{font-size:30px;color:#78918a}.badge{position:absolute;bottom:8px;right:8px;border-radius:5px;background:#101518de;font-size:10px;padding:4px 7px;color:white}.card h3{font-size:14px;margin:11px 0 6px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.tags{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card:hover .poster{border-color:var(--accent)}.pager{text-align:center;padding:35px 0 16px}#status{color:var(--muted)}.notice{padding:14px 18px;line-height:1.8;color:#f5d99c;background:#30291e;border:1px solid #594c31;border-radius:8px;margin-bottom:24px}footer{font-size:11px;padding:22px 0 28px;border-top:1px solid var(--line)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:24px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}#login{max-width:440px;width:calc(100% - 32px)}#login p{line-height:1.9;color:var(--muted)}#login h2{font-size:26px}#login input,#login button{width:100%;margin-top:12px}#login button{background:var(--accent);color:#17200c;font-weight:700}#login-error{color:#f7ad9b!important;min-height:24px}#detail{width:min(1000px,calc(100% - 24px));max-height:94dvh;overflow:auto}.detail-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);margin-bottom:20px}#detail-meta h2{font-size:25px;margin:0 0 10px}.description{max-height:90px;overflow:auto;color:var(--muted);line-height:1.8}#detail-meta .meta-actions{display:flex;gap:8px;margin:16px 0 22px}#video{display:block;width:100%;height:min(54dvh,540px);background:#000;border-radius:10px}.video-shell{position:relative}.fullscreen{display:none;position:absolute;right:12px;bottom:12px;background:#101518cc;border-color:#ffffff44;font-size:20px;padding:6px 12px}.playbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0}.playbar label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.playbar button{padding:6px 10px;font-size:12px}.playbar strong{margin-right:auto}.episode-nav,.play-options{display:flex;align-items:center;gap:8px}.playbar select{padding:5px}#episode-heading{display:flex;gap:10px;align-items:center;margin-top:18px;color:var(--muted)}#play-status{color:var(--muted);line-height:1.7;margin-top:0;min-height:24px}.episodes{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:12px}.episodes button{padding:9px 3px;font-size:12px}#more{min-width:160px}code{overflow-wrap:anywhere;font-size:12px}@media(max-width:1100px){header{gap:16px}.grid{grid-template-columns:repeat(5,minmax(0,1fr))}nav{order:3;flex-basis:100%;overflow:auto}#search{margin-left:auto}}@media(max-width:800px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px}.episodes{grid-template-columns:repeat(6,1fr)}h1{font-size:28px}header{padding:16px 20px}main{padding:0 20px}#hero{padding:30px 0 24px}}@media(max-width:520px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}.card h3{font-size:12px}.tags{font-size:10px}.poster{border-radius:8px}header{gap:10px;padding:14px}main{padding:0 14px}.brand{font-size:23px}#search{flex:1}#keyword{width:0;min-width:0;flex:1}#logout{font-size:11px;padding:7px}nav{gap:0}nav button{padding:7px 10px;font-size:12px}#hero h1{font-size:27px}.episodes{grid-template-columns:repeat(5,1fr)}dialog#detail{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))}.detail-top{position:sticky;top:0;z-index:2;background:var(--panel);padding-bottom:10px}.video-shell{margin:0 -14px;background:#000}.video-shell video{height:auto;aspect-ratio:16/9;max-height:none;border-radius:0}.fullscreen{display:block}.playbar{gap:8px;padding:12px 0}.playbar strong{flex-basis:100%;font-size:13px}.episode-nav,.play-options{width:100%;justify-content:space-between}.play-options{justify-content:flex-start}.play-options button{margin-left:auto}.episode-heading{margin-top:12px}.episodes{margin-top:10px;padding-bottom:20px;grid-template-columns:repeat(5,1fr)}.episodes button{min-height:40px}.badge{font-size:9px}#detail-meta h2{font-size:22px}}
