/* Window bounds come from the game's viewport, including VK's iframe. */
/* Credentials and recovery controls must remain reachable above a phone keyboard. */
body.bounded-account .account-page{overflow-y:auto;overscroll-behavior:contain}
/* Deferred tools reserve their space, so their arrival cannot move the page. */
:is(.hub-nav,.lobby-layout>.folio-tabs):not(:has(.chat-launcher))::after{content:'';display:block;flex:0 0 48px;height:36px}
body :is(.hub-nav,.lobby-layout>.folio-tabs) .chat-launcher{box-sizing:border-box;position:relative;inset:auto;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;min-width:0;min-height:36px;padding:7px 0;border:0;background:none;font:inherit;color:inherit}
.chat-drawer-open :is(.hub-nav,.lobby-layout>.folio-tabs) .chat-launcher{visibility:hidden}
body[data-hub="settings"] .hub-heading:not(:has(.game-exit-trigger))::after{content:'';display:block;height:60px}
body[data-hub="settings"] .hub-heading .game-exit-trigger{display:flex;height:44px;min-height:44px;margin:8px 0;width:max-content}
#equipment-graphics-defs{inset:0 auto auto 0;width:0;height:0;overflow:hidden;pointer-events:none}
/* Standalone pages share the bounded canvas used by rooms and combat. */
body.bounded-hub,body.bounded-world,body.bounded-journal,body.bounded-yard,body.bounded-account{height:100dvh;min-height:0;overflow:hidden}
.folio-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;flex:none;margin:0 0 10px;border-bottom:1px solid #c9aa6a44;padding:0 0 5px}
.folio-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#e7d9ba;font:600 18px/1.2 var(--serif);padding:7px 3px;min-height:38px;cursor:pointer}
.folio-tabs button[aria-pressed=true]{border-color:#d4b77d;color:#ffe4ac}
.folio-panel[hidden],.bag-layout>[hidden]{display:none!important}
.quest-navigation{display:none}
.training-dialog .training-close{right:8px;top:8px}
.bounded-hub .volume-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px}
.bounded-hub .volume-label input[type=range]{width:100%;min-width:0;flex-basis:100%;margin-inline:0}
@media(max-width:800px) and (max-height:500px){
 .character-sheet[data-inspecting=true] .inventory-content{display:none}
 .character-sheet[data-inspecting=true] .inventory-back{display:block;color:#f3dfb7;font:600 18px var(--serif);padding:4px}
 .character-sheet[data-inspecting=true] .inventory-wing .wing-heading>span,.character-sheet[data-inspecting=true] #inventory-title{display:none}
 .character-sheet .character-identity{gap:8px}
 .character-sheet .character-portrait{width:38px;height:38px}
 .character-sheet .character-identity h3{font-size:21px}
}
.page-pane{min-width:0;min-height:0;height:100%;margin:0!important}
.page-pane .viewport-page-body{gap:8px}.page-pane .viewport-page-body>p{margin:0;line-height:1.4}
.page-pane .viewport-page-header{margin-bottom:8px}.page-pane .viewport-page-header h2{font-size:30px;margin:4px 0}.page-pane .viewport-page-header h3{margin:0}
.page-pane .viewport-page-footer{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding-top:8px}
.page-pane .viewport-page-footer p{margin:0;width:100%}
.page-pane .viewport-page-controls{color:inherit}
.bounded-hub{display:flex;flex-direction:column}
.bounded-hub .hub-header{min-height:64px;padding:10px 3%;gap:15px;flex:none}
.bounded-hub .hub-nav{padding:10px 3%;gap:22px;overflow:visible;flex-wrap:wrap;flex:none}
.bounded-hub #hub-content{width:100%;max-width:1300px;flex:1;min-height:0;display:flex;flex-direction:column;padding:0 3% 12px;margin:0 auto;overflow:visible}
.bounded-hub .hub-heading{margin:14px 0 12px;flex:none}
.bounded-hub .hub-heading h1{font-size:38px;margin:4px 0;line-height:1.1}.bounded-hub .hub-heading p{font-size:16px;margin:5px 0}
.bounded-hub #hub-notice{position:fixed;bottom:8px;left:5%;right:5%;margin:0;max-width:none;padding:8px 12px;font-size:12px}
.bounded-hub .bag-layout{flex:1;min-height:0;align-items:stretch;gap:18px;grid-template-columns:minmax(0,1fr) minmax(235px,30%)}
.bounded-hub .bag-main{display:flex;flex-direction:column;min-height:0}
.bounded-hub .bag-filters{gap:6px 10px;margin-bottom:8px;flex:none}
.bounded-hub .bag-filters label{font-size:11px;gap:4px}.bounded-hub .bag-filters label:has([name=query]){min-width:110px}
.bounded-hub .bag-filters input:not([type=checkbox]),.bounded-hub .bag-filters select{padding:7px 8px;min-height:36px;font-size:12px}
.bounded-hub .bag-filters .check{min-height:28px}
.bounded-hub .bag-grid{flex:1;min-height:0;max-height:none;overflow:visible;grid-template-columns:repeat(var(--bag-columns),minmax(0,1fr));grid-template-rows:repeat(var(--bag-rows),minmax(0,1fr));gap:6px;padding:8px;align-content:stretch;justify-items:center;align-items:center}
.bounded-hub .bag-slot{height:100%;width:auto;max-width:100%;max-height:90px;aspect-ratio:1}
.bounded-hub .bag-pagination{padding:6px 0 0;min-height:42px;gap:12px;flex:none;display:flex}
.bounded-hub .bag-pagination select{width:auto;min-height:36px;padding:5px 10px;font-size:12px}
.bounded-hub .bag-detail{position:static;top:auto;min-height:0;height:100%;padding:12px 0 0 18px;text-shadow:0 2px 8px #000}
.bounded-hub .bag-detail p{font-size:17px;line-height:1.4}.bounded-hub .bag-detail h2{font-size:28px;line-height:1.05;margin:6px 0 12px;overflow-wrap:anywhere}
.bag-item-heading{display:flex;gap:10px;align-items:center;flex:none;margin-bottom:4px}.bag-item-heading>div:last-child{min-width:0}
.bounded-hub .bag-inspect-art{width:64px;height:70px;flex:none;margin:0}.bounded-hub .bag-inspect-art .gear-art{max-width:64px!important;width:64px!important}
.bounded-hub .bag-detail .comparison{margin:4px 0;font-size:12px}.bounded-hub .comparison>div{padding:6px 0}
.bounded-hub .bag-detail .viewport-page-footer{display:flex;flex-direction:column;gap:6px}
.bounded-hub .bag-detail .etched-button{margin:0;padding:7px 9px;min-height:36px;font-size:16px;width:100%}
.bounded-hub .bag-detail .item-sale-actions{margin:0;gap:6px}.bounded-hub .bag-detail .sale-note{font-size:12px;margin:2px 0;line-height:1.35}
.bag-detail-back{display:none!important}.bounded-hub .bag-empty{margin:0;font-size:15px}
.bounded-hub .bag-supplies,.bounded-hub .bag-goal{grid-column:1/-1;padding:10px 0;margin:0;border:0;min-height:0}
.bounded-hub .supply-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:650px;margin:20px auto;gap:14px}.bounded-hub .supply{min-height:110px}.bounded-hub .supply span{font-size:12px}.bounded-hub .saving-goal{padding:16px 0;max-width:650px;margin:auto}
.bounded-hub .settings-layout{flex:1;min-height:0;width:100%;max-width:960px;display:flex;flex-direction:column;margin:0 auto;gap:0}
.bounded-hub .settings-aside{padding:0;border:0}.bounded-hub #preferences>label{margin-bottom:10px;gap:5px}.bounded-hub #preferences .muted{font-size:12px;margin:4px 0}.bounded-hub .volume-label input{min-height:22px}
.bounded-hub .settings-aside h2{font-size:28px;margin:0}.bounded-hub .settings-aside .etched-button{margin:0}.bounded-hub .purchase-history{margin:0}.bounded-hub .purchase-history li{padding:7px 0}
.bounded-hub .event-scene{flex:1;min-height:0;display:grid;grid-template-columns:35% 1fr;gap:24px;padding:0}
.bounded-hub .event-character{height:100%;width:100%;min-height:0;position:relative;overflow:hidden}.bounded-hub .event-character>svg{width:100%;height:100%;position:absolute;inset:0}
.bounded-hub .event-conversation{padding:12px 0 0 20px}.bounded-hub .event-conversation blockquote{font-size:20px;line-height:1.35;margin:0}.bounded-hub .event-steps{margin:0}.bounded-hub .event-steps li{padding:8px 0;font-size:17px}.bounded-hub .event-steps strong{margin-top:3px}.bounded-hub .event-reward{margin:0;font-size:13px}.bounded-hub .event-conversation .muted{margin:0}
.bounded-hub .hub-tabs{margin:0 0 8px;flex:none}.bounded-hub .player-search{margin:5px 0 10px;flex:none}.bounded-hub .player-row{padding:8px 0;gap:12px}.bounded-hub .player-row strong{font-size:22px}.bounded-hub .player-level{width:34px;height:34px;font-size:15px}.bounded-hub .player-actions .etched-button{min-height:36px;font-size:14px}.bounded-hub .player-ledger-frame{flex:1;min-height:0}.bounded-hub .empty-ledger{padding:12px 0}
.bounded-hub .guild-chat{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;margin:0 auto}.bounded-hub .guild-chat h2{font-size:28px;margin:0 0 8px}.bounded-hub .chat-messages{flex:1;min-height:0;max-height:none;margin:0 0 10px}.bounded-hub .guild-chat textarea{min-height:56px;height:56px}.bounded-hub .guild-chat form{gap:6px}.bounded-hub .guild-chat form small{font-size:11px}
.bounded-hub .visited-room{flex:1;min-height:0;grid-template-columns:32% 1fr 25%;gap:14px}.bounded-hub .visitor-hero{min-height:0}.bounded-hub .visitor-hero>svg{height:100%;min-height:0}.bounded-hub .visitor-stats,.bounded-hub .visitor-trophies{padding:10px;align-self:stretch;min-height:0}.bounded-hub .visitor-equipment p{font-size:15px}.bounded-hub .visitor-equipment small{font-size:11px}.bounded-hub .visitor-trophies{grid-column:auto;display:flex;gap:0}.bounded-hub .visitor-footer{flex:none;margin:6px 0 0;gap:8px}.bounded-hub .visitor-footer p{margin:0;font-size:11px}
.bounded-hub .friendly-stage{flex:1;min-height:0;width:100%;gap:15%;margin:0 auto}.bounded-hub .friendly-fighter{height:100%;display:flex;flex-direction:column}.bounded-hub .friendly-fighter h2{font-size:25px;flex:none;margin:0 0 8px}.bounded-hub .friendly-health{flex:none}.bounded-hub .friendly-figure{flex:1;min-height:0;height:auto;margin:5px -12% 0}.bounded-hub .friendly-result{min-height:64px;flex:none;padding:8px 0 0}.bounded-hub .friendly-result h2{font-size:26px;margin:0}.bounded-hub .friendly-result p{font-size:14px;margin:4px 0}
.bounded-world .world-root{height:100dvh;min-height:0;padding:0;display:flex;flex-direction:column}
.bounded-world .world-hud{padding:10px 3%;gap:12px;flex:none;min-height:58px;font-size:19px;flex-wrap:wrap}.bounded-world .world-hud>span{white-space:nowrap}
.bounded-world .world-nav{padding:9px 3%;gap:10px 22px;flex-wrap:wrap;overflow:visible;white-space:normal;flex:none;justify-content:center}.bounded-world .world-nav a{font-size:17px;min-height:26px;display:flex;align-items:center}.bounded-world .world-nav a[aria-current]:after{bottom:0}
.bounded-world #world-content{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;padding:0 3% 12px;max-width:1150px}
.bounded-world .world-heading{margin:12px auto;flex:none;padding:0}.bounded-world .world-heading h1{font-size:36px;margin:5px 0}.bounded-world .world-heading p{font-size:17px;line-height:1.3;max-width:700px}.bounded-world .world-heading>span{font-size:10px;letter-spacing:1.6px}
.bounded-world .world-parchment{padding:16px;min-height:0}.bounded-world .world-parchment h2{font-size:28px}.bounded-world .world-parchment h3{margin:6px 0;font-size:22px}.bounded-world .world-parchment p{font-size:17px}
.bounded-world .companion-scene{flex:1;min-height:0;margin:0;width:100%;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.bounded-world .companion-portrait{min-height:0;height:100%;grid-template-rows:minmax(0,1fr) auto}.bounded-world .companion-portrait .pet-art{height:100%;width:auto;max-width:100%;max-height:310px;aspect-ratio:1}.bounded-world .companion-choices{flex:none;margin:8px auto 0;width:100%}.bounded-world .companion-choices .pet-art{width:44px}.bounded-world .companion-choices button{flex-direction:row;min-height:42px;font-size:16px}.bounded-world .pet-level{margin-top:4px}.bounded-world meter{margin:6px 0;flex:none}
.bounded-world .dungeon-layout{flex:1;min-height:0;grid-template-columns:180px minmax(0,1fr) minmax(280px,42%);gap:14px;align-items:stretch}.bounded-world .dungeon-paths{min-height:0;justify-content:center}.bounded-world .dungeon-paths button{padding:14px 8px;min-width:0;flex:none}.bounded-world .dungeon-paths strong{font-size:23px}.bounded-world .dungeon-paths span,.bounded-world .dungeon-paths small{font-size:11px}.bounded-world .dungeon-guardian{height:100%;min-height:0}.bounded-world .dungeon-story{grid-column:auto}.bounded-world .dungeon-story .fine-print{font-size:13px}
.bounded-world .story-layout{flex:1;min-height:0;width:100%;margin:0 auto;grid-template-columns:35% 1fr;gap:18px;align-items:stretch}.bounded-world .journey-illustration{min-height:0;height:100%;max-height:none;aspect-ratio:auto}.bounded-world .journey-choices button{padding:9px 0}.bounded-world .journey-choices strong{font-size:21px}.bounded-world .journey-choices span{font-size:15px;margin-top:4px}.bounded-world .road-trader{margin:5px 0 0;padding:0}
.bounded-world .collection-ledger{flex:1;min-height:0;width:100%;margin:0 auto;max-width:900px}.bounded-world .collection-row,.bounded-world .weapon-rule{padding:10px 0;gap:14px}.bounded-world .collection-row h2,.bounded-world .weapon-rule h2{font-size:25px;margin:3px 0}.bounded-world .collection-row p,.bounded-world .weapon-rule p{font-size:16px;margin:3px 0}.bounded-world .collection-row small{font-size:12px}.bounded-world .collection-art,.bounded-world .collection-art .gear-art{height:70px;width:58px}.bounded-world .collection-row{grid-template-columns:58px 1fr auto}
.bounded-world .cosmetic-titles{flex:none;margin:8px auto;gap:8px}.bounded-world .cosmetic-titles h2{font-size:22px;margin:0;width:auto}.bounded-world .cosmetic-titles p{margin:0;font-size:15px}.bounded-world .cosmetic-titles button{padding:6px;font-size:16px;min-height:36px}
.bounded-world .guild-register{flex:1;min-height:0;width:100%;margin:0 auto}.bounded-world .guild-register form{margin:0;padding-bottom:12px;gap:8px}.bounded-world .guild-register input{min-width:0}.bounded-world .guild-entry{padding:8px 0;gap:10px}
.bounded-world .weekly-siege,.bounded-world .fortress-ledger,.bounded-world .guild-roster,.bounded-world .guild-pvp-ledger,.bounded-world #guild-decoration,.bounded-world .guild-chronicle{flex:1;min-height:0;width:100%;max-width:900px;margin:0 auto;padding:14px;background:#102028ed;border:1px solid #c0a36b44}
.bounded-world .fortress-ledger{background:#dfc38e;color:#503820}.bounded-world .weekly-siege .fine-print,.bounded-world .guild-chronicle{color:#d7cbb0}.bounded-world #guild-decoration{display:flex}.bounded-world #guild-decoration label{display:grid;gap:8px;max-width:500px}.bounded-world #guild-decoration select{background:#17222a;color:#efdfbb;min-height:40px;border:1px solid #baa476;padding:8px}.bounded-world .guild-roster li{padding:8px 0}.bounded-world .guild-roster h2{margin:0}.bounded-world .guild-pvp-heading{display:block}.bounded-world .guild-pvp-ranking{margin:0}.bounded-world .guild-pvp-ranking li{padding:7px 0}.bounded-world .guild-pvp-ledger p{font-size:15px;line-height:1.4}
.bounded-world .guild-result{flex:1;min-height:0;margin:0 auto}.bounded-world .guild-in-raid #world-content{display:flex}.bounded-world .guild-in-raid .guild-battle{flex:1;width:100%}.bounded-world .world-notice{position:fixed;bottom:8px;left:3%;right:3%;margin:0;background:#111d23ed;font-size:14px;z-index:25}
.bounded-journal .journal-world{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:visible}.bounded-journal .journal-header{height:64px;min-height:64px;padding:10px 3%;gap:18px;flex:none}.bounded-journal .journal-layout{flex:1;min-height:0;width:100%;max-width:1150px;margin:0 auto;padding:0 3% 12px;grid-template-columns:minmax(200px,30%) 1fr;gap:22px;align-items:stretch}
.bounded-journal .journal-index{min-height:0;display:flex;flex-direction:column;max-width:none;padding:0}.bounded-journal .journal-index h1{font-size:36px;line-height:1.05;margin:8px 0}.bounded-journal .journal-index h1 br{display:none}.bounded-journal .journal-kicker{font-size:9px;letter-spacing:1px}.bounded-journal .index-rule,.bounded-journal .journal-index-note{display:none}.bounded-journal .journal-index nav{flex:1;min-height:0;max-height:none;overflow:visible;margin:8px 0;display:flex;flex-direction:column;padding:0;gap:0}.bounded-journal .quest-bookmark{padding:8px 3px;min-height:55px;min-width:0;gap:10px}.bounded-journal .quest-bookmark strong{font-size:21px;line-height:1.1;display:block}.bounded-journal .quest-bookmark small{font-size:10px;letter-spacing:0;margin-bottom:3px}.bounded-journal .bookmark-number{width:27px;min-width:27px;height:28px;font-size:18px}.bounded-journal .quest-bookmark:before{left:0;top:0;bottom:0}.bounded-journal .journal-completion{margin:0;padding:8px 0;flex:none}.bounded-journal .journal-completion>small{font-size:10px;letter-spacing:0}.bounded-journal .journal-completion>b{font-size:23px}
.bounded-journal .quest-letter{min-height:0;height:100%;padding:18px 24px;clip-path:none}.bounded-journal .letter-heading{padding-right:45px}.bounded-journal .letter-heading h2{font-size:35px;margin:6px 0}.bounded-journal .letter-chapter{font-size:10px;letter-spacing:.6px}.bounded-journal .wax-seal{width:35px;height:35px;right:0}.bounded-journal .quest-story{font-size:18px;line-height:1.35;margin:0}.bounded-journal .quest-story:first-letter{float:none;font-size:inherit;margin:0}.bounded-journal .quest-objectives{padding:8px 0}.bounded-journal .quest-objectives li{padding:5px 0}.bounded-journal .quest-objectives strong{font-size:18px}.bounded-journal .quest-objectives small{font-size:11px}.bounded-journal .quest-letter h3{font-size:11px;letter-spacing:.6px;margin:4px 0}.bounded-journal .quest-rewards{padding:4px 0}.bounded-journal .reward-line{gap:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.bounded-journal .reward-line small{font-size:10px}.bounded-journal .reward-line b{font-size:21px}.bounded-journal .reward-line .title-reward b{font-size:16px}.bounded-journal .quest-gold-note{font-size:12px;line-height:1.3;margin:6px 0}.bounded-journal .quest-actions{margin:0;padding:8px 0 0}.bounded-journal .letter-button{font-size:20px;min-height:40px;padding:7px 15px}.bounded-journal .letter-link{font-size:16px;min-height:36px}.bounded-journal .journal-notice{font-size:12px;line-height:1.3;margin:0}.bounded-journal .journal-notice:empty{display:none}.bounded-journal .letter-page{display:none}.bounded-journal .locked-story{padding:10px 0}.bounded-journal .locked-story>span{font-size:35px;margin-bottom:6px}.bounded-journal .locked-story p{font-size:18px}
.bounded-yard #yard{height:100dvh;min-height:0;display:flex;flex-direction:column;padding:12px 3%;overflow:visible}.bounded-yard .yard-heading{margin:10px 0;flex:none}.bounded-yard .yard-heading h1{font-size:36px;margin:5px 0}.bounded-yard .yard-heading p{font-size:16px}.bounded-yard .loadout-strip{flex:none;min-height:0;margin:0 0 8px;gap:18px}.bounded-yard .loadout-slot{padding:8px 0}.bounded-yard .loadout-slot h2{font-size:24px}.bounded-yard .loadout-slot small{margin:4px 0;min-height:0}.bounded-yard .loadout-gear{min-height:0;height:40px;margin:6px 0}.bounded-yard .loadout-gear .gear-art{height:40px;width:32px}.bounded-yard .loadout-slot button{font-size:15px;min-height:36px;margin:0 5px 0 0;padding:5px 9px}.bounded-yard .training-controls{flex:none;padding-top:8px;gap:8px}.bounded-yard .training-controls label{font-size:16px;gap:4px}.bounded-yard .training-note{font-size:11px;margin:6px auto;flex:none}.bounded-yard .yard-stage{flex:1;min-height:0;height:auto;width:100%;padding:0}.bounded-yard .yard-fighter{min-height:0}.bounded-yard .training-body{flex:1;min-height:0;height:auto;width:100%;max-width:230px}.bounded-yard .yard-fighter>strong{font-size:19px;flex:none;text-align:center}.bounded-yard .yard-health{flex:none}.bounded-yard .yard-event{flex:none;font-size:17px;min-height:22px;margin:6px 0 0}
.bounded-account .account-page{height:100dvh;min-height:0;max-width:800px;display:flex;flex-direction:column;margin:0 auto;padding:16px 4%;overflow:visible}.bounded-account .account-page>h1{font-size:36px;margin:8px 0}.bounded-account .account-page>.folio-tabs{margin:4px 0 10px}.bounded-account .account-login,.bounded-account .recovery-section{flex:1;min-height:0;padding:0;border:0;margin:0}.bounded-account .account-page p{font-size:16px;line-height:1.35;margin:4px 0}.bounded-account .account-page form{margin:6px 0;gap:8px}.bounded-account .account-page input{padding:8px;min-height:40px;font-size:17px}.bounded-account .account-page form small{font-size:12px}.bounded-account .account-actions{gap:8px}.bounded-account .account-actions button{font-size:17px;padding:8px 12px}.bounded-account .recovery-section h2{font-size:28px;margin:0}.bounded-account .recovery-section label{margin:0;gap:5px}.bounded-account .recovery-section details{margin:8px 0}.bounded-account .recovery-section summary{padding:7px 0}.bounded-account .recovery-section button{margin:0}.bounded-account .recovery-section code{font-size:12px;padding:8px 0}
.bounded-arena .lobby{inset:76px 0 0;padding:0 3% 12px;overflow:visible}.bounded-arena .arena-header{height:76px;padding:12px 3%;gap:16px}.bounded-arena .arena-heading{margin:0 0 7px}.bounded-arena .arena-heading h1{font-size:38px}.bounded-arena .arena-heading>span{font-size:10px}.bounded-arena .title-rule{display:none}.bounded-arena .lobby-layout{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:720px;margin:0;gap:0}.bounded-arena .lobby-layout>.folio-tabs{width:100%;gap:4px 20px}.bounded-arena .lobby-layout>.folio-panel{width:100%;min-height:0;flex:1;padding:12px 20px;margin:0;align-self:stretch}.bounded-arena .lobby-footer{flex:none;padding-top:7px;margin:0;gap:16px;font-size:10px}.bounded-arena .duel-banner{min-height:0;display:flex;padding:12px 24px}.bounded-arena .duel-banner>.viewport-page-body{align-items:center;gap:5px}.bounded-arena .mode-tabs{margin:0;gap:30px;width:100%;flex:none}.bounded-arena .mode-tabs button{font-size:20px;padding-bottom:8px}.bounded-arena .opponent-crest{width:66px;margin:0 0 10px}.bounded-arena .opponent.portrait{width:66px;height:66px}.bounded-arena .unknown{font-size:42px}.bounded-arena .duel-banner h2{font-size:27px;margin:4px 0}.bounded-arena .duel-banner #challenge{margin-top:5px;min-height:44px}.bounded-arena .duel-banner #opponent-detail{font-size:12px;min-height:0}.bounded-arena .opponent-stats,.bounded-arena .opponent-skills{font-size:11px;margin:0}.bounded-arena .opponent-skills dl{margin:6px auto 0;gap:3px 15px}.bounded-arena .duel-hint,.bounded-arena .match-stage{font-size:11px!important;line-height:1.3!important;margin:0!important}.bounded-arena .hall-ledger ol{min-height:0;margin:5px 0}.bounded-arena .personal-ledger{display:flex;text-align:center;align-items:center}.bounded-arena .personal-ledger .rank-emblem{display:none}.bounded-arena .personal-ledger .record{margin:8px 0;padding:10px 0}.bounded-arena .personal-ledger>strong{font-size:40px}.bounded-arena .personal-ledger>a{font-size:14px;margin-top:8px}.bounded-arena .season-ledger h3{font-size:28px;margin:0}.bounded-arena .season-ledger p{font-size:13px;line-height:1.4;margin:0}.bounded-arena .rival-ledger h3{margin:0;font-size:27px}.bounded-arena .rival-entry{padding:8px 0}.bounded-arena .rival-ledger .text-button{font-size:13px}.bounded-arena .arena-wallet b{max-width:none;overflow:visible;min-width:0;font-size:16px}
/* The complete route fits the viewport; a five-by-three map replaces panning on small screens. */
#campaign-root:not(.in-battle){height:100dvh;min-height:0;display:flex;flex-direction:column}
#campaign-root:not(.in-battle) .campaign-header{height:70px;flex:none;padding-block:10px;gap:18px}
#campaign-root:not(.in-battle) .chapter-heading{margin:8px auto;flex:none}#campaign-root:not(.in-battle) .chapter-heading h1{font-size:36px;margin:5px 0}#campaign-root:not(.in-battle) .chapter-heading p{font-size:16px}
#campaign-root:not(.in-battle) .map-scroll{flex:1;min-height:0;width:100%;overflow:visible;margin:0;padding:10px 3% 30px}
#campaign-root:not(.in-battle) .chapter-map{height:100%;min-height:0;width:100%;max-width:none;margin:0}
#campaign-root:not(.in-battle) .map-node{width:44px;height:44px}#campaign-root:not(.in-battle) .map-node.landmark{width:55px;height:55px}#campaign-root:not(.in-battle) .map-node.boss{width:60px;height:60px}
#campaign-root:not(.in-battle) .node-caption{font-size:15px;top:calc(100% + 10px)}#campaign-root:not(.in-battle) .node-stars{top:calc(100% + 27px)}
#campaign-root:not(.in-battle) .chapter-footer{flex:none;width:100%;margin:0;gap:15px}#campaign-root:not(.in-battle) .chapter-nav{font-size:18px;padding:7px 0;min-width:0}
#campaign-root:not(.in-battle) .chapter-progress>span{font-size:24px}#campaign-root:not(.in-battle) .map-world-links{flex:none;margin:8px 0 0;font-size:16px;gap:10px 22px}#campaign-root:not(.in-battle) .map-hint{font-size:11px;margin:6px 0 10px;flex:none}
.tavern-scene{min-height:0!important;height:100dvh}.tavern-stage{min-height:0!important;height:calc(100dvh - 70px)}
@media(max-width:800px){
 .folio-tabs{gap:3px 12px;margin-bottom:7px}.folio-tabs button{font-size:16px;min-height:36px;padding:7px 2px}
 .bounded-hub .hub-header{min-height:58px;padding:8px 12px;gap:8px;flex-wrap:wrap}.bounded-hub .hub-logo{font-size:18px}.bounded-hub .hub-wallet{gap:12px;font-size:10px}.bounded-hub .hub-wallet b{font-size:14px;white-space:nowrap}.bounded-hub .hub-header>a:nth-child(2){font-size:16px}
 .bounded-hub .hub-nav{padding:7px 12px;gap:3px 18px;font-size:16px}.bounded-hub .hub-nav a{min-height:27px;display:flex;align-items:center}.bounded-hub #hub-content{padding:0 12px 10px}.bounded-hub .hub-heading{margin:8px 0}.bounded-hub .hub-heading h1{font-size:30px}.bounded-hub .hub-heading .eyebrow{display:none}.bounded-hub .hub-heading p{font-size:14px}
 .bounded-hub .bag-layout{display:flex;flex-direction:column;gap:0}.bounded-hub .bag-main{flex:1}.bounded-hub .bag-filters{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px}.bounded-hub .bag-filters label{min-width:0}.bounded-hub .bag-filters label:has([name=query]){grid-column:1/-1}.bounded-hub .bag-filters label:has([name=query])>input{min-height:34px}.bounded-hub .bag-filters .check{font-size:11px;min-height:25px}
 .bounded-hub #hub-content[data-inspecting=false] .bag-detail{display:none}.bounded-hub #hub-content[data-inspecting=true] .bag-main{display:none}.bounded-hub #hub-content[data-inspecting=true] .bag-detail{flex:1;border:0;padding:8px 0 0}.bounded-hub #hub-content[data-inspecting=true] .bag-detail-back{display:flex!important;min-height:36px;margin-top:6px;flex:none}
 .bounded-hub .bag-item-heading h2{font-size:25px;margin:0}.bounded-hub .bag-item-heading .eyebrow{font-size:10px;letter-spacing:0}.bounded-hub .bag-detail .comparison{font-size:12px}.bounded-hub .bag-detail .etched-button{min-height:34px;font-size:16px}.bounded-hub .bag-supplies h2,.bounded-hub .bag-goal h2{font-size:26px}.bounded-hub .supply-grid{gap:8px;margin:12px 0}.bounded-hub .supply{min-height:95px}.bounded-hub .saving-goal{grid-template-columns:42px 1fr auto;gap:8px}.bounded-hub .saving-goal .gear-art{width:42px}.bounded-hub .saving-goal label b{float:none;display:block}
 .bounded-hub .event-scene{grid-template-columns:1fr;gap:0}.bounded-hub .event-character{display:none}.bounded-hub .event-conversation{padding:8px 0 0;border:0}.bounded-hub .event-conversation blockquote{font-size:18px}.bounded-hub .settings-aside .etched-button{font-size:17px;min-height:38px}.bounded-hub .visited-room{display:flex;flex-direction:column}.bounded-hub .visited-room>.folio-panel{flex:1;min-height:0;width:100%}.bounded-hub .visitor-footer p{display:none}
 .bounded-world .world-hud{padding:8px 12px;gap:6px 12px;font-size:16px}.bounded-world .world-hud>a:nth-child(2){max-width:65%;font-size:17px}.bounded-world .world-hud>span{font-size:14px;gap:6px}.bounded-world .world-hud small{font-size:11px}.bounded-world .world-hud i:nth-of-type(2){margin-left:4px}.bounded-world .world-nav{padding:6px 12px;gap:3px 14px}.bounded-world .world-nav a{font-size:15px;min-height:24px}.bounded-world #world-content{padding:0 12px 10px}.bounded-world .world-heading{margin:8px 0}.bounded-world .world-heading h1{font-size:29px}.bounded-world .world-heading p{font-size:15px}.bounded-world .world-heading>span{font-size:9px;letter-spacing:.7px}
 .bounded-world .companion-scene{grid-template-columns:1fr}.bounded-world .companion-portrait{display:none}.bounded-world .companion-choices{gap:5px}.bounded-world .companion-choices button{width:auto;flex:1;flex-direction:column;padding:0 2px 6px;gap:3px}.bounded-world .companion-choices strong{font-size:15px;line-height:1.05}.bounded-world .companion-choices .pet-art{width:42px}.bounded-world .world-parchment{padding:12px}.bounded-world .world-parchment p{font-size:16px}
 .bounded-world .dungeon-layout{display:flex;flex-direction:column;gap:8px}.bounded-world .dungeon-paths{flex:none;flex-direction:row;gap:6px;overflow:visible}.bounded-world .dungeon-paths button{flex:1;min-width:0;padding:6px 3px;min-height:52px}.bounded-world .dungeon-paths strong{font-size:17px;margin:3px 0}.bounded-world .dungeon-paths span{font-size:10px}.bounded-world .dungeon-paths small{display:none}.bounded-world .dungeon-guardian{display:none}.bounded-world .dungeon-story{flex:1}.bounded-world .story-layout{grid-template-columns:1fr;gap:0}.bounded-world .journey-illustration{display:none}
 .bounded-world .collection-row{grid-template-columns:42px minmax(0,1fr);gap:9px}.bounded-world .collection-art,.bounded-world .collection-art .gear-art{width:42px;height:54px}.bounded-world .collection-row>.world-button{grid-column:2;justify-self:start;padding:6px 10px;font-size:16px}.bounded-world .weapon-rule{grid-template-columns:38px 1fr;gap:10px}.bounded-world .collection-row h2,.bounded-world .weapon-rule h2{font-size:23px}.bounded-world .collection-row p,.bounded-world .weapon-rule p{font-size:15px}.bounded-world .guild-pvp-heading p{font-size:14px}.bounded-world .guild-pvp-score{margin:6px 0}.bounded-world .guild-pvp-score strong{font-size:30px}
 .bounded-journal .journal-header{padding:8px 12px;gap:9px;min-height:84px;height:auto;flex-wrap:wrap}.bounded-journal .journal-identity strong{max-width:180px}.bounded-journal .journal-purse{width:100%;justify-content:center;font-size:16px;gap:18px;margin:0}.bounded-journal .journal-layout{display:flex;flex-direction:column;gap:8px;padding:0 12px 10px}.bounded-journal .journal-index{height:92px;min-height:0;flex:none}.bounded-journal .journal-index h1,.bounded-journal .journal-kicker,.bounded-journal .journal-completion{display:none}.bounded-journal .journal-index nav{margin:0;height:100%;flex-direction:column}.bounded-journal .journal-index nav .viewport-page-body{flex-direction:row;gap:8px;align-items:center;justify-content:center}.bounded-journal .quest-bookmark{flex:1;max-width:140px;padding:6px 2px;gap:6px}.bounded-journal .quest-bookmark strong{font-size:17px}.bounded-journal .quest-bookmark small{font-size:9px}.bounded-journal .quest-bookmark>b{display:none}.bounded-journal .quest-letter{flex:1;padding:12px 16px}.bounded-journal .letter-heading h2{font-size:29px}.bounded-journal .letter-chapter{font-size:9px}.bounded-journal .quest-story{font-size:17px}.bounded-journal .reward-line{grid-template-columns:1fr 1fr;gap:7px}.bounded-journal .quest-rewards h3{font-size:10px}.bounded-journal .quest-actions{gap:4px}.bounded-journal .letter-button{width:100%;font-size:18px;padding:6px 10px;min-height:36px}.bounded-journal .letter-link{font-size:15px;min-height:30px}.bounded-journal .locked-story{padding:0}.bounded-journal .locked-story h3{font-size:25px}.bounded-journal .locked-story p{font-size:16px}
 .bounded-yard .yard-heading{margin:8px 0}.bounded-yard .yard-heading h1{font-size:28px}.bounded-yard .yard-heading p{display:none}.bounded-yard .loadout-strip{display:flex;flex-direction:column;gap:0;margin:0 0 8px}.bounded-yard .loadout-slot{display:flex;flex-direction:column;border:0}.bounded-yard .loadout-slot h2{display:none}.bounded-yard .loadout-slot small{font-size:11px}.bounded-yard .loadout-gear{height:38px;margin:4px 0}.bounded-yard .training-controls{justify-content:space-between}.bounded-yard .training-controls label{width:100%;font-size:14px}.bounded-yard .training-controls select{font-size:15px;padding:6px;min-height:36px}.bounded-yard .training-controls button{font-size:16px;min-height:36px;padding:6px 10px}.bounded-yard .training-note{display:none}.bounded-yard .yard-event{font-size:15px;min-height:20px}.bounded-yard .yard-nav{font-size:16px;gap:10px}
 .bounded-account .account-page{padding:12px}.bounded-account .account-page>h1{font-size:29px}.bounded-account .account-page p{font-size:15px}.bounded-account .account-actions button{width:100%;font-size:16px;min-height:36px;padding:6px 8px}
 .bounded-account .recovery-section details{margin:4px 0}.bounded-account .recovery-section form label{font-size:15px;line-height:1.2;gap:4px}.bounded-account .recovery-section form input{font-size:16px;min-height:36px;padding:6px}.bounded-account .recovery-section form button{font-size:16px;min-height:36px;padding:6px 8px}
 .bounded-arena .arena-header{height:90px;flex-wrap:wrap;padding:9px 12px;gap:10px}.bounded-arena .arena-wallet{width:100%;justify-content:center;gap:6px;margin:0}.bounded-arena .arena-wallet b{font-size:14px}.bounded-arena .identity strong{font-size:19px}.bounded-arena .identity small{font-size:10px;letter-spacing:0}.bounded-arena .portrait.own{width:32px;height:32px}.bounded-arena .lobby{inset:95px 0 0;padding:0 12px 8px}.bounded-arena .arena-heading{display:none}.bounded-arena .lobby-layout>.folio-tabs{gap:3px 13px}.bounded-arena .lobby-layout>.folio-panel{padding:10px 12px}.bounded-arena .duel-banner .mode-tabs button{font-size:18px}.bounded-arena .duel-banner #opponent-name{font-size:25px}.bounded-arena .duel-banner #opponent-detail{font-size:12px}.bounded-arena .lobby-footer{display:none}.bounded-arena .duel-banner .gold-button{min-width:0;width:100%;font-size:20px}.bounded-arena .personal-ledger{display:flex;padding-top:10px}.bounded-arena .season-ledger p{font-size:12px}
 #campaign-root:not(.in-battle) .campaign-header{height:100px;min-height:100px;flex-wrap:wrap;gap:8px 13px;padding:8px 12px}#campaign-root:not(.in-battle) .wallet{width:100%;justify-content:center;font-size:15px;gap:12px;margin:0}#campaign-root:not(.in-battle) .chapter-heading{margin:4px 0}#campaign-root:not(.in-battle) .chapter-heading h1{font-size:28px}#campaign-root:not(.in-battle) .chapter-heading p{display:none}#campaign-root:not(.in-battle) .chapter-heading>span{font-size:10px}
 #campaign-root:not(.in-battle) .map-scroll{padding:8px 16px;display:flex;min-height:0}#campaign-root:not(.in-battle) .chapter-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;align-items:center;justify-items:center}#campaign-root:not(.in-battle) .route-lines{display:none}#campaign-root:not(.in-battle) .map-node{position:relative;left:auto;top:auto;transform:none;width:35px;height:35px}#campaign-root:not(.in-battle) .map-node.landmark,#campaign-root:not(.in-battle) .map-node.boss{width:39px;height:39px}#campaign-root:not(.in-battle) .node-caption,#campaign-root:not(.in-battle) .node-stars{display:none}#campaign-root:not(.in-battle) .map-node.current:before{inset:-4px}#campaign-root:not(.in-battle) .node-inner>b{font-size:20px}#campaign-root:not(.in-battle) .chapter-nav{font-size:16px}#campaign-root:not(.in-battle) .chapter-nav small{font-size:10px}#campaign-root:not(.in-battle) .chapter-progress small{font-size:9px;letter-spacing:0}#campaign-root:not(.in-battle) .map-world-links{font-size:15px;gap:6px 18px;padding:0 12px}#campaign-root:not(.in-battle) .map-hint{display:none}#campaign-root:not(.in-battle) .campaign-quest-tracker{display:none}
 .tavern-stage{height:calc(100dvh - 61px)}.tavern-footer{flex-wrap:wrap;gap:8px 16px}.tavern-footer button{min-height:34px;font-size:11px}
}
.window-paged{display:flex;flex-direction:column;min-height:0;overflow:visible!important}
.bounded-hub .settings-layout>#purchase-history{width:100%;min-height:0;flex:1}
.bounded-hub .visitor-equipment{display:block!important}.bounded-hub .visitor-stats .viewport-page-body{gap:4px}.bounded-hub .visitor-stats .comparison{margin:4px 0;font-size:12px}.bounded-hub .visitor-stats .comparison>div{padding:4px 0}
.bounded-hub .event-steps{border:0}.bounded-hub .event-conversation .viewport-page-header h2{font-size:28px;line-height:1.05;margin:4px 0 8px}
@media(max-width:800px){
 body.bounded-arena .arena-header .arena-wallet{max-width:none;flex-wrap:nowrap;justify-content:center;width:100%;font-size:12px}
 body.bounded-arena .arena-header .arena-wallet .energy-trigger{flex-basis:auto;min-width:0;justify-content:center;margin:0;padding:2px 0;gap:3px;font-size:11px}
 body.bounded-arena .arena-header .arena-wallet .energy-trigger>span{font-size:17px}
 body.bounded-arena .arena-header .arena-wallet .energy-trigger small{font-size:9px}
 body.bounded-world .world-hud>.energy-trigger{grid-column:3;grid-row:1;min-width:0;white-space:nowrap;font-size:11px;padding:2px;gap:4px}
 body.bounded-world .world-hud>.energy-trigger>span{font-size:18px}
 body.bounded-world .world-hud>.energy-trigger small{display:none}
 .bounded-world .weekly-siege .viewport-page-body>p,.bounded-world .fortress-ledger .viewport-page-body>p{font-size:14px;line-height:1.3}
 .bounded-world .guild-pvp-heading h2{font-size:24px}.bounded-world .guild-pvp-heading p{font-size:13px}.bounded-world .guild-pvp-score{font-size:15px}
}
.page-pane>.viewport-page-body{overflow:visible}.page-pane .viewport-page-controls label,.bag-detail .viewport-page-controls label{display:flex;gap:10px;align-items:center;font:12px var(--sans)}
.page-pane .viewport-page-controls select,.bag-detail .viewport-page-controls select{width:auto;min-height:32px;font:12px var(--sans);padding:5px 10px;background:#15232a;color:#efe2c3;border:1px solid #b29a68}
.world-parchment .viewport-page-controls select,.quest-letter .viewport-page-controls select{background:#d3b780;color:#412f17;border-color:#9c7c45}
@media(max-width:800px){
 .bounded-world .world-hud{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 9px;padding:7px 12px;min-height:70px}.bounded-world .world-hud>a:nth-child(2){max-width:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px}.bounded-world .world-hud>span{grid-row:2;grid-column:1/-1;justify-content:center}.bounded-world .world-hud>.energy-hud{grid-row:1;grid-column:3;white-space:nowrap}.bounded-world .world-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 7px;padding:5px 10px}.bounded-world .world-nav a{font-size:14px;line-height:1.1;text-align:center;justify-content:center;min-height:28px}.bounded-world .world-heading h1{font-size:27px}.bounded-world .world-heading>span{display:none}.bounded-world .world-heading p{font-size:14px}.bounded-world .world-heading{margin:6px 0}
 .bounded-world .dungeon-story .viewport-page-header h2{font-size:24px}.bounded-world .dungeon-story .viewport-page-footer{padding-top:5px;gap:4px}.bounded-world .dungeon-story .viewport-page-footer button{font-size:16px;min-height:34px;padding:6px 9px}.bounded-world .dungeon-story .viewport-page-footer .energy-inline-action{font-size:13px;padding:4px 0;min-height:28px}
 .bounded-world .empty-collection{padding:0}.bounded-world .empty-collection h2{font-size:24px}.bounded-world .empty-collection p{font-size:16px;line-height:1.3}
 .bounded-journal .journal-index{height:52px}.bounded-journal .journal-index nav{display:none!important}.quest-navigation{display:flex;align-items:center;gap:8px;font:12px var(--sans)}.quest-navigation select{min-width:0;flex:1;min-height:36px;background:#13242be8;color:#efdcb3;border:1px solid #bc9c63;padding:6px;font:17px var(--serif)}
 .bounded-arena .arena-header{display:grid;grid-template-columns:25px 1fr;height:104px;gap:5px 10px;padding:8px 12px;align-items:center}.bounded-arena .arena-wallet{grid-column:1/-1;flex-wrap:nowrap;white-space:nowrap;gap:5px;font-size:12px}.bounded-arena .arena-wallet b{font-size:12px}.bounded-arena .arena-wallet .energy-hud{font-size:11px;gap:3px;margin:0}.bounded-arena .arena-wallet .silver-coin,.bounded-arena .arena-wallet .gold-coin{font-size:17px;margin:0}.bounded-arena .lobby{inset:110px 0 0}
}
.viewport-page-header,.viewport-page-footer,.viewport-page-controls{flex:none}
.viewport-page-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}
.viewport-page-body>*{flex:none}
.window-paged [hidden],.forge-inspection [hidden],.encounter-dialog [hidden]{display:none!important}
.viewport-page-controls{display:flex;align-items:center;justify-content:center;gap:20px;min-height:38px;padding:4px 0;font:600 13px var(--sans);color:inherit}
.viewport-page-controls button{min-width:38px;min-height:32px;background:none;border:1px solid currentColor;color:inherit;font:22px/1 Georgia,serif;cursor:pointer}
.viewport-page-controls button:disabled{opacity:.45;cursor:default}
.viewport-page-controls.single-page{display:none}
.window-paged button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.bounded-hub:has(.guild-chat) .hub-heading{display:none}.bounded-hub .chat-messages{overflow:visible}.bounded-hub .chat-messages li{list-style:none;padding:8px 0;overflow-wrap:anywhere}.bounded-hub .chat-messages li p{font-size:15px;line-height:1.3;margin:5px 0}.bounded-hub .chat-messages li button{min-height:30px;font-size:13px;padding:5px 8px;margin-top:4px}.bounded-hub .chat-messages li strong{font-size:17px}.bounded-hub .chat-messages li time{font-size:10px}
@media(max-width:800px){.bounded-hub .guild-chat h2{font-size:23px;line-height:1.15;margin:0 0 6px}.bounded-hub .guild-chat form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.bounded-hub .guild-chat form>label{grid-column:1/-1;font-size:12px}.bounded-hub .guild-chat textarea{height:44px;min-height:44px;font-size:14px;padding:6px}.bounded-hub .guild-chat form button{min-height:36px;margin:0;padding:6px 8px;font-size:15px}.bounded-hub .guild-chat form small{grid-column:1/-1;font-size:10px;line-height:1.3}.bounded-hub .chat-messages{margin-bottom:6px}}
.bounded-world .journey-story .trader-item{display:flex;gap:12px;min-width:0}.bounded-world .journey-story .trader-item .gear-art{width:40px;max-width:40px;flex:none}.bounded-world .journey-story .trader-item p{font-size:14px;line-height:1.3}.bounded-world .journey-story .trader-item strong{font-size:20px}
@media(max-width:360px),(max-width:800px) and (max-height:640px){
 .bounded-world .world-heading{margin:5px 0 7px;max-width:100%;width:100%}.bounded-world .world-heading h1{font-size:22px;line-height:1.1;overflow-wrap:anywhere}.bounded-world .world-heading p{display:none}
 .bounded-world .world-parchment,.bounded-world .weekly-siege,.bounded-world .fortress-ledger{padding:10px}.bounded-world .viewport-page-header h2{font-size:24px;line-height:1.1}.bounded-world .viewport-page-header{margin-bottom:6px}
 .bounded-world .fortress-ledger .viewport-page-footer{padding-top:5px;gap:4px}.bounded-world .fortress-ledger .viewport-page-footer button{font-size:16px;min-height:34px;padding:6px 10px}
 .bounded-arena .duel-banner .opponent-crest{width:48px;margin:2px 0 5px}.bounded-arena .duel-banner .opponent.portrait{width:48px;height:48px}.bounded-arena .opponent-crest .level-seal{width:23px;height:23px;font-size:12px}.bounded-arena .duel-banner .ink-eyebrow{display:none}.bounded-arena .duel-banner #opponent-name{font-size:22px;line-height:1.1;margin:3px 0}.bounded-arena .duel-banner .viewport-page-header{margin-bottom:5px}.bounded-arena .duel-banner .viewport-page-footer{gap:4px;justify-content:center;padding-top:5px}.bounded-arena .duel-banner #challenge{font-size:19px;min-height:40px;padding:7px 12px}.bounded-arena .duel-banner .energy-cost-note{font-size:11px;line-height:1.25;margin:0}.bounded-arena .duel-banner .energy-inline-action,.bounded-arena .duel-banner #reroll{font-size:12px;min-height:28px;padding:4px 0;margin:0}
 .bounded-journal .locked-story p{font-size:15px;line-height:1.3;margin:6px 0}.bounded-journal .locked-story h3{font-size:22px;margin:4px 0}
}
.character-sheet .inventory-content{overflow:visible;padding:10px 14px 0;flex:none;min-height:0}
.inventory-category-tabs{display:flex;justify-content:space-between;gap:4px;margin-bottom:8px}
.inventory-category-tabs button{font:600 15px var(--serif);min-height:32px;padding:3px 0;color:var(--game-ink,#f1e4c8);border-bottom:2px solid transparent}
.inventory-category-tabs button[aria-pressed=true]{border-color:#765022;color:var(--game-ink,#f1e4c8)}
.character-sheet .inventory-group{margin-bottom:8px}.character-sheet .inventory-group h3{font-size:20px;margin:4px 0 9px}
.character-sheet .inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.inventory-pages{display:flex;align-items:center;justify-content:center;gap:16px;font:600 12px var(--sans);margin:6px 0;color:var(--game-ink,#f1e4c8)}
.inventory-pages button{background:none;color:var(--game-ink,#f1e4c8);font-size:23px;min-width:30px;min-height:28px}
.character-sheet .expanded-bag-link{display:block;text-align:center;font:600 16px var(--serif);color:var(--game-ink,#f1e4c8);padding:4px;margin:2px 0 8px}
.character-sheet .selected-item{overflow:visible;max-height:none;padding:12px 14px;background:#dfbd83;min-height:0;flex:1;text-align:center}
.character-sheet .selected-item h3{font:700 23px/1.1 var(--serif);margin:6px 0;color:var(--game-ink,#f1e4c8)}.character-sheet .selected-item p,.character-sheet .selected-item small{font-size:12px;color:var(--game-muted,#c4bda9);line-height:1.4}.character-sheet .selected-item .viewport-page-body{gap:6px}.character-sheet .selected-item .viewport-page-body>p{margin:4px 0}.character-sheet .selected-item .viewport-page-footer{display:flex;flex-direction:column;gap:6px}.character-sheet .selected-item .equip-button{width:100%;margin:0}.character-sheet .item-sale-actions{justify-content:center;margin:0}.character-sheet .selected-item .viewport-page-controls{min-height:32px;padding:2px 0}
.character-mobile-tabs,.inventory-back{display:none}.character-sheet .character-identity>div:last-child{min-width:0}
.character-sheet .item-inspection h3{font-size:23px;margin:6px 0;color:var(--game-ink,#f1e4c8)}.character-sheet .item-inspection p,.character-sheet .item-quality{font-size:12px;color:var(--game-muted,#c4bda9);line-height:1.4}.character-sheet .item-trait{color:#b9dfb3!important;font-size:13px!important}.character-sheet .gear-comparison{font-size:12px}.character-sheet .sale-note{font-size:12px;color:var(--game-muted,#c4bda9)}
.character-sheet .statistics-content{padding:14px 15px 8px}.character-sheet .character-identity{display:flex;text-align:left;gap:12px;align-items:center;margin-bottom:14px}.character-sheet .character-portrait{width:55px;height:55px;flex:none;margin:0}.character-sheet .character-identity h3{font-size:25px}.character-sheet .character-identity p{font-size:12px}.character-sheet .attribute-note{font-size:12px;line-height:1.4}.character-sheet .character-purse{flex-wrap:wrap;font-size:12px}.character-sheet .character-purse b{font-size:13px}
@media(max-width:600px){.character-sheet .inventory-content{padding:8px 14px 0}.inventory-category-tabs button{font-size:16px}.character-sheet .selected-item{padding:10px 14px}.character-sheet .statistics-content{padding:10px 18px}.character-sheet .character-identity{gap:12px}.character-sheet .character-portrait{width:50px;height:50px}.character-sheet .character-identity h3{font-size:26px}.character-open .hero-stage{display:none}.character-mobile-tabs{display:flex;position:absolute;top:8px;left:12px;right:12px;justify-content:center;gap:20px;padding-right:48px;pointer-events:auto;background:#17110ee8;min-height:44px}.character-mobile-tabs button{color:#f3dfb7;font:600 21px var(--serif);border-bottom:2px solid transparent;padding:6px 0}.character-mobile-tabs button[aria-pressed=true]{border-color:#d5b67a}.character-sheet .character-wing{left:12px;right:12px;top:56px;bottom:12px;width:auto}.character-sheet[data-section=statistics] .inventory-wing,.character-sheet[data-section=inventory] .statistics-wing{display:none}.character-sheet .character-close{top:8px;bottom:auto;left:auto;right:16px;transform:none;padding:10px;min-width:44px;min-height:44px;justify-content:center;z-index:3;border:1px solid #c5a064;border-radius:50%;background:radial-gradient(circle at 30% 25%,#a77c37,#5a3a16);color:#fff0c9}.character-sheet .character-close svg{width:22px;height:22px}.character-sheet .character-close span{display:none}.character-sheet .inventory-slot{max-width:60px;justify-self:center}.character-sheet .inventory-group h3{font-size:20px;margin:2px 0 6px}.character-sheet .inventory-pages{margin:2px 0}.character-sheet .expanded-bag-link{font-size:15px;padding:0;margin-bottom:6px}.character-sheet .wing-footer{padding:6px 0;margin:0 16px}.character-sheet .character-identity h3{overflow-wrap:normal}.character-sheet .character-identity p{font-size:13px}}

/* Shops: shelves and item details fit beside each other whenever space permits. */
@media(max-width:600px){.character-sheet[data-inspecting=true] .inventory-content{display:none}.character-sheet[data-inspecting=true] .inventory-back{display:block;color:#f3dfb7;font:600 18px var(--serif);padding:4px}.character-sheet[data-inspecting=true] .inventory-wing .wing-heading>span,.character-sheet[data-inspecting=true] #inventory-title{display:none}.character-sheet .attribute-row{font-size:13px;min-height:34px}.character-sheet .character-combat{flex-direction:row}.character-sheet .character-combat span{font-size:12px}.character-sheet .inventory-hint{font-size:17px}.character-sheet .selected-item h3{font-size:27px}.character-sheet .selected-item p,.character-sheet .selected-item small{font-size:14px}.character-sheet .item-trait{font-size:15px!important}.character-sheet .selected-item .gear-comparison{font-size:14px}.character-sheet .character-resource>div{min-height:22px}.character-sheet .character-resource strong{font-size:13px;line-height:22px}}
.chamber .forge-scene .forge-workspace{left:34%;right:2%;top:106px;bottom:24px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(235px,.95fr);align-items:stretch;gap:14px;transform:none;width:auto;max-width:none;padding:0;overflow:visible}
.forge-scene .forge-cabinet{width:100%;min-height:0;max-height:100%;padding:12px;display:flex;flex-direction:column}
.forge-scene .forge-cabinet:before,.forge-scene .forge-cabinet:after{display:none}
.forge-scene .forge-cabinet-heading{margin-bottom:8px}.forge-scene .forge-cabinet-heading h2{font-size:32px;margin:3px 0}
.forge-scene .forge-cabinet-heading>span{font-size:9px;color:#e5d4b4;letter-spacing:1px}
.forge-scene .forge-filters{gap:14px;margin:0 0 6px;flex-wrap:wrap}
.forge-scene .forge-filters button{font-size:12px;color:#e4dccb;padding:5px 0}
.forge-scene .weapon-categories,.forge-scene .market-categories{margin:0;padding:4px 0 8px;gap:3px 8px;flex-wrap:wrap}
.forge-scene .weapon-categories button,.forge-scene .market-categories button{font-size:15px;color:#eddfc3;padding:3px 4px}
.forge-scene .forge-shelves{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px 8px;align-content:stretch;padding-top:4px}
.forge-scene .forge-item-picture{width:clamp(52px,8vh,80px)}
.forge-scene .forge-item-cost{flex-wrap:wrap;gap:2px 4px;white-space:normal;line-height:1.25;margin-top:5px}
.forge-scene .forge-price-part{font-size:12px;white-space:nowrap}
.forge-scene .forge-item-state{white-space:normal;font-size:10px;text-align:center;color:#e5d5b2;line-height:1.2}
.forge-scene .forge-cabinet-footer{margin-top:8px;min-height:32px}.forge-scene .forge-cabinet-footer>p{display:none}.forge-scene .forge-pages{font-size:13px;margin:0}
.forge-scene .forge-inspection{position:relative;inset:auto;align-self:stretch;min-width:0;width:100%;max-width:none;max-height:none;min-height:0;overflow:visible;padding:18px;display:flex;flex-direction:column;gap:10px;clip-path:none;border:1px solid #806037;animation:none;color:var(--game-ink,#f1e4c8);color-scheme:dark}
.forge-scene .forge-inspection[hidden]{display:none!important}
.forge-scene .forge-inspection-close{top:4px;right:6px;width:32px;height:32px;z-index:1;color:var(--game-ink,#f1e4c8)}
.forge-scene .forge-inspection-quality{font-size:10px;letter-spacing:.4px;margin:0 22px 0 0;text-align:left;color:var(--game-muted,#c4bda9)}
.forge-scene .forge-inspection-quality span{display:inline;margin-left:8px;color:var(--game-muted,#c4bda9)}
.forge-inspection-identity{display:flex;align-items:center;gap:12px;min-height:66px}
.forge-scene .forge-inspection-art{flex:none;width:62px;height:62px;margin:0}
.forge-scene .forge-inspection h3{margin:0;text-align:left;font-size:27px;line-height:1.05;overflow-wrap:break-word;color:var(--game-ink,#f1e4c8)}
.inspection-tabs{display:flex;gap:16px;border-bottom:1px solid #77542955;flex:none}
.inspection-tabs button{font:600 17px var(--serif);background:none;color:var(--game-ink,#f1e4c8);border:0;border-bottom:2px solid transparent;padding:5px 0;min-height:32px}
.inspection-tabs button[aria-selected=true]{border-color:#6b461b;color:var(--game-ink,#f1e4c8)}
.inspection-panels{flex:1;min-height:0}.inspection-panel{height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}
.forge-scene .forge-weapon-stat{padding:9px 0;gap:8px;color:var(--game-ink,#f1e4c8)}
.forge-scene .forge-weapon-stat dt{font-size:13px}.forge-scene .forge-weapon-stat dd{font:700 22px var(--numbers)}
.forge-scene .forge-technique{font:600 16px/1.4 var(--serif);color:var(--game-ink,#f1e4c8);margin:0;padding:0}
.forge-scene .forge-technique-link,.forge-scene .forge-bag-link{font:600 14px/1.35 var(--serif);color:var(--game-ink,#f1e4c8);margin:0;text-underline-offset:3px}
.forge-scene .forge-compare{display:grid;gap:9px;text-align:left;padding:0;border:0}
.forge-scene .forge-compare>div+div{margin:0;padding:0;border:0}.forge-scene .forge-compare strong{font-size:24px;line-height:1.25;margin:1px 0}.forge-scene .forge-compare span,.forge-scene .forge-compare small{font-size:12px;color:var(--game-muted,#c4bda9)}
.inspection-checkout{flex:none;display:flex;flex-direction:column;gap:7px;margin-top:auto}
.forge-scene .forge-buy-price{margin:0;font-size:14px;color:var(--game-ink,#f1e4c8)}
.forge-scene .forge-buy{min-height:38px;padding:8px;font-size:19px;color:var(--game-ink,#f1e4c8)}
.forge-scene .forge-goal-button{margin:0;padding:6px;background:none;color:var(--game-ink,#f1e4c8);border-color:#806037;font-size:14px}
.forge-scene .forge-buy-note{margin:0;color:var(--game-muted,#c4bda9);font-size:12px;line-height:1.35}
.forge-scene .forge-buy:disabled{opacity:1;background:#d5b777;color:var(--game-ink,#f1e4c8);box-shadow:none}
@media(min-width:1500px){.chamber .forge-scene .forge-workspace{left:39%;right:5%;top:15%;bottom:10%;max-width:850px;grid-template-columns:1fr 1fr;gap:24px}.forge-scene .forge-cabinet{padding:18px}.forge-scene .forge-inspection{padding:22px}.forge-scene .forge-inspection h3{font-size:32px}.forge-scene .forge-item-picture{width:90px}}
@media(max-width:820px){.chamber .forge-scene .forge-workspace{left:30%;right:3%;grid-template-columns:1fr}.forge-scene .forge-inspection{position:absolute;inset:0;z-index:5;max-width:none;min-width:0}.forge-scene .forge-inspection h3{font-size:29px}.forge-scene .forge-inspection-identity{justify-content:flex-start}}
@media(max-width:540px){.chamber .forge-scene .forge-workspace{left:16px;right:16px;top:114px;bottom:42px}.forge-open .hero-stage{display:none}.forge-scene .forge-city{top:auto;bottom:4px;left:auto;right:14px;padding:4px;font-size:15px}.forge-scene .forge-city .menu-icon{display:none}.forge-scene .forge-return{bottom:7px;left:16px}.forge-scene .forge-inspection{padding:16px}.forge-scene .forge-inspection h3{font-size:27px}.forge-scene .forge-item-picture{width:70px}.forge-scene .forge-workspace .forge-shelves{grid-template-rows:repeat(2,minmax(0,1fr))}}
@media(max-height:580px){.chamber .forge-scene .forge-workspace{top:96px;bottom:20px}.forge-scene .forge-inspection{gap:7px;padding:13px}.forge-scene .forge-inspection h3{font-size:23px}.forge-scene .forge-inspection-identity{min-height:48px}.forge-scene .forge-inspection-art{width:46px;height:46px}.forge-scene .forge-technique{font-size:15px;line-height:1.3}.forge-scene .forge-buy-note{display:none}.forge-scene .forge-cabinet-heading h2{font-size:27px}.forge-scene .forge-cabinet-heading>span{display:none}.forge-scene .forge-item-picture{width:48px}}

/* Parchment uses dark ink; overlays over scenes use a consistent dark shade. */
.arena-world .battle-result{padding:24px;background:radial-gradient(ellipse,#080e18f2,#080e18c9 65%,#080e1866);color:#f5e9d0}.arena-world .battle-result h2{font-size:clamp(34px,6vw,70px);max-width:100%;overflow-wrap:anywhere}.arena-world .battle-result p{font-size:14px;line-height:1.5;color:#eee3cb;margin:8px 0 16px}.arena-world .battle-result .gold-button{min-height:42px}
.encounter-tabs{display:flex;gap:24px;border-bottom:1px solid #77542955;margin-top:12px}.encounter-tabs button{font:600 19px var(--serif);color:var(--game-ink,#f1e4c8);background:none;border:0;border-bottom:2px solid transparent;min-height:36px;padding:5px 0;cursor:pointer}.encounter-tabs button[aria-pressed=true]{color:var(--game-ink,#f1e4c8);border-color:#765022}.encounter-rewards{min-height:190px;padding:10px 0}.encounter-dialog .encounter-rewards .chapter-story-note{font-size:16px;line-height:1.4;color:var(--game-muted,#c4bda9)}
.encounter-dialog[open]{display:flex;flex-direction:column;height:min(680px,calc(100dvh - 24px))}.encounter-dialog .encounter-top,.encounter-dialog .encounter-tabs,.encounter-dialog .encounter-foot{flex:none}.encounter-dialog .encounter-body{flex:1;min-height:0;align-content:start}.encounter-dialog .encounter-rewards{flex:1;min-height:0}.encounter-dialog .encounter-foot{margin-top:auto}
.training-dialog[open]{height:min(700px,calc(100dvh - 28px));max-height:none;overflow:visible;width:min(760px,calc(100vw - 28px))}
.training-dialog .training-scroll{max-height:none;flex:1;margin:0 16px;padding:0;border-block:1px solid #95703b55}
.training-dialog .training-header{padding:16px 24px 0}.training-dialog .training-header h2{font-size:35px;margin:8px 0 12px}.training-dialog .training-header>p{font-size:16px;margin:10px 0;color:var(--game-muted,#c4bda9)}
.training-dialog .training-footer{padding:10px 20px}.training-dialog .training-copy h3{color:var(--game-ink,#f1e4c8)}.training-dialog .training-copy p,.training-dialog .training-copy>small,.training-dialog .training-actions>small{color:var(--game-muted,#c4bda9)}
.training-dialog .training-row{padding:14px 10px}.training-dialog .training-copy>small{font-size:12px;line-height:1.4}.training-dialog .training-footer p,.training-dialog .ability-source{font-size:13px;line-height:1.35;color:var(--game-muted,#c4bda9)}.training-dialog .training-notice{color:#b9dfb3}
.training-dialog .training-actions .parchment-button:disabled{opacity:1;background:#d1b27a;color:var(--game-ink,#f1e4c8);box-shadow:none}
@media(max-width:380px){.training-dialog .training-row.skill-training{grid-template-columns:26px minmax(0,1fr);padding:8px 6px}.training-dialog .skill-training .training-actions{grid-column:2;flex-direction:row;align-items:center;gap:12px}.training-dialog .skill-training .training-actions>*{max-width:50%;white-space:normal}.training-dialog .skill-training .training-price{font-size:13px}.training-dialog .training-scroll{margin-inline:10px;padding-inline:0}}
@media(max-height:600px){.training-dialog .training-header{padding-top:10px}.training-dialog .training-header h2{margin:6px 0 9px}.training-dialog .training-header>p{margin:6px 0;line-height:1.3}.training-dialog .training-footer{padding-block:8px}}
.menu-sheet{overflow:visible;background:linear-gradient(90deg,#16120e85,#17130fee 30%,#17130ff7);backdrop-filter:blur(3px)}
.menu-sheet .sheet-content{height:100%;min-height:0;width:min(760px,90vw);padding:56px 36px 18px;color:#f5e9d0}
.menu-sheet .sheet-content h2{font-size:39px;margin:5px 0 16px}.menu-sheet .lead,.menu-sheet .note{color:#e4d8bf;font-size:14px;line-height:1.5;margin:8px 0 16px}.menu-sheet .sheet-eyebrow{font-size:10px;color:#e1c28c}
.menu-sheet .sheet-content h3{margin:10px 0;font-size:26px;color:#f4ddb2}.menu-sheet .sheet-content .stat-line{margin:12px 0;gap:26px;flex-wrap:wrap}.menu-sheet .stat-line strong{font-size:28px}.menu-sheet .stat-line span{font-size:12px;color:#e2d4b9}
.menu-sheet .treasury-exchange{padding:12px 0}.menu-sheet .treasury-exchange label{font-size:23px;color:#f5e9d0}.menu-sheet .treasury-exchange small,.menu-sheet .treasury-earnings p{font-size:13px;color:#e2d4b9;line-height:1.5}.menu-sheet .treasury-exchange .plain-action{font-size:13px}.menu-sheet .treasury-earnings{margin:10px 0;padding-bottom:8px}.menu-sheet .treasury-packs li{padding:10px 0}.menu-sheet .plain-action{font-size:15px;color:#efd09b}
.menu-sheet .sheet-content .viewport-page-body>.treasury-exchanges,.menu-sheet .sheet-content .viewport-page-body>.treasury-packs{margin:0 0 12px}
.energy-dialog.window-paged{height:min(720px,calc(100dvh - 24px));max-height:none;padding:22px;overflow:visible!important}.energy-dialog .energy-amount{font-size:38px;margin:10px}.energy-dialog .energy-copy,.energy-dialog .energy-novice{color:#e3dac5;font-size:13px;line-height:1.45}.energy-dialog .energy-offers small{color:#e4dac6}.energy-dialog .energy-rest-note{color:#e4dac6;font-size:12px}.energy-dialog .energy-costs{font-size:13px}.energy-dialog .viewport-page-controls{color:#eed5a5}
/* Battle outcome stays on a single, content-sized parchment even inside VK's iframe. */
dialog.result-dialog[open]{box-sizing:border-box;display:flex;flex-direction:column;width:min(500px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:fit-content;min-height:0;max-height:calc(100dvh - 20px);padding:14px 20px 12px;overflow:visible}
.result-dialog .result-crest{width:30px;height:30px;margin:0 auto 3px}.result-dialog .eyebrow{font-size:10px;letter-spacing:1px}.result-dialog h2{font-size:38px;margin:3px 0 0}.result-dialog .result-subtitle{font-size:16px;line-height:1.15;margin:5px 0 10px;color:var(--game-ink,#f1e4c8)}
.result-dialog .damage-summary{padding:10px 0;font-size:16px}.result-dialog .damage-summary strong{font-size:27px;margin-top:2px}.result-dialog .damage-summary small{font-size:10px;letter-spacing:.5px;margin-top:2px;color:var(--game-muted,#c4bda9)}.result-dialog .damage-summary i{font-size:18px}
.result-dialog .victory-loot{display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:8px 20px;margin:10px 0 8px;padding-bottom:9px}.result-dialog .victory-loot>div{min-width:68px;max-width:130px;flex:0 1 auto}.result-dialog .reward-icon{width:36px;height:36px;margin:0 auto 4px;font-size:22px}.result-dialog .victory-loot strong{font-size:22px;line-height:1.1}.result-dialog .victory-loot small{font-size:11px;margin-top:2px;color:var(--game-muted,#c4bda9)}.result-dialog .reward-item strong{font-size:14px;line-height:1.1;overflow-wrap:anywhere}.result-dialog .loot-item{width:38px;height:38px}
.result-dialog .victory-loot:has(> :nth-child(4)){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}.result-dialog .victory-loot:has(> :nth-child(4))>div{min-width:0;max-width:none}.result-dialog .victory-loot:has(> :nth-child(4))>.reward-item{grid-column:1/-1;display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;align-items:center;justify-content:center;gap:0 8px;text-align:left}.result-dialog .victory-loot:has(> :nth-child(4))>.reward-item .loot-item{grid-row:1/3}.result-dialog .victory-loot:has(> :nth-child(4))>.reward-item strong{max-width:none}
.result-dialog .victory-materials{gap:5px 12px;margin:0 0 8px;font-size:12px;line-height:1.25;color:var(--game-ink,#f1e4c8)}.result-dialog .victory-materials>small{width:auto;font-size:11px;letter-spacing:0;color:var(--game-muted,#c4bda9)}.result-dialog .victory-materials:not(:has(>span)){display:none}.result-dialog .victory-materials svg{width:18px;height:18px}
.result-dialog .result-xp{font-size:12px;color:var(--game-ink,#f1e4c8)}.result-dialog .result-xp>div{margin:5px 0;height:6px}.result-dialog .result-xp small{font-size:11px;color:var(--game-muted,#c4bda9)}.result-dialog .claim-button{box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:12px 0 0;padding:6px 12px;font-size:21px}.result-dialog .claim-button>span{display:none}.result-dialog .result-note{font-size:11px;line-height:1.2;color:var(--game-muted,#c4bda9);margin:5px 0 0}.result-dialog .no-reward{padding:8px 0;margin:0;font-size:15px}.result-dialog .reward-quest-link{margin-top:6px;padding-top:5px;color:#b9dfb3}
@media(max-height:600px){dialog.result-dialog[open]{padding-top:10px;padding-bottom:8px}.result-dialog .result-crest{width:25px;height:25px}.result-dialog h2{font-size:34px}.result-dialog .result-subtitle{margin:3px 0 6px}.result-dialog .damage-summary{padding:7px 0}.result-dialog .victory-loot{margin:7px 0 5px;padding-bottom:6px}.result-dialog .reward-icon{width:30px;height:30px;font-size:18px}.result-dialog .victory-materials{margin-bottom:5px}.result-dialog .claim-button{margin-top:8px}}
@media(max-width:380px){dialog.result-dialog[open]{padding-left:12px;padding-right:12px}.result-dialog .victory-loot{gap:6px 8px}.result-dialog .victory-loot>div{min-width:58px;max-width:80px}.result-dialog .victory-loot strong{font-size:18px}.result-dialog .reward-item strong{font-size:12px}.result-dialog .result-subtitle{font-size:14px}.result-dialog .damage-summary{font-size:14px}.result-dialog .damage-summary strong{font-size:23px}}
.encounter-dialog{max-height:calc(100dvh - 24px);padding:22px;width:min(720px,calc(100vw - 24px));overflow:visible}.encounter-dialog .encounter-top h2{font-size:34px;line-height:1.1;margin:10px 0}.encounter-dialog .encounter-top p{font-size:16px;color:var(--game-muted,#c4bda9);margin:8px 0}.encounter-dialog .encounter-body{grid-template-columns:110px minmax(0,1fr);gap:18px;margin:12px 0}.encounter-dialog .enemy-preview{height:190px;margin:0}.encounter-dialog .enemy-preview .enemy-art{height:180px;max-width:100%;width:100%;left:0;position:relative}.difficulty-selector{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.difficulty-selector button{color:var(--game-ink,#f1e4c8);border-bottom:2px solid transparent;background:none;font:600 17px var(--serif);min-height:34px;padding:4px 0}.difficulty-selector button[aria-pressed=true]{border-color:#765322;color:var(--game-ink,#f1e4c8)}.encounter-dialog .difficulty-row{padding:8px 0}.encounter-dialog .difficulty-name small{font-size:12px;color:var(--game-muted,#c4bda9)}.encounter-dialog .difficulty-unlock-note{font-size:14px;color:var(--game-muted,#c4bda9);margin:8px 0;padding-top:8px}.encounter-dialog .encounter-loot{margin:10px 0}.encounter-dialog .loot-item{width:44px;height:44px}.encounter-dialog .loot-items{gap:8px}.encounter-dialog .encounter-foot{padding-top:8px;font-size:13px;color:var(--game-ink,#f1e4c8)}.encounter-dialog .energy-inline-action{color:var(--game-ink,#f1e4c8)}
@media(max-width:540px){.menu-sheet .sheet-content{width:100%;padding:50px 20px 14px}.menu-sheet .sheet-content h2{font-size:32px}.training-dialog .training-header{padding:14px 16px 0}.training-dialog .training-header h2{font-size:30px}.training-dialog .training-header>p{font-size:14px}.training-dialog .training-row{grid-template-columns:30px minmax(0,1fr) 88px;gap:8px}.training-dialog .ability-training{grid-template-columns:48px minmax(0,1fr)}.training-dialog .ability-training .training-actions{grid-column:2}.training-dialog .ability-picture{width:48px;height:48px}.training-dialog .training-copy h3{font-size:23px}.training-dialog .training-copy>small{font-size:11px}.training-dialog .training-footer{padding:8px 14px}.training-dialog .training-summary{gap:10px}.energy-dialog.window-paged{padding:18px}.encounter-dialog{padding:18px}.encounter-dialog .encounter-body{grid-template-columns:1fr}.encounter-dialog .enemy-preview{display:none}.encounter-dialog .difficulty-row{display:flex;gap:12px}.encounter-dialog .attack-button{width:auto;min-width:95px;min-height:46px}.encounter-dialog .encounter-top h2{font-size:29px}.encounter-dialog .encounter-top p{font-size:15px}.encounter-dialog .difficulty-name h3{font-size:22px}}
@media(max-width:380px){.training-dialog .training-row.ability-training{grid-template-columns:48px minmax(0,1fr);gap:4px 10px;padding:8px 6px}.training-dialog .ability-training .training-copy{display:contents}.training-dialog .ability-picture{grid-column:1;grid-row:1/4}.training-dialog .ability-kind,.training-dialog .ability-training h3,.training-dialog .ability-training .training-rank{grid-column:2;margin:0}.training-dialog .ability-progress,.training-dialog .ability-training .training-copy p,.training-dialog .ability-cost,.training-dialog .ability-training .training-actions{grid-column:1/-1}.training-dialog .ability-progress{margin:4px 0}.training-dialog .ability-training .training-copy p{margin:4px 0;font-size:16px;line-height:1.25}.training-dialog .ability-cost{margin-top:4px;gap:8px 12px}.training-dialog .ability-training .training-actions{margin-top:4px;gap:5px}.training-dialog .ability-source{font-size:0;line-height:0;margin-top:6px}.training-dialog .ability-source>span{font:600 13px/1.3 var(--serif);display:inline}}

/* Readability pass: keep scene artwork visible and make gameplay labels legible. */
.chamber .currency small{font-size:10px;letter-spacing:.35px;color:#f2ddb2;text-shadow:0 1px 3px #000,0 0 8px #000}
.chamber .room-title,.chamber .hero-caption,.chamber .city-place-marker{text-shadow:0 2px 5px #000,0 0 13px #000,0 0 25px #000c}
.chamber .hero-caption span,.chamber .hotspot-label small{font-size:10px;letter-spacing:.7px;color:#f1dfb8}
.chamber .gift-button .gift-state,.chamber .lower-nav .menu-button small{font-size:10px;color:#ffdf9e}
.quest-tracker{min-height:44px;text-shadow:0 2px 4px #050c0c,0 0 13px #050c0c,0 0 24px #050c0ccc}
.quest-tracker small{font-size:10px;letter-spacing:.5px;color:#ead3a1}.quest-tracker em{font-size:11px;line-height:1.3;color:#e0ddc9}
.character-sheet .character-experience>span,.character-sheet .character-experience small{font-size:11px;letter-spacing:0;color:var(--game-muted)}
.character-sheet .character-combat span,.character-sheet .skills-heading>span,.character-sheet .character-purse,.character-sheet .training-note,.character-sheet .wing-footer>small{font-size:11px;line-height:1.3;color:var(--game-muted)}
.character-sheet .character-experience{gap:5px 8px;margin-bottom:11px}
.character-sheet .character-combat{padding-block:11px}
.character-sheet .inventory-hint,.character-sheet .attribute-note{color:var(--game-muted)}
.forge-scene .forge-cabinet-heading>span{font-size:11px;letter-spacing:.7px;color:#f1dfbf}
.forge-scene .forge-item-state{font-size:11px;color:#f3e4c3}
.city-place-marker small{font-size:11px;color:#f7e3b8;text-shadow:0 2px 4px #000,0 0 10px #000}
/* Enlarge the clickable box without inflating the illustrated icons. */
.viewport-page-controls button{position:relative;min-width:44px;min-height:36px}.viewport-page-controls button::before{content:'';position:absolute;inset:-4px 0}
.inventory-pages button{min-width:44px;min-height:40px}
.inventory-category-tabs button,.character-mobile-tabs button{min-height:40px}
.character-section-link .parchment-button,.character-sheet .wing-footer .parchment-button{min-height:40px}
.chamber .utility,.campaign-sound{min-width:40px;min-height:40px;display:grid;place-items:center}
@media(max-width:600px){
 .chamber .currency small{font-size:9px;letter-spacing:0}
 .chamber .hero-caption span,.chamber .hotspot-label small{font-size:9px}
 .chamber .gift-button .gift-state,.chamber .lower-nav .menu-button small{font-size:9px}
 .chamber .resource-bar span{font-size:11px;line-height:14px}
 .chamber .resource-bar.energy span{font-size:10px;line-height:13px}
 .character-sheet .character-experience>span,.character-sheet .character-experience small{font-size:10px}
 .quest-tracker small{font-size:9px}
 .city-place-marker small{font-size:10px}
}
@media(max-width:420px){
 .chamber .top-hud{inset:10px 6px auto;gap:6px}
 .chamber .hero-hud{gap:6px}
 .chamber .avatar{width:34px;height:34px}
 .chamber .level-medal{width:19px;height:19px;font-size:12px}
 .chamber .hero-vitals{width:82px}
 .chamber .hero-vitals strong{font-size:16px;margin-bottom:2px}
 .chamber .wallet{gap:6px;padding-top:0}
 .chamber .currency{gap:3px}
 .chamber .coin{width:16px;height:16px;font-size:10px}
 .chamber .currency strong{font-size:14px;white-space:nowrap}
}
@media(max-width:380px) and (max-height:610px){.room-quest-tracker{display:none}}

/* Companions belong in the room. Their controls are part of the game HUD. */
.bounded-world .world-parchment{background:none;color:#f4e6c7;border:0;box-shadow:none;text-shadow:0 2px 5px #000}
.bounded-world .world-parchment h2,.bounded-world .world-parchment h3{color:#f8dfaa}
.bounded-world .world-parchment .ink-eyebrow,.bounded-world .world-parchment .fine-print,.bounded-world .world-parchment small,.bounded-world .ink-link{color:#dfcfaf}
.bounded-world .world-parchment p,.bounded-world .journey-choices button,.bounded-world .guild-register input{color:#f0e0c4}
.bounded-world .world-parchment input{background:#111b19ad;border-color:#ac92655e}
.bounded-world .world-button{background:linear-gradient(#253029dc,#141c18e8);color:#f4d9a2;border-color:#bd9d626e;box-shadow:inset 0 1px #d5b87524;text-shadow:none;font-size:17px}
.bounded-world .world-button:disabled{opacity:.64;color:#d0c8b9}
.bounded-world .fortress-ledger{background:none;color:#f4e6c7;border:0;box-shadow:none}
.bounded-world .world-parchment .viewport-page-controls select{background:#151d19;color:#f4e6c7;border-color:#9f845d}
.bounded-world .world-parchment .viewport-page-controls button{color:#efcf91}
.bounded-world .collection-row,.bounded-world .weapon-rule{border-color:#c6a56b40}
.bounded-world .world-pets .world-backdrop{background-image:linear-gradient(90deg,#0b141835,#0b141865 42%,#0b1418ce 100%),url('/assets/chamber.webp')}
.bounded-world .world-pets .world-heading{margin:10px auto 8px}
.bounded-world .world-pets .world-heading h1{font-size:clamp(26px,3.2vw,42px);margin:6px 0}
.bounded-world .world-pets .world-heading p{font-size:16px;line-height:1.25}
.companions-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.9fr);gap:clamp(16px,3vw,40px);flex:1;min-height:0;max-width:1040px;width:100%;margin:auto}
.companion-stage{position:relative;align-self:stretch;min-width:0;min-height:0;margin:12px 0 6px}
.companion-stage:after{content:'';position:absolute;inset:auto 5% 0;height:9%;background:#0008;filter:blur(10px);border-radius:50%;z-index:-1}
.companion-human{position:absolute;bottom:0;left:0;height:100%;width:auto;aspect-ratio:2/3}
.companion-human .hero-paperdoll{display:block;width:100%;height:100%}
.companion-animal{position:absolute;bottom:var(--animal-elevation,0%);right:2%;height:var(--animal-height);aspect-ratio:var(--animal-aspect);max-width:63%;filter:drop-shadow(0 4px 3px #0007)}
.companion-animal .pet-art{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:none!important;object-position:bottom}
.companion-training{min-width:0;min-height:0;align-self:center;padding:6px 0 8px;text-shadow:0 2px 5px #000}
.companion-status{font:9px var(--sans);letter-spacing:2px;color:#dab879}
.companion-training h2{font-size:clamp(26px,3.2vw,39px);font-weight:500;line-height:1.05;margin:8px 0 12px;color:#ffe5b0}
.companion-benefit{font:600 15px/1.5 var(--sans);color:#f0d298;margin:0 0 18px}
.companion-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;font:13px var(--sans);color:#e1d7c6}
.companion-progress b{font-weight:600;color:#fff1d4}.companion-progress span{font-size:12px;white-space:nowrap}
.companion-training meter{height:9px;margin:9px 0 16px}
.companion-training meter::-webkit-meter-bar{background:#111c1abc;border:1px solid #c7ad7233}
.companion-training-actions{padding:14px 0;border-block:1px solid #c2a36838}
.companion-training-actions h3{font:500 13px/1.4 var(--sans);color:#e9dcc4;margin:0 0 10px}
.companion-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.companion-payment-options .world-button{display:flex;flex-direction:column;gap:5px;min-width:0;padding:8px;min-height:60px}
.companion-payment-options span{font:11px var(--sans);color:#d5c7af}.companion-payment-options strong{font:600 19px var(--sans);white-space:nowrap;font-variant-numeric:tabular-nums}
.companion-hint{font:12px/1.5 var(--sans);color:#d4cab8;margin:12px 0}
.companion-training>.world-button{width:100%;min-height:38px;padding:8px 12px}
.bounded-world .world-pets .companion-choices{max-width:1040px;width:100%;margin:8px auto 0;gap:18px;flex:0 0 auto}
.bounded-world .world-pets .companion-choices button{flex:1;min-width:0;justify-content:center;padding:4px 8px 8px;gap:10px}
.bounded-world .world-pets .companion-choices .pet-art{width:43px;height:43px;object-fit:contain;background:none!important;aspect-ratio:auto}
.bounded-world .world-pets .companion-choices strong{font-size:18px;line-height:1.15}
/* A large canvas needs a composed scene, not figures stretched to its height.
   Keep both animals and people on one ground line at their natural aspect ratios. */
@media(min-width:1100px) and (min-height:720px){
 .bounded-world .world-pets #world-content{max-width:1480px;justify-content:center;gap:12px;padding:16px 64px 28px}
 .bounded-world .world-pets .world-heading{margin:0 auto 6px}
 .bounded-world .world-pets .world-heading p{font-size:18px}
 .bounded-world .world-pets .companions-layout{flex:none;max-width:1280px;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);align-items:center;gap:48px;margin:0 auto}
 .bounded-world .world-pets .companion-stage{margin:0;align-self:center;height:min(480px,calc(100dvh - 320px),calc((100vw - 128px)*.38))}
 .bounded-world .world-pets .companion-human{left:0}
 .bounded-world .world-pets .companion-animal{left:47%;right:auto;max-width:none}
 .bounded-world .world-pets .companion-benefit{font-size:18px}
 .bounded-world .world-pets .companion-progress{font-size:16px}
 .bounded-world .world-pets .companion-progress span{font-size:14px}
 .bounded-world .world-pets .companion-training-actions h3{font-size:15px}
 .bounded-world .world-pets .companion-payment-options span{font-size:13px}
 .bounded-world .world-pets .companion-payment-options strong{font-size:22px}
 .bounded-world .world-pets .companion-hint{font-size:14px;color:#eee3cf}
 .bounded-world .world-pets .companion-training>.world-button{font-size:19px;min-height:42px}
 .bounded-world .world-pets .companion-choices{max-width:1280px;margin:8px auto 0;gap:24px}
 .bounded-world .world-pets .companion-choices strong{font-size:20px}
 .bounded-world .world-pets .companion-choices button{padding:8px 12px 10px}
 .bounded-world .world-pets .companion-choices .pet-art{width:48px;height:48px}
}
@media(min-width:1100px) and (min-height:720px) and (max-height:820px){
 .bounded-world .world-pets #world-content{padding-block:8px 16px;gap:8px}
 .bounded-world .world-pets .world-heading h1{font-size:32px}
 .bounded-world .world-pets .world-heading p{display:none}
 .bounded-world .world-pets .companion-training h2{font-size:32px;margin:6px 0 8px}
 .bounded-world .world-pets .companion-benefit{font-size:16px;margin-bottom:12px}
 .bounded-world .world-pets .companion-training-actions{padding:10px 0}
 .bounded-world .world-pets .companion-hint{font-size:12px;margin:8px 0}
}
.chamber .pet-button.has-companion{top:auto!important;right:auto;padding:0;aspect-ratio:auto;background:none;border:0;filter:drop-shadow(0 4px 4px #0008)}
.chamber .pet-button.has-companion .pet-art{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:bottom;background:none!important;fill:none;stroke:none}
.chamber.large-companion:not(.city-view):not(.character-open):not(.forge-open):not(.market-open) .mobile-chest{display:grid;place-items:center;top:19%;bottom:auto;right:17%;width:48px;padding:0;z-index:5}
.chamber.large-companion .chest-hotspot .hotspot-label{visibility:hidden}
@media(max-height:650px){
 .companion-training h2{font-size:28px;margin-bottom:8px}.companion-benefit{margin-bottom:10px;font-size:13px}
 .companion-training meter{margin-bottom:10px}.companion-training-actions{padding:9px 0}.companion-training-actions h3{margin-bottom:7px}
 .companion-payment-options .world-button{min-height:52px;padding:6px}.companion-hint{margin:8px 0;font-size:11px}
}
@media(max-width:600px){
 .chamber.large-companion:not(.city-view):not(.character-open):not(.forge-open):not(.market-open) .mobile-chest{top:37%;right:12px}
 .bounded-world .world-pets #world-content{gap:4px;padding-inline:14px}
 .bounded-world .world-pets .world-heading{margin:5px auto}.bounded-world .world-pets .world-heading h1{font-size:27px}.bounded-world .world-pets .world-heading p{display:none}
 .companions-layout{grid-template-columns:1fr;grid-template-rows:minmax(80px,1fr) auto;gap:4px}
 .companion-stage{width:min(100%,320px);margin:0 auto;max-height:270px}
 .companion-human{left:14%;max-height:270px}.companion-animal{right:16%;max-width:43%}
 .companion-training{padding:4px 0}.companion-status{font-size:8px}.companion-training h2{font-size:25px;margin:5px 0}
 .companion-benefit{font-size:12px;margin-bottom:9px}.companion-progress{font-size:12px}.companion-training meter{margin:6px 0 9px}
 .companion-training-actions{padding:9px 0}.companion-training-actions h3{font-size:11px;margin-bottom:7px}
 .companion-payment-options .world-button{min-height:46px;gap:3px;padding:5px}.companion-payment-options strong{font-size:17px}.companion-payment-options span{font-size:10px}
 .companion-hint{font-size:10px;margin:6px 0;line-height:1.4}.companion-training>.world-button{font-size:16px;min-height:34px;padding:5px}
 .bounded-world .world-pets .companion-choices{gap:4px;margin-top:0}.bounded-world .world-pets .companion-choices button{flex-direction:column;gap:3px;padding:3px 1px 5px}
 .bounded-world .world-pets .companion-choices strong{font-size:14px}.bounded-world .world-pets .companion-choices .pet-art{width:32px;height:32px}
}
@media(max-width:360px) and (max-height:640px){
 .companions-layout{grid-template-rows:minmax(55px,1fr) auto}.companion-training h2{font-size:23px;margin:3px 0}.companion-status{display:none}
 .companion-benefit{margin-bottom:6px}.companion-hint{font-size:9px;margin:5px 0}.companion-training-actions{padding:6px 0}
 .bounded-world .world-pets .companion-choices strong{font-size:12px}.bounded-world .world-pets .companion-choices .pet-art{width:26px;height:26px}
}

/* Each trophy has its own crafted object, shown against the room itself. */
.trophy-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:none;pointer-events:none;user-select:none}
.bounded-world .trophy-emblem{width:100%;height:90px}.bounded-world .trophy-emblem .trophy-art{max-width:80px;max-height:90px;filter:drop-shadow(0 3px 5px #0009)}
.bounded-world.world-trophies .world-backdrop{background-image:linear-gradient(90deg,#11171840,#11171896 50%,#111718d1),url('/assets/chamber.webp')}
.bounded-world.world-trophies .world-heading{margin:9px auto 8px}.bounded-world.world-trophies .world-heading h1{font-size:clamp(28px,3.8vw,44px)}
.bounded-world.world-trophies .world-heading p{font-size:16px}
.trophy-gallery{flex:1;min-height:0;width:100%;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(16px,4vw,50px);max-width:1050px;margin:auto}
.trophy-showcase{min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;position:relative;padding:0 10px 5px}
.trophy-display{position:relative;flex:1;min-height:0;min-width:0;width:100%;max-width:360px;filter:drop-shadow(0 9px 12px #000a)}
.trophy-display:before{content:'';position:absolute;inset:15% 6%;background:radial-gradient(ellipse,#dfb45a15,transparent 70%);z-index:-1}
.trophy-display .trophy-art{padding:6px;object-position:center}
.trophy-caption{flex:none;text-align:center;text-shadow:0 2px 5px #000;margin:7px 0 12px;max-width:100%}
.trophy-state{font:9px var(--sans);letter-spacing:1.8px;color:#dbc28a}
.trophy-caption h2{font:500 clamp(24px,2.7vw,34px)/1.08 var(--serif);color:#ffe3aa;margin:5px 0 7px}
.trophy-caption p{font:12px/1.4 var(--sans);color:#d4cbb9;margin:0}
.trophy-showcase>.world-button{flex:none;width:min(100%,300px);min-height:40px;font-size:17px}
.trophy-collection{min-height:0;min-width:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));align-self:stretch}
.trophy-choice{min-width:0;min-height:0;display:grid;grid-template-columns:76px minmax(0,1fr) 18px;align-items:center;gap:12px;text-align:left;position:relative;background:none;border:0;border-bottom:1px solid #c8ac7140;color:#eee4cf;padding:5px 8px 5px 0;transition:background .18s ease}
.trophy-choice:last-child{border-bottom:0}.trophy-choice[aria-pressed=true]{background:linear-gradient(90deg,#a7894a20,transparent);box-shadow:inset 2px 0 #cfac62}
.trophy-choice:hover{background:linear-gradient(90deg,#a7894a30,transparent)}
.trophy-thumbnail{display:block;height:100%;max-height:83px;min-height:0;padding:4px;filter:drop-shadow(0 3px 5px #0009)}
.trophy-choice-copy{min-width:0;text-shadow:0 2px 4px #000}.trophy-choice-copy strong{display:block;font:500 clamp(18px,2.3vw,25px)/1.1 var(--serif);color:#f7ddac}
.trophy-choice-copy small{display:block;font:11px/1.35 var(--sans);color:#cfc4ae;margin-top:5px}.trophy-choice-mark{font:16px var(--serif);color:#dcbb73}
.trophy-choice.locked .trophy-art{filter:saturate(.6) brightness(.78)}.trophy-choice.locked .trophy-choice-mark{color:#c0b9a8}
.trophy-titles{flex:none;display:flex;align-items:center;justify-content:center;gap:14px;border-top:1px solid #c6a56b30;max-width:1050px;width:100%;margin:10px auto 0;padding:10px 0 0}
.trophy-titles>span{font:500 16px var(--serif);color:#e8cca0}.trophy-titles p{font:11px/1.4 var(--sans);color:#c9c1b0;margin:0}
.trophy-titles select{min-width:0;max-width:65%;font:12px var(--sans);color:#efdfbf;background:#18201b;border:1px solid #b49a6266;padding:6px}
.chamber .room-trophy{background:none;width:92px;height:112px;border:0;padding:0;filter:drop-shadow(0 4px 5px #0009)}
.chamber .room-trophy .trophy-art{width:100%;height:100%;padding:0}
.chamber .room-trophy[data-trophy-id=delver],.chamber .room-trophy[data-trophy-id=collector]{width:86px;height:92px}
@media(max-width:800px){
 .trophy-gallery{gap:12px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .trophy-choice{grid-template-columns:58px minmax(0,1fr) 14px;gap:8px}.trophy-choice-copy strong{font-size:20px}.trophy-choice-copy small{font-size:10px}
 .trophy-caption h2{font-size:25px}.trophy-caption p{font-size:11px}.trophy-showcase{padding-inline:0}
}
@media(max-width:600px){
 .bounded-world.world-trophies #world-content{padding:0 12px 10px}
 .bounded-world.world-trophies .world-heading{margin:5px 0}.bounded-world.world-trophies .world-heading h1{font-size:29px}.bounded-world.world-trophies .world-heading p{display:none}
 .trophy-gallery{grid-template-columns:1fr;grid-template-rows:minmax(150px,1fr) minmax(230px,1.1fr);gap:5px}
 .trophy-showcase{display:grid;grid-template-columns:43% minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:4px 10px;padding:0}
 .trophy-display{height:100%;grid-row:1/3;min-height:0;max-height:240px}.trophy-display .trophy-art{padding:2px}
 .trophy-caption{align-self:center;margin:4px 0;text-align:left}.trophy-state{font-size:8px;letter-spacing:1px}.trophy-caption h2{font-size:25px;line-height:1.05}.trophy-caption p{font-size:10px;line-height:1.4}
 .trophy-showcase>.world-button{width:100%;font-size:15px;min-height:36px;padding:6px}
 .trophy-choice{grid-template-columns:51px minmax(0,1fr) 15px;padding:2px 5px 2px 0;gap:8px}.trophy-thumbnail{max-height:58px;padding:1px}.trophy-choice-copy strong{font-size:19px}.trophy-choice-copy small{font-size:9px;margin-top:2px}
 .trophy-titles{gap:6px;flex-wrap:wrap;margin-top:5px;padding-top:5px}.trophy-titles>span{font-size:14px}.trophy-titles p{font-size:10px;text-align:center}
 .chamber .room-trophy{width:65px;height:82px}.chamber .room-trophy[data-trophy-id=delver],.chamber .room-trophy[data-trophy-id=collector]{width:65px;height:70px}
}
@media(max-width:360px) and (max-height:640px){
 .bounded-world.world-trophies .world-heading h1{font-size:25px}.bounded-world.world-trophies .world-heading>span{display:none}
 .trophy-gallery{grid-template-rows:minmax(110px,.8fr) minmax(200px,1.2fr);gap:3px}.trophy-caption h2{font-size:21px}.trophy-state{font-size:7px}.trophy-caption p{font-size:9px}
 .trophy-choice{grid-template-columns:40px minmax(0,1fr) 12px;gap:6px}.trophy-choice-copy strong{font-size:17px}.trophy-choice-copy small{font-size:8px}
 .trophy-showcase>.world-button{font-size:13px;min-height:33px}.trophy-titles>span{font-size:12px}.trophy-titles p{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.trophy-choice{transition:none}}

/* Leaving fullscreen restores the compact layout without clipping its controls. */
@media(max-height:500px) and (max-width:800px){
 .training-dialog .ability-training{padding-block:9px}
 .training-dialog .ability-training h3{font-size:26px}
 .training-dialog .ability-training .training-copy p{font-size:15px;min-height:0}
 .bounded-arena .arena-header{height:84px;min-height:84px;padding-block:5px}
 .bounded-arena .lobby{inset:90px 0 0}
 .bounded-arena .lobby-layout>.folio-tabs{margin-bottom:5px}
 .bounded-arena .lobby-layout>.folio-tabs button{min-height:30px;padding-block:4px;font-size:16px}
 .bounded-arena .lobby-layout>.folio-panel{padding-block:6px}
 .bounded-arena .duel-banner .viewport-page-header{margin-bottom:3px}
 .bounded-arena .duel-banner .opponent-crest{width:38px;margin-bottom:3px}
 .bounded-arena .duel-banner .portrait.opponent{width:38px;height:38px}
 .bounded-arena .duel-banner #opponent-name{font-size:22px;margin:3px 0}
 .bounded-hub .hub-heading{margin:5px 0}
 .bounded-hub .hub-heading h1{font-size:26px;margin:3px 0}
 .bounded-hub .hub-heading p{font-size:12px;margin:3px 0}
 .bounded-hub .bag-tabs{margin-bottom:4px;padding-bottom:3px}
 .bounded-hub .bag-tabs button{min-height:32px;padding-block:4px;font-size:16px}
 .bounded-hub .bag-pagination{padding-top:3px;min-height:36px}
 .bounded-hub .bag-pagination select{min-height:30px}
 .bounded-hub .empty-ledger{padding:7px 0}
 .bounded-world .world-pets .world-heading{margin:3px 0}
 .bounded-world .world-pets .world-heading h1{font-size:26px;margin:2px 0}
 .bounded-world .world-pets .world-heading>span,.bounded-world .world-pets .world-heading p{display:none}
 .bounded-world .world-pets .companion-training{padding:0;align-self:center}
 .bounded-world .world-pets .companion-status{display:none}
 .bounded-world .world-pets .companion-training h2{font-size:24px;margin:3px 0 6px}
 .bounded-world .world-pets .companion-benefit{font-size:11px;margin-bottom:6px}
 .bounded-world .world-pets .companion-progress{font-size:11px}
 .bounded-world .world-pets .companion-training meter{height:7px;margin:4px 0}
 .bounded-world .world-pets .companion-training-actions{padding:6px 0}
 .bounded-world .world-pets .companion-training-actions h3{font-size:11px;margin-bottom:4px}
 .bounded-world .world-pets .companion-payment-options .world-button{min-height:38px;padding:4px}
 .bounded-world .world-pets .companion-payment-options strong{font-size:17px}
 .bounded-world .world-pets .companion-payment-options span{font-size:10px}
 .bounded-world .world-pets .companion-hint{font-size:10px;margin:5px 0;line-height:1.25}
 .bounded-world .world-pets .companion-training>.world-button{min-height:32px;font-size:16px;padding:5px}
 .bounded-world .world-pets .companion-choices{margin-top:4px;gap:5px}
 .bounded-world .world-pets .companion-choices button{min-height:32px;flex-direction:row;padding:2px;gap:5px}
 .bounded-world .world-pets .companion-choices .pet-art{width:26px;height:26px}
 .bounded-world .world-pets .companion-choices strong{font-size:13px}
}
@media(max-height:500px) and (min-width:601px) and (max-width:800px){
 .bounded-hub .bag-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bounded-hub .bag-filters label:has([name=query]){grid-column:auto}
}
/* The allies list has more controls than a short viewport can hold. Scroll the
   complete list page, keeping each painted frame and its action rows intact. */
@media(max-height:540px){
 body.bounded-hub[data-hub="social"]:not(.friendly-fight):not(.visiting-room) #hub-content{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 body.bounded-hub[data-hub="social"]:not(.friendly-fight):not(.visiting-room) .player-ledger-frame{height:auto;min-height:0;flex:none;overflow:visible}
 body.bounded-hub[data-hub="social"]:not(.friendly-fight):not(.visiting-room) .player-ledger-frame>.player-ledger{height:auto;min-height:0;max-height:none;flex:none;overflow:visible}
}
@media(max-height:540px) and (orientation:landscape){
 body.bounded-hub[data-hub="social"].friendly-fight .hub-nav,body.bounded-hub[data-hub="social"].friendly-fight .hub-heading{display:none}
 body.bounded-hub[data-hub="social"].friendly-fight #hub-content{padding:4px 12px 6px}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-result:empty{display:none}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-fighter h2{font-size:16px;line-height:19px;margin:0 0 4px}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-health{height:20px}
 body.bounded-hub[data-hub="social"].friendly-fight .combat-buffs{min-height:24px;margin:0;padding:0}
 body.bounded-hub[data-hub="social"].friendly-fight .combat-buffs>button{min-height:24px;height:24px;width:28px;flex-basis:28px;padding:2px}
 body.bounded-hub[data-hub="social"].friendly-fight .combat-buffs>button :is(.painted-icon,.pet-art){width:20px;height:20px}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-result{min-height:0;padding:2px 0 0}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-result h2{font-size:18px;line-height:20px;margin:0}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-result p{font-size:11px;line-height:13px;margin:0 0 3px}
 body.bounded-hub[data-hub="social"].friendly-fight .friendly-result button{min-height:34px;padding:4px 10px;font-size:15px}
}
@media(max-height:540px) and (orientation:landscape){
 body.bounded-yard{display:flex;flex-direction:column}
 body.bounded-yard #yard{width:100%;height:auto;flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
 body.bounded-yard #yard:not(:has([data-stop]:not([hidden])))>*{flex:none}
 body.bounded-yard #yard:not(:has([data-stop]:not([hidden]))) .yard-stage{height:220px;min-height:220px}
 body.bounded-yard #yard:not(:has([data-stop]:not([hidden]))) .yard-event:not(:empty){order:-1;min-height:0;margin:2px 0 6px;font-size:16px}
 body.bounded-yard .action-feedback{position:relative;inset:auto;transform:none;flex:none;align-self:center;width:100%;max-width:none;margin:0;padding:7px 42px 7px 12px;min-height:36px;box-shadow:none;font-size:11px;line-height:20px}
 body.bounded-yard .action-feedback .action-feedback-close{min-height:30px;height:30px;width:32px;padding:0}
 body.bounded-yard:has(#yard [data-stop]:not([hidden])) :is(.chat-launcher,.context-coach-help){bottom:48px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])){display:flex;overflow:hidden;padding:4px 12px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) :is(.yard-heading,.loadout-strip,.training-note,[data-start]){display:none}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-nav{min-height:26px;font-size:14px;flex:none}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .training-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding-top:2px;flex:none}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .training-controls label{display:block;min-width:0;font-size:0}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .training-controls select{min-height:32px;font-size:13px;padding:4px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) [data-stop]{min-height:32px;padding:4px 8px;font-size:13px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-stage{min-height:0;flex:1;padding:0}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-fighter{justify-content:flex-start}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-fighter>strong{order:0;flex:none;font-size:16px;line-height:18px;margin:0}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-health{order:1;flex:none;height:18px;min-height:18px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .combat-buffs{order:2;min-height:22px;height:22px;padding:0;margin:0}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .combat-buffs>button{min-height:22px;height:22px;width:24px;flex-basis:24px;padding:1px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .combat-buffs .painted-icon{width:20px;height:20px}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .training-body{order:3}
 body.bounded-yard #yard:has([data-stop]:not([hidden])) .yard-event{flex:none;min-height:20px;font-size:14px;line-height:18px;margin:2px 0 0}
}
body.bounded-yard .yard-stage .combat-buffs{pointer-events:auto}

/* On compact canvases, scroll the complete inventory/settings panel so its
   controls cannot squeeze painted items or a form into a thin inner strip. */
@media(max-height:640px){
 body.bounded-hub:is([data-hub="bag"],[data-hub="settings"]) #hub-content{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:8px}
 body.bounded-hub[data-hub="bag"] :is(.bag-layout,.bag-main){height:auto;min-height:0;flex:none}
 body.bounded-hub[data-hub="bag"] .bag-layout{display:block}
 body.bounded-hub[data-hub="bag"] #hub-content .bag-grid{height:auto;min-height:0;flex:none;overflow:visible;align-content:start}
 body.bounded-hub[data-hub="settings"] .settings-layout,body.bounded-hub[data-hub="settings"] .settings-layout>.folio-panel{height:auto;min-height:0;max-height:none;flex:none;overflow:visible}
}
@media(max-height:640px){
 body .character-sheet .inventory-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:6px}
 body .character-sheet:not([data-inspecting=true]) .inventory-content{display:block}
 body .character-sheet .inventory-group{height:auto;min-height:0;flex:none;overflow:visible}
 body .character-sheet .inventory-wing .selected-item{min-height:0;max-height:none;flex:1;overflow-y:auto}
}
