/* Task 009: the accepted battle palette, with lighter exploration surfaces. */
@font-face{font-family:EarthPixel;src:url('../assets/fonts/PixelifySans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:EarthNumbers;src:url('../assets/fonts/VT323.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--font-pixel:EarthPixel,monospace;--font-num:EarthNumbers,monospace;--wood:#0d0b29;--wood-2:#201b56;--wood-edge:#5a52b0;--cream:#f2e7c9;--cream-dim:#aaa4cc;--gold:#f2c96a;--leaf:#7ef0c6;--berry:#c45335;--pixel-step:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}
.pe-icon{--icon-size:32px;display:inline-block;width:var(--icon-size);height:var(--icon-size);flex:0 0 var(--icon-size);vertical-align:middle;background-image:url('../assets/ui/pixel-icons.png');background-repeat:no-repeat;background-size:calc(var(--atlas-columns) * var(--icon-size)) calc(var(--atlas-rows) * var(--icon-size));background-position:calc(-1 * var(--icon-x) * var(--icon-size)) calc(-1 * var(--icon-y) * var(--icon-size));image-rendering:pixelated;pointer-events:none}
.pe-icon-canvas{image-rendering:pixelated;vertical-align:middle}
.btn .pe-icon,.pill .pe-icon,.craft-ingredient .pe-icon,.menu-section-title .pe-icon,.modal-foot-note .pe-icon{--icon-size:16px}
.modal h2 .pe-icon,.craft-name .pe-icon{--icon-size:32px}
.modal-bg .modal,.start-card{border:2px solid #9c6c2a;border-radius:0;background:#0d0b29;box-shadow:inset 0 3px #3e3790,0 5px #06051a;clip-path:var(--pixel-step);backdrop-filter:none}
.start-card{padding:24px 20px}.game-title{text-shadow:3px 3px #06051a}
.btn{min-height:44px;border-radius:0;border:2px solid #5a52b0;background:#201b56;color:var(--cream);box-shadow:inset 0 2px #4a4396,0 3px #06051a;font-family:var(--font-pixel);font-size:15px;transition:none}
.btn.primary{background:#0b3a33;border-color:#2e8c78;color:var(--cream);box-shadow:inset 0 2px #7ef0c6,0 3px #06051a}
.btn.danger,.dg-hud-leave{background:#3a1430;border-color:#9a3a5a;color:var(--cream)}
.btn:disabled,.btn.disabled{background:#0d0b29;color:#6f69a0;border-color:#3a3480;box-shadow:inset 0 1px #3a3480;opacity:1;cursor:default}
.btn:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px #06051a;filter:brightness(.95)}
button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
input,select{min-height:44px;border-radius:0;font-family:var(--font-pixel);font-size:16px}
.hud-top{top:calc(8px + var(--safe-top));left:10px;right:10px;display:flex;flex-direction:column;gap:4px}
.hud-top-main{display:flex;justify-content:space-between;align-items:start;gap:8px}.hud-state-row{display:flex;justify-content:flex-end;gap:4px}
.level-wrap{gap:6px;align-self:start}.level-badge{width:44px;height:36px;display:flex;gap:3px;border:1px solid #9c6c2a;border-radius:0;box-shadow:inset 0 2px #3e3790,0 2px #06051a;font-size:24px}.level-badge small{font-size:12px;color:var(--cream-dim)}
.xp-track{width:65px;height:8px;border-radius:0;border:1px solid #5a52b0;background:#06051a}.xp-track #xp-fill{border-radius:0;background:#2e8c78;transition:width .2s steps(8)}
.hud-pills{display:grid;grid-template-columns:auto auto;gap:4px;align-items:start;justify-content:end}
.pill{display:flex;align-items:center;justify-content:center;gap:4px;min-height:24px;padding:2px 6px;border-radius:0;background:#0d0b29ed;border:1px solid #5a52b0;box-shadow:0 2px #06051a;font-size:16px;backdrop-filter:none;white-space:nowrap}
#zone-pill{grid-column:1}#gps-pill{grid-column:2;min-width:83px}
#hud .map-mode-panel{top:calc(80px + var(--safe-top));left:10px;right:auto;transform:none;width:calc(100% - 20px);border:1px solid #5a52b0;border-radius:0;background:#0d0b29ed;box-shadow:0 2px #06051a;padding:8px 10px;backdrop-filter:none}
#hud .map-mode-panel.mode-normal{min-height:44px;width:auto;max-width:calc(100% - 20px);padding:4px 8px;font-size:13px}
#hud .map-mode-panel.mode-normal:not(.expanded) .map-mode-tags,#hud .map-mode-panel.mode-normal:not(.expanded) .map-mode-detail{display:none}
#hud .map-mode-panel.mode-normal:not(.expanded) #map-mode-timer{display:none}
#hud .map-mode-panel.mode-normal .map-mode-head{gap:8px}
#hud .map-mode-panel.mode-normal .map-mode-head::after{content:'+';color:var(--cream-dim)}
#hud .map-mode-panel.expanded .map-mode-head::after{content:'−'}
.map-mode-tags span{border-radius:0}
#hud #journey-card{left:10px;transform:none;width:calc(100% - 20px);grid-template-columns:32px minmax(0,1fr) auto;padding:7px 9px;gap:2px 8px;border:1px solid #2e8c78;border-radius:0;background:#0d0b29ed;box-shadow:inset 2px 0 #7ef0c6,0 3px #06051a;backdrop-filter:none;min-height:64px}
#hud #journey-card:active{transform:translateY(2px)}
#hud .journey-icon{filter:none}.journey-icon .pe-icon{--icon-size:32px}
#hud .journey-title{font-size:15px;line-height:1.2}#hud .journey-kicker{font-size:14px}#hud .journey-detail{font-family:var(--font-pixel);font-size:12px;line-height:1.3}#hud .journey-action{font-size:16px;color:var(--gold)}
#hud .journey-progress,#hud .journey-progress>i{border-radius:0;background:#06051a}#hud .journey-progress>i{background:#2e8c78;transition:width .2s steps(8)}
#hud #journey-feedback{left:10px;transform:none;border-radius:0;width:calc(100% - 20px);background:#0b3a33;box-shadow:0 3px #06051a}
.hud-bottom{padding:0 10px;bottom:calc(12px + var(--safe-bot))}.hud-actions{gap:7px;margin-left:auto}
.round-btn{width:48px;height:48px;border-radius:0;clip-path:var(--pixel-step);background:#0d0b29ed;border:2px solid #5a52b0;box-shadow:inset 0 2px #3e3790,0 3px #06051a;transition:none}
.round-btn:active,.round-btn[aria-pressed=true]{transform:translateY(2px);background:#0b3a33;border-color:#7ef0c6;box-shadow:inset 0 2px #06051a}
#joystick[hidden]{display:none!important;pointer-events:none}
#btn-recenter{position:absolute;right:10px;bottom:410px;min-width:44px;min-height:44px;flex-direction:column;gap:1px;font-family:var(--font-pixel);color:var(--cream);font-size:12px}
#btn-recenter .pe-icon{--icon-size:16px}
@media(max-height:700px){#btn-recenter{bottom:365px}}
#quest-badge{border-radius:0;background:#9a3a5a;font-family:var(--font-num);font-size:16px;top:0;right:0;min-width:16px;height:18px;border-width:1px}
#btn-action{width:88px;height:64px;border-radius:0;clip-path:var(--pixel-step);background:#0b3a33;border:2px solid #7ef0c6;box-shadow:inset 0 2px #7ef0c6,0 4px #06051a;animation:none;gap:0}
#action-label{color:var(--cream);font-size:14px}#action-icon .pe-icon{--icon-size:32px}
#joystick{width:100px;height:100px;background:#0d0b29b8;border:2px solid #5a52b0;box-shadow:inset 0 2px #3e3790,0 3px #06051a;opacity:.85}#joy-thumb{width:44px;height:44px;box-shadow:inset 0 2px #3e3790,0 2px #06051a}
#boot-status{bottom:calc(125px + var(--safe-bot));max-width:calc(100% - 125px);left:10px;transform:none;white-space:normal;border:1px solid #5a52b0;border-radius:0;background:#0d0b29ed;box-shadow:0 2px #06051a;font-size:16px}
#toast{bottom:calc(130px + var(--safe-bot));max-width:calc(100% - 32px);border-radius:0;border:1px solid #2e8c78;background:#0d0b29;box-shadow:0 3px #06051a;font-size:15px}#toast .pe-icon{--icon-size:16px}
#big-toast{border-radius:0;background:#0d0b29;box-shadow:0 4px #06051a}
.modal-bg{padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bot));background:#06051ab8;touch-action:pan-y;backdrop-filter:none}
.modal-bg .modal{position:relative;width:100%;max-width:380px;max-height:calc(100dvh - var(--safe-top) - var(--safe-bot) - 24px);padding:16px;overscroll-behavior:contain;scroll-padding-top:50px;touch-action:pan-y}
.modal-bg .modal h2{margin:0 44px 12px 0;min-height:32px;display:flex;align-items:center;gap:8px;font-size:23px;color:var(--gold);line-height:1.15}
.modal-close{position:sticky;float:right;top:0;margin:-2px -3px 0 0;width:44px;height:44px;z-index:3;padding:4px;border:1px solid #5a52b0;background:#201b56;box-shadow:inset 0 2px #3e3790;color:var(--cream);cursor:pointer}
.modal-close .pe-icon{--icon-size:16px}
.modal-foot-note,.craft-safety-note,.modal p{font-size:14px;line-height:1.4;color:var(--cream-dim)}
.menu-section-title{display:flex;align-items:center;gap:6px;margin-top:18px;border-bottom:1px solid #5a52b0;font-size:17px}
.menu-grid{gap:8px}.menu-grid .btn{padding:10px 5px;font-size:14px}.menu-grid .btn small{font-size:12px}.settings-more summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--gold);border-top:1px solid #5a52b0}
.inv-row{align-items:center;padding:10px 0;border-radius:0;background:transparent;border-bottom:1px solid #3a3480;gap:10px}.inv-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;background:#201b56;border:1px solid #5a52b0;border-radius:0}
#inv-list .inv-copy b{font-size:16px}#inv-list .inv-copy small{font-size:13px;line-height:1.35}#inv-list .inv-copy .inv-relevance{color:#7ef0c6;font-size:12px}.inv-n{font-size:25px;color:var(--gold);min-width:28px;text-align:right}
.inv-row[data-rarity=rare] .inv-icon{border-color:#f2c96a}.inv-row[data-rarity=uncommon] .inv-icon{border-color:#2e8c78}
#craft-list .craft-row{border:1px solid #3a3480;border-radius:0;background:#15123d;box-shadow:none;padding:10px;align-items:start;gap:8px}
#craft-list .craft-recommended{border-color:#2e8c78!important;padding-top:32px;box-shadow:inset 3px 0 #2e8c78}
#craft-list .craft-name{font-size:16px;display:flex;align-items:center;gap:6px}#craft-list .craft-desc{font-size:14px;line-height:1.35}#craft-list .craft-output{font-size:14px;color:#7ef0c6}
#craft-list .craft-ingredient{display:inline-flex;align-items:center;gap:3px;border-radius:0;font-size:14px;padding:4px;background:#0d0b29}#craft-list .craft-ingredient.missing{color:#e5b29a}
#craft-list .craft-make{min-width:64px;padding:8px;min-height:48px;font-size:14px;display:grid;justify-items:center;gap:3px;margin:0}
#modal-crafting .craft-safety-note{border-radius:0;font-size:14px;padding:8px 0;background:transparent}
.quest-row{border-radius:0;background:#15123d;border:1px solid #3a3480;padding:12px}.quest-label{font-size:16px;line-height:1.3}.quest-bar,.quest-bar>div{border-radius:0}.quest-bar>div{background:#2e8c78}.quest-foot{font-size:16px;gap:8px}
#hud #dungeon-hud{border:1px solid #2e8c78;border-radius:0;background:#0d0b29ed;box-shadow:inset 2px 0 #7ef0c6,0 3px #06051a;width:calc(100% - 20px);padding:8px 10px;backdrop-filter:none}
.dg-hud-name{font-size:17px}.dg-hud-leave{min-width:44px;min-height:44px;border-radius:0;font-size:14px}.dg-hud-pips span{border-radius:0}.dg-hud-step{font-size:15px}
.modal-bg .expedition-find-card,.modal-bg .dg-card{border-radius:0;background:#15123d;border:1px solid #2e8c78;box-shadow:none;padding:12px}.modal-bg .expedition-find-card>b{font-size:18px}.modal-bg .expedition-find-card p,.modal-bg .expedition-meta,.modal-bg .expedition-mode{font-size:14px;line-height:1.35}.modal-bg .expedition-result{border-radius:0;padding-top:12px;border-top:1px solid #3a3480}
.expedition-map-context,#expedition-map-context{border-radius:0!important;box-shadow:0 3px #06051a;font-family:var(--font-pixel)!important;font-size:14px!important}
#headline-craft-cta{border-radius:0!important;box-shadow:inset 0 2px #7ef0c6,0 3px #06051a;font-size:14px!important}
#btn-map-close{left:auto;right:12px;top:calc(12px + var(--safe-top));bottom:auto;min-height:48px;min-width:120px;border-radius:0;background:#0d0b29;border:2px solid #9c6c2a;box-shadow:inset 0 2px #3e3790,0 3px #06051a;font:17px var(--font-pixel);color:var(--cream)}#btn-map-close .pe-icon{--icon-size:16px}
.modal-bg .reward-row{border-radius:0;border-bottom:1px solid #3a3480}.reward-ico .pe-icon{--icon-size:32px}
@keyframes pixel-reveal{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
.modal-bg.show .modal{animation:pixel-reveal .12s steps(3)}
@media(max-height:700px){.round-btn{width:44px;height:44px}.hud-actions{gap:4px}#joystick{width:88px;height:88px}#hud #journey-card{min-height:60px}.modal-bg .modal{padding:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@font-face{font-family:"VT323";src:url("../assets/fonts/VT323.ttf");font-weight:400;font-display:swap}
@font-face{font-family:"Pixelify Sans";src:url("../assets/fonts/PixelifySans.ttf");font-weight:400 700;font-display:swap}

#craft-list .craft-row.poor{opacity:1}#craft-equipped{border-radius:0;font-size:16px}#hud .journey-feedback-icon .pe-icon{--icon-size:16px}
#dungeon-hud .dg-hud-name,.dg-card .dg-card-name,.dungeon-card .dg-kicker{color:var(--gold);text-shadow:none}
#dungeon-hud .dg-pip{transform:none;display:grid;place-items:center;width:24px;height:24px;border:1px solid #3a3480;border-radius:0;background:#201b56;color:var(--cream-dim);font:16px var(--font-num);box-shadow:none;animation:none;transition:none}
#dungeon-hud .dg-pip .pe-icon{--icon-size:16px}#dungeon-hud .dg-pip.active{border-color:#f2c96a;background:#4b4027}#dungeon-hud .dg-pip.done{border-color:#2e8c78}#dungeon-hud .dg-pip.boss{border-color:#9a3a5a}
#pixel-map-legend{position:fixed;z-index:36;left:12px;top:calc(12px + var(--safe-top));max-width:calc(100% - 174px);padding:6px 8px;border:1px solid #5a52b0;background:#0d0b29;color:var(--cream);font:14px var(--font-pixel);box-shadow:0 3px #06051a}#pixel-map-legend .pe-icon{--icon-size:16px}
