
:root { --bg:#faf8f4; --fg:#222; --muted:#6b6560; --line:#e2ddd5; --accent:#7a3cc4; --card:#fff; --warn:#b31731; --warnbg:#fde8ec; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#18161a; --fg:#ebe6ee; --muted:#a59fae; --line:#34303a; --accent:#b991f0; --card:#221f26; --warn:#ff8fa3; --warnbg:#3a1d25; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
header.top { position:sticky; top:0; z-index:5; background:var(--bg); border-bottom:1px solid var(--line); }
header.top .in { max-width:1100px; margin:0 auto; padding:8px 16px; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; }
header.top a { color:var(--fg); text-decoration:none; font-size:14px; } header.top .brand { font-weight:700; font-size:16px; }
header.top .watch { margin-left:auto; font-size:13px; color:var(--muted); }
main { max-width:1100px; margin:0 auto; padding:16px; }
a { color:var(--accent); } h1 { font-size:28px; margin:8px 0 6px; line-height:1.2; } h2 { font-size:21px; margin:28px 0 10px; }
h3 { font-size:17px; margin:18px 0 6px; } .muted { color:var(--muted); font-size:14px; }
select, button { font:inherit; font-size:14px; padding:3px 6px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); }
.spoilerbar { background:var(--warnbg); border:1px solid var(--warn); border-radius:8px; padding:10px 14px; margin:12px 0 18px; font-size:15px; }
.spoilerbar b { color:var(--warn); } .spoilerbar.set { padding:6px 12px; font-size:14px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.eps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.eps li, .tile { background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.eps img, .tile img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:#000; }
.eps .t, .tile .t { padding:8px 10px; }
figure { margin:0; background:var(--card); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
figure img { width:100%; display:block; background:#000; } figcaption { padding:4px 8px; font-size:13px; color:var(--muted); }
.ent { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.ent aside figure { margin-bottom:10px; } @media (max-width:760px) { .ent { grid-template-columns:1fr; } .ent aside { order:-1; } }
.summary { font-size:17px; } .summary p { margin:0 0 10px; }
.facts ul { padding-left:20px; margin:4px 0; } .facts li { margin:2px 0; }
blockquote { margin:6px 0 6px 0; padding:2px 12px; border-left:3px solid var(--line); color:var(--fg); font-style:italic; }
.tc { font:12px ui-monospace,monospace; white-space:nowrap; }
table { border-collapse:collapse; width:100%; font-size:14px; } th, td { border-bottom:1px solid var(--line); padding:5px 6px; text-align:left; vertical-align:top; }
.tablewrap { overflow-x:auto; }
.tr p { margin:2px 0; } .tr b { font-weight:600; } .tr figure { max-width:420px; margin:10px 0; }
.placeholder { padding:20px; border:1px dashed var(--line); border-radius:8px; color:var(--muted); }
.list { columns:3 240px; } .list li { break-inside:avoid; margin:3px 0; }
.sheet { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:10px 0 18px; }
.sheet .stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; margin:6px 0 12px; }
.sheet .stat { border:1px solid var(--line); border-radius:8px; padding:6px 8px; text-align:center; }
.sheet .stat .k { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.sheet .stat .v { font-size:20px; font-weight:600; }
.sheet .der { font-style:italic; border-bottom:1px dotted var(--muted); cursor:help; }
.sheet h3 { margin-top:12px; } .sheet ul { padding-left:18px; margin:4px 0; }
[data-hide] { display:none !important; }
