@charset "utf-8";
@font-face{font-family:"Cherie Script";src:url('fonts/Tangerine-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Cherie Profile Script";src:url('fonts/RougeScript-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.profile-dialog img.profile-emoji{display:inline-block;width:1.45em;height:1.45em;max-width:none;margin:0 .07em;vertical-align:-.24em;object-fit:contain}
/* Measured against the supplied 3508×2481 PC and 1576×3978 SP artwork. */
.profile-dialog{--ink:#68522d;--page-art:url('../img/gold-page.jpg');--paper:url('../img/gold-paper.jpg');--book-height:min(877px,calc(100dvh - 40px),calc((100vw - 48px) * .70724059));position:fixed;inset:0;width:calc(var(--book-height) * 1.413946);height:var(--book-height);max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:0;outline:1px solid #b7a477;background:#f8f4e7;color:var(--ink);box-shadow:0 18px 100px #21180b66;font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-weight:500;scrollbar-width:thin;scrollbar-color:#b4a17a #f4eedf}
.profile-dialog::backdrop{background:#272017b8;backdrop-filter:blur(5px)}
.profile-dialog .profile-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;margin:0;width:44px;height:44px;padding:0;border:1px solid #a68e5b70;border-radius:50%;background:#fcf8edf5;color:#75613c;font-size:31px;font-weight:400;line-height:1;z-index:5;box-shadow:0 2px 9px #65502c13}
.profile-dialog .profile-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:0;width:100%;height:100%;padding:0;overflow:hidden}
.profile-book-cover{position:relative;min-width:0;container-type:inline-size;background:#f8f4e7}
.profile-book-cover picture,.profile-book-portrait{display:block;width:100%;height:100%}
.profile-book-portrait{object-fit:fill}
.profile-cover-number{position:absolute;left:44%;top:81.25%;display:grid;place-items:center;width:17%;height:2.65%;margin:0;background:none;font-family:"Times New Roman",serif;font-size:3.95cqw;font-weight:400;line-height:1;color:var(--ink);white-space:nowrap}
.profile-cover-generation{position:absolute;left:44%;top:85.9%;display:grid;place-items:center;width:18%;height:2.6%;margin:0;background:var(--generation-paper) center/100% 100%;font-size:2.25cqw;font-weight:400;line-height:1;white-space:nowrap}
.profile-dialog .profile-content{--u:calc(100cqw / 1754);position:relative;display:block;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;container-type:inline-size;isolation:isolate;background:#f8f4e7 var(--paper) left top/100% auto repeat-y;text-align:center}
.profile-page-art{position:absolute;inset:0;z-index:-1;background:var(--page-art) center/100% 100% no-repeat;mask:var(--page-mask) center/100% 100% no-repeat;pointer-events:none}
.profile-heading{display:contents}
.profile-page-emblem{position:absolute;left:42.9%;top:6.93%;width:14.25%;height:auto;mix-blend-mode:multiply}
.profile-dialog .profile-name{position:absolute;left:15%;right:15%;top:19.1%;height:9%;display:flex;align-items:center;justify-content:center;max-width:none;margin:0;padding:0;border:0;font-family:inherit;font-size:calc(190 * var(--u));font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap}
.profile-dialog .profile-role{position:absolute;left:24%;right:24%;top:27.5%;height:6%;display:flex;align-items:center;justify-content:center;margin:0;font-family:"Cherie Script",cursive;font-size:calc(148 * var(--u));font-style:normal;font-weight:400;line-height:1;letter-spacing:0;transform:scaleY(.9)}
.profile-ribbon-number{position:absolute;left:83.2004%;top:14.4647%;width:6.3188%;height:5.1055%;pointer-events:none;z-index:1}
.profile-ribbon-number::before{content:"";position:absolute;inset:0;background:var(--ribbon) 75.8427% 59.6026%/9000% 553% no-repeat;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.profile-ribbon-number>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(78deg);font-family:"Times New Roman",serif;font-size:5.6cqw;font-weight:400;line-height:1;letter-spacing:0;color:#8b7e4f;font-variant-numeric:lining-nums tabular-nums}
.profile-book-cover>.profile-ribbon-number{display:none}
.book-message{position:absolute;left:8.55%;right:8.55%;top:35.48%;height:18.5%;margin:0}
.book-message h3{display:flex;align-items:center;justify-content:center;gap:calc(10 * var(--u));height:calc(75 * var(--u));margin:0;font-size:calc(43 * var(--u));font-weight:500;line-height:1;letter-spacing:.04em;white-space:nowrap}
.book-message h3 [lang]{font-family:"Times New Roman",serif;font-size:calc(47 * var(--u));letter-spacing:0}
.profile-dialog #profile-description,.profile-dialog #profile-description-mobile{position:absolute;left:0;right:0;top:calc(100 * var(--u));margin:0;font-family:inherit;font-size:calc(39 * var(--u));font-weight:500;line-height:calc(59 * var(--u));letter-spacing:.015em;text-align:left;white-space:normal;line-break:strict;overflow-wrap:normal}
.profile-dialog .profile-fields{position:absolute;left:10.5%;right:10.5%;top:59.85%;height:15.1%;text-align:center;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(55 * var(--u));margin:0;font-size:calc(36 * var(--u));line-height:1.4}
.profile-dialog .profile-fields>div{position:relative;display:block;min-width:0;padding:0;border:0}
.profile-fields dt{display:block;height:calc(160 * var(--u));margin:0;padding:0;border:0;font-weight:500}
.profile-fields dt img{display:none}
.book-field-en{display:flex;align-items:center;justify-content:center;height:calc(105 * var(--u));font-family:"Cherie Script",cursive;font-size:calc(100 * var(--u));font-style:normal;font-weight:400;line-height:1;white-space:nowrap;transform:none}
.book-field-ja{display:block;height:calc(50 * var(--u));font-family:inherit;font-size:calc(36 * var(--u));font-weight:500;line-height:calc(50 * var(--u));letter-spacing:.08em}
.profile-dialog .profile-fields dd{position:absolute;left:-5%;right:-5%;top:calc(180 * var(--u));margin:0;font-family:inherit;font-size:calc(36 * var(--u));font-weight:500;line-height:calc(50 * var(--u));white-space:pre-line;overflow-wrap:normal;letter-spacing:.035em;text-align:center}
.profile-dialog .profile-fields>div:first-child dd{font-size:calc(48 * var(--u));line-height:calc(65 * var(--u));letter-spacing:.15em}
.book-favorite{display:contents;margin:0}
.book-favorite-icon{display:none}
.book-favorite h3{position:absolute;left:15%;right:10%;top:78.05%;display:flex;align-items:center;justify-content:center;gap:calc(25 * var(--u));height:calc(85 * var(--u));margin:0;padding:0;border:0;font-family:inherit;font-size:calc(35 * var(--u));font-weight:500;line-height:1;letter-spacing:.025em;white-space:nowrap}
.book-favorite h3 [lang]{font-family:"Cherie Script",cursive;font-size:calc(108 * var(--u));font-style:normal;font-weight:400;letter-spacing:0;transform:scaleY(.7)}
.book-favorite-name{position:absolute;left:15%;right:12%;top:83.25%;margin:0;font-family:inherit;font-size:calc(33 * var(--u));font-weight:600;line-height:calc(65 * var(--u));letter-spacing:.12em;white-space:nowrap}
.book-favorite-copy{position:absolute;left:16%;right:12%;top:85.7%;margin:0;font-family:inherit;font-size:calc(34 * var(--u));font-weight:500;line-height:calc(49 * var(--u));letter-spacing:.025em;text-align:center;white-space:pre-line;overflow-wrap:normal;line-break:strict}
.profile-page-signature{position:absolute;left:30%;right:30%;top:94.5%;margin:0;font-family:"Cherie Script",cursive;font-size:calc(120 * var(--u));font-style:normal;font-weight:400;line-height:1;color:#b8a47180;transform:scaleY(.9)}
.profile-mobile-emblem{display:none}
.profile-dialog[data-role="Dame"]{--ink:#57544f;--page-art:url('../img/black-page.jpg');--paper:url('../img/black-paper.jpg');--generation-paper:url('../img/black-generation.jpg');--ribbon:url('../img/ribbon-black.jpg')}
.profile-dialog[data-role="Dame"] .profile-cover-number{color:#fff}
.profile-dialog[data-role="Dame"] .profile-ribbon-number>span{color:#eeece5}
@media(max-width:1023px){
 .profile-dialog{left:50vw;right:auto;width:min(560px,calc(100vw - 20px));height:auto;max-height:calc(100dvh - 20px);margin-left:0;margin-right:0;transform:translateX(-50%);overflow:auto;overscroll-behavior:contain}
 .profile-dialog .profile-close{position:sticky;top:10px;margin:10px 10px -54px auto}
 .profile-dialog .profile-inner{display:block;height:auto;overflow:visible}
 .profile-book-cover{aspect-ratio:1576/1690}
 .profile-book-cover picture,.profile-book-portrait{height:auto}
 .profile-cover-number{left:41%;top:89.3%;width:18%;height:3.9%;font-size:3.7cqw}
 .profile-cover-generation{left:40%;top:94.7%;width:20%;height:3.2%;font-size:2.6cqw}
 .profile-book-cover>.profile-ribbon-number{display:block;left:83.4%;top:18.558%;width:6.3%;height:6.714%}
 .profile-dialog .profile-content{--u:calc(100cqw / 1576);height:auto;aspect-ratio:1576/2288;margin-top:-1px;padding:0}
 .profile-content>.profile-ribbon-number,.profile-page-emblem{display:none}
 .profile-dialog .profile-name{left:15%;right:15%;top:1.7%;height:8%;font-size:calc(160 * var(--u))}
 .profile-dialog .profile-role{left:20%;right:20%;top:8.9%;height:6%;font-size:calc(120 * var(--u))}
 .book-message{left:10.5%;right:10.5%;top:17.9%;height:24.7%}
 .book-message h3{height:calc(65 * var(--u));flex-direction:row-reverse;font-size:calc(33 * var(--u));gap:calc(9 * var(--u))}
 .book-message h3 [lang]{font-size:calc(36 * var(--u))}
 .profile-dialog #profile-description,.profile-dialog #profile-description-mobile{top:calc(80 * var(--u));left:0;right:0;height:calc(400 * var(--u));display:flex;align-items:center;justify-content:center;font-size:calc(33 * var(--u));line-height:calc(47.8 * var(--u));letter-spacing:.01em;text-align:center;white-space:pre-line}
 .profile-dialog .profile-fields{left:7.6%;right:7.6%;top:49%;height:17%;gap:calc(50 * var(--u))}
 .profile-fields dt{height:calc(145 * var(--u))}
 .book-field-en{height:calc(95 * var(--u));font-size:calc(100 * var(--u))}
 .book-field-ja{height:calc(50 * var(--u));font-size:calc(33 * var(--u));line-height:calc(50 * var(--u))}
 .profile-dialog .profile-fields dd{top:calc(175 * var(--u));font-size:calc(32 * var(--u));line-height:calc(49 * var(--u));letter-spacing:.035em;text-align:center}
 .profile-dialog .profile-fields>div:first-child dd{font-size:calc(44 * var(--u));line-height:calc(70 * var(--u));letter-spacing:.12em}
 .book-favorite h3{left:12%;right:10%;top:69.4%;height:calc(85 * var(--u));gap:calc(35 * var(--u));font-size:calc(33 * var(--u))}
 .book-favorite h3 [lang]{font-size:calc(100 * var(--u))}
 .book-favorite-name{left:12%;right:12%;top:74.3%;font-size:calc(33 * var(--u));line-height:calc(65 * var(--u));letter-spacing:.06em}
 .book-favorite-copy{left:13.5%;right:12%;top:77.1%;font-size:calc(32 * var(--u));line-height:calc(49 * var(--u));letter-spacing:.015em}
 .profile-page-signature{display:none}
 .profile-mobile-emblem{position:absolute;display:block;left:44.5%;top:87.4%;width:11%;height:auto;mix-blend-mode:multiply}
}

#profile-description-mobile{display:none}.book-favorite h3 .book-wordmark{font-family:"Times New Roman",serif;font-size:.4em;font-style:normal}@media(max-width:1023px){.profile-dialog #profile-description{display:none}.profile-dialog #profile-description-mobile{display:flex}}
/* Caption backings sit underneath the original artwork. Only the old ink is masked. */
.profile-book-cover::before,.profile-book-cover::after{content:"";position:absolute;z-index:0;pointer-events:none}
.profile-book-cover::before{left:44%;top:81.25%;width:17%;height:2.65%;background:none}
.profile-book-cover::after{left:44%;top:85.9%;width:18%;height:2.6%;background:var(--generation-paper) center/100% 100%}
.profile-book-cover picture{position:relative;z-index:1}
.profile-cover-number,.profile-cover-generation{z-index:2;background:none}
.profile-dialog .profile-name{font-size:calc(174 * var(--u))}
.profile-mobile-footer{display:none}
.profile-dialog{--mobile-paper:url('../img/mobile-paper.jpg');--message-frame:url('../img/gold-message-frame.png')}
.profile-dialog[data-role="Dame"]{--mobile-paper:url('../img/nana-paper.jpg');--message-frame:url('../img/black-message-frame.png')}
@media(max-width:1023px){
 .profile-book-cover::before{left:41%;top:89.3%;width:18%;height:3.9%}
 .profile-book-cover::after{left:40%;top:94.7%;width:20%;height:3.2%}
 /* The frame grows with the 11px copy, so longer profiles remain inside the ornament. */
 .profile-dialog .profile-content{height:auto;aspect-ratio:auto;overflow:hidden;background:#f8f5e9 var(--mobile-paper) left top/100% auto repeat-y}
 .profile-page-art,.profile-page-emblem,.profile-content>.profile-ribbon-number,.profile-page-signature{display:none}
 .profile-heading{display:block;padding:10px 22px 26px}
 .profile-dialog .profile-name{position:static;display:block;left:auto;right:auto;top:auto;width:82%;height:auto;margin:0 auto;padding:0 0 5px;border-bottom:1px solid #a08d5f26;font-size:calc(146 * var(--u));line-height:1.2}
 .profile-dialog .profile-role{position:static;display:block;left:auto;right:auto;top:auto;height:auto;margin:2px 0 0;font-size:calc(120 * var(--u));line-height:1}
 .book-message{position:relative;left:auto;right:auto;top:auto;width:auto;height:auto;margin:0 7.5%;padding:3px 4px 7px;border:22px solid transparent;border-image:var(--message-frame) 130 / 22px / 0 stretch}
 .book-message h3{height:auto;margin:0 0 11px;gap:5px;font-size:9.5px;line-height:1.5}
 .book-message h3 [lang]{font-size:10px}
 .profile-dialog #profile-description-mobile{position:static;display:block;left:auto;right:auto;top:auto;height:auto;margin:0;font-size:11px;line-height:1.85;letter-spacing:.015em;text-align:center;white-space:normal;overflow-wrap:normal;line-break:strict}
 .profile-dialog #profile-description{display:none}
 .profile-dialog .profile-fields{position:static;left:auto;right:auto;top:auto;height:auto;margin:30px 7.6% 0;gap:12px}
 .profile-dialog .profile-fields>div{position:static}
 .profile-fields dt{height:auto;padding-bottom:8px;border-bottom:1px solid #a08d5f33}
 .profile-fields dt img{display:block;width:24px;height:23px;margin:0 auto 3px;object-fit:contain;mix-blend-mode:normal}
 .book-field-en{height:auto;min-height:26px;font-size:calc(100 * var(--u));line-height:1.1}
 .book-field-ja{height:auto;margin-top:2px;font-size:9px;line-height:1.7;letter-spacing:.05em}
 .profile-dialog .profile-fields dd{position:static;left:auto;right:auto;top:auto;margin:10px -3px 0;font-size:10px;line-height:1.75;letter-spacing:.02em}
 .profile-dialog .profile-fields>div:first-child dd{font-size:11px;line-height:1.75;letter-spacing:.08em}
 .book-favorite{display:block;margin:28px 11% 24px}
 .book-favorite-icon{display:block;width:24px;height:23px;margin:0 auto 5px;object-fit:contain}
 .book-favorite h3{position:static;left:auto;right:auto;top:auto;height:auto;min-height:28px;flex-wrap:wrap;gap:0 6px;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #a08d5f33;font-size:8.5px;line-height:1.7;white-space:normal}
 .book-favorite h3 [lang]{font-size:24px;line-height:1.1;transform:none}
 .book-favorite-name{position:static;left:auto;right:auto;top:auto;margin:0 0 9px;font-size:10px;line-height:1.85;letter-spacing:.045em;white-space:normal}
 .book-favorite-copy{position:static;left:auto;right:auto;top:auto;margin:0;font-size:10.5px;line-height:1.85;letter-spacing:.01em;white-space:normal}
 .profile-mobile-footer{position:relative;display:block;margin-top:-1px}
 .profile-footer-paper{display:block;width:100%;height:auto;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000)}
 .profile-mobile-footer .profile-mobile-emblem{position:absolute;display:block;left:50%;top:38.72%;width:11.55%;height:auto;transform:translate(-50%,-50%);mix-blend-mode:multiply}
}

/* Consistent text measures and breathing room within the original paper layout. */
@media(min-width:1024px){
 .profile-dialog{--page-mask:url('../img/gold-page-mask.png')}
 .profile-dialog[data-role="Dame"]{--page-mask:url('../img/black-page-mask.png')}
 .book-message{top:34.1%;height:20.3%}
 .book-message h3{height:calc(72 * var(--u));font-size:calc(42 * var(--u));letter-spacing:.06em}
 .book-message h3 [lang]{font-size:calc(46 * var(--u))}
 .profile-dialog #profile-description{top:calc(109 * var(--u));font-size:calc(40 * var(--u));line-height:calc(60 * var(--u));letter-spacing:.015em}
 .profile-dialog .profile-fields{left:8.55%;right:8.55%;top:55.1%;height:auto;gap:calc(50 * var(--u))}
 .profile-fields dt{height:auto;padding:0 0 calc(16 * var(--u));border-bottom:1px solid #a08d5f33}
 .profile-fields dt img{display:block;width:calc(88 * var(--u));height:calc(82 * var(--u));margin:0 auto calc(12 * var(--u));object-fit:contain}
 .book-field-en{height:calc(95 * var(--u));font-size:calc(98 * var(--u));line-height:1}
 .book-field-ja{height:calc(52 * var(--u));font-size:calc(37 * var(--u));line-height:calc(52 * var(--u));letter-spacing:.06em}
 .profile-dialog .profile-fields dd{position:static;margin:calc(27 * var(--u)) 0 0;font-size:calc(40 * var(--u));line-height:calc(56 * var(--u));letter-spacing:.015em}
 .profile-dialog .profile-fields>div:first-child dd{font-size:calc(43 * var(--u));line-height:calc(56 * var(--u));letter-spacing:.08em}
 .profile-dialog .profile-fields>div:last-child dd{margin-left:calc(-40 * var(--u));margin-right:calc(-40 * var(--u));text-wrap:balance}
 .book-favorite{position:absolute;display:block;left:8.55%;right:8.55%;top:75.7%;margin:0}
 .book-favorite-icon{display:block;width:calc(88 * var(--u));height:calc(74 * var(--u));margin:0 auto calc(8 * var(--u));object-fit:contain}
 .book-favorite h3{position:static;height:calc(100 * var(--u));gap:calc(22 * var(--u));margin:0 0 calc(28 * var(--u));padding:0 0 calc(10 * var(--u));border-bottom:1px solid #a08d5f33;font-size:calc(37 * var(--u));line-height:1.3;letter-spacing:.025em}
 .book-favorite h3 [lang]{font-size:calc(100 * var(--u));line-height:1;transform:none}
 .book-favorite-name{position:static;margin:0 0 calc(10 * var(--u));font-size:calc(38 * var(--u));line-height:calc(53 * var(--u));letter-spacing:.07em}
 .book-favorite-copy{position:static;margin:0;font-size:calc(40 * var(--u));line-height:calc(56 * var(--u));letter-spacing:.015em}
}
@media(max-width:1023px){
 .book-field-ja{font-size:9.5px;line-height:1.6}
 .profile-dialog .profile-fields dd{font-size:10.5px;line-height:1.8}
 .profile-dialog .profile-fields>div:last-child dd{text-wrap:balance}
 .book-favorite-name{font-size:10.5px;line-height:1.8}
 .book-favorite-copy{font-size:11px;line-height:1.8;text-wrap:pretty}
}
.profile-dialog #profile-description,.profile-dialog #profile-description-mobile{white-space:pre-line}
@media(max-width:1023px){
 .profile-dialog #profile-description-mobile{text-wrap:pretty}
 .profile-dialog:not([data-role="Cherie"][data-number="01"]) #profile-description-mobile{line-height:2}
}
@media(min-width:1024px){
 .profile-dialog #profile-description{top:calc(95 * var(--u));line-height:calc(54 * var(--u))}
 .profile-dialog:not([data-role="Cherie"][data-number="01"]) #profile-description{line-height:calc(64 * var(--u))}
 .profile-dialog .profile-fields{top:56.5%}
 .book-favorite{top:76.1%}
}
/* Rounded, compact script selected by comparison with the supplied artwork. */
.book-field-en,.book-favorite h3 [lang]{font-family:"Cherie Profile Script","Cherie Script",cursive;font-synthesis:none}
@media(min-width:1024px){
 .book-field-en{font-size:calc(78 * var(--u))}
 .book-favorite h3 [lang]{font-size:calc(65 * var(--u))}
 .book-favorite h3 .book-wordmark{font-size:calc(36 * var(--u))}
}
@media(max-width:1023px){
 .book-field-en{font-size:calc(82 * var(--u))}
 .book-favorite h3 [lang]{font-size:20px}
 .book-favorite h3 .book-wordmark{font-size:10px}
}
/* Extend the selected script to the remaining profile labels. */
.profile-dialog .profile-role,.profile-page-signature{font-family:"Cherie Profile Script","Cherie Script",cursive;font-synthesis:none;transform:none}
@media(min-width:1024px){
 .profile-dialog .profile-role{font-size:calc(110 * var(--u))}
 .profile-page-signature{font-size:calc(85 * var(--u))}
}
@media(max-width:1023px){
 .profile-dialog .profile-role{font-size:calc(86 * var(--u))}
}
/* The updated supplied covers already print the correct No./generation into
   their ribbons. Retain that continuous original paper instead of a backing. */
.profile-book-cover::before,.profile-book-cover::after{display:none}
.profile-book-cover picture{mask:none}
.profile-cover-number,.profile-cover-generation{left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
/* Dame has no generation label; remove only that ink, including faint edges. */
.profile-dialog[data-role="Dame"] .profile-book-cover::after{display:block}
.profile-dialog[data-role="Dame"] .profile-book-cover picture{mask:url('../img/nana-desktop-generation-mask.png') center/100% 100% no-repeat}
@media(max-width:1023px){
 .profile-dialog[data-role="Dame"] .profile-book-cover picture{mask-image:url('../img/nana-mobile-generation-mask.png')}
}
.profile-dialog .profile-role-logo{display:block;flex:none;width:calc(280 * var(--u));height:auto;max-width:100%;margin:0 auto}
@media(max-width:1023px){.profile-dialog .profile-role-logo{width:calc(250 * var(--u))}}
/* Each Cherie ribbon includes its printed number, satin and stitching in one asset. */
.profile-dialog[data-role="Cherie"]{--cherie-ribbon:url('../img/cherie-ribbon-01.jpg')}
.profile-dialog[data-role="Cherie"] .profile-ribbon-number{background:var(--cherie-ribbon) 0 0/100% 100% no-repeat;clip-path:polygon(0 0,61.67% 0,90% 94.03%,77.78% 88.61%,63.89% 96.75%,50.56% 55.88%,39.72% 56.42%,25.56% 49.55%,5% 56.96%)}
.profile-dialog[data-role="Cherie"] .profile-ribbon-number::before,.profile-dialog[data-role="Cherie"] .profile-ribbon-number>span{display:none}
@media(min-width:1024px){
 .profile-dialog[data-role="Cherie"] .profile-content>.profile-ribbon-number{left:68.714286%;top:0;width:27.142857%;height:29.444444%}
}
@media(max-width:1023px){
 .profile-dialog[data-role="Cherie"] .profile-book-cover>.profile-ribbon-number{left:67%;top:-3.264925%;width:30.42%;height:43.590019%}
}

/* 20261022 text layout: these final rules own line wrapping and mode visibility.
   Explicit lines prevent font/viewport changes from adding accidental breaks;
   display:none removes the inactive copy from the accessibility tree as well. */
.profile-text-line{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-wrap:nowrap;text-align:center}
.profile-text-desktop{display:block}
.profile-text-mobile{display:none}
.profile-dialog #profile-description,.profile-dialog #profile-description-mobile,.profile-dialog .profile-fields dd,.book-favorite-name,.book-favorite-copy{text-align:center;text-wrap:initial;overflow-wrap:normal}
.profile-dialog #profile-description{display:block}
.profile-dialog #profile-description-mobile{display:none}
.book-field-ja,.book-favorite-label{white-space:nowrap}
.book-favorite-label{display:inline-block}
@media(min-width:1024px){
 /* Nine 54u Shion lines end before the fields; three field lines end before
    the favorite bow. The original two-page aspect ratio/overflow stay intact. */
 .book-message{top:33.6%}
 .profile-dialog #profile-description{top:calc(95 * var(--u));font-size:calc(40 * var(--u));line-height:calc(54 * var(--u))}
 .profile-dialog:not([data-role="Cherie"][data-number="01"]) #profile-description{line-height:calc(64 * var(--u))}
 .profile-dialog .profile-fields{top:57.6%}
 .profile-dialog .profile-fields>div:last-child dd{margin-left:0;margin-right:0;text-wrap:initial}
 .book-favorite{top:77.4%}
 .book-message h3,.book-favorite h3,.book-field-en{white-space:nowrap}
}
@media(max-width:1023px){
 .profile-text-desktop{display:none}
 .profile-text-mobile{display:block}
 .profile-dialog #profile-description{display:none}
 .profile-dialog #profile-description-mobile{display:block;font-size:11px;line-height:1.85;text-wrap:initial}
 .profile-dialog:not([data-role="Cherie"][data-number="01"]) #profile-description-mobile{line-height:2}
 /* Inset the frame from the paper's side ornaments. Reserve less horizontal
    border space so the fixed 11px lines still fit at 320px; keep the artwork's
    corner size and the existing vertical spacing. */
 .book-message{margin:0 7.5%;border-width:18px 7px;border-image-width:18px;padding:3px 3px 7px}
 .profile-dialog .profile-fields{margin:30px 5.5% 0;gap:8px}
 /* Two deliberate English lines keep all three labels aligned, without
    squeezing long headings into one shrinking line. */
 .book-field-en{height:auto;min-height:2.2em;font-size:clamp(17px,calc(82 * var(--u)),26px);line-height:1.1}
 .profile-dialog .profile-fields>div:last-child dd{text-wrap:initial}
 .book-favorite{margin:28px 7% 24px}
 .book-favorite h3{flex-direction:row;flex-wrap:nowrap;gap:4px;white-space:nowrap}
 .book-favorite-name,.book-favorite-copy{text-wrap:initial}
}
/* Raise the script's visual baseline without moving the Japanese label. */
.book-favorite h3 > [lang="en"]{transform:translateY(-.1em)}
/* Loading feedback overlays the card without moving its portrait or caption. */
.cast-button{position:relative}
.profile-load-status{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:7px;max-width:90%;width:max-content;padding:8px 13px;border:1px solid #b4a17a;border-radius:20px;background:#fcf8edf5;color:#68522d;font-size:12px;line-height:1.6;box-shadow:0 2px 10px #65502c13;pointer-events:none}
.profile-load-status[hidden]{display:none}
.profile-load-status::before{content:"";flex:none;width:12px;height:12px;border:1px solid #b4a17a55;border-top-color:#806b40;border-radius:50%;animation:profile-loading .8s linear infinite}
.profile-load-status.is-error{white-space:normal}
.profile-load-status.is-error::before{display:none}
@keyframes profile-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.profile-load-status::before{animation:none}}
