/* One world, two touch compositions. Desktop rules remain untouched. */
.scene-world{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0}
.mobile-hud,.mobile-nav,.mobile-camera,.mobile-duel,.mobile-home-nav,.mobile-catalog-toggle{display:none}
.mobile-ui{--mobile-top:112px;--mobile-bottom:calc(62px + env(safe-area-inset-bottom));--mobile-panel:64%;--mobile-side:min(410px,47vw);min-width:0;width:100%;height:100dvh;height:var(--visual-height,100dvh);overflow:hidden;font-size:16px;overscroll-behavior:none}
.mobile-ui>.hud,.mobile-ui .scene-rail{display:none}
.mobile-ui main{position:fixed;inset:var(--mobile-top) 0 var(--mobile-bottom);height:auto;min-height:0}
.mobile-ui main:before{display:none}
.mobile-ui .stage-wrap{display:block;width:100%;height:100%;padding:6px max(6px,env(safe-area-inset-right)) 6px max(6px,env(safe-area-inset-left))}
.mobile-ui .tv-cabinet{width:100%;height:100%;padding:6px;--ng-edge:12px;box-shadow:none;outline:0}
.mobile-ui .tv-cabinet:before,.mobile-ui .tv-cabinet:after,.mobile-ui .tv-console{display:none}
.mobile-ui .tv-cabinet>.stage{width:100%;height:100%;max-height:none;max-width:none;aspect-ratio:auto;isolation:initial;box-shadow:0 0 0 2px #926839;touch-action:none;overflow:hidden}
.mobile-ui .scene-world{width:960px;height:540px;inset:0 auto auto 0;will-change:transform}
.mobile-ui .npc-source-layer{image-rendering:pixelated!important}
.mobile-ui .mobile-hud{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:44px 40px;gap:5px 7px;position:fixed;z-index:100;inset:0 0 auto;padding:calc(7px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));color:#f5dfaf;--ng-edge:12px}
.mobile-hud>button{min-width:44px;min-height:44px;padding:5px;font-size:24px;background:none;border:0;border-radius:0}
.mobile-identity{min-width:0;align-self:center;line-height:1.2}
.mobile-identity b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:21px/23px var(--ng-title)}
.mobile-identity small{display:block;color:#cdbd97;font:12px/16px var(--ng-body);white-space:nowrap}
.mobile-disconnected .mobile-identity small{color:#efb382;white-space:normal;font-size:11px;line-height:12px}
.mobile-stats{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:5px;min-width:0}
.mobile-stats>div{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:8px 7px;--ng-edge:10px}
.mobile-stats .ng-art{width:21px;height:22px;flex:none}.mobile-stats b{font:500 16px/20px var(--ng-body);min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.mobile-hud [data-mobile-music]{grid-column:3;grid-row:1}.mobile-hud [data-mobile-music][aria-pressed=false]{color:#aca58d}
.mobile-ui.is-joining:not(.is-home) .mobile-hud{grid-template-rows:44px}.mobile-ui.is-joining:not(.is-home) .mobile-stats{display:none}
.mobile-ui .mobile-nav{position:fixed;z-index:100;inset:auto 0 0;height:var(--mobile-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));--ng-edge:12px}
.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;min-width:0;padding:2px;background:transparent;border:0;border-radius:0;color:#e6d5ad;font:13px/16px var(--ng-body)}
.mobile-nav .ng-art{width:23px;height:24px}.mobile-nav [aria-pressed=true]{background:#bb954b20;box-shadow:inset 0 -2px #c8a264;color:#ffe8b7}.mobile-nav button:focus-visible{outline-offset:-2px}
.mobile-ui .mobile-camera{display:flex;position:absolute;top:10px;right:10px;z-index:100;gap:5px;pointer-events:auto}
.mobile-camera button{min-width:44px;min-height:44px;padding:8px 11px;font:16px/20px var(--ng-body);border:0;background:#192923;--ng-edge:9px;border-radius:0}
.mobile-camera [aria-pressed=true]{color:#a5e9df}.mobile-ui.mobile-landscape .stage.panel-open .mobile-camera{right:calc(var(--mobile-side) + 24px)}
.mobile-ui .mobile-duel{display:block;position:fixed;z-index:110;top:calc(var(--mobile-top) + 68px);left:14px;padding:12px;min-height:44px;font:15px/18px var(--ng-body);--ng-edge:10px}
.mobile-ui .mobile-nav[hidden],.mobile-ui .mobile-camera[hidden],.mobile-ui .mobile-duel[hidden]{display:none}
/* Scene sheets: scroll content inside a stable shell, never rebuild on rotate. */
.mobile-ui #panel{position:absolute;z-index:200;inset:auto 0 0;width:100%;max-width:none;height:var(--mobile-panel);min-height:0;max-height:100%;padding:8px;box-shadow:0 -5px 24px #0008;--ng-edge:14px}
.mobile-ui #panel[hidden]{display:none}
.mobile-ui #panel[data-kind=personal],.mobile-ui #panel[data-view=market],.mobile-ui #panel[data-view=king],.mobile-ui #panel[data-view=wheel]{height:calc(100% - 8px)}
.mobile-ui #panel .panel-head{height:54px;min-height:54px;padding:5px 10px;gap:6px}
.mobile-ui #panel .panel-title{gap:7px;min-width:0}.mobile-ui #panel h2{font-size:27px;overflow-wrap:anywhere}.mobile-ui #panel .panel-title-icon .ng-art{width:25px;max-height:28px}
.mobile-ui #panel .close{width:44px;height:44px;min-height:44px;flex:none}
.mobile-ui #panel .panel-body{display:block;flex:1;min-height:0;padding:12px 10px;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:auto;scroll-padding:10px}
.mobile-ui #panel button,.mobile-ui #panel summary{min-height:44px;font-size:15px;line-height:19px}
.mobile-ui #panel p{font-size:15px;line-height:1.4}.mobile-ui #panel small,.mobile-ui #panel .subtle{font-size:12px;line-height:1.35}
.mobile-ui #panel h3{font-size:24px;line-height:1.15}.mobile-ui #panel h4{font-size:19px;line-height:1.2}
.mobile-ui #panel .npc-intro{gap:10px;padding:0 0 10px;margin-bottom:10px}.mobile-ui .npc-portrait{width:58px;height:58px;flex:none}.mobile-ui #panel .npc-speech h3{font-size:25px;margin:0 0 4px}.mobile-ui #panel .npc-speech p{font-size:14px;margin:0}
.mobile-ui #panel .npc-speech h3{display:none}.mobile-ui .npc-portrait{width:48px;height:48px}.mobile-ui #panel .npc-work-tabs{margin-bottom:8px}.mobile-ui #panel .actions-row{margin-block:10px}
.mobile-ui #panel .tabs,.mobile-ui #panel .market-filters{gap:4px;flex-wrap:wrap}.mobile-ui #panel .tabs button,.mobile-ui #panel .market-filters button{padding:9px 6px;min-width:54px}
.mobile-ui #panel .market-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}.mobile-ui #panel .market-filters button{min-width:0}
.mobile-ui #panel .actions-row{gap:7px;flex-wrap:wrap}.mobile-ui #panel .actions-row button{padding:10px;min-width:90px}.mobile-ui #panel .actions-row button small{font-size:12px}
.mobile-ui #panel input:not([type=checkbox]):not([type=range]),.mobile-ui input[type=text],.mobile-ui input[type=number],.mobile-ui .join-card input{font-size:16px;min-height:44px}
.mobile-ui #panel .gather-hero{padding:10px}.mobile-ui .gather-cost{white-space:normal;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}
.mobile-ui #panel .chance{font-size:15px;padding:8px 2px}.mobile-ui #panel .chance b{font-size:17px}
.mobile-ui #panel .recipe{padding:13px 12px}.mobile-ui .recipe-output{grid-template-columns:48px minmax(0,1fr);gap:9px}.mobile-ui .recipe-output-icon{width:48px;height:48px}.mobile-ui .recipe-output .ng-art{max-width:40px;max-height:40px}
.mobile-ui #panel .recipe-output h4{font-size:22px;white-space:normal}.mobile-ui .recipe-description{font-size:14px;line-height:19px}.mobile-ui .ingredient-row{gap:6px;grid-template-columns:23px minmax(0,1fr) auto 14px}.mobile-ui .ingredient-name{font-size:14px;white-space:normal}.mobile-ui .ingredient-count{font-size:14px;white-space:nowrap}.mobile-ui .recipe-cost{flex-wrap:wrap;font-size:13px}.mobile-ui .recipe-cost .cost-art{width:22px}
.mobile-ui .recipe-sources .source-row{display:block}.mobile-ui .recipe-sources .source-row>span{display:flex;flex-wrap:wrap}
.mobile-ui #panel .item-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:13px;margin-top:12px}.mobile-ui .detail-icon{width:48px;height:48px}.mobile-ui .detail-icon .ng-art{width:36px;height:36px}.mobile-ui #panel .detail-copy h3{font-size:24px}.mobile-ui .detail-kicker{flex-wrap:wrap;font-size:12px;gap:4px}.mobile-ui .detail-stats{font-size:14px}.mobile-ui .detail-actions{grid-column:1/-1;display:flex;flex-wrap:wrap}.mobile-ui .detail-note{grid-column:1/-1}
.mobile-ui .inventory-grid,.mobile-ui .market-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:none;overflow:visible;gap:7px;padding:5px}.mobile-ui .inventory-slot,.mobile-ui .market-slot{height:62px;min-height:62px;padding:10px}.mobile-ui .inventory-slot .inventory-item-art,.mobile-ui .market-slot .market-slot-art{width:38px;height:38px;max-width:100%}.mobile-ui .slot-quantity{font-size:12px}.mobile-ui .inventory-tabs{display:flex}.mobile-ui .tab-count{display:none}.mobile-ui .bag-overview{gap:8px}.mobile-ui .bag-overview strong{font-size:20px}.mobile-ui .bag-tray{padding:7px}.mobile-ui .inventory-capacity{font-size:12px}
.mobile-ui #panel[data-view=equipment] .panel-body{display:block}.mobile-ui .equipment-stats{gap:8px;margin-bottom:12px}.mobile-ui .stat-card{padding:9px}.mobile-ui .stat-card strong{font-size:26px}
.mobile-ui .equipment-stage{height:330px;min-height:330px;margin:0 0 12px}.mobile-ui .equipment-hero{top:40px;width:192px;height:224px}.mobile-ui .equipment-hero-label{top:-23px;font-size:12px}
.mobile-ui #panel .equipment-slot{width:58px;height:56px;min-height:56px;padding:6px 5px 17px}.mobile-ui .equipment-slot .equipment-item-art{width:29px;max-height:29px}.mobile-ui #panel .equipment-slot .slot-label{font-size:11px;bottom:6px}
.mobile-ui .equipment-slot.slot-head,.mobile-ui .equipment-slot.slot-body{top:27px}.mobile-ui .equipment-slot.slot-weapon,.mobile-ui .equipment-slot.slot-offhand{top:91px}.mobile-ui .equipment-slot.slot-hands,.mobile-ui .equipment-slot.slot-cloak{top:155px}.mobile-ui .equipment-slot.slot-belt,.mobile-ui .equipment-slot.slot-feet{top:219px}
.mobile-ui .equipment-slot.slot-head,.mobile-ui .equipment-slot.slot-weapon,.mobile-ui .equipment-slot.slot-hands,.mobile-ui .equipment-slot.slot-belt{left:0}.mobile-ui .equipment-slot.slot-body,.mobile-ui .equipment-slot.slot-offhand,.mobile-ui .equipment-slot.slot-cloak,.mobile-ui .equipment-slot.slot-feet{right:0}.mobile-ui #panel .equipment-slot.slot-backpack{bottom:1px;width:86px;height:44px;min-height:44px}
.mobile-ui .equipment-candidate{grid-template-columns:38px minmax(0,1fr);gap:8px}.mobile-ui .equipment-candidate button{grid-column:1/-1;width:100%}.mobile-ui .equipment-candidate .candidate-icon{width:38px;height:38px}
.mobile-ui .market-caption{flex-wrap:wrap;gap:6px;font-size:13px}.mobile-ui .market-item-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.mobile-ui #panel .market-item{height:48px;min-width:44px;min-height:48px;padding:8px}.mobile-ui .market-item .market-picker-art{width:30px;height:30px}.mobile-ui .market-item-selection{font-size:13px;align-items:flex-start}.mobile-ui .market-picker-heading{flex-wrap:wrap;gap:4px}.mobile-ui .order-product{gap:9px}.mobile-ui .order-icon{width:46px;height:46px}.mobile-ui .order-icon .ng-art{width:35px;height:35px}.mobile-ui .order-bottom{gap:10px;flex-wrap:wrap}.mobile-ui .order-properties{font-size:14px}.mobile-ui .order-copy{min-width:0;overflow-wrap:anywhere}.mobile-ui .sale-preview-numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-ui .sale-preview strong{font-size:24px}
.mobile-ui .sale-npc-reference{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:8px 10px}
.mobile-ui .sale-preview-numbers .sale-npc-reference small{margin:0;font-size:12px}
.mobile-ui .sale-preview-numbers .sale-npc-reference strong{font-size:19px}
.mobile-ui .sale-preview-numbers .sale-npc-reference .sale-npc-unavailable{font-size:14px;max-width:none}
.mobile-ui .sale-npc-shop{margin:0 0 0 auto;font-size:12px}
.mobile-ui .npc-trade-layout{grid-template-columns:1fr}.mobile-ui .npc-resource-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.mobile-ui .npc-quote{min-width:0}.mobile-ui .npc-quantity{flex-wrap:wrap}
.mobile-ui .mobile-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-ui .mobile-places button{display:flex;align-items:center;gap:8px;padding:12px 9px;text-align:left;border:0;border-radius:0;min-height:64px!important}.mobile-places .ng-art{width:25px;height:26px;flex:none}.mobile-places button>span:not(.ng-art):not(.ng-skin){min-width:0;overflow-wrap:anywhere}.mobile-places button>span:last-child{margin-left:auto}.mobile-places small{display:block;color:#d8c59b}
.mobile-more{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-more button{display:flex;align-items:center;text-align:left;gap:9px;padding:13px 10px}.mobile-more .ng-art{width:26px;height:27px;flex:none}.mobile-run{padding:15px;margin-top:16px}.mobile-ui #panel .mobile-run h3{color:#54391e}.mobile-run>.rail-section-heading{display:none}.mobile-tv{margin-top:20px}.mobile-tv input{min-height:44px;width:100%}
.mobile-ui .panel .royal-note{display:none}
.mobile-ui .mobile-catalog-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;padding:10px;margin-bottom:8px}.mobile-ui .mobile-catalog-toggle span{font-size:12px;color:#c6c2a5}.mobile-ui .market-item-picker .market-picker-heading{display:none}.mobile-ui .market-item-picker[data-collapsed=true] .market-item-grid{display:none}
.mobile-ui #panel .market-item-description,.mobile-ui #panel .market-item-uses{font-size:14px}.mobile-ui .market-detail-stats dt,.mobile-ui #panel .market-item-note{font-size:12px}
/* Home remains one scroll surface. No desktop wings layered over the game. */
.mobile-ui .join-shade{position:fixed;z-index:300;inset:var(--mobile-top) 0 auto;height:calc(var(--visual-height,100dvh) - var(--mobile-top));max-height:none;padding:10px max(10px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:auto;display:block;overscroll-behavior:contain;background:#12211e;backdrop-filter:none;touch-action:pan-y}
.mobile-ui .join-shade[hidden]{display:none}.mobile-ui .welcome-layout{width:100%;max-width:720px;height:auto;max-height:none;min-height:0;margin:0 auto;display:flex;flex-direction:column;gap:14px;overflow:visible}
.mobile-ui .welcome-layout .join-card{order:0;display:flex;flex:none;flex-direction:column;width:100%;height:auto;max-height:none;min-height:0;overflow:visible;padding:10px;grid-template-columns:none}
.mobile-ui .welcome-wing{display:block!important;position:relative;width:100%;max-width:none;height:auto;max-height:none;min-height:0;overflow:visible;padding:20px;flex:none}.mobile-ui .roadmap-board{order:2}.mobile-ui .casting-board{order:1}
.mobile-ui .welcome-story{padding:16px 12px 20px;border:0;border-bottom:1px solid #8b74454d}.mobile-ui .welcome-registration,.mobile-ui .welcome-return{padding:22px 12px;overflow:visible;height:auto;min-height:0}
.mobile-ui .welcome-registration[hidden],.mobile-ui .welcome-return[hidden]{display:none}.mobile-ui .welcome-village{height:150px;margin-bottom:18px}.mobile-ui .welcome-topline{flex-wrap:wrap;gap:8px}.mobile-ui .join-card h1{font-size:35px}.mobile-ui .join-card p{font-size:15px;line-height:1.4}.mobile-ui .welcome-lead br,.mobile-ui .welcome-fine br{display:none}
.mobile-ui .mobile-home-nav{display:flex;order:-1;gap:7px;width:100%;flex:none}.mobile-home-nav button{flex:1;min-width:0;min-height:44px;padding:8px;font-size:14px;border-radius:0}.mobile-ui .join-card,.mobile-ui .welcome-wing{scroll-margin-top:10px}
.mobile-ui .show-facts span{font-size:12px}.mobile-ui .welcome-loop{font-size:14px;flex-wrap:wrap;gap:5px}.mobile-ui .welcome-loop .ng-art{width:22px}.mobile-ui .join-card .welcome-fine{font-size:13px;line-height:1.4}
.mobile-ui .welcome-links{gap:8px}.mobile-ui .join-card .welcome-guide{width:100%;min-width:0;min-height:48px;font-size:17px;padding:12px;margin-top:10px}.mobile-ui .profession-selects{display:block}.mobile-ui .join-card label{font-size:15px;line-height:20px;margin-bottom:16px}.mobile-ui .join-card .guild-select{min-height:64px;padding:12px}.mobile-ui .join-card .join-note{font-size:14px;line-height:1.4;padding:10px}.mobile-ui .join-card .profession-lock{font-size:13px;line-height:1.4}.mobile-ui .join-card .gold{min-height:48px;font-size:17px}.mobile-ui .local-disclaimer{font-size:12px;margin-top:14px}
.mobile-ui .guild-select-popup{z-index:400;max-width:calc(100vw - 24px);--ng-edge:14px}.mobile-ui .guild-select-popup .choice-list{max-height:inherit;overflow:auto;overscroll-behavior:contain}.mobile-ui .guild-select-popup [role=option]{min-height:60px;padding:12px;touch-action:pan-y}.mobile-ui .choice-copy b{font-size:16px!important;line-height:20px!important;white-space:normal}.mobile-ui .choice-copy small{font-size:13px!important;line-height:17px!important}
.mobile-ui .home-record,.mobile-ui .record-content{height:auto;max-height:none;overflow:visible;flex:none}.mobile-ui .welcome-return .return-profession b{font-size:15px;line-height:19px}.mobile-ui .welcome-return .return-profession{padding:12px 8px}.mobile-ui .record-tabs{gap:5px}.mobile-ui .join-card .record-tabs button{min-height:44px;font-size:14px}.mobile-ui .return-participant{flex-wrap:wrap}.mobile-ui .record-content{padding:16px 0}.mobile-ui .record-score>span{font-size:15px}.mobile-ui .record-score small,.mobile-ui .record-battles span,.mobile-ui .record-keepsake small{font-size:12px}.mobile-ui .record-keepsake b{font-size:14px}.mobile-ui .return-round{margin-top:15px}.mobile-ui .return-session{font-size:12px}
/* Guides, confirmations and the virtual keyboard stay above the scene shell. */
.mobile-ui #game-wiki,.mobile-ui #economy-guide{inset:env(safe-area-inset-top) auto auto 0;margin:0;width:100%;height:calc(var(--visual-height,100dvh) - env(safe-area-inset-top));max-height:none;padding:8px;z-index:400}
.mobile-ui .wiki-header{min-height:60px;padding:7px 10px;gap:9px}.mobile-ui .wiki-header h1{font-size:28px;line-height:30px}.mobile-ui .wiki-header-note,.mobile-ui .wiki-seal{display:none}.mobile-ui .game-wiki .wiki-close{width:44px;min-width:44px;height:44px;margin-left:auto}
.mobile-ui .wiki-body{display:flex;flex-direction:column;gap:8px;padding:8px 0 0}.mobile-ui .wiki-nav{display:flex;overflow-x:auto;overflow-y:hidden;flex:none;gap:6px;padding:2px;max-height:54px;scrollbar-width:none}.mobile-ui .wiki-nav>p,.mobile-ui .wiki-nav>.wiki-eyebrow{display:none}.mobile-ui .game-wiki .wiki-nav button{width:auto;min-width:112px;min-height:44px;margin:0;flex:none;font-size:14px;padding:8px}.mobile-ui .wiki-nav button .ng-art{width:21px}.mobile-ui .wiki-paper{flex:1;padding:5px}.mobile-ui .wiki-content{padding:16px 12px;overscroll-behavior:contain}.mobile-ui .wiki-content h2{font-size:31px}.mobile-ui .wiki-content h3{font-size:23px}.mobile-ui .wiki-grid,.mobile-ui .wiki-resource-grid,.mobile-ui .wiki-catalogue{grid-template-columns:1fr;gap:12px}.mobile-ui .wiki-catalogue .wiki-item-list{max-height:210px}.mobile-ui .wiki-item-detail{padding:14px 0 0;border-left:0;border-top:1px solid #98713b55}.mobile-ui .wiki-content button{min-height:44px}.mobile-ui .wiki-card{padding:12px}.mobile-ui .wiki-scene{padding:15px 12px;height:auto;min-height:125px}.mobile-ui .wiki-scene span:not(.ng-art){font-size:24px}.mobile-ui .wiki-content .wiki-facts span{font-size:12px}.mobile-ui .wiki-content .wiki-facts{gap:5px}.mobile-ui .wiki-table-wrap{max-width:100%;overflow:auto}
.mobile-ui .wiki-facts{grid-template-columns:1fr}.mobile-ui .wiki-facts>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;padding:8px 0;text-align:left}.mobile-ui .wiki-facts b{font-size:22px;flex:none}.mobile-ui .wiki-facts span{text-align:right}
.mobile-ui .wiki-content[data-chapter=items]{display:block;overflow:auto}.mobile-ui .wiki-content[data-chapter=items] .wiki-catalogue-controls{display:block}.mobile-ui .wiki-content[data-chapter=items] .wiki-catalogue-controls label{max-width:none;min-width:0;margin-bottom:12px}.mobile-ui .wiki-content input{width:100%;min-width:0}.mobile-ui .wiki-catalogue .wiki-item-detail{overflow:visible}.mobile-ui .wiki-item-stats{grid-template-columns:1fr}.mobile-ui .wiki-footer{gap:7px;padding:10px 4px}.mobile-ui .wiki-footer button{padding:9px;font-size:14px}.mobile-ui .wiki-footer>span{font-size:11px}
.mobile-ui .show-guide .show-rule-pills{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-ui .show-guide .show-rule-pills b{font:600 15px/1.25 var(--ng-body);white-space:normal}.mobile-ui .show-guide .show-rule-pills>span{font-size:11px;min-width:0}
.mobile-ui dialog.confirm-dialog,.mobile-ui #nickname-dialog{width:calc(100vw - 24px);max-width:440px;max-height:calc(var(--visual-height,100dvh) - 24px);padding:22px;overflow:auto}.mobile-ui dialog button{min-height:44px}.mobile-ui #toast{z-index:500;bottom:calc(var(--mobile-bottom) + 12px);max-width:calc(100vw - 28px);width:max-content;font-size:15px;line-height:20px;padding:12px 15px;pointer-events:none}
.mobile-ui .show-panel .show-stats,.mobile-ui .show-panel .show-step-grid{grid-template-columns:1fr}.mobile-ui .show-panel .show-hero{flex-wrap:wrap}.mobile-ui .show-panel .show-hero-copy{min-width:0}.mobile-ui .show-panel .show-rule-grid{grid-template-columns:1fr}.mobile-ui .show-panel .show-toggle-row{min-height:56px}.mobile-ui .show-panel .show-toggle-row input{min-width:44px;min-height:26px}
.mobile-ui .royal-honours{grid-template-columns:1fr}.mobile-ui .royal-podium{grid-template-columns:1fr}.mobile-ui .royal-board-tabs{flex-wrap:wrap}.mobile-ui .royal-board-tabs button{min-width:80px}.mobile-ui table{max-width:100%}
.mobile-ui .economy-tabs{display:flex;overflow:auto;gap:6px}.mobile-ui .game-wiki .economy-tabs button{min-width:145px;min-height:44px;flex:none}.mobile-ui .economy-tabs small{display:none}.mobile-ui .economy-planned{display:none}.mobile-ui .economy-body{padding:8px 0 0;gap:8px}.mobile-ui .economy-flow{padding:14px 12px}.mobile-ui .economy-flow figcaption{display:block}.mobile-ui .economy-flow-key{margin-top:10px}.mobile-ui .economy-flow-row,.mobile-ui .economy-explain-grid,.mobile-ui .economy-pass-grid,.mobile-ui .economy-awards,.mobile-ui .economy-stage-grid,.mobile-ui .economy-milestones ol{grid-template-columns:1fr;gap:22px}.mobile-ui .economy-explain-grid>section+section{border-left:0;padding-left:0}.mobile-ui .economy-flow-node:not(:last-child)::after{content:'↓';top:100%;right:50%;line-height:22px}.mobile-ui .economy-season ol{grid-template-columns:repeat(5,1fr)}.mobile-ui .economy-equation{flex-direction:column;gap:8px}.mobile-ui .economy-launch{align-items:flex-start;flex-wrap:wrap}.mobile-ui .economy-content{padding:16px 12px}
/* Landscape and touch tablets use a right sheet, with the same DOM and drafts. */
.mobile-ui.mobile-landscape{--mobile-bottom:calc(54px + env(safe-area-inset-bottom))}
.mobile-landscape .mobile-hud{display:flex;align-items:center;gap:7px;padding-block:calc(5px + env(safe-area-inset-top)) 5px;min-height:56px}.mobile-landscape .mobile-identity{width:135px;flex:none}.mobile-landscape .mobile-identity b{font-size:19px}.mobile-landscape .mobile-identity small{font-size:11px}.mobile-landscape .mobile-stats{flex:1;display:grid;height:40px}.mobile-landscape .mobile-stats>div{padding:6px}.mobile-landscape .mobile-stats b{font-size:15px}.mobile-landscape .mobile-stats .ng-art{width:20px;height:20px}
.mobile-landscape #panel,.mobile-landscape #panel[data-kind=personal],.mobile-landscape #panel[data-view=market],.mobile-landscape #panel[data-view=king],.mobile-landscape #panel[data-view=wheel]{inset:0 0 0 auto;width:var(--mobile-side);height:100%;max-height:100%}
.mobile-landscape .mobile-nav{display:flex;justify-content:center;gap:16px;padding-top:4px}.mobile-landscape .mobile-nav button{width:110px;flex-direction:row;gap:8px}.mobile-landscape .mobile-nav .ng-art{width:24px}.mobile-landscape #panel .panel-head{height:50px;min-height:50px}.mobile-landscape .mobile-duel{top:auto;bottom:calc(var(--mobile-bottom) + 14px);max-width:calc(100vw - var(--mobile-side) - 32px)}
.mobile-landscape #panel .npc-intro{display:none}.mobile-landscape #panel .panel-body{padding:8px}.mobile-landscape #panel .gather-hero{padding:7px}.mobile-landscape #panel .actions-row{margin-block:8px}
@media(min-width:700px){.mobile-ui:not(.mobile-landscape) #panel{max-width:620px;left:50%;right:auto;transform:translateX(-50%)}.mobile-ui:not(.mobile-landscape) .inventory-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-ui .welcome-layout{max-width:850px}.mobile-ui .welcome-layout .join-card{display:grid;grid-template-columns:1fr 1fr}.mobile-ui .welcome-story{border-bottom:0;border-right:1px solid #8b74454d}}
@media(max-width:760px){.mobile-landscape .mobile-identity{width:102px}.mobile-landscape .mobile-stats{gap:3px}.mobile-landscape .mobile-stats .ng-art{width:17px;height:19px}.mobile-landscape .mobile-stats>div{gap:3px}.mobile-landscape .mobile-stats b{font-size:14px}}
@media(max-width:380px){.mobile-ui #panel .equipment-slot:not(.slot-backpack){width:50px}}
.mobile-participants{margin-top:18px;border-top:1px solid #78613c;padding-top:8px}.mobile-participants summary{padding:12px 0;color:#e8d4aa}.mobile-participants ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.mobile-participants li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #65735a44}.mobile-participants b{overflow-wrap:anywhere;min-width:0}.mobile-participants span{color:#b9c5ad;font-size:13px;text-align:right}
