.journey-entry{display:block;margin:24px auto 0;min-width:310px;padding:14px 30px;font-size:20px}
.journey-modal .m-lead{margin-bottom:24px}
.journey-goal{background:linear-gradient(120deg,#211b13,#100e0b);border:1px solid #685334;padding:14px 24px;margin-bottom:20px}
.journey-goal summary{cursor:pointer;color:#dec394;font-size:21px}.journey-goal summary small{display:inline;margin-left:20px}.journey-goal[open] summary{margin-bottom:18px}.journey-goal>button{margin-top:18px}
.journey-goal>div{flex:1}.journey-goal h3{margin:6px 0 12px;color:#e1c68f}.journey-goal p{line-height:1.7;margin:0 0 10px}
.journey-modal small{color:#ac9978;line-height:1.7;display:block;font-size:17px}
.journey-cast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.journey-cast article{text-align:center;padding:22px 16px;background:linear-gradient(#1d1712,#0d0c0a);border:1px solid #56462e;min-width:0}
.journey-portrait{width:90px!important;height:90px!important;margin:0 auto 12px;display:block}
.journey-cast h3{font-size:24px;margin:8px 0 14px}.journey-cast p{font-size:17px;line-height:1.6}
.journey-cast button{width:100%;min-height:58px;padding:10px 18px;white-space:normal;font-size:18px;margin:8px 0}
.journey-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:28px 0 14px}
.journey-note{font-size:17px;line-height:1.8;color:#ab977a;text-align:center}
.journey-story{max-width:790px;margin:auto;padding:10px 20px 24px}.journey-story>p{font-size:23px;line-height:2;margin:20px 0 28px}
.journey-story blockquote{font-size:21px;line-height:1.9;border-left:2px solid #82643b;margin:20px 0;padding:8px 24px;color:#dec69c}
.journey-choices{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.journey-choices button{min-height:58px;padding:14px 24px;white-space:normal}
.journey-recovery{font-size:17px;padding:18px;color:#af9b79;border-top:1px solid #4d3d28}.journey-recovery summary{cursor:pointer}
.journey-drill{text-align:center;padding:16px 30px 35px}.journey-drill p{font-size:23px;line-height:1.8}.guide-cards{display:flex;justify-content:center;gap:18px;height:220px;margin:24px}.guide-cards .card{width:140px;height:210px}.guide-feedback{min-height:48px;color:#e5c98f}
.journey-modal [data-finale]{display:block;margin:26px auto;max-width:100%;white-space:normal;height:auto;min-height:56px;padding:16px 30px}
.portrait .journey-cast{grid-template-columns:1fr}.portrait .journey-cast article{display:grid;grid-template-columns:110px 1fr;column-gap:22px;text-align:left;align-items:center}.portrait .journey-cast .journey-portrait{grid-row:1/4;margin:0}.portrait .journey-cast button,.portrait .journey-cast article>small:last-child{grid-column:1/-1}.portrait .journey-cast h3,.portrait .journey-cast p{margin:4px 0}.portrait .journey-goal{flex-direction:column;align-items:stretch}.phone .journey-modal small,.phone .journey-note,.phone .journey-cast p{font-size:24px}.phone .journey-cast button{font-size:26px}

/* Keep lobby sections in normal flow: new content must push later sections down. */
body.portrait #lobby:not([hidden]){display:flex;flex-direction:column;gap:36px;padding:32px 40px 44px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#725936 transparent;overscroll-behavior:contain}
body.portrait #lobby>.lobby-top,
body.portrait #lobby>.lobby-center,
body.portrait #lobby>.lobby-nav,
body.portrait #lobby>.lobby-side,
body.portrait #lobby>.lobby-me{position:relative;inset:auto;width:100%;flex:none;translate:none;transform:none;margin:0}
body.portrait #lobby>.lobby-top{order:1;min-height:70px}
body.portrait #lobby>.lobby-center{order:2}
body.portrait #lobby>.lobby-nav{order:3;gap:18px}
body.portrait #lobby>.lobby-side{order:4;gap:28px}
body.portrait #lobby>.lobby-me{order:5;width:max-content;max-width:100%;align-self:flex-start;margin-top:8px}
body.portrait #lobby .journey-entry{margin-top:30px;min-height:84px;font-size:28px;padding:20px 40px}
#lobby .lobby-side .today{padding:24px 24px 28px;max-height:none}
#lobby .lobby-side .today h3{margin:0 0 20px;padding-bottom:14px}
body.portrait #lobby .lobby-side .today{padding:26px 24px 30px}
body.portrait #lobby .life-actions{gap:16px;flex-wrap:wrap}
body.portrait #lobby .life-actions button{flex:1 1 120px;min-height:68px;padding:16px 18px}

/* Content belongs inside the ornamental edge, including wrapped button labels. */
.journey-modal>.m-scroll{padding:18px 20px 30px;scrollbar-width:thin;scrollbar-color:#725936 transparent;scrollbar-gutter:stable;scroll-padding-block:26px;mask:none!important;-webkit-mask:none!important}
.journey-modal>.m-scroll::-webkit-scrollbar{display:block;width:6px}
.journey-modal>.m-scroll::-webkit-scrollbar-thumb{background:#725936;border-radius:3px}
.journey-modal .journey-cast article{padding:26px 24px;display:flex;flex-direction:column;gap:12px}
.journey-modal .journey-cast h3{font-size:22px;line-height:1.6;margin:4px 0 8px;letter-spacing:.12em}
.journey-modal .journey-cast p{margin:0;line-height:1.8}
.journey-modal .journey-cast button{--h:76px;height:auto;min-height:76px;padding:20px 12px;line-height:1.6;margin:6px 0;font-size:19px;letter-spacing:.06em}
.journey-modal .journey-cast article>small:last-child{line-height:1.9}
.journey-modal .journey-tools{gap:20px;margin:30px 0 24px}
.journey-modal .journey-tools button,
.journey-modal .journey-choices button{--h:80px;height:auto;min-height:80px;min-width:0;max-width:100%;padding:22px 24px;font-size:20px;line-height:1.7;white-space:normal;letter-spacing:.06em;flex:1 1 220px}
.journey-modal .journey-story{padding:16px 26px 30px}
.journey-modal .journey-goal{padding:24px 28px;margin-bottom:28px}
.journey-modal .journey-goal summary{line-height:1.8}
.journey-modal .journey-goal p{line-height:1.9}
.journey-modal .journey-note{padding:8px 18px;line-height:1.9}
body.portrait .journey-modal .journey-cast article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px 26px;padding:28px}
body.portrait .journey-modal .journey-cast .journey-portrait{grid-column:1;grid-row:1/4}
body.portrait .journey-modal .journey-cast article>small:first-of-type,
body.portrait .journey-modal .journey-cast h3,
body.portrait .journey-modal .journey-cast p{grid-column:2}
body.portrait .journey-modal .journey-cast button,
body.portrait .journey-modal .journey-cast article>small:last-child{grid-column:1/-1}
body.portrait.phone .journey-modal .journey-cast h3{font-size:26px;letter-spacing:.05em}
body.portrait.phone .journey-modal .journey-cast button,
body.portrait.phone .journey-modal .journey-tools button,
body.portrait.phone .journey-modal .journey-choices button{--h:94px;min-height:94px;font-size:25px;padding-block:26px}
body.portrait.phone .journey-modal .journey-tools{flex-direction:column}
body.portrait.phone .journey-modal .journey-tools button{flex:auto;width:100%}
.journey-modal>.m-head{padding-top:44px;padding-bottom:12px}
.journey-modal .journey-goal summary small{display:block;margin:8px 0 0;font-size:18px;line-height:1.8}
body.portrait.phone .journey-modal .journey-goal summary small{font-size:22px}
#lobby .journey-entry{--h:76px;height:auto;min-height:76px;padding:22px 30px;line-height:1.6}
body.portrait #lobby .journey-entry{--h:90px;width:100%;min-height:90px}

/* Progress stays in the document flow, inside the existing archive panels. */
.journey-next{margin:4px 0 28px;padding:18px 24px;border-left:2px solid #8f7045;background:linear-gradient(90deg,#9a72381c,transparent);font-size:20px;line-height:1.9;color:#d5c3a3}
.journey-next>span{display:block;font-size:17px;letter-spacing:.08em;color:#b9965d;margin-bottom:10px}
.progression-rewards{display:grid;gap:18px}
.progression-rewards article{display:grid;grid-template-columns:86px minmax(0,1fr) 186px;gap:22px;align-items:center;padding:24px;background:linear-gradient(110deg,#282015,#100e0c);border:1px solid #685031}
.progression-rewards img{width:86px;height:100px;object-fit:contain}
.progression-rewards h3{display:block;margin:0 0 10px;font:24px/1.6 var(--tc);letter-spacing:.05em;text-transform:none}
.progression-rewards h3::before,.progression-rewards h3::after{display:none}
.progression-rewards p{margin:0 0 6px;font-size:19px;line-height:1.8}
.progression-rewards button{--h:78px;height:auto;min-height:78px;width:100%;padding:22px 20px;line-height:1.7;white-space:normal;font-size:19px;letter-spacing:.03em}
.progression-note{font-size:20px;line-height:1.9;margin:24px 0;padding-inline:12px;color:#d5c3a3}
.progression-status{font-size:18px;line-height:1.8;margin:18px 0;color:#e1c88d}
.progression-status:empty{display:none}
.overlay.result{overflow-y:auto;align-items:safe center;padding:26px 0;scrollbar-width:thin;scrollbar-color:#725936 transparent;overscroll-behavior:contain}
.result-box>.progression-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;width:100%;margin:22px 0 0;padding:20px 28px;text-align:left;color:#e3cba3;background:linear-gradient(100deg,#3c2c16b0,#14110bd9);border:1px solid #987647;line-height:1.7}
.progression-result>span{font-size:15px;color:#b99a68;letter-spacing:.08em}
.progression-result>strong{grid-column:1;font-size:20px;font-weight:400}
.progression-result>em{grid-column:2;grid-row:1/3;align-self:center;font-size:19px;font-style:normal}
.progression-result:hover,.progression-result:focus-visible{border-color:#e4bd7d;background-color:#554025;outline-offset:5px}
body.portrait .progression-rewards article{grid-template-columns:86px minmax(0,1fr);padding:28px;gap:18px 26px}
body.portrait .progression-rewards button{grid-column:1/-1}
body.portrait.phone .journey-next,body.portrait.phone .progression-note{font-size:25px}
body.portrait.phone .journey-next>span,body.portrait.phone .progression-status{font-size:23px}
body.portrait.phone .progression-rewards h3{font-size:28px}
body.portrait.phone .progression-rewards p{font-size:24px}
body.portrait.phone .progression-rewards button{--h:94px;min-height:94px;font-size:25px;padding-block:26px}
body.portrait.phone .progression-result>span{font-size:24px}
body.portrait.phone .progression-result>strong,body.portrait.phone .progression-result>em{font-size:27px}

.personal-room>.m-scroll,.collection-shop>.m-scroll{padding:18px 24px 30px;scrollbar-width:thin;scrollbar-color:#725936 transparent;scrollbar-gutter:stable;mask:none!important;-webkit-mask:none!important}
.personal-room>.m-head,.collection-shop>.m-head{padding-top:44px;padding-bottom:12px}
.collection-grid{gap:24px}
.collection-item{display:flex;flex-direction:column;align-items:stretch;padding:28px 24px}
.collection-item>img{align-self:center}
.collection-item>h3{display:block;font-size:23px;letter-spacing:.06em}
.collection-item>h3::before,.collection-item>h3::after{display:none}
.collection-item .collection-requirement{font-size:18px;line-height:1.9;color:#bda989;text-align:left;margin:18px 0 0}
.collection-item>button{--h:76px;height:auto;min-height:76px;padding:22px 20px;white-space:normal;font-size:18px;line-height:1.7;letter-spacing:.04em}
.collection-links{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0}
.collection-links button{--h:78px;height:auto;min-height:78px;max-width:100%;padding:22px 28px;white-space:normal;line-height:1.7;font-size:19px;letter-spacing:.04em;flex:1 1 220px}
body.portrait.phone .collection-grid{grid-template-columns:1fr}
body.portrait.phone .collection-item{padding:30px}
body.portrait.phone .collection-item>h3{font-size:28px}
body.portrait.phone .collection-item>p,body.portrait.phone .collection-item>small,body.portrait.phone .collection-item .collection-requirement{font-size:24px}
body.portrait.phone .collection-item>button,body.portrait.phone .collection-links button{--h:94px;min-height:94px;font-size:25px;padding-block:26px}
body.portrait.phone .collection-links{flex-direction:column}
body.portrait.phone .collection-links button{flex:auto;width:100%}
body.portrait.phone .journey-modal .m-lead,
body.portrait.phone .collection-intro,
body.portrait.phone .shop-feedback{font-size:24px;line-height:1.9}
/* Leave room for the actual result and actions, rather than oversized badges. */
body:not(.portrait) .result-box>.result-art{width:96px}
body:not(.portrait) .result-place.defeat{width:380px;margin-bottom:14px}
body:not(.portrait) .result-place.victory{width:450px;margin-bottom:14px}
.account-entry{display:block;margin:18px auto 0;background:none;border:0;color:#c9b493;padding:12px 20px;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.journey-tools.chapter-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 22px}
.journey-tools.chapter-tabs button{width:100%;--h:72px;min-height:72px;height:auto;padding:20px 18px;font-size:18px;line-height:1.7;letter-spacing:.03em;white-space:normal}
.chapter-tabs [aria-pressed="true"]{color:#f1dcaf;filter:brightness(1.2)}
body.portrait.phone .journey-tools.chapter-tabs button{--h:94px;min-height:94px;font-size:24px;padding:24px 20px}
.save-code{display:block;width:100%;box-sizing:border-box;margin:14px 0 26px;padding:20px;border:1px solid #78613d;background:#100e0b;color:#e5d0a8;font:20px/1.8 monospace;letter-spacing:.025em}
.journey-story .field-label{display:block;margin-top:24px}
body.portrait.phone .account-entry{font-size:23px;padding:18px}
body.portrait.phone .save-code{font-size:25px;padding:24px}
body[data-link="reconnecting"] .tv-actions,body[data-link="superseded"] .tv-actions,body[data-link="expired"] .tv-actions{pointer-events:none;opacity:.5}

.invitation-entry{display:grid;grid-template-columns:86px minmax(0,1fr) 185px;align-items:center;gap:24px;padding:26px 30px;margin:0 0 28px;background:linear-gradient(115deg,#332219,#13100d);border:1px solid #846342}
.invitation-entry .journey-portrait{width:86px;height:108px;margin:0}
.invitation-entry h3{display:block;margin:10px 0;font:24px/1.55 var(--tc);letter-spacing:.04em}
.invitation-entry h3::before,.invitation-entry h3::after{display:none}
.invitation-entry p{margin:0;font-size:19px;line-height:1.8;color:#cbb897}
.invitation-entry small{font-size:15px;letter-spacing:.06em;color:#bfa276}
.invitation-entry button{width:100%;--h:82px;height:auto;min-height:82px;padding:22px 20px;white-space:normal;font-size:19px;line-height:1.7;letter-spacing:.03em}
.invitation-story>.invitation-status{margin:28px 0 18px;color:#e2c48f;font-size:20px}
.invitation-story>small{display:block;font-size:18px;line-height:1.9;color:#bba889}
.invitation-story>.invitation-cast{font-size:19px;line-height:1.9;color:#cdb28a}
.invitation-reward{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:24px;padding:26px;border:1px solid #705433;background:#1d1710;margin:28px 0}
.invitation-reward img{width:86px;height:100px;object-fit:contain}
.invitation-reward strong{font:23px/1.7 var(--tc);font-weight:400}
.invitation-reward p{font-size:19px;line-height:1.9;margin:10px 0}
.invitation-reward small{font-size:17px;line-height:1.8;color:#bba889}
.invitation-feedback{color:#e2b295;font-size:20px;line-height:1.9}
.invitation-feedback:empty{display:none}
.invitation-opening{max-width:1020px;margin:0 auto 28px;padding:0 32px;font-size:21px;line-height:1.8;color:#dbc49e}
body.portrait .invitation-entry{grid-template-columns:86px minmax(0,1fr);gap:22px;padding:28px}
body.portrait .invitation-entry button{grid-column:1/-1}
body.portrait .invitation-opening{max-width:810px;font-size:25px}
body.portrait.phone .invitation-entry h3{font-size:28px}
body.portrait.phone .invitation-entry p,body.portrait.phone .invitation-entry small{font-size:24px}
body.portrait.phone .invitation-entry button{--h:94px;min-height:94px;font-size:25px;padding:26px 22px}
body.portrait.phone .invitation-story>.invitation-status,body.portrait.phone .invitation-story>small,body.portrait.phone .invitation-story>.invitation-cast,body.portrait.phone .invitation-feedback{font-size:25px}
body.portrait.phone .invitation-reward{gap:22px;padding:28px}
body.portrait.phone .invitation-reward strong{font-size:28px}
body.portrait.phone .invitation-reward p,body.portrait.phone .invitation-reward small{font-size:24px}
.modal.story-dialogue{width:960px}
.story-dialogue .journey-story{max-width:740px;padding:12px 28px 30px;text-align:left}
.story-dialogue .journey-story>.journey-portrait{float:left;width:68px;height:86px;margin:4px 26px 14px 0}
.story-reading{font:24px/1.85 var(--tc);letter-spacing:.01em;text-align:left;overflow-wrap:break-word;line-break:strict}
.story-reading p{margin:0 0 20px;white-space:pre-line}
.story-reading .story-narration{color:#c4bba9}
.story-reading .story-spoken{color:#f0e4ce}
.story-dialogue .journey-choices,.story-scene .story-choices{clear:both;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:30px 0 24px}
.story-dialogue .journey-choices .story-option,.story-scene .story-choices .story-option{height:auto;min-height:64px;width:100%;padding:18px 24px;text-align:left;white-space:normal;font-size:22px;line-height:1.6;letter-spacing:0;background:#211b15;border:1px solid #68523a;border-radius:3px;box-shadow:none}
.story-dialogue .journey-choices .story-option::before,.story-dialogue .journey-choices .story-option::after,.story-scene .story-choices .story-option::before,.story-scene .story-choices .story-option::after{display:none}
.story-dialogue .journey-choices .story-option:hover{background:#35271c;border-color:#b08c55}
.story-dialogue .journey-tools{clear:both;justify-content:flex-start;gap:16px;margin-top:28px}
.story-dialogue .invitation-status{clear:both;border-top:1px solid #594b37;padding-top:22px}
.story-rules{clear:both;margin:12px 0 22px;color:#aa9c84;font-size:18px;line-height:1.8}
.story-rules summary{cursor:pointer;padding:8px 0}
.story-rules small{display:block;font-size:inherit;padding:8px 0}
body.portrait.phone .story-dialogue .journey-story{padding:12px 18px 28px}
body.portrait.phone .story-reading{font-size:28px;line-height:1.85}
body.portrait.phone .story-dialogue .journey-choices .story-option{font-size:26px;padding:22px 24px;min-height:80px}
body.portrait.phone .story-rules{font-size:24px}

/* Narrative reading layout stays independent of the decorative action-button frames. */
.story-dialogue .journey-story>.journey-portrait{display:none}
.story-dialogue .story-reading{font-size:23px;line-height:1.75;letter-spacing:0}
.story-dialogue .story-reading p{margin-bottom:16px}
.story-dialogue .story-option,.story-scene .story-option{font-family:var(--tc);color:#e6d4b3;cursor:pointer}
.story-option:focus-visible{outline:2px solid #e2bd76;outline-offset:4px}
.story-option:disabled{cursor:default;opacity:.55}
.story-option.accent{border-color:#c29b60;background:#382a1c;opacity:1}
.story-dialogue>.m-head{padding-top:20px;margin-bottom:0}
.story-dialogue .journey-choices{margin:22px 0 18px}
.story-dialogue .invitation-status{margin:20px 0 8px;font-size:18px;padding-top:16px;line-height:1.7}
.story-dialogue .story-rules{margin:0 0 16px}
body.portrait.phone .story-dialogue .story-reading{font-size:28px;line-height:1.8;letter-spacing:0}
