:root{--bg:#fafaf8;--fg:#1b1b1b;--sub:#666;--line:#e4e4e0;--card:#fff;--acc:#1f6f43;--chip:#eef2ee}
@media (prefers-color-scheme:dark){:root{--bg:#0e0f0f;--fg:#e8e8e6;--sub:#9a9a96;--line:#262828;--card:#161818;--acc:#6cc28f;--chip:#1e2421}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
header{position:sticky;top:0;z-index:5;display:flex;gap:12px;align-items:center;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.logo{font-weight:600;font-size:18px;color:var(--fg);text-decoration:none;white-space:nowrap}.logo b{color:var(--acc)}
#q{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font:inherit}
.nav{color:var(--sub);text-decoration:none}
main{max-width:1280px;margin:0 auto;padding:12px 16px 48px}
.tabs{display:flex;gap:4px;overflow-x:auto;margin:4px 0 10px}.tabs a{padding:6px 12px;border-radius:999px;color:var(--sub);text-decoration:none;white-space:nowrap}
.tabs a.on{background:var(--fg);color:var(--bg)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-size:14px;max-width:46vw}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{color:inherit;text-decoration:none;display:block}.thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--line)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}.dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.78);color:#fff;font-size:12px;padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums}
.card h3{font-size:15px;font-weight:600;margin:8px 0 3px;line-height:1.3}.ev{font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}
.chip{display:inline-block;font-size:12px;padding:1px 7px;border-radius:999px;background:var(--chip);color:var(--sub);margin-right:6px}
.card.watched .thumb{opacity:.55}
.player{aspect-ratio:16/9;width:100%;border:0;border-radius:10px;background:#000}
.vp{max-width:900px;margin:0 auto}.vp h1{font-size:22px;margin:14px 0 4px;line-height:1.25}.meta{font-size:13px;color:var(--sub)}
.vp h2{font-size:16px;margin:26px 0 8px}.why{font-size:15px}
.mention{border-top:1px solid var(--line);padding:10px 0;font-size:14px}.mention .ev a{color:var(--sub)}
.acts{display:flex;gap:8px;margin:12px 0}.acts button,.more{padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;cursor:pointer;min-height:36px}
.acts button.on{background:var(--fg);color:var(--bg)}
a{color:var(--acc)}.empty{color:var(--sub);padding:40px 0;text-align:center}
.prose{max-width:720px}.prose td{padding:3px 12px 3px 0;font-variant-numeric:tabular-nums}
:root{--red-hi:#ff7a6e;--red:#e0382c;--red-lo:#b51f16;--red-ring:rgba(224,56,44,.35);--gloss:rgba(255,255,255,.55);--gloss-0:rgba(255,255,255,0)}
.tabs{align-items:center}.tabs .t-foryou{margin-left:auto}
.tabs .t-red{position:relative;overflow:hidden;color:#fff;font-weight:600;background:linear-gradient(180deg,var(--red-hi) 0%,var(--red) 50%,var(--red-lo) 100%);box-shadow:inset 0 1px 0 var(--gloss),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.2);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.tabs .t-red::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:48%;border-radius:999px;background:linear-gradient(180deg,var(--gloss),var(--gloss-0));pointer-events:none}
.tabs .t-red::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,var(--gloss-0),rgba(255,255,255,.45),var(--gloss-0));transform:translateX(0) skewX(-20deg);pointer-events:none;opacity:0}
.tabs .t-red.on{background:linear-gradient(180deg,var(--red-hi) 0%,var(--red) 50%,var(--red-lo) 100%);color:#fff;box-shadow:inset 0 1px 0 var(--gloss),0 0 0 3px var(--red-ring),0 2px 8px var(--red-ring)}
.tabs .t-red:active{transform:scale(.97);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.tabs .t-red:hover::after{opacity:1;transform:translateX(420%) skewX(-20deg);transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .1s ease}}
.tabs a{flex:none}
:root{--gem-hi:#d4f1ff;--gem:#7cc8f0;--gem-lo:#3a93c9;--gem-ring:rgba(124,200,240,.4);--gold-hi:#fff0b0;--gold:#e2b13c;--gold-lo:#a87418;--gold-ring:rgba(226,177,60,.4);--ink-hi:#5a5a5a;--ink:#1c1c1c;--ink-lo:#000000;--ink-ring:rgba(140,140,140,.45)}
.tabs .t-deep,.tabs .t-durable,.tabs .t-longs{position:relative;overflow:hidden;font-weight:600;box-shadow:inset 0 1px 0 var(--gloss),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.2)}
.tabs .t-deep::before,.tabs .t-durable::before,.tabs .t-longs::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:48%;border-radius:999px;background:linear-gradient(180deg,var(--gloss),var(--gloss-0));pointer-events:none}
.tabs .t-deep,.tabs .t-deep.on{color:#08304a;background:linear-gradient(180deg,var(--gem-hi) 0%,var(--gem) 50%,var(--gem-lo) 100%);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.tabs .t-durable,.tabs .t-durable.on{color:#3d2600;background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 50%,var(--gold-lo) 100%);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.tabs .t-longs,.tabs .t-longs.on{color:#f2f2f2;background:linear-gradient(180deg,var(--ink-hi) 0%,var(--ink) 50%,var(--ink-lo) 100%);text-shadow:0 1px 0 rgba(0,0,0,.4)}
.tabs .t-longs::before{background:linear-gradient(180deg,rgba(255,255,255,.28),var(--gloss-0))}
.tabs .t-deep.on{box-shadow:inset 0 1px 0 var(--gloss),0 0 0 3px var(--gem-ring),0 2px 8px var(--gem-ring)}
.tabs .t-durable.on{box-shadow:inset 0 1px 0 var(--gloss),0 0 0 3px var(--gold-ring),0 2px 8px var(--gold-ring)}
.tabs .t-longs.on{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 3px var(--ink-ring),0 2px 8px var(--ink-ring)}
.tabs .t-deep:active,.tabs .t-durable:active,.tabs .t-longs:active{transform:scale(.97);transition:transform .15s cubic-bezier(.25,.46,.45,.94)}
