/* Keep cover typography as live text, independent of illustration resolution. */
@font-face{font-family:'Woldam Chosun Gungseo';src:url("../fonts/chosun/ChosunGs.18a188cd1e61.ttf") format('truetype');font-weight:400;font-style:normal;font-display:swap}
.poster.readable-poster{background:#17151d;container-type:inline-size;padding:0 16px 24px;border-radius:14px}
.readable-poster::before{display:none}
.readable-poster::after{z-index:1;background:linear-gradient(180deg,transparent 48%,rgba(23,21,29,.2) 59%,#17151d 75%)}
.cover-portrait{position:absolute;inset:0 0 18%;overflow:hidden;z-index:0}
.cover-portrait img{display:block;width:120%;height:auto;max-width:none;margin-left:-10%}
.cover-title{position:relative;z-index:2;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:clamp(28px,12cqw,48px);font-weight:800;line-height:1.2;letter-spacing:-.045em;color:#f5e8cd;text-wrap:balance;word-break:keep-all;text-shadow:0 2px 16px #0008}
.rail>.card{flex-basis:240px;width:240px}
.card .t{font-size:17px;font-weight:700;line-height:1.45;margin-top:12px}
.card .d{font-size:15px;line-height:1.5;-webkit-line-clamp:1;margin-top:5px;color:#66616c}
.hero-swiper .swiper-slide{background:#fff;box-shadow:0 6px 22px #17151d12}
.hero-swiper .readable-poster{padding-bottom:34px}
.hero-caption{padding:16px 18px 20px;background:#fff}
.hero-caption strong{display:block;font-size:19px;line-height:1.4;word-break:keep-all}
.hero-caption span{display:block;font-size:15px;line-height:1.5;color:#66616c;margin-top:5px}
.chip-char{flex-basis:108px;width:108px}
.portrait-photo{width:92px;height:92px;display:block;background:#eee}
.portrait-photo::before{display:none}
.portrait-photo img{display:block;position:absolute;width:180%;max-width:none;height:auto;left:-40%;top:0}
.chip-char .nm{font-size:16px;margin-top:11px}
.chip-char .ro{font-size:14px;line-height:1.5}
.login-welcome{padding:30px 24px 0;text-align:center;background:radial-gradient(ellipse at 50% 58%,#eee8f5,transparent 65%)}
.login-eyebrow{font-size:14px;letter-spacing:.16em;color:#796d82}
.login-brand{display:block;width:180px;height:82px;object-fit:contain;margin:10px auto 12px}
.login-cast{height:245px;max-width:340px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative}
.login-portrait{width:46%;height:220px;overflow:hidden;border-radius:90px 90px 20px 20px;box-shadow:0 12px 28px #33223920;background:#24202c;border:3px solid #fff}
.login-portrait:nth-child(2){transform:translateY(18px)}
.login-portrait img{display:block;width:200%;height:auto;max-width:none;margin-left:-50%}
.login-moon{position:absolute;right:0;top:0;color:#ac8c51;font-size:34px}
.login-welcome h1{font-size:25px;line-height:1.4;letter-spacing:-.04em}
.login-welcome>p:last-child{font-size:15px;color:#766d7c;margin-top:8px}
.login-existing{margin:24px 24px 0}
.login-existing>summary{font-size:14px;text-align:center;color:#69606e;cursor:pointer;min-height:44px;padding:12px}
.login-existing .form{padding:16px 0 0}
.login-welcome~.social-login{padding-top:24px}
.login-welcome~.social-login .hint{font-size:14px;color:#847b89}
@media(max-width:360px){.rail>.card{flex-basis:220px;width:220px}.grid{grid-template-columns:1fr}.grid .poster{max-height:370px}}
/* Romance cover lettering: generous two-line copy, character-specific ink. */
.readable-poster{--cover-ink:#edcf97;--cover-night:#17151d}
.readable-poster[data-story="reunion"]{--cover-ink:#ed9caa;--cover-night:#20131b}
.readable-poster[data-story="compatibility"]{--cover-ink:#d5bcf5;--cover-night:#1c1529}
.readable-poster[data-story="love"]{--cover-ink:#f0b8d1;--cover-night:#271722}
.readable-poster[data-story="career"]{--cover-ink:#b8d6ed;--cover-night:#131d29}
.readable-poster[data-story="study"]{--cover-ink:#b6d8cd;--cover-night:#172522}
.readable-poster[data-story="bundle"]{--cover-ink:#ddbedf;--cover-night:#211728}
.readable-poster::after{background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--cover-night) 65%,transparent) 59%,var(--cover-night) 78%)}
.poster.readable-poster{padding:0 12px 16px;background:var(--cover-night)}
.cover-copy{position:relative;z-index:2;width:100%;text-align:center}
.cover-kicker{font:500 clamp(14px,4.6cqw,17px)/1.5 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:.045em;color:#f5e8d9;margin:0 0 8px;text-shadow:0 1px 8px #000}
.cover-title{font-family:'Woldam Chosun Gungseo',Gungsuh,'궁서',serif;font-size:clamp(29px,13cqw,53px);font-weight:700;line-height:1.24;letter-spacing:-.075em;color:#fff4df;text-shadow:0 2px 2px #0009,0 4px 15px #0009}
.cover-title span,.cover-title strong{display:block;font-weight:700;white-space:nowrap}
.cover-title strong{color:var(--cover-ink);font-size:1.04em;margin-top:2px}
.cover-flourish{display:block;width:48%;height:14px;margin:12px auto 0;color:var(--cover-ink);opacity:.7}
.cover-flourish svg{display:block;width:100%;height:100%}
.hero-swiper .readable-poster{padding-bottom:24px}
.hero-swiper .cover-kicker{margin-bottom:12px}
.login-welcome{padding-left:0;padding-right:0;background:#fff}
.login-welcome-art{display:block;width:100%;height:auto;margin:0 auto 20px}
.login-welcome h1,.login-welcome>p{margin-left:20px;margin-right:20px}
/* Generated title artwork is a separate alpha layer over the unchanged portrait. */
.cover-lettering{display:block;width:calc(100% + 12px);max-width:none;height:auto;aspect-ratio:2/1;object-fit:contain;margin:0 -6px;filter:drop-shadow(0 3px 7px #0006)}
.cover-copy:has(.cover-lettering) .cover-kicker{margin-bottom:0}
.readable-poster[data-story="reunion"] .cover-lettering{transform:rotate(-3deg)}
.readable-poster[data-story="career"] .cover-lettering{width:96%;margin:0 auto}
.readable-poster[data-story="bundle"] .cover-lettering{width:90%;margin:0 auto;aspect-ratio:auto}
.pd-hero .poster.readable-poster{aspect-ratio:4/5;padding-bottom:24px}
/* Hand-lettered subtitles live inside the poster; no duplicate caption below. */
.cover-subtitle-art{display:block;width:94%;height:auto;aspect-ratio:3/1;object-fit:contain;margin:0 auto -5%;filter:drop-shadow(0 2px 5px #000b)}
.hero-swiper .swiper-slide{background:transparent}
.cover-portrait .cover-video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;background:#151c20}
.cover-portrait:has(.cover-video){inset:0}
/* 영상 포스터에서 인물이 가리지 않도록 제목을 줄인다 (2026-10-01) */
.readable-poster .cover-lettering,.readable-poster[data-story] .cover-lettering{width:72%;margin:0 auto}
.readable-poster[data-story="bundle"] .cover-lettering{width:66%}
.readable-poster .cover-subtitle-art{width:70%}
.readable-poster .cover-title{font-size:clamp(22px,9.5cqw,40px)}
/* Each video has a complete palette; category and explanation stay live text. */
.readable-poster:has([data-theme="ssalsun"]){--cover-night:#151815;--cover-ink:#eee9da;--topic-bg:#863c30;--topic-ink:#fff2df;--description-ink:#d6cfc3}
.readable-poster:has([data-theme="yeonhong"]){--cover-night:#291419;--cover-ink:#f2cfb8;--topic-bg:#72303e;--topic-ink:#ffe6d9;--description-ink:#e6c8be}
.readable-poster:has([data-theme="seolha"]){--cover-night:#151b30;--cover-ink:#e5ddf5;--topic-bg:#444465;--topic-ink:#f0eaff;--description-ink:#d0d3e8}
.readable-poster:has([data-theme="seoha"]){--cover-night:#121c24;--cover-ink:#e5ebef;--topic-bg:#354b59;--topic-ink:#eff6fc;--description-ink:#cbd5dd}
.readable-poster:has([data-theme="jambi"]){--cover-night:#221c35;--cover-ink:#cbb9fa;--topic-bg:#665184;--topic-ink:#faf0ff;--description-ink:#ded1ec}
.readable-poster:has([data-theme="jiwoon"]){--cover-night:#11182a;--cover-ink:#f3e6c8;--topic-bg:#3d4a6b;--topic-ink:#f6ecd4;--description-ink:#d2d6e2}
.readable-poster:has([data-theme="haeon"]){--cover-night:#1a2232;--cover-ink:#e8f0fb;--topic-bg:#4a6288;--topic-ink:#f1f6ff;--description-ink:#d5ddeb}
.cover-story .cover-topic{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;box-sizing:border-box;min-height:26px;padding:0 11px;border-radius:5px;background:var(--topic-bg);color:var(--topic-ink);font:700 clamp(14px,3cqw,14px)/1 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:0;text-align:center;margin:0 0 12px}
.cover-story[data-theme="yeonhong"] .cover-topic,.cover-story[data-theme="jambi"] .cover-topic{border-radius:20px}
.readable-poster[data-story] .cover-story .cover-lettering{width:92%;height:auto;aspect-ratio:2/1;margin:0 auto;transform:none;filter:none}
.cover-story .cover-description{max-width:30em;margin:10px auto 0;color:var(--description-ink);font:500 clamp(14px,3.5cqw,14px)/1.6 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:-.025em;word-break:keep-all;text-wrap:pretty}
.cover-story[data-theme="ssalsun"] .cover-description{max-width:20em;font-family:'Woldam Chosun Gungseo',Gungsuh,'궁서',serif;font-synthesis:none;font-size:clamp(14px,4.3cqw,16px);font-weight:400;line-height:1.85;color:#e9e3d7;-webkit-text-stroke:0;letter-spacing:.015em;word-break:keep-all;text-wrap:balance}
.cover-story[data-theme="seoha"] .cover-description{letter-spacing:0;font-weight:400}
.cover-story[data-theme="jambi"] .cover-description{letter-spacing:0;line-height:1.75}
/* Ink-bounded exports are generated by tools/trim_lettering.py (10px padding).
   Match two-line title HEIGHT across characters; width follows the brushwork. */
.poster.readable-poster .cover-copy{position:absolute;inset:auto 4% 0;width:auto;height:33.333%;padding:0 0 3cqw;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2cqw}
.cover-story .cover-topic{flex:0 0 5.5cqw;min-height:0;height:5.5cqw;padding:0 2.7cqw;margin:0;font-size:2.7cqw}
.cover-lettering-slot{flex:0 0 18cqw;width:100%;height:18cqw;min-height:0;margin:0;display:flex;align-items:center;justify-content:center}
.cover-lettering-frame{height:100%;max-width:100%;display:flex;align-items:center;justify-content:center}
.readable-poster[data-story] .cover-story .cover-lettering-frame .cover-lettering{position:static;width:auto;max-width:100%;height:100%;aspect-ratio:auto;margin:0;object-fit:contain;transform:none}
.cover-story .cover-description{flex:0 0 9.6cqw;min-height:0;width:100%;max-width:none;margin:0;font-size:3.1cqw;line-height:1.45;display:flex;align-items:center;justify-content:center;text-wrap:balance}
.cover-story[data-theme="ssalsun"] .cover-description{max-width:none;font-size:3.4cqw;line-height:1.4}
.cover-story[data-theme="jambi"] .cover-description{line-height:1.45}
.readable-poster .cover-copy:not(.cover-story) .cover-subtitle-art{width:auto;max-width:100%;height:5.5cqw;aspect-ratio:auto;object-fit:contain;margin:0}
.readable-poster[data-story] .cover-copy:not(.cover-story) .cover-lettering{width:auto;max-width:100%;height:11cqw;aspect-ratio:auto;object-fit:contain;margin:0;transform:none}
.readable-poster .cover-copy:not(.cover-story){padding-bottom:6cqw}
.readable-poster .cover-title{font-size:7cqw;line-height:1.2}
.cover-story .cover-flourish{display:none}
.readable-poster:has(.cover-video)::after{background:linear-gradient(180deg,transparent 52%,color-mix(in srgb,var(--cover-night) 15%,transparent) 66%,color-mix(in srgb,var(--cover-night) 45%,transparent) 85%,color-mix(in srgb,var(--cover-night) 65%,transparent) 100%)}
