:root{font-family:'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#f1f2e9;background:#101d29;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#2d4a50,transparent 62%),#101d29;min-height:100vh}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #ffe09e;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}main{max-width:1276px;padding:24px 30px max(22px,env(safe-area-inset-bottom));margin:auto}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.wordmark{font-weight:900;font-size:30px;color:#f6d797;text-decoration:none;font-style:italic}.wordmark span{font-size:11px;font-weight:500;letter-spacing:3px;font-style:normal;color:#cad7d6;margin-left:13px}.top-actions{display:flex;gap:8px}.top-actions button{font-size:13px;padding:9px 13px;border:1px solid #91b5ae33;background:#ffffff05;border-radius:8px}.cabinet{border:1px solid #8daa9b66;border-radius:18px;overflow:hidden;box-shadow:0 30px 85px #0006}.hud{display:flex;align-items:center;gap:36px;padding:13px 23px;background:#182d36;height:72px}.stage-meta{flex:1}.hud small{display:block;font-size:10px;letter-spacing:1.5px;color:#9cb7b6;margin-bottom:4px}.hud strong{font-size:21px;font-weight:700}.health strong{color:#ed94a5;font-size:22px;white-space:nowrap}.clock strong{font-variant-numeric:tabular-nums;color:#ffe1a2;letter-spacing:2px}.score{text-align:right}.score strong{color:#f1d194;letter-spacing:1px}.viewport{position:relative;aspect-ratio:1120/630;overflow:hidden;background:#1a3c36}#world{display:block;width:100%;height:100%;touch-action:none}.fallback{position:absolute;inset:15% 10%;padding:25px;text-align:center;background:#112830ed;border:1px solid #d6b57388;border-radius:16px;z-index:8}.fallback[hidden]{display:none}#overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#081c2560;padding:16px}#overlay.hidden{display:none}.panel{width:520px;max-width:96%;max-height:100%;overflow:auto;background:linear-gradient(160deg,#182c39f7,#102b2cf7);border:1px solid #d9b97888;border-radius:17px;padding:25px;text-align:center;box-shadow:0 20px 60px #0005}.panel.wide{width:790px}.eyebrow{font-size:11px;letter-spacing:2.5px;color:#f0d797}h1{font-family:Georgia,'Apple SD Gothic Neo','Malgun Gothic',serif;font-size:46px;line-height:1.16;letter-spacing:-2px;margin:15px 0;color:#ffebbf}h1 .plus{color:#dd9e93;font-weight:400}h1 .sub{display:block;font-size:29px;letter-spacing:10px;margin-top:9px}h2{font-size:29px;letter-spacing:-1px;color:#ffdeb1;margin:12px 0}.panel p{color:#b7cdc9;font-size:14px;line-height:1.65;margin:11px 0}.primary{display:block;width:100%;border-radius:9px;background:#efce8c;color:#20333a;font-size:17px;font-weight:800;padding:14px 20px;box-shadow:0 4px 0 #a4834c;margin-top:16px}.secondary{background:#ffffff0a;border:1px solid #bdd5c32b;border-radius:8px;padding:10px 15px;font-size:14px;margin-top:12px}.panel .fine{font-size:12px;color:#92afac}.medallions{display:flex;justify-content:center;gap:13px;margin:15px 0}.portrait{width:80px;height:80px;border:2px solid #d7bf81;border-radius:50%;background:#507c66}.hero-options{display:flex;gap:16px;margin:18px 0}.hero-option{flex:1;background:#ffffff05;border:2px solid #7f9c9b55;padding:17px 10px;border-radius:12px}.hero-option.selected{border-color:#efce8c;background:#efce8c0d}.hero-option canvas{width:110px;height:110px}.hero-option b{display:block;font-size:24px;margin:8px 0;color:#fbe0ac}.hero-option small{display:block;font-size:13px;line-height:1.7;color:#b0cbc6}.hero-option .tag{display:inline-block;padding:4px 11px;border-radius:20px;background:#ffffff0b;font-size:12px;color:#ffdb9a}.journey{display:flex;align-items:center;gap:18px;background:#182d36;padding:12px 22px;font-size:12px;color:#b0c6c2}.journey>div{height:4px;flex:1;background:#47615c;border-radius:4px;overflow:hidden}.journey i{display:block;background:#eacd88;height:100%;width:0}.controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:17px 0;user-select:none;-webkit-user-select:none}.move-group,.action-group{display:flex;gap:9px}.controls button{width:70px;height:57px;border:1px solid #809f9766;border-radius:12px;background:#244047;color:#e3efdf;font-size:21px;touch-action:none;-webkit-touch-callout:none}.controls button span{font-size:13px;display:block}.controls button.attack{background:#e8c786;color:#1d343a;border-color:#f3d9a8;width:86px}.keyboard-help{text-align:center;font-size:12px;color:#b5c7c1}.keyboard-help small{display:block;font-size:11px;color:#829f9b;margin-top:6px}.chapters{display:flex;gap:12px;margin-top:20px}.chapters span{flex:1;border-top:2px solid #435e5f;color:#749190;padding:10px 2px;font-size:13px}.chapters b{margin-right:10px;font-size:11px;font-weight:500}.chapters .active{color:#f4d498;border-color:#f4d498}.chapters .done{color:#96d2b9;border-color:#96d2b9}footer{display:flex;justify-content:space-between;align-items:center;color:#819b9a;font-size:12px;margin-top:10px}footer button{background:transparent;font-size:12px;color:#bbccc3;padding:8px}#notice{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);background:#102a31ee;border:1px solid #ffe3a244;border-radius:30px;padding:10px 22px;font-size:14px;color:#fff0c3;text-align:center;max-width:90%;width:max-content;pointer-events:none;opacity:0}#notice.show{opacity:1}#powerBar{position:absolute;top:12px;left:13px;display:flex;gap:6px;pointer-events:none}#powerBar span{font-size:12px;border-radius:6px;background:#132c3be8;border:1px solid #e9cd7766;padding:7px 9px;color:#ffe4ad}#bossBar{position:absolute;left:28%;right:4%;top:13px;text-align:center;color:#ffdbb8;pointer-events:none;font-size:14px}#bossBar>div{height:9px;border:1px solid #feb98788;border-radius:6px;overflow:hidden;background:#1a192c;margin-top:6px}#bossHealth{display:block;height:100%;background:#e67c87}#bossBar small{font-size:11px;display:block;margin-top:4px}.ranking{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px;text-align:left}.ranking th{color:#b0c5bd;font-size:11px;font-weight:500;padding:10px 6px;border-bottom:1px solid #98b4a355}.ranking td{padding:12px 6px;border-bottom:1px solid #84a19820}.ranking .mine{color:#ffde9b;background:#eed08b10}.rank-wrap{overflow-x:auto;min-height:85px}.rank-status{padding:18px;font-size:14px;color:#b4c5bd}.rank-error{color:#ffbbac!important}.stats-grid{display:flex;gap:12px;justify-content:center;margin:12px 0}.stats-grid>span{flex:1;padding:12px 6px;background:#ffffff06;border-radius:7px;font-size:13px;color:#9db7b1}.stats-grid b{display:block;color:#ffddaa;font-size:20px;margin-top:5px}.name-form{text-align:left;margin-top:14px}.name-form label{font-size:14px;color:#d4e0d6}.name-form input{display:block;width:100%;background:#0b2228;border:1px solid #98b39a77;padding:12px;border-radius:8px;color:#ffedc7;margin-top:7px;font-size:17px}.cry-portrait{width:100px;height:110px}.controls button.held{transform:translateY(2px);filter:brightness(1.3)}@media(max-width:800px){main{padding:12px 10px max(12px,env(safe-area-inset-bottom))}.top{margin-bottom:12px}.wordmark{font-size:24px}.wordmark span{font-size:9px;letter-spacing:2px;margin-left:8px}.top-actions button{padding:8px;font-size:11px}.hud{height:61px;padding:10px 12px;gap:16px}.hud strong{font-size:17px}.hud small{font-size:9px}.health strong{font-size:15px}.score{display:none}.viewport{aspect-ratio:16/10}.panel{padding:15px}.keyboard-help{display:none}.controls{gap:8px;margin:12px 0}.controls button{width:62px;height:56px}.controls button.attack{width:77px}.chapters{gap:5px;margin-top:13px}.chapters span{text-align:center;font-size:11px}.chapters b{display:block;margin:0 0 3px}.journey{padding:10px 12px;font-size:10px;gap:9px}.journey>span:last-child{display:none}h1{font-size:32px;margin:8px 0}h1 .sub{font-size:23px;letter-spacing:7px}h2{font-size:23px;margin:8px 0}.panel p{font-size:12px;margin:7px 0}.primary{padding:11px;font-size:15px;margin-top:10px}.portrait{width:60px;height:60px}.medallions{margin:9px 0}.panel .fine{font-size:10px}.hero-options{gap:10px;margin:10px 0}.hero-option{padding:10px 6px}.hero-option canvas{width:70px;height:70px}.hero-option b{font-size:18px;margin:4px 0}.hero-option small{font-size:10px}.hero-option .tag{font-size:10px}#notice{font-size:12px;bottom:12px;padding:7px 12px}#powerBar span{font-size:10px;padding:5px}#bossBar{font-size:12px}.ranking{font-size:11px}.ranking td{padding:8px 4px}.ranking th{font-size:10px}.stats-grid{gap:5px}.stats-grid>span{font-size:11px;padding:7px 4px}.stats-grid b{font-size:17px}footer{font-size:10px}.name-form input{padding:8px;font-size:16px}}@media(max-width:520px){.viewport{aspect-ratio:auto;height:420px;max-height:calc(100svh - 225px);min-height:310px}.panel.wide{max-width:100%}.panel{max-height:100%}#overlay{padding:9px}.hero-option small{line-height:1.55}#bossBar{left:35%;right:3%}.clock strong{font-size:16px}.health strong{letter-spacing:-1px}}@media(max-height:520px) and (orientation:landscape){main{padding:4px 12px}.top,.chapters,footer,.journey{display:none}.hud{height:42px;padding:5px 15px}.hud small{font-size:9px}.hud strong{font-size:15px}.viewport{height:calc(100svh - 53px);min-height:210px;aspect-ratio:auto}#world{object-fit:contain}.controls{position:fixed;bottom:max(8px,env(safe-area-inset-bottom));left:20px;right:20px;margin:0;pointer-events:none;z-index:5}.controls button{pointer-events:auto;opacity:.78;width:52px;height:49px}.controls button.attack{width:61px}.controls button span{font-size:11px}.keyboard-help{display:none}.panel{max-width:64%;padding:12px}.panel.wide{max-width:78%}h1{font-size:26px}h1 .sub{font-size:19px}.medallions{position:absolute;left:9%;top:35%;flex-direction:column}.hero-options{margin:7px 0}.hero-option canvas{width:50px;height:50px}.panel .fine{font-size:10px}#powerBar{top:6px}.ranking td{padding:6px}#notice{bottom:58px}}

/* Fantasy RPG framing and jewel-like status panels. */
.cabinet{border:2px solid #bda477;box-shadow:0 0 0 4px #111e30,0 0 0 5px #8b775666,0 25px 75px #0008;border-radius:10px}.hud{background:linear-gradient(100deg,#172c41,#303146 60%,#162b3d);border-bottom:2px solid #bfa06e}.panel{background:linear-gradient(145deg,#28394df7,#172735fa 55%,#303043f7);border:2px solid #d8bd84;box-shadow:inset 0 0 0 4px #e2c59212,0 20px 60px #0007;border-radius:8px}.panel h1,.panel h2{text-shadow:0 2px 0 #704e47,0 0 22px #eed3a52a}.primary{background:linear-gradient(#ffe3a7,#c99d64);border:1px solid #ffe9c4;box-shadow:inset 0 0 0 3px #64482622,0 4px 0 #665344;color:#252a38}.hero-option{background:linear-gradient(140deg,#344454,#1b2e40);border-radius:6px}.hero-option.selected{box-shadow:inset 0 0 24px #dfc48022,0 0 16px #dfc48011}.controls button{background:linear-gradient(#405063,#25354b);border:1px solid #c9b58488;box-shadow:inset 0 0 0 3px #c2a97618,0 4px 0 #101b2d}.controls button.attack{background:linear-gradient(#886170,#553b58)}#bossBar{background:#241d35e6;border-color:#c79eb3}.journey{background:linear-gradient(90deg,#1b2c3e,#293349)}

#world,.portrait,.hero-option canvas{image-rendering:auto}.cabinet,.panel,.primary,.hero-option,.controls button{border-radius:0}.panel{border-width:3px}.hud strong,.eyebrow{font-family:monospace}.controls button span{font-size:10px}

.victory-portrait{display:block;width:88px;height:88px;margin:8px auto;image-rendering:auto}@media(max-height:520px) and (orientation:landscape){.victory-portrait{width:58px;height:58px;margin:3px auto}}

.energy-meter strong{color:#95efd2;white-space:nowrap;letter-spacing:2px}.energy-meter small span{display:block;font-size:9px;letter-spacing:0;margin-top:2px;color:#aec8c3}.hud{gap:24px}@media(max-width:800px){.hud{gap:10px}.energy-meter strong{font-size:15px;letter-spacing:0}.energy-meter small{font-size:8px}.stage-meta strong{font-size:14px}}@media(max-width:520px){.hud{gap:7px;padding:8px}.energy-meter small span{display:none}.health strong{font-size:12px}.hud small{font-size:8px}.stage-meta small{letter-spacing:0}.clock strong{font-size:14px}}

@media(max-height:520px) and (orientation:landscape){.energy-meter small span{display:none}}

/* Alien invasion title screen; family photos remain in the rescue story. */
.home-screen .controls,.cinema-screen .controls,.ending-screen .controls{visibility:hidden;pointer-events:none}.cinema-screen .controls button,.ending-screen .controls button,.home-screen .controls button{pointer-events:none}
.home-screen #overlay{padding:0;background:#090d23}.panel.title-screen{position:relative;isolation:isolate;max-width:100%;width:100%;height:100%;max-height:100%;padding:0;border:0;overflow:hidden;text-align:left;background:#10172e url('story/multiverse.webp') center/cover}.title-screen:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#090d23f5 0%,#0d1535db 40%,#11182b22 76%,#11192b55)}.title-layout{height:100%;padding:32px 45px;position:relative}.title-copy{position:relative;width:51%;z-index:2}.title-screen .eyebrow{font-family:inherit;font-size:9px;letter-spacing:2.4px;color:#c7ddf4}.title-screen h1{font-size:50px;margin:12px 0 0;line-height:1.12}.title-screen h1 .sub{font-size:25px;letter-spacing:9px;margin:8px 0}.title-screen .story-title{font-size:22px;color:#b2eaff;letter-spacing:3px;text-shadow:none;margin:14px 0 8px}.title-screen .title-premise{color:#d1d8e6;font-size:14px;line-height:1.7}.title-heroes{display:flex;gap:20px;margin:13px 0 2px}.title-heroes>span{display:flex;align-items:center;gap:9px;font-size:12px;color:#f4d5a8}.title-heroes canvas{width:49px;height:49px;background:#172a3d;border:1px solid #b8946499;border-radius:50%}.title-screen .primary{margin-top:15px;font-size:16px;padding:13px 12px;border-radius:5px}.title-links{display:flex;gap:9px}.title-links .secondary{font-size:11px;padding:8px 10px;background:#10193299;border-color:#a6c4e244;border-radius:4px}.title-screen #visitCount{font-size:10px;margin-top:12px}.title-tip{position:absolute;right:6%;bottom:11px;text-align:center;font-size:10px!important;color:#b8c9dc!important;line-height:1.5!important}.reunion-photo{display:block;width:min(100%,340px);height:130px;object-fit:cover;object-position:center 24%;margin:12px auto;border:1px solid #ebce9b77;border-radius:5px}
#cinematic{position:absolute;inset:0;z-index:10;background:#060c1c;display:flex;align-items:center;justify-content:center}#cinematic[hidden]{display:none}#cinematic video,#cinematic canvas{width:100%;height:100%;object-fit:contain}#cinematic [hidden]{display:none}.cinema-top,.cinema-bottom{position:absolute;left:0;right:0;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#060b1bd9;font-size:11px}.cinema-top{top:0}.cinema-bottom{bottom:0}.cinema-top>span{letter-spacing:2px;color:#a7cce6}.cinema-top b{font-weight:500;letter-spacing:0;margin-left:12px;color:#f7e0b6}.cinema-top button,.cinema-bottom button{background:#1d2d48;border:1px solid #bddbff44;border-radius:4px;padding:7px 10px;color:#eef5ff;font-size:11px}.cinema-status{color:#d4dfef;font-size:11px}.cinema-time{font-variant-numeric:tabular-nums;color:#c1cfe4;white-space:nowrap}
@media(max-width:1000px){.title-layout{padding:23px 30px}.title-screen h1{font-size:38px}.title-screen h1 .sub{font-size:22px}.title-screen .story-title{font-size:19px;margin:10px 0}.title-screen .title-premise{font-size:12px}.title-heroes{margin:8px 0}.title-screen .primary{padding:11px;font-size:14px;margin-top:9px}.title-screen #visitCount{margin-top:8px}}
@media(max-width:520px){.home-screen .viewport{height:490px;min-height:400px;max-height:calc(100svh - 155px)}.title-layout{padding:24px 20px}.title-copy{width:72%}.title-screen .eyebrow{font-size:8px;letter-spacing:1px}.title-screen h1{font-size:36px}.title-screen h1 .sub{font-size:21px;letter-spacing:6px}.title-screen .title-premise{font-size:12px}.title-screen:before{background:linear-gradient(90deg,#090d23f5 0%,#0d1535da 49%,#11182b44)}.title-screen .primary,.title-links{position:relative;width:135%}.title-links .secondary{font-size:10px;padding:8px}.title-tip{left:20px;right:auto;bottom:12px;text-align:left}.title-heroes{gap:10px}.title-heroes>span{gap:5px;font-size:10px}.title-heroes canvas{width:39px;height:39px}.cinema-top,.cinema-bottom{padding:8px;font-size:9px}.cinema-top b{display:none}.cinema-status{font-size:9px}.reunion-photo{height:105px}}
@media(max-height:520px) and (orientation:landscape){.title-layout{padding:14px 28px}.title-copy{width:48%}.title-screen h1{font-size:31px;margin:7px 0}.title-screen h1 .sub{display:inline;font-size:18px;letter-spacing:3px;margin-left:7px}.title-screen .story-title{font-size:17px;margin:7px 0}.title-screen .title-premise{font-size:11px;line-height:1.5}.title-heroes{position:absolute;left:110%;top:142px;width:230px;gap:16px}.title-heroes canvas{width:40px;height:40px}.title-screen .primary{font-size:13px;padding:9px}.title-links .secondary{font-size:10px;margin-top:8px;padding:6px 9px}.title-screen #visitCount{font-size:9px;margin-top:7px}.title-tip{font-size:9px!important;bottom:1px;right:6%}.reunion-photo{height:85px}}
.cinema-bottom{background:linear-gradient(0deg,#060b1bdd,transparent);padding:4px 14px}.cinema-bottom button{padding:5px 9px}

/* Invasion atmosphere uses the same alien art as the multiverse finale. */
body.home-screen{background:radial-gradient(ellipse at 73% 0,#241344 0,transparent 55%),#060b18}
.home-screen .cabinet{border-color:#586684;box-shadow:0 0 0 4px #090f20,0 0 0 5px #4c315a66,0 25px 75px #000a}
.home-screen .panel.title-screen{background:#080d20 url('multiverse/cosmos.webp') center 22%/cover}
.title-screen:before{background:linear-gradient(90deg,#060b1afc 0%,#0a1026ed 39%,#14102a66 68%,#110c2544),linear-gradient(0deg,#060817f5,transparent 55%)}
.title-screen h1{color:#edf4ff;text-shadow:0 3px 0 #121a38,0 0 24px #478aff33}
.title-screen h1 .plus{color:#a693ff}.title-screen .story-title{color:#b4c8f5}
.title-screen .eyebrow{display:inline-block;color:#ffb2c8;border-left:3px solid #ee7097;padding:7px 10px;background:#32162b99;font-size:12px;letter-spacing:1.8px}
.title-copy{width:52%}.title-screen .title-premise{color:#c1cadd}
.title-heroes>span{color:#ccdcf6}.title-heroes canvas{background:#101a30;border-color:#6873a8}
.title-threat{position:absolute;right:3%;bottom:7%;height:85%;width:40%;z-index:1;pointer-events:none}
.title-threat img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 23px #8a45b566) drop-shadow(0 18px 15px #030512)}
.title-threat>span{position:absolute;bottom:0;left:0;width:100%;text-align:center;color:#bec6ee;font-size:12px;letter-spacing:2px;text-shadow:0 2px 5px #000;background:linear-gradient(90deg,transparent,#090d1ee6,transparent);padding:9px}
.title-screen .primary{background:linear-gradient(110deg,#b2caff,#7de0f4);color:#0c1630;border-color:#c5eeff;box-shadow:0 3px 0 #31517c,0 0 22px #66b4ff22}
.title-links .secondary{color:#c8d5ee;border-color:#65739b66}.title-tip{color:#91a4c8!important}
@media(max-width:1000px){.title-screen .eyebrow{font-size:11px;padding:5px 8px}.title-threat{height:82%;right:1%;bottom:9%;width:42%}}
@media(max-width:520px){.home-screen .panel.title-screen{background-position:66% top}.title-screen:before{background:linear-gradient(90deg,#060b1af5 0%,#0a1026db 50%,#14102a66),linear-gradient(0deg,#060817f5,transparent 65%)}.title-copy{width:80%}.title-layout{padding:23px 20px}.title-screen .eyebrow{font-size:10px;letter-spacing:1px}.title-threat{height:66%;width:59%;right:-12%;bottom:18%;opacity:.57}.title-threat>span{display:none}.title-screen .primary,.title-links{width:125%}.title-tip{right:20px;left:20px}.title-screen .title-premise{font-size:13px}.title-screen .story-title{font-size:21px}}
@media(max-height:520px) and (orientation:landscape){.title-copy{width:50%}.title-threat{height:87%;width:36%;right:4%;bottom:6%}.title-threat>span{font-size:10px;padding:4px}.title-screen .eyebrow{font-size:10px;padding:3px 7px}.title-heroes{left:110%;top:145px}.title-tip{right:5%}.title-layout{padding-top:12px}}

#powerBar .super-power{background:#251d46ee;color:#ffe4a1;border:1px solid #dab971;box-shadow:0 0 15px #ffd26935}

/* Armed siblings guard the left side of the invasion title screen. */
.title-screen .title-layout{display:grid;grid-template-columns:minmax(200px,.76fr) minmax(350px,1.25fr) minmax(160px,.65fr);gap:12px;align-items:center;padding:25px 28px 43px}
.title-screen .title-copy{grid-column:2;position:relative;z-index:2;width:100%}
.title-defenders{grid-column:1;grid-row:1;position:relative;z-index:2;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}
.title-defenders canvas{width:125%;max-width:none;flex:none;filter:drop-shadow(0 10px 20px #040914);margin-left:-7%}
.title-defenders>span{position:absolute;bottom:40px;left:-4%;right:-4%;text-align:center;font-size:13px;letter-spacing:.03em;color:#bcefed}
.title-screen .title-threat{grid-column:3;grid-row:1;min-width:0;position:relative;right:auto;bottom:auto;width:100%;height:100%;max-height:405px;opacity:1}
.title-screen .title-heroes{display:none}
.title-screen .title-tip{grid-column:1/-1}
.title-screen .primary,.title-screen .title-links{width:100%}
.release-version{font-size:12px;color:#a8bdc8;font-variant-numeric:tabular-nums}
.title-release{margin:7px 0 0;color:#aabbd0}
footer{flex-wrap:wrap;gap:10px}
@media(max-width:800px){.title-screen .title-layout{grid-template-columns:minmax(145px,.65fr) minmax(290px,1.4fr) minmax(100px,.45fr);gap:4px}.title-defenders>span{font-size:11px;bottom:45px}.title-defenders canvas{width:143%;margin-left:-15%}.title-screen .title-threat img{max-height:260px}.title-release{font-size:10px}}
@media(max-width:560px) and (orientation:portrait){.title-screen .title-layout{grid-template-columns:1fr 1fr}.title-screen .title-copy{grid-column:1/-1;grid-row:1}.title-defenders{grid-column:1;grid-row:2;height:210px}.title-defenders canvas{width:240px}.title-defenders>span{bottom:0;font-size:11px}.title-screen .title-threat{grid-column:2;grid-row:2;height:210px}.title-screen .title-threat img{max-height:205px}.title-screen .title-tip{grid-row:3}}

/* The route screen is a paused, readable atlas between every chapter. */
.panel.map-panel{width:min(1080px,98%);max-width:1080px;padding:20px 16px 18px;background:linear-gradient(150deg,#111f36,#1e203c);border-color:#788eae;overflow:hidden}
.map-panel h2{margin:5px 0 8px;font-size:25px;color:#fff0ce}.map-panel .eyebrow{color:#99e2e9}
#journeyMap{display:block;width:100%;height:auto;border-radius:13px;border:1px solid #9eb2d22b}
.map-arrival{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}.map-arrival p{font-size:15px;color:#d9e4f7;margin:0}.map-arrival .primary{margin:0;min-width:260px}
.map-arrival button:disabled{opacity:.65;cursor:wait}
@media(max-width:600px){.panel.map-panel{padding:13px 7px}.map-panel h2{font-size:19px}.map-arrival{flex-direction:column;gap:8px}.map-arrival p{font-size:13px}.map-arrival .primary{min-width:0;width:95%;font-size:14px}#journeyMap{min-height:240px;object-fit:contain}}
@media(max-height:520px) and (orientation:landscape){.panel.map-panel{padding:10px 14px}.map-panel .eyebrow{display:none}.map-panel h2{font-size:18px;margin:0 0 4px}#journeyMap{max-height:58vh;object-fit:contain}.map-arrival{margin-top:6px}.map-arrival .primary{font-size:13px;padding:9px 18px}.map-arrival p{font-size:12px}}
body.map-screen #overlay{position:fixed;inset:0;z-index:100;background:#080f21ed;display:flex;align-items:center;justify-content:center;overflow:auto;padding:10px}
body.map-screen .map-panel{display:flex;flex-direction:column;max-height:calc(100svh - 20px);margin:auto}
body.map-screen #journeyMap{height:min(52vw,calc(100svh - 180px));min-height:0;max-height:none;object-fit:contain;flex-shrink:1}
.map-arrival .primary{width:auto;flex:0 0 auto;max-width:65%}.map-arrival p{flex:1;max-width:440px}
@media(max-width:600px) and (orientation:portrait){body.map-screen #journeyMap{height:58vw}.map-arrival .primary{max-width:100%;width:95%}}

.load-game{display:block;width:100%;margin:10px 0}.save-slots{display:grid;gap:12px;margin:20px 0}.save-slot{display:grid;gap:8px;text-align:left;padding:18px 22px;border:1px solid #829fc177;border-radius:12px;background:#142940;color:#fff1cf}.save-slot b{font-size:20px;color:#9ff9e8}.save-slot span{font-size:16px}.save-slot small{font-size:14px;color:#b8c6dc}.save-slot:disabled{opacity:.48}.save-slot:not(:disabled):hover{border-color:#9ff9e8;background:#204057}

.game-exit{position:absolute;right:12px;top:77px;z-index:2;min-width:66px;min-height:44px;padding:8px 12px;background:#172334e8;border:1px solid #d6b386;color:#ffe0b3;font-size:14px;cursor:pointer}.game-exit:hover{background:#513746}.game-exit:focus-visible{outline:3px solid #ffe1a0;outline-offset:2px}.game-exit[hidden]{display:none}
@media(max-height:520px) and (orientation:landscape){.game-exit{top:66px;right:10px}}

.title-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}.title-menu .secondary{width:100%;min-height:44px;margin:0;padding:10px 8px;font-size:15px;border-color:#829cc880;background:#15243de6;color:#e2ebff}.title-menu .secondary:hover{background:#263c5d;border-color:#a9d9ff}

footer{flex-wrap:wrap;gap:8px}footer .privacy-link{color:#bbccc3;font-size:12px;padding:8px;text-underline-offset:3px}footer .privacy-link:focus-visible{outline:2px solid #ffe09e;outline-offset:3px}
