
:root{--acc:hsl(152 92% 52%);--clash:hsl(188 88% 54%);--ink:#161019;--paper:#f3eee1;--paper2:#e9e2d0;--card:#fffef9;--line:#1c1622;--mut:#6c6356;--radius:4px;--disp:"Oswald","Barlow Condensed","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--sans:-apple-system,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--mono:"SFMono-Regular",ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;--maxw:1200px}
*{box-sizing:border-box}html{background:var(--paper)}
.tk2b51fe{margin:0;background:var(--paper);color:var(--ink);font:15.5px/1.68 var(--sans)}
a{color:inherit;text-decoration:none}img{display:block}
.tk2b51fe-skip{position:absolute;left:-999px}.tk2b51fe-skip:focus{left:10px;top:10px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:60}
.tk2b51fe-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.tk2b51fe-top{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--paper)}
.tk2b51fe-top-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:22px;padding:13px 24px}
.tk2b51fe-wm{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--paper)}
.tk2b51fe-logo{color:var(--acc);font-size:20px}
.tk2b51fe-idx{display:flex;gap:4px;margin-left:6px}.tk2b51fe-idx a{color:#d8d2c4;padding:7px 13px;font-size:13.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--disp)}.tk2b51fe-idx a:hover{color:var(--acc)}
.tk2b51fe-search{margin-left:auto;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 14px;color:#cfc8ba;min-width:160px}.tk2b51fe-search input{border:0;background:transparent;outline:none;width:100%;color:#fff;font-size:14px;font-family:inherit}
/* 大色块 masthead */
.tk2b51fe-mast{background:var(--acc);border-bottom:3px solid var(--line);color:var(--ink)}
.tk2b51fe-mast-in{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:34px 0}
.tk2b51fe-kick{font-family:var(--mono);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
.tk2b51fe-mast-tx h1{font-family:var(--disp);font-size:clamp(36px,6.5vw,68px);font-weight:700;text-transform:uppercase;letter-spacing:-.5px;line-height:.98;margin:10px 0 12px}
.tk2b51fe-mast-tx p{margin:0;max-width:52ch;line-height:1.6;font-size:15px;font-weight:500}
.tk2b51fe-mast-stub{flex:none;background:var(--ink);color:var(--paper);padding:18px 26px;text-align:center;font-family:var(--disp);text-transform:uppercase}.tk2b51fe-mast-stub span{display:block;font-size:11px;letter-spacing:2px;color:#b7b0a0}.tk2b51fe-mast-stub b{display:block;font-size:46px;font-weight:700;line-height:1;color:var(--acc);margin:4px 0}
/* 头牌 feat(横版票根) */
.tk2b51fe-feat{display:grid;grid-template-columns:230px 24px 1fr;margin:30px 0;background:var(--card);border:2.5px solid var(--line);box-shadow:8px 8px 0 var(--line)}
.tk2b51fe-featposter{position:relative;aspect-ratio:3/4;overflow:hidden;border-right:0}.tk2b51fe-featposter img{width:100%;height:100%;object-fit:cover}
.tk2b51fe-featperf{background:repeating-linear-gradient(var(--line) 0 7px,transparent 7px 15px);width:2px;justify-self:center;position:relative}
.tk2b51fe-featperf:before,.tk2b51fe-featperf:after{content:"";position:absolute;left:-11px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:2.5px solid var(--line)}.tk2b51fe-featperf:before{top:-13px}.tk2b51fe-featperf:after{bottom:-13px}
.tk2b51fe-featstub{padding:26px 30px;display:flex;flex-direction:column;justify-content:center}
.tk2b51fe-featstub strong{font-family:var(--disp);font-size:clamp(26px,3.6vw,42px);font-weight:700;text-transform:uppercase;letter-spacing:-.4px;line-height:1.02;margin:10px 0 12px}
.tk2b51fe-featstub p{color:var(--mut);margin:0 0 16px;line-height:1.7;max-width:50ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tk2b51fe-featmeta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-family:var(--mono);font-size:12.5px;margin-bottom:18px}
.tk2b51fe-sc{color:#c0392b;font-weight:800;font-family:var(--mono)}
.tk2b51fe-no{position:absolute;left:0;top:10px;background:var(--ink);color:var(--acc);font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 9px;letter-spacing:1px}
.tk2b51fe-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:13px 30px;font-size:15px;align-self:flex-start;transition:.15s}.tk2b51fe-btn:hover{background:var(--acc);color:var(--ink)}
.tk2b51fe-st{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--ink);border:1px solid var(--line);padding:1px 8px;font-weight:700;text-transform:uppercase}.tk2b51fe-st.tk2b51fe-done{color:var(--mut);border-color:var(--mut)}
/* 分区条 */
.tk2b51fe-chanbar{display:flex;gap:0;flex-wrap:wrap;border:2px solid var(--line);margin-bottom:6px}
.tk2b51fe-chanbar a{flex:1;min-width:88px;text-align:center;padding:12px 10px;font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:14px;border-right:1px solid var(--line)}.tk2b51fe-chanbar a:last-child{border-right:0}.tk2b51fe-chanbar a:hover{background:var(--acc)}
/* 区块标题 */
.tk2b51fe-sec{margin-top:40px}
.tk2b51fe-rh{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.tk2b51fe-rh h2{font-family:var(--disp);font-size:clamp(22px,3vw,30px);margin:0;font-weight:700;text-transform:uppercase;letter-spacing:-.3px;white-space:nowrap}
.tk2b51fe-rline{flex:1;height:3px;background:var(--line)}
.tk2b51fe-rh a{font-family:var(--mono);font-size:11.5px;color:var(--mut);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.tk2b51fe-rh a:hover{color:var(--acc)}
/* 票根海报墙 */
.tk2b51fe-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:22px}
.tk2b51fe-tk{display:block;background:var(--card);border:2px solid var(--line);box-shadow:5px 5px 0 var(--line);transition:.12s}.tk2b51fe-tk:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--acc)}
.tk2b51fe-tkcov{position:relative;aspect-ratio:3/4;overflow:hidden}.tk2b51fe-tkcov img{width:100%;height:100%;object-fit:cover;transition:.4s}.tk2b51fe-tk:hover .tk2b51fe-tkcov img{transform:scale(1.05)}
.tk2b51fe-flag{position:absolute;right:0;top:10px;background:var(--acc);color:var(--ink);font-family:var(--disp);font-size:12px;font-weight:700;padding:2px 10px;letter-spacing:1px}.tk2b51fe-flag.tk2b51fe-fnew{background:var(--clash);color:#fff}
.tk2b51fe-play{position:absolute;inset:0;margin:auto;width:42px;height:42px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:15px;opacity:0;transition:.18s}.tk2b51fe-tk:hover .tk2b51fe-play{opacity:1}
.tk2b51fe-perf{position:relative;height:0;border-top:2px dashed var(--line)}.tk2b51fe-perf i{position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--line)}.tk2b51fe-perf i:first-child{left:-9px}.tk2b51fe-perf i:last-child{right:-9px}
.tk2b51fe-stub{padding:12px 14px 13px}
.tk2b51fe-stub>b{display:block;font-family:var(--disp);font-size:16.5px;font-weight:600;text-transform:uppercase;letter-spacing:-.2px;line-height:1.15;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.tk2b51fe-stubmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--mut);margin-bottom:9px}
.tk2b51fe-stubfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:8px;font-family:var(--mono);font-size:11px}
.tk2b51fe-chan{color:var(--mut)}.tk2b51fe-enter{color:var(--acc);font-weight:700}
.tk2b51fe-tags{display:flex;flex-wrap:wrap;gap:0;border:2px solid var(--line)}
.tk2b51fe-tags a{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px}.tk2b51fe-tags a:hover{background:var(--acc)}.tk2b51fe-tags i{font-style:normal;font-size:10px;color:var(--mut)}
.tk2b51fe-faq details{border:2px solid var(--line);margin-bottom:12px;background:var(--card);padding:2px 18px}.tk2b51fe-faq summary{cursor:pointer;padding:15px 0;font-family:var(--disp);font-weight:600;text-transform:uppercase;font-size:16px;list-style:none;position:relative;padding-right:30px;letter-spacing:.3px}.tk2b51fe-faq summary::-webkit-details-marker{display:none}.tk2b51fe-faq summary:after{content:"+";position:absolute;right:4px;top:12px;font-size:24px;color:var(--acc)}.tk2b51fe-faq details[open] summary:after{content:"−"}.tk2b51fe-faq p{margin:0 0 16px;color:var(--mut)}
.tk2b51fe-ph{padding-top:30px}.tk2b51fe-ph h1{font-family:var(--disp);font-size:clamp(30px,4.5vw,48px);font-weight:700;text-transform:uppercase;letter-spacing:-.4px;margin:8px 0 10px}.tk2b51fe-crumb{font-family:var(--mono);font-size:11.5px;color:var(--mut)}.tk2b51fe-crumb a:hover{color:var(--acc)}.tk2b51fe-crumb span{color:var(--ink)}.tk2b51fe-lede{color:var(--mut);max-width:60ch}
.tk2b51fe-watch{padding-top:18px}
.tk2b51fe-stage{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
.tk2b51fe-player{position:sticky;top:72px;border:2.5px solid var(--line);box-shadow:6px 6px 0 var(--line);background:#000}.tk2b51fe-player video{width:100%;aspect-ratio:9/16;background:#000;display:block}
.tk2b51fe-locknote{background:var(--ink);color:var(--acc);padding:9px 14px;font-family:var(--mono);font-size:12px;text-align:center}
.tk2b51fe-side{min-width:0}.tk2b51fe-side h1{font-family:var(--disp);font-size:clamp(24px,3.2vw,36px);font-weight:700;text-transform:uppercase;letter-spacing:-.4px;line-height:1.04;margin:8px 0 12px}
.tk2b51fe-dmeta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--mut);margin-bottom:16px}.tk2b51fe-dmeta b{color:var(--acc)}
.tk2b51fe-dsyn{border-left:4px solid var(--acc);padding:4px 16px;margin-bottom:14px;background:var(--paper2)}.tk2b51fe-dsyn p{margin:0;font-size:14.5px;line-height:1.8}
.tk2b51fe-dtags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.tk2b51fe-dtags a{font-family:var(--mono);font-size:12.5px;color:var(--acc)}
.tk2b51fe-eptitle{font-family:var(--disp);font-weight:600;text-transform:uppercase;font-size:17px;margin-bottom:12px}.tk2b51fe-eptitle small{font-family:var(--sans);text-transform:none;color:var(--mut);font-size:12.5px;margin-left:8px;font-weight:400}
.tk2b51fe-eplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px}
.tk2b51fe-epbtn{aspect-ratio:1;border:2px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--mono);font-size:14px;font-weight:700;cursor:pointer;transition:.12s;position:relative;display:flex;align-items:center;justify-content:center}
.tk2b51fe-epbtn:hover{background:var(--acc)}.tk2b51fe-epbtn.tk2b51fe-on{background:var(--ink);color:var(--acc)}.tk2b51fe-epbtn.tk2b51fe-lock{color:var(--mut)}.tk2b51fe-epbtn.tk2b51fe-lock i{position:absolute;right:2px;top:1px;font-style:normal;font-size:9px}
.tk2b51fe-guide{line-height:1.9;margin-top:22px;max-width:860px;color:#3a332d}.tk2b51fe-guide p{margin:0 0 14px}
.tk2b51fe-panel{border:2px solid var(--line);padding:6px 20px 16px;margin:20px 0;max-width:860px;background:var(--card)}.tk2b51fe-panel h3{font-family:var(--disp);text-transform:uppercase;font-size:16px}.tk2b51fe-panel ul{margin:0;padding-left:18px}.tk2b51fe-panel li{margin:7px 0;line-height:1.6}
.tk2b51fe-note{color:var(--mut);font-size:12.5px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:12px 0;margin:18px 0;max-width:860px;line-height:1.6}
.tk2b51fe-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0;max-width:860px;font-family:var(--disp);text-transform:uppercase}.tk2b51fe-pager a{border:2px solid var(--line);padding:10px 18px;font-weight:600}.tk2b51fe-pager a:hover{background:var(--acc)}.tk2b51fe-mid{color:var(--mut)!important}
.tk2b51fe-idxlist{columns:2;column-gap:40px;list-style:none;margin:0;padding:0}.tk2b51fe-idxlist li{margin:0 0 9px;break-inside:avoid;font-family:var(--mono);font-size:13px}.tk2b51fe-idxlist a:hover{color:var(--acc)}
.tk2b51fe-empty{color:var(--mut);text-align:center;padding:40px 0}
.tk2b51fe-foot{border-top:3px solid var(--line);margin-top:56px;background:var(--ink);color:var(--paper)}.tk2b51fe-foot-in{max-width:var(--maxw);margin:0 auto;padding:30px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.tk2b51fe-foottags{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:0;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:14px;margin-bottom:4px}.tk2b51fe-foottags span{font-family:var(--mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:#b7b0a0;margin-right:14px}.tk2b51fe-foottags a{font-family:var(--mono);font-size:12px;color:#d8d2c4;padding:3px 12px 3px 0;margin-right:6px}.tk2b51fe-foottags a:hover{color:var(--acc)}
.tk2b51fe-foot-in b{font-family:var(--disp);text-transform:uppercase;font-size:17px}.tk2b51fe-foot-in nav{display:flex;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:12px;color:#b7b0a0}.tk2b51fe-foot-in nav a:hover{color:var(--acc)}
@media(max-width:900px){.tk2b51fe-stage{grid-template-columns:1fr}.tk2b51fe-player{position:static;max-width:300px}.tk2b51fe-mast-in{grid-template-columns:1fr}.tk2b51fe-feat{grid-template-columns:150px 20px 1fr}}
@media(max-width:620px){.tk2b51fe-idx{display:none}.tk2b51fe-top-in{gap:10px;padding:11px 16px}.tk2b51fe-search{min-width:0}.tk2b51fe-wrap{padding:0 16px}.tk2b51fe-wall{grid-template-columns:repeat(2,1fr);gap:14px}.tk2b51fe-feat{grid-template-columns:1fr;box-shadow:5px 5px 0 var(--line)}.tk2b51fe-featperf{display:none}.tk2b51fe-featposter{aspect-ratio:16/10}.tk2b51fe-featstub{padding:18px}}

/* ===== per-site mutation (24) ===== */
:root{--radius:13px;--sh2:0 10px 26px -18px rgba(20,15,40,.5)}
.tk2b51fe{background-image:radial-gradient(1200px 680px at 28% -8%,color-mix(in srgb,var(--acc) 5%,transparent),transparent 70%);background-attachment:fixed}
.tk2b51fe h1,.tk2b51fe h2{letter-spacing:-.2px;font-weight:900}
.tk2b51fe-sec{margin-top:54px}
.tk2b51fe{--line:color-mix(in srgb,var(--line) 55%,transparent)}
.tk2b51fe-pcov,.tk2b51fe-tcov,.tk2b51fe-bcov,.tk2b51fe-cover,.tk2b51fe-poster,.tk2b51fe-cov{border-radius:14px}
.tk2b51fe-card:hover,.tk2b51fe-tile:hover,.tk2b51fe-book:hover,.tk2b51fe-big:hover{transform:translateY(-4px)}
