@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{
  --bg:#eef2f4;--ink:#14202b;--muted:#5d6b78;--line:#d5dee6;--card:#ffffff;
  --accent:#0b6e6e;--accent2:#16324f;--shadow:0 12px 28px rgba(20,32,43,.07);
}
*{box-sizing:border-box}body{margin:0;font-family:"Manrope",sans-serif;background:
  radial-gradient(1000px 480px at -10% -20%,rgba(11,110,110,.10),transparent),
  linear-gradient(180deg,#f5f8fa,#eef2f4 45%,#e7edf2);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{width:min(1180px,92%);margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:rgba(238,242,244,.9);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;padding:14px 0;flex-wrap:wrap}
.brand{font-family:"Fraunces",serif;font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--accent2)}
.nav-links{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted)}
.nav-links a:hover{color:var(--accent)}
.search{margin-left:auto;display:flex;gap:8px}
.search input{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 14px;min-width:180px}
.search button{border:0;background:var(--accent2);color:#fff;border-radius:12px;padding:8px 14px;cursor:pointer}
.hero{padding:42px 0 18px}
.hero h1{font-family:"Fraunces",serif;font-size:clamp(32px,5vw,52px);line-height:1.15;margin:0 0 10px;max-width:16ch}
.hero p{color:var(--muted);margin:0;max-width:48ch}
.section{padding:28px 0}
.section h2{font-family:"Fraunces",serif;font-size:28px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.vod{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease, box-shadow .25s ease}
.vod:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,32,43,.12)}
.vod .pic{aspect-ratio:3/4;background:linear-gradient(145deg,#c9d5df,#9eb6b4);position:relative;overflow:hidden}
.vod .pic img{width:100%;height:100%;object-fit:cover}
.vod .meta{padding:12px}
.vod .meta h3{margin:0 0 6px;font-size:15px;font-weight:700}
.vod .meta p{margin:0;color:var(--muted);font-size:12px}
.badge{position:absolute;left:8px;top:8px;background:rgba(11,110,110,.92);color:#fff;font-size:12px;padding:3px 8px;border-radius:8px}
.site-footer{margin-top:40px;border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:14px}
.detail{display:grid;grid-template-columns:240px 1fr;gap:28px}
.detail .cover{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#d7e0e7}
.detail .cover img{width:100%;aspect-ratio:3/4;object-fit:cover}
.muted{color:var(--muted)}
.play-box{background:#0d1520;border-radius:18px;overflow:hidden;min-height:360px}
.play-box{position:relative;width:100%;height:0;padding-bottom:56.25%;background:#000;overflow:hidden;border-radius:8px}
.play-box .MacPlayer,.play-box video,.play-box iframe{position:absolute;left:0;top:0;width:100%;height:100%;border:0;display:block;background:#000}
.play-box video{object-fit:contain}
.eps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.eps a{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.eps a.on,.eps a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.form{display:grid;gap:10px;max-width:420px}
.form input,.form textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}
.form button{width:fit-content;padding:10px 16px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}
.list-plain{display:grid;gap:12px}
.list-plain a{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
@media(max-width:800px){.detail{grid-template-columns:1fr}.search{width:100%;margin-left:0}.search input{flex:1}}
