
:root { --bg:#101113; --surface:#191b1e; --surface2:#24262a; --ink:#f4f0e8; --muted:#a6a6a2; --line:#3b3c3c; --acid:#e8f184; --warm:#e4bb9c; --violet:#b9acd6; --blue:#a9c2c9; --radius:14px; --max:1260px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei","Noto Sans CJK SC",sans-serif; color:var(--ink); background:var(--bg); line-height:1.7; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--acid); }
button { font:inherit; cursor:pointer; }
:focus-visible { outline:3px solid var(--acid); outline-offset:4px; }
.shell { width:min(var(--max), calc(100% - 88px)); margin-inline:auto; }
.skip-link { position:absolute; top:-90px; left:12px; padding:10px 18px; background:var(--acid); color:#121212; z-index:999; }
.skip-link:focus { top:12px; }
.site-header { background:rgba(16,17,19,.97); border-bottom:1px solid var(--line); position:relative; z-index:30; }
.header-row { height:88px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.brand { display:inline-flex; gap:10px; align-items:center; white-space:nowrap; font-size:19px; font-weight:800; letter-spacing:.02em; }
.brand-mark { display:inline-grid; place-items:center; width:32px; height:32px; font-size:23px; border:1px solid var(--acid); color:var(--acid); border-radius:50%; }
.main-nav { display:flex; align-items:center; gap:34px; }
.main-nav a { font-size:13px; letter-spacing:.04em; color:#c7c5bd; position:relative; white-space:nowrap; }
.main-nav a:hover,.main-nav a[aria-current] { color:var(--acid); }
.main-nav a[aria-current]:after { content:''; background:var(--acid); position:absolute; bottom:-33px; left:0; right:0; height:2px; }
.menu-toggle { display:none; background:none; border:1px solid var(--line); border-radius:8px; padding:11px; width:45px; height:43px; }
.menu-toggle span { height:2px; display:block; background:var(--ink); margin:5px 0; }
.mobile-nav[hidden] { display:none !important; }
.eyebrow { text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.15em; color:var(--acid); line-height:1.5; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.18; letter-spacing:-.045em; }
h1 { font-size:clamp(46px,6.3vw,94px); font-weight:750; }
h2 { font-size:clamp(28px,3.15vw,46px); }
h3 { font-size:21px; }
em { font-style:normal; color:var(--acid); }
.lead { max-width:570px; font-size:17px; color:#c0c0bc; line-height:1.95; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:51px; padding:11px 23px; border-radius:3px; font-weight:750; font-size:13px; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--acid); color:#151711; }
.button-primary:hover { background:#f6ffb1; color:#151711; }
.button-outline { border:1px solid #878b80; color:var(--ink); }
.button-outline:hover { border-color:var(--acid); }
.text-link,.underlined { font-weight:700; font-size:13px; }
.underlined { border-bottom:1px solid #77786e; padding-bottom:7px; }
.hero { min-height:640px; position:relative; display:grid; grid-template-columns:52% 48%; align-items:center; padding-top:56px; padding-bottom:78px; }
.hero-copy { position:relative; z-index:3; }
.hero h1 { margin:29px 0; }
.hero-art { height:550px; position:relative; isolation:isolate; overflow:hidden; border-radius:220px 220px 7px 7px; background:linear-gradient(130deg,#303631,#6c6255 75%,#403a34); }
.hero-art:before { content:''; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,#ede18f5c,transparent 70%); top:-115px; right:-50px; z-index:-1; }
.hero-art img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.art-label { position:absolute; bottom:28px; right:28px; font-size:11px; letter-spacing:.19em; line-height:1.6; text-align:right; font-weight:800; text-shadow:0 2px 7px #000; }
.hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; margin-top:32px; }
.hero-aside { position:absolute; bottom:20px; right:0; display:flex; align-items:center; gap:24px; color:var(--muted); font-size:11px; letter-spacing:.1em; }
.hero-aside p { margin:0; }
.editorial-block { padding-top:110px; padding-bottom:125px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:36px; }
.section-head h2 { margin:8px 0 0; }
.cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.media-card { min-width:0; background:var(--surface); border:1px solid #323438; border-radius:6px; overflow:hidden; transition:border-color .2s,transform .2s; }
.media-card:hover { border-color:#727963; transform:translateY(-3px); }
.media-card__poster { min-height:130px; display:flex; align-items:flex-start; justify-content:space-between; padding:18px 20px; background:radial-gradient(ellipse at 75% 20%,#68705b35,transparent 65%),linear-gradient(140deg,#37372e,#20242a 55%,#17191b); border-bottom:1px solid #35383a; }
.media-card:nth-child(2n) .media-card__poster { background:radial-gradient(ellipse at 75% 20%,#b8a2a02e,transparent 70%),linear-gradient(140deg,#4b3c3c,#25252c 55%,#191a1e); }
.media-card:nth-child(3n) .media-card__poster { background:radial-gradient(ellipse at 75% 20%,#93b3ba35,transparent 70%),linear-gradient(140deg,#313c43,#22252b 55%,#17191b); }
.media-card__index { font-size:67px; font-weight:800; line-height:1; letter-spacing:-.08em; color:#eae1d2aa; }
.media-card__kind { font-size:9px; letter-spacing:.2em; color:#d4d4ce; }
.media-card__body { padding:24px 24px 28px; }
.media-card__body h3 { font-size:23px; margin:12px 0 14px; }
.media-card__body>p:not(.eyebrow) { color:#c6c4be; font-size:13px; line-height:1.85; }
.media-card__note { border-top:1px solid var(--line); padding-top:13px; margin-top:18px; }
.media-card__note strong { display:block; color:var(--acid); font-size:11px; letter-spacing:.08em; }
.wide-band { background:#202225; padding:94px 0; }
.split-feature { display:grid; grid-template-columns:48% 1fr; gap:9%; align-items:center; }
.split-image { background:#47433e; min-height:460px; border-radius:4px; overflow:hidden; }
.split-image img { width:100%; height:460px; object-fit:cover; }
.split-copy h2 { margin:20px 0 23px; font-size:clamp(40px,4.2vw,66px); }
.split-copy>p:not(.eyebrow) { max-width:520px; color:#c6c6c2; }
.mini-picks { margin:28px 0 32px; border-top:1px solid #4e5051; }
.mini-picks a { display:block; border-bottom:1px solid #4e5051; padding:14px 0; font-size:13px; }
.mini-picks a:before { content:'↗'; color:var(--acid); margin-right:15px; }
.mood-section { padding-bottom:95px; }
.mood-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.mood { min-height:300px; padding:32px; color:#111; display:flex; flex-direction:column; align-items:flex-start; }
.mood:hover { color:#111; filter:brightness(1.06); }
.mood-warm { background:var(--warm); }.mood-blue { background:var(--blue); }.mood-violet { background:var(--violet); }
.mood span { font-size:11px; letter-spacing:.12em; font-weight:700; }
.mood h3 { font-size:44px; margin:50px 0 9px; }
.mood p { font-size:13px; max-width:250px; }
.mood strong { font-size:12px; margin-top:auto; }
.question-strip { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:50px; padding-bottom:100px; }
.question-strip h2 { max-width:620px; font-size:31px; }.question-strip p:not(.eyebrow) { color:var(--muted); max-width:680px; }
.inner-hero { padding:90px 0 70px; display:grid; grid-template-columns:1fr 310px; gap:80px; align-items:center; border-bottom:1px solid var(--line); }
.inner-hero h1 { max-width:820px; font-size:clamp(42px,5vw,77px); margin:20px 0; }
.inner-hero img { width:310px; height:270px; object-fit:cover; border-radius:140px 140px 8px 8px; background:#2d3030; }
.content-layout { padding-top:85px; display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:36px; align-items:start; }
.content-main .section-head h2 { font-size:30px; }.subtle { color:var(--muted); font-size:12px; }
.cards-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.editor-aside { padding:26px 24px; border:1px solid var(--line); position:sticky; top:26px; }
.editor-aside h2 { font-size:26px; margin-top:10px; }.editor-aside ol { padding-left:19px; }.editor-aside li { margin:25px 0; color:var(--acid); }.editor-aside li strong { font-size:14px; color:var(--ink); }.editor-aside li p { color:var(--muted); font-size:13px; }.editor-aside>a { font-size:13px; color:var(--acid); }
.long-read { padding-top:120px; padding-bottom:125px; }.long-read h2 { max-width:700px; }.reading-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin:38px 0; border-top:1px solid var(--line); padding-top:30px; }.reading-columns p { color:#c8c6bd; font-size:14px; line-height:2; }
.chapter-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin:70px 0 24px; }.chapter-heading h2 { margin-bottom:0; }.chapter-heading>p { font-size:13px; color:var(--muted); }.chapter-gap { margin-top:90px; }
.cards-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }.cards-grid--four .media-card__body { padding:22px 18px; }.cards-grid--four .media-card__body h3 { font-size:20px; }.cards-grid--four .media-card__poster { min-height:110px; }
.text-hero { padding:115px 0 110px; max-width:var(--max); }.text-hero h1 { margin:25px 0; font-size:clamp(45px,6vw,90px); }.text-hero .lead { max-width:700px; }
.decision-grid { display:grid; grid-template-columns:48% 1fr; gap:11%; padding:77px 0; border-top:1px solid var(--line); }
.decision-heading>span { color:var(--acid); font-size:12px; font-weight:700; letter-spacing:.14em; }.decision-heading h2 { max-width:540px; margin:22px 0; }.decision-heading p { max-width:510px; color:var(--muted); }.decision-detail { padding-top:31px; }.decision-detail h3 { color:var(--acid); }.decision-detail p { font-size:14px; margin-bottom:16px; color:#c5c3bb; }.decision-detail strong { color:var(--ink); }.decision-detail a { font-size:13px; color:var(--acid); display:inline-block; border-bottom:1px solid #616a50; padding-bottom:4px; margin-top:10px; }
.time-guide { padding:75px 0 135px; }.time-guide h2 { max-width:700px; }.time-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }.time-grid article { background:var(--surface); padding:28px; border-top:2px solid var(--acid); }.time-number { font-size:12px; color:var(--acid); }.time-grid h3 { margin:30px 0 15px; }.time-grid p { font-size:13px; color:var(--muted); }
.faq-hero { border-bottom:1px solid var(--line); }.faq-layout { display:grid; grid-template-columns:300px 1fr; gap:80px; padding:75px 0 110px; }.faq-intro h2 { font-size:31px; margin:15px 0; }.faq-intro p:not(.eyebrow) { color:var(--muted); font-size:13px; }.faq-intro img { width:100%; height:220px; object-fit:cover; margin-top:28px; background:#2c2d2c; }.faq-list details { border-bottom:1px solid var(--line); padding:23px 0; }.faq-list details:first-child { border-top:1px solid var(--line); }.faq-list summary { position:relative; cursor:pointer; padding-right:40px; font-weight:750; font-size:19px; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:'+'; position:absolute; right:8px; top:0; color:var(--acid); font-size:27px; line-height:1; }.faq-list details[open] summary:after { content:'−'; }.faq-list details>div { padding:18px 50px 0 0; color:var(--muted); font-size:14px; }.faq-list details a { color:var(--acid); }.help-bottom { padding:0 0 120px; }.help-bottom h2 { max-width:690px; }.help-bottom>div { display:flex; gap:15px; flex-wrap:wrap; }.not-found { min-height:65vh; padding-top:120px; }.not-found h1 { font-size:65px; }.not-found p:not(.eyebrow) { color:var(--muted); }
.site-footer { border-top:1px solid var(--line); background:#17191a; }.footer-grid { padding:66px 0; display:grid; grid-template-columns:2.5fr 1fr 1fr; gap:80px; }.footer-grid p { font-size:13px; color:var(--muted); max-width:450px; margin-top:20px; }.footer-grid .fine-print { font-size:12px; color:#8f918e; }.footer-grid h2 { font-size:14px; margin:7px 0 23px; }.footer-grid>div:not(:first-child) a { display:block; color:var(--muted); font-size:13px; margin-bottom:11px; }.footer-grid a:hover { color:var(--acid) !important; }.copyright { border-top:1px solid var(--line); padding:19px 0 28px; font-size:11px; color:#878983; }
@media (max-width:1100px) { .shell { width:min(var(--max),calc(100% - 50px)); }.cards-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); }.content-layout { grid-template-columns:minmax(0,1fr) 230px; gap:22px; }.main-nav { gap:20px; }.footer-grid { gap:40px; }.hero-art { height:480px; } }
@media (max-width:760px) { .shell { width:calc(100% - 36px); }.header-row { height:66px; }.main-nav { display:none; }.menu-toggle { display:block; }.mobile-nav { display:flex; flex-direction:column; border-top:1px solid var(--line); padding:8px 18px 18px; background:#181a1b; }.mobile-nav a { display:block; padding:11px 5px; border-bottom:1px solid #313234; font-size:14px; }.hero { grid-template-columns:1fr; min-height:0; padding-top:56px; padding-bottom:70px; }.hero h1 { font-size:clamp(48px,11vw,75px); }.hero-art { grid-row:2; height:370px; margin-top:43px; border-radius:160px 160px 7px 7px; }.hero-aside { display:none; }.hero-actions { gap:24px; }.editorial-block { padding-top:65px; padding-bottom:70px; }.section-head { align-items:start; }.section-head .underlined { margin-top:13px; }.cards-grid { grid-template-columns:1fr 1fr; }.wide-band { padding:60px 0; }.split-feature { grid-template-columns:1fr; gap:38px; }.split-image { min-height:0; }.split-image img { height:350px; }.split-copy h2 { font-size:46px; }.mood-grid { grid-template-columns:1fr; }.mood { min-height:250px; }.mood h3 { margin-top:35px; }.question-strip { display:block; padding-bottom:75px; }.question-strip .button { margin-top:20px; }.inner-hero { padding:65px 0 45px; grid-template-columns:1fr 150px; gap:20px; }.inner-hero img { width:150px; height:185px; }.inner-hero h1 { font-size:43px; }.content-layout { display:block; padding-top:50px; }.editor-aside { position:static; margin-top:40px; }.reading-columns { grid-template-columns:1fr; gap:2px; }.long-read { padding:80px 0; }.chapter-heading { align-items:start; display:block; }.chapter-heading p { margin:14px 0; }.text-hero { padding:75px 0; }.decision-grid { grid-template-columns:1fr; gap:0; padding:55px 0; }.decision-detail { padding-top:20px; }.time-grid { grid-template-columns:1fr; }.faq-layout { grid-template-columns:1fr; gap:25px; padding-top:30px; }.faq-intro img { max-width:400px; }.footer-grid { grid-template-columns:1fr 1fr; gap:30px; }.footer-grid>div:first-child { grid-column:span 2; } }
@media (max-width:490px) { .brand { font-size:16px; }.hero h1 { font-size:45px; }.lead { font-size:15px; }.hero-art { height:320px; }.cards-grid,.cards-grid--two,.cards-grid--four { grid-template-columns:1fr; }.section-head { display:block; }.section-head .underlined { display:inline-block; margin-top:25px; }.inner-hero { grid-template-columns:1fr; }.inner-hero img { width:100%; max-height:180px; object-fit:cover; border-radius:6px; }.inner-hero h1 { font-size:42px; }.text-hero h1 { font-size:46px; }.mood h3 { font-size:39px; }.faq-list summary { font-size:17px; }.faq-list details>div { padding-right:8px; }.footer-grid { gap:14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none !important; animation:none !important; } }
