/* Menus belong to the game world. Gameplay layout keeps its existing rules. */
.top-actions .profile-button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:5px;border:0;background:none}.profile-button .badge-art{width:29px;height:32px}body:has(#stage[data-view="game"]) .profile-button{display:none}
.badge-art{display:block;width:64px;height:70px;overflow:visible}.badge-ribbon{fill:#477d91}.badge-rim{fill:#e9c271}.badge-core{fill:#253c50}.badge-glyph{fill:#f9e9ae}.badge-art.locked .badge-rim{fill:#617987}.badge-art.locked .badge-glyph{fill:#84989c}.badge-art.locked .badge-core{fill:#1d3044}.badge-art.locked .badge-ribbon{fill:#344c62}
#profileScreen{padding:80px max(28px,calc((100vw - 980px)/2)) 25px;background:#061126ed;color:#fff3d6}#profileScreen>.screen-heading{flex-shrink:0;margin-bottom:12px}#profileScreen .eyebrow{font:9px/1.5 Consolas,monospace;letter-spacing:2px;color:#b4d2ca}#profileScreen h2{font:900 34px/1.1 Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:1px;margin:5px 0}#profileScreen h2 em{color:#a1ecd5;font-style:normal}#profileScreen .close-button{min-width:44px;min-height:44px;background:none;border:0;box-shadow:none;color:#d9f0e6;font-size:25px}#profileScreen .profile-scroll{overflow-y:auto;overflow-x:hidden;min-height:0;padding:0 4px 40px;scrollbar-width:thin;scrollbar-color:#658e9177 transparent}
.player-stage{display:flex;align-items:center;gap:18px;margin:0 0 18px;min-width:0}.player-avatar{position:relative;flex:0 0 150px;background:radial-gradient(ellipse at center,#25626a75,transparent 65%)}.player-avatar>canvas{display:block;width:150px;height:150px;image-rendering:pixelated}#featuredBadge{position:absolute;right:-2px;bottom:7px}#featuredBadge .badge-art{width:48px;height:53px}.player-identity{min-width:0}.player-identity>small{font:8px/1.5 Consolas,monospace;letter-spacing:1.5px;color:#83c3bd}.player-identity h3{font:900 28px/1.15 "Arial Black",sans-serif;overflow-wrap:anywhere;margin:6px 0;color:#f4eccf}.player-identity p{font:12px/1.5 Consolas,monospace;color:#e9c271;margin:5px 0}.player-identity>span{display:block;font:10px/1.6 Consolas,monospace;color:#bad1cc}
.nickname-editor{padding:15px 0 20px;border-bottom:2px solid #42616c66}.nickname-editor>label{display:block;font:700 12px/1.5 Consolas,monospace;margin-bottom:8px;color:#deeadb}.nickname-editor>div{display:flex;gap:10px}.nickname-editor input{min-width:0;flex:1;width:100%;min-height:46px;background:#13293d;border:1px solid #688d94;border-radius:2px;color:#fff0cf;font:16px/1.4 Consolas,monospace;padding:9px 12px}.nickname-editor input[aria-invalid="true"]{border-color:#ff8eb5}.nickname-editor button{min-height:46px;background:#b5ebd8;border:0;border-bottom:4px solid #4f9091;color:#163146;font:700 12px Consolas,monospace;padding:8px 15px}.nickname-editor>small{display:block;font:10px/1.6 Consolas,monospace;color:#9eb8be;margin-top:7px}.nickname-editor>p{font:11px/1.5 Consolas,monospace;color:#c9ecde;min-height:17px;margin:5px 0 0}
.badge-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 6px}.badge-heading h3{font:900 21px/1.2 "Arial Black",sans-serif;margin:0}.badge-heading>span{font:12px Consolas,monospace;color:#eacb85}.badge-hint{font:11px/1.65 Consolas,monospace;color:#acc6ca;margin:0 0 15px}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.badge-item{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;min-height:238px;padding:18px 12px 13px;border:0;border-bottom:3px solid #44616e;background:#12273b;color:#c6d4d4;border-radius:0;text-align:center}.badge-item:disabled{opacity:1;cursor:default}.badge-item.won{background:#18384a;border-color:#bda66d;color:#fff0c9}.badge-item.pinned{outline:2px solid #b1f1d6;outline-offset:-2px;background:#204b55}.badge-item strong{font:700 13px/1.3 Consolas,monospace;min-height:34px;display:flex;align-items:center}.badge-rule{font:10px/1.55 Consolas,monospace;color:#aac0c8;flex:1}.badge-item.won .badge-rule{color:#c4dcd5}.badge-item small{font:8px Consolas,monospace;letter-spacing:1px;color:#a6babc}.badge-item.won small{color:#e6ca87}.badge-progress{width:100%;height:3px;background:#0a1729;display:block}.badge-progress i{display:block;background:#789eaa;height:100%}.badge-item.won .badge-progress i{background:#cfba79}.profile-save-note{margin:24px 0 0;padding-top:16px;border-top:2px solid #365968}.profile-save-note>p{font:11px/1.75 Consolas,monospace;color:#adc5c9}.profile-save-note .backup-controls{margin:12px 0 0}.new-badges{margin-top:19px;padding-top:14px;border-top:1px solid #5e777b;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.new-badges>small{width:100%;font:9px Consolas,monospace;letter-spacing:2px;color:#e9cb83}.new-badges>span{display:flex;align-items:center;gap:8px;font:11px Consolas,monospace;color:#f3e9ce}.new-badges .badge-art{width:32px;height:35px}
@media(max-width:650px){#profileScreen{padding:74px 18px 15px}#profileScreen h2{font-size:29px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-avatar{flex-basis:110px}.player-avatar>canvas{width:110px;height:125px}.player-stage{gap:15px;margin-bottom:5px}.player-identity h3{font-size:23px}.player-identity>span{font-size:9px}.player-identity p{font-size:10px}#featuredBadge .badge-art{width:38px;height:42px}.badge-item{min-height:236px;padding:16px 10px 12px}.nickname-editor button{padding:8px 12px;font-size:11px}}
@media(orientation:landscape) and (max-height:600px){#profileScreen{padding:53px 24px 12px}.profile-scroll{padding-bottom:20px}.badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.player-stage{float:left;width:42%;margin-right:5%;min-height:150px;gap:14px}.player-avatar{flex-basis:100px}.player-avatar>canvas{width:100px;height:120px}.player-identity h3{font-size:22px}#featuredBadge .badge-art{width:36px;height:40px}.nickname-editor{margin-left:47%;min-height:150px;padding-top:15px}.badge-heading{clear:both;padding-top:20px}.badge-item{min-height:227px}}
/* Collectible enamel pins: substantial artwork with readable locked silhouettes. */
.badge-art.badge-enamel{width:96px;height:112px;stroke:none;stroke-width:0;filter:drop-shadow(0 5px 0 #040b1d66)}
.badge-grid .badge-enamel{width:104px;height:122px;flex-shrink:0;margin-bottom:2px}
.profile-button .badge-enamel{width:30px;height:35px;filter:none}
.new-badges .badge-enamel{width:40px;height:47px;filter:none}
.badge-item{min-height:278px;padding:15px 11px 14px;background:radial-gradient(ellipse at 50% 38%,#233b5633,transparent 70%);border:0;border-bottom:1px solid #35526977;gap:8px}
.badge-item.won{background:radial-gradient(ellipse at 50% 37%,#6a64432b,transparent 70%);border-color:#8b7e5055}
.badge-item.pinned{outline:none;background:radial-gradient(ellipse at 50% 36%,#599c8436,transparent 70%);border-bottom:3px solid #a6e4cb;box-shadow:inset 0 -12px 16px -16px #6ed7b4}
.badge-item strong{font:800 14px/1.3 var(--ui-font,"Segoe UI",sans-serif);min-height:34px;color:#dce8e7}
.badge-item.won strong{color:#ffedc8}.badge-item .badge-rule{font:11px/1.55 var(--ui-font,"Segoe UI",sans-serif);color:#9eafb9}
.badge-item.won .badge-rule{color:#b8cdc9}.badge-item small{font-size:8px;letter-spacing:1.2px}
.badge-item:disabled .badge-enamel{opacity:.85}.badge-progress{height:3px;width:78%;margin-top:1px}
@media(max-width:650px){.badge-item{min-height:278px;padding:13px 8px 14px}.badge-grid{gap:10px 12px}.badge-grid .badge-enamel{width:100px;height:117px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body:has(#stage:not([data-view="game"])){background:#080d23;overflow:hidden}
body:has(#stage:not([data-view="game"])) .app{width:100%;max-width:none;height:100dvh;margin:0;padding:0}
#stage:not([data-view="game"]){height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;background:#080d23}
#stage:not([data-view="game"])>.corner{display:none}
#stage:not([data-view="game"])>#game{opacity:1;filter:brightness(.64) saturate(.85)}
body:has(#stage:not([data-view="game"])) .topbar{position:absolute;z-index:8;top:0;left:0;width:100%;height:65px;min-height:0;padding:10px max(22px,env(safe-area-inset-right)) 8px max(22px,env(safe-area-inset-left));background:linear-gradient(#071026c9,#07102600);border:0}
body:has(#stage:not([data-view="game"])) .brand{font-size:11px;letter-spacing:1px;gap:7px;color:#e4f5ef}
body:has(#stage:not([data-view="game"])) .brand small{display:none}
body:has(#stage:not([data-view="game"])) .brand-sprite{width:28px;height:28px}
body:has(#stage:not([data-view="game"])) .top-actions{gap:13px}
body:has(#stage:not([data-view="game"])) .top-actions button{background:none;border:0;border-radius:0;box-shadow:none;padding:0;min-width:28px;min-height:36px;color:#d1eeeb}
body:has(#stage:not([data-view="game"])) .top-actions .wallet{gap:6px;font:700 13px Consolas,monospace}
body:has(#stage:not([data-view="game"])) .wallet-label,body:has(#stage:not([data-view="game"])) .top-divider{display:none}
body:has(#stage:not([data-view="game"])) .top-actions .icon-button{width:28px;height:32px}
body:has(#stage:not([data-view="game"])) .language-button{font-size:9px}
body:has(#stage:not([data-view="game"])) .page-footer{position:absolute;bottom:4px;left:20px;right:20px;z-index:5;height:18px;min-height:18px;border:0;padding:0;pointer-events:none;justify-content:flex-start;opacity:.58}
body:has(#stage:not([data-view="game"])) .page-footer>*{display:none}
body:has(#stage:not([data-view="game"])) .page-footer #offlineStatus{display:block;font-size:7px;letter-spacing:1px}

/* Title screen: a wordmark, a hero on a roof, and the next jump. */
#homeScreen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:85px 24px 28px;text-align:center;background:linear-gradient(#030b2500 45%,#061028b8)}
#homeScreen .hero-heading{position:relative;top:auto;left:auto;right:auto;transform:none;order:0;grid-area:auto;align-self:auto;width:min(520px,80vw);padding:0;margin:0;text-align:center}
#homeScreen .hero-heading>.eyebrow{display:block;font:8px/1.5 Consolas,monospace;letter-spacing:3px;color:#d8e9d6;margin:0 0 9px}
#homeScreen .hero-heading h1{margin:0;line-height:1;text-shadow:none;filter:none;width:100%;height:auto}
#titleArt{display:block;width:100%;height:auto;image-rendering:pixelated}
#homeScreen .hero-heading>p{display:block;margin:12px 0 0;font:12px/1.6 Consolas,monospace;color:#d7e8e0;letter-spacing:0}
#homeScreen .hero-character{position:relative;grid-area:auto;align-self:auto;justify-self:auto;top:auto;left:auto;transform:none;width:min(340px,55vw);height:min(300px,31dvh);min-height:130px;max-height:none;flex:1 1 170px;margin:4px 0 0}
#homeScreen .hero-character canvas{position:static;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 0 #060a22);image-rendering:pixelated;animation:none;transform:none}
#homeScreen .hero-world{display:none}
#homeScreen .hero-world .world-marker,#homeScreen .hero-world small{display:none}
#homeScreen .hero-world strong{color:#d0e7d6;font:10px/1.4 Consolas,monospace;letter-spacing:1.5px;text-shadow:0 2px #060c24}
#homeScreen .home-bottom{position:relative;grid-area:auto;display:block;width:min(520px,100%);top:auto;left:auto;right:auto;bottom:auto;margin:0 auto}
#homeScreen .home-buttons{display:flex;flex-direction:column;gap:17px;align-items:center}
#homeScreen .home-buttons>.play-button{width:min(300px,100%);min-height:62px;border:0;border-radius:0;padding:12px 24px;background:#b9f6df;color:#12273a;box-shadow:0 5px 0 #2c7f7f,0 8px 0 #050b21;clip-path:polygon(7px 0,calc(100% - 7px) 0,calc(100% - 7px) 5px,100% 5px,100% calc(100% - 5px),calc(100% - 7px) calc(100% - 5px),calc(100% - 7px) 100%,7px 100%,7px calc(100% - 5px),0 calc(100% - 5px),0 5px,7px 5px);font:900 19px/1.2 Consolas,monospace;letter-spacing:2px;justify-content:center;gap:13px}
#homeScreen .play-button small{display:none}
#homeScreen .play-triangle{font-size:18px}
#homeScreen .arcade-links{display:flex;gap:29px;flex-wrap:wrap;justify-content:center}
#homeScreen .arcade-links .menu-tile{min-height:36px;padding:2px;border:0;border-radius:0;background:none;color:#f0f0d5;box-shadow:none;font:700 11px/1.5 Consolas,monospace;text-shadow:0 2px #070d22;letter-spacing:1px}
#homeScreen .arcade-links .test-menu-entry{font-size:10px;color:#8dc5c6}
#homeScreen .home-foot{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;margin-top:15px}
#homeScreen .home-foot .admont-entry,#homeScreen .home-foot .christmas-entry,#homeScreen .home-foot .story-entry,#homeScreen .home-foot #dailyButton{background:none;border:0;min-height:31px;margin:0;padding:3px 0;font:8px/1.6 Consolas,monospace;letter-spacing:.5px;color:#a9c2c8}
#homeScreen .home-meta,#homeScreen .hero-caption,#homeScreen .adventure-progress{display:none}

/* The chapter selector is a rooftop map; controls stay off its main path. */
#playtestScreen,#worldScreen,#shopScreen{padding:80px max(28px,calc((100vw - 1040px)/2)) 30px;background:linear-gradient(#070f27ba,#07112766 45%,#060d22b8);color:#fff3d6}
#playtestScreen .screen-heading,#worldScreen .screen-heading,#shopScreen .screen-heading{margin:0 0 15px;gap:12px;align-items:center;flex-shrink:0}
#playtestScreen .screen-heading .eyebrow,#worldScreen .screen-heading .eyebrow,#shopScreen .screen-heading .eyebrow{font:8px/1.5 Consolas,monospace;letter-spacing:2px;color:#c3d5cb}
#playtestScreen h2{width:310px;max-width:80vw;height:100px;margin:5px 0 0;font-size:0;line-height:1}
#chapterTitleArt{width:100%;height:100%;object-fit:contain;object-position:left center;image-rendering:pixelated}
#playtestScreen .close-button,#worldScreen .close-button,#shopScreen .close-button{align-self:flex-start;margin-top:3px;border:0;border-radius:0;background:none;box-shadow:none;width:38px;height:38px;min-width:38px;color:#cce5de;font-size:24px}
#playtestScreen>.scroll-area{display:block;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#749e9b66 transparent;padding-right:9px}
#playtestScreen .test-intro{max-width:430px;margin:0 0 12px;color:#cfddd8;font:11px/1.7 Consolas,monospace}
#playtestScreen .test-loadout{padding:0;margin:0 0 8px;border:0;border-radius:0;background:none;max-width:420px}
#playtestScreen .test-loadout>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:42px;padding:3px 0;list-style:none;color:#c9ebdc;font:12px/1.6 Consolas,monospace}
#playtestScreen .test-loadout>summary::-webkit-details-marker{display:none}
#testLoadoutToggle{font-size:8px;letter-spacing:1px;color:#a7c7c2}#testLoadoutToggle:after{content:' ▾'}
#playtestScreen .test-loadout[open]>summary{margin-bottom:8px}
#playtestScreen .test-loadout>.eyebrow{display:none}
#playtestScreen .test-weapons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:3px 0 8px}
#playtestScreen .test-weapons button{border:0;border-bottom:2px solid transparent;border-radius:0;background:#08132b90;min-height:63px;font:10px Consolas,monospace;padding:7px 3px;box-shadow:none}
#playtestScreen .test-weapons button.selected{border-color:#b9f6df;background:#0d2931a8;box-shadow:none}
#playtestScreen .test-loadout p{margin:4px 0 9px;color:#a6bdc2;font-size:10px}
#playtestScreen .test-progress{margin:4px 0 0;min-height:0;font:8px/1.5 Consolas,monospace;color:#92b6bd;justify-content:flex-start;gap:16px}
#playtestScreen #testReportCount{display:none}
#playtestScreen .test-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 36px;padding:22px 0 28px;margin:0;max-width:900px;position:relative}
#playtestScreen .test-level{grid-column:var(--col-wide);grid-row:var(--row-wide);display:block;position:relative;isolation:isolate;min-height:168px;height:168px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:center;color:#e5f0de;overflow:visible}
#playtestScreen .test-level:hover{transform:translateY(-3px)}
#playtestScreen .path-island{position:absolute;top:0;left:50%;transform:translateX(-50%);width:150px;height:137px;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 4px 0 #050a21)}
#playtestScreen .path-runner{position:absolute;z-index:3;top:-9px;left:50%;transform:translateX(-50%);width:96px;height:107px;image-rendering:pixelated;pointer-events:none}
#playtestScreen .test-level-top{position:absolute;z-index:4;left:calc(50% - 63px);top:38px;width:28px;height:47px;margin:0;padding:0;border-left:3px solid #c0d7cb;display:block}
#playtestScreen .test-level-top b{display:block;width:33px;height:26px;margin-left:0;border:0;border-radius:0;background:#263c55;color:#dbeee1;box-shadow:3px 3px 0 #050b21;font:700 16px/26px Consolas,monospace;text-shadow:1px 1px #050b21}
#playtestScreen .test-level.completed .test-level-top b{background:#367a63;color:#eaffc9}
#playtestScreen .test-level.active-stop .test-level-top b{background:#9edec8;color:#15333b;text-shadow:none}
#playtestScreen .test-level.boss-level .test-level-top b{background:#8b496d;color:#ffe0e9}
#playtestScreen .test-level-top>span{display:none}
#playtestScreen .test-level strong{position:absolute;top:130px;left:-5px;right:-5px;z-index:2;display:block;max-width:none;min-height:0;margin:0;font:10px/1.5 Consolas,monospace;color:#e5ead6;text-shadow:0 2px #040b20}
#playtestScreen .test-level>small{display:none}
#playtestScreen .test-level-bottom{position:absolute;top:161px;left:0;right:0;display:flex;justify-content:center;gap:6px;font-size:8px}
#playtestScreen .test-stars{font-size:9px;letter-spacing:2px;color:#9bb8ac}
#playtestScreen .test-level::after{content:'';display:block;position:absolute;z-index:-1;top:91px;left:calc(50% + 65px);right:auto;width:calc(100% - 94px);height:0;border-top:2px dashed #a9b39a80;background:none;opacity:.7}
#playtestScreen .test-level:nth-child(8n+5)::after,#playtestScreen .test-level:nth-child(8n+6)::after,#playtestScreen .test-level:nth-child(8n+7)::after{left:auto;right:calc(50% + 65px)}
#playtestScreen .test-level:nth-child(4n)::after{display:none}
#playtestScreen .test-level:nth-child(4n)::before{content:'';position:absolute;left:50%;top:112px;width:0;height:90px;border-left:2px dashed #a9b39a70;z-index:-1}
#playtestScreen .test-level:last-child::before{display:none}
#playtestScreen .test-notes{border:0;border-top:1px solid #a2c2bb33;margin-top:10px;padding-top:12px;color:#9cb7bc;font:10px/1.7 Consolas,monospace}
#playtestScreen .test-notes>summary{cursor:pointer;min-height:36px}
#playtestScreen .test-tools{border:0;display:flex;flex-wrap:wrap;gap:8px;padding:7px 0}
#playtestScreen .test-tools button{border:0;border-radius:0;background:#0c203580;font:10px Consolas,monospace;min-height:42px;color:#d4e2da}
#playtestScreen .test-privacy{max-width:650px;font-size:9px;color:#92aab4}

/* The crew has a shared stage; avatars are collectibles, not product cards. */
#shopScreen .screen-heading h2,#worldScreen .screen-heading h2{font:900 32px/1 Impact,"Arial Black",sans-serif;letter-spacing:2px;color:#f1eed7;text-transform:uppercase;text-shadow:3px 3px #050b21}
#shopScreen .screen-heading h2 em,#worldScreen .screen-heading h2 em{font-style:normal;color:#9de6d5}
#shopScreen .shop-tabs{display:flex;justify-content:center;gap:30px;border:0;margin:0 0 10px}
#shopScreen .shop-tabs button{flex:0 1 auto;min-height:42px;padding:4px 2px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;font:700 11px Consolas,monospace;color:#9eb8c0;box-shadow:none}
#shopScreen .shop-tabs button.active{color:#d4f4d8;border-color:#a6dfca;background:none}
#shopScreen .shop-toolbar{border:0;background:none;min-height:34px;margin:0 0 7px}
#shopScreen .segmented{gap:13px;flex-wrap:wrap}#shopScreen .segmented button{border:0;border-radius:0;background:none;min-height:32px;padding:2px;font:10px Consolas,monospace;color:#9cb9c1}
#shopScreen .segmented button.active{color:#e5e6ca;text-decoration:underline;text-underline-offset:6px}
#ownedCount{font:9px Consolas,monospace;color:#93acb6}
#shopScreen .crew-stage{display:flex;align-items:center;justify-content:center;gap:20px;min-height:220px;margin:-10px 0 12px;background:radial-gradient(ellipse at 40% 80%,#70a39e20,transparent 65%)}
#crewHero{width:240px;height:225px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 #050b21)}
#crewStageLabel{font:8px/1.5 Consolas,monospace;letter-spacing:2px;color:#a5bfbf}
#crewHeroName{font:900 29px/1.1 Impact,"Arial Black",sans-serif;letter-spacing:1px;margin:7px 0;color:#e5f5d8;text-shadow:2px 2px #050b21}
#crewHeroAbility{font:10px/1.7 Consolas,monospace;color:#a8c9c6;max-width:150px}
#shopScreen .shop-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:0 0 20px}
#shopScreen .skin-card{height:140px;grid-template-rows:92px 20px 18px;padding:3px 0;border:0;border-bottom:2px solid #a1bec52e;border-radius:0;background:none;box-shadow:none;overflow:visible}
#shopScreen .skin-card.equipped{border-color:#b5ebcf;background:linear-gradient(transparent,#b5ebcf12);box-shadow:none}
#shopScreen .skin-card canvas{width:105px;height:92px;max-width:100%;object-fit:contain;image-rendering:pixelated}
#shopScreen .skin-card strong{font:10px/1.5 Consolas,monospace;color:#e5edda}
#shopScreen .skin-card small{font:8px/1.5 Consolas,monospace;color:#9ab4b8}
#shopScreen .skin-card .skin-badge{font-size:6px;background:none;color:#e6d9af;top:0}
#shopScreen .outfit-panel{background:none;border:0;box-shadow:none;border-radius:0}
#shopScreen .outfit-preview{background:radial-gradient(ellipse at center,#83b7b51c,transparent 70%);border:0;border-radius:0}
#shopScreen .outfit-settings .upgrade-panel{background:none;border:0;padding:0}
#shopScreen .addon-gallery{border:0}
#shopScreen .addon-card{height:182px;grid-template-rows:130px 24px 22px;padding:3px;border:0;border-bottom:2px solid #a5c3bb33;border-radius:0;background:none;box-shadow:none}
#shopScreen .addon-card canvas{height:128px;width:128px;max-width:100%}
#shopScreen .addon-card strong{font:11px Consolas,monospace}#shopScreen .addon-card small{font:9px Consolas,monospace;color:#bad5c6}
#shopScreen .weapon-grid{gap:24px}
#shopScreen .weapon-card{background:#07162b70;border:0;border-bottom:3px solid var(--weapon-color);border-radius:0;padding:16px;box-shadow:none}
#shopScreen .weapon-card.equipped{background:#132a3670;box-shadow:none}
#shopScreen .weapon-symbol{font-size:45px;color:var(--weapon-color)}#shopScreen .weapon-card h3{font:700 21px Consolas,monospace;color:#e6f2d9}
#shopScreen .weapon-card p,#shopScreen .weapon-stats{font:10px/1.7 Consolas,monospace;color:#b4ccc6}
#shopScreen .weapon-card button{border:0;border-radius:0;font:10px Consolas,monospace;box-shadow:0 3px 0 #050b21}

/* World postcards lead into a game path rather than a table of levels. */
#worldScreen{background:#0a1429}
#worldScreen .level-section{background:#0a1429}
#worldScreen .world-card{opacity:1}
#worldScreen .world-card small{color:#b2c6ce}
#worldScreen .world-vista{display:block;width:100%;height:200px;object-fit:cover;image-rendering:pixelated;margin:0 0 14px;border:0;clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}
#worldScreen .world-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:14px;padding:0 0 15px;margin:0;scrollbar-width:thin;scrollbar-color:#6d9c9c77 transparent}
#worldScreen .world-card{flex:0 0 144px;scroll-snap-align:start;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;box-shadow:none;opacity:.68}
#worldScreen .world-card.selected{border-color:#aee5cc;opacity:1;box-shadow:none}
#worldScreen .world-card canvas{height:75px;image-rendering:pixelated;opacity:.85}
#worldScreen .world-card .world-details{padding:8px 0;gap:6px}#worldScreen .world-card strong{font:10px/1.5 Consolas,monospace;color:#dce8d6}#worldScreen .world-card small{font:7px Consolas,monospace}#worldScreen .world-number{display:none}
#worldScreen .level-section{border:0;padding:20px 0}
#worldScreen .level-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}#levelWorldName{font:700 14px/1.5 Consolas,monospace;color:#b9e4d5}#levelWorldProgress{font:8px Consolas,monospace;color:#a4bec2}
#worldScreen .level-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:19px 12px;padding:8px 0 20px}
#worldScreen .level-button{width:46px;height:46px;min-height:46px;margin:auto;border:2px solid #6c9e9f;border-radius:50%;background:#0b2032;font:700 15px Consolas,monospace;color:#d3e6d1;box-shadow:0 4px 0 #040c20}
#worldScreen .level-button:disabled{opacity:1;border-color:#50667f;background:#16263c;color:#afc2cd;box-shadow:0 4px 0 #040c20}
#worldScreen .level-button.current{background:#b8efd5;border-color:#e2ffe2;color:#15333c;box-shadow:0 4px 0 #2a777a}
#worldScreen .level-button.completed{background:#235647;border-color:#75bd9c;color:#e3f4cb}
#worldScreen .helper{font:10px/1.7 Consolas,monospace;color:#abc6c2;max-width:650px}

/* Story and pause windows use the same console palette. */
#modalCard{border:3px solid #729f9f;border-radius:0;background:#0a192df5;box-shadow:0 0 0 3px #040b20,0 7px 0 #03091a}
#modalCard h2{font-family:Impact,"Arial Black",sans-serif;letter-spacing:1px;color:#f1efdc;text-shadow:2px 2px #040b20}
#modalCard .modal-buttons button{border-radius:0;font-family:Consolas,monospace;box-shadow:0 3px 0 #040b20}
#modalCard .modal-buttons .primary{border-color:#b9f6df;background:#b9f6df;color:#183640}

@media(max-width:650px){
 body:has(#stage:not([data-view="game"])) .topbar{height:62px;padding:8px 18px}
 body:has(#stage:not([data-view="game"])) .brand>span{display:none}
 body:has(#stage:not([data-view="game"])) .top-actions{gap:17px}
 #homeScreen{padding:83px 24px 24px}
 #homeScreen .hero-heading{width:min(350px,93%)}#homeScreen .hero-heading>.eyebrow{font-size:7px;letter-spacing:2px}
 #homeScreen .hero-heading>p{max-width:260px;margin:7px auto 0;font-size:10px}
 #homeScreen .hero-character{width:285px;height:30dvh;flex-basis:150px;min-height:130px;margin:5px 0 0}
 #homeScreen .hero-world{margin:-4px 0 14px}
 #homeScreen .home-buttons>.play-button{width:260px;min-height:59px;font-size:18px}
 #homeScreen .arcade-links{gap:26px}#homeScreen .arcade-links .menu-tile{font-size:10px}#homeScreen .arcade-links .test-menu-entry{font-size:8px}
 #homeScreen .home-foot{gap:2px 16px;margin-top:12px}
 #homeScreen .home-foot .admont-entry,#homeScreen .home-foot .christmas-entry,#homeScreen .home-foot .story-entry,#homeScreen .home-foot #dailyButton{font-size:7px;min-height:29px}
 #playtestScreen,#worldScreen,#shopScreen{padding:79px 22px 23px}
 #playtestScreen h2{width:250px;height:86px;margin-top:4px;max-width:70vw}
 #playtestScreen .screen-heading{margin-bottom:9px}
 #playtestScreen>.scroll-area{padding-right:3px}
 #playtestScreen .test-intro{font-size:10px;line-height:1.7;margin-bottom:7px;max-width:320px}
 #playtestScreen .test-progress{font-size:7px;margin-top:4px}
 #playtestScreen .test-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 26px;padding-top:12px}
 #playtestScreen .test-level{grid-column:var(--col-small);grid-row:var(--row-small)}
 #playtestScreen .test-level::after{display:block;left:calc(50% + 61px);right:auto;width:calc(100% - 95px)}
 #playtestScreen .test-level:nth-child(4n+3)::after{left:auto;right:calc(50% + 61px)}
 #playtestScreen .test-level:nth-child(4n+1)::after{left:calc(50% + 61px);right:auto}
 #playtestScreen .test-level:nth-child(2n)::after{display:none}
 #playtestScreen .test-level:nth-child(2n)::before{content:'';display:block;position:absolute;top:114px;left:50%;width:0;height:96px;border-left:2px dashed #a9b39a70;z-index:-1}
 #playtestScreen .test-level:last-child::before{display:none}
 #playtestScreen .test-level strong{font-size:9px}
 #shopScreen .screen-heading h2,#worldScreen .screen-heading h2{font-size:27px}
 #shopScreen .shop-tabs{gap:24px;margin-bottom:7px}#shopScreen .shop-tabs button{font-size:10px}
 #shopScreen .crew-stage{min-height:170px;gap:7px;margin:0 0 10px;justify-content:center}
 #crewHero{width:180px;height:170px;max-width:56%}#crewHeroName{font-size:24px}#crewStageLabel{font-size:6px;letter-spacing:1px}#crewHeroAbility{font-size:8px}
 #shopScreen .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 7px}
 #shopScreen .skin-card{height:131px;grid-template-rows:85px 20px 18px}#shopScreen .skin-card canvas{width:94px;height:85px}#shopScreen .skin-card strong{font-size:9px}#shopScreen .skin-card small{font-size:7px}
 #shopScreen .addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #worldScreen .world-vista{height:150px}#worldScreen .world-card{flex-basis:128px}
 #worldScreen .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 13px}
 #worldScreen .level-button{width:46px;height:46px;min-height:46px;font-size:14px}
 #worldScreen .level-heading{gap:10px}#levelWorldName{font-size:11px}
}
@media(max-height:690px) and (orientation:portrait){
 #homeScreen{padding-top:70px;padding-bottom:18px}#homeScreen .hero-heading{width:270px}#homeScreen .hero-heading>p{font-size:9px}
 #homeScreen .hero-character{min-height:80px;height:23dvh;flex-basis:100px;width:240px}#homeScreen .hero-world{margin:0 0 8px}#homeScreen .home-buttons{gap:10px}#homeScreen .home-buttons>.play-button{min-height:52px}#homeScreen .home-foot{margin-top:4px}
}
@media(orientation:landscape) and (max-height:600px){
 body:has(#stage:not([data-view="game"])) .topbar{height:45px;padding:4px 18px}
 body:has(#stage:not([data-view="game"])) .brand>span{display:block;font-size:9px}
 #homeScreen{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:0 28px;padding:52px 40px 24px;align-items:center}
 #homeScreen .hero-heading{grid-column:1;grid-row:1;position:relative;align-self:start;width:100%;max-width:330px;justify-self:center;margin-top:0}
 #homeScreen .hero-heading>.eyebrow{font-size:6px;margin-bottom:4px}#homeScreen .hero-heading>p{display:none}
 #homeScreen .hero-character{grid-column:1;grid-row:1;align-self:end;justify-self:center;width:200px;height:150px;min-height:0;margin:-10px 0 -13px;pointer-events:none}
 #homeScreen .hero-world{grid-column:1;grid-row:2;margin:0;justify-self:center}#homeScreen .hero-world strong{font-size:8px}
 #homeScreen .home-bottom{grid-column:2;grid-row:1 / span 2;width:100%;max-width:360px;align-self:center}
 #homeScreen .home-buttons{gap:16px}#homeScreen .home-buttons>.play-button{min-height:57px;width:100%;max-width:290px;font-size:17px}
 #homeScreen .arcade-links{gap:23px}#homeScreen .arcade-links .menu-tile{font-size:9px}#homeScreen .arcade-links .test-menu-entry{font-size:8px}
 #homeScreen .home-foot{display:flex;gap:4px 16px;margin-top:15px}
 #playtestScreen,#worldScreen,#shopScreen{padding:53px 26px 22px}
 #playtestScreen .screen-heading{margin-bottom:0}#playtestScreen h2{width:230px;height:71px;margin:0}
 #playtestScreen>.scroll-area{display:grid;grid-template-columns:210px minmax(0,1fr);gap:0 24px;align-items:start}
 #playtestScreen .test-setup{position:sticky;top:0}#playtestScreen .test-intro{font-size:10px}#playtestScreen .test-weapons{grid-template-columns:repeat(2,minmax(0,1fr))}
 #playtestScreen .test-levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 16px;padding-top:5px}#playtestScreen .test-level{grid-column:var(--col-wide);grid-row:var(--row-wide);height:150px;min-height:150px}
 #playtestScreen .path-island{width:116px;height:106px;top:11px}#playtestScreen .path-runner{width:78px;height:87px;top:1px}
 #playtestScreen .test-level-top{left:calc(50% - 50px);top:38px;border-left-width:2px;height:41px}#playtestScreen .test-level-top b{width:26px;height:23px;font-size:13px;line-height:23px}
 #playtestScreen .test-level strong{top:115px;font-size:8px}#playtestScreen .test-level-bottom{top:145px}
 #playtestScreen .test-level::after{top:85px;left:calc(50% + 50px);right:auto;width:calc(100% - 80px)}
 #playtestScreen .test-level:nth-child(8n+5)::after,#playtestScreen .test-level:nth-child(8n+6)::after,#playtestScreen .test-level:nth-child(8n+7)::after{left:auto;right:calc(50% + 50px)}
 #playtestScreen .test-level:nth-child(4n)::after{display:none}
 #playtestScreen .test-notes{grid-column:1 / -1}
 #shopScreen .screen-heading h2,#worldScreen .screen-heading h2{font-size:24px}#shopScreen .shop-tabs{margin-bottom:3px}
 #shopScreen .crew-stage{min-height:130px;margin:0 0 8px}#crewHero{width:170px;height:135px}#crewHeroName{font-size:23px}#crewStageLabel{font-size:7px}
 #shopScreen .shop-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}#shopScreen .skin-card{height:124px;grid-template-rows:80px 20px 18px}#shopScreen .skin-card canvas{height:80px}
 #worldScreen .world-vista{height:130px}#worldScreen .world-grid{gap:12px}#worldScreen .world-card{flex-basis:120px}
}
/* Leave the provider badge clear of the last menu actions on a phone. */
#playtestScreen>.scroll-area,#worldScreen>.scroll-area,#shopScroll{padding-bottom:60px;scroll-padding-bottom:60px}
@media(max-width:650px) and (orientation:portrait){#homeScreen{padding-bottom:72px}}

/* The fitting room compares both poses and uses visible choices instead of a select. */
.stage[data-view="game"] .adventure-status{font:9px/1.5 Consolas,monospace;color:#e0ebd3;background:#0a1929bd;padding:4px 9px;border-top:1px solid #9ec9bf33;white-space:normal}
.stage[data-view="game"] .adventure-status[hidden]{display:none}
.stage[data-view="game"] .hud:has(.adventure-status:not([hidden])) .tutorial{top:98px}
#shopScreen .outfit-panel{grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);padding:0;gap:24px}
#shopScreen .outfit-preview{padding:0;min-width:0}
#shopScreen .outfit-poses{display:flex;justify-content:center;gap:8px}
#shopScreen .outfit-poses figure{margin:0;min-width:0;flex:1}
#shopScreen .outfit-poses canvas{width:100%;height:220px;max-width:220px;object-fit:contain;margin:auto}
#shopScreen .outfit-poses figcaption{font:8px Consolas,monospace;color:#9abcc0;letter-spacing:2px;text-align:center}
#shopScreen .outfit-preview p{font:10px/1.6 Consolas,monospace;color:#e1ecd7;text-align:center}
#shopScreen .outfit-settings h3{font:700 13px Consolas,monospace;color:#d7efda;margin:12px 0 8px}
#shopScreen .gear-fit-hint{font:9px/1.6 Consolas,monospace;color:#b3cacb;margin:0 0 12px}
#shopScreen .gear-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#shopScreen .gear-choice{position:relative;min-width:0;min-height:132px;padding:4px 2px 10px;border:0;border-bottom:2px solid #536f7c;border-radius:0;background:#14243b;box-shadow:none;display:flex;flex-direction:column;align-items:center;color:#e6efdc}
#shopScreen .gear-choice canvas{width:88px;height:89px;max-width:100%;image-rendering:pixelated;object-fit:contain}
#shopScreen .gear-choice strong{font:9px/1.4 Consolas,monospace;white-space:normal}
#shopScreen .gear-choice small{font:8px/1.5 Consolas,monospace;color:#a7bfc4;margin-top:4px}
#shopScreen .gear-choice.selected{background:#21463f;border-color:#b5f0d5}
#shopScreen .gear-choice.selected:after{content:'✓';position:absolute;top:5px;right:7px;color:#c9f8d9;font:12px Consolas,monospace}
#shopScreen .gear-choice:disabled{opacity:1;background:#111c2e;border-color:#35475c;color:#9aacb7}
#shopScreen .gear-choice:disabled canvas{opacity:.35}
#shopScreen .gear-choice:disabled small{color:#acb5bd;font-size:7px}
#shopScreen .upgrade-pips{display:flex;gap:5px;margin:9px 0}
#shopScreen .upgrade-pips span{display:grid;place-items:center;width:24px;height:24px;background:#1b2b40;border-bottom:2px solid #486477;color:#647c8f;font:700 19px Consolas,monospace}
#shopScreen .upgrade-pips .filled{background:#b1ebcf;color:#1c4a47;border-color:#5dbaaa}
#shopScreen .outfit-apply{border:0;border-radius:0;background:#b7efd7;color:#173438;box-shadow:0 4px #2b7171;font:700 12px Consolas,monospace;min-height:48px;margin-top:12px}
#shopScreen .outfit-slots{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
#shopScreen .outfit-slots button{border:0;border-radius:0;background:#1c3244;color:#d7e6d9;font:9px Consolas,monospace;min-height:36px}
@media(max-width:650px){
 #shopScreen .outfit-panel{grid-template-columns:1fr;gap:15px}
 #shopScreen .outfit-poses canvas{height:180px;max-width:160px}
 #shopScreen .outfit-settings .upgrade-panel{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
 #shopScreen .outfit-settings .upgrade-panel h3{font-size:17px;margin:0 0 5px}
 #shopScreen .outfit-settings .outline-button{border:1px solid #80b4aa;border-radius:0;background:#173c3a;color:#daf3db;font:9px/1.5 Consolas,monospace;padding:9px;min-height:46px}
}

/* Shared game identity: large illustrated navigation and readable collections. */
:root{--ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ui-night:#0a1429;--ui-surface:#16293f;--ui-mint:#b8efd5;--ui-cream:#f4eed9;--ui-muted:#b2c8cd;--ui-line:#4f6c7d}
.city-districts{display:flex;gap:9px;overflow-x:auto;padding:3px 0 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#4b747e #102039}
.city-districts[hidden],.city-district-info[hidden]{display:none}
#worldScreen .city-district{flex:0 0 145px;min-height:60px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:3px 7px;padding:8px 10px;border:1px solid #496878;border-bottom:3px solid #304657;border-radius:4px;background:#142b40;color:#d5e7df;text-align:left;scroll-snap-align:start;box-shadow:none}
#worldScreen .city-district>span{grid-row:1 / 3;align-self:center;color:#8fb4bb;font:900 20px var(--ui-font)}
#worldScreen .city-district strong{align-self:end;font:800 13px var(--ui-font);white-space:normal}
#worldScreen .city-district small{font:600 10px var(--ui-font);color:#b2c8cd}
#worldScreen .city-district.selected{background:#b8efd5;border-color:#d6ffe6;color:#17373c}
#worldScreen .city-district.selected>span,#worldScreen .city-district.selected small{color:#386c6a}
.city-district-info{display:flex;flex-direction:column;gap:5px;padding:12px 0 16px;color:#b2c8cd;font:500 13px/1.5 var(--ui-font)}
.city-district-info strong{font:900 20px/1.2 var(--ui-font);color:#f4eed9}
#worldScreen .level-button[hidden]{display:none}
#worldScreen:has(#cityDistricts:not([hidden])) .world-vista{display:none}
#worldScreen .world-card:after{display:none}
#worldScreen:has(#cityDistricts:not([hidden])) .world-card{display:flex;align-items:center;flex:0 0 205px;height:72px;min-height:0}
#worldScreen:has(#cityDistricts:not([hidden])) .world-card canvas{width:64px;height:64px;flex:0 0 64px}
#worldScreen:has(#cityDistricts:not([hidden])) .world-card .world-details{padding:7px 9px}
#worldScreen:has(#cityDistricts:not([hidden])) .level-section{margin-top:15px;padding-top:12px}
.stage[data-view="game"] #bossMeter{font:800 10px/1.45 var(--ui-font);letter-spacing:.35px;color:#f1c3da}
#homeScreen{overflow-y:auto;padding-bottom:68px}
#homeScreen .hero-character{min-height:104px}
#homeScreen .home-bottom{max-width:520px}
#homeScreen .home-buttons{gap:14px}
#homeScreen .home-buttons>.play-button{width:100%;min-height:64px;font:900 20px/1.2 var(--ui-font);letter-spacing:1.5px}
#homeScreen .arcade-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
#homeScreen .arcade-links .menu-tile{display:flex;align-items:center;justify-content:center;gap:8px;min-height:82px;padding:8px 10px;border:1px solid var(--ui-line);border-bottom:4px solid #314e5b;background:linear-gradient(135deg,#21384aeb,#11233bed);color:var(--ui-cream);font:800 16px/1.2 var(--ui-font);letter-spacing:.5px;text-shadow:none;box-shadow:0 4px 0 #050d20;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
#homeScreen .arcade-links .tile-icon{display:none}
#homeScreen .home-nav-art{display:block;flex:0 0 auto;width:70px;height:60px;image-rendering:pixelated;object-fit:contain;pointer-events:none}
#homeScreen .menu-tile small{display:block;font:500 11px/1.4 var(--ui-font);color:var(--ui-muted);margin-top:5px;letter-spacing:0}
#homeScreen .home-foot{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:17px}
#homeScreen .home-foot .admont-entry,#homeScreen .home-foot .christmas-entry,#homeScreen .home-foot .story-entry,#homeScreen .home-foot #dailyButton{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:7px 9px;border:0;border-radius:4px;background:#10243ad9;color:#cfdfdb;font:650 12px/1.3 var(--ui-font);letter-spacing:0;text-shadow:0 1px #050c1d}
#homeScreen .home-foot #dailyButton:disabled{color:#91aaa9;background:#112639a6}
body:has(#stage:not([data-view="game"])) .topbar{height:68px;padding:8px 18px;background:linear-gradient(#071026ee,#07102600)}
body:has(#stage:not([data-view="game"])) .brand{min-height:44px;font:900 10px/1.3 var(--ui-font);letter-spacing:1px;gap:6px}
body:has(#stage:not([data-view="game"])) .brand>span{display:block}
body:has(#stage:not([data-view="game"])) .top-actions{gap:6px}
body:has(#stage:not([data-view="game"])) .top-actions button{min-width:40px;min-height:44px;padding:4px;border-radius:5px;background:#10243aa6}
body:has(#stage:not([data-view="game"])) .top-actions .wallet{padding:4px 9px;font:800 13px var(--ui-font)}
body:has(#stage:not([data-view="game"])) .top-actions .icon-button{width:42px;height:44px}
body:has(#stage:not([data-view="game"])) .language-button{font:700 10px var(--ui-font)}
#worldScreen,#shopScreen{background:linear-gradient(155deg,#0a1429,#102139);color:var(--ui-cream)}
#worldScreen .screen-heading h2,#shopScreen .screen-heading h2{font:900 32px/1.05 var(--ui-font);letter-spacing:1px;text-shadow:0 3px #030c1e}
#worldScreen .screen-heading .eyebrow,#shopScreen .screen-heading .eyebrow{font:700 10px/1.5 var(--ui-font);letter-spacing:1.5px;color:var(--ui-muted)}
#worldScreen .close-button,#shopScreen .close-button{width:48px;height:48px;min-width:48px;min-height:48px;font-size:28px;background:#173047;border-radius:5px}
#worldScreen .world-card{flex-basis:164px;background:#12253a}
#worldScreen .world-card canvas{height:90px;opacity:1}
#worldScreen .world-card .world-details{padding:11px 9px;gap:6px}
#worldScreen .world-card strong{font:800 14px/1.35 var(--ui-font)}
#worldScreen .world-card small{font:600 10px/1.4 var(--ui-font);color:#b8cbd0}
#worldScreen .level-heading{margin-bottom:18px}
#levelWorldName{font:800 17px/1.4 var(--ui-font)}#levelWorldProgress{font:700 12px/1.4 var(--ui-font)}
#worldScreen .level-grid{gap:18px 14px}
#worldScreen .level-button{position:relative;width:56px;height:56px;min-height:56px;font:900 18px/1 var(--ui-font);border-width:2px;box-shadow:0 4px #040c20}
#worldScreen .level-button.ascent-level:after{display:none}
#worldScreen .level-button.boss-stop{border-color:#ae82a7;background:#2c2945}
#worldScreen .level-button.boss-stop.current{background:var(--ui-mint);border-color:#e2ffe2}
#worldScreen .mini-lock{position:absolute;top:6px;right:7px;width:8px;height:7px;border-radius:1px;background:#78909e;font-size:0}
#worldScreen .mini-lock:before{content:'';position:absolute;left:1px;top:-4px;width:6px;height:6px;border:2px solid #78909e;border-radius:4px 4px 0 0}
#worldScreen .helper{font:500 13px/1.65 var(--ui-font);color:var(--ui-muted)}
#shopScreen .shop-tabs{gap:12px;margin:0 0 16px;padding:3px;background:#081528;min-height:54px;border-radius:6px}
#shopScreen .shop-tabs button{flex:1;min-height:48px;padding:9px 6px;border:0;border-radius:4px;font:800 14px/1.2 var(--ui-font);color:#b4c7cf}
#shopScreen .shop-tabs button.active{background:var(--ui-mint);color:#16383c}
#shopScreen .segmented{gap:8px}#shopScreen .segmented button{min-height:44px;padding:9px 12px;background:#122a40;border-radius:5px;font:700 12px/1.2 var(--ui-font);color:#bdcfd3}
#shopScreen .segmented button.active{background:#254c51;color:#e3f0d8;text-decoration:none}
#ownedCount{font:700 12px var(--ui-font)}
#crewStageLabel{font:700 10px/1.5 var(--ui-font);letter-spacing:1px}#crewHeroName{font:900 30px/1.1 var(--ui-font);letter-spacing:0}#crewHeroAbility{font:500 13px/1.5 var(--ui-font)}
#shopScreen .shop-grid{gap:16px 12px}
#shopScreen .skin-card{height:198px;grid-template-rows:130px 38px 22px;padding:4px 3px 10px;background:radial-gradient(ellipse at 50% 40%,#3a666039,transparent 72%)}
#shopScreen .skin-card canvas{width:146px;height:128px}
#shopScreen .skin-card strong{font:800 14px/1.25 var(--ui-font);white-space:normal;align-self:center}
#shopScreen .skin-card small{font:600 12px/1.4 var(--ui-font)}
#shopScreen .skin-card .skin-badge{font:800 9px var(--ui-font);color:#dbe0b9}
#shopScreen .outfit-poses figcaption{font:700 11px var(--ui-font);letter-spacing:1px}
#shopScreen .outfit-preview p{font:600 13px/1.5 var(--ui-font)}
#shopScreen .outfit-settings h3{font:800 16px/1.3 var(--ui-font)}
#shopScreen .outfit-settings .upgrade-panel h3{font:900 23px/1.1 var(--ui-font)}
#shopScreen .outfit-settings .upgrade-panel p{font:500 13px/1.5 var(--ui-font)}
#shopScreen .outfit-settings .outline-button,#shopScreen .outfit-apply{min-height:48px;font:800 13px/1.35 var(--ui-font);border-radius:4px}
#shopScreen .gear-fit-hint,#shopScreen .outfit-hint{font:500 12px/1.6 var(--ui-font);color:var(--ui-muted)}
#shopScreen .gear-choice{min-height:172px;padding:7px 5px 12px;border-radius:5px}
#shopScreen .gear-choice canvas{width:112px;height:112px}
#shopScreen .gear-choice strong{font:800 13px/1.35 var(--ui-font)}#shopScreen .gear-choice small{font:600 11px/1.4 var(--ui-font)}
#shopScreen .gear-choice:disabled small{font:500 10px/1.4 var(--ui-font)}
#shopScreen .outfit-slots button{min-height:42px;font:650 12px var(--ui-font)}
#shopScreen .addon-card{height:212px;grid-template-rows:155px 26px 22px}
#shopScreen .addon-card canvas{width:150px;height:150px}#shopScreen .addon-card strong{font:800 14px var(--ui-font)}#shopScreen .addon-card small{font:600 12px var(--ui-font)}
#shopScreen .weapon-card{background:#152b3f;border-radius:5px}
#shopScreen .weapon-card h3{font:900 23px var(--ui-font)}#shopScreen .weapon-card p,#shopScreen .weapon-stats{font:500 13px/1.6 var(--ui-font)}
#shopScreen .weapon-card button{min-height:48px;font:800 13px var(--ui-font);border-radius:4px}
#modalCard{border:2px solid var(--ui-line);background:#0e2034;box-shadow:0 7px #030b1b;border-radius:6px;padding:26px}
#modalCard h2{font:900 31px/1.15 var(--ui-font);letter-spacing:.5px}
#modalCard .eyebrow{font:700 10px/1.5 var(--ui-font);letter-spacing:1.4px}
#modalCard p,#modalCard .mission-objective strong{font:500 14px/1.6 var(--ui-font);color:#d0dfdc}
#modalCard .modal-buttons{gap:12px}
#modalCard .modal-buttons button{min-height:50px;padding:12px 16px;font:800 14px/1.3 var(--ui-font);border:1px solid var(--ui-line);background:#1b3549;color:var(--ui-cream);border-radius:4px}
#modalCard .modal-buttons .primary{background:var(--ui-mint);color:#14363b;border-color:var(--ui-mint);box-shadow:0 4px #3a8581}
#modalCard .help-row{font:500 13px var(--ui-font);min-height:44px}
@media(max-width:650px){
 #homeScreen{padding-top:80px;padding-left:22px;padding-right:22px}
 #homeScreen .hero-heading{width:min(320px,93%)}
 #homeScreen .home-buttons>.play-button{min-height:60px;width:100%;font-size:19px}
 #homeScreen .arcade-links .menu-tile{min-height:78px;font-size:15px;padding:6px}
 #homeScreen .home-nav-art{width:60px;height:56px}
 #homeScreen .menu-tile small{display:none}
 #homeScreen .home-foot .admont-entry,#homeScreen .home-foot .christmas-entry,#homeScreen .home-foot .story-entry,#homeScreen .home-foot #dailyButton{min-height:42px;font-size:11px}
 #shopScreen .screen-heading h2,#worldScreen .screen-heading h2{font-size:28px}
 #worldScreen .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 10px}
 #worldScreen .level-button{width:56px;height:56px;min-height:56px;font-size:17px}
 #levelWorldName{font-size:16px}#levelWorldProgress{font-size:11px}
 #shopScreen .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #shopScreen .gear-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 #shopScreen .crew-stage{gap:12px;min-height:180px}
 #crewHero{width:185px;height:180px}#crewHeroName{font-size:27px}#crewHeroAbility{font-size:12px}
 #shopScreen .outfit-settings .upgrade-panel h3{font-size:21px}
 #shopScreen .outfit-settings .outline-button{font-size:12px}
 #modalCard{padding:22px}
}
@media(max-width:380px){#worldScreen .level-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#homeScreen .arcade-links .menu-tile{gap:3px;font-size:14px}#homeScreen .home-nav-art{width:50px}}
@media(max-height:700px) and (orientation:portrait){
 #homeScreen{padding-top:75px;padding-bottom:65px}
 #homeScreen .hero-heading{width:250px}
 #homeScreen .hero-character{min-height:90px;height:105px;flex-basis:105px;margin:0}
 #homeScreen .home-buttons{gap:11px}
 #homeScreen .home-buttons>.play-button{min-height:54px;font-size:18px}
 #homeScreen .arcade-links .menu-tile{min-height:68px}
 #homeScreen .home-nav-art{height:50px}
 #homeScreen .home-foot{margin-top:12px;gap:6px 10px}
}
@media(orientation:landscape) and (max-height:600px){
 #homeScreen{padding:54px 34px 32px;overflow-y:auto}
 #homeScreen .hero-heading{width:100%;max-width:320px}
 #homeScreen .hero-character{min-height:0;height:145px;width:210px;margin:0 0 -8px}
 #homeScreen .home-bottom{max-width:390px}
 #homeScreen .home-buttons{gap:12px}
 #homeScreen .home-buttons>.play-button{min-height:54px;font-size:18px}
 #homeScreen .arcade-links .menu-tile{min-height:70px;font-size:14px}
 #homeScreen .home-nav-art{width:54px;height:50px}
 #homeScreen .menu-tile small{display:none}
 #homeScreen .home-foot{display:grid;gap:6px 10px;margin-top:13px}
 #homeScreen .home-foot .admont-entry,#homeScreen .home-foot .christmas-entry,#homeScreen .home-foot .story-entry,#homeScreen .home-foot #dailyButton{min-height:39px;font-size:11px}
 #shopScreen .shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 #worldScreen .level-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:16px 10px}
 #worldScreen .level-button{width:50px;height:50px;min-height:50px}
}

/* A playable route map: compact worlds, ten illustrated stops, readable missions. */
#worldScreen .screen-heading{margin-bottom:14px}
#worldScreen .world-map-scroll{padding:0 4px 75px;scroll-padding-top:10px}
#worldScreen .world-categories{display:flex;gap:24px;border-bottom:1px solid #365064;margin-bottom:16px}
#worldScreen .world-categories button{min-height:44px;padding:0 2px 11px;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--ui-muted);font:800 16px var(--ui-font);box-shadow:none}
#worldScreen .world-categories button[aria-pressed=true]{border-color:var(--ui-mint);color:var(--ui-cream)}
#worldScreen .world-grid{gap:12px;padding:0 0 13px;margin:0;scrollbar-width:thin}
#worldScreen .world-card,#worldScreen:has(#cityDistricts:not([hidden])) .world-card{position:relative;display:block;flex:0 0 165px;height:105px;min-height:0;padding:0;overflow:hidden;border:2px solid #354b63;border-radius:8px;background:#14263c;opacity:1;box-shadow:0 3px #040c20;scroll-snap-align:start}
#worldScreen .world-card[hidden]{display:none}
#worldScreen .world-card.selected{border-color:#b8efd5;box-shadow:0 3px #3b7778}
#worldScreen .world-card canvas,#worldScreen:has(#cityDistricts:not([hidden])) .world-card canvas{display:block;width:100%;height:100%;object-fit:cover;opacity:.72;image-rendering:pixelated}
#worldScreen .world-card.selected canvas{opacity:1}
#worldScreen .world-card .world-details,#worldScreen:has(#cityDistricts:not([hidden])) .world-card .world-details{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;gap:6px;padding:18px 9px 8px;background:linear-gradient(transparent,#071225f5)}
#worldScreen .world-card strong{min-width:0;flex:1;white-space:normal;font:850 13px/1.2 var(--ui-font);color:#fff8e3;text-align:left;text-shadow:0 2px #06101f}
#worldScreen .world-card small{flex:0 0 auto;font:800 9px/1.3 var(--ui-font);white-space:nowrap;color:#c7ddd9}
#worldScreen .world-card.locked canvas{filter:saturate(.55)}
#worldScreen .level-section,#worldScreen:has(#cityDistricts:not([hidden])) .level-section{margin-top:2px;padding:0;border:0;background:transparent}
#worldScreen .map-world-intro{display:grid;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 0 17px}
#worldScreen #worldHero{width:65px;height:72px;image-rendering:pixelated;object-fit:contain}
#worldScreen .level-heading{display:flex;align-items:start;flex-direction:column;gap:4px;margin:0;padding:0;border:0}
#worldScreen #levelWorldName{font:900 22px/1.1 var(--ui-font);letter-spacing:0;color:var(--ui-cream);white-space:normal;overflow-wrap:anywhere}
#worldScreen #levelWorldProgress{font:750 10px/1.3 var(--ui-font);color:#b9cfce;letter-spacing:.4px}
#worldScreen #worldHeroName{font:600 11px/1.4 var(--ui-font);color:#b8efd5}
#worldScreen .map-continue{min-width:96px;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 12px;background:#b8efd5;border:2px solid #d9ffe9;border-radius:6px;box-shadow:0 4px #367572;color:#15383b;font:900 15px var(--ui-font)}
#worldScreen .map-continue b{font:800 10px var(--ui-font);letter-spacing:1px}
#worldScreen .map-continue:disabled{background:#20364a;border-color:#4b6377;box-shadow:0 4px #050d1d;color:#b7c7d2;font-size:11px;min-width:90px}
#worldScreen .map-chapters{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px;padding:14px 0 12px;border-top:1px solid #365064}
#worldScreen .map-chapters>button{width:44px;min-height:50px;padding:0;background:#1d354b;border:1px solid #526d7e;border-radius:5px;color:#d9f5e8;font:500 33px var(--ui-font);box-shadow:0 3px #050d1d}
#worldScreen .map-chapters>button:disabled{color:#647b8c;background:#14273b;border-color:#304659;box-shadow:none}
#worldScreen .map-chapters>div{display:flex;align-items:center;flex-direction:column;gap:5px;text-align:center}
#worldScreen .map-chapters small{font:750 9px/1.4 var(--ui-font);letter-spacing:.9px;color:#b2c8cd}
#worldScreen .map-chapters strong{font:900 19px/1.2 var(--ui-font);color:var(--ui-cream)}
#worldScreen .chapter-dots{display:flex;gap:4px;margin-top:3px}
#worldScreen .chapter-dots i{width:6px;height:4px;background:#425c72;border-radius:1px}
#worldScreen .chapter-dots i.active{width:18px;background:#b8efd5}
#worldScreen .city-district-info{margin:0;padding:0 18px 9px;text-align:center;font:500 12px/1.5 var(--ui-font);color:#b8cccf}
#worldScreen .city-district-info[hidden]{display:none}
#worldScreen .level-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 9px;align-items:start;margin:0;padding:5px 0 24px;background:radial-gradient(ellipse at center,#2144514d,transparent 70%)}
#worldScreen .level-button{grid-row:var(--map-row);grid-column:var(--map-col);display:flex;position:relative;flex-direction:column;align-items:center;justify-content:start;width:100%;height:154px;min-height:154px;margin:0;padding:0 2px;border:0;border-radius:0;background:transparent;color:#e3ede3;box-shadow:none;font:800 12px var(--ui-font);opacity:1;overflow:visible}
#worldScreen .level-button.completed,#worldScreen .level-button.current,#worldScreen .level-button.boss-stop,#worldScreen .level-button.boss-stop.current,#worldScreen .level-button:disabled{background:transparent;border:0;box-shadow:none;color:#e3ede3}
#worldScreen .level-button[hidden]{display:none}
#worldScreen .island-scene{display:block;position:relative;width:112px;height:104px;max-width:100%;flex:0 0 104px}
#worldScreen .path-island{position:absolute;left:0;bottom:-11px;width:100%;height:112px;image-rendering:pixelated;object-fit:contain}
#worldScreen .path-runner{position:absolute;top:22px;left:calc(50% - 25px);width:50px;height:56px;object-fit:contain;image-rendering:pixelated}
#worldScreen .level-number{position:absolute;left:calc(50% - 17px);top:73px;width:34px;height:27px;display:flex;align-items:center;justify-content:center;background:#16384a;border:2px solid #8cbab3;border-radius:4px;color:#e9f4de;text-shadow:0 2px #041126;font:900 16px var(--ui-font);box-shadow:0 3px #050d1d}
#worldScreen .current .level-number{background:#b8efd5;color:#163b3f;border-color:#edffe7;text-shadow:none;box-shadow:0 3px #39857d}
#worldScreen .completed .level-number{background:#285b50;border-color:#83cfab}
#worldScreen .boss-stop .level-number{border-color:#b499cf;background:#403755}
#worldScreen .boss-stop.current .level-number{background:#b8efd5;border-color:#edffe7}
#worldScreen .map-go{position:absolute;top:16px;right:3px;padding:3px 5px;color:#163b3f;background:#b8efd5;border-radius:3px;font:900 9px var(--ui-font);box-shadow:0 2px #143843}
#worldScreen .map-lock{position:absolute;left:calc(50% - 5px);top:40px;width:10px;height:9px;background:#9db1bb;border-radius:1px;box-shadow:0 2px #051323}
#worldScreen .map-lock:before{content:'';position:absolute;left:2px;top:-6px;width:6px;height:7px;border:2px solid #9db1bb;border-radius:4px 4px 0 0;box-sizing:border-box}
#worldScreen .level-button:disabled .path-island{filter:saturate(.25);opacity:.55}
#worldScreen .level-button:disabled .level-number{background:#182c40;border-color:#506e82;color:#b8c9ce}
#worldScreen .map-level-title{font:750 11px/1.3 var(--ui-font);height:30px;display:flex;align-items:center;justify-content:center;text-align:center;color:inherit;width:100%;overflow:hidden}
#worldScreen .map-stars{font:750 8px/1.3 var(--ui-font);letter-spacing:1px;color:#b0c7c8;display:flex;gap:3px;align-items:center;height:17px}
#worldScreen .map-stars i{font:normal 14px var(--ui-font);color:#526877;letter-spacing:0}
#worldScreen .map-stars i.won{color:#f4d586}
#worldScreen .level-button:focus-visible{outline:2px solid #b8efd5;outline-offset:2px;border-radius:6px}
#worldScreen .level-button:not(:disabled):active .island-scene{transform:translateY(3px)}
#worldScreen .helper{text-align:center;margin:0 auto;max-width:360px;font:500 11px/1.5 var(--ui-font);color:#b1c7c9}
@media(min-width:700px){
 #worldScreen .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
 #worldScreen .level-button{grid-row:var(--wide-row);grid-column:var(--wide-col);height:166px;min-height:166px}
 #worldScreen .island-scene{width:132px;height:116px;flex-basis:116px}
 #worldScreen .path-island{height:132px;bottom:-14px}
 #worldScreen .path-runner{top:20px;width:60px;height:66px;left:calc(50% - 30px)}
 #worldScreen .level-number{top:82px}
 #worldScreen .map-go{top:22px;right:9px}
 #worldScreen .map-lock{top:51px}
 #worldScreen .map-level-title{font-size:12px}
}
@media(max-width:380px){
 #worldScreen .map-world-intro{grid-template-columns:52px minmax(0,1fr) auto;gap:7px}
 #worldScreen #worldHero{width:52px;height:65px}
 #worldScreen #levelWorldName{font-size:19px}
 #worldScreen .map-continue{min-width:85px;padding:8px;font-size:14px}
 #worldScreen .map-chapters strong{font-size:17px}
 #worldScreen .level-grid{gap:7px 4px}
 #worldScreen .island-scene{width:100px}
 #worldScreen .map-level-title{font-size:10px}
}
@media(max-height:700px) and (orientation:portrait){
 #worldScreen .screen-heading .eyebrow{display:none}
 #worldScreen .screen-heading h2{font-size:25px}
 #worldScreen .screen-heading{margin-bottom:5px}
 #worldScreen .world-categories{margin-bottom:12px}
 #worldScreen .world-card,#worldScreen:has(#cityDistricts:not([hidden])) .world-card{height:82px}
 #worldScreen .map-world-intro{padding:6px 0 12px}
 #worldScreen .map-chapters{padding:10px 0}
}
@media(orientation:landscape) and (max-height:600px){
 #worldScreen .screen-heading{margin-bottom:8px}
 #worldScreen .screen-heading .eyebrow{display:none}
 #worldScreen .world-map-scroll{display:grid;grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 24px;align-items:start;padding-bottom:55px}
 #worldScreen .world-categories{grid-column:1;grid-row:1;gap:17px;margin-bottom:10px}
 #worldScreen .world-categories button{font-size:14px;min-height:40px;padding-bottom:8px}
 #worldScreen .world-grid{grid-column:1;grid-row:2;flex-direction:column;max-height:300px;overflow-y:auto;overflow-x:hidden;gap:10px;padding-right:8px}
 #worldScreen .world-card,#worldScreen:has(#cityDistricts:not([hidden])) .world-card{flex:0 0 82px;width:100%;height:82px}
 #worldScreen .level-section,#worldScreen:has(#cityDistricts:not([hidden])) .level-section{grid-column:2;grid-row:1 / 3;margin:0;padding:0}
 #worldScreen .map-world-intro{grid-template-columns:50px minmax(0,1fr) auto;padding:0 0 12px}
 #worldScreen #worldHero{width:50px;height:58px}
 #worldScreen #levelWorldName{font-size:20px}
 #worldScreen .map-continue{min-height:48px;font-size:14px}
 #worldScreen .map-chapters{padding:9px 0}
 #worldScreen .map-chapters strong{font-size:17px}
 #worldScreen .map-chapters>button{min-height:44px}
 #worldScreen .city-district-info{font-size:11px;padding-bottom:3px}
 #worldScreen .level-grid{gap:7px}
 #worldScreen .level-button{height:125px;min-height:125px}
 #worldScreen .island-scene{height:80px;flex-basis:80px;width:110px}
 #worldScreen .path-island{height:110px;bottom:-11px}
 #worldScreen .path-runner{width:50px;height:56px;left:calc(50% - 25px);top:0}
 #worldScreen .level-number{top:50px}
 #worldScreen .map-go{top:12px;right:0}
 #worldScreen .map-lock{top:25px}
 #worldScreen .map-level-title{font-size:10px}
}
