/* 홈 배너 1 사이트 초기 소개 7장. launch-promo.mjs가 shadow root 안에서만 읽어 사이트 스타일과 섞이지 않는다. */
:host{position:absolute;inset:0;display:block;contain:layout paint}
.stage{position:absolute;inset:0;perspective:1600px;overflow:clip}
.track{position:absolute;inset:0;transform-style:preserve-3d}
.slide{position:absolute;left:50%;top:0;width:var(--lp-cw,503px);height:100%;border-radius:10px;overflow:clip;background:#000;backface-visibility:hidden;will-change:transform;cursor:default}
.slide::after{content:"";position:absolute;z-index:9;inset:0;background:#000;opacity:var(--dim,.6);pointer-events:none}

/* ---- 배너 공통 ---- */
.card{position:absolute;inset:0;container-type:inline-size;overflow:clip;color:#fff;
  font-family:system-ui,'Malgun Gothic',sans-serif;isolation:isolate;user-select:none}
.card .in{position:absolute;inset:0;font-size:2cqw}
.bg{position:absolute;inset:0;z-index:-1;overflow:clip}
.blob{position:absolute;border-radius:50%;filter:blur(3.4em);opacity:.75}
.logo{position:absolute;left:2.6em;top:1.5em;width:11em;height:auto;z-index:3;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen;margin:-1.2em 0 0 -1.4em}
.copy{position:absolute;left:4em;top:54%;transform:translateY(-50%);z-index:2}
.copy h2{margin:0;font-weight:900;letter-spacing:-.035em;line-height:1.14;font-size:3.3em;white-space:nowrap}
.copy h2 .ln{display:block}
.copy .chr{display:inline-block}
.copy .key{display:inline-block;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.copy p{margin:1.1em 0 0;font-size:1.3em;line-height:1.5;color:rgba(255,255,255,.8)}
.nb{white-space:nowrap}
.spark{position:absolute;bottom:-1em;width:.32em;height:.32em;border-radius:50%;background:#9cc8ff;box-shadow:0 0 .6em #6aa8ff}
.cursor{position:absolute;left:0;top:0;width:1.7em;height:1.7em;z-index:5;pointer-events:none;filter:drop-shadow(0 .1em .15em rgba(0,0,0,.45))}
.ripple{position:absolute;left:0;top:0;width:2.4em;height:2.4em;margin:-1.2em 0 0 -1.2em;border-radius:50%;background:#fff;opacity:0;z-index:4;pointer-events:none}

/* ---- 1: 지원은 최대로 ---- */
.a{background:#060b17}
.a .b1{width:24em;height:24em;left:46%;top:-30%;background:#2463ff}
.a .b2{width:20em;height:20em;left:68%;top:40%;background:#7b3dff}
.a .b3{width:16em;height:16em;left:-8%;top:55%;background:#0aa5c9;opacity:.35}
.a .floor{position:absolute;left:-20%;right:-20%;bottom:-6%;height:62%;perspective:22em;overflow:clip;
  -webkit-mask:linear-gradient(to top,#000 10%,transparent 90%);mask:linear-gradient(to top,#000 10%,transparent 90%)}
.a .lines{position:absolute;left:0;right:0;top:-3em;height:calc(100% + 6em);transform:rotateX(62deg);transform-origin:50% 100%;
  background:repeating-linear-gradient(to bottom,rgba(110,160,255,.35) 0 1px,transparent 1px 3em),
             repeating-linear-gradient(to right,rgba(110,160,255,.22) 0 1px,transparent 1px 3em)}
.a .copy h2{font-size:3em}
.a .copy h2 .ln + .ln{margin-top:.5em}
.a .key.hot{background-image:linear-gradient(90deg,#4da3ff,#8f7bff,#5ee6ff,#4da3ff);transform-origin:0 80%;transform:scale(1.45)}
.a .key.cold{color:rgba(255,255,255,.36);transform-origin:0 40%;transform:scale(.5)}
.console{position:absolute;right:3em;top:50%;transform:translateY(-50%);z-index:2;
  display:grid;grid-template-columns:repeat(3,auto) auto auto;column-gap:.7em;align-items:end;
  padding:1em 1.1em .9em;border:1px solid rgba(160,190,255,.18);border-radius:.6em;
  background:rgba(8,14,30,.62);backdrop-filter:blur(.6em);box-shadow:0 0 3em rgba(60,110,255,.25)}
.console .tag{grid-row:1;font-size:1.05em;font-weight:800;letter-spacing:.12em;text-align:center;margin-bottom:.7em}
.console .tag.max{grid-column:1 / 4;color:#6fb6ff;text-shadow:0 0 .8em #3f8cff}
.console .tag.min{grid-column:5;color:rgba(255,255,255,.4)}
.console .sep{grid-row:2 / 4;grid-column:4;width:1px;align-self:stretch;background:rgba(255,255,255,.14)}
.ch{grid-row:2 / 4;display:grid;justify-items:center;gap:.6em}
.strip{display:flex;gap:.45em;height:13.5em}
.meter{position:relative;width:.62em;height:100%;background:rgba(255,255,255,.09);
  -webkit-mask:repeating-linear-gradient(to top,#000 0 .5em,transparent .5em .68em);
  mask:repeating-linear-gradient(to top,#000 0 .5em,transparent .5em .68em)}
.meter .lvl{position:absolute;inset:0;transform-origin:50% 100%;transform:scaleY(.4);
  background:linear-gradient(to top,#22d39a,#4da3ff 55%,#b07bff 88%,#ff6fb0)}
.meddle .meter .lvl{background:linear-gradient(to top,#6c7488,#9aa3b8)}
.rail{position:relative;width:2em;height:100%}
.rail::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:.32em;margin-left:-.16em;background:rgba(255,255,255,.12);border-radius:1px}
.rail .fill{position:absolute;left:50%;bottom:0;width:.32em;margin-left:-.16em;height:100%;background:#4da3ff;box-shadow:0 0 .7em #4da3ff;border-radius:1px}
.meddle .rail .fill{background:rgba(255,255,255,.4);box-shadow:none;height:4%}
.rail .knob{position:absolute;left:50%;bottom:100%;width:2em;height:1em;transform:translate(-50%,50%);
  background:linear-gradient(#f4f6fb,#c9cfdc);border-radius:.15em;box-shadow:0 .15em .3em rgba(0,0,0,.6)}
.meddle .rail .knob{bottom:4%}
.rail .knob::after{content:"";position:absolute;left:18%;right:18%;top:50%;height:.14em;margin-top:-.07em;background:#11182a}
.ch .lb{font-size:1em;white-space:nowrap;font-weight:700;color:rgba(255,255,255,.85)}
.meddle .lb{color:rgba(255,255,255,.5)}

/* ---- 2: 이벤트를 내 마음대로 ---- */
.b{background:#1a0d26}
.b .b1{width:22em;height:22em;left:-10%;top:-40%;background:#ff3d7f;opacity:.55}
.b .b2{width:22em;height:22em;left:55%;top:30%;background:#ff9a2e;opacity:.5}
.b .b3{width:18em;height:18em;left:25%;top:60%;background:#8a3dff;opacity:.5}
.b .key.hot,.c .key.hot{background-image:linear-gradient(90deg,#ffd36e,#ff6fa5,#ffb03b,#ffd36e)}
.deck-b{position:absolute;right:2.2em;top:50%;width:22em;transform:translateY(-50%);z-index:2}
.page{position:relative;padding:1em 1em .9em;border-radius:.7em;background:#18181b;border:1px solid rgba(255,255,255,.12);box-shadow:0 1.2em 2.6em rgba(20,0,30,.5);overflow:clip}
.page .ph{display:flex;align-items:center;gap:.4em;font-size:1.25em;font-weight:800;margin-bottom:.7em}
.page .sec{position:relative}
.page .sh{font-size:1.05em;font-weight:800;white-space:nowrap}
.page .ss{font-size:.8em;color:#b8b8bd;margin-top:.2em;min-height:1.2em}
.shelf{position:relative;height:10.2em;margin-top:.6em}
.bk{position:absolute;top:0;left:0;width:4.6em}
.bk .cv{position:relative;width:4.6em;height:6.9em;border-radius:.25em;overflow:clip;background:#333}
.bk .cv img{width:100%;height:100%;object-fit:cover;display:block}
.bk .bd{position:absolute;left:.3em;top:.3em;padding:.1em .35em;border-radius:.2em;background:#2f7bff;color:#fff;font-size:.72em;font-weight:800;white-space:nowrap}
.bk .t{margin-top:.35em;font-size:.78em;font-weight:600;white-space:nowrap;overflow:clip;text-overflow:ellipsis}
.bk .m{font-size:.68em;color:#b8b8bd;white-space:nowrap;overflow:clip;text-overflow:ellipsis}
.bk.me .cv{box-shadow:0 0 0 .14em #ffd36e,0 0 1.4em rgba(255,200,80,.7)}
.pop{position:absolute;left:2.2em;top:2.4em;width:17em;padding:.9em 1em;border-radius:.6em;background:#fff;color:#1d1d1f;z-index:4;box-shadow:0 1em 2.4em rgba(0,0,0,.55);transform-origin:10% 90%}
.pop .pt{font-size:1em;font-weight:800;margin-bottom:.6em}
.pop .lg{font-size:.78em;font-weight:700;color:#64666e;margin:.55em 0 .35em}
.pop .chips{display:flex;flex-wrap:wrap;gap:.35em}
.pop .chip{display:inline-flex;align-items:center;height:2.1em;padding:0 .6em;border:1px solid #d9dbe1;border-radius:.4em;font-size:.8em;font-weight:500;white-space:nowrap;background:#fff;color:#1d1d1f}
.pop .vals{position:relative;height:2.1em}
.pop .vals .chips{position:absolute;inset:0}
.pop .ft{display:flex;justify-content:flex-end;margin-top:.8em}
.pop .go{display:inline-flex;align-items:center;height:2.3em;padding:0 1em;border-radius:.45em;background:#315f8f;color:#fff;font-size:.85em;font-weight:700}

/* ---- 3: 작품 노출도 내 마음대로 (배너 잭팟) ---- */
.c{background:#0f0a24}
.c .b1{width:24em;height:24em;left:50%;top:-35%;background:#5b2bff;opacity:.6}
.c .b2{width:20em;height:20em;left:70%;top:45%;background:#ff8a00;opacity:.4}
.c .b3{width:16em;height:16em;left:-6%;top:50%;background:#c2187a;opacity:.4}
/* 릴 뒤에서 퍼지는 동그란 파동(방사형 빛줄기는 쓰지 않는다) */
.c .wave{position:absolute;left:62%;top:50%;width:26em;height:26em;margin:-13em 0 0 -13em;border-radius:50%;
  border:.18em solid rgba(255,211,110,.55);box-shadow:0 0 2.4em rgba(255,170,40,.35),inset 0 0 2.4em rgba(255,170,40,.2);opacity:0}
.c .spark{background:#ffe08a;box-shadow:0 0 .6em #ffb83d}
.deck-c{position:absolute;right:2.2em;top:50%;transform:translateY(-50%);z-index:2;display:flex;gap:1em;align-items:center}
.reel-wrap{position:relative;display:grid;justify-items:center;gap:.5em}
.reel{position:relative;width:6.4em;height:10.8em;overflow:clip;border-radius:.7em;background:rgba(0,0,0,.45);
  box-shadow:inset 0 0 0 1px rgba(255,211,110,.55),0 0 2em rgba(255,170,40,.25)}
.reel::before,.reel::after{content:"";position:absolute;left:0;right:0;z-index:2;height:3.6em;pointer-events:none}
.reel::before{top:0;background:linear-gradient(#0f0a24,transparent)}
.reel::after{bottom:0;background:linear-gradient(transparent,#0f0a24)}
.reel .band{position:absolute;left:.4em;right:.4em;top:3.6em;height:3.6em;border-top:1px solid #ffd36e;border-bottom:1px solid #ffd36e;z-index:1}
.reel .strip2{position:absolute;left:0;right:0;top:0}
.reel .strip2 b{display:grid;place-items:center;line-height:1;padding:.85em 0;font-size:1.9em;font-weight:900;box-sizing:border-box;height:1.895em}
.reel .strip2 b.x3{color:#ffd36e;text-shadow:0 0 .4em #ff9d00}
.reel-wrap .rl{font-size:.95em;font-weight:700;opacity:.75}
.jackpot{position:absolute;top:-1.4em;left:50%;z-index:3;padding:.25em .6em;border-radius:.35em;background:#ffd36e;color:#3a1a00;font-size:1.15em;font-weight:900;white-space:nowrap;transform:translateX(-50%) scale(0)}
.gain{position:absolute;left:50%;top:45%;z-index:3;font-size:1.4em;font-weight:900;color:#ffd36e;white-space:nowrap;text-shadow:0 0 .5em rgba(255,150,0,.8);opacity:0;transform:translateX(-50%)}
.rank{width:15.6em;padding:.8em .9em .5em;border-radius:.7em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(.5em)}
.rank .rh{display:flex;justify-content:space-between;font-size:.9em;font-weight:700;opacity:.7;margin-bottom:.5em}
.rank .rb{position:relative;height:17em;display:grid;grid-template-columns:1.4em 1fr}
.rank .nums{display:grid;grid-auto-rows:3.4em;align-items:center;font-size:1em;font-weight:900;opacity:.6}
.rank .rows{position:relative}
.rrow{position:absolute;left:0;right:0;height:3.1em;display:grid;grid-template-columns:2.05em 1fr auto;gap:.55em;align-items:center;padding:0 .4em 0 .15em;border-radius:.45em}
.rrow img{width:2.05em;height:3.07em;object-fit:cover;border-radius:.15em;display:block;transform:scale(.88)}
.rrow .tt{font-size:.95em;font-weight:700;white-space:nowrap;overflow:clip;text-overflow:ellipsis}
.rrow .pt{font-size:.9em;font-weight:800;opacity:.8;font-variant-numeric:tabular-nums}
.rrow.me{background:rgba(255,211,110,.12);box-shadow:inset 0 0 0 1px rgba(255,211,110,0)}
.rrow.me .pt{color:#ffd36e;opacity:1}
.rrow .chip{position:absolute;right:.3em;top:-.85em;padding:.15em .45em;border-radius:.3em;background:#ffd36e;color:#3a1a00;font-size:.75em;font-weight:900;white-space:nowrap;transform:scale(0)}

/* ---- 4: 작가와 서포터가 만나는 공간 ---- */
.d{background:#05201d}
.d .b1{width:24em;height:24em;left:45%;top:-35%;background:#10b39a;opacity:.5}
.d .b2{width:20em;height:20em;left:72%;top:45%;background:#2f6bff;opacity:.45}
.d .b3{width:16em;height:16em;left:-6%;top:50%;background:#7a3dff;opacity:.35}
.d .bub{position:absolute;width:3.4em;height:2.2em;border:1px solid rgba(160,255,230,.35);border-radius:.8em .8em .8em .2em;background:rgba(160,255,230,.06)}
.d .copy h2{font-size:2.75em}
.d .key.hot{background-image:linear-gradient(90deg,#5ef2c2,#5ec8ff,#b49bff,#5ef2c2)}
.deck-d{position:absolute;right:2.2em;top:50%;width:20em;transform:translateY(-50%);z-index:2;border-radius:.7em;background:#18181b;border:1px solid rgba(255,255,255,.12);box-shadow:0 1.2em 2.6em rgba(0,20,15,.55);overflow:clip}
.deck-d .nh{display:flex;align-items:center;gap:.55em;padding:.8em .9em;border-bottom:1px solid rgba(255,255,255,.1)}
.deck-d .nh img{width:1.9em;height:1.9em;border-radius:50%;object-fit:cover}
.deck-d .nh b{font-size:1em;font-weight:800;white-space:nowrap}
.deck-d .sup{margin-left:auto;position:relative;padding:.25em .55em;border-radius:.35em;background:rgba(94,242,194,.14);color:#5ef2c2;font-size:.78em;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.deck-d .plus{position:absolute;right:.3em;top:-.2em;color:#5ef2c2;font-weight:900;opacity:0}
.deck-d .nt{display:flex;gap:1em;padding:.55em .9em 0;font-size:.82em;font-weight:700;color:#b8b8bd}
.deck-d .nt span:last-child{color:#fff;box-shadow:inset 0 -.15em 0 #5ef2c2;padding-bottom:.35em}
.feed{position:relative;height:15.5em;margin-top:.3em;overflow:clip;-webkit-mask:linear-gradient(transparent,#000 14%);mask:linear-gradient(transparent,#000 14%)}
.msg{position:absolute;left:.7em;right:.7em;bottom:.6em;display:grid;grid-template-columns:1.8em 1fr;gap:.5em;padding:.5em .55em;border-radius:.5em;background:rgba(255,255,255,.05)}
.msg .av{width:1.8em;height:1.8em;border-radius:50%;display:grid;place-items:center;font-size:.8em;font-weight:800;color:#18181b;overflow:clip}
.msg .av img{width:100%;height:100%;object-fit:cover}
.msg .nm{font-size:.78em;font-weight:800}
.msg .nm i{font-style:normal;margin-left:.35em;padding:.05em .35em;border-radius:.25em;background:#ffd36e;color:#3a1a00;font-size:.85em}
.msg .tx{font-size:.8em;line-height:1.4;color:rgba(255,255,255,.88);margin-top:.1em}
.msg.author{background:rgba(255,211,110,.12);box-shadow:inset 0 0 0 1px rgba(255,211,110,.35)}
.msg .dots{display:flex;gap:.25em;padding:.45em 0 .2em}
.msg .dots i{width:.38em;height:.38em;border-radius:50%;background:#ffd36e}

/* ---- 5: 피터팬만의 작가 육성 시스템 ---- */
.e{background:#0b0f20}
.e .b1{width:24em;height:24em;left:52%;top:-30%;background:#ff9d2e;opacity:.42}
.e .b2{width:20em;height:20em;left:70%;top:45%;background:#2f7bff;opacity:.5}
.e .b3{width:16em;height:16em;left:-6%;top:50%;background:#b13dff;opacity:.35}
.e .spark{background:#ffe08a;box-shadow:0 0 .6em #ffb83d}
.e .copy h2{font-size:2.55em}
.e .key.hot{background-image:linear-gradient(90deg,#ffd36e,#ff9d5c,#7fd0ff,#ffd36e)}
.deck-e{position:absolute;right:1.5em;top:0;bottom:0;width:24em;z-index:2}
.deck-e svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.deck-e line{stroke:rgba(255,220,150,.35);stroke-width:.06;stroke-dasharray:.25 .25}
.hub{position:absolute;z-index:2;display:grid;justify-items:center;gap:.35em;transform:translate(-50%,-50%)}
.hub img{width:3.9em;height:5.85em;object-fit:cover;border-radius:.25em;box-shadow:0 0 0 .14em #ffd36e,0 0 2em rgba(255,190,80,.6)}
.hub b{font-size:.95em;font-weight:800;white-space:nowrap}
.hub .ring{position:absolute;left:50%;top:40%;width:7em;height:7em;margin:-3.5em 0 0 -3.5em;border-radius:50%;border:.12em solid #ffd36e;opacity:0;pointer-events:none}
.gainE{position:absolute;z-index:4;transform:translate(-50%,-50%);font-size:1.15em;font-weight:900;color:#ffd36e;white-space:nowrap;text-shadow:0 0 .5em rgba(255,150,0,.8);opacity:0}
.sp{position:absolute;left:0;top:0;min-width:7.4em;padding:.45em .7em .5em;border-radius:.55em;background:rgba(18,22,40,.82);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(.4em);box-shadow:0 .5em 1.2em rgba(0,0,0,.35);will-change:transform}
.sp .w{display:flex;align-items:center;gap:.35em;font-size:.72em;font-weight:700;color:rgba(255,255,255,.7);white-space:nowrap}
.sp .w i{width:.55em;height:.55em;border-radius:50%}
.sp .v{display:block;margin-top:.15em;font-size:.9em;font-weight:900;white-space:nowrap;color:#fff}
.sp .glow{position:absolute;inset:-1px;border-radius:.55em;box-shadow:0 0 0 .12em currentColor,0 0 1.4em currentColor;opacity:0;pointer-events:none}
.orb{position:absolute;z-index:3;width:.6em;height:.6em;margin:-.3em 0 0 -.3em;border-radius:50%;background:#fff3c4;box-shadow:0 0 .8em .2em #ffcf5a;opacity:0}

/* ---- 6: 나만의 네버랜드 ---- */
.f{background:#0d0b1e}
.f .b1{width:24em;height:24em;left:50%;top:-35%;background:var(--acc,#4f7cff);opacity:.55;transition:background .6s}
.f .b2{width:20em;height:20em;left:72%;top:45%;background:#ff6fb0;opacity:.35}
.f .b3{width:16em;height:16em;left:-6%;top:50%;background:#2bb59a;opacity:.35}
.f .spark{background:#cfe0ff;box-shadow:0 0 .6em #8fb4ff}
.f .key.hot{background-image:linear-gradient(90deg,#8fb4ff,#ff9ad0,#7ff0d0,#8fb4ff)}
.deck-f{position:absolute;right:2em;top:50%;width:22em;transform:translateY(-50%);z-index:2}
.nlp{position:relative;height:15.4em;border-radius:.6em;background:#fff;color:#1d1d1f;overflow:clip;box-shadow:0 1.2em 2.6em rgba(0,0,0,.5)}
.nlp > div{position:absolute;box-sizing:border-box;overflow:clip}
.nlp .tt{display:grid;place-items:center;background:var(--acc,#4f7cff);color:#fff;font-weight:900;font-size:1em;letter-spacing:-.02em;transition:background .5s}
.nlp .tt span{white-space:nowrap}
.nlp .mn{display:flex;flex-direction:column;gap:.35em;padding:.4em .2em;border-right:1px solid #e4e6eb}
.nlp .mn.row{flex-direction:row;justify-content:center;gap:1.1em;padding:.25em;border-right:0;border-bottom:1px solid #e4e6eb}
.nlp .mn span{font-size:.7em;font-weight:700;white-space:nowrap;color:#404249;text-align:center}
.nlp .mn span:first-child{color:var(--acc,#4f7cff)}
.nlp .sh{display:flex;gap:.45em;align-items:flex-start}
.nlp .sh img{height:100%;aspect-ratio:2/3;object-fit:cover;border-radius:.15em;flex:none}
.nlp .bd{display:grid;align-content:start;gap:.2em}
.nlp .bd b{font-size:.7em;font-weight:800;color:var(--acc,#4f7cff);margin-bottom:.1em}
.nlp .bd span{font-size:.66em;white-space:nowrap;overflow:clip;text-overflow:ellipsis;padding:.2em 0;border-bottom:1px solid #eef0f3;color:#2a2b30}
.pick{display:flex;align-items:center;gap:.4em;margin-top:.8em}
.pick .lc{display:inline-flex;align-items:center;height:2.1em;padding:0 .7em;border-radius:.45em;font-size:.8em;font-weight:700;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;white-space:nowrap}
.pick .sw{width:1.4em;height:1.4em;border-radius:50%;border:.14em solid rgba(255,255,255,.7);margin-left:.15em}
.pick .sp1{margin-left:auto}

/* ---- 7: 표지 배너 디자인을 내 마음대로 (글꼴은 launch-promo.mjs가 FontFace로 필요할 때만 불러온다) ---- */
.g{background:#120a14}
.g .b1{width:24em;height:24em;left:50%;top:-35%;background:#ff5a7a;opacity:.45}
.g .b2{width:20em;height:20em;left:72%;top:45%;background:#ffb547;opacity:.4}
.g .b3{width:16em;height:16em;left:-6%;top:50%;background:#6a4dff;opacity:.45}
.g .spark{background:#ffd9e6;box-shadow:0 0 .6em #ff8fb0}
.g .copy h2{font-size:2.3em}
.g .key.hot{background-image:linear-gradient(90deg,#ffb3c7,#ffd36e,#b49bff,#ffb3c7)}
.deck-g{position:absolute;right:1.8em;top:50%;width:20.6em;transform:translateY(-50%);z-index:2;display:grid;grid-template-columns:7em 1fr;gap:.8em}
.cov,.ban{position:relative;overflow:clip;border-radius:.3em;background:#222;box-shadow:0 .8em 2em rgba(0,0,0,.5)}
.cov{width:7em;height:10.5em}
.ban{height:6.2em}
.cov img.bg,.ban img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cov::after,.ban::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.55))}
.ban::after{background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 75%)}
.ttl{position:absolute;z-index:1;line-height:1.08;white-space:nowrap;color:#F7C65F;font-family:pp-lp-bh,system-ui,sans-serif}
.ttl .chr2{display:inline-block}
.cov .ttl{left:0;right:0;top:12%;text-align:center;font-size:1.3em}
.ban .ttl{left:7%;top:46%;transform:translateY(-50%);font-size:1.15em}
.au{position:absolute;z-index:1;font-size:.62em;font-weight:700;color:#fff;letter-spacing:.15em}
.cov .au{left:0;right:0;bottom:6%;text-align:center}
.ban .au{left:7.5%;bottom:10%}
.ban .mini{position:absolute;z-index:1;right:6%;top:50%;width:3.1em;height:4.65em;transform:translateY(-50%) rotate(4deg);border-radius:.15em;overflow:clip;box-shadow:0 .4em 1em rgba(0,0,0,.6)}
.ban .mini img{width:100%;height:100%;object-fit:cover}
.fx-shadow{text-shadow:0 .08em .16em rgba(0,0,0,.85)}
.fx-glow{text-shadow:0 0 .35em currentColor,0 0 .08em #fff}
.fx-outline{-webkit-text-stroke:.05em #111;paint-order:stroke fill;text-shadow:none}
.ctl{display:grid;gap:.45em;margin-top:.7em}
.ctl .r{display:flex;gap:.35em;align-items:center}
.ctl .fo{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:.4em;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font-size:.95em;color:#fff}
.ctl .co{width:1.4em;height:1.4em;border-radius:50%;border:.13em solid rgba(255,255,255,.5)}
.ctl .ef{display:inline-flex;align-items:center;height:1.9em;padding:0 .55em;border-radius:.4em;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font-size:.72em;font-weight:700;color:#fff;white-space:nowrap}
.tpls{grid-column:1 / -1;display:flex;gap:.45em}
.tpls img{width:3.1em;height:4.65em;object-fit:cover;border-radius:.2em;opacity:.65;box-shadow:0 0 0 .1em transparent}

/* 휴대폰 폭 카드(약 320px): 부제를 약 11px로 키우고, 오른쪽 화면 조각은 조금 줄여 자리를 만든다. 위 규칙을 덮어쓰도록 맨 끝에 둔다. */
@container (max-width:420px){
  .copy{max-width:24em}
  .copy p{font-size:1.75em;line-height:1.35;margin-top:.55em;word-break:keep-all;color:rgba(255,255,255,.9)}
  .copy p br{display:none}
  .deck-b,.deck-d,.deck-f,.deck-g{scale:.82;transform-origin:right center}
  /* 오른쪽 아래 쪽 표시·일시정지 버튼에 가리지 않게 위로 올림 */
  .deck-b,.deck-c,.deck-d,.deck-f,.deck-g{translate:0 -2.6em}
  .deck-c{scale:.76;transform-origin:right center}
  .deck-e{scale:.8;transform-origin:right center}
  .console{scale:.84;transform-origin:right center}
  .ch .lb{font-size:1.7em}
  .strip{height:11em}
  .console{top:46%}
  .console .tag{font-size:1.35em}
}
