:root{
  --ink:#171719;--muted:#77736e;--paper:#fffefa;--gold:#c9953e;--gold2:#e7c77f;--gold-soft:#f8f0de;
  --rose:#b85f72;--rose2:#e9a6b4;--rose-soft:#fff2f4;--line:#e9e2d5;--shadow:0 22px 70px rgba(56,43,20,.09);
}
*{box-sizing:border-box}html{background:#f8f6f2}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#fbfaf6 100%)}button,input,textarea,select{font:inherit}button{touch-action:manipulation}button:disabled{opacity:.55;cursor:wait;filter:saturate(.7)}.shell{max-width:820px;margin:auto;min-height:100vh;background:#fff;position:relative;overflow:hidden}.topBrand{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 10px;position:relative;z-index:4}.topBrand b{font-family:Georgia,"Times New Roman",serif;letter-spacing:.18em;color:#a6752d;font-size:14px}.topBrand b:before{content:'✦';margin-right:9px;color:#d5a64f}.topBrand span{font-size:12px;color:#9a9489}.screen{display:none;min-height:calc(100vh - 60px);padding:12px 26px 42px;position:relative}.screen.active{display:block}.heroScreen{padding-top:0}.heroArt{height:330px;margin:0 -26px 8px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 22%,#fffaf0 0,#fff 50%,#fff 100%)}.heroArt:after{content:'';position:absolute;inset:auto 0 0;height:115px;background:linear-gradient(180deg,transparent,#fff)}.heroArt img{position:absolute;right:-10px;top:-34px;width:min(74vw,560px);height:auto;object-fit:contain}.heroCopy{position:absolute;left:26px;top:58px;z-index:2;max-width:51%}.heroCopy .eyebrow{font-family:Georgia,serif;color:#b78533;letter-spacing:.12em;font-size:12px}.heroCopy h1{font-family:Georgia,"Noto Serif KR",serif;font-weight:500;font-size:36px;line-height:1.22;margin:22px 0 10px;letter-spacing:-.035em}.heroCopy p{margin:0;color:#756f67;line-height:1.7;font-size:14px}.goldStars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 16% 16%,rgba(205,157,73,.52) 0 1px,transparent 2px),radial-gradient(circle at 88% 22%,rgba(205,157,73,.42) 0 1px,transparent 2px),radial-gradient(circle at 81% 58%,rgba(205,157,73,.42) 0 1px,transparent 2px);background-size:150px 150px,210px 210px,125px 125px;opacity:.9}
.formPaper{background:rgba(255,255,255,.97);border-top:1px solid #eee4d2;padding:26px 2px 2px;position:relative}.sectionTitle{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-family:Georgia,"Noto Serif KR",serif;font-size:19px;font-weight:600}.sectionTitle:before,.sectionTitle:after{content:'';height:1px;background:#ebdcc1;flex:1}.sectionTitle i{font-style:normal;color:#c99743;font-size:12px}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}.field.full{grid-column:1/-1}.field label,.fieldLabel{display:block;font-size:12px;font-weight:800;color:#393632;margin-bottom:7px}.textInput,.selectInput,.digitInput{width:100%;height:50px;border:1px solid #dfd8cc;border-radius:13px;background:#fff;padding:0 14px;outline:none;color:#292724}.textInput:focus,.selectInput:focus,.digitInput:focus,.storyText:focus{border-color:#d1a457;box-shadow:0 0 0 3px rgba(201,149,62,.10)}.digitInput{letter-spacing:.08em;font-variant-numeric:tabular-nums}.hint{font-size:11px;color:#9a9287;line-height:1.55;margin-top:6px}.seg{display:flex;gap:8px}.seg label{flex:1;margin:0}.seg input{display:none}.seg span{height:50px;border:1px solid #dfd8cc;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#7c7770;background:#fff;font-size:13px}.seg input:checked+span{border-color:#d2a151;color:#7d5520;background:#fffaf0;box-shadow:inset 0 0 0 1px #efdcae}.timeRow{display:grid;grid-template-columns:1fr auto;gap:8px}.tinyCheck{border:1px solid #dfd8cc;background:#fff;border-radius:12px;padding:0 12px;color:#68635d;white-space:nowrap}.tinyCheck.on{border-color:#c9953e;background:#fff9ec;color:#8c5d17}.primaryGold,.primaryRose,.ghostBtn{border:0;border-radius:14px;min-height:56px;padding:0 18px;font-weight:900}.primaryGold{width:100%;margin-top:22px;background:linear-gradient(135deg,#f7dd9a,#d7a84e 48%,#f7e3a9);color:#493318;box-shadow:0 13px 30px rgba(187,130,35,.16)}.primaryRose{width:100%;background:linear-gradient(135deg,#f6c5cf,#c77486);color:#5a2630}.ghostBtn{background:#fff;border:1px solid #ddd5c8;color:#55504a}.statusLine{min-height:20px;margin-top:11px;text-align:center;font-size:12px;color:#8a8176}
/* question wizard */
.questionHero{height:285px;margin:0 -26px;position:relative;overflow:hidden;background:#fff}.questionHero img{position:absolute;right:-10px;top:-20px;width:min(72vw,560px);max-height:330px;object-fit:contain}.questionHero:after{content:'';position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,#fff)}.questionMark{position:absolute;left:26px;top:30px;z-index:2;color:#b47d2c;font-family:Georgia,serif;font-size:13px;letter-spacing:.12em}.stepLine{height:2px;background:#eee8dd;margin:2px 0 28px}.stepLine i{display:block;height:100%;background:linear-gradient(90deg,#bd8531,#e7c67a);transition:width .25s}.questionBody{max-width:710px;margin:auto}.questionBody .kicker{color:#b37a2b;font-size:12px;letter-spacing:.09em;margin-bottom:10px}.questionBody h2{font-family:Georgia,"Noto Serif KR",serif;font-size:28px;line-height:1.4;font-weight:500;margin:0 0 9px;letter-spacing:-.025em}.questionBody>p{color:#78726b;font-size:13px;line-height:1.7;margin:0 0 18px}.storyText{width:100%;min-height:190px;resize:vertical;border:1px solid #dfd8cc;border-radius:16px;background:#fff;padding:17px;outline:none;line-height:1.75;color:#272521}.examples{font-size:10.8px;color:#9a9083;line-height:1.9;margin:14px 0 4px}.examples b{color:#b37d2d}.deepGuide{margin:14px 0 0;padding:12px 0;border-top:1px solid #efe8dc;color:#7d766e;font-size:11px;line-height:1.75}.deepGuide strong{color:#9f6b25}.priorityGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.priorityBtn{height:52px;background:#fff;border:1px solid #e3ddd3;border-radius:12px;color:#413d38}.priorityBtn.selected{border-color:#ce9b48;color:#8d5d17;background:#fff9ee;box-shadow:inset 0 0 0 1px #f0ddb9}.wizardNav{display:grid;grid-template-columns:110px 1fr;gap:10px;margin-top:22px}.wizardNav .ghostBtn{width:100%}.wizardNav .primaryGold{margin:0}.errorLine{display:none;margin-top:10px;color:#ad3d52;font-size:12px;text-align:center}.errorLine.show{display:block}
/* product */
.productIntro{text-align:center;padding:28px 0 18px}.productIntro .star{font-size:26px;color:#c59139}.productIntro h2{font-family:Georgia,"Noto Serif KR",serif;font-weight:500;font-size:30px;margin:12px 0 8px}.productIntro p{color:#7c756d;font-size:13px;line-height:1.7}.productList{display:grid;gap:12px}.productCard{border:1px solid #e2dbcf;background:#fff;border-radius:18px;padding:20px;text-align:left;position:relative}.productCard.selected{border-color:#c7943f;box-shadow:0 12px 40px rgba(144,98,27,.10);background:linear-gradient(180deg,#fff,#fffbf3)}.productCard.rose.selected{border-color:#c77486;background:linear-gradient(180deg,#fff,#fff5f7)}.productCard h3{font-family:Georgia,"Noto Serif KR",serif;margin:0 0 5px;font-size:20px;font-weight:600}.productCard p{margin:0;color:#7c756e;font-size:12px;line-height:1.6}.price{position:absolute;right:18px;top:18px;font-size:20px;font-weight:900;color:#7d5722}.rose .price{color:#9e4d5f}.bundleBadge{display:inline-block;margin-top:10px;font-size:10px;background:#fff0f3;color:#a54f62;border-radius:99px;padding:5px 9px}.sumBar{margin:18px 0 0;border-top:1px solid #eee6da;padding-top:16px;display:flex;justify-content:space-between;align-items:center}.sumBar b{font-size:21px}.sumBar small{display:block;color:#90877d;margin-bottom:3px}
/* compatibility */
.compatScreen{background:linear-gradient(180deg,#fff 0,#fff8f9 58%,#fff 100%)}.compatHead{text-align:center;padding:22px 0 18px}.compatHead .pairStars{color:#b85f72;font-size:22px;letter-spacing:.3em}.compatHead h2{font-family:Georgia,"Noto Serif KR",serif;font-size:29px;font-weight:500;margin:12px 0 7px}.compatHead p{font-size:13px;color:#806e72;line-height:1.7}.compatPaper{border-top:1px solid #f0d8dd;padding-top:22px}.compatPaper .sectionTitle{color:#713b47}.compatPaper .sectionTitle:before,.compatPaper .sectionTitle:after{background:#efd7dc}.compatPaper .sectionTitle i{color:#ba6578}.compatPaper .textInput:focus,.compatPaper .digitInput:focus,.compatPaper .storyText:focus,.compatPaper .selectInput:focus{border-color:#c77788;box-shadow:0 0 0 3px rgba(184,95,114,.09)}.relationChips{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 18px}.relationChips button{border:1px solid #ead6da;background:#fff;border-radius:99px;padding:9px 13px;color:#755b61;font-size:12px}.relationChips button.selected{background:#fff0f3;border-color:#c77788;color:#8d3c4e}.roseGuide{border-top:1px solid #f0dde1;color:#8a7378}.roseGuide strong{color:#a44d60}
/* checkout / generation */
.checkoutBox{max-width:620px;margin:35px auto 0;text-align:center}.checkoutBox .seal{width:72px;height:72px;border-radius:50%;border:1px solid #d9b56d;display:grid;place-items:center;margin:auto;color:#b47b25;font-size:29px;background:#fffaf0}.checkoutBox h2{font-family:Georgia,"Noto Serif KR",serif;font-size:28px;font-weight:500;margin:18px 0 8px}.checkoutBox p{color:#7d756c;line-height:1.7;font-size:13px}.checkoutReceipt{margin:24px auto;text-align:left;border-top:1px solid #eadfce;border-bottom:1px solid #eadfce;padding:15px 4px}.checkoutReceipt div{display:flex;justify-content:space-between;padding:6px 0}.checkoutReceipt small{color:#8a8178}.previewNotice{font-size:11px!important;color:#a04d5e!important;background:#fff3f5;padding:10px 12px;border-radius:10px}.progressWrap{display:none;margin-top:20px}.progressWrap.show{display:block}.runner{height:3px;background:#eee6da;overflow:hidden;border-radius:99px}.runner i{display:block;width:20%;height:100%;background:linear-gradient(90deg,#c59037,#edca79);animation:run 1.4s ease-in-out infinite alternate}.compatScreen .runner i{background:linear-gradient(90deg,#b85f72,#efadb9)}@keyframes run{to{transform:translateX(400%)}}.timer{margin-top:8px;font-size:12px;color:#8d8378}.genStatus{font-size:13px;color:#6e675f;margin-top:12px;line-height:1.6}
/* library / picture book — RC95 reference-locked picture-book style */
#readerScreen{padding-top:4px;background:#fff}.libraryBar{display:flex;gap:7px;margin:2px 0 10px;overflow:auto;scrollbar-width:none}.libraryBar::-webkit-scrollbar{display:none}.libraryBar button{border:1px solid #e6dccd;background:#fff;border-radius:99px;padding:8px 12px;white-space:nowrap;color:#776f64;font-size:11px}.libraryBar button.active{background:#fffaf1;border-color:#cfa658;color:#805c27}.libraryBar button.compat.active{background:#fff4f6;border-color:#c98595;color:#8d4a59}.bookTop{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 9px}.bookTop h2{font-family:Georgia,"Noto Serif KR","Batang",serif;font-size:15px;font-weight:500;color:#806a48;margin:0}.bookActions{display:flex;gap:5px}.bookActions button{border:0;background:transparent;padding:6px 5px;color:#9a9084;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.picturePage{min-height:1120px;position:relative;overflow:hidden;padding:42px 42px 70px;background:#fffdfa;border:0;isolation:isolate;color:#242220}.picturePage:before{content:"";position:absolute;right:-190px;top:72px;width:650px;height:650px;border-radius:50%;z-index:0;pointer-events:none;opacity:.30;background:repeating-conic-gradient(from -8deg,rgba(196,145,58,.34) 0 .55deg,transparent .55deg 14deg),radial-gradient(circle,transparent 0 32%,rgba(197,147,59,.16) 32.2% 32.6%,transparent 32.8% 45%,rgba(197,147,59,.22) 45.2% 45.6%,transparent 45.8% 58%,rgba(197,147,59,.25) 58.2% 58.6%,transparent 58.8% 70%,rgba(197,147,59,.19) 70.2% 70.5%,transparent 70.7%)}.picturePage.pose-left:before{right:auto;left:-190px;transform:scaleX(-1)}.picturePage.compat{background:#fff9f9}.picturePage.compat:before{opacity:.24;background:repeating-conic-gradient(from -8deg,rgba(178,92,112,.30) 0 .55deg,transparent .55deg 14deg),radial-gradient(circle,transparent 0 32%,rgba(178,92,112,.13) 32.2% 32.6%,transparent 32.8% 45%,rgba(190,115,130,.18) 45.2% 45.6%,transparent 45.8% 58%,rgba(190,115,130,.20) 58.2% 58.6%,transparent 58.8% 70%,rgba(201,149,62,.14) 70.2% 70.5%,transparent 70.7%)}
.pageStars{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.85;background-image:radial-gradient(circle at 6% 10%,rgba(196,145,58,.85) 0 1.4px,transparent 2.2px),radial-gradient(circle at 93% 17%,rgba(196,145,58,.72) 0 1.3px,transparent 2.1px),radial-gradient(circle at 84% 58%,rgba(196,145,58,.52) 0 1.2px,transparent 2px),radial-gradient(circle at 12% 73%,rgba(196,145,58,.52) 0 1.1px,transparent 2px),radial-gradient(circle at 45% 36%,rgba(196,145,58,.38) 0 1px,transparent 1.9px);background-size:150px 150px,205px 205px,165px 165px,210px 210px,185px 185px}.compat .pageStars{background-image:radial-gradient(circle at 6% 10%,rgba(184,95,114,.72) 0 1.4px,transparent 2.2px),radial-gradient(circle at 93% 17%,rgba(205,145,155,.65) 0 1.3px,transparent 2.1px),radial-gradient(circle at 84% 58%,rgba(196,145,58,.40) 0 1.2px,transparent 2px),radial-gradient(circle at 12% 73%,rgba(184,95,114,.42) 0 1.1px,transparent 2px),radial-gradient(circle at 45% 36%,rgba(196,145,58,.30) 0 1px,transparent 1.9px)}
.pageMeta{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Georgia,"Times New Roman",serif;font-size:12px;letter-spacing:.18em;color:#a87932;position:relative;z-index:5;border-bottom:1px solid rgba(190,143,70,.28);padding-bottom:12px}.pageMeta .brandMark:before{content:"✦";margin-right:9px;color:#c99a4c}.pageMeta .pageCount{letter-spacing:.14em;white-space:nowrap}.compat .pageMeta{color:#a85868;border-bottom-color:rgba(184,95,114,.22)}.chapterLine{font-family:"Noto Serif KR","Batang",Georgia,serif;font-size:13px;line-height:1.65;color:#a47736;margin-top:28px;position:relative;z-index:5;letter-spacing:.015em}.compat .chapterLine{color:#a45666}
.picturePage h3{font-family:"Noto Serif KR","Batang",Georgia,serif;font-weight:500;font-size:34px;line-height:1.46;letter-spacing:-.025em;margin:18px 0 34px;width:45%;max-width:380px;position:relative;z-index:5;word-break:keep-all;color:#211f1d}.bodyFlow{font-family:"Noto Serif KR","Batang",Georgia,serif;font-size:16px;line-height:2.12;color:#3e3934;position:relative;z-index:5;width:46%;max-width:385px;word-break:keep-all;letter-spacing:-.012em}.bodyFlow p{margin:0 0 26px}.bodyFlow p:last-child{margin-bottom:0}.bodyFlow br{line-height:2.25}.pose-left h3,.pose-left .bodyFlow{margin-left:auto;width:45%;max-width:380px}.pose-left .bodyFlow{width:46%;max-width:385px}
.pageCharacter{position:absolute;right:-6%;top:128px;width:64%;height:calc(100% - 120px);object-fit:contain;object-position:center top;z-index:3;opacity:1;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 5%,#000 13%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 5%,#000 13%,#000 100%)}.pose-left .pageCharacter{left:-6%;right:auto;object-position:center top;-webkit-mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.35) 5%,#000 13%,#000 100%);mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.35) 5%,#000 13%,#000 100%)}.compat .pageCharacter{filter:sepia(.08) saturate(.82) hue-rotate(315deg) brightness(1.015)}
.impactLine{font-family:"Noto Serif KR","Batang",Georgia,serif;font-size:24px;line-height:1.75;font-weight:500;letter-spacing:-.025em;color:#8b5d20;margin:64px 0 0;width:52%;max-width:430px;position:relative;z-index:5;word-break:keep-all;padding:0}.impactLine:before{content:"✦";display:block;color:#c9953e;font-size:14px;margin-bottom:15px}.pose-left .impactLine{margin-left:auto;width:52%;max-width:430px}.compat .impactLine{color:#985064}.compat .impactLine:before{color:#c37988}
.picturePage.compat.ending{background:radial-gradient(circle at 68% 24%,#b85c72 0%,#7c3146 36%,#511f31 70%,#2c111c 100%);color:#fff9f6}.picturePage.compat.ending:before{opacity:.24;background:repeating-conic-gradient(from -8deg,rgba(255,221,198,.32) 0 .55deg,transparent .55deg 14deg),radial-gradient(circle,transparent 0 32%,rgba(255,221,198,.13) 32.2% 32.6%,transparent 32.8% 45%,rgba(255,221,198,.18) 45.2% 45.6%,transparent 45.8% 58%,rgba(255,221,198,.18) 58.2% 58.6%,transparent 58.8%)}.picturePage.compat.ending .pageMeta{color:#f0c7b2;border-bottom-color:rgba(255,230,218,.25)}.picturePage.compat.ending .chapterLine{color:#efc1ad}.picturePage.compat.ending h3,.picturePage.compat.ending .bodyFlow{color:#fffaf7}.picturePage.compat.ending .impactLine{color:#ffd8c4}.picturePage.compat.ending .impactLine:before{color:#ffd0a0}.picturePage.compat.ending .pageCharacter{filter:sepia(.12) saturate(.90) hue-rotate(320deg) brightness(.92);opacity:.95}
.bookNav{display:flex;justify-content:center;align-items:center;gap:40px;margin:12px 0 0;padding:8px 0}.bookNav button{min-width:86px;height:42px;border:0;background:transparent;color:#8c7655;font-family:"Noto Serif KR","Batang",serif;font-size:14px}.bookNav #prevPage:before{content:"← ";color:#c79748}.bookNav #nextPage:after{content:" →";color:#c79748}.compatNav button{color:#9b5969}.fine{font-size:9px;line-height:1.65;color:#aaa197;text-align:center;margin:5px 0 0}
#engineMount{display:none!important}#printArea{display:none}
@media(max-width:620px){.topBrand{padding:18px 18px 8px}.screen{padding:8px 18px 34px}.heroArt,.questionHero{margin-left:-18px;margin-right:-18px}.heroArt{height:300px}.heroCopy{left:18px;top:48px;max-width:52%}.heroCopy h1{font-size:29px}.heroArt img{width:78vw;right:-24px}.fieldGrid{grid-template-columns:1fr}.field.full{grid-column:auto}.questionHero{height:250px}.questionHero img{width:78vw}.questionMark{left:18px}.questionBody h2{font-size:24px}.storyText{min-height:175px}.picturePage{min-height:760px;padding:34px 19px 46px}.picturePage:before{width:390px;height:390px;right:-170px;top:72px}.picturePage.pose-left:before{left:-170px;right:auto}.picturePage h3{font-size:25px;width:56%;max-width:none;margin-bottom:20px}.bodyFlow{font-size:15px;line-height:1.88;width:56%;max-width:none}.pose-left h3,.pose-left .bodyFlow{margin-left:auto;width:56%;max-width:none}.pageCharacter{width:66%;right:-16%;top:74px;height:calc(100% - 90px);opacity:.98}.pose-left .pageCharacter{left:-16%;right:auto}.impactLine{font-size:19px;line-height:1.62;width:58%;max-width:none;margin-top:28px}.pose-left .impactLine{margin-left:auto;width:58%;max-width:none}.priorityGrid{grid-template-columns:1fr 1fr}.productCard{padding:18px 15px}.price{position:static;margin-top:9px}.wizardNav{grid-template-columns:90px 1fr}}
@media print{body{background:#fff}.shell{display:none!important}#printArea{display:block!important}.printPage{height:297mm;break-after:page;position:relative;overflow:hidden;padding:16mm 14mm;background:#fffefa;color:#27231f;isolation:isolate}.printPage:before{content:'';position:absolute;right:-36mm;top:16mm;width:145mm;height:145mm;border-radius:50%;border:.25mm solid rgba(201,149,62,.20);box-shadow:0 0 0 8mm rgba(201,149,62,.025);z-index:0}.printPage.left:before{right:auto;left:-36mm}.printPage.compat{background:#fff7f9}.printPage.compat:before{border-color:rgba(184,95,114,.20);box-shadow:0 0 0 8mm rgba(184,95,114,.025)}.printPage.compat.ending{background:#4b192a;color:#fff9f6}.printPage.compat.ending:before{border-color:rgba(255,222,205,.26)}.printPage .pMeta{font-size:8pt;letter-spacing:.14em;color:#a77c3b;position:relative;z-index:3}.printPage.compat .pMeta{color:#a65265}.printPage.compat.ending .pMeta{color:#f1c4ac}.printPage .pChapter{font-size:10pt;margin:5mm 0 2mm;color:#966d34;position:relative;z-index:3}.printPage.compat .pChapter{color:#a65265}.printPage.compat.ending .pChapter{color:#f1c4ac}.printPage h2{font-family:Georgia,serif;font-weight:500;font-size:22pt;line-height:1.35;margin:0 0 6mm;width:46%;position:relative;z-index:3}.printPage .pBody{font-family:Georgia,serif;font-size:10.8pt;line-height:1.68;width:47%;position:relative;z-index:3}.printPage.left h2,.printPage.left .pBody,.printPage.left .pImpact{margin-left:auto;width:47%}.printPage img{position:absolute;right:-8mm;top:18mm;width:61%;height:258mm;object-fit:contain;object-position:center top;opacity:.98;filter:grayscale(1) sepia(.32) saturate(.72) brightness(1.34) contrast(.90);z-index:1}.printPage.left img{right:auto;left:-8mm;transform:none}.printPage.compat img{filter:grayscale(1) sepia(.38) saturate(.92) hue-rotate(310deg) brightness(1.31) contrast(.91)}.printPage.compat.ending img{filter:grayscale(1) sepia(.44) saturate(1.15) hue-rotate(305deg) brightness(1.12) contrast(.96);opacity:.92}.printPage .pImpact{font-family:Georgia,serif;font-size:14.5pt;line-height:1.55;font-weight:700;color:#6f4c1f;margin-top:7mm;width:47%;position:relative;z-index:3}.printPage .pImpact:before{content:'✦';display:block;font-size:9pt;color:#c9953e;margin-bottom:2.5mm}.printPage.compat .pImpact{color:#85394b}.printPage.compat.ending h2,.printPage.compat.ending .pBody{color:#fffaf7}.printPage.compat.ending .pImpact{color:#ffd9c6}.printPage.compat.ending .pImpact:before{color:#ffd3a3}}

/* RC95 final responsive overrides — reference page proportions */
@media(max-width:620px){
  #readerScreen{padding-left:10px;padding-right:10px}
  .libraryBar{margin-left:8px;margin-right:8px}.bookTop{padding:0 8px}
  .picturePage{min-height:1080px;padding:30px 24px 64px}
  .picturePage:before{width:520px;height:520px;right:-245px;top:70px}.picturePage.pose-left:before{left:-245px;right:auto}
  .pageMeta{font-size:10.5px;padding-bottom:10px}.chapterLine{font-size:12px;margin-top:24px}
  .picturePage h3{font-size:29px;line-height:1.5;width:48%;max-width:none;margin:15px 0 30px}
  .bodyFlow{font-size:15.2px;line-height:2.08;width:49%;max-width:none}.bodyFlow p{margin-bottom:24px}
  .pose-left h3{width:48%;max-width:none}.pose-left .bodyFlow{width:49%;max-width:none}
  .pageCharacter{width:69%;right:-17%;top:122px;height:calc(100% - 115px)}.pose-left .pageCharacter{left:-17%;right:auto}
  .impactLine{font-size:21px;line-height:1.76;width:57%;max-width:none;margin-top:56px}.pose-left .impactLine{width:57%;max-width:none}
  .bookNav{gap:28px;margin-top:6px}.fine{font-size:8.5px;padding:0 20px}
}
@media(max-width:390px){
  .picturePage{min-height:1060px;padding:28px 20px 60px}
  .picturePage h3{font-size:27px;width:50%}.bodyFlow{font-size:14.5px;line-height:2.06;width:50%}
  .pose-left h3,.pose-left .bodyFlow{width:50%}
  .pageCharacter{width:72%;right:-20%}.pose-left .pageCharacter{left:-20%;right:auto}
  .impactLine{font-size:20px;width:60%}.pose-left .impactLine{width:60%}
}
@media print{
  .printPage{height:297mm;break-after:page;position:relative;overflow:hidden;padding:14mm 15mm 16mm;background:#fffdfa;color:#242220;isolation:isolate}
  .printPage:before{content:'';position:absolute;right:-45mm;top:23mm;width:160mm;height:160mm;border-radius:50%;opacity:.26;background:repeating-conic-gradient(from -8deg,rgba(196,145,58,.34) 0 .55deg,transparent .55deg 14deg),radial-gradient(circle,transparent 0 32%,rgba(197,147,59,.18) 32.2% 32.6%,transparent 32.8% 45%,rgba(197,147,59,.22) 45.2% 45.6%,transparent 45.8% 58%,rgba(197,147,59,.25) 58.2% 58.6%,transparent 58.8%)}
  .printPage.left:before{right:auto;left:-45mm}.printPage.compat{background:#fff8f9}.printPage.compat.ending{background:#4b192a;color:#fff9f6}
  .printPage .pMeta{display:flex;justify-content:space-between;border-bottom:.25mm solid rgba(190,143,70,.28);padding-bottom:3mm;font-family:Georgia,serif;font-size:8.5pt;letter-spacing:.14em;color:#a77c3b;position:relative;z-index:4}
  .printPage .pChapter{font-family:"Noto Serif KR","Batang",serif;font-size:9.5pt;margin:7mm 0 3mm;color:#966d34;position:relative;z-index:4}
  .printPage h2{font-family:"Noto Serif KR","Batang",serif;font-weight:500;font-size:23pt;line-height:1.45;margin:0 0 8mm;width:45%;position:relative;z-index:4}
  .printPage .pBody{font-family:"Noto Serif KR","Batang",serif;font-size:10.6pt;line-height:1.88;width:46%;position:relative;z-index:4}.printPage .pBody p{margin:0 0 5.5mm}
  .printPage.left h2,.printPage.left .pBody,.printPage.left .pImpact{margin-left:auto;width:46%}
  .printPage img{position:absolute;right:-15mm;top:30mm;width:69%;height:250mm;object-fit:contain;object-position:center top;opacity:1;filter:none;z-index:2}.printPage.left img{right:auto;left:-15mm}
  .printPage.compat img{filter:sepia(.08) saturate(.82) hue-rotate(315deg)}
  .printPage .pImpact{font-family:"Noto Serif KR","Batang",serif;font-size:16pt;line-height:1.7;font-weight:500;color:#80551f;margin-top:10mm;width:52%;position:relative;z-index:4}.printPage .pImpact:before{content:'✦';display:block;font-size:9pt;color:#c9953e;margin-bottom:3mm}
  .printPage.compat .pImpact{color:#94485a}.printPage.compat.ending h2,.printPage.compat.ending .pBody{color:#fffaf7}.printPage.compat.ending .pImpact{color:#ffd9c6}
}
body.reading .topBrand{display:none}.reading #readerScreen{min-height:100vh}.reading .bookTop{justify-content:flex-end;margin:0 5px 6px}.reading .bookTop h2{display:none}.reading .fine{display:none}

/* =========================================================
   RC96 FINAL PICTURE-BOOK READER OVERRIDE
   Reference: white/ivory page + gold celestial linework,
   large clear character, serif text flowing beside the art.
   Engine / pricing / input logic untouched.
   ========================================================= */
body.reading{background:#f6f2e9}
.reading #readerScreen{padding:0 10px 26px;background:#f6f2e9}
.reading .bookTop{padding:8px 4px 4px;margin:0;min-height:34px}
.reading .libraryBar{padding-top:4px}

.picturePage{
  position:relative;
  overflow:hidden;
  min-height:1180px;
  margin:0 auto;
  padding:34px 30px 58px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fffdf8;
  color:#2d2925;
  isolation:isolate;
}
.picturePage::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  width:760px;
  height:760px;
  right:-330px;
  top:88px;
  border-radius:50%;
  opacity:.42;
  background:
    repeating-conic-gradient(from -8deg,rgba(197,149,70,.26) 0 .42deg,transparent .42deg 15deg),
    radial-gradient(circle,transparent 0 31%,rgba(197,149,70,.19) 31.1% 31.5%,transparent 31.7% 44%,rgba(197,149,70,.21) 44.1% 44.5%,transparent 44.7% 57%,rgba(197,149,70,.24) 57.1% 57.5%,transparent 57.7% 70%,rgba(197,149,70,.17) 70.1% 70.4%,transparent 70.6%);
}
.picturePage.pose-left::before{left:-330px;right:auto;transform:scaleX(-1)}
.picturePage::after{
  content:"✦   ·    ✧       ·    ✦      ·       ✧   ·";
  position:absolute;
  inset:auto 22px 18px 22px;
  z-index:0;
  color:rgba(197,149,70,.54);
  letter-spacing:18px;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
}

.pageMeta{
  position:relative;z-index:5;
  display:flex;justify-content:space-between;align-items:center;
  padding:0 0 12px;
  border-bottom:1px solid rgba(180,130,55,.25);
  font-family:Georgia,"Times New Roman","Noto Serif KR","Nanum Myeongjo","Batang",serif;
  color:#9a6a2b;
  font-size:12px;
  letter-spacing:.16em;
}
.brandMark::before{content:"✦ ";color:#c8933f}
.chapterLine{
  position:relative;z-index:5;
  margin:28px 0 14px;
  color:#a46f2f;
  font-family:"Noto Serif KR","Nanum Myeongjo","Batang",Georgia,serif;
  font-size:14px;
  line-height:1.65;
  letter-spacing:.015em;
}
.picturePage h3{
  position:relative;z-index:5;
  width:52%;max-width:none;
  margin:0 0 26px;
  color:#2b2927;
  font-family:"Noto Serif KR","Nanum Myeongjo","Batang",Georgia,serif;
  font-size:38px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.pose-left h3{margin-left:auto;width:52%;max-width:none}

/* Character is part of the page, not a faded background. Text wraps around it. */
.pageCharacter{
  position:relative;
  z-index:2;
  display:block;
  float:right;
  width:57%;
  height:auto;
  max-height:820px;
  margin:2px -30px 22px 24px;
  object-fit:contain;
  object-position:center top;
  opacity:1;
  filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  border-radius:0;
  mix-blend-mode:normal;
}
.pose-left .pageCharacter{
  float:left;
  left:auto;right:auto;
  width:57%;
  margin:2px 24px 22px -30px;
  object-position:center top;
  transform:none;
}
.bodyFlow{
  position:relative;z-index:5;
  width:auto;max-width:none;
  color:#413a34;
  font-family:"Noto Serif KR","Nanum Myeongjo","Batang",Georgia,serif;
  font-size:17px;
  line-height:2.05;
  font-weight:400;
  letter-spacing:-.018em;
  word-break:keep-all;
  overflow:visible;
}
.pose-left .bodyFlow{width:auto;max-width:none;margin-left:0}
.bodyFlow p{margin:0 0 28px}
.bodyFlow p:last-child{margin-bottom:20px}
.bodyFlow br{line-height:2.12}

.impactLine{
  position:relative;z-index:5;
  width:auto;max-width:none;
  margin:46px 0 0;
  padding:0;
  color:#8c5a20;
  font-family:"Noto Serif KR","Nanum Myeongjo","Batang",Georgia,serif;
  font-size:27px;
  line-height:1.78;
  font-weight:500;
  letter-spacing:-.025em;
  word-break:keep-all;
}
.pose-left .impactLine{width:auto;max-width:none;margin-left:0}
.impactLine::before{content:"✦";display:block;margin:0 0 14px;color:#c89543;font-size:13px}
.pageClear{clear:both;height:1px}

/* Compatibility keeps the same picture-book composition, with rose accents. */
.picturePage.compat{background:#fff8f8}
.picturePage.compat::before{opacity:.34;background:repeating-conic-gradient(from -8deg,rgba(183,104,119,.23) 0 .42deg,transparent .42deg 15deg),radial-gradient(circle,transparent 0 31%,rgba(183,104,119,.16) 31.1% 31.5%,transparent 31.7% 44%,rgba(183,104,119,.18) 44.1% 44.5%,transparent 44.7% 57%,rgba(183,104,119,.19) 57.1% 57.5%,transparent 57.7% 70%,rgba(201,149,62,.13) 70.1% 70.4%,transparent 70.6%)}
.picturePage.compat .pageMeta{color:#9e5b69;border-bottom-color:rgba(180,105,120,.24)}
.picturePage.compat .brandMark::before,.picturePage.compat .chapterLine{color:#ae6675}
.picturePage.compat .impactLine{color:#965061}
.picturePage.compat .impactLine::before{color:#c78592}
.picturePage.compat .pageCharacter{filter:sepia(.10) saturate(.84) hue-rotate(315deg) brightness(1.03)!important}
.picturePage.compat.ending{background:radial-gradient(circle at 72% 20%,#b76076 0,#7a3045 40%,#4a1b2c 76%,#2b101a 100%);color:#fff9f6}
.picturePage.compat.ending h3,.picturePage.compat.ending .bodyFlow{color:#fffaf7}
.picturePage.compat.ending .impactLine{color:#ffd8c4}
.picturePage.compat.ending .chapterLine,.picturePage.compat.ending .pageMeta{color:#efc4b0}
.picturePage.compat.ending .pageCharacter{mix-blend-mode:screen;opacity:.94;filter:sepia(.12) saturate(.88) hue-rotate(315deg) brightness(.98)!important}

@media(max-width:620px){
  .reading #readerScreen{padding:0 8px 24px}
  .picturePage{min-height:1120px;padding:28px 22px 52px}
  .picturePage::before{width:560px;height:560px;right:-260px;top:68px}.picturePage.pose-left::before{left:-260px;right:auto}
  .pageMeta{font-size:11px;padding-bottom:10px}
  .chapterLine{font-size:13px;margin:24px 0 12px}
  .picturePage h3{font-size:34px;line-height:1.52;width:53%;margin-bottom:24px}
  .pose-left h3{width:53%}
  .pageCharacter{width:58%;max-height:760px;margin:0 -22px 18px 20px}
  .pose-left .pageCharacter{width:58%;margin:0 20px 18px -22px}
  .bodyFlow{font-size:16.2px;line-height:2.08;letter-spacing:-.02em}
  .bodyFlow p{margin-bottom:27px}
  .impactLine{font-size:24px;line-height:1.78;margin-top:42px}
}
@media(max-width:400px){
  .picturePage{min-height:1080px;padding:26px 20px 48px}
  .picturePage h3{font-size:31px;width:54%}.pose-left h3{width:54%}
  .pageCharacter{width:59%;margin-right:-20px;margin-left:18px;max-height:720px}
  .pose-left .pageCharacter{width:59%;margin-left:-20px;margin-right:18px}
  .bodyFlow{font-size:15.7px;line-height:2.08}
  .impactLine{font-size:22.5px;line-height:1.78}
}

/* Print uses the same text-flow composition. */
@media print{
  .printPage{height:297mm;padding:14mm 14mm 16mm;background:#fffdf8;color:#2d2925;overflow:hidden}
  .printPage .pMeta{display:flex;justify-content:space-between;padding-bottom:3mm;border-bottom:.2mm solid rgba(180,130,55,.26);font-family:Georgia,serif;font-size:8.5pt;letter-spacing:.14em;color:#9a6a2b}
  .printPage .pChapter{font-family:"Noto Serif KR","Batang",serif;font-size:9.5pt;color:#9a642a;margin:7mm 0 3mm}
  .printPage h2{font-family:"Noto Serif KR","Batang",serif;font-size:24pt;line-height:1.48;font-weight:400;width:52%;margin:0 0 7mm}
  .printPage img{position:relative;float:right;right:auto;top:auto;width:57%;height:auto;max-height:235mm;margin:0 -14mm 5mm 6mm;object-fit:contain;opacity:1;filter:none!important;mix-blend-mode:normal}
  .printPage.left img{float:left;left:auto;right:auto;margin:0 6mm 5mm -14mm;transform:none}
  .printPage .pBody{font-family:"Noto Serif KR","Batang",serif;font-size:10.8pt;line-height:1.9;width:auto}.printPage .pBody p{margin:0 0 5.4mm}
  .printPage.left h2,.printPage.left .pBody,.printPage.left .pImpact{width:auto;margin-left:0}
  .printPage .pImpact{font-family:"Noto Serif KR","Batang",serif;font-size:16.2pt;line-height:1.72;font-weight:500;color:#87571f;width:auto;margin-top:8mm}
  .printPage.compat{background:#fff7f8}.printPage.compat .pImpact{color:#965061}.printPage.compat img{filter:sepia(.10) saturate(.84) hue-rotate(315deg) brightness(1.03)!important}
  .printPage.compat.ending{background:#4b192a;color:#fff9f6}.printPage.compat.ending h2,.printPage.compat.ending .pBody{color:#fffaf7}.printPage.compat.ending .pImpact{color:#ffd8c4}
}

/* RC97 override: stronger picture-book wrapping based on user-approved reference. */
.picturePage{
  min-height:1140px;
  padding:30px 24px 56px;
}
.picturePage h3,
.chapterLine,
.bodyFlow,
.impactLine{
  position:relative;
  z-index:5;
}
.chapterLine{
  max-width:44%;
  margin:24px 0 10px;
}
.picturePage h3{
  width:auto;
  max-width:44%;
  font-size:35px;
  line-height:1.56;
  margin:0 0 22px;
}
.pageCharacter{
  position:relative;
  float:right;
  right:auto;
  top:auto;
  width:60%;
  height:auto;
  max-height:820px;
  margin:-8px -24px 18px 24px;
  object-fit:contain;
  object-position:right top;
  -webkit-mask-image:none;
  mask-image:none;
}
.pose-left .pageCharacter{
  float:left;
  left:auto;
  right:auto;
  width:60%;
  margin:-8px 24px 18px -24px;
  object-position:left top;
  -webkit-mask-image:none;
  mask-image:none;
}
.bodyFlow{
  width:auto;
  max-width:none;
  font-size:16px;
  line-height:2.12;
  letter-spacing:-.015em;
}
.bodyFlow p{margin:0 0 28px}
.impactLine{
  width:auto;
  max-width:44%;
  margin-top:34px;
  font-size:23px;
  line-height:1.78;
}
.pose-left .chapterLine,
.pose-left h3,
.pose-left .impactLine{max-width:44%; margin-left:0}
.pageClear{clear:both;height:0}
@media(max-width:620px){
  .picturePage{min-height:1120px;padding:28px 22px 50px}
  .chapterLine{max-width:46%}
  .picturePage h3{max-width:47%;font-size:33px;line-height:1.54}
  .pageCharacter{width:61%;max-height:760px;margin:-6px -22px 16px 20px}
  .pose-left .pageCharacter{width:61%;margin:-6px 20px 16px -22px}
  .impactLine{max-width:48%;font-size:22px;line-height:1.76}
}
@media(max-width:400px){
  .chapterLine{max-width:48%}
  .picturePage h3{max-width:49%;font-size:30px}
  .pageCharacter{width:62%;max-height:700px;margin:-4px -20px 14px 18px}
  .pose-left .pageCharacter{width:62%;margin:-4px 18px 14px -20px}
  .impactLine{max-width:50%;font-size:20px}
}
@media print{
  .printPage h2,.printPage .pImpact,.printPage .pChapter{max-width:44%}
  .printPage img{float:right;width:60%;max-height:232mm;margin:-2mm -14mm 4mm 6mm}
  .printPage.left img{float:left;margin:-2mm 6mm 4mm -14mm}
  .printPage .pBody{width:auto;max-width:none}
  .printPage .pImpact{width:auto;max-width:44%}
}

/* =========================================================
   RC98 — FULL-SCENE PICTURE BOOK
   User-approved principle: the character is a large page scene,
   never a small rectangular illustration. Text occupies the open
   negative space and then continues naturally below the scene.
   ========================================================= */
.picturePage{
  --art-top:118px;
  --art-width:104%;
  --art-right:-8%;
  --art-left:auto;
  --text-side:44%;
  --wrap-w:56%;
  --wrap-h:720px;
  --impact-w:52%;
  min-height:1180px;
  padding:30px 28px 62px;
  background:#fffdfa;
}
.picturePage .pageStars{z-index:1;opacity:.72}
.picturePage::before{z-index:0;opacity:.22}
.picturePage .pageMeta,.picturePage .chapterLine,.picturePage h3,.picturePage .bodyFlow,.picturePage .impactLine{position:relative;z-index:5}
.picturePage .chapterLine{max-width:var(--text-side);margin:26px 0 12px}
.picturePage h3{width:auto;max-width:var(--text-side);font-size:35px;line-height:1.54;margin:0 0 24px;font-weight:400}

/* The entire prepared 720x980 artwork becomes one editorial scene. */
.picturePage .pageCharacter{
  position:absolute!important;
  float:none!important;
  top:var(--art-top)!important;
  right:var(--art-right)!important;
  left:var(--art-left)!important;
  width:var(--art-width)!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:top right!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  z-index:2!important;
  pointer-events:none;
}
.picturePage.pose-left{
  --art-right:auto;
  --art-left:-8%;
}
.picturePage.pose-left .pageCharacter{object-position:top left!important}
.picturePage.pose-left .chapterLine,.picturePage.pose-left h3{margin-left:auto;text-align:left}

/* Invisible editorial spacer: text wraps beside the large scene first,
   then automatically returns to full width below it. */
.picturePage .bodyFlow{width:auto!important;max-width:none!important;font-size:16px;line-height:2.08;letter-spacing:-.016em;color:#39352f}
.picturePage .bodyFlow::before{
  content:"";
  float:right;
  width:var(--wrap-w);
  height:var(--wrap-h);
  shape-outside:polygon(8% 0,100% 0,100% 100%,18% 100%,4% 75%,0 40%);
}
.picturePage.pose-left .bodyFlow::before{
  float:left;
  shape-outside:polygon(0 0,92% 0,100% 40%,96% 75%,82% 100%,0 100%);
}
.picturePage .bodyFlow p{margin:0 0 27px}
.picturePage .bodyFlow p:last-child{margin-bottom:0}
.picturePage .impactLine{clear:both;width:auto;max-width:var(--impact-w);font-size:23px;line-height:1.76;margin:48px 0 0;color:#85571f}
.picturePage.pose-left .impactLine{margin-left:auto}
.picturePage .pageClear{clear:both}

/* Twenty page-specific editorial adjustments. They are intentionally
   not one repeated left/right template. */
.scene-01{--art-top:150px;--art-width:108%;--art-right:-12%;--text-side:46%;--wrap-w:54%;--wrap-h:590px;--impact-w:58%}
.scene-02{--art-top:118px;--art-width:108%;--art-right:-10%;--text-side:43%;--wrap-w:57%;--wrap-h:760px;--impact-w:50%}
.scene-03{--art-top:112px;--art-width:105%;--art-right:-7%;--text-side:44%;--wrap-w:56%;--wrap-h:735px;--impact-w:52%}
.scene-04{--art-top:160px;--art-width:110%;--art-left:-13%;--text-side:45%;--wrap-w:55%;--wrap-h:610px;--impact-w:55%}
.scene-05{--art-top:110px;--art-width:106%;--art-right:-7%;--text-side:43%;--wrap-w:58%;--wrap-h:750px;--impact-w:50%}
.scene-06{--art-top:112px;--art-width:106%;--art-left:-8%;--text-side:44%;--wrap-w:57%;--wrap-h:735px;--impact-w:51%}
.scene-07{--art-top:165px;--art-width:111%;--art-right:-13%;--text-side:47%;--wrap-w:53%;--wrap-h:600px;--impact-w:58%}
.scene-08{--art-top:108px;--art-width:106%;--art-left:-8%;--text-side:43%;--wrap-w:58%;--wrap-h:760px;--impact-w:50%}
.scene-09{--art-top:116px;--art-width:105%;--art-right:-6%;--text-side:44%;--wrap-w:57%;--wrap-h:735px;--impact-w:52%}
.scene-10{--art-top:168px;--art-width:112%;--art-left:-14%;--text-side:47%;--wrap-w:53%;--wrap-h:605px;--impact-w:58%}
.scene-11{--art-top:110px;--art-width:107%;--art-right:-8%;--text-side:43%;--wrap-w:58%;--wrap-h:750px;--impact-w:50%}
.scene-12{--art-top:108px;--art-width:106%;--art-left:-7%;--text-side:44%;--wrap-w:57%;--wrap-h:735px;--impact-w:51%}
.scene-13{--art-top:170px;--art-width:111%;--art-right:-13%;--text-side:47%;--wrap-w:53%;--wrap-h:600px;--impact-w:58%}
.scene-14{--art-top:110px;--art-width:106%;--art-left:-8%;--text-side:43%;--wrap-w:58%;--wrap-h:755px;--impact-w:50%}
.scene-15{--art-top:112px;--art-width:105%;--art-right:-6%;--text-side:44%;--wrap-w:57%;--wrap-h:730px;--impact-w:52%}
.scene-16{--art-top:170px;--art-width:112%;--art-left:-14%;--text-side:47%;--wrap-w:53%;--wrap-h:600px;--impact-w:58%}
.scene-17{--art-top:108px;--art-width:107%;--art-right:-8%;--text-side:43%;--wrap-w:58%;--wrap-h:755px;--impact-w:50%}
.scene-18{--art-top:108px;--art-width:106%;--art-left:-7%;--text-side:44%;--wrap-w:57%;--wrap-h:735px;--impact-w:51%}
.scene-19{--art-top:168px;--art-width:111%;--art-right:-13%;--text-side:47%;--wrap-w:53%;--wrap-h:600px;--impact-w:58%}
.scene-20{--art-top:106px;--art-width:108%;--art-left:-9%;--text-side:43%;--wrap-w:58%;--wrap-h:760px;--impact-w:52%}

/* Compatibility keeps the same editorial composition. */
.picturePage.compat{background:#fff7f8}
.picturePage.compat .pageCharacter{filter:sepia(.07) saturate(.90) hue-rotate(314deg) brightness(1.025)!important}
.picturePage.compat.ending .pageCharacter{filter:sepia(.11) saturate(.92) hue-rotate(314deg) brightness(.96)!important}

@media(max-width:620px){
  .picturePage{min-height:1160px;padding:28px 22px 54px;--art-width:111%;--art-right:-12%;--text-side:44%;--wrap-w:57%;--impact-w:54%}
  .picturePage.pose-left{--art-left:-12%}
  .picturePage h3{font-size:32px;line-height:1.56}
  .picturePage .chapterLine{font-size:12.5px}
  .picturePage .bodyFlow{font-size:15.8px;line-height:2.08}
  .picturePage .impactLine{font-size:21px;line-height:1.78}
  .scene-01,.scene-04,.scene-07,.scene-10,.scene-13,.scene-16,.scene-19{--art-width:116%;--wrap-h:610px;--text-side:47%;--wrap-w:54%}
  .scene-02,.scene-05,.scene-08,.scene-11,.scene-14,.scene-17,.scene-20{--art-width:112%;--wrap-h:740px;--text-side:43%;--wrap-w:58%}
}
@media(max-width:400px){
  .picturePage{min-height:1140px;padding:26px 20px 50px;--art-width:114%;--art-right:-14%;--art-left:auto}
  .picturePage.pose-left{--art-right:auto;--art-left:-14%}
  .picturePage h3{font-size:29px}
  .picturePage .bodyFlow{font-size:15.3px}
  .picturePage .impactLine{font-size:20px}
}

@media print{
  .printPage{position:relative;overflow:hidden}
  .printPage img{position:absolute!important;float:none!important;top:28mm!important;right:-12mm!important;left:auto!important;width:108%!important;height:auto!important;max-height:none!important;margin:0!important;object-fit:contain!important;z-index:1!important;filter:none!important}
  .printPage.left img{left:-12mm!important;right:auto!important}
  .printPage h2,.printPage .pChapter,.printPage .pBody,.printPage .pImpact{position:relative;z-index:4}
  .printPage h2,.printPage .pChapter{max-width:44%}
  .printPage .pBody{width:44%;max-width:44%}
  .printPage.left h2,.printPage.left .pChapter,.printPage.left .pBody{margin-left:auto}
  .printPage .pImpact{clear:both;max-width:52%;margin-top:9mm}
  .printPage.left .pImpact{margin-left:auto}
}

/* =========================================================
   RC99 — FINAL DESIGN LOCK
   Approved reference: large full-page character, ~5% breathing room,
   text only in negative space, white/ivory + gold, serif typography,
   large gold key line, no boxes.
   ========================================================= */
.picturePage{
  --text-w:38%;
  --impact-w:76%;
  --art-w:84%;
  --art-scale:1.30;
  --art-x:3%;
  --art-y:0%;
  --obj-x:58%;
  --obj-y:50%;
  position:relative;
  min-height:1180px;
  padding:5.2% 5.3% 6.2%;
  overflow:hidden;
  background:#fffdf8;
  color:#302b26;
  isolation:isolate;
}
.picturePage::before{
  opacity:.20!important;
  z-index:0!important;
}
.picturePage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,253,248,.99) 0%,rgba(255,253,248,.97) 28%,rgba(255,253,248,.78) 38%,rgba(255,253,248,.18) 51%,rgba(255,253,248,0) 62%);
}
.picturePage.pose-left::after{
  background:linear-gradient(270deg,rgba(255,253,248,.99) 0%,rgba(255,253,248,.97) 28%,rgba(255,253,248,.78) 38%,rgba(255,253,248,.18) 51%,rgba(255,253,248,0) 62%);
}
.picturePage .pageStars{z-index:4!important;opacity:.66!important}
.picturePage .pageMeta,
.picturePage .chapterLine,
.picturePage h3,
.picturePage .bodyFlow,
.picturePage .impactLine{position:relative;z-index:6!important}
.picturePage .pageMeta{
  border-bottom:1px solid rgba(190,143,70,.28);
  padding-bottom:13px;
  font-size:11.5px;
  letter-spacing:.17em;
}
.picturePage .chapterLine{
  width:var(--text-w)!important;
  max-width:none!important;
  margin:29px 0 11px!important;
  color:#9b6829;
  font-size:13px;
  line-height:1.68;
}
.picturePage h3{
  width:var(--text-w)!important;
  max-width:none!important;
  margin:0 0 26px!important;
  color:#8a5718;
  font-family:"Noto Serif KR","Batang",Georgia,serif;
  font-size:35px!important;
  line-height:1.48!important;
  font-weight:500!important;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.picturePage .pageCharacter{
  position:absolute!important;
  top:0!important;
  bottom:auto!important;
  right:-2%!important;
  left:auto!important;
  width:var(--art-w)!important;
  height:100%!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:var(--obj-x) var(--obj-y)!important;
  transform:translate(var(--art-x),var(--art-y)) scale(var(--art-scale))!important;
  transform-origin:85% 48%!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
  z-index:2!important;
  pointer-events:none;
}
.picturePage.pose-left .pageCharacter{
  left:-2%!important;
  right:auto!important;
  transform-origin:15% 48%!important;
  -webkit-mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
  mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
}
.picturePage.pose-left .chapterLine,
.picturePage.pose-left h3,
.picturePage.pose-left .bodyFlow{
  margin-left:calc(100% - var(--text-w))!important;
  text-align:left!important;
}
.picturePage .bodyFlow{
  width:var(--text-w)!important;
  max-width:none!important;
  margin:0!important;
  font-family:"Noto Serif KR","Batang",Georgia,serif;
  font-size:15.8px!important;
  line-height:1.95!important;
  letter-spacing:-.018em;
  color:#35302b;
  word-break:keep-all;
}
.picturePage .bodyFlow::before{display:none!important;content:none!important}
.picturePage .bodyFlow p{margin:0 0 25px!important}
.picturePage .bodyFlow p:last-child{margin-bottom:0!important}
.picturePage .impactLine{
  clear:both;
  width:var(--impact-w)!important;
  max-width:none!important;
  margin:46px 0 0!important;
  padding:0!important;
  color:#9b641c!important;
  font-family:"Noto Serif KR","Batang",Georgia,serif;
  font-size:27px!important;
  line-height:1.58!important;
  font-weight:500!important;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.picturePage.pose-left .impactLine{
  margin-left:calc(100% - var(--impact-w))!important;
}
.picturePage .impactLine::before{
  content:"✦";
  display:block;
  color:#c7943a;
  font-size:12px;
  margin:0 0 14px;
}
.picturePage .pageClear{clear:both;height:0!important}

/* 20 different scene crops. Ratio remains locked; only pose/crop changes. */
.scene-01{--text-w:40%;--impact-w:70%;--art-scale:1.28;--obj-x:58%;--obj-y:48%;--art-x:4%}
.scene-02{--text-w:38%;--impact-w:76%;--art-scale:1.36;--obj-x:58%;--obj-y:44%;--art-x:4%}
.scene-03{--text-w:38%;--impact-w:72%;--art-scale:1.32;--obj-x:57%;--obj-y:46%;--art-x:3%}
.scene-04{--text-w:38%;--impact-w:72%;--art-scale:1.34;--obj-x:43%;--obj-y:45%;--art-x:-3%}
.scene-05{--text-w:37%;--impact-w:74%;--art-scale:1.38;--obj-x:60%;--obj-y:43%;--art-x:4%}
.scene-06{--text-w:38%;--impact-w:72%;--art-scale:1.33;--obj-x:42%;--obj-y:48%;--art-x:-3%}
.scene-07{--text-w:38%;--impact-w:76%;--art-scale:1.36;--obj-x:60%;--obj-y:45%;--art-x:4%}
.scene-08{--text-w:37%;--impact-w:72%;--art-scale:1.39;--obj-x:42%;--obj-y:43%;--art-x:-4%}
.scene-09{--text-w:38%;--impact-w:74%;--art-scale:1.34;--obj-x:59%;--obj-y:47%;--art-x:3%}
.scene-10{--text-w:39%;--impact-w:73%;--art-scale:1.34;--obj-x:42%;--obj-y:46%;--art-x:-3%}
.scene-11{--text-w:37%;--impact-w:74%;--art-scale:1.38;--obj-x:60%;--obj-y:44%;--art-x:4%}
.scene-12{--text-w:38%;--impact-w:72%;--art-scale:1.32;--obj-x:42%;--obj-y:47%;--art-x:-3%}
.scene-13{--text-w:39%;--impact-w:76%;--art-scale:1.35;--obj-x:59%;--obj-y:45%;--art-x:3%}
.scene-14{--text-w:37%;--impact-w:72%;--art-scale:1.39;--obj-x:42%;--obj-y:43%;--art-x:-4%}
.scene-15{--text-w:38%;--impact-w:74%;--art-scale:1.33;--obj-x:59%;--obj-y:46%;--art-x:3%}
.scene-16{--text-w:39%;--impact-w:73%;--art-scale:1.34;--obj-x:42%;--obj-y:45%;--art-x:-3%}
.scene-17{--text-w:37%;--impact-w:74%;--art-scale:1.38;--obj-x:60%;--obj-y:43%;--art-x:4%}
.scene-18{--text-w:38%;--impact-w:72%;--art-scale:1.33;--obj-x:42%;--obj-y:47%;--art-x:-3%}
.scene-19{--text-w:39%;--impact-w:76%;--art-scale:1.35;--obj-x:59%;--obj-y:44%;--art-x:3%}
.scene-20{--text-w:38%;--impact-w:76%;--art-scale:1.36;--obj-x:42%;--obj-y:44%;--art-x:-3%}

/* Compatibility: same locked composition, rose treatment only. */
.picturePage.compat{background:#fff8f9}
.picturePage.compat::after{background:linear-gradient(90deg,rgba(255,249,250,.99) 0%,rgba(255,249,250,.97) 28%,rgba(255,249,250,.78) 38%,rgba(255,249,250,.18) 51%,rgba(255,249,250,0) 62%)}
.picturePage.compat.pose-left::after{background:linear-gradient(270deg,rgba(255,249,250,.99) 0%,rgba(255,249,250,.97) 28%,rgba(255,249,250,.78) 38%,rgba(255,249,250,.18) 51%,rgba(255,249,250,0) 62%)}
.picturePage.compat .chapterLine,.picturePage.compat h3{color:#9a5262!important}
.picturePage.compat .impactLine{color:#9b4f61!important}
.picturePage.compat .pageCharacter{filter:sepia(.08) saturate(.90) hue-rotate(314deg) brightness(1.03)!important}
.picturePage.compat.ending{background:radial-gradient(circle at 72% 20%,#b76076 0,#7a3045 40%,#4a1b2c 76%,#2b101a 100%)}
.picturePage.compat.ending::after{background:linear-gradient(90deg,rgba(73,24,42,.96) 0%,rgba(73,24,42,.90) 30%,rgba(73,24,42,.48) 46%,rgba(73,24,42,.08) 61%,rgba(73,24,42,0) 70%)}
.picturePage.compat.ending.pose-left::after{background:linear-gradient(270deg,rgba(73,24,42,.96) 0%,rgba(73,24,42,.90) 30%,rgba(73,24,42,.48) 46%,rgba(73,24,42,.08) 61%,rgba(73,24,42,0) 70%)}

@media(max-width:620px){
  .reading #readerScreen{padding:0 8px 24px}
  .picturePage{min-height:1110px;padding:5.2% 5.2% 6.5%;--art-w:88%;--art-scale:1.34}
  .picturePage .pageMeta{font-size:10.5px}
  .picturePage .chapterLine{font-size:12px;margin-top:25px!important}
  .picturePage h3{font-size:31px!important;line-height:1.5!important;margin-bottom:22px!important}
  .picturePage .bodyFlow{font-size:15.2px!important;line-height:1.93!important}
  .picturePage .bodyFlow p{margin-bottom:23px!important}
  .picturePage .impactLine{font-size:23px!important;line-height:1.62!important;margin-top:40px!important}
}
@media(max-width:400px){
  .picturePage{min-height:1080px;padding:5% 5% 6.2%;--art-w:90%;--art-scale:1.36}
  .picturePage h3{font-size:29px!important}
  .picturePage .bodyFlow{font-size:14.7px!important;line-height:1.92!important}
  .picturePage .impactLine{font-size:21px!important}
}

@media print{
  .printPage{
    position:relative!important;
    overflow:hidden!important;
    height:297mm!important;
    padding:13mm 12mm 14mm!important;
    background:#fffdf8!important;
    color:#302b26!important;
  }
  .printPage::after{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(90deg,rgba(255,253,248,.99) 0%,rgba(255,253,248,.97) 28%,rgba(255,253,248,.76) 38%,rgba(255,253,248,.14) 52%,rgba(255,253,248,0) 63%);
  }
  .printPage.left::after{background:linear-gradient(270deg,rgba(255,253,248,.99) 0%,rgba(255,253,248,.97) 28%,rgba(255,253,248,.76) 38%,rgba(255,253,248,.14) 52%,rgba(255,253,248,0) 63%)}
  .printPage img{
    position:absolute!important;top:0!important;right:-2%!important;left:auto!important;
    width:84%!important;height:100%!important;max-height:none!important;margin:0!important;
    object-fit:cover!important;object-position:58% 46%!important;
    transform:scale(1.28)!important;transform-origin:85% 48%!important;
    z-index:1!important;filter:none!important;opacity:1!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;
  }
  .printPage.left img{left:-2%!important;right:auto!important;transform-origin:15% 48%!important;-webkit-mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important;mask-image:linear-gradient(270deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 20%,#000 100%)!important}
  .printPage .pMeta,.printPage .pChapter,.printPage h2,.printPage .pBody,.printPage .pImpact{position:relative!important;z-index:4!important}
  .printPage .pChapter,.printPage h2,.printPage .pBody{width:38%!important;max-width:38%!important;margin-left:0!important}
  .printPage.left .pChapter,.printPage.left h2,.printPage.left .pBody{margin-left:62%!important}
  .printPage h2{font-size:23pt!important;line-height:1.45!important;color:#8a5718!important;margin-top:0!important;margin-bottom:6mm!important}
  .printPage .pChapter{font-size:9.5pt!important;line-height:1.55!important;color:#9b6829!important;margin-top:7mm!important;margin-bottom:3mm!important}
  .printPage .pBody{font-size:9.5pt!important;line-height:1.72!important;color:#35302b!important}
  .printPage .pBody p{margin:0 0 4.5mm!important}
  .printPage .pImpact{width:76%!important;max-width:76%!important;margin:8mm 0 0!important;font-size:17pt!important;line-height:1.55!important;color:#9b641c!important}
  .printPage.left .pImpact{margin-left:24%!important}
  .printPage.compat{background:#fff8f9!important}.printPage.compat .pChapter,.printPage.compat h2,.printPage.compat .pImpact{color:#9a5262!important}
  .printPage.compat.ending{background:#4b192a!important;color:#fff9f6!important}
}

/* RC99.1 precise lock tuning after local render comparison */
.picturePage{height:1180px;min-height:1180px;max-height:1180px;--art-w:88%;--art-scale:1.24;--art-x:16%;--art-y:-5%}
.picturePage.pose-left{--art-x:-16%}
/* Gray-top source scenes are lifted so their artwork reads as one full page, never a rectangle. */
.scene-01{--art-x:17%;--art-y:-16%;--art-scale:1.23;--art-w:89%}
.scene-02{--art-x:12%;--art-y:-4%;--art-scale:1.25;--art-w:88%}
.scene-03{--art-x:13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-04{--art-x:-17%;--art-y:-16%;--art-scale:1.23;--art-w:89%}
.scene-05{--art-x:12%;--art-y:-4%;--art-scale:1.26;--art-w:88%}
.scene-06{--art-x:-13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-07{--art-x:18%;--art-y:-16%;--art-scale:1.24;--art-w:89%}
.scene-08{--art-x:-13%;--art-y:-4%;--art-scale:1.25;--art-w:88%}
.scene-09{--art-x:13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-10{--art-x:-18%;--art-y:-16%;--art-scale:1.24;--art-w:89%}
.scene-11{--art-x:12%;--art-y:-4%;--art-scale:1.26;--art-w:88%}
.scene-12{--art-x:-13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-13{--art-x:18%;--art-y:-16%;--art-scale:1.24;--art-w:89%}
.scene-14{--art-x:-13%;--art-y:-4%;--art-scale:1.25;--art-w:88%}
.scene-15{--art-x:13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-16{--art-x:-18%;--art-y:-16%;--art-scale:1.24;--art-w:89%}
.scene-17{--art-x:12%;--art-y:-4%;--art-scale:1.26;--art-w:88%}
.scene-18{--art-x:-13%;--art-y:-4%;--art-scale:1.24;--art-w:88%}
.scene-19{--art-x:18%;--art-y:-16%;--art-scale:1.24;--art-w:89%}
.scene-20{--art-x:-13%;--art-y:-4%;--art-scale:1.25;--art-w:88%}

.picturePage.dense h3{font-size:31px!important;margin-bottom:20px!important}
.picturePage.dense .bodyFlow{font-size:14.8px!important;line-height:1.84!important}
.picturePage.dense .bodyFlow p{margin-bottom:19px!important}
.picturePage.dense .impactLine{font-size:23px!important;line-height:1.58!important;margin-top:32px!important}
.picturePage.compact h3{font-size:28px!important;margin-bottom:17px!important}
.picturePage.compact .chapterLine{margin-top:22px!important}
.picturePage.compact .bodyFlow{font-size:13.8px!important;line-height:1.76!important}
.picturePage.compact .bodyFlow p{margin-bottom:15px!important}
.picturePage.compact .impactLine{font-size:20px!important;line-height:1.52!important;margin-top:24px!important}

@media(max-width:620px){.picturePage{height:1110px;min-height:1110px;max-height:1110px}}
@media(max-width:400px){.picturePage{height:1080px;min-height:1080px;max-height:1080px}}
@media print{
 .printPage.dense h2{font-size:21pt!important}.printPage.dense .pBody{font-size:8.8pt!important;line-height:1.62!important}.printPage.dense .pBody p{margin-bottom:3.6mm!important}.printPage.dense .pImpact{font-size:15pt!important;margin-top:6mm!important}
 .printPage.compact h2{font-size:19pt!important}.printPage.compact .pBody{font-size:8.1pt!important;line-height:1.54!important}.printPage.compact .pBody p{margin-bottom:3mm!important}.printPage.compact .pImpact{font-size:13.5pt!important;margin-top:5mm!important}
}

/* RC99.2 runtime uses pre-composed full-page scenes to lock the approved ratio. */
.picturePage .pageCharacter{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  transform-origin:center!important;
  opacity:1!important;
  filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  z-index:2!important;
}
.picturePage.pose-left .pageCharacter{inset:0!important;transform:none!important;-webkit-mask-image:none!important;mask-image:none!important}
.picturePage.compat .pageCharacter{filter:sepia(.07) saturate(.90) hue-rotate(314deg) brightness(1.025)!important}
.picturePage.compat.ending .pageCharacter{filter:sepia(.10) saturate(.92) hue-rotate(314deg) brightness(.96)!important}
@media print{
 .printPage img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:center!important;transform:none!important;filter:none!important;z-index:1!important;-webkit-mask-image:none!important;mask-image:none!important}
 .printPage.left img{inset:0!important;transform:none!important}
 .printPage.compat img{filter:sepia(.07) saturate(.90) hue-rotate(314deg) brightness(1.025)!important}
 .printPage.compat.ending img{filter:sepia(.10) saturate(.92) hue-rotate(314deg) brightness(.96)!important}
}
/* Final micro-tune: approved key-line scale. */
.picturePage .impactLine{font-size:29px!important}
@media(max-width:620px){.picturePage .impactLine{font-size:24px!important}}
@media(max-width:400px){.picturePage .impactLine{font-size:22px!important}}
@page{size:A4;margin:0}
@media print{html,body{margin:0!important;padding:0!important}.printPage{width:210mm!important;box-sizing:border-box!important}}

/* =========================================================
   RC100 — MOBILE FIXED-CANVAS READER LOCK
   Keep the approved page composition intact on phones.
   The 820×1180 editorial canvas is scaled as ONE page instead
   of being reflowed to the narrow viewport.
   Engine/content logic is untouched.
   ========================================================= */
body.reading #readerScreen{overflow-x:hidden!important}
body.reading .pictureStage{
  position:relative;
  margin:0 auto;
  overflow:visible;
  flex:none;
}
body.reading .pictureStage .picturePage{
  width:820px!important;
  min-width:820px!important;
  max-width:820px!important;
  height:1180px!important;
  min-height:1180px!important;
  max-height:1180px!important;
  margin:0!important;
  transform-origin:top left!important;
  box-sizing:border-box!important;
}
/* Never let narrow-screen media rules re-typeset the fixed page. */
@media(max-width:620px){
  body.reading #readerScreen{padding:0 10px 26px!important}
  body.reading .pictureStage .picturePage{
    padding:5.2% 5.3% 6.2%!important;
    --text-w:38%;
    --impact-w:76%;
  }
  body.reading .pictureStage .picturePage:not(.dense):not(.compact) h3{font-size:35px!important;line-height:1.48!important;margin-bottom:26px!important}
  body.reading .pictureStage .picturePage:not(.dense):not(.compact) .bodyFlow{font-size:15.8px!important;line-height:1.95!important}
  body.reading .pictureStage .picturePage:not(.dense):not(.compact) .bodyFlow p{margin-bottom:25px!important}
  body.reading .pictureStage .picturePage:not(.dense):not(.compact) .impactLine{font-size:29px!important;line-height:1.58!important;margin-top:46px!important}
  body.reading .pictureStage .picturePage.dense h3{font-size:31px!important;margin-bottom:20px!important}
  body.reading .pictureStage .picturePage.dense .bodyFlow{font-size:14.8px!important;line-height:1.84!important}
  body.reading .pictureStage .picturePage.dense .bodyFlow p{margin-bottom:19px!important}
  body.reading .pictureStage .picturePage.dense .impactLine{font-size:23px!important;line-height:1.58!important;margin-top:32px!important}
  body.reading .pictureStage .picturePage.compact h3{font-size:28px!important;margin-bottom:17px!important}
  body.reading .pictureStage .picturePage.compact .chapterLine{margin-top:22px!important}
  body.reading .pictureStage .picturePage.compact .bodyFlow{font-size:13.8px!important;line-height:1.76!important}
  body.reading .pictureStage .picturePage.compact .bodyFlow p{margin-bottom:15px!important}
  body.reading .pictureStage .picturePage.compact .impactLine{font-size:20px!important;line-height:1.52!important;margin-top:24px!important}
}
@media(max-width:400px){
  body.reading .pictureStage .picturePage{padding:5.2% 5.3% 6.2%!important}
}

/* =========================================================
   RC101 — CHARACTER-FIRST SCALE + READABILITY LOCK
   Approved rule:
   1) Character is placed first and remains dominant.
   2) Text uses only the remaining negative space.
   3) Never shrink the character to make text fit.
   Change from RC100: character +6%, title/body +10% only.
   Engine/content logic is untouched.
   ========================================================= */
body.reading .pictureStage .picturePage .pageCharacter{
  transform:scale(1.06)!important;
  transform-origin:82% 50%!important;
}
body.reading .pictureStage .picturePage.pose-left .pageCharacter{
  transform:scale(1.06)!important;
  transform-origin:18% 50%!important;
}

/* Readability: title +10%, body +10%. Keep key-line and spacing hierarchy. */
body.reading .pictureStage .picturePage:not(.dense):not(.compact) h3{font-size:38.5px!important}
body.reading .pictureStage .picturePage:not(.dense):not(.compact) .bodyFlow{font-size:17.4px!important}
body.reading .pictureStage .picturePage.dense h3{font-size:34.1px!important}
body.reading .pictureStage .picturePage.dense .bodyFlow{font-size:16.3px!important}
body.reading .pictureStage .picturePage.compact h3{font-size:30.8px!important}
body.reading .pictureStage .picturePage.compact .bodyFlow{font-size:15.2px!important}

/* PDF/print receives the same character-first/readability adjustment. */
@media print{
  .printPage img{transform:scale(1.06)!important;transform-origin:82% 50%!important}
  .printPage.left img{transform:scale(1.06)!important;transform-origin:18% 50%!important}
  .printPage h2{font-size:25.3pt!important}
  .printPage .pBody{font-size:10.45pt!important}
  .printPage.dense h2{font-size:23.1pt!important}
  .printPage.dense .pBody{font-size:9.68pt!important}
  .printPage.compact h2{font-size:20.9pt!important}
  .printPage.compact .pBody{font-size:8.91pt!important}
}

/* =========================================================
   RC102 — BALANCED COPY DISTRIBUTION LOCK
   Character remains first; copy is distributed through the
   negative space instead of clustering at the top.
   ========================================================= */
body.reading .pictureStage .picturePage{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
}
body.reading .pictureStage .picturePage .pageStars,
body.reading .pictureStage .picturePage .pageCharacter{position:absolute!important}
body.reading .pictureStage .picturePage .pageMeta{grid-row:1!important}
body.reading .pictureStage .picturePage .chapterLine{grid-row:2!important}
body.reading .pictureStage .picturePage h3{grid-row:3!important}
body.reading .pictureStage .picturePage .bodyFlow{
  grid-row:4!important;
  min-height:0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-evenly!important;
  padding:6px 0 8px!important;
}
body.reading .pictureStage .picturePage .bodyFlow p{margin:0!important}
body.reading .pictureStage .picturePage .impactLine{
  grid-row:5!important;
  align-self:end!important;
  margin-top:20px!important;
  margin-bottom:0!important;
}
body.reading .pictureStage .picturePage.dense .bodyFlow{justify-content:space-around!important;padding:3px 0 5px!important}
body.reading .pictureStage .picturePage.compact .bodyFlow{justify-content:space-between!important;padding:0!important}
body.reading .pictureStage .picturePage.dense .impactLine{margin-top:14px!important}
body.reading .pictureStage .picturePage.compact .impactLine{margin-top:10px!important}

@media print{
  .printPage{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto minmax(0,1fr) auto!important;align-content:stretch!important}
  .printPage .pMeta{grid-row:1!important}
  .printPage .pChapter{grid-row:2!important}
  .printPage h2{grid-row:3!important}
  .printPage .pBody{grid-row:4!important;min-height:0!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:space-evenly!important;padding:1mm 0 1mm!important}
  .printPage .pBody p{margin:0!important}
  .printPage .pImpact{grid-row:5!important;align-self:end!important;margin-top:2mm!important;margin-bottom:0!important}
  .printPage.dense .pBody{justify-content:space-around!important}
  .printPage.compact .pBody{justify-content:space-between!important}
}
