*{box-sizing:border-box}body{margin:0;background:#101b18;color:#f1e8d3;font:16px/1.5 system-ui,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #8d805246;background:#15221edb;border-radius:5px;transition:background .15s,transform .15s}button:hover{background:#3a4430}button:focus-visible{outline:2px solid #f4d993;outline-offset:3px}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}#world{width:100%;height:100%;position:fixed;inset:0;display:block}.vignette{pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 150px 35px #06100c99;background:linear-gradient(#07120f70,transparent 24%,transparent 72%,#07120fb0)}header{position:fixed;inset:22px 30px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none}header button,header .topActions{pointer-events:auto}.brand{font:bold 40px Georgia;color:#dfc178;line-height:1}.brand span{font:10px system-ui;letter-spacing:3px;display:block;margin-top:10px}.wave{text-align:center;text-shadow:0 2px 8px #000}.wave small,.eyebrow{font-size:12px;letter-spacing:3px;color:#cbb77d}.wave strong{display:block;font:32px Georgia;letter-spacing:4px;margin-top:6px}.wave>span{font-size:13px;color:#c2c9b6}.topActions{display:flex;gap:10px;align-items:center}.topActions button{padding:8px 12px;font-size:13px}.gold{color:#efce81;margin-right:15px}.gold small{display:block;font-size:10px;letter-spacing:2px}.gold b{font-size:24px}footer{position:fixed;bottom:24px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.party{display:flex;gap:14px;align-items:center;padding:13px;background:#0d1a17dd;border:1px solid #c4b47b36;border-radius:6px}.portraits{display:flex;gap:6px}.portrait{width:54px;height:65px;position:relative;overflow:hidden;padding:0;opacity:.55;border:1px solid #777}.portrait.selected{opacity:1;border:2px solid #e6c984}.portrait img{position:absolute;max-width:none;width:145px;height:162px;top:-12px}.knightCrop{left:-79px}.rogueCrop{left:-17px}.portrait span{position:absolute;bottom:0;right:4px;text-shadow:0 1px 3px #000;font-size:12px}.vitals{width:205px}.vitals strong{font-size:14px;letter-spacing:2px}.vitals small{display:block;font-size:11px;color:#acb8a7}.health{height:7px;background:#393d31;margin:8px 0 4px;border-radius:4px;overflow:hidden}.health i{display:block;height:100%;background:linear-gradient(90deg,#6c8c48,#acc377);width:100%;transition:width .2s}.abilities{display:flex;gap:8px}.abilities button{min-width:112px;padding:10px 13px;text-align:left;background:#101d19e8;border-color:#c3b37a59}.abilities kbd{font:10px system-ui;border:1px solid #b6ad8b77;padding:1px 5px;border-radius:2px;color:#d8cba8}.abilities strong{display:block;font:15px Georgia;margin-top:6px}.abilities small{display:block;color:#9cae9b;font-size:11px}.tips{font-size:12px;color:#99aa9b;text-align:right}.tips b{color:#dfdec9;font-weight:400}#banner{position:fixed;top:23%;left:0;width:100%;text-align:center;font:38px Georgia;color:#f4d78e;text-shadow:0 3px 10px #000;pointer-events:none}#banter{position:fixed;bottom:155px;left:20%;right:20%;text-align:center;font:italic 19px Georgia;text-shadow:0 2px 8px #000;color:#f3e8c9;pointer-events:none}.overlay{position:fixed;inset:0;background:#05100be0;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.hidden{display:none!important}.startCard{max-width:930px;width:100%;display:grid;grid-template-columns:43% 57%;border:1px solid #c4ae6859;background:#14221c;box-shadow:0 20px 100px #0009;border-radius:8px;overflow:hidden}.introArt{position:relative;min-height:560px;overflow:hidden}.introArt img{height:100%;width:100%;object-fit:cover;position:absolute;filter:brightness(.7)}.introArt:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#12211d,transparent 55%)}.introArt span{position:absolute;bottom:28px;left:26px;letter-spacing:3px;font-size:11px;z-index:1}.introCopy{padding:35px 42px}.introCopy h1{font:76px/.95 Georgia;color:#e7c879;margin:14px 0 0;letter-spacing:-4px}.subtitle{font:20px Georgia!important;color:#cec8ae!important;margin:4px 0 28px!important;letter-spacing:2px}.introCopy h2{font:29px/1.2 Georgia;margin:0 0 16px}.introCopy p,.panel p{font-size:14px;color:#b7c0b1}.introDetails{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#c8ba8f;margin:20px 0}.primary{width:100%;padding:13px 20px;background:#d6ba76;color:#14211a;border:1px solid #ead99b;font-weight:650}.primary:hover{background:#ead293}.primary span{float:right}.note{display:block;font-size:11px;color:#9dab97;margin-top:16px;line-height:1.8}.panel{width:520px;max-width:100%;padding:34px;background:#15231d;border:1px solid #b8a66b66;border-radius:8px;box-shadow:0 20px 100px #0008}.panel h2{font:34px Georgia;margin:12px 0}.panel .primary{margin-top:16px}#upgrades{display:grid;gap:8px}#upgrades button{display:flex;justify-content:space-between;padding:12px;text-align:left}#upgrades small{display:block;color:#aeba9d;font-size:12px}#upgrades b{color:#e9cb7d;white-space:nowrap}#touch{display:none;position:fixed;bottom:150px;left:20px}.dpad{display:grid;grid-template-columns:repeat(3,44px);gap:4px}.dpad button{height:44px;touch-action:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2}.dpad button:nth-child(3){grid-row:2}.dpad button:nth-child(4){grid-row:2}@media(pointer:coarse){#touch{display:block}.abilities button{touch-action:none}}@media(max-width:850px){header{inset:15px}.brand{font-size:29px}.brand span{font-size:8px;letter-spacing:1px}.wave strong{font-size:24px}.wave small{font-size:9px}.topActions{gap:5px}.gold{margin-right:0}.gold small{display:none}.topActions button{padding:5px;font-size:11px}footer{bottom:12px;left:12px;right:12px;gap:8px}.tips{display:none}.vitals{width:130px}.vitals small{font-size:10px}.vitals strong{font-size:11px}.party{padding:8px;gap:8px}.portrait{width:36px;height:49px}.portrait img{width:125px;height:139px}.knightCrop{left:-71px}.rogueCrop{left:-20px}.abilities button{min-width:77px;padding:8px}.abilities strong{font-size:12px}.abilities small{font-size:10px}.startCard{max-width:640px;grid-template-columns:35% 65%}.introCopy{padding:25px}.introArt{min-height:510px}.introCopy h1{font-size:60px}.introCopy h2{font-size:25px}}@media(max-width:560px){.startCard{display:block}.introArt{display:none}.introCopy{padding:26px}.introCopy h1{font-size:65px}.wave{position:absolute;top:60px;left:50%;transform:translateX(-50%);width:230px}.wave small{display:none}.wave strong{font-size:21px}.party{position:absolute;bottom:85px;left:0}.abilities{margin-left:auto}.panel{padding:22px}#banter{left:12%;right:12%;bottom:235px;font-size:16px}.gold b{font-size:19px}.introCopy .eyebrow{font-size:10px}.overlay{padding:16px}}
/* Combat readability and the Platypi Village store. */
.waveTrack{width:150px;height:3px;margin:7px auto;background:#0b1b18}.waveTrack i{height:100%;display:block;background:#e6c679;transition:width .25s}.topActions{gap:6px}.topActions button{font-size:12px;padding:8px}.gold{margin-right:6px}.abilities button{min-width:96px;padding:10px}.abilities button.ready{border-color:#7fcfdd88;box-shadow:inset 0 0 18px #51c6d20a}.abilities #power.ready{border-color:#bb8cfa88;box-shadow:inset 0 0 18px #af63ff17}.abilities #pie.ready{border-color:#bfe59288}.tips{display:none}footer{gap:12px}.vitals{width:176px}#buff{position:fixed;bottom:133px;left:30px;font-size:13px;letter-spacing:1px;color:#80edff;text-shadow:0 2px 5px #000}#toast{position:fixed;top:130px;left:50%;transform:translate(-50%,-8px);opacity:0;transition:.2s;background:#112b23ed;border:1px solid #d8bc7377;border-radius:5px;padding:9px 16px;font-size:14px;max-width:90%;text-align:center;pointer-events:none;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}#damageFlash{position:fixed;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 110px #c12637}#damageFlash.flash{animation:hurt .4s ease-out}@keyframes hurt{0%{opacity:.65}100%{opacity:0}}.secondary{display:block;width:100%;margin-top:10px;padding:10px;border-color:#a3905d88;background:#1b2a22}.saveLine{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0;color:#b5c3ae;font-size:12px}.saveLine button{padding:4px 8px;font-size:12px}.introArt{min-height:660px}.introArt img{object-fit:cover;object-position:center top;filter:brightness(.85)}.introCopy{padding:30px 36px}.introCopy h1{font-size:66px}.introCopy .subtitle{margin-bottom:20px!important}.note{font-size:12px}.storePanel{width:660px;max-height:94vh;overflow:auto;padding:28px;position:relative}.shopWallet{float:right;color:#f4cf78;font-size:20px}.shopItem{align-items:center;gap:12px}.shopItem span{flex:1}.shopItem strong{font:18px Georgia}.shopItem small{font-size:13px!important;margin:4px 0}.shopItem em{font-style:normal;font-size:12px;color:#e1c485}.pieItem{background:linear-gradient(110deg,#333723,#14251e)!important}.pieItem img{width:88px;height:88px;object-fit:cover;border-radius:7px}.storePanel .primary{margin-top:10px}.storePanel .secondary{display:inline-block;width:calc(50% - 5px);font-size:14px}.storePanel .eyebrow{font-size:11px}.storePanel h2{margin:8px 0;font-size:32px}.storePanel>p{margin:6px 0 14px}.panel .secondary:disabled{opacity:.4}.loreButton{background:transparent;border:none;text-decoration:underline;color:#c9b375;font-size:12px;padding:0;margin-top:12px}.lorePanel{width:770px;max-height:92vh;overflow:auto}.lorePanel img{width:100%;border:1px solid #a89466}.lorePanel p{font-size:14px}#loadOver:disabled{opacity:.4}
@media(max-width:1000px){footer{left:16px;right:16px}.vitals{width:140px}.party{gap:8px;padding:8px}.portrait{width:40px;height:53px}.abilities{gap:5px}.abilities button{min-width:85px;padding:8px}.abilities strong{font-size:13px}.abilities small{font-size:10px}}@media(max-width:760px){footer{display:block}.party{width:max-content;margin-bottom:10px}.abilities{justify-content:flex-end}.abilities button{flex:1;min-width:0;max-width:115px}.topActions{flex-wrap:wrap;justify-content:flex-end;max-width:240px}.wave{position:absolute;top:64px;left:50%;transform:translateX(-50%);width:240px}.wave small{display:none}.wave strong{font-size:22px}.introArt{display:none}.startCard{display:block;max-width:480px}.introCopy{padding:24px}.introCopy h2{font-size:25px}.introCopy h1{font-size:55px}.introCopy .subtitle{margin-bottom:16px!important}.introDetails{margin:12px 0}.note{margin-top:10px}#touch{bottom:205px}#buff{bottom:190px;left:16px}#banter{bottom:207px;left:25%;right:7%;font-size:15px}#toast{top:140px;width:max-content;max-width:90%}.abilities small{font-size:9px}.abilities strong{font-size:12px}.abilities kbd{font-size:9px}.party .vitals{width:165px}.storePanel{padding:20px}.pieItem img{width:60px;height:60px}.shopItem strong{font-size:16px}.storePanel .eyebrow{letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.storyPanel{background:linear-gradient(#11241ded,#14241cf7),url('assets/world-map-final.png') center/cover;max-width:610px;padding:40px}.storyPanel p{white-space:pre-line;font:20px/1.7 Georgia;color:#e1ddc9;min-height:170px}.storyPanel h2{font-size:37px;color:#e3c57a}.storyPanel>small{float:right;color:#b9bd9f}#bestScore{font:23px Georgia;color:#e9ca7d}#scoreStatus{font-size:13px}
/* Clear shared actions, illustrated scenes, and accessible audio controls. */
.crewPanel{display:flex;flex-direction:column;gap:7px;min-width:280px}.switchButton{padding:7px 12px;border-color:#dfc27ca6;background:#243c32;letter-spacing:.3px;font-size:14px}.abilities{flex:1;justify-content:flex-end}.abilities button{flex:1;max-width:130px;min-width:82px;min-height:83px}.abilities strong{font-size:14px}.abilities small{font-size:12px}.abilities kbd{font-size:11px}#duo{border-color:#e8c77980;background:linear-gradient(125deg,#1c3344,#3c294b)}#duo.ready{border-color:#ffe6a6;box-shadow:0 0 16px #e4ac4920}.vitals{width:160px}#buff{bottom:152px}#banter{bottom:168px}.storyPanel{width:720px;max-width:100%;max-height:94vh;overflow:auto;padding:24px 30px}.storyPanel>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px;margin:0 0 19px;border:1px solid #c3a36666}.storyPanel p{min-height:100px;font-size:18px;margin:12px 0;line-height:1.6}.storyPanel h2{font-size:31px;margin:12px 0}.storyPanel .secondary{font-size:14px}.audioPanel{width:620px;max-height:92vh;overflow:auto}.audioPanel>p{font-size:14px}.voiceRow{display:grid;grid-template-columns:78px 1fr 76px;align-items:center;gap:10px;margin-top:15px}.voiceRow label{font-size:14px;color:#ead5a1}.voiceRow select{width:100%;min-width:0;background:#0c2119;color:#efe5ce;border:1px solid #9b8c6377;border-radius:4px;padding:9px;font:14px system-ui}.voiceRow button{font-size:13px;padding:8px}#combatWords{position:fixed;inset:0;pointer-events:none;overflow:hidden}.inkWord{position:absolute;transform:translate(-50%,-50%) rotate(-8deg);font:bold italic 25px Georgia;letter-spacing:1px;color:#ebdfbf;text-shadow:3px 3px #050d0e,-2px -2px #050d0e,2px -2px #050d0e,-2px 2px #050d0e;white-space:nowrap}.panel{max-height:94vh;overflow:auto}@media(max-width:1100px){footer{align-items:flex-end}.crewPanel{min-width:235px}.vitals{width:130px}.abilities button{padding:8px 6px;min-width:72px}.abilities strong{font-size:13px}.abilities small{font-size:11px}.portrait{width:34px;height:48px}}@media(max-width:800px){footer{display:grid;gap:8px}.crewPanel{flex-direction:row;align-items:center;min-width:0}.crewPanel .party{margin:0;position:static;bottom:auto}.switchButton{width:145px;line-height:1.35;padding:10px 8px}.abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:5px}.abilities button{max-width:none;min-width:0;padding:7px 4px;min-height:77px}.abilities strong{font-size:12px}.abilities small{font-size:10px}.abilities kbd{font-size:10px}#touch{bottom:220px}#buff{bottom:180px}#banter{bottom:207px}.topActions{max-width:280px}.storyPanel{padding:20px}.storyPanel h2{font-size:27px}.storyPanel p{font-size:16px;min-height:95px}}@media(max-width:560px){.abilities{grid-template-columns:repeat(3,minmax(0,1fr))}.abilities button{min-height:67px;position:relative}.abilities strong{font-size:13px;display:inline-block;margin-left:5px}.abilities small{font-size:11px;margin-top:4px}.crewPanel .party{padding:6px}.crewPanel .vitals{width:118px}.crewPanel .vitals strong{font-size:12px}.crewPanel .portrait{width:30px}.crewPanel{gap:7px}.switchButton{width:116px;font-size:12px}.topActions{max-width:217px;gap:4px}.topActions button{padding:5px 6px;font-size:11px}.wave{top:70px}#buff{bottom:240px}#banter{bottom:258px}#touch{bottom:285px}.voiceRow{grid-template-columns:65px 1fr;gap:7px}.voiceRow button{grid-column:2}.storyPanel>img{margin-bottom:14px}.storyPanel h2{font-size:25px}.storyPanel .eyebrow{font-size:10px}.storyPanel p{font-size:15px;min-height:80px}.inkWord{font-size:20px}}

.scoreboard{width:100%;border-collapse:collapse;margin:22px 0;text-align:left;font-size:14px}.scoreboard caption{text-align:left;color:#efcb7e;margin-bottom:10px;font-weight:bold}.scoreboard th,.scoreboard td{padding:12px 8px;border-bottom:1px solid #ffffff20}.scoreboard th{color:#c7cec3}.scoreboard td{text-align:right;color:#f5e9c5}.switchButton kbd{display:inline-block;margin-right:5px}#savedCheckpoint{font-size:13px;color:#bcc6ba}

.scoreboard #bestScore{font:inherit;color:#e9ca7d}button:focus-visible,select:focus-visible{outline:2px solid #ffe6a6;outline-offset:3px}.abilities button:disabled{opacity:.5}body{overscroll-behavior:none}

.lorePanel{width:1100px}.mapControls{display:flex;align-items:center;gap:10px;margin:16px 0 10px}.mapControls button{min-height:40px;min-width:40px;padding:8px 12px}.mapViewport{width:100%;max-height:60vh;overflow:auto;border:1px solid #a89466;background:#15231d;overscroll-behavior:contain}.mapViewport #mapImage{display:block;max-width:none;height:auto;border:0}.mapHint{font-size:13px!important;color:#c8ba8f!important}.mapControls span{min-width:48px;text-align:center;font-size:14px}

.mapControls{flex-wrap:wrap}

/* Sunnier adventure tone with dark, readable controls. */
.startCard{background:#20402c;border-color:#d8c27988}.introArt img{filter:brightness(.98)}.introArt:after{background:linear-gradient(0deg,#142f21,transparent 58%)}.introArt span{right:26px;font:24px/1.35 Georgia;letter-spacing:.3px;color:#ffdf8e;text-shadow:0 2px 5px #000}.introCopy h1{color:#ffe09a}.introCopy h2{color:#f2eedb}.introCopy p{color:#d3decb}.panel{background:#1d3528;border-color:#d7c08188}.primary{background:#efd081;color:#183022}.primary:hover{background:#ffe4a4}.secondary{background:#284b36}.party{background:#183526ed}.abilities button{background:#193629ed}.health i{background:linear-gradient(90deg,#79b54c,#c1e576)}.shopItem{background:#254330}.storyPanel{background:linear-gradient(#193a29ed,#203823f7),url('assets/world-map-final.png') center/cover}

#bossHud{position:fixed;z-index:12;top:100px;left:50%;transform:translateX(-50%);width:min(380px,70vw);padding:10px 16px;background:#211725ed;border:1px solid #efb365;border-radius:12px;text-align:center;color:#ffdb92;pointer-events:none}#bossNumbers{display:block;font-size:13px}.bossTrack{height:8px;background:#433342;border-radius:8px;margin-top:5px;overflow:hidden}#bossHealth{height:100%;background:linear-gradient(90deg,#d9564f,#ffc575)}#berryBuffs{position:fixed;left:50%;top:190px;transform:translateX(-50%);z-index:12;background:#192836ed;border:1px solid #90decb;color:#fff1c4;border-radius:12px;padding:9px 14px;font-size:14px;max-width:80vw;text-align:center;pointer-events:none}@media(max-width:650px){#bossHud{top:130px}#berryBuffs{top:215px;font-size:12px}}

/* Final readability pass: dialogs above combat HUD, touch targets and compact travel status. */
.overlay{z-index:50}#error{z-index:100}.wave #journey{display:block;font:11px/1.4 system-ui;letter-spacing:.2px;max-width:320px;color:#eee4c5;margin:4px auto}.volumeRow{display:grid;grid-template-columns:105px 1fr 46px;gap:12px;align-items:center;margin:14px 0}.volumeRow input{width:100%;min-height:44px;accent-color:#efd081}.volumeRow output{font-size:13px;text-align:right}button{touch-action:manipulation}.abilities button,#touch button{touch-action:none}.topActions button,.switchButton,.voiceRow button{min-height:44px}.health{height:10px}.abilities button:disabled{opacity:.68}.abilities small{color:#cedac8}#berryBuffs{max-height:100px;overflow:hidden}#banter{background:#0c2115a8;border-radius:6px;padding:4px 9px}#banter:empty{padding:0}#journey{white-space:normal}
@media(max-width:760px){header{inset:10px 12px auto;gap:8px}.brand{font-size:30px}.brand span{font-size:8px;letter-spacing:1px}.topActions{max-width:260px}.topActions button{min-width:44px}.wave{top:92px;width:290px}#bossHud{top:185px;padding:5px 10px}#bossNumbers{font-size:11px}#berryBuffs{top:255px;padding:5px 8px;max-width:94vw;font-size:11px}.volumeRow{grid-template-columns:90px 1fr 40px;gap:7px}.volumeRow label{font-size:13px}.shopItem{min-width:0}.shopItem span{min-width:0}.shopItem small{overflow-wrap:anywhere}footer{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom))}.overlay{padding:12px}.panel{max-height:96dvh}.mapControls button{min-height:44px}}
@media(max-height:540px) and (orientation:landscape){header{inset:6px 10px auto}.brand{display:none}.topActions{margin-left:auto;max-width:none;gap:4px}.topActions button{padding:4px 8px}.gold{margin-right:4px}.wave{position:absolute;left:10px;top:0;transform:none;width:245px;text-align:left}.wave>small:first-child{display:none}.wave strong{font-size:19px;margin:0;letter-spacing:1px}.wave #journey{margin:2px 0;font-size:10px}.wave>span{font-size:11px}#bossHud{top:76px;width:260px;padding:4px 8px;font-size:12px}#bossNumbers{display:none}#berryBuffs{top:122px;font-size:10px;padding:3px 7px}.crewPanel{position:absolute;bottom:88px;right:0}.crewPanel .party{padding:3px}.crewPanel .portrait{display:none}.crewPanel .vitals{width:125px}.crewPanel .vitals small#role{display:none}.switchButton{width:120px;min-height:44px}.abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.abilities button{min-height:62px;padding:5px}.abilities strong{font-size:11px}.abilities small{font-size:10px}#touch{bottom:90px}#banter{bottom:155px;left:20%;right:15%;font-size:13px}#buff{bottom:145px;left:auto;right:10px;font-size:11px}#banner{top:42%;font-size:24px}}

@media(max-width:760px) and (orientation:portrait){#bossHud{top:205px}#berryBuffs{top:270px}#banner{top:46%;font-size:24px}.topActions .gold small{letter-spacing:0}}

#jump{min-height:48px;min-width:100px;padding:6px 10px;margin-bottom:8px;background:#284334e8;touch-action:manipulation}#jump small{display:block;font-size:11px;color:#e1d8be}@media(max-height:540px) and (orientation:landscape){#touch{display:flex;align-items:end;gap:8px;bottom:82px}#jump{min-width:84px;margin-bottom:0}}
/* Live compass stays away from abilities; compact portrait layout reserves its own HUD lane. */
#tacticalMap{position:fixed;z-index:13;top:104px;right:16px;width:148px;background:#243629b8;border:1px solid #c5aa73;border-radius:12px 3px 12px 3px;overflow:hidden;box-shadow:0 3px 18px #071c1844;visibility:hidden}#mapToggle{display:block;width:100%;min-height:44px;padding:5px 3px;border:0;border-radius:0;background:#314634c9;color:#f2dfab;font:10px Georgia;letter-spacing:.6px}#mapCanvas{display:block;width:100%;height:auto;opacity:.9}#tacticalMap.minimised #mapCanvas{display:none}#enemyCompass{position:fixed;inset:0;width:100%;height:100%;z-index:11;pointer-events:none}.sharedIcons{display:flex!important;gap:4px!important;align-self:start}.sharedIcons>span{display:grid;place-items:center;width:26px;height:30px;border:1px solid #74cddd;border-radius:5px;color:#93eeff;background:#203f48}.sharedIcons>span+span{color:#dfb9ff;border-color:#c493eb;background:#392849}#cinematicFrame{position:fixed;inset:0;z-index:14;pointer-events:none;border-top:0 solid #09171be8;border-bottom:0 solid #09171be8;transition:border-width .22s}#cinematicFrame.active{border-width:3vh 0}body:has(#world.united) footer,body:has(#world.united) header,body:has(#world.united) #berryBuffs,body:has(#world.united) #bossHud,body:has(#world.united) #touch,body:has(#world.united) #banter,body:has(#world.united) #combatWords,body:has(#world.united) #toast{opacity:.05;pointer-events:none}body:has(#world.united) #banner{z-index:15}footer,header,#berryBuffs,#bossHud,#touch{transition:opacity .15s}
@media(max-width:760px) and (orientation:portrait){#tacticalMap{top:108px;right:10px;width:90px}#mapToggle{font-size:8px;letter-spacing:0}.wave{left:12px;transform:none;width:calc(100vw - 126px);text-align:left}.wave #journey{margin-left:0}#bossHud{left:12px;transform:none;width:calc(100vw - 126px);top:205px;font-size:11px}#berryBuffs{max-width:calc(100vw - 28px)}#tacticalMap.minimised{width:90px}}
@media(max-height:540px) and (orientation:landscape){#tacticalMap{top:65px;right:10px;width:84px}#mapToggle{min-height:36px;font-size:8px}#mapCanvas{max-height:100px;object-fit:contain}.sharedIcons{display:none!important}}
@media(prefers-reduced-motion:reduce){#cinematicFrame{transition:none}#cinematicFrame.active{border-width:0}footer,header,#berryBuffs,#bossHud,#touch{transition:none}}
.sharedIcons>span{position:relative;overflow:hidden}.sharedIcons img{position:absolute;max-width:none;width:88px!important;height:98px!important;top:-8px}.sharedIcons .sharedKnight{left:-48px}.sharedIcons .sharedAstrid{left:-12px}
@media(max-height:400px) and (orientation:landscape){.crewPanel{right:104px}#banter{right:40%;left:20%}#buff{right:110px}}

/* Passive jump combo reminder beside the combat controls. */
.movePanel{min-width:0}.jumpGuide{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 14px;margin-top:5px;padding:5px 9px;border:1px solid #7f92746b;border-radius:6px;background:#132b20df;color:#e4e9d2;font:12px/1.5 system-ui;text-align:center}.jumpGuide span{display:block}.jumpGuide b{color:#f3d895;font-weight:600}.jumpGuide kbd{font:inherit;color:#fff;padding:0 3px;border-bottom:1px solid #aebfaa}.jumpGuide i{display:none;font-style:normal;color:#c3d6c4}
@media(max-width:1100px){.movePanel{flex:1}}@media(max-width:760px){.movePanel{width:100%}.jumpGuide{padding:3px 6px;gap:1px 10px}}@media(pointer:coarse){.jumpGuide i{display:block}.jumpGuide{font-size:12px}#touch{margin-bottom:36px}}@media(max-height:540px) and (orientation:landscape){.jumpGuide{font-size:12px;line-height:1.25;padding:2px 4px}.jumpGuide i{display:none}.crewPanel{bottom:116px}#touch{bottom:110px;margin-bottom:0}}

#campPrompt{position:fixed;z-index:18;transform:translate(-50%,-100%);border:2px solid #ffd784;background:#273a24f2;color:#ffe6a3;padding:10px 15px;font:700 13px/1.4 system-ui;box-shadow:0 0 24px #ffd46e55;text-align:center;max-width:220px;min-height:48px}#campPrompt small{display:block;font-weight:400;color:#e3e7c9}body:has(#campPrompt:not(.hidden)) #banner{top:29%;font-size:24px}body:has(#campPrompt:not(.hidden)) #banter{opacity:0}@media(max-height:540px) and (orientation:landscape){#campPrompt{max-width:205px;padding:5px 8px}body:has(#campPrompt:not(.hidden)) #banner{top:22%;font-size:19px}}

body:has(#campPrompt:not(.hidden)) #berryBuffs{visibility:hidden}

/* Pre-game field guide remains scrollable on short and mobile screens. */
#start{align-items:flex-start}.startCard{margin:auto}.fieldGuide{margin-top:16px;border:1px solid #d8c27977;border-radius:6px;background:#152e22}.fieldGuide summary{cursor:pointer;padding:13px 14px;min-height:48px;color:#ffe09a;font-weight:650}.fieldGuide summary:focus-visible{outline:2px solid #f4d993;outline-offset:2px}.guideBody{padding:0 16px 16px;max-height:55vh;overflow-y:auto;overscroll-behavior:contain;text-align:left}.guideBody h3{font:20px Georgia;color:#ffe09a;margin:20px 0 10px}.guideBody p,.guideBody dd,.berryGuide{font-size:14px;line-height:1.6;color:#e0e8d9}.guideBody dl{margin:0}.guideBody dt{color:#ffe09a;font-weight:650;margin-top:12px}.guideBody dd{margin:3px 0 0}.berryGuide{padding-left:20px}.berryGuide li{margin:9px 0}@media(max-width:560px){.guideBody{max-height:50vh}.fieldGuide summary{font-size:14px}}

.enemyEntry{padding:12px 0;border-top:1px solid #d8c27944}.enemyEntry h4{font:17px Georgia;margin:0 0 5px;color:#ffe09a}.enemyEntry small{display:block;font-size:12px}.enemyEntry p{margin:6px 0 0}.bossGuide{color:#9bf5a4}.regularGuide{color:#ffb4a6}

.openingScene{position:fixed;inset:0;z-index:45;background:linear-gradient(#0008,transparent 20%,transparent 58%,#07120de8);touch-action:manipulation}.openingScene #openingSkip{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-height:44px;background:#182c24ed}.openingCaption{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(700px,90vw);text-align:center;color:#fff3d1;text-shadow:0 2px 5px #000}.openingCaption strong{display:block;font:22px Georgia;color:#efc478;margin-top:10px}.openingCaption p{font:18px/1.5 Georgia;margin:8px 0}.openingCaption small{font:12px system-ui;letter-spacing:1px}@media(max-height:450px){.openingCaption{bottom:10px}.openingCaption strong{font-size:18px;margin-top:4px}.openingCaption p{font-size:15px;line-height:1.3;margin:4px 0}.openingCaption small:first-child{display:none}}

.openingScene{pointer-events:none}.openingScene button{pointer-events:auto}.openingCaption{bottom:max(28px,env(safe-area-inset-bottom));width:min(620px,66vw)}.openingCaption #openingAction{display:block;margin:8px auto;min-height:44px;font-size:14px}.openingCaption #openingAction.hidden{display:none}#openingHint{display:block}@media(max-width:650px){.openingCaption{width:70vw;bottom:190px;left:60%}}@media(max-height:450px){.openingCaption{width:62vw;bottom:18px;left:57%}.openingCaption #openingAction{margin:4px auto;font-size:13px}}

:root[data-opening='true'] header,:root[data-opening='true'] footer,:root[data-opening='true'] #tacticalMap,:root[data-opening='true'] #crew,:root[data-opening='true'] #jump{visibility:hidden;pointer-events:none}

#desktopHint{position:fixed;bottom:150px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:80vw;padding:7px 12px;background:#11261de8;border:1px solid #c9b57488;border-radius:7px;font:14px/1.4 system-ui;color:#fff1cb;opacity:0;pointer-events:none;transition:opacity .4s;z-index:32}#desktopHint.visible{opacity:1;pointer-events:auto}#desktopHint button{padding:4px 9px;min-width:32px;background:transparent}.pauseControls{margin:16px 0;text-align:left}.pauseControls summary{cursor:pointer;padding:10px;border:1px solid #b9a77588;border-radius:5px}.touchControls{display:none}:root[data-layout='mobile'] .keyboardControls,:root[data-layout='mobile'] #desktopHint{display:none}:root[data-layout='mobile'] .touchControls{display:inline}#duo{position:relative}#duo:not(.ready){border-color:#bca6d077}

#unityMeter{position:absolute;left:5px;right:5px;bottom:3px;height:3px;background:#071510;border-radius:2px;overflow:hidden}#unityFill{display:block;height:100%;width:0;background:linear-gradient(90deg,#72dbff,#c17dff,#ffe1a2);transition:width .2s}

/* Independent gameplay touches; menus retain normal browser interaction. */
#jump,.abilities button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}

#world,header,footer,#touch,#cameraPad,#campPrompt,#campOpportunity{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#campOpportunity{position:fixed;z-index:32;top:25%;left:50%;transform:translateX(-50%);width:min(340px,80vw);padding:10px;background:#153325ed;border:1px solid #d9bd78;border-radius:9px;text-align:center;font:13px/1.4 system-ui}
#campOpportunity strong,#campOpportunity span,#campOpportunity small{display:block}
#campOpportunity button{min-height:44px;padding:7px 14px;margin:5px 3px 0}
:root[data-layout="mobile"] .desktopStoreHint{display:none}
:root[data-expanded-game="true"],:root[data-expanded-game="true"] body{width:100%;height:100dvh;overflow:hidden}
#openingLineSkip{min-height:44px;font:12px system-ui;padding:6px 12px}

body:has(#campOpportunity:not(.hidden)) #campPrompt,body:has(#campOpportunity:not(.hidden)) #banner{display:none}
