/* Definite block size prevents the scroll pane collapsing during intrinsic sizing.
   Shared geometry belongs here; individual menu styles only skin their content. */
#dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:0;width:min(620px,calc(100vw - 24px));max-width:680px;height:min(760px,calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom))));max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));inset-block-start:max(16px,env(safe-area-inset-top));inset-block-end:max(16px,env(safe-area-inset-bottom));margin:auto;border-radius:18px;scroll-padding:0}
#dialogchrome{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;flex:none;padding:12px 16px;background:#13263a;border-bottom:1px solid #38536a;z-index:10}
#dialogchrome h2{grid-column:2;grid-row:1;font-size:20px;line-height:1.25;margin:0;font-weight:500;overflow-wrap:anywhere}
#dialogchrome .close{grid-column:3;grid-row:1;position:static;float:none;min-width:44px;min-height:44px;width:44px;height:44px;margin:0;background:#19354a;border:1px solid #527b96}
.dialog-back{grid-column:1;grid-row:1;min-height:44px;max-width:130px;padding:8px 10px;font-size:12px;line-height:1.35;background:#19354a;border:1px solid #52718b;border-radius:9px;color:#d8e9f5;margin:0!important}
#dialogcontent{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:85px 0 20px;padding:18px;scrollbar-gutter:stable}
#dialog .command-heading{position:static;inset:auto;display:flex;justify-content:space-between;padding:0;min-height:0;margin:0 0 12px}
#dialog .command-heading .command-wallet{margin:0;font-size:13px}.command-heading .tag{font-size:10px}
#dialog .command-nav{top:-18px;margin:0 -1px 16px;padding:9px 5px;background:#102338;border-color:#39556c;z-index:5}
#dialog .command-intro{color:#c0d0df;font-size:14px}
#dialog .command-world:disabled{opacity:1;background:#102033;border-color:#2e455c;color:#a9bbd0}
#dialog .command-world:disabled small{color:#a5b7cb}.command-world:disabled .command-world-art{opacity:.55}
#dialog .command-world small,.command-note{font-size:12px;line-height:1.5}
.route-tabs,.shop-availability{display:flex;gap:7px;margin:12px 0}.route-tabs button,.shop-availability button{flex:1;min-height:44px;background:#152c41;border:1px solid #496780;border-radius:9px;padding:8px;color:#bfd0e2}
.route-tabs button[aria-pressed=true],.shop-availability button[aria-pressed=true]{background:#315264;color:#eefcff;border-color:#86cbd5}
.current-world{width:100%;min-height:44px;background:#214451;border:1px solid #6da8ad;color:#e6fbf6;border-radius:9px;padding:10px}
.medal-key{font-size:12px!important;color:#c2cde0!important;margin:10px 0}.world-medals{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.world-medals span{font-size:11px;color:#a6b9cb}.world-medals .earned{color:#eacb8e}
#dialog .account-play{position:static;background:none;padding:10px 0 0}.accounts .account-nav{margin:16px 0}.career-help{margin-top:16px;border-top:1px solid #3c526c;padding-top:12px}.career-help summary{min-height:44px;color:#bfd8eb;padding:10px 0;cursor:pointer}
.cloud-controls details{font-size:12px;color:#bfd1e1}.cloud-controls details summary{min-height:44px;padding:12px 0;cursor:pointer}
.achievement-filters{position:sticky;top:-18px;z-index:4;background:#112338;border:1px solid #3b566e;border-radius:10px;padding:10px;margin:16px 0}
#dialog .achievement-card{padding:14px}.achievement-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:60px;cursor:pointer;list-style:none}.achievement-summary::-webkit-details-marker{display:none}.achievement-summary:after{content:'Details ▾';font-size:11px;color:#a9cde4;flex:none}.achievement-card[open]>.achievement-summary:after{content:'Less ▴'}.achievement-summary .achievement-card-head{flex:1;min-width:0}.achievement-summary h3{font-size:16px}.achievement-preview{font-size:13px;line-height:1.5;color:#c1d0df;margin:6px 0}
.research-next{font-size:13px!important;color:#d7d0f2!important}.research-limit{font-size:12px!important;color:#c4cde0!important}.research-grid .research-current{font-size:13px;color:#bddad9}.settings-help{font-size:14px!important;color:#c2d0df!important}.settings-toggles label{display:flex;align-items:center;gap:10px;min-height:48px;font-size:14px;color:#d4dfef}.settings-toggles input{width:20px;height:20px;accent-color:#9d9bea}
#dialog .archive-count,#dialog .archive-footnote,#dialog .archive-list button:disabled small{color:#b2c4d9;opacity:1}#dialog .archive-list button:disabled{opacity:1;background:#102034}#dialog .archive-filter{position:sticky;top:-18px;padding:12px 0;background:#112338;z-index:3}
#dialog .shop-price.locked{color:#e0c68d}#dialog .shop-card-text p{color:#bbcede}.shop-availability{flex-wrap:wrap}.shop-availability button{font-size:12px;min-width:80px}
@media(max-width:480px){#dialog[open]{width:calc(100vw - 20px)}#dialogchrome{padding:10px 12px;gap:8px}#dialogchrome h2{font-size:18px}#dialogcontent{padding:16px}#dialog .command-nav,.achievement-filters,#dialog .archive-filter{top:-16px}.dialog-back{max-width:105px;font-size:11px}.achievement-summary{align-items:flex-start;flex-wrap:wrap}.achievement-summary .achievement-card-head{flex-basis:100%}}
@media(orientation:landscape) and (max-height:550px){#dialog[open]{height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));inset-block-start:max(10px,env(safe-area-inset-top));inset-block-end:max(10px,env(safe-area-inset-bottom));width:min(760px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)))}#dialogchrome{padding:6px 12px}#dialogcontent{padding:12px 16px}#dialog .command-nav,.achievement-filters,#dialog .archive-filter{top:-12px}}
