:root{--bg:#0f172a;--text:#f8fafc;--muted:#94a3b8;--brand:#e11d48;--accent:#22d3ee;--panel:#1e293b;--line:#334155;--soft:#1e293b;--max:1100px;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.75}
img{max-width:100%;display:block;height:auto}a{color:var(--accent)}
.container{width:min(100% - 2rem,var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}
.brand{display:flex;gap:.6rem;align-items:center;color:var(--text);text-decoration:none;font-weight:800}
.brand img{width:40px;height:40px;border-radius:10px}.brand em{font-style:normal;color:var(--accent);margin-left:.25rem;font-size:.82rem}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:0;}
.menu-toggle .bar{display:block;width:18px;height:2px;background:currentColor;margin:0;}
.nav-desktop{display:flex;gap:1rem;flex-wrap:wrap}.nav-desktop a{color:var(--muted);text-decoration:none;font-weight:600}
.nav-desktop a.active,.nav-desktop a:hover{color:var(--text)}
#mobile-nav{display:none;border-top:1px solid var(--line);background:var(--panel)}
#mobile-nav.open{display:block}#mobile-nav a{display:block;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.ads-slot{width:min(100% - 2rem,var(--max));margin:1rem auto 0}
.prose h2,.section h2{margin:1.4rem 0 .6rem;font-size:clamp(1.2rem,2.2vw,1.55rem)}
.prose p{color:var(--muted);margin:0 0 .9rem}
.media{margin:1rem 0} .media img{border-radius:14px;border:1px solid var(--line);aspect-ratio:9/16;object-fit:cover;object-position:top;max-width:360px;background:#000}
.media figcaption{color:var(--muted);font-size:.88rem;margin-top:.45rem}
.outlinks{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.outlinks a{border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;text-decoration:none;color:var(--accent);background:color-mix(in srgb,var(--panel) 80%,transparent);font-weight:700}
.faq details{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;margin:0 0 .55rem;background:var(--panel)}
.faq summary{cursor:pointer;font-weight:700}
.site-footer{margin-top:2rem;padding:1.6rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.page-hero{padding:1.4rem 0}.legal{max-width:760px}
.btn,.btn-primary{display:inline-flex;padding:.65rem 1rem;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700}
.error-box{text-align:center;padding:4rem 1rem}
.hero h1,main h1{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.28;margin:0 0 .8rem}
@media(max-width:900px){.menu-toggle{display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.nav-desktop{display:none}.media img{max-width:100%;max-height:70vh}}
.tl-spine{position:relative;margin:1.5rem 0}.tl-spine:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--brand);transform:translateX(-50%)}
.tl-item{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:0 0 1.6rem;align-items:start}
.tl-item:nth-child(even) .copy{order:2}.tl-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem}
@media(max-width:900px){.tl-spine:before{left:10px}.tl-item,.tl-item:nth-child(even){grid-template-columns:1fr;padding-left:1.6rem}.tl-item:nth-child(even) .copy{order:initial}}
/* ads visibility lock */
.ads-slot{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:5}
.ads-wrap{display:block!important}
#ads{display:flex!important;min-height:90px}

/* desktop image clamp */
/* Keep phone screenshots compact on desktop; avoid stretching page height */
.media{display:flex;flex-direction:column;align-items:center}
.media figure{width:100%;max-width:280px;margin:0 auto}
.media img,
.hero-visual img,
.visual img,
.price-card img,
.shot-grid img,
.cine-rail img,
.bento .media img,
.tl-item .media img,
.split-block .media img,
.split-hero .visual img,
.mag-side img,
.folio-reader .media img{
  width:100%!important;
  max-width:280px!important;
  max-height:500px!important;
  height:auto!important;
  aspect-ratio:9/16;
  object-fit:cover!important;
  object-position:top center!important;
  margin-left:auto;
  margin-right:auto;
}
.hero-visual,
.visual{
  max-width:320px;
  margin-inline:auto;
}
.hero-visual img,
.split-hero .visual img{
  max-width:320px!important;
  max-height:560px!important;
  aspect-ratio:4/5;
}
.price-grid .price-card img{
  max-width:100%!important;
  max-height:360px!important;
  aspect-ratio:3/4;
}
.cine-frame{
  min-height:42vh!important;
  max-height:520px;
  background-size:cover!important;
  background-position:center top!important;
}
.cine-frame .band{padding:1.4rem 0 1.6rem}
.site-footer{position:relative;z-index:2}
@media (max-width:900px){
  .media figure{max-width:100%}
  .media img,
  .hero-visual img,
  .visual img,
  .shot-grid img,
  .cine-rail img,
  .tl-item .media img,
  .split-block .media img,
  .split-hero .visual img{
    max-width:100%!important;
    max-height:70vh!important;
  }
  .hero-visual,.visual{max-width:100%}
  .cine-frame{min-height:38vh!important;max-height:none}
}

/* SEO keyword highlight */
strong.kw,.kw,mark.kw{
  color:var(--brand,var(--accent,#d97706));
  font-weight:800;
  background:transparent;
  padding:0;
  border-radius:0;
}
h1 .kw,h1 mark.kw,h2 .kw,h2 mark.kw{
  background:transparent;
}

/* hamburger: force square hit area */
.menu-toggle{
  width:40px!important;height:40px!important;min-width:40px;min-height:40px;
  padding:0!important;box-sizing:border-box;
  display:none;align-items:center;justify-content:center;gap:5px;
  flex-direction:column;line-height:0;
}
.menu-toggle .bar{width:18px!important;height:2px!important;margin:0!important;flex:0 0 auto}
