/* Compact touch-first preparation: mission and launch remain visible. */
body #menu .level-map{height:var(--journey-height,12000px)!important}
.journey-land.frost{background:url('/assets/hf-map-frost.webp') center/cover}.journey-land.jungle{background:url('/assets/hf-map-jungle.webp') center/cover}
.land-label.frost{background:#e7fbffed;border-color:#649dd1}.land-label.jungle{background:#eeffdbed;border-color:#39896b}
body[data-world=frost] #play-screen{background:#badfed}body[data-world=jungle] #play-screen{background:#8cdeb6}
body[data-world=frost] .game-viewport{background-image:url('/assets/hf-board-frost.webp')}body[data-world=jungle] .game-viewport{background-image:url('/assets/hf-board-jungle.webp')}
dialog.level-preparation{width:min(510px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:22px 18px 16px;overflow:hidden;border-radius:28px;box-sizing:border-box}
.level-preparation #modal-content{display:grid;grid-template-columns:1fr;gap:10px;overflow:hidden}
.level-preparation #close-modal{top:10px;right:10px;width:32px;height:32px;min-height:32px}
.level-preparation .prepare-heading{padding-right:24px}.level-preparation .modal-eyebrow{font-size:9px;letter-spacing:1.1px}.level-preparation h2{font-size:25px;line-height:1.1;margin:6px 0 0;color:#24626b}
.level-preparation .mission-card{background:linear-gradient(135deg,#e2f8de,#f5ffe9);padding:12px 10px;margin:0;border:1px solid #a5cdb9;border-radius:17px;box-shadow:inset 0 1px #fff}
.level-preparation .mission-card>p{margin:0 0 10px;font-size:13px;line-height:1.35;color:#36594f}
.level-preparation .mission-goals{margin:0;display:flex;gap:6px;justify-content:center}.level-preparation .mission-goals>div{flex:1;min-width:0;display:grid;grid-template-columns:22px 1fr;align-items:center;padding:5px 7px;gap:0;background:#fff9e9;border-radius:10px;border:1px solid #dbd5a4;box-shadow:none}.level-preparation .mission-goals span{font-size:18px;grid-row:1/3}.level-preparation .mission-goals b{font-size:19px;line-height:1.1}.level-preparation .mission-goals small{font-size:9px;line-height:1.1}
.prepare-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px}.prepare-meta .heart-panel{margin:0;padding:5px 8px;font-size:10px}.prepare-meta .heart-panel .heart-icons i{width:15px;height:15px}.prepare-meta .heart-panel small{display:none}
.level-preparation h3{font-size:15px;margin:1px 0 0}.prepare-note{font-size:11px;margin:2px 0 8px;color:#678376}
.level-preparation .loadout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.level-preparation .loadout-item{min-width:0;min-height:78px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:13px;border:1px solid #9ab8a6;background:#fff9e6;box-shadow:0 2px #537f6530;touch-action:manipulation}.level-preparation .loadout-item img{width:30px;height:30px;object-fit:contain}.level-preparation .loadout-item b{font-size:10px;line-height:1.1;font-weight:800;word-break:normal}.level-preparation .loadout-item small{font-size:10px;line-height:1.1}.level-preparation .loadout-item[aria-pressed=true]{background:#d0ffd4;border:2px solid #348764;box-shadow:0 0 0 2px #60c58a4d}.level-preparation .loadout-item:disabled{opacity:.48;filter:grayscale(.6)}
.loadout-description{margin:8px 0 0;min-height:29px;font-size:10px;line-height:1.3;color:#45685d}.prepare-footer{margin-top:0;display:flex;flex-direction:column;gap:5px;background:#fff8e6}.prepare-footer .error{font-size:11px;line-height:1.2;margin:0}.prepare-footer .error:empty{display:none}.level-preparation #begin-level{width:100%;min-height:49px;padding:12px;font-size:20px;border-radius:16px;touch-action:manipulation;box-shadow:0 3px #aa7b3340}
@media(max-width:420px){dialog.level-preparation{padding:19px 14px 13px}.level-preparation #modal-content{gap:8px}.level-preparation h2{font-size:22px}.level-preparation .loadout{gap:5px}.level-preparation .loadout-item{min-height:74px}.level-preparation .mission-card{padding:10px 8px}.level-preparation .mission-card>p{font-size:12px}}
@media(max-height:650px) and (orientation:portrait){dialog.level-preparation{padding:16px 11px 12px}.level-preparation #modal-content{gap:6px}.level-preparation h2{font-size:20px}.level-preparation .loadout-item{min-height:65px;padding:5px 2px}.level-preparation .loadout-item img{width:25px;height:25px}.level-preparation .mission-card>p{font-size:11px;margin-bottom:6px}.level-preparation .mission-card{padding:8px}.level-preparation #begin-level{min-height:44px;padding:9px}.loadout-description{font-size:9px;min-height:24px;margin-top:5px}.prepare-note{margin-bottom:5px}}
@media(orientation:landscape) and (max-height:600px){dialog.level-preparation{width:min(760px,calc(100vw - 20px));padding:15px 16px 12px}.level-preparation #modal-content{grid-template-columns:1fr 1.15fr;gap:8px 18px}.prepare-heading{grid-column:1;grid-row:1}.mission-card{grid-column:1;grid-row:2}.prepare-meta{grid-column:1;grid-row:3}.prepare-powers{grid-column:2;grid-row:1/4;padding-top:3px}.prepare-footer{grid-column:1/3;grid-row:4}.level-preparation .loadout-item{min-height:63px;padding:4px 2px}.level-preparation .loadout-item img{width:24px;height:24px}.level-preparation .loadout-description{min-height:20px;margin-top:5px}.level-preparation h2{font-size:21px}.level-preparation .mission-card>p{font-size:11px}.level-preparation #begin-level{min-height:42px;padding:8px}.level-preparation #modal-content{gap:6px 14px}}
/* More room for the actual board in phone portrait. */
@media(max-width:600px) and (orientation:portrait){body.in-level .game-top{min-height:43px;height:43px;padding:4px 7px}body.in-level .mobile-controls{min-height:55px;padding:6px 10px}body.in-level .mobile-controls .primary{min-height:43px;padding:9px 18px}body.in-level .game-viewport{flex:1;min-height:0}body.in-level .mission-banner{font-size:13px;padding:12px 17px}}
@media(prefers-reduced-motion:reduce){.blender-idle,.blender-jubilation{animation:none!important}}

.level-preparation .loadout-item b{max-width:100%;hyphens:manual;overflow-wrap:normal}
body.in-level[data-world=frost] #play-screen{background-image:url('/assets/hf-board-frost.webp')}
body.in-level[data-world=jungle] #play-screen{background-image:url('/assets/hf-board-jungle.webp')}
@media(max-width:600px) and (orientation:portrait){body.in-level #play-screen .mobile-controls{height:calc(55px + env(safe-area-inset-bottom));min-height:55px}body.in-level #play-screen .game-layout{inset:calc(43px + env(safe-area-inset-top)) 0 calc(55px + env(safe-area-inset-bottom))}body.in-level #play-screen .play-hud{top:calc(49px + env(safe-area-inset-top))}}
@media(orientation:landscape) and (max-height:360px){dialog.level-preparation{padding:10px 14px}.level-preparation #modal-content{gap:4px 12px}.level-preparation h2{font-size:18px}.level-preparation h3{font-size:12px}.level-preparation .loadout-item{min-height:52px;padding:3px 2px}.level-preparation .loadout-item img{width:18px;height:18px}.level-preparation .loadout-item b,.level-preparation .loadout-item small{font-size:9px}.level-preparation .mission-card{padding:7px}.level-preparation .mission-card>p{font-size:10px;margin-bottom:5px}.level-preparation .mission-goals b{font-size:17px}.level-preparation .prepare-note{font-size:9px;margin-bottom:4px}.level-preparation .loadout-description{font-size:9px;min-height:20px;margin-top:4px}}
