/* General mobile presentation. Battle and Match Flow keep their own layout. */
.gacha-count-presets{display:flex;gap:8px;justify-content:center;margin:12px 0}
.gacha-count-presets button{min-width:88px;min-height:44px;border:1px solid #796437;border-radius:10px;background:#161c29;color:#f8edcd;cursor:pointer}
.gacha-count-presets button[aria-pressed="true"]{background:#624b1f;border-color:#f1d787}
.gacha-item-inspect{display:block;width:100%;padding:0;border:0;background:transparent;color:#e4d097;cursor:pointer}
.gacha-item-inspect>span{display:block;min-height:44px;padding:12px 6px;font-size:14px}
.gacha-item-inspect .gacha-preview{margin:0;width:100%}
.gacha-item-detail-close{display:block;min-height:44px;margin:0 0 12px auto;padding:8px 16px;border:1px solid #8c7b54;border-radius:9px;background:#252a37;color:#fff}
.gacha-item-detail .gacha-preview{height:min(45dvh,360px);max-width:100%;margin:auto}
.gacha-item-detail{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.gacha-player-screen:has(.gacha-item-detail-overlay){overflow:hidden}
.cosmetic-category-select{display:grid;gap:8px;margin:12px 0;font-size:14px}
.cosmetic-category-select select{width:100%;min-height:44px}

@media (max-width:760px), (max-width:1180px) and (max-height:600px){
  :root{--mobile-top:max(10px,env(safe-area-inset-top));--mobile-right:max(12px,env(safe-area-inset-right));--mobile-bottom:max(12px,env(safe-area-inset-bottom));--mobile-left:max(12px,env(safe-area-inset-left));--mobile-header:56px}
  html.general-modal-open,body.general-modal-open{overflow:hidden;overscroll-behavior:none}
  body.general-overlay-open .mobile-orientation-gate{display:none!important}
  .general-mobile-active{font-size:16px;line-height:1.5}
  .general-mobile-active .app{min-height:100dvh;min-width:0}
  .general-mobile-active .topbar{height:auto;min-height:var(--mobile-header);padding:var(--mobile-top) calc(var(--mobile-right) + 54px) 8px var(--mobile-left);gap:8px;flex-wrap:wrap;align-items:center}
  .general-mobile-active .brand{min-width:0;font-size:14px;flex-wrap:wrap;letter-spacing:0}
  .general-mobile-active .brand .tag{font-size:10px;max-width:100%;overflow-wrap:anywhere}
  .general-mobile-active .top-actions{width:100%;flex-wrap:wrap;gap:6px}
  .general-mobile-active :is(button,.btn,input,select){min-height:44px;touch-action:manipulation}
  .general-mobile-active :is(input,select){font-size:16px}
  .general-mobile-active .btn{font-size:14px;white-space:normal}
  .general-mobile-active :is(.beginner-select-screen,.online-lobby-screen,.mode-select-screen){min-height:0;padding:14px var(--mobile-right) var(--mobile-bottom) var(--mobile-left);display:block}
  .general-mobile-active :is(.beginner-select-panel,.online-lobby-panel){width:100%;max-width:900px;margin:auto;min-width:0;padding:18px 14px}
  .general-mobile-active :is(.beginner-select-panel,.online-lobby-panel) h1{font-size:28px;line-height:1.3}
  .general-mobile-active :is(.beginner-select-panel,.online-lobby-panel)>p{font-size:14px;line-height:1.65;margin-bottom:16px}
  .general-mobile-active .beginner-archetype-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .general-mobile-active .beginner-archetype-card{min-height:250px;padding:16px 10px;border-width:2px;border-radius:14px}
  .general-mobile-active .beginner-archetype-card>i{margin:40px auto 8px;width:60px;height:50px;font-size:22px}
  .general-mobile-active .beginner-archetype-card>strong{font-size:23px}
  .general-mobile-active .beginner-archetype-card :is(p,small,em){font-size:14px;line-height:1.6;white-space:normal}
  .general-mobile-active .beginner-select-footer{font-size:14px;flex-wrap:wrap}
  .general-mobile-active .online-lobby-footer{flex-wrap:wrap;align-items:stretch}
  .general-mobile-active .online-lobby-footer>div{display:flex;flex-wrap:wrap;gap:8px}
  .general-mobile-active .online-lobby-footer small{font-size:12px}
  .general-mobile-active :is(.ranked-entry,.ranked-queue-panel,.ranked-proposal-panel,.online-lobby-actions,.rank-profile-card){min-width:0;scroll-margin-top:12px}
  .general-mobile-active :is(.ranked-entry,.ranked-queue-panel,.ranked-proposal-panel) :is(span,small,p){font-size:14px;overflow-wrap:anywhere}
  .general-mobile-active .rank-profile-card{padding:14px;max-width:100%}
  .general-mobile-active .rank-profile-card :is(small,p,dt){font-size:12px;line-height:1.5}
  .general-mobile-active .rank-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .general-mobile-active .rank-profile-progress{flex-wrap:wrap;gap:6px}
  .general-mobile-active .room-code-display{flex-wrap:wrap;gap:12px}
  .general-mobile-active .online-join-form{display:flex;flex-wrap:wrap;gap:8px}
  .general-mobile-active .online-join-form input{min-width:0;flex:1 1 180px;width:100%}
  .general-mobile-active .online-lobby-actions button{white-space:normal;min-height:52px;font-size:16px}
  .general-mobile-active .account-foundation{z-index:1100;top:var(--mobile-top);left:auto;right:var(--mobile-right);width:min(440px,calc(100% - var(--mobile-right) - var(--mobile-left)));max-height:calc(100dvh - var(--mobile-top) - var(--mobile-bottom));display:flex;flex-direction:column;font-size:14px}
  .general-mobile-active .account-foundation-collapsed{width:44px}
  .general-mobile-active .account-foundation>header{height:48px;min-height:48px;padding-left:12px;font-size:12px}
  .general-mobile-active .account-foundation-collapsed>header{padding:0}
  .general-mobile-active .account-foundation>header button{width:44px;height:44px;min-height:44px;font-size:22px}
  .general-mobile-active .account-foundation>[data-account-body]{overflow:auto;overscroll-behavior:contain;padding:14px;min-height:0}
  .general-mobile-active .account-foundation :is(label,small,.account-foundation-status){font-size:14px}
  .general-mobile-active .account-foundation-current{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .general-mobile-active .account-foundation-current :is(strong,small,em,.account-economy-balance){grid-column:1/-1;grid-row:auto;white-space:normal}
  .general-mobile-active .account-foundation-current button{grid-column:auto;grid-row:auto;min-width:0;padding:10px}
  .general-mobile-active .account-selected-title{font-size:14px}
  :is(.gacha-player-screen,.cosmetic-player-screen,.mission-player-screen,.card-pool-overlay) :is(button,input,select){min-height:44px;touch-action:manipulation}
  :is(.gacha-player-screen,.cosmetic-player-screen,.mission-player-screen,.card-pool-overlay) :is(button,select){font-size:14px;line-height:1.5}
  :is(.gacha-player-screen,.cosmetic-player-screen,.mission-player-screen,.card-pool-overlay) :is(input,select){font-size:16px}
  :is(.gacha-player-screen,.cosmetic-player-screen,.mission-player-screen,.card-pool-overlay) :is(p,h1,h2,h3,button){overflow-wrap:anywhere}
  .gacha-frame{padding:0 var(--mobile-right) var(--mobile-bottom) var(--mobile-left);width:100%}
  .gacha-header{min-height:56px;gap:10px;padding:var(--mobile-top) 0 8px}
  .gacha-brand h1{font-size:22px;line-height:1.3}
  .gacha-brand span{font-size:12px;letter-spacing:.05em}
  .gacha-close{min-width:68px;padding:8px 10px}
  .gacha-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 16px;overflow:visible}
  .gacha-nav button:nth-child(n){grid-column:auto;min-width:0;white-space:normal;padding:8px 4px}
  .gacha-main{gap:14px}
  .gacha-balances{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gacha-balance-tile{min-width:0;padding:12px}
  .gacha-balance-tile :is(span,small){font-size:12px}
  .gacha-pull-panel{padding:18px 14px;min-width:0}
  .gacha-pull-heading{gap:12px}
  .gacha-pull-heading h2{font-size:24px;line-height:1.35}
  .gacha-pull-heading p,.gacha-insufficient{font-size:14px;line-height:1.65}
  .gacha-pull-heading span{font-size:12px;letter-spacing:.03em}
  .gacha-die-mark{width:52px;height:52px;flex:0 0 52px;font-size:34px}
  .gacha-pull-count button{min-width:48px;min-height:48px}
  .gacha-pull-button{min-height:56px;font-size:20px;width:100%}
  .gacha-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gacha-shortcuts button{white-space:normal;padding:10px}
  .gacha-filters{display:flex;flex-wrap:wrap;gap:6px;overflow:visible}
  .gacha-filters button{padding:8px 12px;flex:0 1 auto}
  .gacha-item-grid,.gacha-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
  .gacha-item-card,.gacha-result-card{min-width:0;padding:10px;border-radius:12px}
  .gacha-item-card .gacha-preview,.gacha-result-card .gacha-preview{height:auto;min-height:130px;aspect-ratio:4/5;width:100%;max-width:100%}
  .gacha-item-card h3,.gacha-result-card h3{font-size:15px;line-height:1.5;white-space:normal}
  .gacha-item-copy :is(p,small,strong),.gacha-result-card>strong{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
  .gacha-item-card :is(.cosmetic-customize-entry,.exchange-button){width:100%;padding:8px 5px;white-space:normal}
  .gacha-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gacha-result-actions button{min-width:0;white-space:normal;padding:10px}
  .gacha-modal-backdrop,.cosmetic-confirm-backdrop,.modal-backdrop{padding:var(--mobile-top) var(--mobile-right) var(--mobile-bottom) var(--mobile-left)}
  .gacha-confirm-dialog,.cosmetic-confirm{width:100%;max-width:560px;max-height:calc(100dvh - var(--mobile-top) - var(--mobile-bottom));overflow:auto;overscroll-behavior:contain;padding:18px 14px}
  .gacha-confirm-actions,.cosmetic-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}
  .gacha-confirm-actions button,.cosmetic-confirm-actions button{flex:1 1 120px;white-space:normal}
  .gacha-item-detail .gacha-preview{min-height:160px;height:min(46dvh,340px);aspect-ratio:auto}
  .gacha-item-detail-close{position:sticky;top:0;z-index:2}
  .gacha-reveal-stage{min-height:0;padding-bottom:var(--mobile-bottom)}
  .reveal-skip,.reveal-next{min-height:48px;min-width:88px}
  .gacha-player-screen .gacha-item-box{min-width:0}
  .cosmetic-player-screen,.mission-player-screen,.card-pool-overlay{padding:var(--mobile-top) var(--mobile-right) var(--mobile-bottom) var(--mobile-left);place-items:stretch}
  .cosmetic-frame,.mission-frame{width:100%;height:100%;max-height:calc(100dvh - var(--mobile-top) - var(--mobile-bottom));min-height:0;border-radius:14px}
  .cosmetic-header,.mission-header,.card-pool-browser-header{padding:10px 12px;min-height:60px;gap:10px;flex:0 0 auto}
  .cosmetic-header h1,.mission-header h1,.card-pool-browser-header h1{font-size:22px;line-height:1.3}
  .cosmetic-header>div>span,.mission-header>div>span{font-size:12px;letter-spacing:0}
  .cosmetic-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 12px;gap:6px;flex:0 0 auto}
  .cosmetic-global,.cosmetic-cards,.cosmetic-titles,.mission-main{overflow:auto;min-height:0;padding:12px;overscroll-behavior:contain}
  .cosmetic-slot{grid-template-columns:minmax(0,1fr) 100px;padding:12px;gap:10px}
  .cosmetic-slot .cosmetic-token-preview{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;padding:6px;min-width:0;text-align:center}
  .cosmetic-slot .cosmetic-token-preview small{max-width:100%;overflow-wrap:anywhere}
  .cosmetic-slot .cosmetic-choice-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cosmetic-slot .cosmetic-choice-row button{min-width:0;padding:10px 6px;white-space:normal}
  .cosmetic-slot header :is(h2,strong){font-size:16px;white-space:normal}
  .cosmetic-card-select{grid-template-columns:1fr;gap:8px}
  .cosmetic-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cosmetic-art-choice img,.cosmetic-normal-art{height:180px}
  .cosmetic-art-choice{min-width:0}
  .cosmetic-card-section :is(p,small),.cosmetic-token-preview small{font-size:14px;line-height:1.5}
  .cosmetic-title{grid-template-columns:auto minmax(0,1fr);gap:10px}
  .cosmetic-title button{grid-column:1/-1}
  .cosmetic-title strong{font-size:16px;white-space:normal}
  .mission-summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px}
  .mission-tabs{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .mission-tabs button{min-width:0;padding:8px 4px}
  .mission-period strong,.mission-period span{font-size:12px}
  .mission-list{grid-template-columns:1fr;gap:12px}
  .mission-card{padding:14px}
  .mission-card h2{font-size:17px;line-height:1.5}
  .mission-card p{font-size:14px;line-height:1.6}
  .mission-status{font-size:12px;white-space:normal;text-align:center;max-width:90px}
  .mission-progress-row span{font-size:14px}
  .mission-claim{min-height:48px;min-width:100px;font-size:16px}
  .mission-loading,.mission-guest,.cosmetic-loading{min-height:0;overflow:auto;font-size:16px}
  .mission-guest{padding:24px 14px}
  .mission-guest p{font-size:16px;line-height:1.6}
  .card-pool-browser{border-radius:14px}
  .card-pool-browser-header>div>span{font-size:12px;letter-spacing:0}
  .card-pool-browser-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);position:relative}
  .card-pool-filters{padding:10px;max-height:28dvh;overflow:auto;border-right:0;border-bottom:1px solid #354151}
  .card-pool-search{margin-bottom:10px}
  .card-pool-filters fieldset{margin-bottom:8px}
  .card-pool-filters :is(legend,.card-pool-search>span){font-size:12px}
  .card-pool-filter-button{padding:8px 10px}
  .card-pool-list{gap:10px;padding:10px}
  .card-pool-list-card{flex:0 0 calc((100% - 10px)/2);aspect-ratio:auto;min-height:260px}
  .card-pool-list-art{min-height:130px;flex:1}
  .card-pool-list-copy>b{font-size:15px;white-space:normal;line-height:1.4}
  .card-pool-list-copy>small{font-size:12px;flex-wrap:wrap}
  .card-pool-detail{display:none;position:absolute;inset:0;z-index:8;width:100%;max-width:none;overflow:auto;background:#101923}
  .card-pool-detail.is-open{display:block}
  .card-pool-detail-back{display:block;position:sticky;top:0;z-index:2;min-height:48px;width:100%;font-size:16px}
  .card-pool-detail-art{height:min(32dvh,240px)}
  .card-pool-formal-text{font-size:16px;line-height:1.7}
  .general-mobile-active .modal{width:100%;max-width:760px;max-height:calc(100dvh - var(--mobile-top) - var(--mobile-bottom));padding:14px;overflow:auto;overscroll-behavior:contain}
  .general-mobile-active .modal :is(p,.detail-text){font-size:16px;line-height:1.7}
  .general-mobile-active .modal-actions{position:sticky;bottom:-14px;background:#10151c;padding:10px 0;flex-wrap:wrap;z-index:4}
  .general-mobile-active .card-detail-modal{grid-template-columns:1fr}
  .general-mobile-active .card-detail-modal .detail-body{max-height:none;overflow:visible}
  .service-recovery-notice{padding:var(--mobile-top) var(--mobile-right) var(--mobile-bottom) var(--mobile-left)}
  .service-recovery-notice>article{max-height:calc(100dvh - var(--mobile-top) - var(--mobile-bottom));overflow:auto;overscroll-behavior:contain}
  .service-recovery-notice-close{min-width:44px;min-height:44px}
}

@media (min-width:761px) and (max-width:1180px) and (max-height:600px){
  .gacha-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
  .gacha-balances{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gacha-item-grid,.gacha-result-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gacha-item-detail{display:grid;grid-template-columns:160px minmax(0,1fr);column-gap:16px}
  .gacha-item-detail-close{grid-column:1/-1}
  .gacha-item-detail .gacha-preview{grid-row:2/6;min-height:0;height:180px}
  .card-pool-list-card{flex-basis:calc((100% - 30px)/4)}
  .cosmetic-art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mission-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* B.1: the corner control remains separate from the original Pick target. */
@media (orientation:landscape) and (max-width:1180px) and (max-height:600px){
  body.match-flow-screen-active .draft-info{display:grid!important;place-items:center;right:4px;bottom:4px;top:auto;width:44px;height:44px;min-width:44px;min-height:44px;font-size:24px;z-index:9;border-radius:10px;background:#101923f5}
  body.match-flow-screen-active .draft-card-copy{padding-right:42px}
  body.match-flow-screen-active .draft-card.selected{outline:2px solid #f6d37a;outline-offset:-2px}
}


/* One formal Main, mode selector and player panel design at every width. */
:root{--ui-top:max(12px,env(safe-area-inset-top));--ui-right:max(16px,env(safe-area-inset-right));--ui-bottom:max(16px,env(safe-area-inset-bottom));--ui-left:max(16px,env(safe-area-inset-left))}
.account-foundation [hidden],.standalone-orientation-gate[hidden]{display:none!important}
.general-overlay-open .account-foundation{visibility:hidden;pointer-events:none}
.title-app .topbar,.mode-select-app .topbar,.profile-app .topbar,.online-app .topbar{height:auto;min-height:56px;padding:8px calc(var(--ui-right) + 56px) 8px var(--ui-left);gap:12px;flex-wrap:wrap}
.title-app .top-actions,.mode-select-app .top-actions,.profile-app .top-actions,.online-app .top-actions{flex-wrap:wrap;width:auto}
.title-app .btn,.mode-select-app .btn,.profile-app .btn,.online-app .btn{min-height:44px;font-size:14px}
.general-mobile-active .topbar .tag{display:inline-flex}
.general-mobile-active .card-pool-open-button{width:auto;min-width:44px;padding:8px}
.general-mobile-active .card-pool-open-button>b,.general-mobile-active .audio-controls label span,.general-mobile-active .audio-controls b{display:inline}
.card-pool-search>span,.card-pool-reset{display:block}
.title-screen-v2317{min-height:calc(100dvh - 56px);padding:var(--ui-top) var(--ui-right) var(--ui-bottom) var(--ui-left);overflow:visible}
.title-stage-v2317{height:auto;min-height:620px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:auto}
.title-art-panel-v2317{background-position:center,center,center top}
.title-menu-panel-v2317{padding:24px 26px;gap:12px}
.title-menu-brand-v2317{margin:0;padding-bottom:10px}
.title-menu-brand-v2317 span{font-size:18px}.title-menu-brand-v2317 b{font-size:44px}.title-menu-brand-v2317 small{font-size:12px}
.title-menu-kicker-v2317{font-size:12px;letter-spacing:.14em}
.title-menu-panel-v2317>p{max-width:none;margin:0;font-size:14px}
.title-menu-actions-v2317,.shared-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.title-entry-v2317{min-width:0;min-height:144px;padding:18px 18px 18px 60px}
.title-entry-v2317:before{left:12px;width:34px;height:34px;font-size:24px}
.title-entry-v2317>span{font-size:12px;letter-spacing:.08em}
.title-entry-v2317>b{font-size:26px;letter-spacing:.02em;line-height:1.4;overflow-wrap:anywhere}
.title-entry-v2317>small{font-size:14px;line-height:1.6;text-wrap:balance}
.title-entry-v2317:after{right:8px;font-size:22px}
.title-sub-actions-v2317{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.title-sub-actions-v2317 button{height:auto;min-height:48px;padding:8px;white-space:normal}
.title-sub-actions-v2317 b{font-size:14px;letter-spacing:0}
.title-theme-strip-v2317{margin-top:auto;padding-top:0}.title-theme-strip-v2317 span{font-size:12px}
.title-version-v2317{flex-wrap:wrap;margin:0;gap:6px}.title-version-v2317 b,.title-version-v2317 span{font-size:12px;letter-spacing:0}
.title-art-caption-v2317{left:24px;right:24px;bottom:24px;flex-wrap:wrap}.title-art-caption-v2317 b{display:block;font-size:14px}.title-art-caption-v2317 span{font-size:12px}
.mode-select-app,.profile-app{min-height:100dvh;background:radial-gradient(circle at 20% 10%,#24364880,transparent 55%),#080c12}
.mode-select-screen{min-height:calc(100dvh - 56px);display:grid;place-items:center;padding:var(--ui-top) var(--ui-right) var(--ui-bottom) var(--ui-left)}
.mode-select-panel{width:min(100%,960px);min-width:0;border:1px solid #657687;border-radius:22px;padding:32px;background:linear-gradient(155deg,#141f2b,#080d14);box-shadow:0 20px 60px #0007}
.mode-select-panel h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:36px;line-height:1.3;margin:8px 0 24px;color:#f3f7f7}
.mode-select-panel .kicker{font-size:12px}.mode-select-panel .shared-mode-grid{margin-bottom:24px}.shared-mode-grid .title-entry-v2317{min-height:200px}
.profile-panel{max-width:760px}.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-actions button{min-width:0;white-space:normal}
.account-foundation{left:auto;right:var(--ui-right);top:var(--ui-top);max-width:calc(100vw - var(--ui-left) - var(--ui-right))}
.standalone-orientation-gate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:var(--ui-top) var(--ui-right) var(--ui-bottom) var(--ui-left);background:#080c12;color:#f4ebd5;text-align:center}
.standalone-orientation-gate>div{max-width:32rem}.standalone-orientation-gate span{font-size:72px;color:#e2c780}.standalone-orientation-gate h1{font-size:24px;line-height:1.5}.standalone-orientation-gate p{font-size:16px;line-height:1.7}
html.standalone-portrait-blocked,html.standalone-portrait-blocked body{overflow:hidden}
@media(max-width:760px){
  .title-stage-v2317{min-height:0;grid-template-columns:1fr;grid-template-rows:200px auto}
  .title-art-panel-v2317{background-position:center;background-size:100% 100%,100% 100%,contain}
  .title-art-caption-v2317{left:16px;right:16px;bottom:16px;gap:4px}.title-art-caption-v2317 b{font-size:12px}
  .title-menu-panel-v2317{padding:18px;gap:12px}
  .title-menu-brand-v2317 b{font-size:36px}.title-menu-brand-v2317 span{font-size:16px}
  .title-menu-actions-v2317{grid-template-columns:1fr}
  .title-entry-v2317{min-height:108px;padding:14px 22px 14px 60px}.title-entry-v2317>b{font-size:24px}
  .title-sub-actions-v2317{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mode-select-panel{padding:18px;border-radius:16px}.mode-select-panel h1{font-size:28px;margin-bottom:18px}
  .shared-mode-grid{gap:10px}.shared-mode-grid .title-entry-v2317{min-height:180px;padding:56px 12px 14px}.shared-mode-grid .title-entry-v2317:before{top:14px;transform:none}.shared-mode-grid .title-entry-v2317>b{font-size:22px}
}
@media(orientation:landscape) and (max-width:1180px) and (max-height:600px){
  .title-stage-v2317{min-height:0;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);grid-template-rows:auto}
  .title-menu-panel-v2317{padding:16px;gap:10px}.title-menu-brand-v2317{display:flex;align-items:center;justify-content:center;gap:8px;padding-bottom:8px}.title-menu-brand-v2317 span{font-size:16px}.title-menu-brand-v2317 b{font-size:32px}.title-menu-brand-v2317 small{margin:0}
  .title-menu-actions-v2317{grid-template-columns:repeat(2,minmax(0,1fr))}.title-entry-v2317{min-height:114px;padding:12px 18px 12px 52px}.title-entry-v2317>b{font-size:24px}
  .title-entry-v2317:before{left:10px;width:30px;height:30px;font-size:22px}.title-sub-actions-v2317{grid-template-columns:repeat(3,minmax(0,1fr))}
  .title-art-caption-v2317{left:18px;right:18px;bottom:18px;gap:8px}.title-art-caption-v2317 b{font-size:12px}
  .mode-select-panel{padding:20px}.mode-select-panel h1{font-size:28px;margin-bottom:16px}.shared-mode-grid .title-entry-v2317{min-height:150px;padding:16px 22px 16px 58px}.shared-mode-grid .title-entry-v2317:before{top:50%;transform:translateY(-50%)}
  .mode-select-panel .shared-mode-grid{margin-bottom:16px}
}

@media (max-width:1180px){
  .gacha-pull-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .gacha-pull-heading{grid-column:1/-1}.gacha-pull-button{grid-column:1/-1}
  .gacha-count-presets{margin:0}.gacha-pull-count{justify-self:center}.gacha-cost{grid-column:1/-1;text-align:center}
}
@media(max-width:480px){.gacha-pull-panel{grid-template-columns:1fr}.gacha-pull-heading{flex-wrap:wrap}.gacha-count-presets{justify-content:center}}

/* Phase C.3 — the same art, foreground title and seven Home entries at every size. */
.title-app{position:relative;isolation:isolate;background:#050911;height:100dvh;display:flex;flex-direction:column}
.title-app .topbar{position:relative;z-index:3;background:#080e18dc;backdrop-filter:blur(10px)}
.title-screen-v2317{flex:1;min-height:0;height:auto;padding:0;display:flex;overflow:hidden;background:transparent}
.title-stage-v2317{width:100%;height:100%;min-height:0;display:block;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;position:static}
.title-screen-v2317:before,.title-stage-v2317:after,.title-art-panel-v2317:before{display:none}
.title-art-panel-v2317{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,#04081238,transparent 38%,#040812cf),url('assets/home-world-c3.webp');background-size:cover;background-position:50% 56%;isolation:auto;pointer-events:none}
.title-menu-panel-v2317{height:100%;width:min(1100px,100%);margin:auto;padding:clamp(20px,3dvh,36px) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;gap:14px;background:transparent;box-shadow:none}
.title-menu-panel-v2317:before{display:none}
.home-title{align-self:start;justify-self:center;position:relative;text-align:center;margin:clamp(12px,3dvh,38px) 0 0;padding:12px 40px 18px;color:#fff0c6;text-shadow:0 2px 3px #080913,0 0 18px #000,0 0 40px #000}
.home-title:before{content:"";position:absolute;z-index:-1;inset:-16px -35%;background:radial-gradient(ellipse,#070c18b8,transparent 68%);pointer-events:none}
.home-title p,.home-title small{display:block;margin:0;font-size:11px;font-weight:700;letter-spacing:.27em;color:#f6e5be}
.home-title h1{margin:12px 0 14px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:900;line-height:1.08;letter-spacing:.12em;text-indent:.12em}
.home-title h1 span{display:block;font-size:clamp(24px,3.1vw,38px);letter-spacing:.25em;margin-bottom:6px}
.home-title h1 strong{display:block;font-size:clamp(64px,7vw,96px);font-weight:900;color:#ffdf8e;text-shadow:0 2px 0 #6e4a16,0 4px 5px #070911,0 0 28px #000}
.home-title:after{content:"";position:absolute;bottom:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#eccb80,transparent)}
.title-menu-actions-v2317{width:min(820px,100%);justify-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-self:end}
.title-menu-actions-v2317 .title-entry-v2317{min-height:108px;background:linear-gradient(115deg,#203048f2,#0b1421ed);backdrop-filter:blur(9px);box-shadow:0 12px 32px #0006;border-color:#b5c5d2b8;padding:18px 30px 18px 68px}
.title-menu-actions-v2317 .title-entry-v2317.online{border-color:#d5bf82;background:linear-gradient(115deg,#264e55f2,#10262fe8)}
.title-menu-actions-v2317 .title-entry-v2317>b{font-size:30px}
.title-menu-actions-v2317 .title-entry-v2317>small{font-size:14px;color:#c6d2dd}
.title-sub-actions-v2317{width:min(920px,100%);justify-self:center;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-self:end}
.title-sub-actions-v2317 button{height:auto;min-height:60px;background:#091322e8;backdrop-filter:blur(9px);border-color:#8a9bae77;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 6px}
.title-sub-actions-v2317 b{font-size:14px;line-height:1.35}.title-sub-actions-v2317 button>span{font-size:20px;color:#c9b680}
.title-version-v2317{justify-content:center;line-height:1;margin:0}.title-version-v2317 b{color:#dae4ef;text-shadow:0 1px 3px #000;font-size:11px}
.landscape-rail-controls{display:none}
.cosmetic-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.cosmetic-collection{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 22px 25px}
.cosmetic-collection>p{color:#b5c1ce;font-size:14px}
.cosmetic-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.cosmetic-owned-item{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #435466;border-radius:12px;background:#0b1420}
.cosmetic-owned-item>img{width:100%;height:150px;object-fit:contain;background:#080e18;border-radius:8px}
.cosmetic-owned-item>.cosmetic-token-preview{height:150px}
.cosmetic-owned-item h2{font-size:16px;line-height:1.5;margin:0}.cosmetic-owned-item>small{color:#d0bd8d;font-size:12px}
.cosmetic-owned-item>button{margin-top:auto;min-height:44px}
@media(min-aspect-ratio:21/9){.title-art-panel-v2317{background-position:50% 58%}.home-title{margin-top:clamp(0px,2dvh,20px)}}
@media(orientation:portrait) and (max-width:760px){
  .title-app{height:auto;min-height:100dvh}
  .title-screen-v2317{min-height:calc(100dvh - 60px)}
  .title-menu-panel-v2317{min-height:calc(100dvh - 60px);padding-inline:max(16px,env(safe-area-inset-left));gap:12px}
  .home-title{padding-inline:10px;margin-top:20px}.home-title h1 strong{font-size:72px}
  .title-menu-actions-v2317{grid-template-columns:1fr;gap:10px}
  .title-menu-actions-v2317 .title-entry-v2317{min-height:92px}
  .title-sub-actions-v2317{grid-template-columns:repeat(3,minmax(0,1fr))}
  .title-sub-actions-v2317 button{flex-direction:column;gap:4px}
  .title-art-panel-v2317{background-position:50% 50%}
}

/* The viewport is the screen. Each content owner handles its own overflow. */
@media(orientation:landscape) and (max-width:1180px) and (max-height:600px){
  :root{--ui-top:max(6px,env(safe-area-inset-top));--ui-right:max(10px,env(safe-area-inset-right));--ui-bottom:max(8px,env(safe-area-inset-bottom));--ui-left:max(10px,env(safe-area-inset-left));--mobile-top:var(--ui-top);--mobile-right:var(--ui-right);--mobile-bottom:var(--ui-bottom);--mobile-left:var(--ui-left)}
  html.fixed-landscape-ui,body.fixed-landscape-ui{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
  .general-mobile-active #app,.general-mobile-active .app{height:100dvh;min-height:0;overflow:hidden}
  .general-mobile-active .app{display:flex;flex-direction:column}
  .general-mobile-active .topbar{flex:0 0 auto;height:calc(48px + env(safe-area-inset-top));min-height:48px;padding:env(safe-area-inset-top) calc(var(--ui-right) + 50px) 0 var(--ui-left);flex-wrap:nowrap;gap:10px}
  .general-mobile-active .brand{flex-wrap:nowrap;font-size:14px;gap:6px}.general-mobile-active .brand .tag{display:none}
  .general-mobile-active .top-actions{width:auto;flex-wrap:nowrap;gap:6px;margin-left:auto}
  .general-mobile-active .audio-controls{gap:4px}.general-mobile-active .audio-controls input{width:62px}
  .general-mobile-active .account-foundation{top:var(--ui-top)}
  .general-mobile-active .title-screen-v2317{flex:1;min-height:0;height:auto;padding:0}
  .title-menu-panel-v2317{padding:4px var(--ui-right) var(--ui-bottom) var(--ui-left);gap:7px;grid-template-rows:minmax(0,1fr) auto auto auto}
  .home-title{margin:0;align-self:center;padding:2px 20px 7px}
  .home-title p,.home-title small{font-size:9px;letter-spacing:.2em}
  .home-title h1{margin:3px 0 5px}.home-title h1 span{font-size:20px;margin-bottom:1px}.home-title h1 strong{font-size:clamp(40px,12dvh,56px)}
  .title-menu-actions-v2317{gap:10px;width:min(700px,100%)}
  .title-menu-actions-v2317 .title-entry-v2317{min-height:76px;padding:6px 22px 6px 54px}
  .title-menu-actions-v2317 .title-entry-v2317>b{font-size:24px;line-height:1.25;margin:0}
  .title-menu-actions-v2317 .title-entry-v2317>small{font-size:14px;line-height:1.4}
  .title-menu-actions-v2317 .title-entry-v2317>span{font-size:11px;line-height:1.2}
  .title-sub-actions-v2317{gap:5px}
  .title-sub-actions-v2317 button{min-height:44px;padding:5px;gap:6px;border-radius:8px}
  .title-sub-actions-v2317 button>span{font-size:16px}.title-sub-actions-v2317 b{font-size:14px;line-height:1.3}
  .title-version-v2317 b{font-size:10px}
  .general-mobile-active :is(.mode-select-screen,.online-lobby-screen,.beginner-select-screen){flex:1;min-height:0;overflow:hidden;display:grid;place-items:stretch;padding:8px var(--ui-right) var(--ui-bottom) var(--ui-left)}
  .general-mobile-active .mode-select-panel{width:min(960px,100%);height:100%;min-height:0;justify-self:center;padding:12px 18px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;overflow:auto}
  .mode-select-panel h1{margin:0!important;font-size:26px}.mode-select-panel .kicker{line-height:1.1}
  .mode-select-panel .shared-mode-grid{min-height:0;margin:0;gap:12px}
  .shared-mode-grid .title-entry-v2317{min-height:0;padding:12px 22px 12px 58px}.shared-mode-grid .title-entry-v2317>b{font-size:24px}.shared-mode-grid .title-entry-v2317 small{font-size:14px}
  .mode-select-panel>#modeBackTitle{justify-self:start;min-width:132px}
  .general-mobile-active .profile-panel{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto minmax(0,1fr);gap:10px 16px;overflow:hidden}
  .profile-panel h1{grid-column:1/-1}.profile-panel .rank-profile-card{min-height:0;overflow:auto;margin:0;padding:12px}
  .profile-actions{min-height:0;overflow:auto;display:flex;flex-direction:column;justify-content:safe center;flex-wrap:nowrap;gap:10px}
  .profile-actions button{flex:0 0 auto;min-height:48px}
  .general-mobile-active :is(.online-lobby-panel,.beginner-select-panel){height:100%;min-height:0;overflow:auto;padding:14px;overscroll-behavior:contain}
  .general-mobile-active .beginner-select-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px}
  .general-mobile-active .beginner-select-panel h1{margin:0;font-size:24px}.general-mobile-active .beginner-select-panel>p{margin:0;font-size:14px}
  .general-mobile-active .beginner-archetype-grid{min-height:0;overflow:auto}
  .general-mobile-active .beginner-archetype-card{min-height:0;padding:12px}.general-mobile-active .beginner-archetype-card>i{margin:0 auto 4px;height:30px}

  :is(.gacha-player-screen,.cosmetic-player-screen,.mission-player-screen,.card-pool-overlay){height:100dvh;overflow:hidden;padding:var(--ui-top) var(--ui-right) var(--ui-bottom) var(--ui-left)}
  :is(.gacha-frame,.cosmetic-frame,.mission-frame,.card-pool-browser){height:100%;min-height:0;max-height:100%;width:100%;border-radius:12px}
  .gacha-frame{display:flex;flex-direction:column;overflow:hidden;padding:0}
  :is(.gacha-header,.cosmetic-header,.mission-header,.card-pool-browser-header){flex:0 0 auto;min-height:48px;padding:4px 12px;gap:10px}
  :is(.gacha-header,.cosmetic-header,.mission-header,.card-pool-browser-header) h1{font-size:22px;line-height:1.3;margin:0}
  :is(.gacha-brand,.cosmetic-header>div,.mission-header>div,.card-pool-browser-header>div)>span,.card-pool-browser-header p{display:none}
  .gacha-header{position:relative;background:#080e18}.gacha-header .gacha-close{order:2;margin-left:0}.gacha-header .gacha-brand{margin-right:auto}.gacha-header .landscape-rail-controls{order:1;margin-left:0}
  .gacha-nav,.cosmetic-nav{flex:0 0 auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:5px 0;padding:0}
  .gacha-nav button{padding:4px;min-height:44px;font-size:14px}
  .cosmetic-nav{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 12px}
  .gacha-frame>main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
  .gacha-frame>.gacha-main{display:grid;grid-template-columns:minmax(150px,.26fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 44px;gap:8px;overflow:auto;padding:3px}
  .gacha-balances{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}
  .gacha-balance-tile{padding:8px;align-content:center;gap:3px}.gacha-balance-tile strong{font-size:22px}.gacha-balance-tile span{font-size:12px;white-space:normal}
  .gacha-pull-panel{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:6px 10px;padding:10px 14px;border-radius:13px;overflow:auto}
  .gacha-pull-heading{grid-column:1/-1;gap:10px}.gacha-die-mark{width:44px;height:44px;flex-basis:44px;font-size:30px}
  .gacha-pull-heading h2{font-size:23px;margin:0;line-height:1.3}.gacha-pull-heading p{font-size:14px;margin:3px 0 0;line-height:1.4}.gacha-pull-heading span{display:none}
  .gacha-count-presets{grid-column:1;grid-row:2;gap:6px;align-self:center}.gacha-count-presets button{min-width:65px;min-height:44px}
  .gacha-pull-count{grid-column:2;grid-row:2;gap:8px}.gacha-pull-count button{min-width:44px;min-height:44px}.gacha-pull-count output{font-size:24px}
  .gacha-cost{grid-column:1;grid-row:3;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px}.gacha-cost strong{font-size:24px}.gacha-cost span,.gacha-cost small{font-size:12px}
  .gacha-pull-button{grid-column:2;grid-row:3;min-height:46px;font-size:20px;padding:8px}
  .gacha-shortcuts{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gacha-shortcuts button{padding:6px;min-height:44px}
  .gacha-frame>.gacha-catalog-screen{display:grid;grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden;padding-top:4px}
  .gacha-screen-intro{grid-column:1;grid-row:1;margin:0;padding:4px 6px;min-width:0;max-height:100px;overflow:auto}
  .gacha-screen-intro>span,.gacha-screen-intro>h2{display:none}.gacha-screen-intro p{margin:0;font-size:14px;line-height:1.5}
  .gacha-screen-intro button{min-height:44px;margin-top:6px}
  .gacha-filters{grid-column:1;grid-row:2;margin:0;display:flex;flex-direction:column;flex-wrap:nowrap;overflow:auto;gap:5px;padding:0 6px 6px;align-items:stretch}
  .gacha-filters button{flex:0 0 auto;min-height:44px;padding:6px;font-size:14px}
  .gacha-item-grid{grid-column:2;grid-row:1/-1;display:grid;grid-auto-flow:column;grid-auto-columns:340px;grid-template-columns:none;grid-template-rows:minmax(0,1fr);gap:10px;overflow-x:auto;overflow-y:hidden;min-height:0;padding:4px 4px 12px;scroll-snap-type:x proximity;overscroll-behavior:contain}
  .gacha-item-card{height:100%;min-height:0;display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:24px minmax(0,1fr);gap:8px;padding:10px;scroll-snap-align:start;overflow:auto}
  .gacha-item-card>header{grid-column:1/-1;min-height:0;margin:0}.gacha-item-inspect{min-height:0;display:flex;flex-direction:column;justify-content:center}
  .gacha-item-card .gacha-preview{flex:1;min-height:65px;height:auto;aspect-ratio:auto}.gacha-item-inspect>span{min-height:44px;padding:10px 2px}
  .gacha-item-copy{min-width:0;align-self:center}.gacha-item-copy button{border:1px solid #758ba5;border-radius:8px;background:#1c3048;color:#edf3ff}.gacha-item-copy h3{font-size:16px;line-height:1.4;margin:0 0 6px}.gacha-item-copy :is(p,small,strong){font-size:14px;line-height:1.4;margin:4px 0}
  .gacha-catalog-screen>.gacha-empty{grid-column:2;grid-row:1/-1;min-height:0;padding:14px;overflow:auto}
  .gacha-catalog-screen:has(.gacha-probability-groups){grid-template-rows:62px 42px minmax(0,1fr)}
  .gacha-probability-groups{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:4px;margin:0;overflow:auto}
  .gacha-probability-groups>div{flex:1;min-width:90px;padding:6px;font-size:12px}
  .gacha-catalog-screen:has(.gacha-probability-groups) .gacha-item-grid{grid-row:2/-1}
  .gacha-catalog-screen:has(.gacha-probability-groups) .gacha-filters{grid-row:2/-1}
  .gacha-frame>.gacha-item-box,.gacha-frame>.gacha-result-summary{overflow:auto;padding:8px}
  .gacha-toast,.gacha-error{flex:0 0 auto;max-height:72px;overflow:auto;margin:4px 0;padding:8px;font-size:14px}
  .gacha-frame>.gacha-reveal{min-height:0;overflow:auto}

  .mission-main{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;overflow:hidden}
  .mission-summary{flex:0 0 auto;grid-template-columns:auto minmax(0,1fr) auto;padding:6px;gap:8px;margin-bottom:8px}
  .mission-tabs{grid-column:auto;display:flex;min-width:0}.mission-tabs button{min-width:74px;padding:5px;font-size:14px}
  .mission-period strong,.mission-period span{font-size:12px;margin:0}.mission-balance{padding:5px 9px;min-width:85px}
  .mission-list{min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px 2px 8px}
  .mission-card{padding:12px}.mission-card h2{font-size:16px}.mission-card p{font-size:14px}.mission-error,.mission-presentation{flex:0 0 auto;max-height:68px;overflow:auto}
  .cosmetic-collection,.cosmetic-global,.cosmetic-cards,.cosmetic-titles{flex:1;min-height:0;padding:8px 12px;overflow:auto}
  .cosmetic-category-select{position:sticky;top:-8px;z-index:3;display:grid;grid-template-columns:auto minmax(140px,1fr);align-items:center;background:#101821;padding:6px;margin:0 0 8px;border-bottom:1px solid #4c5361}
  .cosmetic-global>p{margin:0 0 6px;font-size:14px}.cosmetic-slot{grid-template-columns:minmax(160px,.7fr) 120px minmax(0,1fr);margin:6px 0;padding:10px;gap:10px}
  .cosmetic-slot .cosmetic-choice-row{grid-column:auto;display:flex;flex-wrap:wrap}.cosmetic-slot .cosmetic-choice-row button{font-size:14px;min-height:44px}
  .cosmetic-slot header strong{font-size:14px}.cosmetic-card-select{grid-template-columns:auto minmax(0,1fr);padding:8px;position:sticky;top:-8px;z-index:2;background:#10171e}
  .cosmetic-art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cosmetic-art-choice img,.cosmetic-normal-art{height:150px}

  .card-pool-browser-layout{grid-template-columns:180px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;position:relative}
  .card-pool-filters{min-height:0;max-height:none;overflow:auto;padding:8px;border-right:1px solid #354151;border-bottom:0;overscroll-behavior:contain}
  .card-pool-filters fieldset{display:block;margin:10px 0}.card-pool-filters fieldset>div{display:flex;flex-wrap:wrap;overflow:visible;gap:4px}
  .card-pool-filters legend,.card-pool-search>span{font-size:12px;display:block}.card-pool-search input{width:100%;min-height:44px}.card-pool-filter-button{font-size:14px;padding:6px 9px}.card-pool-reset{display:block;font-size:14px}
  .card-pool-results{min-width:0;grid-template-rows:44px minmax(0,1fr)}
  .card-pool-results-head{height:44px;padding:0 8px;align-items:center;font-size:12px;gap:4px}.card-pool-results-head>b{font-size:16px}
  .landscape-rail-controls{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
  .landscape-rail-controls button{width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #727f96;border-radius:8px;background:#152239;color:#f4e4b2;font-size:26px;cursor:pointer}
  .landscape-rail-controls button:disabled{opacity:.35;cursor:default}.landscape-rail-controls span{font-size:12px;color:#c0cbd9}
  .card-pool-list{display:flex;flex-wrap:nowrap;align-content:normal;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:10px;padding:6px 8px 12px;scroll-snap-type:x proximity;scrollbar-gutter:auto;overscroll-behavior:contain}
  .card-pool-list-card{flex:0 0 228px;height:100%;min-height:0;aspect-ratio:auto;scroll-snap-align:start}
  .card-pool-list-art{flex:1;min-height:50px;max-height:45%}.card-pool-list-copy{flex:0 0 auto;min-height:0;padding:7px 8px}
  .card-pool-list-copy>b{font-size:16px;line-height:1.4;white-space:normal}.card-pool-card-kicker{margin-bottom:2px}.card-pool-card-kicker>em,.card-pool-card-kicker>i,.card-pool-list-copy>small>i,.card-pool-card-attr{font-size:12px}
  .card-pool-list-copy>small{margin-top:3px}.card-pool-card-effects{padding-top:4px;min-height:44px}.card-pool-card-effects .key-effect{min-height:42px}.card-pool-card-effects .key-effect small{font-size:12px;max-width:none}
  .card-pool-detail{display:none;position:absolute;inset:0;z-index:8;max-width:none;overflow:auto;overscroll-behavior:contain;border:0}
  .card-pool-detail.is-open{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);gap:0;overflow:hidden}
  .card-pool-detail-back{grid-column:1/-1;min-height:44px;padding:6px 12px}.card-pool-detail-art{height:100%;min-height:0;background-position:center;overflow:hidden}
  .card-pool-detail-copy{min-height:0;overflow:auto;padding:12px}.card-pool-detail-copy h2{font-size:22px}.card-pool-detail-copy dt,.card-pool-detail-copy dd{font-size:12px}.card-pool-formal-text{font-size:16px;line-height:1.65}
  .general-mobile-active .card-detail-modal{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(0,1fr);gap:12px}
  .general-mobile-active .card-detail-modal .detail-body{min-height:0;max-height:68dvh;overflow:auto}
}
@media(orientation:landscape) and (max-width:1180px) and (max-height:600px){
  .gacha-pull-panel:after{display:none}
  .gacha-pull-panel{min-width:0;min-height:0}
  .card-pool-list{scroll-padding-inline:8px}
  .gacha-item-grid{scroll-padding-inline:4px}
}

/* Three equal Starter choices. Scoped to the beginner selection only. */
.beginner-starter-app .beginner-archetype-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px;width:100%;gap:14px}
.beginner-starter-app .beginner-archetype-card{min-height:420px;padding:22px 18px;background-position:center top;box-shadow:0 12px 28px #0007,inset 0 5px 0 var(--attr)}
.beginner-starter-app .archetype-sun{--attr:#eba254}
.beginner-starter-app .archetype-earth{--attr:#87c595}
.beginner-starter-app .archetype-moon{--attr:#c4b1ec}
.beginner-starter-app .beginner-archetype-card>i{width:auto;height:auto;display:inline-block;margin:170px auto 8px;padding:4px 12px;font-size:18px;border-radius:20px}
.beginner-starter-app .beginner-archetype-card>strong{font-size:clamp(18px,2.1vw,27px);line-height:1.4}
.beginner-starter-app .starter-style{display:block;font-size:19px;color:var(--attr);margin-top:8px}
.beginner-starter-app .beginner-archetype-card>p{font-size:14px;min-height:46px;max-width:23em}
.beginner-starter-app .beginner-archetype-card>small{font-size:12px}
.beginner-starter-app .beginner-archetype-card>em{font-size:13px;margin-top:12px}
.beginner-starter-app .beginner-archetype-card:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:600px) and (orientation:portrait){
  .general-mobile-active .beginner-starter-app .beginner-select-panel{display:block}
  .general-mobile-active .beginner-starter-app .beginner-archetype-grid{grid-template-columns:1fr;overflow:visible}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card{min-height:310px;padding:16px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card>i{margin-top:90px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card>strong{font-size:24px}
}
@media(max-width:1000px) and (orientation:landscape){
  .general-mobile-active .beginner-starter-app .beginner-select-panel{display:block;height:100%;overflow:auto}
  .general-mobile-active .beginner-starter-app .beginner-archetype-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:8px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card{min-height:295px;padding:12px 8px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card>i{margin-top:70px;font-size:15px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card>strong{font-size:18px}
  .general-mobile-active .beginner-starter-app .starter-style{font-size:17px}
  .general-mobile-active .beginner-starter-app .beginner-archetype-card :is(p,small,em){font-size:12px;line-height:1.5}
}

/* Mission Hub sections span both columns; details remain collapsed by default. */
.mission-hub-heading,.mission-hub-details{grid-column:1/-1;min-width:0}
.mission-hub-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mission-hub-heading h2{font-size:17px;margin:0}
.mission-hub-details summary{cursor:pointer;padding:12px;font-weight:700;min-height:44px;box-sizing:border-box}
.mission-hub-details[open]{display:block}
.mission-hub-details .mission-card{margin:8px 0}
.mission-card{min-width:0;overflow-wrap:anywhere}
@media(max-height:600px) and (orientation:landscape){
 .mission-summary{grid-template-columns:minmax(0,1fr) auto}
 .mission-period{display:none}
 .mission-tabs button{min-width:0;flex:1}
 .mission-hub-heading button{min-height:44px}
}

/* The temporary fourth tab keeps a balanced, touch-friendly mobile layout. */
@media(max-width:720px){
 body .mission-frame .mission-tabs.has-limited{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;width:100%;box-sizing:border-box}
 body .mission-frame .mission-tabs.has-limited button{min-width:0;width:100%}
}

/* Only the temporary event view is a single full-width reward card. */
body .mission-main.limited-active .mission-list{grid-template-columns:minmax(0,1fr)}
@media(max-width:720px){
 body .mission-frame .mission-summary:has(.has-limited){grid-template-columns:minmax(0,1fr) auto}
 body .mission-main.limited-active .mission-card{grid-template-columns:minmax(0,1fr);max-width:100%;box-sizing:border-box}
 body .mission-main.limited-active .mission-card header{grid-column:1}
 body .mission-main.limited-active .mission-claim{grid-column:1;grid-row:auto;width:100%;min-height:44px}
 body .mission-main.limited-active .mission-progress-row{flex-wrap:wrap}
}
