/* Every menu is a fixed viewport with explicit previous / next pages. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
#app{max-height:100dvh!important}
#screens{min-height:0;overflow:hidden!important}
#screens>.page.viewport-paged,#overlay #overlay-body.viewport-paged{display:flex;flex-direction:column;gap:8px;padding:0;overflow:hidden!important;min-height:0;min-width:0}
#screens>.page.hidden{display:none!important}
.viewport-paged>.paged-window{position:relative;flex:1 1 0!important;min-height:0;min-width:0;width:100%;overflow:hidden!important;overscroll-behavior:none;scrollbar-width:none}
.paged-window::-webkit-scrollbar{display:none}
.paged-content{height:100%;width:100%;min-width:0;column-width:var(--book-width,100vw);column-gap:20px;column-fill:auto;box-sizing:border-box;padding:0 0 2px}
.paged-content>*{margin-top:0;margin-bottom:8px;max-width:100%;box-sizing:border-box}
.paged-content .page-heading,.paged-content button,.paged-content .growth-row,.paged-content .promotion-card,.paged-content .stat-row,.paged-content .quiz-options>button,.paged-content .quiz-review article,.paged-content .mail-row,.paged-content .set-row,.paged-content .dungeon-levels{break-inside:avoid}
.paged-content>button{width:100%}
.screen-pager{display:grid!important;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;gap:8px;flex:0 0 44px!important;min-height:44px;margin:0;padding:0;border-top:1px solid #8292ac50;background:#101f33;position:relative;z-index:2}
.screen-pager button{height:40px;min-height:40px!important;padding:5px;font-size:12px;color:#f7df99;border:1px solid #a9945e;border-radius:8px;background:linear-gradient(#3b4253,#253249);box-shadow:none}
.screen-pager button:disabled{opacity:.4;color:#acb9cb;border-color:#58667b;background:#1d2b40}
.screen-pager span{text-align:center;font-size:11px;color:#c3d4eb;white-space:nowrap}
.paged-content .growth-rows{display:block!important;overflow:visible!important;max-height:none!important}
.paged-content .growth-row{margin-bottom:8px;min-height:80px}
.paged-content #growth-quantity{position:static}
.paged-content .growth-hero{height:90px;min-height:90px;padding:10px 12px}
.paged-content .growth-hero h2{font-size:20px}.paged-content .growth-hero canvas{height:115px;width:135px}
.paged-content .growth-hero{break-inside:avoid}
.paged-content .growth-hero>div{display:grid;align-content:center;gap:2px;height:100%;position:relative;z-index:1}
.paged-content .growth-hero small{display:block;font-size:9px;line-height:12px;margin:0}
.paged-content .growth-hero h2{line-height:24px;margin:0}
.paged-content .growth-hero p{font-size:11px;line-height:18px;margin:0}
.paged-content .growth-hero strong{font-size:12px;line-height:18px}
.paged-content .summon-gallery{display:block!important}
.paged-content .summon-panel{break-inside:avoid;margin-bottom:12px;padding:13px;max-width:100%}
.paged-content .summon-illustration{height:130px;margin:0 0 5px}
.paged-content .summon-illustration:before{width:115px;height:115px}
.paged-content .summon-illustration canvas{height:125px;max-height:125px}
.paged-content .summon-illustration canvas.summon-side{max-height:105px}
.paged-content .summon-illustration .item-art{max-height:125px;width:125px!important}
.paged-content .summon-illustration .item-art.item-side{width:92px!important}
.paged-content .summon-panel h2{font-size:22px;margin-bottom:3px}
.paged-content .summon-panel .summon-actions button{min-height:48px}
.paged-content .summon-collection{margin-top:9px}
.paged-content .summon-panel .summon-rule{margin:4px 0 8px}
.paged-content .summon-panel .summon-kicker{margin-bottom:3px}
.paged-content .learning-intro{padding:12px}.paged-content .learning-intro p{margin:5px 0 8px}
.paged-content .learning-totals{padding-top:8px}.paged-content .learning-totals b{margin-top:3px;font-size:15px}
.paged-content .dungeon-portals{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;break-inside:avoid}
.paged-content .dungeon-portal{display:flex;align-items:center;justify-content:center;min-height:64px;padding:8px 3px;text-align:center;border-radius:9px;gap:0}
.paged-content .dungeon-portal .portal-mark,.paged-content .dungeon-portal small,.paged-content .dungeon-portal i{display:none}
.paged-content .dungeon-portal b{font-size:12px;line-height:1.5}.paged-content .dungeon-portal em{font-size:9px;letter-spacing:0;white-space:nowrap}
.paged-content .dungeon-levels{gap:5px}.paged-content .dungeon-levels button{min-height:63px;padding:5px 1px;gap:3px}.paged-content .dungeon-levels b{font-size:12px}
.paged-content .dungeon-entry{padding:11px;break-inside:avoid}.paged-content .dungeon-entry>p{margin:5px 0}.paged-content .entry-rules{flex-direction:row;gap:9px;flex-wrap:wrap;font-size:10px}
.paged-content #dungeon-start{min-height:46px;margin-top:8px}.paged-content .entry-note{margin-top:5px}
.paged-content .quiz-arena{height:62px;break-inside:avoid;gap:2px}.paged-content .arena-rune{display:none}
.paged-content .quiz-card{padding:12px;break-inside:auto}.paged-content .quiz-type{margin-bottom:8px}.paged-content .quiz-prompt.word{margin:10px 0 13px;font-size:28px!important}
.paged-content .quiz-prompt{font-size:20px!important}.paged-content .quiz-options{margin-top:12px;gap:7px}.paged-content .quiz-options button{min-height:49px;padding:8px 10px}
.paged-content .quiz-feedback{padding:11px;break-inside:avoid}.paged-content .quiz-feedback p{margin:6px 0}.paged-content #quiz-next{min-height:46px}
.paged-content .result-hero{padding:12px 6px;break-inside:avoid}.paged-content .result-emblem{font-size:42px;line-height:48px}.paged-content .result-hero h1{font-size:23px!important}.paged-content .result-stars{font-size:23px;margin:7px 0}.paged-content .result-score{font-size:28px}
.paged-content .reward-chest{padding:13px;break-inside:avoid}.paged-content .reward-chest>strong{margin:8px 0;font-size:30px}
.paged-content .learning-record{break-inside:auto}.paged-content .learning-record>div{break-inside:avoid}
.paged-content .party-slots,.paged-content .equipment-grid,.paged-content .codex-grid,.paged-content .formation-grid,.paged-content .summon-results{flex:none!important;min-height:0!important;overflow:visible!important;height:auto!important}
.paged-content .party-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#page-collection .paged-content #party-slots button{min-height:144px;padding:5px;break-inside:avoid}
#page-collection .paged-content #party-slots canvas{height:54px;min-height:54px;max-height:54px}
.paged-content .collection-power{min-height:88px;padding:9px;break-inside:avoid}
.paged-content .armory-banner{min-height:68px;padding:11px}.paged-content .armory-banner b{font-size:16px}
#page-items .paged-content .equipment-slot{min-height:120px;break-inside:avoid}.paged-content .equipment-slot .item-art{width:56px!important}
.paged-content .codex-card{break-inside:avoid}.paged-content .codex-card canvas{height:72px}.paged-content .codex-card .item-art{width:64px}
.paged-content .codex-grid,.paged-content .formation-grid,.paged-content .summon-results{display:block!important;font-size:0;line-height:0}
.paged-content .codex-grid>.codex-card,.paged-content .formation-grid>button,.paged-content .summon-results>.result-card{display:inline-flex!important;flex-direction:column;vertical-align:top;width:calc(50% - 8px);max-width:calc(50% - 8px);height:auto;min-height:125px;margin:4px;padding:8px;font-size:12px;line-height:1.4;break-inside:avoid}
.paged-content .codex-grid>.codex-card{width:calc(33.333% - 8px);max-width:calc(33.333% - 8px)}
.paged-content .summon-results>.result-card canvas{width:100%;height:68px;flex:none}
.paged-content .adventure-scroll,.paged-content .adventure-recent,.paged-content .mail-body,.paged-content .quiz-review,.paged-content .set-list{display:block;overflow:visible!important;max-height:none!important;height:auto!important}
.paged-content .adventure-recent>article,.paged-content .quiz-review>article,.paged-content .set-list>*{margin-bottom:8px}
.paged-content .blessing-options{display:block;overflow:visible!important;max-height:none;height:auto}
.paged-content .blessing-options button{width:100%;margin-bottom:8px}
.paged-content .mail-description{overflow:visible!important;max-height:none}
.paged-content .detail-art{height:115px;min-height:0;break-inside:avoid}.paged-content .detail-art canvas{max-height:103px!important}
.paged-content .item-detail-art{padding:9px;break-inside:avoid}.paged-content .item-detail-art .item-art{width:110px}
#overlay .overlay-shell{max-height:calc(100dvh - 16px);min-height:0}
#overlay #overlay-body.viewport-paged{flex:1 1 0!important}
.dialog-book{display:flex;gap:20px;column-width:auto!important;column-count:auto!important;width:max-content;height:100%;padding:0}
.dialog-book>.dialog-sheet{display:flex;flex-direction:column;gap:8px;flex:0 0 var(--book-width);width:var(--book-width);max-width:var(--book-width);height:var(--dialog-height);margin:0;padding:0;min-width:0;box-sizing:border-box}
.dialog-sheet>*{flex:none!important;margin:0!important;max-width:100%;box-sizing:border-box}
.dialog-book.measuring{display:block;width:var(--book-width);height:auto;overflow:visible}
.dialog-book.measuring>*{margin:0!important;max-width:100%;box-sizing:border-box}
.dialog-book .dialog-card-row{display:grid!important;grid-template-columns:repeat(var(--dialog-columns),minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto;gap:6px;font-size:12px;line-height:1.4}
.dialog-book .dialog-card-row>*{display:flex!important;flex-direction:column;max-width:100%!important;width:auto!important;margin:0!important;min-width:0}
@media(min-width:720px) and (min-height:600px){
 .paged-content .summon-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;break-inside:avoid}
 .paged-content .summon-illustration{height:170px}.paged-content .summon-illustration canvas{height:165px;max-height:165px}
 .paged-content .growth-rows{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.paged-content .growth-row{margin-bottom:0}
 .paged-content .party-slots{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-height:570px){
 .screen-pager{flex-basis:36px!important;min-height:36px;grid-template-columns:75px minmax(0,1fr) 75px}.screen-pager button{height:34px;min-height:34px!important}
 #screens>.page.viewport-paged,#overlay #overlay-body.viewport-paged{gap:4px}
 .paged-content .growth-hero{height:80px;min-height:80px}.paged-content .growth-row{min-height:76px}
 .paged-content .summon-panel{padding:8px}.paged-content .summon-panel h2{font-size:18px}.paged-content .summon-illustration{height:60px}
 .paged-content .summon-illustration:before{height:55px;width:55px}.paged-content .summon-illustration canvas{height:58px;max-height:58px}.paged-content .summon-illustration canvas.summon-side{max-height:50px}
 .paged-content .summon-illustration .item-art{max-height:58px;width:58px!important;bottom:0}.paged-content .summon-illustration .item-art.item-side{width:45px!important}
 .paged-content .summon-panel .summon-copy{display:none}.paged-content .summon-panel .summon-rule{font-size:9px;min-height:14px;margin:2px 0 5px}.paged-content .summon-collection{margin-top:5px}
 .paged-content .summon-panel .summon-actions button{min-height:44px}.paged-content .summon-collection-track{margin-top:3px}
 .paged-content .summon-panel{display:grid;grid-template-columns:95px minmax(0,1fr);gap:3px 10px;align-items:center;text-align:left}
 .paged-content .summon-panel>.summon-select{grid-column:2;grid-row:1;min-height:16px;text-align:left}
 .paged-content .summon-panel>h2{grid-column:2;grid-row:2;margin:0}
 .paged-content .summon-panel>.summon-illustration{grid-column:1;grid-row:1/6;height:100px;width:95px;margin:0}
 .paged-content .summon-panel>.summon-rule{grid-column:2;grid-row:3;line-height:1.3}
 .paged-content .summon-panel>.summon-actions{grid-column:2;grid-row:4}
 .paged-content .summon-panel>.summon-collection{grid-column:2;grid-row:5;margin:2px 0 0}
 .paged-content .quiz-options{grid-template-columns:repeat(2,minmax(0,1fr))}.paged-content .quiz-feedback{break-inside:auto}
 .paged-content .quiz-review article{break-inside:auto}.paged-content .dungeon-entry{break-inside:auto}.paged-content .result-hero{padding:5px}.paged-content .result-emblem{display:none}
 #overlay .overlay-shell{gap:5px;padding:7px}.overlay-heading{min-height:28px}.overlay-heading h2{font-size:15px!important}
 #overlay-actions{gap:5px}#overlay-actions button{min-height:35px;padding:5px;font-size:12px}.overlay-back-row{flex-basis:36px;min-height:36px}.overlay-back-row button{height:36px;min-height:36px}
}
