*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}.eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions a,.primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;font-weight:800}.section-head{margin-bottom:28px}.poster-card h3{line-height:1.35}.poster-card p{font-size:14px}.site-header nav{display:flex;gap:20px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.brand span{display:grid;place-items:center;width:40px;height:40px}.subhero{padding:80px 0 40px}.subhero h1{font-size:clamp(38px,6vw,72px);line-height:1.08;max-width:900px}footer{padding:44px 0 60px}footer p,footer small{font-size:13px}@media(max-width:820px){.site-header nav{gap:12px;font-size:14px}}@media(max-width:540px){.subhero{padding-top:46px}.subhero h1{font-size:38px}}body{background:#f6ead8;color:#3a2418}.site-header{height:78px;position:absolute;z-index:2;inset:0 4vw auto;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid rgba(255,255,255,.35)}.brand span{border:1px solid white}.gallery-hero{height:850px;position:relative;background:#2b1b14;color:white;overflow:hidden}.gallery-hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) sepia(.15);transform:scale(1.02)}.gallery-hero .hero-copy{position:absolute;left:8vw;bottom:100px;width:min(850px,80vw)}.gallery-hero .eyebrow{color:#f8c15b}.gallery-hero h1{font:clamp(52px,7vw,112px)/.98 Georgia,"Songti SC",serif;margin:18px 0 26px}.gallery-hero p{max-width:700px;font-size:18px;color:#eee2d5}.gallery-hero a{display:inline-block;border-bottom:1px solid #f8c15b;padding-bottom:6px}.gallery-method,.exhibition,.gallery-statement,body>main:not(.gallery-page),footer{width:min(1240px,calc(100% - 32px));margin-inline:auto}.poster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 16px}.poster-card{margin:0}.poster-card img{width:100%;aspect-ratio:3/4;object-fit:cover;box-shadow:0 14px 28px rgba(66,41,21,.16)}.poster-card figcaption{padding:14px 4px}.poster-card small,.poster-card a{color:#a95d2c;font-weight:800;font-size:12px}.poster-card h3{font:18px Georgia;margin:5px 0}.primary{background:#3a2418;color:#fff;border-radius:0}.subhero h1{font-family:Georgia,"Songti SC",serif}.t4 footer{border-top:1px solid #b59a79}@media(max-width:820px){.site-header{height:auto;padding:16px 0;flex-wrap:wrap}.gallery-hero{height:720px}.poster-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:540px){.site-header nav{width:100%}.gallery-hero{height:690px}.gallery-hero .hero-copy{left:24px;bottom:55px;width:calc(100% - 48px)}.gallery-hero h1{font-size:46px}.poster-grid{grid-template-columns:1fr 1fr}}

a:focus-visible{outline:3px solid #f5bd5b;outline-offset:3px}.site-header a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.content-page .subhero>p{max-width:850px;font-size:17px}.detail-cover{margin:0;position:sticky;top:20px}.detail-cover img{width:100%;height:auto;border-radius:18px;box-shadow:0 18px 50px rgba(30,25,40,.15)}.detail-cover figcaption{font-size:12px;opacity:.7;margin-top:10px}.detail-copy h1{font-size:clamp(34px,5vw,58px);line-height:1.15}.detail-copy h2{margin-top:34px;font-size:22px}.detail-copy p,.detail-copy li{font-size:16px}.t4.content-page .site-header{position:static;color:#3a2418;border-bottom:1px solid #b59a79}.t4.content-page .brand span{border-color:#3a2418}.t4.content-page .subhero{padding-top:70px}
@media(max-width:820px){.detail-cover{position:static;width:min(100%,480px);margin:auto}.t4.content-page .site-header{padding:16px;inset:auto}.t4.content-page .site-header nav{width:100%}}
@media(max-width:540px){.content-page .subhero{padding-top:38px}.detail-copy h1{font-size:34px}.t4.content-page .site-header{height:auto}.t4.content-page .subhero{padding-top:38px}}

@media(max-width:540px){.site-header,.detail-header{height:auto!important}.site-header nav,.detail-header nav{max-width:100%;overflow:visible}.home h1{overflow-wrap:anywhere}}

.site-header.reference-nav{position:sticky!important;top:0!important;left:auto!important;right:auto!important;z-index:1100!important;width:100%!important;max-width:none!important;height:auto!important;min-height:82px!important;margin:0!important;padding:0 24px!important;display:block!important;border:0!important;border-radius:0!important;background:#0d1914!important;color:#d9e0da!important;box-shadow:none!important;backdrop-filter:none!important}
.reference-nav .reference-nav-inner{position:relative;width:min(1220px,100%);min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.reference-nav .mobile-brand{display:none;color:#fff!important;text-decoration:none!important;font-size:18px;font-weight:900;letter-spacing:.02em}
.reference-nav .nav-toggle,.reference-nav .nav-toggle-label{display:none}
.reference-nav .reference-links{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,3vw,52px)!important;width:100%!important;margin:0!important;padding:0!important;position:static!important;background:none!important;border:0!important}
.reference-nav .reference-links a{display:inline-flex!important;align-items:center;justify-content:center;min-height:82px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#d7ded8!important;font-size:clamp(16px,1.38vw,21px)!important;font-weight:850!important;line-height:1!important;letter-spacing:.015em;white-space:nowrap;text-decoration:none!important;box-shadow:none!important}
.reference-nav .reference-links a:hover{color:#fff!important}.reference-nav .reference-links a[aria-current="page"]{color:#ffc928!important;background:transparent!important;box-shadow:none!important}
.reference-nav .reference-links a.download-link{color:#d7ded8!important}.reference-nav .reference-links a.download-link:hover{color:#ffc928!important}
.t4.home .reference-nav+main{padding-top:0!important}
@media(max-width:760px){
  .site-header.reference-nav{min-height:64px!important;padding:0 16px!important}
  .reference-nav .reference-nav-inner{min-height:64px;justify-content:space-between;gap:18px}
  .reference-nav .mobile-brand{display:inline-flex;align-items:center;min-height:64px}
  .reference-nav .nav-toggle-label{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:40px;margin-left:auto;padding:0 15px;border:1px solid #536159;border-radius:6px;color:#f3f6f3;font-size:14px;font-weight:850;cursor:pointer;user-select:none}
  .reference-nav .nav-toggle-label::after{content:'＋';margin-left:8px;color:#ffc928;font-size:18px;line-height:1}
  .reference-nav .nav-toggle:checked+.nav-toggle-label::after{content:'−'}
  .reference-nav .nav-toggle:not(:checked)~.reference-links{display:none!important}
  .reference-nav .reference-links{position:absolute!important;top:50px!important;right:0!important;z-index:1200!important;width:min(270px,calc(100vw - 32px))!important;padding:10px!important;display:grid!important;grid-template-columns:1fr!important;gap:2px!important;border:1px solid #39473f!important;border-radius:8px!important;background:#0d1914!important;box-shadow:0 18px 38px rgba(0,0,0,.3)!important}
  .reference-nav .reference-links a{justify-content:flex-start!important;min-height:46px!important;padding:0 14px!important;border-radius:5px!important;font-size:16px!important}
  .reference-nav .reference-links a:hover,.reference-nav .reference-links a[aria-current="page"]{background:#18271f!important}
}

.reference-nav .reference-nav-inner{width:min(1320px,100%);justify-content:flex-start;gap:28px}
.reference-nav .mobile-brand{display:inline-flex!important;align-items:center;gap:10px;flex:0 0 auto;min-height:82px;color:#f7f7f5!important;text-decoration:none!important;white-space:nowrap}
.reference-nav .mobile-brand img{display:block;width:42px;height:42px;object-fit:contain;flex:0 0 42px}
.reference-nav .mobile-brand span{font-size:20px;font-weight:900;line-height:1;letter-spacing:.01em}
.reference-nav .reference-links{width:auto!important;flex:1 1 auto!important;gap:clamp(16px,2vw,34px)!important}
@media(max-width:900px){
  .reference-nav .reference-nav-inner{min-height:64px;gap:14px}
  .reference-nav .mobile-brand{min-height:64px;gap:8px}
  .reference-nav .mobile-brand img{width:36px;height:36px;flex-basis:36px}
  .reference-nav .mobile-brand span{font-size:18px}
}
.official-main{--oc-accent:#ffca28;--oc-bg:#f4f6f8;--oc-card:#fff;--oc-text:#172033;--oc-muted:#667085;--oc-line:#e3e7ed;box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;min-height:70vh;padding:58px max(20px,calc((100vw - 1200px)/2)) 84px;background:var(--oc-bg);color:var(--oc-text)}
.t1 .official-main,.t4 .official-main{--oc-bg:#0d0e11;--oc-card:#17181d;--oc-text:#f7f7f5;--oc-muted:#b7b8bf;--oc-line:#303138}
.official-main *{box-sizing:border-box}.official-main a{text-decoration:none}.official-main img{max-width:100%;height:auto}.official-hero{display:grid;width:100%;max-width:1200px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);align-items:center;gap:56px;margin:0 auto 58px;padding:54px;border:1px solid var(--oc-line);border-radius:24px;background:var(--oc-card);overflow:hidden}.official-hero-copy{min-width:0;max-width:720px}.official-kicker{display:block;margin-bottom:15px;color:var(--oc-accent);font-size:13px;font-weight:900;letter-spacing:.16em}.official-hero h1{width:auto;max-width:800px;margin:0 0 20px;color:var(--oc-text);font-size:clamp(38px,4.4vw,62px);line-height:1.04;letter-spacing:-.035em;writing-mode:horizontal-tb;word-break:normal;overflow-wrap:break-word}.official-hero p{margin:0;color:var(--oc-muted);font-size:18px;line-height:1.85}.official-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.official-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--oc-line);border-radius:8px;color:var(--oc-text);font-weight:850}.official-actions .official-primary{border-color:var(--oc-accent);background:var(--oc-accent);color:#10130f}.official-hero-art{display:grid;min-width:0;max-width:420px;grid-template-columns:repeat(2,1fr);gap:12px;transform:rotate(2deg)}.official-hero-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;box-shadow:0 16px 30px rgba(0,0,0,.18)}.official-hero-art img:last-child{margin-top:30px}
.official-section{margin-top:62px}.official-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.official-section-head h2{margin:0;color:var(--oc-text);font-size:clamp(28px,3vw,42px);letter-spacing:-.025em}.official-section-head p{max-width:560px;margin:0;color:var(--oc-muted);font-size:15px;line-height:1.7}.official-poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.official-poster-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--oc-line);border-radius:16px;background:var(--oc-card);transition:transform .2s ease,box-shadow .2s ease}.official-poster-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.12)}.official-poster-card>a{display:block;color:inherit}.official-poster-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#d8dbe0}.official-poster-copy{padding:16px 17px 19px}.official-poster-copy small{display:block;margin-bottom:7px;color:var(--oc-accent);font-weight:850}.official-poster-copy h3{min-height:2.7em;margin:0 0 8px;color:var(--oc-text);font-size:18px;line-height:1.35}.official-poster-copy p{margin:0;color:var(--oc-muted);font-size:14px;line-height:1.65}.official-badge{position:absolute;top:12px;left:12px;z-index:2;padding:7px 10px;border-radius:6px;background:var(--oc-accent);color:#111;font-size:12px;font-weight:900}
.official-genre-grid,.official-service-grid,.official-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.official-genre-card,.official-service-card,.official-choice-card{min-height:150px;padding:25px;border:1px solid var(--oc-line);border-radius:16px;background:var(--oc-card);color:var(--oc-text)}.official-genre-card b,.official-service-card b,.official-choice-card b{display:block;margin-bottom:10px;font-size:20px}.official-genre-card p,.official-service-card p,.official-choice-card p{margin:0;color:var(--oc-muted);font-size:14px;line-height:1.7}.official-genre-card span{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:18px;border-radius:50%;background:var(--oc-accent);color:#111;font-size:12px;font-weight:900}
.official-banner{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:30px;margin-top:60px;padding:28px;border:1px solid var(--oc-line);border-radius:20px;background:var(--oc-card)}.official-banner img{width:180px;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.official-banner h2{margin:0 0 10px;color:var(--oc-text);font-size:30px}.official-banner p{margin:0;color:var(--oc-muted);line-height:1.8}
.official-detail{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:56px;align-items:start}.official-detail-cover{position:sticky;top:112px;margin:0}.official-detail-cover img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.2)}.official-detail-copy{padding-top:22px}.official-detail-copy h1{margin:10px 0 18px;color:var(--oc-text);font-size:clamp(38px,4.4vw,60px);line-height:1.06}.official-detail-copy>.official-lead{max-width:720px;color:var(--oc-muted);font-size:18px;line-height:1.85}.official-tags{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.official-tags span{padding:8px 12px;border:1px solid var(--oc-line);border-radius:999px;color:var(--oc-text);font-size:13px;font-weight:750}.official-detail-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.official-detail-points article{padding:22px;border:1px solid var(--oc-line);border-radius:14px;background:var(--oc-card)}.official-detail-points h2{margin:0 0 9px;color:var(--oc-text);font-size:17px}.official-detail-points p{margin:0;color:var(--oc-muted);font-size:14px;line-height:1.7}.official-pagination{display:flex;justify-content:space-between;gap:12px;margin-top:38px;padding-top:24px;border-top:1px solid var(--oc-line)}.official-pagination a{color:var(--oc-text);font-weight:800}
.official-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;color:var(--oc-muted);font-size:14px}.official-breadcrumb a{color:var(--oc-accent);font-weight:750}.official-story{max-width:760px;margin-top:30px;padding-top:26px;border-top:1px solid var(--oc-line)}.official-story h2{margin:0 0 14px;color:var(--oc-text);font-size:24px}.official-story p{margin:0 0 14px;color:var(--oc-muted);font-size:16px;line-height:1.9}

.t4 .official-detail{max-width:1080px;margin:auto;padding:36px;border:1px solid var(--oc-line);border-radius:22px;background:var(--oc-card)}
.official-footer{padding:34px max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:#08110d;color:#d9e0da;border:0!important}.official-footer strong{font-size:20px}.official-footer p{margin:7px 0 0;color:#929e97;font-size:13px}.official-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px}.official-footer a{color:#d9e0da;text-decoration:none;font-size:14px;font-weight:750}
@media(max-width:900px){.official-hero,.variant-2 .official-hero,.variant-3 .official-hero,.t3 .official-main:not(.official-home) .official-hero{grid-template-columns:1fr;padding:34px}.official-hero-art{max-width:420px}.official-poster-grid,.variant-3 .official-poster-grid,.variant-4 .official-poster-grid{grid-template-columns:repeat(3,1fr)}.official-genre-grid,.official-service-grid,.official-choice-grid,.variant-5 .official-choice-grid{grid-template-columns:repeat(2,1fr)}.official-detail,.t3 .official-detail{grid-template-columns:300px 1fr;gap:32px}.official-detail-points{grid-template-columns:1fr}.official-footer{align-items:flex-start;flex-direction:column}.official-footer nav{justify-content:flex-start}}
@media(max-width:600px){.official-main{padding:34px 16px 60px}.official-hero,.variant-1 .official-hero,.variant-2 .official-hero,.variant-3 .official-hero,.variant-4 .official-hero,.variant-5 .official-hero{gap:30px;min-height:0;margin-bottom:40px;padding:26px 20px;border-radius:16px}.official-hero h1,.variant-1 .official-hero h1,.variant-4 .official-hero h1{font-size:34px}.official-hero p{font-size:16px}.official-hero-art{grid-template-columns:repeat(2,1fr)}.official-section{margin-top:44px}.official-section-head{display:block}.official-section-head p{margin-top:8px}.official-poster-grid,.variant-1 .official-poster-grid,.variant-3 .official-poster-grid,.variant-4 .official-poster-grid,.variant-5 .official-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.official-poster-copy{padding:12px}.official-poster-copy h3{font-size:15px}.official-poster-copy p{font-size:12px}.official-genre-grid,.official-service-grid,.official-choice-grid,.variant-5 .official-choice-grid{grid-template-columns:1fr 1fr;gap:10px}.official-genre-card,.official-service-card,.official-choice-card{min-height:132px;padding:17px}.official-banner{grid-template-columns:105px 1fr;gap:16px;padding:16px}.official-banner img{width:105px}.official-banner h2{font-size:22px}.official-banner p{font-size:13px}.official-detail,.t3 .official-detail,.t4 .official-detail,.t5 .official-detail{grid-template-columns:1fr;padding:0;border:0;background:transparent}.official-detail-cover{position:static;max-width:310px;margin:0 auto}.official-detail-copy h1{font-size:36px}.official-detail-points{grid-template-columns:1fr}.official-footer{padding:28px 16px}.official-footer nav{gap:14px}}

.official-footer{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box;
}

body.t4 { background: #0d0e11 !important; color: #f7f7f5 !important; }

footer,
footer.official-footer,
body > footer,
.t1 footer.official-footer,
.t2 footer.official-footer,
.t3 footer.official-footer,
.t4 footer.official-footer,
.t5 footer.official-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  padding: 36px max(24px, calc((100% - 1200px) / 2)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  background: #0b0e14 !important;
  color: #e2e8f0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
}

.t4 footer.official-footer {
  background: #120e0c !important;
  color: #f5ebe6 !important;
}

@media (max-width: 900px) {
  footer,
  footer.official-footer,
  body > footer,
  .t1 footer.official-footer,
  .t2 footer.official-footer,
  .t3 footer.official-footer,
  .t4 footer.official-footer,
  .t5 footer.official-footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 28px 20px !important;
    gap: 16px !important;
  }
}

.reference-nav{
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 30px rgba(3,10,7,.16)!important;
}
.reference-nav .reference-links a{
  position:relative;
  transition:color .18s ease,background-color .18s ease,transform .18s ease;
}
.reference-nav .reference-links a:not(.download-link):hover{transform:translateY(-1px)}
.reference-nav .reference-links a.download-link{
  min-height:42px!important;
  padding:0 19px!important;
  border-radius:999px!important;
  background:#ffc928!important;
  color:#142018!important;
  box-shadow:0 8px 22px rgba(255,201,40,.2)!important;
}
.reference-nav .reference-links a.download-link:hover{
  background:#ffd85d!important;
  color:#101712!important;
  transform:translateY(-1px);
}
.official-hero,.variant-2 .official-category-hero,.variant-3 .official-weekly-dashboard{
  box-shadow:0 24px 70px rgba(15,23,42,.10);
}
.official-section-head{
  padding-bottom:18px;
  border-bottom:1px solid var(--oc-line);
}
.official-poster-card{
  isolation:isolate;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.official-poster-card img{transition:transform .28s ease,filter .28s ease}
.official-poster-card:hover img{transform:scale(1.025);filter:saturate(1.04)}
.official-poster-copy h3{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.official-actions a{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.official-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.12)}

.official-footer strong{letter-spacing:.02em}
.official-footer a{transition:color .18s ease}
.official-footer a:hover{color:#ffc928!important}
@media(max-width:720px){
  .reference-nav .reference-links a.download-link{
    min-height:46px!important;
    padding:0 14px!important;
    border-radius:6px!important;
  }

  .official-section-head{padding-bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .reference-nav .reference-links a,.official-poster-card,.official-poster-card img,.official-actions a{transition:none!important}
}

.site-nav-v6{--nav-bg:rgba(9,8,5,.96);--nav-ink:#f7f4eb;--nav-muted:#b9ae92;--nav-accent:#cda849;--nav-button:#cda849;--nav-button-ink:#141108;--nav-hover:rgba(205,168,73,.12);--nav-line:rgba(255,255,255,.10);--nav-shadow:rgba(0,0,0,.34);background:var(--nav-bg)!important;color:var(--nav-ink)!important;border-bottom:1px solid var(--nav-line)!important;box-shadow:0 10px 30px var(--nav-shadow)!important;backdrop-filter:blur(18px)!important}
.site-nav-v6 a{text-decoration:none}
.site-nav-v6.reference-nav{min-height:76px!important;padding:0 24px!important}
.site-nav-v6 .reference-nav-inner{width:min(1240px,100%)!important;min-height:76px!important;justify-content:space-between!important;gap:24px!important}
.site-nav-v6 .mobile-brand{display:inline-flex!important;align-items:center;gap:10px;min-height:76px!important;color:var(--nav-ink)!important}
.site-nav-v6 .mobile-brand img{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:12px}
.site-nav-v6 .mobile-brand span{font-size:18px!important;color:var(--nav-ink)!important}
.site-nav-v6 .reference-links{width:auto!important;flex:0 1 auto!important;justify-content:flex-end!important;gap:3px!important}
.site-nav-v6 .reference-links a{position:relative;min-height:76px!important;padding:0 10px!important;border-radius:10px!important;color:var(--nav-ink)!important;font-size:13px!important;font-weight:820!important}
.site-nav-v6 .reference-links a:not(.download-link):hover{background:var(--nav-hover)!important;color:var(--nav-accent)!important}
.site-nav-v6 .reference-links a[aria-current="page"]{color:var(--nav-accent)!important;box-shadow:inset 0 -2px 0 var(--nav-accent);}
.site-nav-v6 .reference-links a.download-link{min-height:42px!important;margin-left:7px;padding:0 18px!important;border-radius:999px!important;background:var(--nav-button)!important;color:var(--nav-button-ink)!important;box-shadow:0 8px 22px color-mix(in srgb,var(--nav-accent) 24%,transparent)!important}
.site-nav-v6 .reference-links a.download-link:hover{color:var(--nav-button-ink)!important;filter:brightness(1.06);transform:translateY(-1px)}
@media(max-width:1080px){
 .site-nav-v6.reference-nav{min-height:64px!important;padding:0 14px!important}
 .site-nav-v6 .reference-nav-inner{min-height:64px!important;gap:14px!important}
 .site-nav-v6 .mobile-brand{min-height:64px!important}.site-nav-v6 .mobile-brand img{width:36px!important;height:36px!important;flex-basis:36px!important}.site-nav-v6 .mobile-brand span{font-size:17px!important}
 .site-nav-v6 .nav-toggle-label{display:inline-flex!important;align-items:center;justify-content:center;min-width:64px;min-height:40px;margin-left:auto;padding:0 13px;border:1px solid var(--nav-line);border-radius:10px;background:var(--nav-hover);color:var(--nav-ink);font-size:13px;font-weight:850;cursor:pointer}
 .site-nav-v6 .nav-toggle-label:after{content:'＋';margin-left:7px;color:var(--nav-accent);font-size:17px}.site-nav-v6 .nav-toggle:checked+.nav-toggle-label:after{content:'−'}
 .site-nav-v6 .nav-toggle:not(:checked)~.reference-links{display:none!important}
 .site-nav-v6 .reference-links{position:absolute!important;top:58px!important;right:0!important;z-index:1200!important;width:min(300px,calc(100vw - 28px))!important;padding:10px!important;display:grid!important;grid-template-columns:1fr!important;gap:2px!important;border:1px solid var(--nav-line)!important;border-radius:14px!important;background:var(--nav-bg)!important;box-shadow:0 20px 45px var(--nav-shadow)!important}
 .site-nav-v6 .reference-links a,.site-nav-v6 .reference-links a.download-link{justify-content:flex-start!important;min-height:46px!important;margin:0!important;padding:0 14px!important;border-radius:9px!important;box-shadow:none!important;font-size:15px!important}
}

.official-main .official-hero p{max-width:760px}.official-main .official-section-head p{line-height:1.8}

.detail-catalog .official-detail{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:32px;background:var(--panel);padding:clamp(20px,4vw,48px);border-radius:30px}.detail-catalog .official-detail-cover{max-width:430px;margin:auto}.detail-catalog .official-detail-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-catalog .official-detail-copy>h1,.detail-catalog .official-detail-copy>.official-kicker,.detail-catalog .official-detail-copy>.official-lead,.detail-catalog .official-detail-copy>.official-tags,.detail-catalog .official-detail-copy>.official-actions,.detail-catalog .official-detail-copy>.official-pagination{grid-column:1/-1}.detail-catalog .official-story,.detail-catalog .official-detail-points{align-self:start}.detail-catalog .official-detail-points{grid-template-columns:1fr}.detail-catalog .official-poster-grid{grid-template-columns:repeat(5,1fr)}

@media(max-width:760px){.detail-cinema .official-detail,.detail-editorial .official-detail,.detail-catalog .official-detail{grid-template-columns:1fr}.detail-catalog .official-detail-copy{display:block}.official-detail-copy h1{overflow-wrap:anywhere}.detail-cinema .official-poster-grid,.detail-matrix .official-poster-grid,.detail-catalog .official-poster-grid,.detail-immersive .official-poster-grid{grid-template-columns:repeat(2,1fr)}}

/* anime-display-ratio-fix: 海报原图为 2:3 */
.poster-card img,.official-hero-art img,.official-poster-card img,.official-banner img,.official-detail-cover img{aspect-ratio:2/3!important;object-fit:cover!important;object-position:center!important}

/* Commercial Portal Components */
.portal-hero {
    padding: 60px 0 35px;
    border-bottom: 1px solid var(--line);
}
.portal-hero h1 {
    font-size: clamp(32px, 4.5vw, 54px);
    margin: 14px 0;
    line-height: 1.1;
    letter-spacing: -.03em;
}
.portal-hero p {
    font-size: 17px;
    color: var(--muted);
    max-width: 680px;
    margin: 0;
    line-height: 1.8;
}
.filter-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 25px 0 10px;
}
.filter-tab {
    padding: 8px 18px;
    border-radius: 99px;
    background: var(--soft);
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
    border: 1px solid var(--line);
    transition: all .2s;
}
.filter-tab:hover, .filter-tab.active {
    background: var(--accent);
    color: var(--accent-ink);
    border-color: var(--accent);
}
.shelf-section {
    padding: 45px 0;
    border-bottom: 1px solid var(--line);
}
.shelf-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.shelf-head h2 {
    font-size: 24px;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.shelf-head h2:before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 20px;
    background: var(--accent);
    border-radius: 2px;
}

/* Schedule Matrix */
.schedule-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    margin: 25px 0 35px;
}
.schedule-day-btn {
    padding: 14px 6px;
    text-align: center;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--ink);
    transition: all .25s;
}
.schedule-day-btn b {
    display: block;
    font-size: 16px;
}
.schedule-day-btn small {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-top: 4px;
}
.schedule-day-btn:hover, .schedule-day-btn.active {
    background: var(--accent);
    color: var(--accent-ink);
    border-color: var(--accent);
}
.schedule-day-btn:hover small, .schedule-day-btn.active small {
    color: var(--accent-ink);
}
.schedule-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.schedule-card {
    display: flex;
    gap: 16px;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 12px;
    align-items: center;
    transition: transform .25s, border-color .25s;
}
.schedule-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
}
.schedule-card img {
    width: 82px;
    height: 110px;
    border-radius: 10px;
    object-fit: cover;
    flex: none;
}
.schedule-info {
    flex: 1;
    min-width: 0;
}
.schedule-info h3 {
    margin: 0 0 6px;
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.schedule-info p {
    margin: 0 0 8px;
    font-size: 13px;
    color: var(--muted);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.schedule-tags {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 12px;
}
.schedule-badge {
    background: color-mix(in srgb, var(--accent) 18%, transparent);
    color: var(--accent);
    padding: 3px 8px;
    border-radius: 6px;
    font-weight: 700;
}

/* Feature Quad */
.feature-quad {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 40px 0;
}
.feature-card {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 30px 24px;
    text-align: left;
    transition: transform .3s;
}
.feature-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent);
}
.feature-icon {
    font-size: 38px;
    margin-bottom: 16px;
    display: inline-block;
}
.feature-card h3 {
    font-size: 20px;
    margin: 0 0 10px;
}
.feature-card p {
    margin: 0;
    font-size: 14px;
    color: var(--muted);
    line-height: 1.7;
}

/* Milestone & Stats */
.stat-banner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 35px 20px;
    margin: 35px 0;
    text-align: center;
}
.stat-item b {
    font-size: clamp(28px, 3.5vw, 42px);
    color: var(--accent);
    display: block;
    font-weight: 900;
}
.stat-item span {
    font-size: 14px;
    color: var(--muted);
    margin-top: 6px;
    display: block;
}

@media (max-width: 900px) {
    .schedule-days { grid-template-columns: repeat(4, 1fr); }
    .schedule-grid { grid-template-columns: 1fr; }
    .feature-quad { grid-template-columns: repeat(2, 1fr); }
    .stat-banner { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
    .schedule-days { grid-template-columns: repeat(3, 1fr); }
    .feature-quad { grid-template-columns: 1fr; }
    .stat-banner { grid-template-columns: 1fr; }
}

/* Strict 2:3 Anime Poster & Ranking Podium Rules */
.portal-poster-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 22px !important;
}
.portal-card {
    display: block !important;
    min-width: 0 !important;
    background: var(--soft) !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
    color: inherit !important;
    text-decoration: none !important;
}
.portal-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.15) !important;
}
.portal-poster-thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 2/3 !important;
    overflow: hidden !important;
    background: #181d1a !important;
}
.portal-poster-thumb img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 2/3 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform .4s ease !important;
}
.portal-card:hover .portal-poster-thumb img {
    transform: scale(1.05) !important;
}
.portal-card-tag {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    background: rgba(10,15,12,.85) !important;
    color: #ffd859 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    backdrop-filter: blur(6px) !important;
}
.portal-card-index {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    background: var(--accent) !important;
    color: var(--accent-ink) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 2px 7px !important;
    border-radius: 6px !important;
}
.portal-card-copy {
    padding: 12px 14px 14px !important;
}
.portal-card-copy small {
    display: block !important;
    font-size: 11px !important;
    color: var(--accent) !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
}
.portal-card-copy h3 {
    margin: 0 0 6px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.portal-card-copy span {
    font-size: 12px !important;
    color: var(--muted) !important;
    display: block !important;
}

/* Podium Top 3 */
.podium-trio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: end !important;
    margin-bottom: 45px !important;
}
.podium-item {
    display: block !important;
    background: var(--soft) !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: transform .25s ease !important;
    color: inherit !important;
    text-decoration: none !important;
}
.podium-item:hover {
    transform: translateY(-5px) !important;
}
.podium-item.rank-1 {
    transform: translateY(-16px) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.25) !important;
}
.podium-item.rank-1:hover {
    transform: translateY(-22px) !important;
}
.podium-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: var(--accent) !important;
    color: var(--accent-ink) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    padding: 4px 12px !important;
    border-radius: 99px !important;
    letter-spacing: .05em !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.3) !important;
}

/* Rank 4~20 List */
.rank-line-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.rank-line-item {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 12px 18px !important;
    background: var(--soft) !important;
    border: 1px solid var(--line) !important;
    border-radius: 14px !important;
    transition: all .25s ease !important;
    color: inherit !important;
    text-decoration: none !important;
}
.rank-line-item:hover {
    background: color-mix(in srgb, var(--accent) 12%, var(--soft)) !important;
    border-color: var(--accent) !important;
    transform: translateX(6px) !important;
}
.rank-num {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: var(--accent) !important;
    width: 38px !important;
    text-align: center !important;
}
.rank-thumb {
    width: 60px !important;
    height: 84px !important;
    aspect-ratio: 2/3 !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    flex: none !important;
}
.rank-meta {
    flex: 1 !important;
    min-width: 0 !important;
}
.rank-meta h3 {
    margin: 0 0 4px !important;
    font-size: 16px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.rank-meta span {
    font-size: 12px !important;
    color: var(--muted) !important;
}
.rank-btn {
    color: var(--accent) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

@media (max-width: 1024px) {
    .portal-poster-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
    .portal-poster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
    .podium-trio { grid-template-columns: 1fr !important; gap: 16px !important; }
    .podium-item.rank-1 { transform: none !important; }
    .podium-item.rank-1:hover { transform: translateY(-4px) !important; }
}
/* Responsive Mobile-First H1 for Template 5 */
.gold-copy h1, #rank-h1 {
    font-size: clamp(34px, 3.4vw, 44px) !important;
    line-height: 1.25 !important;
    margin: 14px 0 16px !important;
    text-shadow: 0 3px 14px rgba(0,0,0,.7) !important;
}
.gold-copy h1 em, #rank-h1 em {
    display: block !important;
    font-style: normal !important;
    font-size: clamp(20px, 2.1vw, 26px) !important;
    line-height: 1.35 !important;
    color: var(--accent) !important;
    margin-top: 8px !important;
    font-weight: 750 !important;
}
.gold-copy>p {
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #ded9ca !important;
    max-width: 560px !important;
}
@media (max-width: 640px) {
    .ref-gold-hero { min-height: 480px !important; }
    .gold-copy { padding: 30px 16px !important; }
    .gold-copy h1, #rank-h1 {
        font-size: 24px !important;
        line-height: 1.3 !important;
        margin: 8px 0 12px !important;
    }
    .gold-copy h1 em, #rank-h1 em {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin-top: 6px !important;
    }
    .gold-copy>p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    .hero-actions {
        width: 100% !important;
        display: flex !important;
        gap: 10px !important;
    }
    .hero-actions .btn {
        flex: 1 !important;
        min-height: 44px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
    }
    .gold-copy ul {
        font-size: 11px !important;
        padding: 6px 14px !important;
        margin-top: 18px !important;
    }
}