.ip-project-index{padding-top:48px!important;padding-bottom:52px!important}.ip-index-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.55fr);gap:36px;align-items:end;margin-bottom:26px}.ip-index-heading p{margin:0 0 14px;color:#9ca4b0;line-height:1.7}.ip-project-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px}.ip-project-card{position:relative;isolation:isolate;display:flex;min-width:0;min-height:250px;padding:24px;border:1px solid #ffffff26;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#1a1e24,#0d1014);color:#f3f4f6;text-decoration:none;transform:translateY(0);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.ip-project-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(135deg,#dfff001e,transparent 58%);transition:opacity .35s}.ip-project-card:hover{transform:translateY(-8px);border-color:#dfff0080;box-shadow:0 24px 60px #0008}.ip-project-card:hover::before{opacity:1}.ip-project-card--ali{min-height:310px;background:linear-gradient(145deg,#242b20,#10140d 62%,#0c0e0b)}.ip-project-number{position:absolute;right:22px;top:20px;color:#78808b;font-size:.78rem;letter-spacing:.12em}.ip-project-card>div{margin-top:auto}.ip-project-card p{margin:0 0 10px;color:#dfff00;font-size:.72rem;letter-spacing:.12em}.ip-project-card h3{margin:0 0 10px;font-size:clamp(1.65rem,2.7vw,2.8rem);line-height:1.05}.ip-project-card div>span{color:#929aa7;font-size:.85rem}.ip-project-card i{position:absolute;right:22px;bottom:20px;width:44px;height:44px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#dfff00;transition:transform .35s,background .25s,color .25s}.ip-project-card:hover i{transform:rotate(45deg) scale(1.08);background:#dfff00;color:#0b0d08}.ip-child-main{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:150px 0 70px}.common-ip-hero,.ali-hero{padding:0 0 44px;border-bottom:1px solid #ffffff24}.common-ip-hero .back-link,.ali-hero .back-link{display:inline-block;margin-bottom:54px}.common-ip-hero h1{font-size:clamp(4rem,10vw,9rem);line-height:.86;margin:18px 0 28px}.common-ip-hero>p:last-child{max-width:62ch;color:#aab1bd;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.8}.common-ip-jumps{position:sticky;top:88px;z-index:4;display:flex;gap:8px;padding:14px 0;margin:0 0 18px;background:linear-gradient(#080a0ef2,#080a0edb);backdrop-filter:blur(14px)}.common-ip-jumps a{flex:1;padding:13px 16px;border:1px solid #ffffff24;border-radius:999px;color:#b8bfca;text-decoration:none;text-align:center;transition:background .25s,color .25s,transform .25s}.common-ip-jumps a:hover{background:#dfff00;color:#0c0e09;transform:translateY(-2px)}.common-ip-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.common-ip-sections article{min-height:270px;padding:clamp(24px,3vw,42px);border:1px solid #ffffff20;border-radius:18px;background:linear-gradient(145deg,#171a20,#0c0f13)}.common-ip-sections article>span{color:#dfff00;font-size:.75rem;letter-spacing:.12em}.common-ip-sections h2{margin:54px 0 14px;font-size:clamp(2rem,4vw,4rem)}.common-ip-sections p{max-width:58ch;color:#a8b0bc;line-height:1.8}.common-ip-sections em,.ali-story em{display:inline-block;margin-top:20px;color:#6f7782;font-size:.78rem;font-style:normal}.ip-sibling-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px}.ip-sibling-nav a{position:relative;padding:24px;border:1px solid #ffffff24;border-radius:16px;color:#fff;text-decoration:none;transition:border-color .25s,transform .25s}.ip-sibling-nav a:hover{border-color:#dfff00;transform:translateY(-4px)}.ip-sibling-nav span{display:block;color:#8d95a1;font-size:.76rem;margin-bottom:10px}.ip-sibling-nav strong{font-size:1.35rem}.ip-sibling-nav i{position:absolute;right:22px;top:50%;color:#dfff00;font-style:normal;transform:translateY(-50%)}.ali-hero{padding-bottom:30px}.ali-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:end}.ali-hero h1{margin:12px 0 0;font-size:clamp(4.5rem,11vw,10rem);line-height:.78;letter-spacing:-.07em}.ali-hero h1 span{color:#dfff00}.ali-intro{padding-bottom:12px}.ali-intro p{font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.55;margin:0 0 18px}.ali-intro span{color:#808894;font-size:.8rem}.ali-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:48px}.ali-progress span{padding:13px;border-top:2px solid #dfff00;color:#aeb5c0;font-size:.8rem}.ali-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;padding:30px 0}.ali-story-lead{padding:clamp(24px,4vw,54px);border-radius:18px;background:#dfff00;color:#0a0c08}.ali-story-lead>span{font-size:.75rem;letter-spacing:.12em}.ali-story-lead h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.95;margin:70px 0 24px}.ali-story-lead p{line-height:1.8}.ali-story-lead em{color:#354000}.ali-stage-list{display:grid;gap:10px}.ali-stage-list article{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:24px;border:1px solid #ffffff20;border-radius:16px;background:#12161b;transition:transform .25s,border-color .25s}.ali-stage-list article:hover{transform:translateX(7px);border-color:#dfff0070}.ali-stage-list article>span{font-size:2.4rem;color:#3d444e}.ali-stage-list p{margin:0 0 6px;color:#dfff00;font-size:.7rem;letter-spacing:.12em}.ali-stage-list h3{margin:0 0 8px;font-size:1.55rem}.ali-stage-list small{color:#929aa6;font-size:.9rem}.ali-canvas{min-height:360px;display:flex;align-items:end;justify-content:space-between;gap:30px;padding:clamp(28px,5vw,70px);border:1px solid #ffffff22;border-radius:18px;background:radial-gradient(circle at 80% 20%,#dfff0021,transparent 34%),linear-gradient(145deg,#171c20,#090b0e);overflow:hidden}.ali-canvas p{color:#dfff00;font-size:.72rem;letter-spacing:.14em}.ali-canvas h2{max-width:18ch;font-size:clamp(2rem,4.3vw,4.5rem);line-height:1.08}.ali-canvas>span{writing-mode:vertical-rl;color:#737b86;font-size:.7rem;letter-spacing:.16em}
.ip-project-card--ali,.ip-project-card--temple,.ip-project-card--other{--project-color:#dfff00;--project-color-rgb:223,255,0;min-height:310px;border-color:rgb(var(--project-color-rgb)/.36);background:linear-gradient(135deg,rgb(var(--project-color-rgb)/.26),#11151a 50%,#0b0d11 100%)}
.ip-project-card--ali{--project-color:#ff3e52;--project-color-rgb:255,62,82;background:radial-gradient(circle at 78% 12%,#ff3e524d,transparent 38%),linear-gradient(135deg,#4a101b,#1b0c12 55%,#0b0d11 100%)}
.ip-project-card--temple{--project-color:#ff8b25;--project-color-rgb:255,139,37;background:radial-gradient(circle at 78% 12%,#ff8b254d,transparent 38%),linear-gradient(135deg,#4a250b,#1f120a 55%,#0b0d11 100%)}
.ip-project-card--other{--project-color:#2f8cff;--project-color-rgb:47,140,255;background:radial-gradient(circle at 78% 12%,#2f8cff4d,transparent 38%),linear-gradient(135deg,#0e2c57,#0b172b 55%,#0b0d11 100%)}
.ip-project-card--ali::before,.ip-project-card--temple::before,.ip-project-card--other::before{background:linear-gradient(130deg,rgb(var(--project-color-rgb)/.54),transparent 58%)}
.ip-project-card--ali::after,.ip-project-card--temple::after,.ip-project-card--other::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.24;background-image:linear-gradient(rgb(255 255 255/.11) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255/.11) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(135deg,transparent 5%,#000 52%,transparent 110%)}
.ip-project-card--ali p,.ip-project-card--temple p,.ip-project-card--other p,.ip-project-card--ali i,.ip-project-card--temple i,.ip-project-card--other i{color:var(--project-color)}
.ip-project-card--ali:hover,.ip-project-card--temple:hover,.ip-project-card--other:hover{border-color:var(--project-color);box-shadow:0 24px 64px rgb(var(--project-color-rgb)/.20),0 24px 60px #0008}
.ip-project-card--ali:hover i,.ip-project-card--temple:hover i,.ip-project-card--other:hover i{background:var(--project-color);color:#090b0e;box-shadow:0 0 0 7px rgb(var(--project-color-rgb)/.11)}
.ip-project-card--ali:focus-visible,.ip-project-card--temple:focus-visible,.ip-project-card--other:focus-visible{outline:2px solid var(--project-color);outline-offset:4px}

/* Project portals: vivid blocks with restrained, interaction-led motion. */
.ip-project-card--ali,.ip-project-card--temple,.ip-project-card--other{
  --card-x:76%;
  --card-y:18%;
  border-color:#ffffff78;
  background-position:center;
  box-shadow:inset 0 1px 0 #ffffff30,0 16px 42px #0006;
  cursor:pointer;
  transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s,filter .4s;
}
.ip-project-card--ali{
  --project-color:#ff173f;
  --project-color-rgb:255,23,63;
  background:linear-gradient(125deg,#ff2149 0%,#ef003d 58%,#a90031 100%);
}
.ip-project-card--temple{
  --project-color:#f5ad72;
  --project-color-rgb:236,151,84;
  background:linear-gradient(125deg,#f3ad72 0%,#de8747 58%,#9c512f 100%);
}
.ip-project-card--other{
  --project-color:#2384ff;
  --project-color-rgb:35,132,255;
  background:linear-gradient(125deg,#238fff 0%,#075ee8 58%,#073695 100%);
}
.ip-project-card--ali::before,.ip-project-card--temple::before,.ip-project-card--other::before{
  inset:0;
  z-index:-1;
  opacity:.16;
  background:radial-gradient(340px circle at var(--card-x) var(--card-y),#ffffff80,transparent 66%);
  transition:opacity .35s;
}
.ip-project-card--ali::after,.ip-project-card--temple::after,.ip-project-card--other::after{
  inset:-8%;
  opacity:.22;
  background-image:repeating-radial-gradient(circle at 82% 18%,#ffffff38 0 1px,transparent 2px 34px),linear-gradient(#ffffff20 1px,transparent 1px),linear-gradient(90deg,#ffffff20 1px,transparent 1px);
  background-size:auto,34px 34px,34px 34px;
  mask-image:linear-gradient(125deg,transparent 4%,#000 42%,#000 86%,transparent 112%);
  transition:opacity .4s,transform .7s cubic-bezier(.16,1,.3,1);
}
.ip-project-card--ali>div,.ip-project-card--temple>div,.ip-project-card--other>div{position:relative;z-index:1}
.ip-project-card--ali p,.ip-project-card--temple p,.ip-project-card--other p{color:#fff;font-weight:700;text-shadow:0 1px 14px #0005}
.ip-project-card--ali div>span,.ip-project-card--temple div>span,.ip-project-card--other div>span,.ip-project-card--ali .ip-project-number,.ip-project-card--temple .ip-project-number,.ip-project-card--other .ip-project-number{color:#fff;opacity:.78}
.ip-project-card h3{transition:transform .38s cubic-bezier(.16,1,.3,1),text-shadow .3s}
.ip-project-card--ali i,.ip-project-card--temple i,.ip-project-card--other i{
  z-index:2;
  width:52px;
  min-width:0;
  height:52px;
  padding:0;
  border-color:#ffffff80;
  color:#fff;
  background:#08090b26;
  box-shadow:inset 0 1px 0 #ffffff28,0 8px 24px #0003;
  backdrop-filter:blur(6px);
  transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s,color .3s,box-shadow .35s,border-color .3s;
}
.ip-project-card i::before{content:none}
.ip-project-card--ali:hover,.ip-project-card--temple:hover,.ip-project-card--other:hover{
  transform:translateY(-7px) scale(1.008);
  border-color:#fff;
  filter:saturate(1.04) brightness(1.025);
  box-shadow:0 22px 60px rgb(var(--project-color-rgb)/.25),0 26px 62px #0008,inset 0 1px 0 #ffffff4d;
}
.ip-project-card--ali:hover::before,.ip-project-card--temple:hover::before,.ip-project-card--other:hover::before,.ip-project-card--ali:focus-visible::before,.ip-project-card--temple:focus-visible::before,.ip-project-card--other:focus-visible::before{opacity:.58}
.ip-project-card--ali:hover::after,.ip-project-card--temple:hover::after,.ip-project-card--other:hover::after,.ip-project-card--ali:focus-visible::after,.ip-project-card--temple:focus-visible::after,.ip-project-card--other:focus-visible::after{opacity:.38;transform:translate3d(6px,-5px,0) scale(1.018)}
.ip-project-card:hover h3,.ip-project-card:focus-visible h3{transform:translateX(5px);text-shadow:0 8px 24px #0005}
.ip-project-card--ali:hover i,.ip-project-card--temple:hover i,.ip-project-card--other:hover i,.ip-project-card--ali:focus-visible i,.ip-project-card--temple:focus-visible i,.ip-project-card--other:focus-visible i{transform:rotate(45deg) scale(1.08);background:#fff;color:#08090b;border-color:#fff;box-shadow:0 0 0 7px #ffffff1f,0 12px 28px #0004}
.ip-project-card:active{transform:translateY(-4px) scale(.992)}
@media(max-width:640px){.ip-project-card--ali i,.ip-project-card--temple i,.ip-project-card--other i{width:48px;min-width:0;height:48px;padding:0}}
@media(hover:none){.ip-project-card--ali:hover,.ip-project-card--temple:hover,.ip-project-card--other:hover{transform:none}.ip-project-card:active{transform:scale(.985)}}
@media(prefers-reduced-motion:reduce){.ip-project-card:hover h3,.ip-project-card:focus-visible h3{transform:none}}
@media(max-width:900px){.ip-project-grid{grid-template-columns:1fr 1fr}.ip-project-card--ali{grid-column:1/-1}.ip-index-heading,.ali-hero-grid,.ali-story{grid-template-columns:1fr}.ali-intro{max-width:58ch}.common-ip-jumps{overflow-x:auto}.common-ip-jumps a{flex:0 0 auto}.ali-story-lead h2{margin-top:44px}.ip-child-main{padding-top:120px}}
@media(max-width:640px){.ip-project-index{padding-top:30px!important}.ip-index-heading,.ip-project-grid,.common-ip-sections,.ip-sibling-nav{grid-template-columns:1fr}.ip-project-card,.ip-project-card--ali{min-height:210px}.ip-child-main{width:min(100% - 32px,1320px);padding-top:100px}.common-ip-hero .back-link,.ali-hero .back-link{margin-bottom:36px}.common-ip-hero h1{font-size:clamp(3.5rem,18vw,6rem)}.ali-hero h1{font-size:clamp(4rem,20vw,7rem)}.ali-progress{grid-template-columns:repeat(2,1fr)}.ali-stage-list article{grid-template-columns:60px 1fr}.ali-canvas{min-height:300px}.ali-canvas>span{display:none}}
@media(hover:none){.ip-project-card:hover,.common-ip-jumps a:hover,.ip-sibling-nav a:hover,.ali-stage-list article:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.ip-project-card,.ip-project-card i,.common-ip-jumps a,.ip-sibling-nav a,.ali-stage-list article{transition:none}}

/* Temple Cat page: match the overseas detail-page type scale and archive rhythm. */
.temple-cat-page .common-ip-hero{padding-bottom:44px}
.temple-cat-page .common-ip-hero h1{font-size:clamp(3.25rem,7vw,7rem);line-height:1.02;letter-spacing:-.055em}
.temple-cat-page .temple-hero-subtitle{max-width:none;margin:0 0 16px;color:#d6dae2;font-size:clamp(1.15rem,1.9vw,2rem);line-height:1.55;letter-spacing:-.02em}
.temple-cat-page .temple-hero-copy{max-width:none;margin:0;color:#b9bfca;font-size:16px;line-height:1.85;letter-spacing:.45px}
.temple-cat-page .temple-character-intro{width:100%;min-width:0;box-sizing:border-box}
.temple-cat-page .temple-character-intro p{width:100%;max-width:none;margin:0;white-space:normal;overflow-wrap:anywhere}
.temple-cat-page .temple-character-intro p+p{margin-top:12px}
.temple-cat-page .temple-character-intro strong{font-size:inherit;font-weight:600;color:#d6dae2}

/* Temple Cat hero: world-setting copy and the complete cast share one safe,
   non-overlapping stage. The architecture stays decorative and behind the cast. */
.temple-cat-page .temple-hero{padding-bottom:44px}
.temple-cat-page .temple-hero>.back-link{margin-bottom:clamp(24px,3vw,38px)}
.temple-hero-stage{
  position:relative;
  isolation:isolate;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
  padding:clamp(26px,3.4vw,46px) clamp(20px,3.8vw,54px) 0;
  border:1px solid #ffffff24;
  border-radius:24px;
  background:
    radial-gradient(circle at 82% 20%,#df8c3b24 0,transparent 23%),
    radial-gradient(ellipse at 50% 104%,#b8733328 0,transparent 48%),
    linear-gradient(150deg,#171614 0,#0b0c0f 54%,#050608 100%);
  box-shadow:inset 0 1px #ffffff0b,0 28px 88px #0007;
}
.temple-hero-stage::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(110deg,transparent 0 58%,#edb56b0a 58.2% 58.5%,transparent 58.7%),
    repeating-linear-gradient(90deg,transparent 0 86px,#ffffff07 87px,transparent 88px);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 86%);
  mask-image:linear-gradient(to bottom,#000,transparent 86%);
}
.temple-hero-stage::after{
  content:"";
  position:absolute;
  z-index:0;
  left:4%;
  right:4%;
  bottom:0;
  height:38%;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,#d49b5b1d,transparent 64%);
  filter:blur(16px);
}
.temple-hero-atmosphere{position:absolute;z-index:-1;inset:0;pointer-events:none;overflow:hidden}
.temple-hero-atmosphere::before{
  content:"";
  position:absolute;
  right:10%;
  top:8%;
  width:clamp(120px,15vw,210px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,#d8b37a22 0 43%,#d8b37a0b 44% 61%,transparent 67%);
  filter:blur(.2px);
}
.temple-hero-atmosphere svg{display:block;width:100%;height:100%;opacity:.72}
.temple-hero-mountain{stroke:none}
.temple-hero-mountain--back{fill:#20242a66}
.temple-hero-mountain--front{fill:#11151a96}
.temple-hero-roof{fill:#11100ed9;stroke:#c38a4a35;stroke-width:2;vector-effect:non-scaling-stroke}
.temple-hero-content{position:relative;z-index:2;width:100%;min-width:0}
.temple-hero-content .case-kicker{margin:0;color:#dfff00;letter-spacing:.15em}
.temple-cat-page .temple-hero-content h1{margin:14px 0 22px}
.temple-hero-stage>.temple-hero-copy{position:relative;z-index:2;width:100%;max-width:none;padding:clamp(22px,2.6vw,34px) 0 clamp(26px,3vw,42px);border-top:1px solid #ffffff1b}
.temple-hero-stage>.temple-hero-copy p{position:relative;z-index:1;color:#c4c9d1;text-wrap:pretty}
.temple-hero-stage>.temple-hero-copy strong{color:#f0f2f4;font-weight:600}
.temple-hero-cast{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:clamp(190px,28vw,370px);
  margin:clamp(8px,1vw,14px) auto 0;
  padding:0;
}
.temple-hero-cast::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:1%;
  right:1%;
  bottom:-3%;
  height:28%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,#c486432e 0,#6e482019 38%,transparent 72%);
  filter:blur(16px);
}
.temple-hero-cast img{
  display:block;
  width:100%;
  height:auto;
  max-height:370px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 20px #0009) drop-shadow(0 0 18px #c5853c12);
}
@media(max-width:760px){
  .temple-hero-stage{padding:22px 16px 0;border-radius:18px}
  .temple-cat-page .temple-hero-content h1{margin:11px 0 18px}
  .temple-hero-stage>.temple-hero-copy{padding:20px 0 24px}
  .temple-hero-stage>.temple-hero-copy p+p{margin-top:10px}
  .temple-hero-cast{min-height:116px;margin-top:4px}
  .temple-hero-cast img{max-height:220px}
  .temple-hero-atmosphere svg{transform:scale(1.25);transform-origin:70% 50%;opacity:.56}
}
.temple-collection{padding:clamp(52px,6vw,86px) 0 0;scroll-margin-top:110px}
.temple-section-intro{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:end;border-top:1px solid #ffffff20;padding:24px 0 28px}
.temple-section-intro span{color:#dfff00;font-size:.8rem;letter-spacing:.14em}.temple-section-intro h2{margin:12px 0 0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;letter-spacing:-.04em}.temple-section-intro p{margin:0;color:#b9bfca;font-size:16px;line-height:1.85;letter-spacing:.45px}
.temple-carousel{margin-top:0;background:#11141a;border-color:#ffffff25}.temple-carousel .media-carousel-track{padding-top:18px}.temple-carousel .media-carousel-image{background:#0b0e12;border-color:#ffffff26;display:flex;align-items:center;justify-content:center;min-height:260px}.temple-carousel .media-carousel-image img{width:100%;height:auto;max-height:min(78vh,900px);aspect-ratio:auto;object-fit:contain}.temple-comic-carousel{margin-bottom:20px}
#character>.temple-carousel .media-carousel-image{background:linear-gradient(#a68f711f 1px,transparent 1px),linear-gradient(90deg,#a68f711f 1px,transparent 1px),radial-gradient(circle at 50% 38%,#fbf0dc,#e7d9c1 78%);background-size:32px 32px,32px 32px,auto;border-color:#bda88666}
#character>.temple-carousel .media-carousel-image img{mix-blend-mode:normal}
/* Compact scene gallery: size the frame, preserving each source image's ratio. */
.temple-scene-carousel{width:min(100%,1080px);margin-inline:auto;padding:clamp(12px,1.6vw,20px)}
.temple-scene-carousel .media-carousel-track{padding-top:8px;padding-bottom:14px}
.temple-scene-carousel .media-carousel-image{width:min(100%,720px,75vh);min-height:0;margin-inline:auto}
.temple-scene-carousel .media-carousel-image img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.temple-sticker-showcase{margin-top:18px;padding:clamp(20px,2.4vw,30px);border:1px solid #ffffff22;border-radius:18px;background:radial-gradient(circle at 88% 8%,#dfff0014,transparent 22%),linear-gradient(145deg,#15191f,#0d1014 74%);overflow:hidden}.temple-sticker-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid #ffffff18}.temple-sticker-heading span{color:#dfff00;font-size:.72rem;letter-spacing:.14em}.temple-sticker-heading h3{margin:9px 0 0;font-size:clamp(1.45rem,2.35vw,2.2rem);line-height:1.15;letter-spacing:-.035em}.temple-sticker-heading p{max-width:48ch;margin:0;color:#aeb5c0;font-size:.93rem;line-height:1.75;letter-spacing:.25px}.temple-sticker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(8px,1vw,14px);max-width:1000px;margin:20px 0 0;padding:0;list-style:none}.temple-sticker-card{min-width:0}.temple-sticker-frame{position:relative;display:grid;aspect-ratio:1;place-items:center;padding:8px;border:1px solid #ffffff22;border-radius:13px;background:radial-gradient(circle at 50% 16%,#ffffff12,transparent 56%),#0a0d11;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.temple-sticker-frame::after{content:"GIF";position:absolute;right:7px;bottom:6px;color:#dfff00;font-size:.58rem;letter-spacing:.12em;opacity:.72;pointer-events:none}.temple-sticker-frame img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}.temple-sticker-card:hover .temple-sticker-frame{transform:translateY(-4px);border-color:#dfff0090;box-shadow:0 14px 28px #0008}
.comic-episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.comic-episode-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:18px;border:1px solid #ffffff26;border-radius:18px;background:#11141a;color:#f4f5f7;text-align:left;cursor:pointer;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s,background .3s}.comic-episode-card:hover{transform:translateY(-5px);border-color:#dfff0090;box-shadow:0 18px 42px #0006}.comic-episode-card.is-active{border-color:#dfff00;background:linear-gradient(150deg,#151b14,#10141a 70%);box-shadow:0 14px 32px #dfff0018}.comic-episode-card>span{color:#dfff00;font-size:.72rem;letter-spacing:.14em;margin-bottom:12px}.comic-episode-card.is-active>span{color:#dfff00}.comic-episode-cover{height:250px;border:1px solid #ffffff20;border-radius:12px;background:#090b0e;display:flex;align-items:center;justify-content:center;overflow:hidden}.comic-episode-cover img{width:100%;height:100%;object-fit:contain;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.comic-episode-card:hover .comic-episode-cover img{transform:scale(1.035)}.comic-episode-cover--empty{background:linear-gradient(145deg,#16191d,#0b0d10);color:#6f7782}.comic-episode-cover--empty em{font-style:normal;font-size:.8rem;letter-spacing:.12em}.comic-episode-card strong{margin-top:16px;font-size:1.45rem}.comic-episode-card small{margin-top:8px;color:#929aa6;font-size:.88rem}.comic-episode-card i{margin-top:20px;color:#dfff00;font-size:.8rem;font-style:normal;letter-spacing:.08em}.comic-episode-panel[hidden]{display:none}
@media(max-width:900px){.temple-sticker-heading{align-items:start;flex-direction:column;gap:12px}.temple-sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:620px}.comic-episode-grid{grid-template-columns:repeat(3,minmax(240px,1fr));overflow-x:auto;padding-bottom:4px}.comic-episode-card{min-width:240px}}
@media(max-width:640px){.temple-cat-page .common-ip-hero h1{font-size:clamp(3rem,16vw,5rem)}.temple-cat-page .temple-hero-copy,.temple-section-intro p{font-size:16px;line-height:1.85}.temple-section-intro{grid-template-columns:1fr;gap:18px}.temple-sticker-showcase{margin-top:14px;padding:18px}.temple-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;margin-top:16px}.temple-sticker-frame{padding:6px;border-radius:11px}.comic-episode-grid{grid-template-columns:repeat(3,78vw);gap:10px}.comic-episode-cover{height:230px}}

/* Four-episode archive: keep all cards visible on wide screens and swipeable on smaller screens. */
.comic-episode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.temple-comic-intro{grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr);gap:clamp(32px,5.5vw,84px)}
.temple-comic-intro>p{width:100%;max-width:none}
@media(max-width:900px){.comic-episode-grid{grid-template-columns:repeat(4,minmax(220px,1fr))}.comic-episode-card{min-width:220px}}
@media(max-width:640px){.comic-episode-grid{grid-template-columns:repeat(4,78vw)}.temple-comic-intro{grid-template-columns:1fr;gap:18px}}

/* Detail-page chapter controls stay in normal document flow instead of floating over content. */
.common-ip-jumps,.case-jumps{position:relative;top:auto;z-index:1;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.case-page section{scroll-margin-top:1.5rem}

/* IP detail pages use the same hero scale as the Overseas detail page. */
.detail-body :is(.common-ip-hero h1,.ali-hero h1){
  font-size:var(--detail-title-size,clamp(2.8rem,5vw,5rem));
  line-height:1.2;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.detail-body .common-ip-hero h1{margin:18px 0 20px}
.detail-body .ali-hero h1{margin:12px 0 20px}
.detail-body :is(.common-ip-hero>p:not(.case-kicker):not(.temple-hero-copy),.ali-intro>p){
  font-size:var(--detail-subtitle-size,1.1rem);
  line-height:var(--detail-subtitle-leading,1.8);
  letter-spacing:0;
  color:#b9bfca;
  white-space:nowrap;
}
.detail-body .common-ip-hero>p:not(.case-kicker):not(.temple-hero-copy){max-width:90ch;margin:0 0 16px}
.detail-body .ali-intro>p{margin:0 0 18px}

@media(max-width:760px){
  .detail-body :is(.common-ip-hero h1,.ali-hero h1){
    font-size:clamp(2.35rem,10vw,3.8rem);
    line-height:1.12;
    white-space:nowrap;
  }
  .detail-body :is(.common-ip-hero>p:not(.case-kicker):not(.temple-hero-copy),.ali-intro>p){
    font-size:1rem;
    line-height:1.75;
    white-space:normal;
  }
}

/* Ali AI Wallpaper: opaque portrait works inside a dark, wide presentation frame. */
.ali-wallpaper-section{padding:clamp(48px,6vw,86px) 0 0;scroll-margin-top:110px}
.ali-wallpaper-heading{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:end;border-top:1px solid #ffffff20;padding:24px 0 28px}
.ali-wallpaper-heading h2{margin:12px 0 0;font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.08;letter-spacing:-.045em}
.ali-wallpaper-heading>p{margin:0;color:#b9bfca;font-size:16px;line-height:1.85;letter-spacing:.45px}
.ali-wallpaper-carousel{margin-top:0;background:#11141a;border-color:#ffffff25}
.ali-wallpaper-carousel .media-carousel-track{scroll-padding-inline:0;overflow-x:auto;padding-inline:0}
.ali-wallpaper-carousel .media-carousel-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;flex:0 0 100%;scroll-snap-align:start;align-items:start}
.ali-wallpaper-carousel .media-carousel-page.is-active{animation:ali-wallpaper-page-in .36s cubic-bezier(.2,.8,.2,1)}
.ali-wallpaper-carousel .media-carousel-item,.ali-wallpaper-carousel .media-carousel-item.is-active{flex-basis:auto;opacity:1;filter:none;transform:none}
.ali-wallpaper-carousel.is-single-view .media-carousel-page{grid-template-columns:1fr}
.ali-wallpaper-carousel .media-carousel-track{padding-top:18px}
.ali-wallpaper-carousel .media-carousel-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(430px,52vw,760px);background:radial-gradient(circle at 72% 18%,#1d4a76aa,transparent 22%),radial-gradient(circle at 23% 82%,#dfff0020,transparent 26%),linear-gradient(145deg,#1a1e26,#080a0e 72%);border-color:#ffffff28}
.ali-wallpaper-carousel .media-carousel-image::before,.ali-wallpaper-carousel .media-carousel-image::after{content:none}
.ali-wallpaper-carousel .media-carousel-image img{position:relative;z-index:1;width:auto;height:min(72vh,720px);max-width:calc(100% - 64px);aspect-ratio:auto;object-fit:contain;box-shadow:0 22px 48px #0009}
.ali-wallpaper-carousel .media-carousel-item figcaption{position:relative}
.ali-wallpaper-carousel .media-carousel-item figcaption strong{color:#f1f3f5}
.ali-wallpaper-copy{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:center;margin:0 0 4px;padding:clamp(16px,2vw,24px) 0 clamp(18px,2.2vw,26px);border-bottom:1px solid #ffffff20;background:linear-gradient(90deg,#171b2100,#171b2180 48%,#0c0f1300)}
.ali-wallpaper-copy-label{margin:0;color:#dfff00;font-size:.75rem;letter-spacing:.14em}
.ali-wallpaper-copy h3{margin:16px 0 0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.18;letter-spacing:-.035em}
.ali-wallpaper-copy>div:last-child{display:grid;gap:0;align-content:center}
.ali-wallpaper-copy p{margin:0;color:#b9bfca;font-size:16px;line-height:1.9;letter-spacing:.45px}
.ali-wallpaper-copy strong{color:#f3f5f7;font-weight:700}
@media(max-width:900px){.ali-wallpaper-heading,.ali-wallpaper-copy{grid-template-columns:1fr;gap:18px}.ali-wallpaper-carousel .media-carousel-image img{height:min(70vh,680px)}}
@keyframes ali-wallpaper-page-in{from{opacity:.35;transform:translateX(1.2%)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.ali-wallpaper-section{padding-top:52px}.ali-wallpaper-heading h2{font-size:clamp(2.1rem,9vw,3.2rem)}.ali-wallpaper-carousel .media-carousel-image{min-height:clamp(390px,118vw,620px)}.ali-wallpaper-carousel .media-carousel-image img{height:min(76vh,620px);max-width:calc(100% - 28px)}.ali-wallpaper-copy{padding:22px 0;grid-template-columns:1fr;gap:18px}.ali-wallpaper-copy h3{font-size:clamp(1.7rem,8vw,2.5rem)}.ali-wallpaper-carousel .media-carousel-page{grid-template-columns:1fr;gap:14px}}

/* Ali AI gallery development: compact Apple-like chapter slides. */
.ali-gallery-section{padding:clamp(38px,5vw,68px) 0 0;scroll-margin-top:110px}
.ali-gallery-heading{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:end;border-top:1px solid #ffffff20;padding:24px 0 28px}
.ali-gallery-heading h2{margin:12px 0 0;font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:1.08;letter-spacing:-.045em}
.ali-gallery-heading>p{margin:0;color:#b9bfca;font-size:16px;line-height:1.85;letter-spacing:.45px}
.ali-gallery-carousel{margin-top:0;background:linear-gradient(145deg,#151a21,#0b0e12 68%);border-color:#ffffff25}
.ali-gallery-carousel .media-carousel-track{padding-inline:0;gap:0;overflow-x:auto;scroll-snap-type:x mandatory}
.ali-gallery-carousel .media-carousel-item,.ali-gallery-carousel .media-carousel-item.is-active{flex:0 0 100%;opacity:1;filter:none;transform:none;scroll-snap-align:start}
.ali-gallery-slide{position:relative;display:block;width:100%;padding:clamp(16px,2.5vw,32px);border-color:#ffffff22;background:linear-gradient(135deg,#171c23,#0b0e12);cursor:pointer;overflow:hidden}
.ali-gallery-slide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#dfff00,transparent 45%,#2b65ff);opacity:.6;pointer-events:none}
.ali-gallery-cover{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,4vw,68px);align-items:center;min-height:clamp(330px,34vw,460px)}
.ali-gallery-cover-copy,.ali-gallery-spread-copy{display:grid;align-content:center;gap:0}
.ali-gallery-cover-copy span,.ali-gallery-spread-copy span{color:#dfff00;font-size:.72rem;letter-spacing:.14em}
.ali-gallery-cover-copy h4,.ali-gallery-spread-copy h4{margin:14px 0 12px;color:#f0f2f5;font-size:clamp(1.75rem,3vw,3rem);line-height:1.13;letter-spacing:-.035em}
.ali-gallery-cover-copy p,.ali-gallery-spread-copy p{margin:0;color:#aeb6c3;font-size:15px;line-height:1.85;letter-spacing:.35px}
.ali-gallery-cover-copy em,.ali-gallery-spread-copy em{margin-top:20px;color:#7f8997;font-size:.78rem;font-style:normal;letter-spacing:.08em}
.ali-gallery-cover-media{display:grid;place-items:center;min-height:300px;padding:14px;border:1px solid #ffffff20;border-radius:12px;background:#f4f5f3;box-shadow:0 18px 42px #0008}
.ali-gallery-cover-media img{display:block;width:100%;max-height:360px;object-fit:contain}
.ali-gallery-spread{display:grid;grid-template-columns:minmax(180px,.52fr) minmax(0,1.48fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:clamp(390px,42vw,520px)}
.ali-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ali-gallery-grid article{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #ffffff20;border-radius:10px;background:linear-gradient(145deg,#20252c,#11151a);transition:border-color .25s,transform .25s,box-shadow .25s}
.ali-gallery-grid article:hover{border-color:#dfff0070;transform:translateY(-3px);box-shadow:0 14px 30px #0008}
.ali-gallery-grid img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#f4f4f1;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ali-gallery-grid article:hover img{transform:scale(1.035)}
.ali-gallery-grid span{color:#aab2bf;font-size:.72rem;letter-spacing:.08em}
.ali-gallery-carousel .media-carousel-item figcaption{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);padding:16px 2px 4px}
.ali-gallery-carousel .media-carousel-item figcaption strong{color:#f1f3f5}
@media(max-width:900px){.ali-gallery-heading,.ali-gallery-cover,.ali-gallery-spread{grid-template-columns:1fr;gap:22px}.ali-gallery-cover{min-height:0}.ali-gallery-cover-media{min-height:230px}.ali-gallery-cover-media img{max-height:280px}.ali-gallery-spread{min-height:0}.ali-gallery-spread-copy{padding-top:4px}}
@media(max-width:760px){.ali-gallery-section{padding-top:50px}.ali-gallery-heading h2{font-size:clamp(2rem,9vw,3.2rem)}.ali-gallery-slide{padding:16px}.ali-gallery-cover-media{min-height:180px}.ali-gallery-cover-media img{max-height:220px}.ali-gallery-grid{gap:9px}.ali-gallery-grid article{padding:7px}.ali-gallery-carousel .media-carousel-item figcaption{grid-template-columns:1fr;gap:8px}}

/* Keep every AI gallery chapter on one calm, repeatable canvas. The four-image
   spreads are intentionally contained as a compact image wall instead of
   expanding to the full width of the page. */
.ali-gallery-carousel{--ali-gallery-stage:clamp(380px,33vw,500px)}
.ali-gallery-slide{box-sizing:border-box;height:var(--ali-gallery-stage);min-height:0;padding:clamp(18px,2.2vw,28px);display:grid;align-items:stretch}
.ali-gallery-cover,.ali-gallery-spread{box-sizing:border-box;width:100%;height:100%;min-height:0}
.ali-gallery-cover{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(20px,3.5vw,54px)}
.ali-gallery-cover-media{box-sizing:border-box;height:100%;min-height:0;padding:10px;overflow:hidden}
.ali-gallery-cover-media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.ali-gallery-spread{grid-template-columns:minmax(150px,.38fr) minmax(0,1.62fr);gap:clamp(18px,3vw,44px)}
.ali-gallery-grid{width:min(100%,760px);max-height:100%;margin-inline:auto;gap:10px;align-self:center}
.ali-gallery-grid article{padding:7px;gap:6px}
.ali-gallery-grid img{max-height:none}

@media(min-width:901px){
  .ali-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:900px){
  .ali-gallery-carousel{--ali-gallery-stage:clamp(500px,88vw,620px)}
  .ali-gallery-slide{height:var(--ali-gallery-stage)}
  .ali-gallery-cover,.ali-gallery-spread{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:16px}
  .ali-gallery-cover-copy,.ali-gallery-spread-copy{max-height:150px;overflow:hidden}
  .ali-gallery-cover-media{height:100%;min-height:0}
  .ali-gallery-grid{width:min(100%,480px);max-height:none}
}
@media(max-width:760px){
  .ali-gallery-carousel{--ali-gallery-stage:clamp(500px,130vw,640px)}
  .ali-gallery-slide{height:var(--ali-gallery-stage);padding:14px}
  .ali-gallery-cover-copy,.ali-gallery-spread-copy{max-height:132px}
  .ali-gallery-grid{width:100%;gap:8px}
  .ali-gallery-grid article{padding:6px}
}

/* Ali brand partnership: preserve each original artwork while giving the
   vertical posters a shared dark presentation frame and paired carousel. */
.ali-brand-section{padding:clamp(42px,5vw,72px) 0 0;scroll-margin-top:110px}
.ali-brand-heading{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:end;border-top:1px solid #ffffff20;padding:24px 0 28px}
.ali-brand-heading h2{margin:12px 0 0;font-size:var(--detail-section-title-size,clamp(1.55rem,2.5vw,2.7rem));line-height:1.18;letter-spacing:-.03em}
.ali-brand-heading>p{margin:0;color:#b9bfca;font-size:var(--detail-subtitle-size,clamp(.98rem,1.25vw,1.25rem));line-height:1.85;letter-spacing:.2px}
.ali-brand-carousel{margin-top:0;background:linear-gradient(145deg,#151a21,#0b0e12 68%);border-color:#ffffff25}
.ali-brand-carousel .media-carousel-track{padding-inline:0;gap:0;overflow-x:auto;scroll-snap-type:x mandatory}
.ali-brand-carousel .media-carousel-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,22px);flex:0 0 100%;scroll-snap-align:start;align-items:start}
.ali-brand-carousel .media-carousel-item,.ali-brand-carousel .media-carousel-item.is-active{min-width:0;flex:1 1 auto;opacity:1;filter:none;transform:none}
.ali-brand-carousel .media-carousel-image{display:grid;place-items:center;width:100%;aspect-ratio:3/4;padding:clamp(10px,1.6vw,18px);border-color:#ffffff28;border-radius:12px;background:linear-gradient(145deg,#20252c,#0d1014);box-shadow:0 18px 48px #0008;overflow:hidden}
.ali-brand-carousel .media-carousel-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#0c0f13;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.ali-brand-carousel .media-carousel-item.is-active .media-carousel-image:hover img{transform:scale(1.035)}
.ali-brand-carousel .media-carousel-item figcaption{grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);padding:14px 2px 4px}
.ali-brand-carousel .media-carousel-item figcaption strong{color:#f1f3f5}
.ali-brand-carousel .media-carousel-item figcaption p{color:#aab2bf}
@media(max-width:900px){.ali-brand-heading{grid-template-columns:1fr;gap:18px}.ali-brand-heading>p{max-width:72ch}}
@media(max-width:760px){.ali-brand-section{padding-top:50px}.ali-brand-carousel .media-carousel-page{grid-template-columns:1fr;gap:14px}.ali-brand-carousel .media-carousel-image{aspect-ratio:3/4;padding:12px}.ali-brand-carousel .media-carousel-item figcaption{grid-template-columns:1fr;gap:8px}}

/* Ali AI product concepts: every original 16:9 frame sits fully inside a light
   sand-grid stage. The image itself remains unmasked so product details stay clear. */
.ali-concept-section{padding:clamp(42px,5vw,72px) 0 0;scroll-margin-top:110px}
.ali-concept-heading{display:block;border-top:1px solid #ffffff20;padding:24px 0 28px}.ali-concept-heading h2{margin:12px 0 24px;font-size:var(--detail-section-title-size,clamp(1.55rem,2.5vw,2.7rem));line-height:1.18;letter-spacing:-.03em}.ali-concept-heading>p{width:min(100%,1180px);margin:0;max-width:none;color:#c2c8d3;font-size:var(--copy-font-size,16px);font-weight:var(--copy-font-weight,400);line-height:var(--copy-line-height,1.9);letter-spacing:var(--copy-letter-spacing,.45px)}.ali-concept-heading>p+p{margin-top:16px}.ali-concept-heading strong{color:#f4f6f7;font-weight:700}
.ali-concept-carousel{width:min(100%,1180px);margin:0 auto;padding:clamp(14px,2vw,20px);border-color:#c4aa7b78;background:radial-gradient(circle at 88% 8%,#d3af6a2d,transparent 27%),radial-gradient(circle at 8% 96%,#8e7b5428,transparent 34%),#171a1d}.ali-concept-carousel .media-carousel-track{gap:0;padding:6px 0 0;overflow-x:auto;scroll-snap-type:x mandatory}.ali-concept-carousel .media-carousel-item,.ali-concept-carousel .media-carousel-item.is-active{flex:0 0 100%;min-width:100%;scroll-snap-align:start;opacity:1;filter:none;transform:none}.ali-concept-carousel .media-carousel-item.is-active{animation:ali-concept-page-in .36s cubic-bezier(.2,.8,.2,1)}
.ali-concept-carousel .media-carousel-image{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;padding:clamp(8px,1.2vw,14px);overflow:hidden;border-color:#d0d1cc;border-radius:12px;background:linear-gradient(#c7c9c51f 1px,transparent 1px),linear-gradient(90deg,#c7c9c51f 1px,transparent 1px),#fbfbf8;background-size:32px 32px,32px 32px,auto;box-shadow:0 18px 46px #0009}.ali-concept-carousel .media-carousel-image::after{content:"";position:absolute;z-index:2;inset:clamp(8px,1.2vw,14px);border:1px solid #d2d3ce;border-radius:7px;pointer-events:none}.ali-concept-carousel .media-carousel-image img{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;mix-blend-mode:normal;background:transparent;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.ali-concept-carousel .media-carousel-item.is-active .media-carousel-image:hover img{transform:scale(1.02)}.ali-concept-carousel .media-carousel-item figcaption{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);padding:14px 2px 4px}.ali-concept-carousel .media-carousel-item figcaption strong{color:#f3f4ee}.ali-concept-carousel .media-carousel-item figcaption p{color:#b8bec8}
@keyframes ali-concept-page-in{from{opacity:.35;transform:translateX(1.2%)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.ali-concept-heading>p{max-width:72ch}}
@media(max-width:760px){.ali-concept-section{padding-top:50px}.ali-concept-carousel{padding:12px}.ali-concept-carousel .media-carousel-image{padding:7px;background-size:22px 22px,22px 22px,auto}.ali-concept-carousel .media-carousel-image::after{inset:7px}.ali-concept-carousel .media-carousel-item figcaption{grid-template-columns:1fr;gap:8px}}

/* Ali social: reuse the established Xiaohongshu platform card directly below
   the product concept archive, with the same section title scale and left edge. */
.ali-social-section{padding:clamp(42px,5vw,72px) 0 0;scroll-margin-top:110px}
.ali-social-heading{padding-bottom:22px}
.ali-social-platforms{display:grid;grid-template-columns:minmax(0,1fr);width:min(100%,900px);margin:0;gap:0}
.ali-social-platforms .ali-social-card{grid-column:auto;width:100%;min-height:265px}
.ali-social-platforms .social-account{grid-template-columns:minmax(0,1fr) auto}
.ali-social-platforms .social-account strong{font-size:clamp(1.08rem,1.6vw,1.45rem);line-height:1.15;letter-spacing:.015em}
.ali-social-platforms .ali-social-card span{color:inherit}
.ali-social-description{width:min(100%,1180px);margin:18px 0 0;color:#c2c8d3;font-size:var(--copy-font-size,16px);font-weight:var(--copy-font-weight,400);line-height:var(--copy-line-height,1.9);letter-spacing:var(--copy-letter-spacing,.45px)}
@media(max-width:760px){.ali-social-section{padding-top:50px}.ali-social-platforms .ali-social-card{min-height:auto}.ali-social-description{margin-top:16px}}

/* Keep IP detail pages on the same restrained secondary-page type scale. */
.detail-body{
  --detail-title-size:clamp(2.2rem,4vw,3.6rem);
  --detail-subtitle-size:clamp(.98rem,1.25vw,1.25rem);
  --detail-section-title-size:clamp(1.55rem,2.5vw,2.7rem);
  --detail-subsection-size:clamp(1.25rem,2vw,2.2rem);
}
.detail-body :is(.common-ip-hero h1,.ali-hero h1){font-size:var(--detail-title-size);line-height:1.15;letter-spacing:-.035em}
.detail-body :is(.common-ip-hero>p:not(.case-kicker):not(.temple-hero-copy),.ali-intro>p,.temple-hero-subtitle){font-size:var(--detail-subtitle-size);line-height:1.7;letter-spacing:0}
.detail-body :is(.ali-wallpaper-heading h2,.ali-gallery-heading h2,.temple-section-intro h2){font-size:var(--detail-section-title-size);line-height:1.18;letter-spacing:-.03em}
.detail-body :is(.ali-wallpaper-copy h3,.media-carousel-head h3,.incubation-heading h3,.ali-story-lead h2){font-size:var(--detail-subsection-size);line-height:1.2;letter-spacing:-.025em}

/* Keep the Ali archive modules compact on wide screens: the artwork remains
   complete and sharp, while the presentation frame no longer dominates the
   page. Mobile keeps the existing single-column reading rhythm. */
@media(min-width:761px){
  .ali-wallpaper-carousel,.ali-brand-carousel{width:min(100%,1160px);margin-inline:auto;padding:18px}
  .ali-wallpaper-carousel .media-carousel-page,.ali-brand-carousel .media-carousel-page{flex-basis:min(100%,1120px);margin-inline:auto}
  .ali-wallpaper-carousel .media-carousel-image{min-height:clamp(360px,30vw,520px)}
  .ali-wallpaper-carousel .media-carousel-image img{height:min(55vh,520px);max-width:calc(100% - 44px)}
  .ali-brand-carousel .media-carousel-image{height:clamp(420px,34vw,620px);aspect-ratio:auto;padding:clamp(8px,1.2vw,14px)}
}
@media(max-width:760px){
  .ali-wallpaper-carousel,.ali-brand-carousel{padding:14px}
  .ali-wallpaper-carousel .media-carousel-page,.ali-brand-carousel .media-carousel-page{flex-basis:100%;margin-inline:0}
  .ali-wallpaper-carousel .media-carousel-image{min-height:clamp(360px,110vw,560px)}
  .ali-brand-carousel .media-carousel-image{height:auto;aspect-ratio:3/4}
}

/* Temple Cat social destinations reuse the homepage platform identity in a
   tighter, equal-width detail-page composition. */
.temple-social-links{padding:clamp(54px,6vw,82px) 0 0;scroll-margin-top:110px}
.temple-social-heading{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);align-items:end;padding:24px 0 28px;border-top:1px solid #ffffff20}
.temple-social-heading span{color:#dfff00;font-size:.8rem;letter-spacing:.14em}
.temple-social-heading h2{margin:12px 0 0;font-size:var(--detail-section-title-size,clamp(1.55rem,2.5vw,2.7rem));line-height:1.18;letter-spacing:-.03em}
.temple-social-heading p{margin:0;color:#b9bfca;font-size:16px;line-height:1.85;letter-spacing:.45px}
.temple-social-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.temple-social-platforms .temple-social-platform,.temple-social-platforms .social-rednote{grid-column:auto;min-width:0;min-height:236px;padding:clamp(20px,2vw,28px);border-radius:22px 8px 22px 8px}
.temple-social-platforms .social-platform-head{margin-bottom:18px}
.temple-social-platforms .social-platform-head h3{font-size:clamp(2rem,3.2vw,3.2rem)}
.temple-social-platforms .social-account{min-height:78px;padding:.8rem .9rem}
.temple-social-platforms .social-account strong{font-size:clamp(1.05rem,1.35vw,1.3rem)}
.temple-social-links>.social-feedback{margin:12px 0 0;color:#8e96a2;font-size:.78rem!important;line-height:1.6;letter-spacing:.08em}
@media(max-width:900px){.temple-social-platforms{grid-template-columns:1fr 1fr}.temple-social-platforms .social-rednote{grid-column:1/-1}}
@media(max-width:640px){.temple-social-heading{grid-template-columns:1fr;gap:16px}.temple-social-platforms{grid-template-columns:1fr;gap:10px}.temple-social-platforms .social-rednote{grid-column:auto}.temple-social-platforms .temple-social-platform,.temple-social-platforms .social-rednote{min-height:auto;padding:18px}.temple-social-platforms .social-platform-head h3{font-size:2.15rem}.temple-social-links{padding-top:52px}}

/* Ali overview: full-bleed opening artwork. The original image remains
   uncropped while the title and overview sit directly on the artwork. */
.ali-page .ip-child-main{padding-top:0}
.ali-hero{width:100vw;margin-left:calc(50% - 50vw);padding:0;border-bottom:1px solid #ffffff24}
.ali-hero-visual{position:relative;isolation:isolate;width:100%;aspect-ratio:2048/1095;overflow:hidden;background:#091016;box-shadow:0 36px 100px #0009}
.ali-hero-visual>img{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:scale(1.001);transition:transform 1.6s cubic-bezier(.2,.7,.2,1),filter 1.2s ease}
.ali-hero-visual::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#05070bb8 0%,#05070b8f 25%,#05070b54 52%,#05070ba1 100%),linear-gradient(90deg,#040609d4 0%,#040609a2 28%,#0406093d 64%,#04060970 100%)}
.ali-hero-visual::after{content:"";position:absolute;z-index:-1;inset:-35% -18%;pointer-events:none;opacity:.34;background:radial-gradient(ellipse at 20% 36%,#dfff0024 0,transparent 22%),linear-gradient(110deg,transparent 38%,#ffffff16 49%,transparent 60%);transform:translate3d(-8%,0,0);animation:ali-hero-light 9s ease-in-out infinite alternate}
.ali-hero-content{position:relative;z-index:1;width:min(100% - (2 * var(--content-safe)),var(--content-width));height:100%;margin:0 auto;padding:clamp(34px,4vw,58px) 0 clamp(78px,8vw,124px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.ali-hero-content .back-link{margin:0 0 clamp(24px,3.2vw,48px);color:#fff;text-shadow:0 2px 15px #000}
.ali-hero-grid--summary{grid-template-columns:minmax(0,1fr);gap:0}
.ali-hero h1{margin:12px 0 0;text-shadow:0 5px 24px #000,0 18px 54px #000b}
.ali-hero-summary{width:100%;max-width:none;margin-top:clamp(34px,5vw,72px);padding:0;color:#fff}
.ali-hero-summary p{width:100%;max-width:none;margin:0;color:#fff;font-size:var(--copy-font-size,16px);font-weight:var(--copy-font-weight,400);line-height:2;letter-spacing:var(--copy-letter-spacing,.45px)}
.ali-hero-summary p+p{margin-top:15px}
.ali-hero-summary strong{color:#fff;font-size:inherit;font-weight:700}
.ali-hero-scroll{position:absolute;z-index:2;right:var(--content-safe);bottom:clamp(22px,2.5vw,38px);display:flex;align-items:center;gap:12px;color:#eef1f5;font-size:.68rem;letter-spacing:.16em;text-shadow:0 2px 10px #000}
.ali-hero-scroll i{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff55;border-radius:50%;color:#dfff00;font-style:normal;animation:ali-hero-arrow 1.8s ease-in-out infinite}
@media(hover:hover){.ali-hero-visual:hover>img{transform:scale(1.012);filter:saturate(1.04) contrast(1.025)}.ali-hero-visual:hover::after{opacity:.46}}
@keyframes ali-hero-light{to{transform:translate3d(8%,2%,0)}}
@keyframes ali-hero-arrow{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
@media(max-width:900px){
  .ali-hero-visual{aspect-ratio:auto;min-height:820px}
  .ali-hero-visual>img{height:auto;aspect-ratio:2048/1095;object-fit:contain;object-position:center top;background:#091016}
  .ali-hero-visual::before{background:linear-gradient(180deg,#05070b8f 0%,#05070b3d 28%,#05070be8 58%,#05070b 100%)}
  .ali-hero-content{width:calc(100% - (2 * var(--content-safe)));min-height:820px;padding:28px 0 76px}
  .ali-hero-summary{margin-top:auto}
}
@media(max-width:760px){
  .ali-hero-visual{min-height:760px}
  .ali-hero-content{min-height:760px;padding-top:22px}
  .ali-hero-content .back-link{margin-bottom:18px}
  .ali-hero h1{font-size:clamp(3.2rem,15vw,5.5rem)}
  .ali-hero-summary{padding:0;margin-top:auto}
  .ali-hero-summary p{font-size:14px;line-height:1.86}
  .ali-hero-summary p+p{margin-top:12px}
  .ali-hero-scroll{right:var(--content-safe);bottom:20px}
}
@media(prefers-reduced-motion:reduce){.ali-hero-visual::after,.ali-hero-scroll i{animation:none}.ali-hero-visual>img{transition:none}}

/* Temple Cat cast archive: a reversible, single-frame VR-style carousel.
   Artwork keeps its original composition; depth is applied to the cards only. */
.temple-character-vr-carousel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:#ffffff32;
  background:
    radial-gradient(circle at 50% 34%,#41506938 0,transparent 42%),
    radial-gradient(circle at 50% 100%,#dfff0014 0,transparent 35%),
    linear-gradient(155deg,#181d25 0,#0a0d12 72%);
  box-shadow:inset 0 1px #ffffff0d,0 30px 90px #0006;
}
.temple-character-vr-carousel::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-12%;
  right:-12%;
  bottom:-34%;
  height:68%;
  opacity:.36;
  pointer-events:none;
  background:
    linear-gradient(#7c8ba018 1px,transparent 1px),
    linear-gradient(90deg,#7c8ba018 1px,transparent 1px);
  background-size:38px 38px;
  transform:perspective(420px) rotateX(62deg);
  transform-origin:50% 100%;
  -webkit-mask-image:linear-gradient(to top,#000,transparent 82%);
  mask-image:linear-gradient(to top,#000,transparent 82%);
}
.temple-character-vr-carousel::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:78px 12% auto;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#dfff0070 35%,#ffffff90 50%,#dfff0070 65%,transparent);
  box-shadow:0 0 28px #dfff0045;
}
.temple-character-vr-carousel .media-carousel-track{
  --vr-card-size:min(76%,1080px);
  --vr-gap:clamp(26px,4.6vw,76px);
  --vr-edge-space:max(0px,calc((100% - var(--vr-card-size))/2 - var(--vr-gap)));
  position:relative;
  gap:var(--vr-gap);
  padding:clamp(30px,4vw,52px) 0 clamp(42px,5.5vw,76px);
  perspective:1800px;
  perspective-origin:50% 42%;
  transform-style:preserve-3d;
  cursor:grab;
  scroll-snap-type:none;
  scroll-padding-inline:var(--vr-edge-space);
}
.temple-character-vr-carousel .media-carousel-track::before,
.temple-character-vr-carousel .media-carousel-track::after{
  content:"";
  flex:0 0 var(--vr-edge-space);
  pointer-events:none;
}
.temple-character-vr-carousel.is-vr-grabbing .media-carousel-track{cursor:grabbing}
.temple-character-vr-carousel .media-carousel-item{
  --vr-tilt-x:0deg;
  --vr-tilt-y:0deg;
  flex:0 0 var(--vr-card-size);
  position:relative;
  z-index:1;
  opacity:.22;
  filter:saturate(.52) brightness(.62);
  transform:translate3d(0,0,-240px) scale(.76);
  transform-style:preserve-3d;
  transform-origin:50% 50%;
  transition:
    opacity .66s ease,
    filter .66s ease,
    transform .82s cubic-bezier(.16,1,.3,1);
  will-change:transform,opacity,filter;
}
.temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-before{
  opacity:.48;
  filter:saturate(.7) brightness(.76);
  transform:translate3d(9%,0,-135px) rotateY(25deg) scale(.86);
}
.temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-after{
  opacity:.48;
  filter:saturate(.7) brightness(.76);
  transform:translate3d(-9%,0,-135px) rotateY(-25deg) scale(.86);
}
.temple-character-vr-carousel .media-carousel-item.is-vr-far.is-vr-before{transform:translate3d(15%,0,-260px) rotateY(31deg) scale(.72)}
.temple-character-vr-carousel .media-carousel-item.is-vr-far.is-vr-after{transform:translate3d(-15%,0,-260px) rotateY(-31deg) scale(.72)}
.temple-character-vr-carousel .media-carousel-item.is-active{
  z-index:4;
  opacity:1;
  filter:none;
  transform:translate3d(0,0,72px) scale(1);
}
.temple-character-vr-carousel .media-carousel-image{
  --vr-light-x:50%;
  --vr-light-y:36%;
  position:relative;
  min-height:0;
  transform:rotateX(var(--vr-tilt-x)) rotateY(var(--vr-tilt-y)) translateZ(0);
  transform-style:preserve-3d;
  transition:
    transform .22s ease-out,
    border-color .5s ease,
    box-shadow .55s ease;
  box-shadow:0 22px 54px #000a,0 0 0 1px #ffffff0b;
  will-change:transform;
}
.temple-character-vr-carousel .media-carousel-image::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--vr-light-x) var(--vr-light-y),#ffffff38,transparent 28%);
  mix-blend-mode:soft-light;
  transition:opacity .35s ease;
}
.temple-character-vr-carousel .media-carousel-item.is-active .media-carousel-image{
  border-color:#e5ff716e;
  box-shadow:
    0 44px 100px #000c,
    0 0 0 1px #ffffff1e,
    0 0 52px #dfff0026;
  animation:temple-vr-emerge .82s cubic-bezier(.16,1,.3,1) both;
}
.temple-character-vr-carousel .media-carousel-item.is-active .media-carousel-image::before{opacity:.52}
.temple-character-vr-carousel .media-carousel-item.is-active .media-carousel-image:hover img{transform:none}
.temple-character-vr-carousel .media-carousel-item figcaption{
  transform:translateZ(24px);
  transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);
}
.temple-character-vr-carousel .media-carousel-item:not(.is-active) figcaption{opacity:.35;transform:translateZ(-30px)}
.temple-character-vr-carousel .media-carousel-controls button{
  border-color:#dfff0050;
  background:radial-gradient(circle at 50% 45%,#dfff0022,transparent 64%),#12161c;
  box-shadow:0 0 0 0 #dfff0000;
}
.temple-character-vr-carousel .media-carousel-controls button:not(:disabled):hover{
  color:#0b0d10;
  background:#dfff00;
  border-color:#dfff00;
  box-shadow:0 0 26px #dfff0060;
  transform:translateY(-2px) scale(1.06);
}
@keyframes temple-vr-emerge{
  0%{transform:rotateX(0) rotateY(var(--vr-entry-angle,0deg)) translateZ(-115px) scale(.94);filter:brightness(.72)}
  58%{transform:rotateX(0) rotateY(0) translateZ(12px) scale(1.014);filter:brightness(1.08)}
  100%{transform:rotateX(var(--vr-tilt-x)) rotateY(var(--vr-tilt-y)) translateZ(0) scale(1);filter:brightness(1)}
}
.temple-character-vr-carousel.is-vr-forward{--vr-entry-angle:-7deg}
.temple-character-vr-carousel.is-vr-backward{--vr-entry-angle:7deg}
@media(max-width:900px){
  .temple-character-vr-carousel .media-carousel-track{--vr-card-size:84%;--vr-gap:26px;padding:26px 0 44px}
  .temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-before{transform:translate3d(6%,0,-100px) rotateY(18deg) scale(.88)}
  .temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-after{transform:translate3d(-6%,0,-100px) rotateY(-18deg) scale(.88)}
}
@media(max-width:640px){
  .temple-character-vr-carousel .media-carousel-track{--vr-card-size:90%;--vr-gap:18px;padding:20px 0 34px;perspective:1200px}
  .temple-character-vr-carousel .media-carousel-item.is-active{transform:translate3d(0,0,36px) scale(1)}
  .temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-before{transform:translate3d(4%,0,-70px) rotateY(13deg) scale(.91)}
  .temple-character-vr-carousel .media-carousel-item.is-vr-near.is-vr-after{transform:translate3d(-4%,0,-70px) rotateY(-13deg) scale(.91)}
  .temple-character-vr-carousel::after{inset:68px 8% auto}
}
@media(prefers-reduced-motion:reduce){
  .temple-character-vr-carousel .media-carousel-item,
  .temple-character-vr-carousel .media-carousel-image{animation:none!important;transition:none!important}
  .temple-character-vr-carousel .media-carousel-item{transform:none!important}
}

/* Temple Cat visual language: restrained eaves, moonlight and cloud-line
   ornaments continue through the lower page without crossing the artwork. */
.temple-cat-page{
  --temple-bronze:#bd8d4e;
  --temple-bronze-soft:#bd8d4e2e;
  --temple-ink:#0c0d11;
}
.temple-cat-page .temple-collection{
  position:relative;
  isolation:isolate;
}
.temple-cat-page .temple-collection::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:clamp(60px,7vw,94px);
  right:0;
  width:clamp(150px,23vw,320px);
  aspect-ratio:10/3;
  pointer-events:none;
  opacity:.66;
  background:no-repeat right top/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 108'%3E%3Cg fill='none' stroke='%23bd8d4e' stroke-opacity='.5' stroke-width='1.2'%3E%3Cpath d='M20 70H340'/%3E%3Cpath d='M42 64c78-2 112-36 175-36 57 0 84 27 129 35'/%3E%3Cpath d='M67 69 57 88h267l-11-19'/%3E%3Cpath d='M88 88v14m58-14v14m58-14v14m58-14v14m42-14v14'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 26%);
  mask-image:linear-gradient(90deg,transparent,#000 26%);
}
.temple-cat-page .temple-collection::after{
  content:"";
  position:absolute;
  z-index:-2;
  top:clamp(44px,5vw,72px);
  right:-4%;
  width:clamp(210px,31vw,430px);
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  opacity:.5;
  background:radial-gradient(circle,#9d632b1c 0 18%,transparent 19% 37%,#bd8d4e12 38% 38.5%,transparent 39% 100%);
  filter:blur(.2px);
}
.temple-cat-page .temple-section-intro{
  position:relative;
  border-top-color:#bd8d4e52;
}
.temple-cat-page .temple-section-intro::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:clamp(76px,10vw,138px);
  height:2px;
  background:linear-gradient(90deg,var(--temple-bronze),#bd8d4e55,transparent);
  box-shadow:0 0 16px #bd8d4e30;
}
.temple-cat-page .temple-section-intro::after{
  content:"◇";
  position:absolute;
  top:-9px;
  left:clamp(72px,9.4vw,130px);
  color:#d5a665;
  font-size:13px;
  line-height:1;
  text-shadow:0 0 14px #bd8d4e80;
}
.temple-cat-page .temple-carousel,
.temple-cat-page .temple-sticker-showcase,
.temple-cat-page .comic-episode-card{
  box-shadow:inset 0 1px 0 #bd8d4e12,0 24px 60px #0007;
}
@media(max-width:640px){
  .temple-cat-page .temple-collection::before{top:58px;width:150px;opacity:.45}
  .temple-cat-page .temple-collection::after{top:46px;right:-18%;width:230px;opacity:.38}
}
