.game-ui .character-mastery{margin:24px 0 16px;padding:20px;border:2px solid #647052;border-radius:0;background:#102019;color:#eee4c7}.mastery-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.game-ui .character-mastery .mastery-level{color:#c8b483;font-size:16px;letter-spacing:.08em;margin:0 0 6px}.game-ui .character-mastery h2{scroll-margin-top:12px}.game-ui .character-mastery .mastery-points{flex:none;padding:6px 10px;margin:0;border:1px solid #647052;color:#b9c2ba}.game-ui .character-mastery .mastery-points.has-points{border-color:#c6aa68;color:#ffe0a0;background:#353e26}.character-mastery progress{display:block;width:100%;height:8px;margin:12px 0 6px;accent-color:#d5b676;appearance:none;border:0;background:#283b30}.character-mastery progress::-webkit-progress-bar{background:#283b30}.character-mastery progress::-webkit-progress-value{background:#d5b676;box-shadow:inset 0 2px #f6d496}.character-mastery progress::-moz-progress-bar{background:#d5b676}.game-ui .character-mastery .mastery-xp{margin:6px 0 14px;color:#d1c49e}.game-ui .character-mastery .mastery-help{margin:0 0 16px;color:#bdc6b5}.talent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-ui .character-mastery .talent-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;width:100%;min-height:110px;padding:12px;text-align:left;letter-spacing:0;background:#172a24;border-color:#667358;box-shadow:inset 3px 0 var(--talent-accent),inset 0 1px #42553e}.talent-card[data-talent=vitality]{--talent-accent:#e99699}.talent-card[data-talent=power]{--talent-accent:#e4c080}.talent-card[data-talent=agility]{--talent-accent:#d8c49a}.talent-card[data-talent=recovery]{--talent-accent:#94d0a7}.talent-card[data-talent=gathering]{--talent-accent:#8bdec0}.talent-emblem{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:3px;border:2px solid #a28b58;background:#101519;box-shadow:inset 1px 1px #344038,2px 2px #091811}.talent-icon{display:block;background-repeat:no-repeat;image-rendering:auto;pointer-events:none}.talent-upgrade{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:23px;height:23px;background:#dbc286;color:#1c291d;border:2px solid #f0d99c;box-shadow:2px 2px #0c1812;font-size:24px;line-height:1}.talent-copy{display:grid;gap:6px;min-width:0}.talent-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:3px 8px}.talent-name{font-size:24px;line-height:1;color:#f1dbab}.talent-rank{font-size:16px;white-space:nowrap;color:#b9c2ad}.talent-effect{display:block;color:#c4cdbe;font-size:18px;line-height:1.1}.talent-attribute{display:block;font-size:16px;color:#b6c3b5;margin-bottom:3px}.talent-values{display:flex;align-items:baseline;gap:6px;font-size:22px}.talent-current{color:#f0e1bf}.talent-arrow{color:#819981;font-size:18px}.talent-next{color:var(--talent-accent)}.talent-maximum{color:var(--talent-accent);font-size:18px}.talent-track{display:block;height:3px;background:#36483a}.talent-track>span{display:block;height:100%;background:var(--talent-accent)}.game-ui .character-mastery .talent-card:disabled{background:#162820;border-color:#465d4c;box-shadow:inset 3px 0 #506450}.game-ui .character-mastery .talent-card.has-ranks:disabled{box-shadow:inset 3px 0 var(--talent-accent)}.game-ui .character-mastery .talent-card:hover:not(:disabled){border-color:var(--talent-accent);background:#24392d;box-shadow:inset 3px 0 var(--talent-accent),inset 0 1px #60754c}.game-ui .character-mastery .talent-card:hover:not(:disabled) .talent-emblem{border-color:var(--talent-accent)}.game-ui .character-mastery .talent-card:active:not(:disabled){transform:translateY(1px);background:#2d4231}.mastery-details{margin-top:16px;border-top:1px solid #647052}.mastery-details summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;color:#dbc48f;list-style:none}.mastery-details summary:before{content:"+";font-size:24px}.mastery-details[open] summary:before{content:"−"}.mastery-details summary::-webkit-details-marker{display:none}.game-ui .character-mastery .mastery-save{color:#a8b59f;margin-bottom:0}.game-ui .save-warning{color:#f1bd90}@media(max-width:639px){.game-ui .character-mastery{padding:14px}.mastery-header{display:block}.game-ui .character-mastery .mastery-points{display:inline-block;margin-top:2px}.talent-grid{grid-template-columns:minmax(0,1fr)}.game-ui .character-mastery .talent-card{grid-template-columns:48px minmax(0,1fr);min-height:96px;gap:12px;padding:10px 12px}.talent-emblem{width:48px;height:48px}.talent-name{font-size:23px}.talent-copy{gap:5px}.talent-heading{gap:3px 6px}.talent-upgrade{width:21px;height:21px;font-size:22px}}@media(max-width:359px){.game-ui .character-mastery .talent-card{gap:10px;padding:10px}.talent-name{font-size:22px}.talent-rank{font-size:15px}}@media(max-height:540px)and (min-width:640px){.game-ui .character-mastery .talent-card{min-height:96px;padding:10px 12px;grid-template-columns:48px minmax(0,1fr);gap:12px}.talent-emblem{width:48px;height:48px}}.destination-selection .destination.available{width:100%;margin:0 0 16px;padding:0;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer;color:inherit;border-color:#76694d;background:#15251f}.destination-selection .destination.available.selected{border-color:#e3c17d;box-shadow:inset 0 0 0 1px #e3c17d55}.destination-selection .destination.available:focus-visible{outline:3px solid #ffe5a0;outline-offset:3px}.destination-title{display:block;margin:8px 0 10px;color:#e9d3a7;font:25px/1.2 Georgia,serif}.destination-copy .description{display:block}.destination{position:relative;overflow:hidden;border:1px solid #76694d;background:#15251f}.destination.available{display:grid;grid-template-columns:38% 1fr;border-color:#ddbd79;box-shadow:inset 0 0 25px #ccb16c0d}.destination-art{display:block;height:140px;overflow:hidden;background:linear-gradient(#25453b,#708263)}.destination-art svg{display:block;width:100%;height:100%}.available .destination-art{height:100%;min-height:165px}.destination-copy{padding:18px}.destination h2,.destination h3{margin:8px 0 10px;color:#e9d3a7;font:25px/1.2 Georgia,serif}.destination h3{font-size:21px}.destination-status,.destination-biome,.destination-unlock{display:block;font:10px/1.5 system-ui,sans-serif;letter-spacing:.12em;color:#d9bd82}.destination-biome{margin-top:10px;color:#99ada4}.destination-unlock{margin:14px 0 0;letter-spacing:0;color:#b5b7a7}.destination-next{margin:24px 0 14px}.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.locked .destination-art{opacity:.7}.destination-art.ice{background:linear-gradient(#172d3d,#4b8192)}.destination-art.mine{background:radial-gradient(ellipse at bottom,#947344,#171e1d)}.destination-art.mountain{background:linear-gradient(#233340,#829293)}.destination-art.volcano{background:linear-gradient(#322029,#995435)}.locked .destination-status:before{content:"▣ "}@media(max-width:639px){.destination.available{grid-template-columns:1fr}.available .destination-art{height:105px;min-height:0}.destination-grid{grid-template-columns:1fr}.destination-copy{padding:14px}.destination-art{height:110px}}.available .destination-screenshot{width:100%;object-fit:cover;object-position:center}.destination-preview{position:relative;display:block;min-width:0}.destination-lock-badge{position:absolute;bottom:10px;left:10px;padding:6px 9px;border:1px solid #d9bd82;background:#171d20ed;color:#ffe4ad;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.06em}.destination-requirement{display:block;margin-top:12px;color:#ffe4ad;font:600 13px/1.5 system-ui,sans-serif}.destination-selection .destination.mission-locked{border-color:#a88b55;background:#202622}.destination.locked{background:#232528;border-color:#505256}.locked .destination-art.destination-sealed{display:grid;place-items:center;background:#35373b;opacity:1;color:#85888e}.destination-sealed svg{width:40px;height:40px}.locked .destination-copy{filter:grayscale(1)}.locked .destination-status:before{content:none}@media(max-width:639px){.available .destination-copy{grid-row:1}.available .destination-screenshot{height:105px}}.game-ui .destination-title{font-size:28px;line-height:1.05}.game-ui[data-page=letter] .map-load-status{color:#68452d;text-align:center}.destination.locked.path-opened{background:#2a2618;border-color:#b8913f}.path-opened .destination-copy{filter:none}.path-opened .destination-status{color:#f0c867}.path-opened .destination-art.destination-sealed{color:#f0c867;background:#3a3320}.run-results{margin-top:28px}.result-heading{margin:0;font:28px Georgia,serif;color:#ecd29a}.result-total{color:#f8e5b6;font:20px Georgia,serif;margin:10px 0 18px}.weapon-results{display:grid;gap:12px}.weapon-result{background:#14251e;border:1px solid #8f7c4f;padding:16px}.weapon-result:first-child{border-color:#dfbf79;background:linear-gradient(120deg,#354431,#15251e)}.weapon-result-head{display:flex;align-items:center;gap:12px}.weapon-result-head h3{margin:0 0 5px;font:18px Georgia,serif;color:#efdab0}.weapon-damage{margin-left:auto;color:#ffe3a0;font-size:23px;white-space:nowrap}.weapon-damage-bar{height:6px;background:#071611;margin:15px 0}.weapon-damage-bar span{display:block;height:100%;background:linear-gradient(90deg,#8e783e,#f1d692)}.weapon-metrics{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;font:12px system-ui,sans-serif}.weapon-metrics dt,.final-attributes dt{color:#b5c1b1}.weapon-metrics dd{color:#f0e4c9;font-size:16px;margin:5px 0 0}.result-note{font:12px/1.6 system-ui,sans-serif;color:#aebda8}.result-details{margin-top:22px;border-top:1px solid #86754a;padding-top:12px}.result-details summary{cursor:pointer;padding:12px 0;color:#ead09a}.result-details summary:focus-visible{outline:2px solid #ffe4a0}.final-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;font:13px/1.5 system-ui,sans-serif}.final-attributes div{display:flex;justify-content:space-between;gap:10px}.final-attributes dd{margin:0}@media(max-width:639px){.weapon-result{padding:12px}.weapon-result-head{flex-wrap:wrap}.weapon-damage{font-size:20px}.final-attributes{grid-template-columns:1fr}}.treasure-ceremony{height:165px;display:grid;place-items:center;position:relative;isolation:isolate}.treasure-chest{width:190px;height:150px;object-fit:contain;filter:drop-shadow(0 8px 12px #0009);animation:treasure-awaken .85s ease-out both}.treasure-radiance{position:absolute;width:280px;height:180px;background:radial-gradient(ellipse,#fff2beaa,#e7b95933 42%,transparent 70%);animation:treasure-light 1.5s ease-out both}.treasure-count{text-align:center;color:#f3d698;font:26px Georgia,serif;margin:6px 0 20px;animation:treasure-reveal .2s both}.treasure-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.treasure-reward{flex:1 1 190px;max-width:340px;text-align:center;padding:18px 14px;border:1px solid #c6a663;background:linear-gradient(145deg,#40503b,#13241d);box-shadow:inset 0 0 25px #e7c67110;animation:treasure-reveal .2s both}.treasure-reward .item-icon{width:54px;height:54px;margin-bottom:12px}.treasure-reward .upgrade-name{color:#f4ddb0}@keyframes treasure-awaken{0%{transform:scale(.8) rotate(-5deg)}30%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}to{transform:scale(1)}}@keyframes treasure-light{0%,25%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.25)}to{opacity:.7;transform:scale(1)}}@keyframes treasure-reveal{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}.reduce-motion .treasure-strip,.reduce-motion .treasure-ceremony *,.reduce-motion .treasure-count,.reduce-motion .treasure-reward{animation:none!important}@media(prefers-reduced-motion:reduce){.treasure-strip,.treasure-ceremony *,.treasure-count,.treasure-reward{animation:none!important}}@media(max-width:639px){.treasure-ceremony{height:120px}.treasure-chest{height:110px;width:145px}.treasure-reward{flex-basis:100%;max-width:none}}.treasure-prompt{text-align:center;color:#f3d698;font:24px Georgia,serif;margin:16px 0}.treasure-reels{display:flex;justify-content:center;gap:12px;margin:12px auto 20px}.treasure-reel{width:88px;height:88px;overflow:hidden;border:2px solid #c6a663;border-radius:8px;background:#14241e;box-shadow:inset 0 0 16px #0008}.treasure-strip{animation:treasure-spin var(--roll-duration) linear infinite}.treasure-cell{height:88px;display:grid;place-items:center}.treasure-cell .item-icon{width:54px;height:54px}[data-chest-phase=ready] .treasure-chest,[data-chest-phase=revealed] .treasure-chest{animation:none}[data-chest-phase=rolling] .treasure-chest{animation:treasure-awaken .65s ease-in-out infinite}@keyframes treasure-spin{to{transform:translateY(-50%)}}@media(max-width:639px){.treasure-reward{display:grid;grid-template-columns:44px 1fr;text-align:left;gap:4px 12px;padding:12px}.treasure-reward .item-icon{grid-row:1 / 4;width:44px;height:44px;margin:0;align-self:center}.treasure-reward .description{grid-column:2}.treasure-rewards{gap:8px}.treasure-count{font-size:22px;margin-bottom:12px}}@media(max-height:500px)and (orientation:landscape){[data-chest-phase] .treasure-ceremony{display:none}.treasure-prompt{margin:8px 0}.treasure-reels{margin:0 auto 8px}.treasure-count{font-size:22px;margin:0 0 8px}.treasure-reward{display:grid;grid-template-columns:36px 1fr;gap:4px 10px;text-align:left;padding:10px}.treasure-reward .item-icon{grid-row:1 / 4;width:36px;height:36px;margin:0;align-self:center}.treasure-reward .description{grid-column:2}}.bestiary-browser{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);grid-template-areas:"list preview";gap:22px}.bestiary-catalogue{grid-area:list;min-width:0}.bestiary-catalogue input{width:100%;padding:12px;color:#f1e5ca;background:#091b16;border:1px solid #a38a55;font:14px system-ui,sans-serif}.bestiary-count{font:12px system-ui,sans-serif;color:#c7bd9e}.bestiary-list{display:grid;gap:6px;max-height:min(460px,52dvh);overflow:auto;padding:4px}.game-ui .bestiary-enemy{display:flex;align-items:center;gap:10px;text-align:left;padding:7px;letter-spacing:0;font-size:13px}.bestiary-enemy img{width:44px;height:50px;object-fit:contain;image-rendering:pixelated}.bestiary-enemy small{display:block;color:#b5bea9;font:11px system-ui,sans-serif;margin-top:5px}.game-ui .bestiary-browser button[aria-pressed=true]{border-color:#f3d58e;background:#40513a}.bestiary-preview{grid-area:preview;min-width:0;text-align:center}.bestiary-name{margin:0 0 6px;color:#edd5a1;font:24px Georgia,serif}.bestiary-preview canvas{display:block;width:100%;height:auto;margin-top:14px;border:1px solid #8e7c4e}.bestiary-direction,.bestiary-note{font:12px/1.5 system-ui,sans-serif;color:#c6cbb7}.bestiary-directions,.bestiary-playback{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}.game-ui .bestiary-directions button{padding:5px 9px;min-height:36px;font-size:12px}.game-ui .bestiary-playback button{padding:8px 12px;font-size:12px}@media(max-width:639px){.bestiary-browser{grid-template-columns:minmax(0,1fr);grid-template-areas:"list" "preview";gap:14px}.bestiary-preview canvas{max-height:180px;object-fit:contain;background:#071712}.bestiary-list{max-height:220px}.game-ui .bestiary-directions button{min-height:44px}}.catalogue-compact{display:none}.game-ui .catalogue-picker{width:100%;min-width:0;min-height:44px;padding:8px;border:2px solid #a28b58;border-radius:0;background:#102019;color:#f1dfb4;font:22px var(--pixel-font)}.game-ui .catalogue-search{min-height:44px;font-size:22px;border-width:2px;border-radius:0}.bestiary-count{margin:8px 0 12px}.catalogue-empty{padding:16px 8px;color:#c7bd9e}.bestiary-enemy>span{min-width:0;overflow-wrap:anywhere}.bestiary-preview .description{min-height:2.4em}.bestiary-preview canvas{image-rendering:pixelated;background:#071712}.game-ui .bestiary-directions button{min-width:44px;min-height:44px;padding:7px}.game-ui .bestiary-playback button{min-height:44px}.game-ui .bestiary-direction{margin:10px 0}.game-ui .bestiary-note{margin:14px 0 0;color:#acbba8}@media(max-width:639px){.catalogue-compact{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.game-ui .catalogue-compact button{padding:0;min-height:44px;font-size:30px}.catalogue-search,.bestiary-list,.catalogue-empty{display:none}.bestiary-count{margin:6px 0 0;text-align:center}.bestiary-preview canvas{margin-top:8px}.bestiary-preview .description{min-height:0}.bestiary-directions{gap:5px}}.pause-map{margin:0 0 24px}.pause-map canvas{display:block;width:100%;height:auto;border:1px solid #ae955b;background:#0b1714}.pause-map canvas:focus-visible{outline:2px solid #ffe3a1;outline-offset:3px}.pause-map-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px}.pause-map-controls output{min-width:88px;text-align:center;color:#e6c98c;font:14px Georgia,serif}.game-ui .pause-map-controls button{min-width:48px;padding:6px 16px;font-size:24px}.pause-map-legend{margin:10px 0 0;color:#c7ccb9;text-align:center;font:12px/1.6 system-ui,sans-serif}@media(max-width:639px){.pause-map canvas{min-height:180px;object-fit:contain}}:root{color-scheme:dark;font-family:monospace;--gold: #ffd94a;--ink: #1a1421;--muted: #c4c0cc;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}.game-ui{position:fixed;inset:0;height:100dvh;pointer-events:none;color:#f4f2f7}.game-ui button{font:700 16px monospace;color:inherit;background:#302535;border:2px solid #786b80;border-radius:2px;min-height:44px;padding:10px 18px;cursor:pointer;touch-action:manipulation}.game-ui button:hover{background:#473348}.game-ui button:focus-visible,.game-ui a:focus-visible{outline:3px solid #fff;outline-offset:3px}.game-ui .primary{border-color:var(--gold);background:#764016;color:#fff3c3;box-shadow:inset 0 -4px #4b2c16}.game-ui .primary:hover{background:#955422}.menu-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#100b17a8;pointer-events:auto}.menu-panel{width:min(100%,760px);max-height:100%;min-height:0;display:flex;flex-direction:column;border:2px solid #9a783c;background:#1a1421f5;box-shadow:0 8px #0d0911,0 14px 48px #0008}.menu-header{flex:none;text-align:center;padding:22px 20px 14px;border-bottom:1px solid #574133}.menu-header h1{margin:6px 0;font-size:clamp(24px,4.5vw,44px);line-height:1.1;color:var(--gold);text-transform:uppercase;overflow-wrap:anywhere}.eyebrow{font-size:11px;letter-spacing:2px;color:#ab9370;margin:0 0 10px}.subtitle{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.menu-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px;scrollbar-color:#9a783c #241d2a}.menu-footer{flex:none;padding:14px 20px;border-top:1px solid #574133;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;background:#211824}.menu-footer .primary{min-width:min(220px,100%)}.section-label{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 14px}.hero-grid,.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.game-ui .hero-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;min-width:0;background:#241c2b}.game-ui .hero-card[aria-pressed=true],.game-ui .upgrade-card.selected{border-color:var(--gold);background:#49321f}.hero-art{display:block;width:auto;height:116px;max-width:100%;object-fit:contain;image-rendering:pixelated}.hero-name{display:block;margin:0;color:var(--gold);font-size:22px;text-align:center}.hero-weapons{display:flex;align-items:center;gap:14px}.description{display:block;font: 14px/1.5 monospace;color:var(--muted);overflow-wrap:anywhere;margin:0}.instructions{font: 14px/1.5 monospace;color:#b2a6bb;margin:16px 0 0}.bestiary{color:var(--muted);font-size:14px;padding:12px}.upgrade-list{display:grid;gap:12px}.game-ui .upgrade-card{display:flex;align-items:center;gap:16px;padding:16px;text-align:left}.upgrade-copy{display:grid;gap:6px;min-width:0}.upgrade-name{display:block;margin:0;font-size:18px;overflow-wrap:anywhere}.upgrade-sub{display:block;color:var(--gold);margin:4px 0;font-size:13px}.inventory-row,.reward-row{display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.4;margin:0 0 14px;overflow-wrap:anywhere}.end-hero{display:block;height:100px;width:auto;margin:0 auto 14px;image-rendering:pixelated}.run-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin:24px 0 8px;text-align:center}.run-stats dt{color:var(--muted);font-size:14px}.run-stats dd{margin:8px 0 0;color:var(--gold);font-size:24px}.game-controls{position:absolute;right:max(12px,env(safe-area-inset-right));top:var(--map-controls-top, max(152px, calc(env(safe-area-inset-top) + 152px) ));display:flex;flex-direction:column;gap:8px;pointer-events:auto}.game-controls button{background:#1a1421d9;font-size:14px;min-width:76px}.joystick{position:fixed;width:96px;height:96px;margin:-48px;border:2px solid #ffd94a88;border-radius:50%;background:#1a142166}.joystick-knob{position:absolute;left:27px;top:27px;width:38px;height:38px;border-radius:50%;border:2px solid #ffdf70;background:#764016cc}.touch-hint{display:none;position:absolute;bottom:max(60px,env(safe-area-inset-bottom));left:12px;right:12px;font-size:12px;text-align:center;color:#f4e2b499}.has-touch .desktop-instructions{display:none}@media(max-width:639px){.hero-grid,.inventory-grid{grid-template-columns:minmax(0,1fr)}.menu-header{padding:16px 12px 12px}.menu-body{padding:14px}.menu-footer{padding:10px 12px;gap:8px}.game-ui .hero-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 12px;text-align:left}.hero-art{grid-row:span 3;height:96px;max-width:70px;justify-self:center}.hero-card .hero-name{text-align:left;font-size:20px}.hero-weapons .item-icon{width:28px;height:28px}.game-ui .upgrade-card{padding:12px;gap:10px}.upgrade-name{font-size:16px}}@media(max-height:480px){.menu-header{padding:10px 14px}.menu-header h1{font-size:26px}.eyebrow{display:none}.menu-body{padding:12px}.menu-footer{padding:8px 12px}.game-ui .hero-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 12px;text-align:left;padding:12px}.hero-art{grid-row:span 3;height:72px;max-width:64px;justify-self:center}.hero-card .hero-name{text-align:left;font-size:20px}.hero-weapons .item-icon{width:28px;height:28px}.subtitle{margin-top:4px}}.game-ui[data-page=letter] .menu-overlay{padding:0;background:#111c18}.game-ui[data-page=letter] .menu-panel{width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;background:radial-gradient(ellipse at center,#f3dfb5,#d8b77b);color:#392c20;outline:0}.game-ui[data-page=letter] .menu-header{padding:clamp(18px,4vh,44px) 20px 18px;border-color:#80633855;background:none}.game-ui[data-page=letter] .menu-header h1{color:#392c20;font-family:Georgia,serif;font-size:clamp(28px,5vw,48px)}.game-ui[data-page=letter] .eyebrow,.game-ui[data-page=letter] .subtitle{color:#705331}.game-ui[data-page=letter] .menu-body{flex:1;display:grid;align-items:center;padding:20px 24px;overflow:auto}.royal-mission{width:min(100%,700px);margin:auto;font-family:Georgia,serif}.royal-seal{width:58px;height:58px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:#863d32;color:#f5d593;font-size:36px;box-shadow:0 3px 8px #49281740}.royal-salutation{font-style:italic;color:#6d5132;font-size:clamp(17px,2.2vw,21px)}.royal-copy{font-size:clamp(19px,2.5vw,26px);line-height:1.65;margin:20px 0}.royal-signature{margin:30px 0 8px;text-align:right;font-style:italic;font-size:20px}.game-ui[data-page=letter] .menu-footer{padding:18px 20px max(20px,env(safe-area-inset-bottom));border-color:#80633855;background:#b8955730}.game-ui[data-page=letter] button{font-family:Georgia,serif;font-size:18px}@media(max-height:560px){.royal-seal{display:none}.royal-copy{margin:12px 0;line-height:1.45}.royal-signature{margin-top:16px}}:root{color-scheme:dark;font-family:Georgia,Times New Roman,serif;--gold:#dbbc79;--ink:#101a1c;--muted:#b9c2ba;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink)}#game{display:block;image-rendering:pixelated;touch-action:none;outline:none}.game-ui{position:fixed;inset:0;height:100dvh;pointer-events:none;color:#f4ecda;font:16px/1.5 Georgia,serif}[hidden]{display:none!important}button,a{-webkit-tap-highlight-color:transparent}.game-ui button{font:600 14px/1.4 Georgia,serif;letter-spacing:.06em;color:#e9dfc5;background:linear-gradient(180deg,#283431,#172421);border:1px solid #80704b;border-radius:2px;min-height:48px;padding:12px 22px;cursor:pointer;touch-action:manipulation;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.game-ui button:hover{border-color:#e5c888;background:#33443c;box-shadow:0 0 24px #d6b46b13}.game-ui button:active{transform:translateY(1px);background:#41523f}.game-ui button:disabled{cursor:default;opacity:.5;transform:none;box-shadow:none}.game-ui button:focus-visible,.game-ui a:focus-visible{outline:2px solid #f7df9f;outline-offset:4px}.game-ui .primary{background:linear-gradient(180deg,#be9b59,#856532);border-color:#e3c78a;color:#111b19;box-shadow:inset 0 0 0 3px #a7874f,inset 0 0 0 4px #ead29a66,0 5px 22px #0005;font-weight:700}.game-ui .primary:hover{background:linear-gradient(180deg,#e0bc73,#aa8544);box-shadow:0 0 28px #dfb96c33}.menu-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#06110ee0;pointer-events:auto;isolation:isolate}.menu-overlay:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,#071513b3,#07151326),var(--kingdom-art);background-size:cover;background-position:center;opacity:.24}.menu-overlay:after{content:"";position:absolute;inset:12px;border:1px solid #d2b16a38;pointer-events:none;z-index:-1}.menu-panel{width:min(100%,940px);max-height:100%;min-height:0;display:flex;flex-direction:column;position:relative;border:1px solid #9d8552;outline:1px solid #88724038;outline-offset:5px;background:linear-gradient(145deg,#1b2a27f7,#0c1817fa);box-shadow:0 25px 100px #0009,inset 0 0 70px #0003;animation:panel-arrive .3s ease-out}.menu-header{flex:none;text-align:center;padding:28px 28px 22px;border-bottom:1px solid #a58a5040;background:radial-gradient(ellipse at top,#d5b77510,transparent 65%)}.menu-header h1{margin:4px 0;font:400 clamp(28px,4vw,46px)/1.12 Georgia,serif;color:#ead3a0;letter-spacing:.03em;text-wrap:balance}.menu-header h1:focus{outline:none}.eyebrow{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.25em;color:#bea574;margin:0 0 12px}.subtitle{margin:10px 0 0;color:var(--muted);font:14px/1.6 system-ui,sans-serif;text-wrap:balance}.menu-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 28px;scrollbar-color:#8d794f #14211e}.menu-footer{flex:none;padding:18px 28px;border-top:1px solid #a58a5040;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;background:#08141166}.menu-footer .primary{min-width:min(240px,100%)}.section-label{font:600 10px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.2em;color:#b6ac92;margin:0 0 18px}.hero-grid,.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-ui .hero-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 20px 14px;min-width:0;position:relative;background:radial-gradient(ellipse at 50% 30%,#50624c55,transparent 65%),linear-gradient(180deg,#24332e,#14221f);border-color:#6b6d51}.game-ui .hero-card:before{content:"✧";position:absolute;right:14px;top:10px;color:#b7a272;font-size:20px}.game-ui .hero-card[aria-pressed=true]{border-color:#e5c780;box-shadow:inset 0 0 0 3px #18261d,inset 0 0 0 4px #c2a76966,0 0 25px #c3a15b15;background:radial-gradient(ellipse at 50% 30%,#b5a96344,transparent 70%),linear-gradient(180deg,#354335,#17291f)}.hero-art{display:block;width:auto;height:142px;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 9px 10px #0008)}.hero-name{display:block;margin:0;color:#e6c98c;font:400 27px/1.2 Georgia,serif;text-align:center}.hero-weapons{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 18px;border-top:1px solid #b3a27433;border-bottom:1px solid #b3a27433}.item-icon{width:40px;height:40px;flex:none;object-fit:contain;image-rendering:pixelated}.description{display:block;font: 14px/1.6 system-ui,sans-serif;color:var(--muted);overflow-wrap:anywhere;margin:0;letter-spacing:0}.hero-selection{font:600 9px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#e4c783;visibility:hidden}[aria-pressed=true] .hero-selection{visibility:visible}.instructions{font: 12px/1.6 system-ui,sans-serif;color:#a3b1a6;margin:20px 0 0;text-align:center}.menu-footer .instructions{margin:0}.upgrade-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-ui .upgrade-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:22px 18px;text-align:left;background:linear-gradient(155deg,#29372f,#121f1c);border-color:#736747;min-width:0}.upgrade-card .item-icon{width:64px;height:64px;align-self:center;margin:10px 0;filter:drop-shadow(0 0 20px #d7bd6b33)}.upgrade-type{font:600 9px/1.5 system-ui,sans-serif;color:#b5a374;letter-spacing:.15em}.game-ui .upgrade-card.selected{border-color:#e4c682;background:linear-gradient(155deg,#404c34,#1b2e23);box-shadow:inset 0 0 0 3px #18261d,inset 0 0 0 4px #c2a76955}.game-ui .upgrade-card[data-kind=evolve]{border-color:#a690bd;background:linear-gradient(150deg,#3d3450,#162420)}.upgrade-copy{display:grid;gap:8px;min-width:0}.upgrade-name{display:block;margin:0;font:400 21px/1.25 Georgia,serif;letter-spacing:0;overflow-wrap:anywhere}.upgrade-sub{display:block;color:var(--gold);margin:4px 0;font:600 11px/1.5 system-ui,sans-serif;letter-spacing:.04em}.inventory-grid>section{border:1px solid #89744444;padding:20px;background:#07150d33}.inventory-row,.reward-row{display:flex;align-items:center;gap:14px;font:14px/1.5 system-ui,sans-serif;margin:0;padding:12px 0;overflow-wrap:anywhere;border-bottom:1px solid #b19a6322}.inventory-row:last-child,.reward-row:last-child{border-bottom:0}.inventory-row span,.reward-row div{min-width:0}.reward-row{padding:18px;margin-bottom:12px;background:linear-gradient(100deg,#bb97531c,transparent);border:1px solid #b19a6344}.reward-row .item-icon{width:56px;height:56px}.end-hero{display:block;height:130px;width:auto;margin:0 auto 18px;image-rendering:pixelated;filter:drop-shadow(0 0 30px #d8bd6544)}.run-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:32px;margin:28px 0 12px;text-align:center}.run-stats dt{color:var(--muted);font:11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em}.run-stats dd{margin:10px 0 0;color:var(--gold);font:32px Georgia,serif}.game-ui .danger{color:#ddaa94;border-color:#815a44;background:#321c1666}.game-controls{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(152px,calc(env(safe-area-inset-top) + 152px));display:flex;flex-direction:column;gap:8px;pointer-events:auto}.game-controls button{background:#10241ee8;font:12px Georgia,serif;min-width:90px;padding:10px 12px}.joystick{position:fixed;width:96px;height:96px;margin:-48px;border:1px solid #dbc18e88;border-radius:50%;background:#122b2166}.joystick-knob{position:absolute;left:27px;top:27px;width:38px;height:38px;border-radius:50%;border:2px solid #d9bd7d;background:#6a603fcc}.touch-hint{display:none;position:absolute;bottom:max(60px,env(safe-area-inset-bottom));left:12px;right:12px;font:12px system-ui,sans-serif;text-align:center;color:#f4e2b4bb}.phone-instructions{display:none}.has-touch .phone-instructions,.has-touch .touch-hint{display:block}.has-touch .desktop-instructions,.hide-hints .instructions,.hide-hints .touch-hint{display:none}.settings-list{display:grid}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #a58a5030}.setting-row:first-child{padding-top:0}.setting-row .description{margin-top:6px}.setting-toggle{min-width:142px}.setting-toggle[aria-pressed=true]{color:#e6d296;border-color:#bea66a;background:#354832}.settings-status{color:#e4c783;font:13px system-ui,sans-serif}.game-ui[data-page=cover] .menu-overlay{place-items:center start;padding-left:clamp(28px,7vw,140px);background:linear-gradient(90deg,#04120fe8,#04120fa1 35%,#04120f0a 68%),linear-gradient(0deg,#02120a99,transparent 30%)}.game-ui[data-page=cover] .menu-overlay:before{opacity:1;background-image:var(--kingdom-art);background-position:center;animation:kingdom-reveal 1.5s ease-out}.cover-panel{width:min(520px,49vw);background:none;border:0;outline:none;box-shadow:none}.cover-panel .menu-header{text-align:left;padding:0;border:0;background:none}.cover-panel .menu-header h1{font-size:clamp(48px,6.5vw,94px);line-height:.94;letter-spacing:-.035em;text-transform:uppercase;color:#f1dfb4;text-shadow:0 3px 25px #0008;margin:20px 0 26px}.crest{color:#c9b17c;font:64px/1 Georgia,serif;padding-bottom:20px}.cover-tagline{color:#e0d8c4;font:italic 22px/1.5 Georgia,serif;max-width:330px;margin:0}.cover-panel .menu-body{padding:12px 0 26px;flex:none}.cover-description{max-width:340px;color:#acbcb0;font:13px/1.8 system-ui,sans-serif;margin:0}.cover-panel .menu-footer{flex-direction:column;align-items:stretch;max-width:300px;background:none;padding:0;border:0;gap:12px}.cover-panel .menu-footer button{min-height:54px;font-size:16px;text-transform:uppercase;letter-spacing:.2em}.cover-panel .cover-options{background:#0b1c17b8;border-color:#b69d6866}.cover-note{color:#a9b7a5;font:9px/1.8 system-ui,sans-serif;letter-spacing:.16em;margin:30px 0 0}@keyframes panel-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes kingdom-reveal{0%{opacity:.4}to{opacity:1}}.reduce-motion *,.reduce-motion *:before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.game-ui *,.game-ui *:before{animation:none!important;transition:none!important}}@media(max-width:639px){.menu-overlay{padding:16px}.menu-overlay:after{inset:6px}.hero-grid,.inventory-grid,.upgrade-list{grid-template-columns:minmax(0,1fr);gap:12px}.menu-header{padding:18px 14px 14px}.menu-body{padding:16px}.menu-footer{padding:12px;gap:8px}.game-ui .hero-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 12px;text-align:left;padding:16px}.hero-art{grid-row:span 4;height:108px;max-width:70px;justify-self:center}.hero-card .hero-name{text-align:left;font-size:23px}.hero-card:before{display:none}.hero-weapons{justify-content:flex-start;padding:3px 0}.hero-weapons .item-icon{width:28px;height:28px}.hero-selection{font-size:8px}.game-ui .upgrade-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px 14px;padding:16px}.upgrade-type{grid-column:1/-1}.upgrade-card .item-icon{width:42px;height:42px;margin:0}.upgrade-name{font-size:19px}.setting-row{gap:10px;flex-wrap:wrap;padding:16px 0}.setting-toggle{min-width:124px}.setting-row .description{font-size:12px}.game-ui[data-page=cover] .menu-overlay{padding:32px;place-items:end start;background:linear-gradient(0deg,#061711f5,#061711df 35%,#0617111a)}.game-ui[data-page=cover] .menu-overlay:before{background-position:67% center}.cover-panel{width:100%;max-height:100%;overflow-y:auto}.cover-panel .menu-header h1{font-size:clamp(42px,12vw,70px);max-width:400px;margin:12px 0 18px}.cover-panel .eyebrow{font-size:8px}.crest{font-size:40px;padding-bottom:10px}.cover-tagline{font-size:19px}.cover-panel .menu-body{padding:10px 0 20px}.cover-panel .menu-footer{max-width:100%}.cover-note{margin-top:22px;font-size:8px}}@media(max-height:540px){.menu-overlay{padding:12px 18px}.menu-header{padding:12px 16px}.menu-header h1{font-size:28px}.eyebrow{margin-bottom:6px;font-size:8px}.subtitle{margin-top:6px;font-size:12px}.menu-body{padding:14px}.menu-footer{padding:10px 14px}.game-ui .hero-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:6px 12px;text-align:left;padding:12px}.hero-art{grid-row:span 4;height:80px;max-width:60px;justify-self:center}.hero-card .hero-name{text-align:left;font-size:22px}.hero-weapons .item-icon{width:26px;height:26px}.hero-weapons{justify-content:flex-start;padding:2px}.hero-card:before{display:none}.cover-panel{width:min(500px,65vw)}.cover-panel .menu-header h1{font-size:48px;margin:8px 0 12px}.cover-panel .crest,.cover-description,.cover-note{display:none}.cover-tagline{font-size:17px;max-width:none}.cover-panel .menu-body{padding:8px}.cover-panel .menu-footer button{min-height:44px}.cover-panel .eyebrow{display:block;font-size:8px}.game-ui[data-page=cover] .menu-overlay{place-items:center start;padding-left:5vw}}.scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.menu-overlay:before{background-image:none}.game-ui[data-page=cover] .menu-overlay:before{background-image:none}@media(max-width:639px){.scene-art{object-position:67% center}}@media(max-width:639px){.menu-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-footer .primary{grid-column:1/-1;order:-1;width:100%}.menu-footer .instructions{grid-column:1/-1}.menu-footer button{padding:10px 8px}.cover-panel .menu-footer{display:flex}.hero-card .description{font-size:12px;line-height:1.5}}@media(max-height:540px)and (min-width:640px){.upgrade-card .item-icon{width:38px;height:38px;margin:0}.game-ui .upgrade-card{gap:8px;padding:12px}.upgrade-card .description{font-size:12px}}@media(min-width:900px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:639px){.game-ui[data-page=cover] .menu-overlay{background:linear-gradient(0deg,#061711f5,#061711d9 38%,#06171160)}}.game-controls{top:var(--map-controls-top, max(152px, calc(env(safe-area-inset-top) + 152px) ))}.item-icon.relic-icon{image-rendering:auto;border-radius:3px}.game-ui{overflow:hidden}.title-atmosphere{display:none;position:absolute;width:max(100vw,150dvh);height:max(100dvh,66.666667vw);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.game-ui[data-state=MENU][data-page=cover] .title-atmosphere{display:block}.title-clouds{opacity:.15;animation:title-cloud-drift 55s ease-in-out infinite alternate}.title-valley-mist{opacity:.12;animation:title-valley-drift 38s ease-in-out infinite alternate}.title-water-flow{animation:title-water-fall 6s linear infinite}.title-sunlight{opacity:.055;animation:title-light-breathe 19s ease-in-out infinite alternate}.game-ui[data-state=MENU][data-page=cover] .scene-art{animation:title-first-light 5s ease-out both}@keyframes title-cloud-drift{0%{transform:translate(-16px)}to{transform:translate(22px,3px)}}@keyframes title-valley-drift{0%{transform:translate(8px,3px)}to{transform:translate(-13px,-3px)}}@keyframes title-water-fall{to{stroke-dashoffset:-85}}@keyframes title-light-breathe{0%{opacity:.025}to{opacity:.075}}@keyframes title-first-light{0%{opacity:.6;transform:scale(1.014)}to{opacity:1;transform:scale(1)}}@media(max-width:639px){.title-atmosphere{left:67%;transform:translate(-67%,-50%)}}.reduce-motion .title-atmosphere{display:none!important}@media(prefers-reduced-motion:reduce){.title-atmosphere{display:none!important}}.game-ui[data-state=MENU][data-page=cover]{background:#071411}.scene-art{image-rendering:auto}@keyframes title-first-light{0%{opacity:.6}to{opacity:1}}.game-ui .test-tools{border:1px solid #b59a65;border-radius:6px;padding:16px;margin-bottom:20px;background:#111a21e8}.game-ui .test-tools h3{margin:16px 0 8px}.game-ui .test-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.game-ui .test-tools button{min-height:44px;font-size:14px}.game-ui .test-tools button[aria-pressed=true]{border-color:#ffe0a2;background:#6a4d22;color:#fff}.game-ui .test-tools button:disabled{opacity:.5;cursor:default}.game-ui .test-badge{max-width:200px;font-size:12px;border-color:#b59a65}.game-ui .test-laboratory fieldset{display:flex;flex-wrap:wrap;gap:12px;min-width:0;margin:16px 0;padding:16px;border:1px solid #b59a65}.game-ui .test-laboratory legend{color:#ffe0a2;padding:0 8px}.game-ui .test-laboratory label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;min-width:0}.game-ui .test-laboratory select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px;font:inherit;font-size:16px;background:#152421;color:#fff4d7;border:1px solid #b59a65;border-radius:4px}.game-ui .test-laboratory button{min-height:44px;white-space:normal}.game-ui .test-laboratory button[aria-pressed=true]{background:#6a4d22;border-color:#ffe0a2}.game-ui .test-laboratory [data-lab-equipment],.game-ui .test-laboratory [data-lab-status]{width:100%;overflow-wrap:anywhere}.game-ui .pause-tabs{flex-wrap:wrap}@media(max-width:480px){.game-ui .pause-tabs.with-laboratory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-ui .pause-tabs.with-laboratory #pause-tab-laboratory{grid-column:1/-1}}.game-ui[data-page=heroes] .hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-ui[data-page=heroes] .hero-card{display:flex;flex-direction:column;padding:12px 12px 14px;gap:9px}.hero-identity{display:flex;flex-direction:column;align-items:center;width:100%}.hero-portrait{display:block;width:100%;height:clamp(130px,20vh,180px);object-fit:cover;object-position:center 35%;border:1px solid #ad9159;border-radius:45% 45% 3px 3px;box-shadow:0 6px 18px #0006;image-rendering:auto}.hero-sprite-stage{display:flex;justify-content:center;align-items:end;position:relative;width:100%;height:80px;margin-top:8px;background:radial-gradient(ellipse at 50% 95%,#c5ab6233,transparent 55%);border-bottom:1px solid #b3a27433}.hero-sprite-stage .hero-art{height:76px;width:auto;max-width:100%;grid-row:auto}.game-ui[data-page=heroes] .hero-card .description{font-size:18px;line-height:1.25}.game-ui[data-page=heroes] .hero-card .hero-weapons .item-icon{width:28px;height:28px}.hero-card[aria-pressed=true] .hero-portrait{border-color:#f4d58d;box-shadow:0 0 18px #d9b36730}@media(max-width:639px){.game-ui[data-page=heroes] .hero-grid{grid-template-columns:minmax(0,1fr)}.game-ui[data-page=heroes] .hero-card{display:grid;grid-template-columns:110px minmax(0,1fr);text-align:left;column-gap:14px}.hero-identity{grid-row:span 5}.hero-portrait{height:112px}.hero-sprite-stage{height:63px;margin-top:5px}.hero-sprite-stage .hero-art{height:60px}.game-ui[data-page=heroes] .hero-card .hero-name{text-align:left}}@media(max-height:540px)and (min-width:640px){.hero-portrait{height:110px}.hero-sprite-stage{height:58px}.hero-sprite-stage .hero-art{height:56px}}.hero-portrait{object-fit:contain;object-position:center;image-rendering:pixelated;border-radius:4px;background:#101a18}.hero-sprite-stage{display:none}.hero-card.hero-locked{cursor:not-allowed;opacity:1}.hero-locked .hero-identity{position:relative}.hero-locked .hero-portrait{filter:brightness(.62) saturate(.65);opacity:1}.hero-locked .hero-weapons,.hero-locked .description,.hero-locked .hero-selection{visibility:hidden}.hero-lock-label{color:#d8c99e;font-size:15px;letter-spacing:1px}.hero-portrait{background-repeat:no-repeat;aspect-ratio:1;height:auto;max-height:none}@font-face{font-family:Arcane Pixel;src:url(./VT323-Regular-DICElq-Y.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.game-ui{--pixel-font:"Arcane Pixel",monospace}.game-ui,.game-ui *{font-family:var(--pixel-font)!important;font-style:normal;font-weight:400}.game-ui{font-size:20px}.game-ui button{font-size:22px;line-height:1.1;letter-spacing:.03em;border:2px solid #a28b58;border-radius:0;background:#21372d;box-shadow:inset 2px 2px #527052,inset -2px -2px #0b1b15,0 3px #07130e;transition:background-color .12s,border-color .12s,box-shadow .12s}.game-ui button:hover:not(:disabled){background:#344c35;border-color:#f0d18a;box-shadow:inset 2px 2px #6c855e,inset -2px -2px #15271c,0 3px #07130e}.game-ui button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 2px 2px #10241a}.game-ui button:disabled{background:#303533;border-color:#656b60;color:#a6ab9f;box-shadow:inset 2px 2px #404740;opacity:1}.game-ui button:focus-visible,.game-ui input:focus-visible,.game-ui summary:focus-visible{outline:3px solid #fff0b4;outline-offset:3px}.game-ui .primary{color:#201d13;background:#c4a263;border-color:#f3d598;box-shadow:inset 3px 3px #e8c987,inset -3px -3px #846638,0 4px #131b14}.game-ui button.primary:hover:not(:disabled){background:#e0bf7a;box-shadow:inset 3px 3px #ffe1a4,inset -3px -3px #927040,0 4px #131b14}.game-ui .menu-panel{border:2px solid #baa16b;outline:2px solid #14271c;outline-offset:2px;background:#13251f;box-shadow:6px 6px #07110de6,inset 3px 3px #334635}.game-ui .menu-header,.game-ui .menu-footer{background:#102019;border-color:#75643f}.game-ui .menu-header h1{font-size:clamp(32px,4.5vw,52px);line-height:1;letter-spacing:.02em;text-shadow:2px 2px #07120e}.game-ui .cover-panel{background:none;border:0;outline:0;box-shadow:none}.game-ui .cover-panel .menu-header,.game-ui .cover-panel .menu-footer{background:none}.game-ui .cover-panel .menu-header h1{font-size:clamp(60px,7.5vw,104px);line-height:.85;letter-spacing:0;text-shadow:4px 4px #13271b,7px 7px #07130d}.game-ui .cover-tagline{font-size:26px;line-height:1.15}.game-ui .cover-description{font-size:20px;line-height:1.25}.game-ui .cover-panel .menu-footer button{font-size:26px;letter-spacing:.12em}.game-ui .eyebrow,.game-ui .section-label,.game-ui .cover-note{font-size:16px;letter-spacing:.12em}.game-ui .description,.game-ui .subtitle,.game-ui .instructions,.game-ui .inventory-row,.game-ui .reward-row{font-size:20px;line-height:1.2}.game-ui .hero-name,.game-ui .upgrade-name,.game-ui .bestiary-name,.game-ui .destination h2,.game-ui .destination h3{font-size:28px;line-height:1.05}.game-ui .hero-card .description,.game-ui .upgrade-card .description{font-size:18px;line-height:1.15}.game-ui .hero-selection,.game-ui .upgrade-sub,.game-ui .upgrade-type,.game-ui .destination-status,.game-ui .destination-biome,.game-ui .destination-unlock{font-size:16px;line-height:1.15;letter-spacing:.03em}.game-ui .hero-portrait{border-radius:0;border:2px solid #9d8857;box-shadow:3px 3px #07130e}.game-ui .hero-card,.game-ui .upgrade-card,.game-ui .treasure-reward,.game-ui .weapon-result{border-width:2px;background:#1b3026;box-shadow:inset 2px 2px #3d513a}.game-ui .hero-card[aria-pressed=true],.game-ui .upgrade-card.selected,.game-ui .bestiary-browser button[aria-pressed=true]{background:#384a2c;border-color:#f1cc7b;box-shadow:inset 2px 2px #718052,inset -2px -2px #182819}.game-ui .bestiary-enemy,.game-ui .bestiary-directions button,.game-ui .bestiary-playback button{font-size:20px}.game-ui .bestiary-enemy small,.game-ui .bestiary-count,.game-ui .bestiary-direction,.game-ui .bestiary-note,.game-ui .pause-map-legend,.game-ui .result-note{font-size:18px;line-height:1.15}.game-ui input,.game-ui .pause-map-controls output,.game-ui .game-controls button{font-size:20px}.game-ui .run-stats dt,.game-ui .weapon-metrics,.game-ui .final-attributes{font-size:18px}.game-ui .run-stats dd,.game-ui .weapon-damage{font-size:32px}.game-ui .weapon-metrics dd{font-size:22px}.game-ui .result-heading,.game-ui .treasure-count{font-size:32px}.game-ui .result-total,.game-ui .weapon-result-head h3{font-size:24px}.game-ui .crest{font-family:monospace!important}@media(max-width:639px){.game-ui .cover-panel .menu-header h1{font-size:64px}.game-ui .cover-tagline{font-size:24px}.game-ui .cover-note,.game-ui .eyebrow{font-size:14px}.game-ui .menu-footer button{font-size:20px;padding:10px 8px}.game-ui .hero-card .hero-name{font-size:28px}}@media(max-height:540px){.game-ui .cover-panel .menu-header h1{font-size:52px}.game-ui .cover-tagline{font-size:20px}.game-ui .menu-header h1{font-size:32px}}.game-ui .menu-body{scrollbar-gutter:stable;scroll-padding:12px}.game-ui .menu-footer button{max-width:100%}.game-ui select:focus-visible,.game-ui canvas:focus-visible{outline:3px solid #fff0b4;outline-offset:3px}.game-ui .setting-row .description{font-size:18px;line-height:1.25}.game-ui .setting-row .upgrade-name{margin:0}.game-ui .settings-list{gap:0}.game-ui .setting-row{padding:16px 0}.game-ui .setting-row:first-child{padding-top:0}.game-ui .setting-toggle{min-width:150px}.game-ui .settings-status{font-size:18px}.game-ui .settings-status:empty{display:none}.menu-archive{margin:26px 0}.archive-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-ui .archive-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:6px 12px;padding:16px;text-align:left}.archive-link .description{grid-column:1;font-size:18px}.archive-arrow{grid-column:2;grid-row:1 / 3;align-self:center;color:#e2c689;font-size:32px}.game-ui .test-tools{margin:24px 0 0;padding:0 16px;background:#102019;border:2px solid #647052;border-radius:0}.game-ui .test-tools summary{cursor:pointer;padding:14px 0;color:#b6c0a8}.game-ui .test-tools[open]{padding-bottom:16px}.game-ui .test-tools button{font-size:20px}.game-ui .hero-lock-label{display:flex;align-items:center;gap:8px;font-size:18px;color:#c2c6b7}.hero-lock-label:before{content:"";width:12px;height:10px;background:#929986;box-shadow:0 -5px 0 -2px #929986}.game-ui .hero-locked .hero-weapons,.game-ui .hero-locked .description,.game-ui .hero-locked .hero-selection{display:none}.game-ui .hero-locked .hero-lock-label{margin-top:auto;padding:8px 0}.game-ui .hero-card:before{display:none}.game-ui .upgrade-card[data-kind=evolve]{background:#352d40;border-color:#ba9ad1;box-shadow:inset 2px 2px #60506f}.game-ui .upgrade-card[data-kind=evolve] .upgrade-type{color:#dbb8ee}.game-ui .upgrade-card[data-kind=heal] .upgrade-type{color:#b9d5a0}.game-ui .upgrade-card .upgrade-copy{width:100%}.game-ui .destination{border-width:2px}.game-ui .destination-screenshot{image-rendering:pixelated}.game-ui .destination-sealed{height:100px}.game-ui .pause-map canvas{border-width:2px;image-rendering:pixelated}.game-ui .pause-map-controls output{font-variant-numeric:tabular-nums}.game-ui .run-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px 28px;padding-bottom:20px;border-bottom:2px solid #647052}.game-ui .run-identity{flex:none;text-align:center}.game-ui .run-summary .end-hero{height:76px;margin:0 auto 8px;filter:none}.game-ui .run-summary .hero-name{font-size:24px}.game-ui .run-summary .run-stats{margin:0;gap:16px 28px}.game-ui .run-summary .run-stats dd{margin-top:4px}.game-ui .weapon-result-head>div{min-width:0}.game-ui .weapon-result-head h3{overflow-wrap:anywhere}.game-ui .weapon-damage{font-variant-numeric:tabular-nums}.game-ui .weapon-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.game-ui .weapon-metrics dd{overflow-wrap:anywhere}.game-ui .weapon-damage-bar{height:8px}.game-ui .weapon-damage-bar span{background:#d1b575;box-shadow:inset 0 2px #f0d59b}.game-ui .result-details summary{min-height:48px}.game-ui[data-page=letter] .menu-panel{background:#e2c58f;box-shadow:inset 8px 0 #b99961,inset -8px 0 #b99961}.game-ui[data-page=letter] .menu-header h1{text-shadow:none}.game-ui[data-page=letter] .royal-mission{padding:24px 28px;border:2px solid #947342;box-shadow:4px 4px #b49562;background:#ead4a5}.game-ui[data-page=letter] .royal-seal{border-radius:0;border:3px solid #aa5340;box-shadow:3px 3px #763b2b;font-family:monospace!important;font-size:30px}.game-ui[data-page=letter] .royal-copy{line-height:1.4}.game-ui[data-page=letter] .royal-salutation,.game-ui[data-page=letter] .royal-signature,.game-ui[data-page=letter] button{font-size:22px}@media(max-width:639px){.game-ui .menu-body{scrollbar-gutter:auto}.game-ui .setting-row{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:6px 12px;padding:12px 0}.game-ui .setting-row>div{display:contents}.game-ui .setting-row .upgrade-name{font-size:24px}.game-ui .setting-row .description{grid-column:1 / -1;grid-row:2;margin:0}.game-ui .setting-toggle{grid-column:2;grid-row:1;min-width:0;width:100%;padding:10px 6px;font-size:20px}.archive-links{grid-template-columns:minmax(0,1fr)}.game-ui .hero-locked .hero-identity{grid-row:span 2}.game-ui .hero-locked .hero-lock-label{margin-top:0}.game-ui .destination.locked{display:grid;grid-template-columns:64px minmax(0,1fr)}.game-ui .destination-sealed{height:100%}.game-ui .locked .destination-copy{padding:12px}.game-ui .destination h3{font-size:24px}.game-ui .weapon-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.game-ui .run-summary{gap:16px;align-items:flex-start}.game-ui .run-summary .run-stats{display:grid;text-align:left;gap:8px}.game-ui .run-summary .run-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.game-ui .run-summary .run-stats dd{font-size:26px}.game-ui[data-page=letter] .royal-mission{padding:18px}.game-ui[data-page=letter] .menu-body{padding:16px 20px}.game-ui[data-page=letter] .royal-copy{font-size:23px}}@media(max-width:359px){.game-ui .menu-overlay{padding:10px}.game-ui .menu-header{padding:14px 10px}.game-ui .menu-body{padding:14px 12px}.game-ui[data-page=heroes] .hero-card{grid-template-columns:88px minmax(0,1fr);column-gap:12px;padding:10px}.game-ui .hero-card .hero-name{font-size:26px}.game-ui .run-summary{gap:10px}.game-ui .weapon-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.game-ui[data-page=cover] .menu-overlay{padding:24px}}@media(max-height:540px){.game-ui[data-page=letter] .menu-header{padding:12px 16px}.game-ui[data-page=letter] .royal-mission{padding:16px 20px}.game-ui[data-page=letter] .menu-footer{padding:10px 16px}}.game-ui .treasure-radiance{max-width:100%}@media(max-height:680px)and (max-width:639px){.game-ui .cover-panel .crest,.game-ui .cover-description,.game-ui .cover-note{display:none}.game-ui .cover-panel .menu-body{padding:6px 0}.game-ui .cover-tagline{font-size:22px}}.game-ui .upgrade-hint{display:block;color:#d8c68f;font-size:16px;line-height:1.15;letter-spacing:0}@media(max-width:639px){.game-ui[data-state=LEVELUP] .menu-header{padding:12px}.game-ui[data-state=LEVELUP] .menu-header .eyebrow{display:none}.game-ui[data-state=LEVELUP] .menu-body{padding:12px}.game-ui[data-state=LEVELUP] .upgrade-list{gap:10px}.game-ui[data-state=LEVELUP] .upgrade-card{padding:12px;gap:8px;grid-template-columns:36px minmax(0,1fr)}.game-ui[data-state=LEVELUP] .upgrade-card .item-icon{width:36px;height:36px}.game-ui[data-state=LEVELUP] .upgrade-type{display:none}.game-ui[data-state=LEVELUP] .upgrade-copy{gap:4px}.game-ui[data-state=LEVELUP] .upgrade-name{font-size:24px}.game-ui[data-state=LEVELUP] .upgrade-sub{margin:0}.game-ui[data-state=LEVELUP] .menu-footer{padding:8px 12px}}.game-ui .character-mastery h2{font-size:24px;line-height:1.1;margin:0 0 12px}.game-ui .character-mastery p{font-size:18px;line-height:1.25;margin:10px 0}.game-ui .character-mastery button{font-size:20px}.game-ui .menu-panel{animation:ui-panel-enter .18s ease-out}.game-ui .menu-panel.is-refresh{animation:none}@keyframes ui-panel-enter{0%{opacity:.94;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.game-ui .setting-toggle[aria-pressed=true]{background:#35482d;border-color:#dbc27d;color:#f2d79b}.game-ui .setting-toggle[aria-pressed=false]{background:#182b23;color:#bec6b7;border-color:#66775d}.game-ui .menu-footer .danger{color:#e4b39b;border-color:#956d55}.game-ui .menu-footer .danger:hover:not(:disabled){background:#483026;border-color:#d5a180}.game-ui .run-summary .run-progress{grid-column:1/-1;margin:0;padding:12px 14px;border-left:3px solid #bfa36a;background:#1c3025;color:#d8ceb1;font-size:20px;line-height:1.25}.game-ui .run-summary .save-warning{color:#f1bd90}.game-ui .run-summary .run-stats{min-width:0}.game-ui summary{transition:color .12s}.game-ui summary:hover{color:#ffdfa0}@media(max-width:359px){.game-ui .run-summary{grid-template-columns:82px minmax(0,1fr)}.game-ui .run-summary .hero-name{font-size:22px}.game-ui .run-summary .run-stats dt{font-size:16px;letter-spacing:0}}.game-ui button.primary:active:not(:disabled){background:#c4a263;box-shadow:inset 2px 2px #846638}.game-ui button.primary:disabled{background:#303533;color:#a6ab9f;border-color:#656b60;box-shadow:inset 2px 2px #404740}.game-ui .character-mastery{scroll-margin-top:12px}.game-ui .pause-map-controls{margin:0 0 12px}@media(min-width:640px){.game-ui[data-page=heroes] .menu-header{padding:16px 24px 14px}.game-ui[data-page=heroes] .hero-portrait{width:min(100%,clamp(140px,20vh,180px))}.pause-map{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.game-ui .pause-map>.section-label,.game-ui .pause-map-controls{margin:0}.pause-map canvas,.pause-map-legend{grid-column:1/-1}}@media(max-height:540px)and (min-width:640px){.game-ui[data-page=paused] .menu-header{padding:8px 14px}.game-ui[data-page=paused] .menu-header h1{font-size:26px;margin:0}.game-ui[data-page=paused] .pause-tabs{margin-top:8px}.game-ui[data-page=paused] .pause-map{grid-template-columns:minmax(0,1fr) 210px;gap:8px 14px;margin-bottom:12px}.game-ui[data-page=paused] .pause-map canvas{grid-column:1;grid-row:1/4;height:clamp(96px,calc(100dvh - 250px),240px);object-fit:contain}.game-ui[data-page=paused] .pause-map>.section-label{grid-column:2;grid-row:1;text-align:center}.game-ui[data-page=paused] .pause-map-controls{grid-column:2;grid-row:2;gap:8px}.game-ui[data-page=paused] .pause-map-legend{grid-column:2;grid-row:3;margin:0;font-size:16px}.game-ui[data-page=heroes] .menu-header{padding:10px 16px}.game-ui[data-page=heroes] .menu-header .subtitle{display:none}.game-ui[data-page=heroes] .menu-body>.section-label{display:none}.game-ui[data-page=heroes] .hero-grid{grid-template-columns:minmax(0,1fr)}.game-ui[data-page=heroes] .hero-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:4px 14px;padding:10px 14px;text-align:left}.game-ui[data-page=heroes] .hero-identity{grid-row:span 4}.game-ui[data-page=heroes] .hero-name{text-align:left}.game-ui[data-page=heroes] .hero-weapons{justify-content:flex-start;padding:0}.game-ui[data-page=heroes] .hero-card .description{line-height:1.1}.game-ui[data-page=heroes] .hero-locked .hero-identity{grid-row:span 2}.game-ui[data-page=heroes] .hero-lock-label{margin:0}}.audio-setting{flex-wrap:wrap;gap:12px}.audio-controls{display:flex;align-items:center;gap:12px;width:240px;max-width:100%}.audio-controls input{min-width:0;width:100%;min-height:44px;accent-color:#e3c17d;cursor:pointer}.audio-controls output{min-width:42px;color:#ffe4ad;font:14px/1.5 system-ui,sans-serif}.game-ui .game-controls{top:max(8px,calc(env(safe-area-inset-top,0px) + 8px));right:max(8px,calc(env(safe-area-inset-right,0px) + 8px));flex-direction:row;gap:8px}.game-ui .game-controls .hud-icon{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;color:#f1d599;background:#10241ee8;touch-action:manipulation}.game-ui .hud-icon svg{width:22px;height:22px;pointer-events:none}.game-ui .map-toggle[aria-expanded=true]{border-color:#f1d599;background:#344c35}.game-ui[data-page=heroes] .hero-entry{display:flex;flex-direction:column;min-width:0;border:2px solid #647052;background:#172b22;padding:10px}.game-ui[data-page=heroes] .hero-entry[data-selected=true]{border-color:#edcb80;box-shadow:inset 0 0 0 2px #4a5935}.game-ui[data-page=heroes] .hero-entry .hero-card{flex:1;display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;padding:10px 8px 12px;border:0;background:transparent;box-shadow:none;letter-spacing:0}.game-ui[data-page=heroes] .hero-entry .hero-card:disabled{background:transparent}.game-ui[data-page=heroes] .hero-entry .hero-card:hover:not(:disabled){background:#2b4030;box-shadow:none}.game-ui[data-page=heroes] .hero-entry .hero-card:active:not(:disabled){transform:none}.game-ui[data-page=heroes] .hero-entry .hero-identity{position:relative;width:min(100%,160px);grid-row:auto;margin:0 auto 4px}.game-ui[data-page=heroes] .hero-entry .hero-portrait{width:100%;height:auto;aspect-ratio:1}.hero-level-badge{position:absolute;bottom:-4px;right:-4px;padding:3px 8px;border:2px solid #e0c182;background:#1b2d23;color:#ffe2a4;box-shadow:2px 2px #08180f;font-size:20px;line-height:1;white-space:nowrap}.game-ui[data-page=heroes] .hero-entry .hero-name{font-size:28px;text-align:center}.hero-points{font-size:18px;line-height:1.15;color:#b7c3ac}.hero-points.has-points{color:#ffe1a0}.hero-choice-label{font-size:16px;color:#cbb98a}.game-ui[data-page=heroes] .hero-entry .hero-lock-label{margin:0;padding:0}.game-ui[data-page=heroes] .hero-details-button{width:100%;min-height:48px;margin:6px 0 0;padding:10px 8px;font-size:21px;border-color:#b79d62;color:#f7ddb0}.game-ui[data-page=heroes] .hero-details-button.has-points{border-color:#efd189;background:#4a4e2d;color:#ffdfa0;box-shadow:inset 2px 2px #7a8150,inset -2px -2px #25321d}.game-ui[data-page=heroes] .hero-entry.is-locked{border-color:#586255}.game-ui[data-page=heroes] .is-locked .hero-level-badge,.game-ui[data-page=heroes] .is-locked .hero-details-button{border-color:#7d8875;color:#c4c8b9}.game-ui .character-profile-header{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:18px;padding:16px 24px;text-align:left}.character-profile-header .hero-identity{width:80px;grid-row:auto}.character-profile-header .hero-portrait{width:100%;height:auto;aspect-ratio:1}.game-ui .character-profile-header h1{font-size:40px;text-align:left}.game-ui .character-profile-header .eyebrow{margin:0 0 6px}.game-ui[data-page=character] .character-mastery{margin:0;padding:0;border:0;background:transparent}.game-ui[data-page=character] .character-mastery .mastery-header{align-items:start}.game-ui[data-page=character] .character-mastery .mastery-help{font-size:18px}.character-story{margin-top:18px;border-top:1px solid #647052}.character-story summary{display:flex;align-items:center;min-height:48px;cursor:pointer;color:#dcc795}.character-story summary:before{content:"+ ";white-space:pre}.character-story[open] summary:before{content:"− "}.character-story summary::-webkit-details-marker{display:none}.profile-locked-note{margin:0 0 16px;padding:10px 12px;background:#28312a;color:#c7cbbd;border-left:3px solid #9caa88;font-size:18px;line-height:1.2}@media(max-width:639px),(max-height:540px)and (min-width:640px){.game-ui[data-page=heroes] .hero-grid{grid-template-columns:minmax(0,1fr);gap:12px}.game-ui[data-page=heroes] .hero-entry{padding:8px}.game-ui[data-page=heroes] .hero-entry .hero-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px 14px;padding:4px 4px 8px;text-align:left}.game-ui[data-page=heroes] .hero-entry .hero-identity{width:88px;grid-column:1;grid-row:1/4;margin:0}.game-ui[data-page=heroes] .hero-entry .hero-name{text-align:left;font-size:28px}.game-ui[data-page=heroes] .hero-entry .hero-name,.hero-points,.hero-choice-label{grid-column:2}.game-ui[data-page=heroes] .hero-entry .hero-lock-label{align-self:start}.game-ui[data-page=heroes] .hero-details-button{font-size:20px}.game-ui[data-page=heroes] .menu-header{padding:12px 14px}.game-ui[data-page=heroes] .menu-header .eyebrow{display:none}.game-ui[data-page=heroes] .subtitle{margin-top:6px}}@media(max-width:639px){.game-ui .character-profile-header{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 14px}.character-profile-header .hero-identity{width:64px}.game-ui .character-profile-header h1{font-size:34px}.game-ui .character-profile-header .eyebrow{font-size:14px;letter-spacing:.08em}.game-ui[data-page=character] .mastery-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px}.game-ui[data-page=character] .mastery-header>div{display:contents}.game-ui[data-page=character] .character-mastery .mastery-level{grid-column:1/-1;margin:0}.game-ui[data-page=character] .character-mastery h2{margin:0}.game-ui[data-page=character] .character-mastery .mastery-points{margin:0;padding:4px 8px}.game-ui[data-page=character] .character-mastery .mastery-level{font-size:16px}.game-ui[data-page=character] .character-mastery .mastery-help{margin-bottom:12px}}@media(max-height:540px)and (min-width:640px){.game-ui .character-profile-header{grid-template-columns:48px minmax(0,1fr);padding:8px 16px}.character-profile-header .hero-identity{width:48px}.game-ui .character-profile-header h1{font-size:30px;margin:0}.game-ui[data-page=character] .character-mastery{display:flex;flex-direction:column}.game-ui[data-page=character] .mastery-header>div{display:flex;align-items:center;gap:16px}.game-ui[data-page=character] .character-mastery .mastery-level,.game-ui[data-page=character] .character-mastery h2{margin:0}.game-ui[data-page=character] .character-mastery progress{margin-top:8px}.game-ui[data-page=character] .character-mastery .mastery-xp{margin:4px 0 8px}.game-ui[data-page=character] .character-mastery .mastery-help{order:1;margin:14px 0 0}.game-ui[data-page=character] .mastery-details,.game-ui[data-page=character] .mastery-save,.game-ui[data-page=character] .save-warning{order:2}}.game-ui .pause-tabs{display:flex;gap:8px;margin:14px auto 0;max-width:420px}.game-ui .pause-tabs button{flex:1;min-width:0;min-height:44px;padding:8px 12px}.game-ui .pause-tabs [aria-selected=true]{background:#384a2c;color:#ffe1a0;border-color:#f1cc7b;box-shadow:inset 2px 2px #718052}.game-ui .skills-explainer{margin:0 0 18px;color:#bcc8b7}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.skills-grid>section{min-width:0}.game-ui .skills-grid .section-label{color:#e0c78f;margin:0 0 10px}.skill-detail{margin:0 0 10px;border:2px solid #596a50;background:#182c22}.skill-detail summary{display:flex;align-items:center;gap:12px;padding:12px;min-height:68px;list-style:none;cursor:pointer}.skill-detail summary::-webkit-details-marker{display:none}.skill-detail summary:after{content:"+";flex:none;color:#e1c27f;font-size:26px;margin-left:auto}.skill-detail[open] summary:after{content:"−"}.skill-detail[open]{border-color:#c4a76b}.skill-detail summary:hover{background:#2a3d2b}.game-ui summary:focus-visible{outline:3px solid #fff0b4;outline-offset:-3px}.skill-identity{display:grid;gap:4px;min-width:0}.skill-name{font-size:23px;line-height:1.05;color:#f3dfb2;overflow-wrap:anywhere}.skill-level{font-size:18px;color:#caba90}.skill-information{padding:0 14px 14px}.game-ui .skill-information .description{font-size:18px;line-height:1.25}.skill-next{color:#dfc88f;font-size:18px;line-height:1.2;margin:12px 0 0}.skill-evolution{border-top:1px solid #637151;margin-top:14px;padding-top:12px}.skill-evolution h3{font-size:20px;font-weight:400;margin:0;color:#debee9}.skill-evolution ul{list-style:none;padding:0;margin:8px 0;font-size:18px;line-height:1.3;color:#c9cdb9}.skill-evolution.is-ready{border-color:#a0b66a}.skill-evolution.is-ready h3{color:#dceea8}.game-ui .skills-empty{font-size:18px;padding:14px;background:#18281f;border:1px dashed #52634c}.loadout-panel{margin:16px 0 0;border-top:1px solid #66714e}.loadout-panel>summary{display:flex;align-items:center;gap:10px;min-height:48px;list-style:none;color:#dfc88f;cursor:pointer}.loadout-panel>summary:before{content:"+"}.loadout-panel[open]>summary:before{content:"−"}.loadout-panel>summary::-webkit-details-marker{display:none}.game-ui[data-state=LEVELUP] .menu-header .eyebrow{display:none}.game-ui[data-state=LEVELUP] .menu-header h1{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;font-size:40px}.run-level-badge{font-size:22px;white-space:nowrap;padding:4px 8px;border:1px solid #b9a166;background:#32442b;color:#ffe2a3;text-shadow:none}.game-ui .level-choice-status{color:#e4d4ae}.level-capacity{color:#b2c1a9;font-size:18px;line-height:1.1;margin:8px 0 0}.game-ui[data-state=LEVELUP] .menu-footer .instructions{font-size:18px}@media(max-width:639px){.skills-grid{grid-template-columns:minmax(0,1fr);gap:14px}.game-ui[data-state=LEVELUP] .menu-header h1{font-size:30px;gap:8px}.run-level-badge{font-size:20px}.game-ui[data-state=LEVELUP] .level-choice-status{font-size:18px}.game-ui[data-state=LEVELUP] .menu-header{padding:10px}.game-ui .pause-tabs{margin-top:10px}.game-ui .skill-name{font-size:22px}}@media(max-height:540px){.game-ui[data-state=LEVELUP] .menu-header{padding:8px 12px}.game-ui[data-state=LEVELUP] .menu-header h1{font-size:28px;margin:0}.game-ui[data-state=LEVELUP] .level-capacity{display:none}.game-ui[data-state=LEVELUP] .menu-header .subtitle{margin:5px 0 0;font-size:18px}.game-ui[data-state=PAUSED] .menu-header .eyebrow{display:none}.game-ui[data-state=PAUSED] .menu-header{padding:8px 12px}.game-ui .pause-tabs{margin-top:8px}}@media(max-height:540px)and (min-width:640px){.game-ui[data-state=LEVELUP] .upgrade-list{grid-template-columns:minmax(0,1fr);gap:10px}.game-ui[data-state=LEVELUP] .upgrade-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}.game-ui[data-state=LEVELUP] .upgrade-type{display:none}.game-ui[data-state=LEVELUP] .upgrade-card .item-icon{width:42px;height:42px;margin:0}.game-ui[data-state=LEVELUP] .upgrade-name{font-size:24px}.game-ui[data-state=LEVELUP] .upgrade-copy{gap:4px}.game-ui[data-state=LEVELUP] .upgrade-sub{margin:0}}@media(max-width:639px)and (max-height:700px){.game-ui[data-state=PAUSED] .menu-header .eyebrow{display:none}.game-ui[data-state=PAUSED] .menu-header{padding:10px}.game-ui[data-state=PAUSED] .menu-header h1{font-size:28px}.game-ui[data-state=PAUSED] .menu-header .subtitle{font-size:18px}.game-ui[data-state=PAUSED] .pause-tabs{margin-top:8px}.game-ui .skills-explainer{font-size:18px}}.game-ui .skill-detail{scroll-margin-top:12px}@media(max-width:639px)and (max-height:700px){.game-ui .pause-map canvas{min-height:0}.game-ui .pause-map>.section-label{margin-bottom:10px}.game-ui .pause-map-controls{margin-bottom:8px}}.game-ui .mission-board{--pixel-font:system-ui,sans-serif;width:100%;max-width:620px;margin:0 auto;text-align:left;color:#f5f5ec}.game-ui .mission-board h2{font-size:15px;color:#ffe5a3;margin:0 0 6px}.game-ui .mission-board .description{font-size:13px;line-height:1.4;color:#dce6dd}.game-ui .mission-board ol{padding:0;margin:10px 0;list-style:none;display:grid;gap:4px}.game-ui .mission-board li{padding:8px 10px;background:#101b17;color:#f5f5ec;border:1px solid #536555;border-left:3px solid #ad8b4f}.game-ui .mission-text{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.game-ui .mission-board small{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;color:#dae4dc;font-size:12px;margin-top:3px;line-height:1.35}.game-ui .mission-reward{color:#ffe5a3;white-space:nowrap}.game-ui .mission-board [data-status=completed],.game-ui .mission-board [data-status=earned]{border-left-color:#9dcc88}.game-ui .mission-board [data-status=completed] .mission-status,.game-ui .mission-board [data-status=earned] .mission-status{color:#b8efb0}.game-ui .mission-board .mission-note{font-size:12px;line-height:1.4}.game-ui[data-page=missions] .menu-panel{width:min(100%,720px)}.game-ui[data-page=missions] .menu-header{padding:14px 16px 10px}.game-ui[data-page=missions] .menu-header h1{font-size:36px}.game-ui[data-page=missions] .subtitle{color:#e1e8db;font-size:20px}.game-ui[data-page=missions] .menu-body{padding:12px 18px}.game-ui[data-page=missions] .menu-footer{padding:10px 14px}.game-ui[data-page=missions] .map-load-status{color:#ffe5a3}.game-ui .pause-tabs{max-width:600px;flex-wrap:wrap}@media(max-width:600px){.game-ui[data-page=missions] .menu-header{padding:10px 12px 8px}.game-ui[data-page=missions] .menu-header h1{font-size:32px}.game-ui[data-page=missions] .menu-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-ui[data-page=missions] .menu-footer button{min-width:0;padding:8px;font-size:20px}.game-ui[data-page=missions] .menu-footer .primary{grid-column:auto;order:0}.game-ui .pause-tabs,.game-ui .pause-tabs.with-laboratory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-ui .pause-tabs.with-laboratory #pause-tab-laboratory{grid-column:auto}}.atk-panel{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:100vw;display:flex;flex-direction:column;box-sizing:border-box;background:#100c16eb;color:#f1e9f5;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;border-right:1px solid rgba(255,79,216,.35);backdrop-filter:blur(6px);z-index:10;overflow:hidden}.atk-head{padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.atk-head h1{margin:0;font-size:20px;letter-spacing:.04em;color:#ff4fd8}.atk-hint{margin:6px 0 4px;color:#b9aec4;font-size:12px}.atk-back{color:#ffd94a;font-size:12px;text-decoration:none}.atk-back:hover{text-decoration:underline}.atk-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;overflow-y:auto;flex:0 0 auto;max-height:42%}.atk-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;cursor:pointer;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:inherit;font:inherit}.atk-item:hover{background:#ffffff1a}.atk-item.active{border-color:#ff4fd8;background:#ff4fd829}.atk-icon{width:36px;height:36px;image-rendering:pixelated;object-fit:contain}.atk-name{font-size:12px;text-align:center}.atk-evo-tag{font-size:10px;color:#ffd94a;text-align:center}.atk-detail{padding:12px 16px 20px;overflow-y:auto;flex:1 1 auto}.atk-title{display:flex;align-items:center;gap:10px}.atk-title h2{margin:0;font-size:17px}.atk-title .atk-icon{width:40px;height:40px}.atk-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:#ffd94a;color:#2a2010;font-weight:700}.atk-desc{margin:8px 0 4px}.atk-meta{margin:4px 0;color:#9d90a8;font-size:12px}.atk-levels{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:10px 0 6px}.atk-label{font-size:12px;color:#b9aec4;margin-right:4px}.atk-level{width:28px;height:28px;border-radius:6px;cursor:pointer;font:inherit;color:inherit;background:#ffffff0f;border:1px solid rgba(255,255,255,.14)}.atk-level.active{background:#ff4fd8;color:#1a0a16;border-color:#ff4fd8;font-weight:700}.atk-leveldesc{margin:4px 0 8px;padding-left:18px;font-size:12px;color:#9d90a8}.atk-leveldesc .done{color:#f1e9f5}.atk-evolve{display:block;width:100%;margin:8px 0 2px;padding:8px;cursor:pointer;font:inherit;font-weight:700;background:#ffd94a26;color:#ffd94a;border:1px solid #ffd94a;border-radius:8px}.atk-evolve.active{background:#ffd94a;color:#2a2010}.atk-stats{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.atk-stats th{text-align:left;font-weight:400;color:#b9aec4;padding:3px 0}.atk-stats td{text-align:right;padding:3px 0;font-variant-numeric:tabular-nums}.atk-stats tr+tr{border-top:1px solid rgba(255,255,255,.06)}@media(max-width:700px){.atk-panel{width:100vw;top:auto;height:46vh;border-right:0;border-top:1px solid rgba(255,79,216,.35)}.atk-head{padding:8px 12px 6px}.atk-hint{display:none}.atk-list{grid-template-columns:repeat(5,1fr);max-height:34%;padding:6px 8px}.atk-name,.atk-evo-tag{display:none}}.atk-h3{margin:14px 0 4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#ffd94a}.atk-right{text-align:right}.atk-eff{color:#ff4fd8;font-weight:700}.atk-num{width:72px;padding:2px 4px;font:inherit;font-size:12px;text-align:right;color:#f1e9f5;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:4px}.atk-num:focus{outline:none;border-color:#ff4fd8}.atk-max{width:52px;margin-left:2px}.atk-levels-table .atk-num{width:44px;padding:2px}.atk-levels-table th,.atk-levels-table td{padding:2px 1px;font-size:11px}.atk-levels-table tr.done th{color:#ffd94a}.atk-flag{display:inline-flex;align-items:center;gap:3px;margin-left:8px;font-size:12px;color:#b9aec4}.atk-actions{display:flex;gap:8px;margin-top:12px}.atk-btn{flex:1;padding:7px 8px;cursor:pointer;font:inherit;font-weight:700;color:#1a0a16;background:#ff4fd8;border:0;border-radius:8px}.atk-btn:disabled{opacity:.4;cursor:default}.atk-danger{background:#ff6b5e33;color:#ff6b5e;border:1px solid #ff6b5e}.atk-export{width:100%;box-sizing:border-box;height:160px;margin-top:8px;font:11px/1.4 ui-monospace,Menlo,monospace;color:#f1e9f5;background:#0006;border:1px solid rgba(255,255,255,.16);border-radius:6px;resize:vertical}.atk-portrait{width:44px;height:52px;object-fit:contain;object-position:bottom}.atk-small{width:22px;height:22px;vertical-align:middle}.atk-text{width:100%;box-sizing:border-box;padding:3px 6px;font:inherit;font-size:12px;color:#f1e9f5;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:4px}.atk-text:focus{outline:none;border-color:#ff4fd8}.atk-inline{display:inline-flex;align-items:center;gap:6px}.atk-color{width:32px;height:22px;padding:0;border:1px solid rgba(255,255,255,.2);background:none;border-radius:4px}.atk-views{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0;padding:6px;background:#0000004d;border-radius:8px}.atk-view{height:64px;width:auto;image-rendering:pixelated}.atk-weapons{display:flex;flex-wrap:wrap;gap:6px 12px;margin:4px 0}.atk-weapons .atk-flag{margin-left:0;gap:6px}.atk-default{color:#9d90a8;font-style:italic}.atk-dim{color:#9d90a8;font-size:12px}
