@font-face{font-family:Raw Pixel;src:url(../assets/fonts/RawPixel.woff2) format("woff2"),url(../assets/fonts/RawPixel.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Raw Pixel;src:url(../assets/fonts/RawPixel-Bold.woff2) format("woff2"),url(../assets/fonts/RawPixel-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Raw Pixel;src:url(../assets/fonts/RawPixel-Italic.woff2) format("woff2"),url(../assets/fonts/RawPixel-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Raw Pixel;src:url(../assets/fonts/RawPixel-BoldItalic.woff2) format("woff2"),url(../assets/fonts/RawPixel-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}:root{--bg-dark: #0b0f19;--bg-panel: #131b2e;--bg-panel-subtle: #1c273e;--border-color: #2a3756;--border-glow: #3b82f6;--accent-gold: #f59e0b;--accent-gold-bright: #fbbf24;--accent-amber: #d97706;--accent-blue: #3b82f6;--text-main: #f3f4f6;--text-muted: #9ca3af;--text-gold: #fbbf24;--danger-red: #ef4444;--success-green: #10b981;--font-title: "Raw Pixel", "Cinzel", serif;--font-sans: "Raw Pixel", system-ui, -apple-system, sans-serif;--font-mono: "Raw Pixel", "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0;font-synthesis:none}.menu-overlay,.menu-screen,.menu-title-bg,.tbg-layer,.tbg-art,.credits-overlay,.end-demo-overlay,.loading-overlay,.rpg-hud-overlay,#touch-controls-overlay,.world-vignette,.menu-splash-prompt,.menu-splash-whiteout,.menu-title-bg:after,.screen-fade-overlay,.intro-overlay,.death-screen,.game-over-overlay,.stereo-overlay,.dosbox-overlay{top:0;left:0;right:0;bottom:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);height:100vh;height:100dvh;width:100vw;overflow:hidden;overscroll-behavior:none}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;overscroll-behavior:none}.viewport-container{flex:1;position:relative;overflow:hidden;background:#050811;cursor:grab}.viewport-container:active{cursor:grabbing}#map-canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast}.world-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.32) 100%)}#app:not(.game-mode-active) .world-vignette{display:none}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0f19;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;z-index:500;opacity:1;transition:none}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-chase-box{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-chase-track{display:flex;align-items:center;justify-content:center}.loading-chase-canvas{image-rendering:pixelated;image-rendering:crisp-edges;width:220px;height:60px}.loading-text{font-family:var(--font-title);font-size:1.05rem;letter-spacing:1px;color:var(--accent-gold-bright);text-shadow:0 0 8px rgba(245,158,11,.4)}.screen-fade-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;z-index:100;transition:opacity .3s ease-in-out}.screen-fade-overlay.active{opacity:1;pointer-events:all}.screen-fade-overlay.white{background:#fff}.low-hp-vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3400;opacity:0;pointer-events:none;background:radial-gradient(ellipse at center,#78000000 36%,#92080873 70%,#540000e6)}.iris-mask{position:fixed;left:50%;top:50%;width:300vmax;height:300vmax;border-radius:50%;box-shadow:0 0 0 9999px #000;transform:translate(-50%,-50%);pointer-events:none;z-index:101}.iris-mask.animating{transition:width var(--iris-ms, .45s) ease,height var(--iris-ms, .45s) ease}@media (prefers-reduced-motion: reduce){.iris-mask.animating{transition:none}}.hint-arrow{display:inline-block;width:6px;height:10px;position:relative;vertical-align:middle}.hint-arrow:before{content:"";position:absolute;left:0;top:0;width:2px;height:2px;background:var(--accent-gold-bright);box-shadow:0 2px 0 0 var(--accent-gold-bright),2px 2px 0 0 var(--accent-gold-bright),0 4px 0 0 var(--accent-gold-bright),2px 4px 0 0 var(--accent-gold-bright),4px 4px 0 0 var(--accent-gold-bright),0 6px 0 0 var(--accent-gold-bright),2px 6px 0 0 var(--accent-gold-bright),0 8px 0 0 var(--accent-gold-bright);animation:hintArrowNudge .9s steps(1) infinite}@keyframes hintArrowNudge{0%,15%{transform:translate(0)}50%{transform:translate(2px)}85%,to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.hint-arrow:before{animation:none}}.dialogue-box-panel{position:absolute;bottom:30px;left:50%;width:min(680px,90vw);min-height:130px;padding:10px 10px 26px;display:flex;cursor:pointer;z-index:70;transform:translate(-50%) scaleY(1);transform-origin:50% 50%;transition:opacity .32s ease,transform .32s cubic-bezier(.22,1,.36,1)}.dialogue-box-panel.hidden{opacity:0;pointer-events:none;transform:translate(-50%) scaleY(.04)}.dialogue-content{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}.dialogue-standees{position:absolute;bottom:calc(30px + var(--dialogue-box-height, 130px) - 10px);left:50%;transform:translate(-50%);width:min(680px,90vw);height:240px;z-index:69;pointer-events:none;transition:opacity .2s ease}.dialogue-standees.hidden{opacity:0}.dialogue-standee{position:absolute;bottom:0;width:224px;height:224px;z-index:2}.dialogue-standee.dialogue-standee-entering{animation:dialogueStandeeRise .26s cubic-bezier(.16,.8,.3,1) both}.dialogue-standee.dialogue-standee-entering.dialogue-standee-entering-delayed{animation-delay:.13s}@keyframes dialogueStandeeRise{0%{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}.dialogue-standee.dialogue-standee-exiting{animation:dialogueStandeeDrop .17s cubic-bezier(.55,0,.85,.35) both}.dialogue-standee.dialogue-standee-exiting.dialogue-standee-exiting-delayed{animation-delay:90ms}@keyframes dialogueStandeeDrop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(70px)}}.dialogue-standee-mace{left:3%}.dialogue-standee-npc,.dialogue-standees.dialogue-standees-npc-first .dialogue-standee-mace{left:28%}.dialogue-standees.dialogue-standees-npc-first .dialogue-standee-npc{left:3%}.dialogue-standee.hidden{display:none}.dialogue-standee-body{width:100%;height:100%;transform-origin:50% 100%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));transition:transform .4s cubic-bezier(.2,.7,.25,1),filter .4s ease}.dialogue-standee.dialogue-standee-idle{z-index:1}.dialogue-standee.dialogue-standee-idle .dialogue-standee-body{transform:scale(.92) translateY(14px);filter:drop-shadow(0 14px 18px rgba(0,0,0,.45)) brightness(.87) saturate(.85)}.dialogue-standee-wiggle{position:relative;width:100%;height:100%}.dialogue-standee:not(.dialogue-standee-idle) .dialogue-standee-wiggle{animation:dialogueStandeeWiggle 2.2s ease-in-out infinite}@keyframes dialogueStandeeWiggle{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-2px) rotate(.6deg)}60%{transform:translateY(0) rotate(-.5deg)}}.dialogue-standee img{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block}.dialogue-standee img.portrait-swap-out{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .9s ease-in-out,filter .9s ease-in-out}.dialogue-standee img.portrait-swap-out.fading{opacity:0;filter:brightness(1.8)}.dialogue-standee img.portrait-swap-in{animation:portraitSwapIn .9s ease-out}@keyframes portraitSwapIn{0%{filter:brightness(2.2) saturate(.6)}to{filter:brightness(1) saturate(1)}}.dialogue-header{border-bottom:1px solid rgba(245,158,11,.25);padding-bottom:4px}.dialogue-speaker{font-family:var(--font-title);font-size:1.25rem;font-weight:700;color:var(--accent-gold-bright);letter-spacing:1.5px;text-shadow:0 0 8px rgba(251,191,36,.3)}.dialogue-body{display:flex;flex-direction:column;gap:6px;flex:1;font-size:1.2rem;line-height:1.45;letter-spacing:.2px;color:#f3f4f6}.dialogue-body-mace{color:#a8d4f5}.dialogue-choices{display:flex;gap:15px;margin-top:6px}.dialogue-choices.hidden{display:none}.choice-btn{background:var(--bg-panel-subtle);border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-sans);font-size:1rem;font-weight:700;padding:8px 20px;border-radius:6px;cursor:pointer;transition:all .2s ease}.choice-btn:hover,.choice-btn.active{background:#f59e0b33;border-color:var(--accent-gold);color:var(--accent-gold-bright);box-shadow:0 0 12px #f59e0b4d}.dialogue-cursor{position:absolute;right:14px;bottom:8px;display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--accent-gold);font-family:var(--font-mono)}.dialogue-cursor.hidden{display:none}.cursor-hint{color:var(--text-muted);font-size:.65rem;letter-spacing:1px}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center}.intro-overlay.hidden{display:none}.intro-canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.intro-skip-hint{position:absolute;bottom:18px;right:24px;z-index:310;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:#ffffff8c;animation:intro-hint-pulse 2.2s ease-in-out infinite;pointer-events:none}@keyframes intro-hint-pulse{0%,to{opacity:.35}50%{opacity:.9}}.credits-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:410;background:transparent;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center}.credits-overlay.hidden{display:none}.credits-overlay{container-type:size}.credits-text{position:absolute;left:50%;top:50%;width:min(100cqw,160cqh);height:min(100cqh,62.5cqw);transform:translate(-50%,-50%);opacity:0;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges}.credits-canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.end-demo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:410;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center;container-type:size}.end-demo-overlay.hidden{display:none}.end-demo-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.6);transform:translate(var(--shake, 0px, 0px)) scale(var(--focus-scale, 1));pointer-events:none;z-index:1}.end-demo-night{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b1640;mix-blend-mode:multiply;opacity:0;pointer-events:none;z-index:1}.end-demo-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;z-index:1}.end-demo-castle{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;z-index:1}.end-demo-canvas{position:relative;z-index:2;transform:translate(var(--shake, 0px, 0px));width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.end-demo-canvas.crawling{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%)}.end-demo-stage{--inset-l: env(safe-area-inset-left, 0px);--inset-r: env(safe-area-inset-right, 0px);--inset-t: env(safe-area-inset-top, 0px);--inset-b: env(safe-area-inset-bottom, 0px);--avail-w: calc(100cqw - var(--inset-l) - var(--inset-r) - 4cqmin);--avail-h: calc(100cqh - var(--inset-t) - var(--inset-b) - 4cqmin);--stage-w: min(var(--avail-w), var(--avail-h) * 1.6);--px: calc(var(--stage-w) / 320);position:absolute;left:calc(50% + (var(--inset-l) - var(--inset-r)) / 2);top:calc(50% + (var(--inset-t) - var(--inset-b)) / 2);width:var(--stage-w);height:calc(var(--stage-w) / 1.6);transform:translate(-50%,-50%) translate(var(--shake, 0px, 0px));z-index:3;pointer-events:none}.end-demo-portrait{position:absolute;left:calc(var(--slot-x, 0) * var(--px));top:calc(var(--slot-y, 0) * var(--px));width:calc(var(--portrait-size) * var(--px));height:calc(var(--portrait-size) * var(--px));box-sizing:border-box;border:var(--px) solid #ffffff;object-fit:cover;opacity:0}.end-demo-portrait.visible{opacity:1}.end-demo-text{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.end-demo-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none;z-index:4}.end-demo-hint{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:5;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:#ffffff8c;opacity:0;transition:opacity .6s ease;pointer-events:none}.end-demo-hint.visible{opacity:1;animation:intro-hint-pulse 2.2s ease-in-out infinite}#app.game-mode-active .header,#app.game-mode-active .statusbar,#app.game-mode-active #tile-inspector,#app.game-mode-active #tile-palette-panel{display:none!important}#app.game-mode-active{height:100vh;height:100dvh;width:100vw;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}#app.game-mode-active #canvas-container,#app.game-mode-active #battle-ui-container{max-width:239vh;max-height:calc(100vw / 1.5)}#app.game-mode-active #canvas-container{position:relative;width:100%;height:100%;flex:none}#app.game-mode-active .editor-body{display:contents}.item-toast-alert{position:absolute;top:25%;left:50%;transform:translate(-50%,-50%);z-index:45;pointer-events:none;transition:all .35s cubic-bezier(.175,.885,.32,1.275)}.item-toast-alert.over-inventory{z-index:55}.item-toast-alert.hidden{opacity:0;transform:translate(-50%,-70%) scale(.85)}.item-toast-panel{--panel-scale: .4;min-width:200px;padding:6px 10px;display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-mono)}.toast-icon-canvas{width:32px;height:32px;image-rendering:pixelated;image-rendering:crisp-edges}.close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .2s ease}.close-btn:hover{color:var(--danger-red)}.inventory-modal-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 88px));display:flex;flex-direction:column;z-index:50;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.inventory-modal-panel.in-battle{z-index:3050}.inventory-modal-panel.rune-panel{position:absolute;--rune-scale: .72;--inventory-detail-width: calc(478px * var(--rune-scale))}.inventory-modal-panel.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-45%) scale(.95)}.inventory-header{display:grid;grid-template-columns:minmax(0,1fr) var(--inventory-detail-width);column-gap:calc(22px * var(--rune-scale))}.inventory-header .inventory-titles{grid-column:1 / -1;padding-left:calc(89px * var(--rune-scale));width:auto}.inventory-titles{width:calc(200px * var(--rune-scale));padding-bottom:calc(10px * var(--rune-scale))}.inventory-titles-inner{display:inline-block}.inventory-title{font-family:var(--font-title);font-size:calc(30px * var(--rune-scale));font-weight:700;color:#f0d9a8;letter-spacing:3px;text-shadow:var(--hud-text-shadow);white-space:nowrap}.inventory-count{font-family:var(--font-mono);font-size:calc(19px * var(--rune-scale));color:#cbb089;letter-spacing:1px;text-align:right;text-shadow:var(--hud-text-shadow);white-space:nowrap}.inventory-medallion{position:absolute;top:calc(-71px * var(--rune-scale));left:calc(-82px * var(--rune-scale));width:calc(112px * var(--rune-scale) * 1.39);height:calc(112px * var(--rune-scale) * 1.39);pointer-events:none;user-select:none;-webkit-user-drag:none;filter:var(--hud-shadow);z-index:3}.inventory-tabs{grid-column:1;justify-self:end;max-width:100%;display:flex;gap:calc(8px * var(--rune-icon-scale))}.inventory-tab{position:relative;box-sizing:border-box;width:calc(129px * var(--rune-icon-scale));min-width:0;height:calc(41px * var(--rune-icon-scale));padding:calc(4px * var(--rune-icon-scale)) calc(16px * var(--rune-icon-scale)) 0 calc(9px * var(--rune-icon-scale));border:none;background:none;display:flex;align-items:center;justify-content:space-between;gap:calc(5px * var(--rune-scale));overflow:hidden;color:#a08c72;font-family:var(--font-mono);font-size:calc(18px * var(--rune-scale));font-weight:700;letter-spacing:.9px;cursor:pointer;text-shadow:var(--hud-text-shadow);transition:color .15s ease}.inventory-tab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(../assets/ui/inventory/tab-active.png) center / 100% 100% no-repeat;image-rendering:pixelated;filter:saturate(.4) brightness(1.3);transition:filter .15s ease}.inventory-tab.active:before{filter:none}.tab-label,.tab-count{position:relative}.tab-label{min-width:0;overflow:hidden;white-space:nowrap}.inventory-tab:hover{color:#e6cda3}.inventory-tab.hidden{display:none!important}.inventory-tab.active{color:#ffe9bd;cursor:default}.tab-count{color:#c9a877;font-weight:400;flex:0 0 auto}.inventory-tab.active .tab-count{color:#e8c48a}.inventory-close{position:absolute;top:calc(-51px * var(--rune-scale));right:calc(-52px * var(--rune-scale));z-index:3;width:calc(59px * var(--rune-scale));height:calc(56px * var(--rune-scale));flex-shrink:0;border:none;padding:0;background:url(../assets/ui/inventory/close.png) center / 100% 100% no-repeat;image-rendering:pixelated;cursor:pointer;transition:filter .15s ease}.inventory-close:hover{filter:brightness(1.3) drop-shadow(0 0 calc(6px * var(--rune-scale)) rgba(245,158,11,.55))}.inventory-body{display:grid;grid-template-columns:minmax(0,1fr) var(--inventory-detail-width);gap:calc(22px * var(--rune-scale));align-items:stretch}.inventory-grid-panel{position:relative;flex:1;min-width:0;padding:calc(30px * var(--rune-scale));background:#140c076b;box-shadow:inset 0 0 calc(30px * var(--rune-scale)) #0000008c}.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:calc(16px * var(--rune-scale));max-height:min(calc(648px * var(--rune-scale)),52vh);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(120,88,56,.9) transparent}.inventory-grid.hidden{display:none!important}.inventory-slot{position:relative;width:100%;aspect-ratio:1;max-width:calc(150px * var(--rune-scale));justify-self:center;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.inventory-slot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(../assets/ui/inventory/slot.png) center / 100% 100% no-repeat;image-rendering:pixelated;transition:filter .18s ease}.inventory-slot.empty{cursor:default}.inventory-slot.empty:before{filter:brightness(.72)}.inventory-slot.occupied:hover:before{filter:brightness(1.22)}.inventory-slot.occupied.selected:before{filter:brightness(1.32) drop-shadow(0 0 calc(10px * var(--rune-scale)) rgba(245,190,90,.85))}.slot-tile-canvas{width:32px;height:32px;image-rendering:pixelated}.slot-badge{position:absolute;top:calc(11px * var(--rune-scale));right:calc(12px * var(--rune-scale));z-index:1;background:var(--accent-amber);color:#fff;font-family:var(--font-mono);font-size:calc(17px * var(--rune-scale));font-weight:700;padding:0 calc(8px * var(--rune-scale));border-radius:9px;text-shadow:var(--hud-text-shadow)}.inventory-detail-panel{position:relative;box-sizing:border-box;height:calc(var(--inventory-grid-height, min(calc(648px * var(--rune-scale)), 52vh)) + 60px * var(--rune-scale));overflow:hidden;min-width:0;background:#140c076b;box-shadow:inset 0 0 calc(30px * var(--rune-scale)) #0000008c;text-align:center}.inventory-detail-content{position:absolute;inset:calc(36px * var(--rune-scale)) 0;box-sizing:border-box;padding:calc(16px * var(--rune-scale)) calc(24px * var(--rune-scale));overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:calc(14px * var(--rune-scale))}.inventory-detail-content>*{flex-shrink:0;max-width:100%}.inventory-detail-panel:before,.inventory-detail-panel:after{content:"";position:absolute;left:0;right:0;height:calc(36px * var(--rune-scale));background:url(../assets/ui/inventory/divider.png) repeat-x center;background-size:auto 100%;image-rendering:pixelated;z-index:1;pointer-events:none}.inventory-detail-panel:before{top:0}.inventory-detail-panel:after{bottom:0;transform:scaleY(-1)}.detail-placeholder{margin:auto 0;color:#b09a7a;font-size:calc(20px * var(--rune-scale));font-style:italic;text-shadow:var(--hud-text-shadow)}.detail-name{font-family:var(--font-title);font-size:calc(30px * var(--rune-scale));font-weight:700;color:#ffe0a3;letter-spacing:2px;line-height:1.15;text-shadow:var(--hud-text-shadow)}.detail-category{font-family:var(--font-mono);font-size:calc(18px * var(--rune-scale));color:#c9a877;letter-spacing:2px;text-shadow:var(--hud-text-shadow)}.inventory-preview-box{position:relative;width:calc(210px * var(--rune-scale));height:calc(210px * var(--rune-scale));margin:calc(4px * var(--rune-scale)) 0;flex-shrink:0;background:url(../assets/ui/inventory/slot.png) center / 100% 100% no-repeat;image-rendering:pixelated;display:flex;align-items:center;justify-content:center}.inventory-preview-box:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;background:radial-gradient(circle,rgba(255,205,120,.34) 0%,rgba(255,180,80,.13) 45%,transparent 72%)}.detail-divider{color:#c9a877;font-size:calc(24px * var(--rune-scale));line-height:1;text-shadow:var(--hud-text-shadow)}.detail-desc{font-family:var(--font-sans);font-size:calc(20px * var(--rune-scale));line-height:1.5;color:#e6d5bb;text-shadow:var(--hud-text-shadow)}.detail-keyhint{font-family:var(--font-sans);font-size:calc(16px * var(--rune-scale));color:#b9a888;text-shadow:var(--hud-text-shadow)}.detail-use-btn{padding:calc(10px * var(--rune-scale)) calc(18px * var(--rune-scale));font-family:var(--font-sans);font-size:calc(18px * var(--rune-scale));font-weight:700;letter-spacing:1px;border-radius:6px;cursor:pointer;background:linear-gradient(180deg,#f2c86b,#c98a2e);border:1px solid #7a4d15;color:#3a2405;text-shadow:0 1px 0 rgba(255,255,255,.35);transition:filter .15s ease,transform .15s ease}.detail-use-btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.detail-use-btn:disabled{background:#ffffff0f;border-color:var(--border-color, rgba(255, 255, 255, .15));color:#8a7c63;text-shadow:none;cursor:not-allowed}.slot-item-emoji{position:relative;font-size:calc(52px * var(--rune-scale));line-height:1}.slot-item-icon{width:72%;height:72%;object-fit:contain;position:relative}.detail-emoji{position:relative;font-size:calc(110px * var(--rune-scale));line-height:1}.detail-icon{position:relative;width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 0 calc(10px * var(--rune-scale)) rgba(255,200,120,.55))}.toast-emoji{font-size:24px;line-height:1}.toast-found-row{display:flex;flex-direction:column;align-items:center;gap:6px}.toast-found-icon{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 8px rgba(255,200,120,.55))}.toast-found-emoji{font-size:48px;line-height:1}.toast-text{color:#e8dcc0;font-size:.95rem;letter-spacing:.3px;text-shadow:var(--hud-text-shadow)}.toast-text strong{color:#f2c14e}.hud-saveload-btn{background:var(--bg-panel-subtle);color:var(--text-main);border:1px solid var(--border-color);border-radius:5px;font-family:var(--font-sans);font-size:.75rem;font-weight:700;padding:3px 8px;cursor:pointer;margin-left:4px;pointer-events:auto;transition:all .2s ease}.hud-saveload-btn:hover{background:#3b82f633;border-color:var(--accent-blue);color:#60a5fa}@media (max-height: 520px){.inventory-modal-panel.rune-panel{--rune-scale: .46;max-height:calc(100dvh - 60px)}}.inventory-relics-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:min(calc(648px * var(--rune-scale)),52vh);min-height:min(calc(648px * var(--rune-scale)),52vh);box-sizing:border-box;position:relative;padding:calc(12px * var(--rune-scale))}.inventory-relics-container.hidden{display:none!important}.relic-disk-svg{width:min(280px,48vh);height:min(280px,48vh);overflow:visible;filter:drop-shadow(0 calc(4px * var(--rune-scale)) calc(12px * var(--rune-scale)) rgba(0,0,0,.7))}.relic-slice-group{cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);transform-origin:130px 130px}.relic-slice-group:hover,.relic-slice-group:focus{transform:scale(1.04)}.relic-slice{stroke-width:2.2;transition:fill .2s ease,stroke .2s ease,filter .2s ease}.relic-slice.uncollected{fill:#241e19;stroke:#574734;stroke-dasharray:none}.relic-slice-group:hover .relic-slice.uncollected{fill:#1e2637d9;stroke:#8ca0be73}.relic-slice.collected{fill:url(#relic-artwork);stroke:#a9874f;filter:drop-shadow(0 0 6px rgba(56,189,248,.45))}.relic-slice-group:hover .relic-slice.collected{filter:drop-shadow(0 0 10px rgba(56,189,248,.8)) brightness(1.15)}.relic-slice.selected{stroke:#fcd34d!important;stroke-width:3.5!important;stroke-dasharray:none!important;filter:drop-shadow(0 0 12px rgba(245,158,11,.85)) brightness(1.2)!important}.relic-slice-label{font-family:var(--font-mono);font-size:15px;font-weight:700;pointer-events:none;user-select:none}.relic-slice.collected+.relic-slice-label{fill:#f0fdf4;text-shadow:0 0 4px rgba(0,0,0,.9),0 0 8px rgba(34,211,238,.8)}.relic-slice.uncollected+.relic-slice-label{fill:#94a3b866}.relic-slice.selected+.relic-slice-label{fill:#fffbeb;font-size:17px;text-shadow:0 0 6px rgba(0,0,0,1),0 0 10px rgba(245,158,11,.9)}.relic-disk-core{fill:#191b19;stroke:#766044;stroke-width:2.5;transition:all .3s ease}.relic-disk-core.all-complete{fill:url(#relic-artwork);stroke:#f59e0b;filter:drop-shadow(0 0 14px rgba(245,158,11,.9));animation:relic-pulse 2s infinite ease-in-out}@keyframes relic-pulse{0%,to{filter:drop-shadow(0 0 8px rgba(245,158,11,.7))}50%{filter:drop-shadow(0 0 20px rgba(56,189,248,.95)) brightness(1.25)}}.save-load-modal-panel.rune-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);--rune-scale: .88;width:min(640px,94vw);display:flex;flex-direction:column;z-index:500;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.save-load-modal-panel.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-45%) scale(.95)}.save-load-header{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(20px * var(--rune-scale));padding-left:calc(20px * var(--rune-scale));padding-bottom:calc(10px * var(--rune-scale))}.save-load-title{font-family:var(--font-title);font-size:calc(38px * var(--rune-scale));font-weight:700;color:#f0d9a8;letter-spacing:2px;text-shadow:var(--hud-text-shadow);white-space:nowrap}.cloud-badge{display:inline-block;font-family:var(--font-mono);font-size:calc(14px * var(--rune-scale));font-weight:700;letter-spacing:1px;margin-left:calc(10px * var(--rune-scale));padding:calc(3px * var(--rune-scale)) calc(9px * var(--rune-scale));border-radius:5px;background:#60a5fa2e;border:1px solid rgba(96,165,250,.55);color:#a9d4ff;vertical-align:middle;cursor:help}.header-actions{display:flex;align-items:center;gap:calc(10px * var(--rune-scale));padding-bottom:calc(4px * var(--rune-scale))}.btn-import-save{background:linear-gradient(180deg,#4a321ebf,#2e1e12bf);border:1px solid rgba(120,88,56,.7);color:#e6cda3;font-family:var(--font-sans);font-size:calc(17px * var(--rune-scale));font-weight:700;padding:calc(6px * var(--rune-scale)) calc(14px * var(--rune-scale));border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-import-save.hidden{display:none!important}.btn-import-save:hover{border-color:#d8a85c;color:#ffe0a3}.save-load-list-panel{position:relative;padding:calc(20px * var(--rune-scale));background:#140c076b;box-shadow:inset 0 0 calc(30px * var(--rune-scale)) #0000008c}.save-load-slots{display:flex;flex-direction:column;gap:calc(10px * var(--rune-scale));max-height:min(560px,62vh);overflow-y:auto;overflow-x:hidden;padding-right:calc(6px * var(--rune-scale));scrollbar-width:thin;scrollbar-color:rgba(120,88,56,.9) transparent}.save-slot-card{display:flex;align-items:center;gap:calc(10px * var(--rune-scale));background:linear-gradient(180deg,#4a321e8c,#2e1e128c);border:1px solid rgba(120,88,56,.5);border-radius:6px;padding:calc(12px * var(--rune-scale)) calc(16px * var(--rune-scale));transition:all .2s ease}.save-slot-card.autosave{border-color:#60a5fa80;background:linear-gradient(180deg,#283e6080,#1a283e80)}.save-slot-card.occupied:hover,.save-slot-card.selected{background:linear-gradient(180deg,#7850288c,#4a321e8c);border-color:#d8a85c;box-shadow:0 0 calc(10px * var(--rune-scale)) #f5be5a59}.save-slot-card.autosave:hover,.save-slot-card.autosave.selected{background:linear-gradient(180deg,#3c5a8c8c,#283e608c);border-color:#60a5fa;box-shadow:0 0 calc(10px * var(--rune-scale)) #60a5fa66}.slot-info-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.slot-thumb{position:relative;flex-shrink:0;width:calc(96px * var(--rune-scale));height:calc(54px * var(--rune-scale));border-radius:4px;overflow:hidden;background:#0000008c;box-shadow:inset 0 0 calc(8px * var(--rune-scale)) #0009,inset 0 0 0 1px #78583899}.slot-thumb img{display:block;width:100%;height:100%;object-fit:cover}.slot-thumb-empty{background:#00000059;box-shadow:inset 0 0 calc(8px * var(--rune-scale)) #00000080,inset 0 0 0 1px #78583866}.slot-header-row{display:flex;align-items:center;gap:calc(12px * var(--rune-scale))}.slot-name{font-family:var(--font-title);font-size:calc(21px * var(--rune-scale));font-weight:700;color:#f0d9a8}.save-slot-card.autosave .slot-name{color:#93c5fd}.slot-date{font-family:var(--font-mono);font-size:calc(15px * var(--rune-scale));color:#a08c72}.slot-details-row{display:flex;align-items:center;flex-wrap:wrap;gap:calc(12px * var(--rune-scale));font-size:calc(15px * var(--rune-scale));color:#d8c7ad}.slot-highlight{font-weight:600;color:#d8a85c}.slot-lvl,.slot-gold,.slot-coords{font-family:var(--font-mono)}.slot-actions{display:flex;align-items:center;gap:calc(8px * var(--rune-scale));flex-shrink:0}.slot-btn{font-family:var(--font-sans);font-size:calc(16px * var(--rune-scale));font-weight:700;letter-spacing:.5px;padding:calc(8px * var(--rune-scale)) calc(16px * var(--rune-scale));border-radius:6px;cursor:pointer;transition:filter .15s ease,transform .15s ease}.slot-btn.primary{background:linear-gradient(180deg,#f2c86b,#c98a2e);border:1px solid #7a4d15;color:#3a2405;text-shadow:0 1px 0 rgba(255,255,255,.35)}.slot-btn.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.slot-btn.export-btn{background:linear-gradient(180deg,#4a321ebf,#2e1e12bf);border:1px solid rgba(120,88,56,.7);color:#e6cda3}.slot-btn.export-btn:hover{border-color:#60a5fa;color:#a9d4ff}.empty-label{font-family:var(--font-mono);color:#8a7c63;font-size:calc(15px * var(--rune-scale))}.chest-modal-panel.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-45%) scale(.95)}.chest-modal-panel.ui-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,90vw);z-index:1200;display:flex;flex-direction:column;padding:14px 6px;gap:14px;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.chest-modal-header{display:flex;align-items:center;justify-content:center;gap:10px}.chest-title-icon{font-size:1.4rem}.chest-modal-title{font-family:var(--font-title);font-size:1.15rem;font-weight:700;color:#f0d9a8;letter-spacing:2px;text-shadow:var(--hud-text-shadow)}.chest-modal-body{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:60px;justify-content:center;padding:0 10px}.chest-modal-opening{font-family:var(--font-sans);font-size:.95rem;color:#d8b978;font-weight:600}.chest-modal-message{display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:1.05rem;font-weight:700;color:#fdf0d0;background:#10b98126;border:1px solid var(--success-green);border-radius:8px;padding:10px 14px;text-align:center;box-shadow:0 0 12px #10b98133}.chest-modal-reward-icon:empty{display:none}.chest-modal-reward-icon{display:flex;align-items:center;justify-content:center;margin-top:6px}.chest-modal-reward-icon .chest-reward-icon{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 10px rgba(255,200,120,.55))}.chest-modal-reward-icon .chest-reward-emoji{font-size:80px;line-height:1}.chest-modal-message.trap{background:#ef444433;border-color:var(--danger-red);color:#ffb0b0;box-shadow:0 0 12px #ef44444d}.chest-modal-footer{display:flex;justify-content:center}.terminal-modal-panel.hidden{display:none!important}.terminal-modal-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;max-width:90vw;background:#060c08eb;border:1px solid var(--success-green);border-radius:var(--radius-lg);box-shadow:0 10px 40px #000000bf,0 0 20px #10b98140;backdrop-filter:blur(16px);z-index:1200;display:flex;flex-direction:column;padding:20px;gap:14px;font-family:var(--font-mono)}.terminal-modal-header{border-bottom:1px solid rgba(16,185,129,.25);padding-bottom:10px}.terminal-modal-title{font-size:1.1rem;font-weight:700;color:var(--success-green);letter-spacing:2px}.terminal-modal-body{display:flex;flex-direction:column;align-items:center;gap:14px;min-height:60px;justify-content:center}.terminal-modal-prompt{font-size:.9rem;color:var(--success-green);letter-spacing:1px}.terminal-modal-digits{display:flex;gap:12px}.terminal-digit{width:32px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:var(--success-green);border:1px solid rgba(16,185,129,.4);border-radius:4px;background:#10b98114}.terminal-digit.filled{color:#fff;background:#10b98133}.terminal-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.terminal-key{font-family:inherit;font-size:1.1rem;font-weight:700;color:var(--success-green);border:1px solid rgba(16,185,129,.4);border-radius:4px;background:#10b98114;padding:10px 0;min-height:44px;cursor:pointer}.terminal-key-wide{font-size:.75rem;letter-spacing:1px}.terminal-key:hover{background:#10b9812e;border-color:var(--success-green)}.terminal-key.selected{color:#fff;background:#10b9814d;border-color:var(--success-green);box-shadow:0 0 0 2px #10b98159}.terminal-key:active{background:#10b98166}.terminal-modal-footer{display:flex;justify-content:center;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.terminal-modal-footer .cursor-hint{color:var(--success-green)}.shop-modal-panel.rune-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);--rune-scale: .58;width:min(760px,94vw);display:flex;flex-direction:column;z-index:50;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.shop-modal-panel.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-45%) scale(.95)}.shop-header{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(20px * var(--rune-scale));padding-left:calc(20px * var(--rune-scale));padding-bottom:0}.shop-title{font-family:var(--font-title);font-size:calc(38px * var(--rune-scale));font-weight:700;color:#f0d9a8;letter-spacing:2px;text-shadow:var(--hud-text-shadow);white-space:nowrap;padding-bottom:calc(10px * var(--rune-scale))}.shop-tabs{display:flex;gap:calc(8px * var(--rune-icon-scale))}.shop-tab-btn{box-sizing:border-box;min-width:calc(168px * var(--rune-icon-scale));height:calc(50px * var(--rune-icon-scale));padding:calc(12px * var(--rune-icon-scale)) calc(19px * var(--rune-icon-scale)) 0;border:none;background:url(../assets/ui/inventory/tab-idle.png) center / 100% 100% no-repeat;image-rendering:pixelated;display:flex;align-items:center;justify-content:center;color:#a08c72;font-family:var(--font-mono);font-size:calc(25px * var(--rune-scale));font-weight:700;letter-spacing:1.5px;cursor:pointer;text-shadow:var(--hud-text-shadow);transition:color .15s ease}.shop-tab-btn:hover{color:#e6cda3}.shop-tab-btn.active{background-image:url(../assets/ui/inventory/tab-active.png);padding-top:calc(4px * var(--rune-icon-scale));color:#ffe9bd;cursor:default}.shop-message-alert{display:none!important}.shop-body{display:flex;gap:calc(20px * var(--rune-scale));align-items:stretch}.shop-list-panel{position:relative;flex:1.15;min-width:0;padding:calc(26px * var(--rune-scale));background:#140c076b;box-shadow:inset 0 0 calc(30px * var(--rune-scale)) #0000008c}.shop-item-list{display:flex;flex-direction:column;gap:calc(10px * var(--rune-scale));max-height:min(calc(560px * var(--rune-scale)),46vh);overflow-y:auto;overflow-x:hidden;padding-right:calc(6px * var(--rune-scale));scrollbar-width:thin;scrollbar-color:rgba(120,88,56,.9) transparent}.shop-item-card{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--rune-scale));background:linear-gradient(180deg,#4a321e8c,#2e1e128c);border:1px solid rgba(120,88,56,.5);border-radius:6px;padding:calc(12px * var(--rune-scale)) calc(12px * var(--rune-scale));min-height:calc(94px * var(--rune-scale));cursor:pointer;user-select:none;transition:all .2s ease}.shop-item-card:hover,.shop-item-card.selected{background:linear-gradient(180deg,#7850288c,#4a321e8c);border-color:#d8a85c;box-shadow:0 0 calc(10px * var(--rune-scale)) #f5be5a59}.shop-card-emoji{font-size:calc(59px * var(--rune-scale));width:calc(86px * var(--rune-scale));text-align:center;flex-shrink:0}.shop-card-icon{width:calc(86px * var(--rune-scale));height:calc(86px * var(--rune-scale));object-fit:contain;flex-shrink:0}.shop-card-info{display:flex;flex-direction:column;gap:2px;flex:1;margin-left:calc(6px * var(--rune-scale));min-width:0}.shop-card-name{font-family:var(--font-title);font-size:calc(25px * var(--rune-scale));font-weight:700;color:#f0d9a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card-stat{font-family:var(--font-mono);font-size:calc(22px * var(--rune-scale));color:#d8a85c}.shop-card-badge{font-family:var(--font-mono);font-size:calc(20px * var(--rune-scale));font-weight:700;padding:calc(4px * var(--rune-scale)) calc(11px * var(--rune-scale));border-radius:5px;white-space:nowrap;flex-shrink:0}.shop-card-badge.equipped{background:#d8a85c47;border:1px solid #d8a85c;color:#ffe0a3}.shop-card-badge.owned{background:#10b9812e;border:1px solid rgba(16,185,129,.5);color:#a3f0d3}.shop-card-badge.buy{background:none;border:none;padding:0;margin-right:calc(14px * var(--rune-scale));border-radius:0;font-family:var(--font-title);font-size:calc(30px * var(--rune-scale));font-weight:700;color:#d3ac72;text-shadow:-1px -1px 1px rgba(0,0,0,.65),1px 1px 1px rgba(255,220,160,.18)}.shop-detail-inspector{position:relative;flex:1;min-width:0;padding:calc(38px * var(--rune-scale)) calc(14px * var(--rune-scale));background:#140c076b;box-shadow:inset 0 0 calc(30px * var(--rune-scale)) #0000008c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:calc(16px * var(--rune-scale))}.shop-detail-inspector:before,.shop-detail-inspector:after{content:"";position:absolute;left:0;right:0;height:calc(30px * var(--rune-scale));background:url(../assets/ui/inventory/divider.png) repeat-x center;background-size:auto 100%;image-rendering:pixelated}.shop-detail-inspector:before{top:0}.shop-detail-inspector:after{bottom:0;transform:scaleY(-1)}.shop-preview-box{position:relative;width:calc(130px * var(--rune-scale));height:calc(130px * var(--rune-scale));flex-shrink:0;background:url(../assets/ui/inventory/slot.png) center / 100% 100% no-repeat;image-rendering:pixelated;display:flex;align-items:center;justify-content:center}.shop-preview-box:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,205,120,.34) 0%,rgba(255,180,80,.13) 45%,transparent 72%)}.shop-detail-emoji{font-size:calc(59px * var(--rune-scale));line-height:1}.shop-detail-icon{width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 0 calc(8px * var(--rune-scale)) rgba(255,200,120,.55))}.shop-detail-header{display:flex;flex-direction:column;gap:calc(10px * var(--rune-scale))}.shop-detail-name{font-family:var(--font-title);font-size:calc(28px * var(--rune-scale));font-weight:700;color:#ffe0a3;letter-spacing:1.5px;text-shadow:var(--hud-text-shadow)}.shop-detail-power{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:calc(23px * var(--rune-scale));color:#e6d5bb}.stat-label{color:#c9a877}.stat-arrow{color:#c9a877;font-size:calc(32px * var(--rune-scale));font-weight:700}.stat-new.boost{color:#6de8b0;font-weight:700}.stat-new.weak{color:#a89a80}.shop-detail-desc{max-width:82%;font-family:var(--font-sans);font-size:calc(23px * var(--rune-scale));line-height:1.5;min-height:calc(3 * 1.5 * 23px * var(--rune-scale));color:#e6d5bb}.shop-buy-btn{display:flex;align-items:center;justify-content:center;width:82%;padding:calc(14px * var(--rune-scale)) calc(19px * var(--rune-scale));border-radius:6px;font-family:var(--font-sans);font-size:calc(24px * var(--rune-scale));font-weight:700;letter-spacing:.5px;cursor:pointer;transition:filter .15s ease,transform .15s ease}.shop-buy-btn.active{background:linear-gradient(180deg,#f2c86b,#c98a2e);border:1px solid #7a4d15;color:#3a2405;text-shadow:0 1px 0 rgba(255,255,255,.35)}.shop-buy-btn.active:hover{filter:brightness(1.12);transform:translateY(-1px)}.shop-buy-btn.unaffordable{background:linear-gradient(180deg,#b5543f,#7a3020);border:1px solid #4a1a10;color:#ffe3da;text-shadow:0 1px 0 rgba(0,0,0,.35)}.shop-buy-btn.disabled{background:#ffffff0d;border:1px solid rgba(120,88,56,.5);color:#8a7c63;cursor:not-allowed}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#000;overflow:hidden;font-family:var(--font-sans)}.menu-overlay.hidden{display:none}.menu-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s ease}.menu-screen.visible{opacity:1;pointer-events:auto}.menu-splash{cursor:pointer}.menu-splash img{max-width:min(70vw,640px);max-height:70vh;opacity:1;transition:opacity .3s ease}.menu-splash .menu-splash-art:not(.menu-splash-art-2){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.menu-splash .menu-splash-art-2{max-width:min(40vw,340px);max-height:45vh}.menu-splash-gated img{opacity:0}.menu-splash-whiteout{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none}.menu-splash-whiteout.to-black{background:#000}.menu-splash-prompt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1.1rem;letter-spacing:2px;color:#dce6ffd9;text-shadow:0 0 16px rgba(80,140,255,.6);opacity:0;pointer-events:none}.menu-splash-prompt.visible{opacity:1;animation:menu-splash-prompt-pulse 1.6s ease-in-out infinite}@keyframes menu-splash-prompt-pulse{0%,to{opacity:.55}50%{opacity:1}}.menu-title-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#05060c}.menu-demo-label{position:absolute;z-index:2;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);padding:7px 24px;border-top:1px solid #c7aa6b66;border-bottom:1px solid #c7aa6b66;color:#e9d7ab;background:linear-gradient(90deg,transparent,#080d1bb3,transparent);font-size:clamp(12px,1.4vw,17px);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;text-shadow:0 2px 6px #000;pointer-events:none}.tbg-layer{position:absolute;top:0;right:0;bottom:0;left:0}.tbg-sun,.tbg-planet,.tbg-text,.tbg-legacy{transition:opacity .6s ease}.credits-dim .tbg-sun,.credits-dim .tbg-planet,.credits-dim .tbg-text,.credits-dim .tbg-legacy{opacity:0}.tbg-sky{transition:filter .6s ease;container-type:size}.tbg-twinkles{--p: calc(4 * max(100cqw, 177.778cqh) / 1920);position:absolute;left:50%;top:50%;width:max(100cqw,177.778cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);pointer-events:none}@supports (width: round(nearest,1.5px,1px)){.tbg-twinkles{--p: max(1px, round(nearest, calc(4 * max(100cqw, 177.778cqh) / 1920), 1px))}}.tbg-twinkle{--core: rgb(var(--rgb));--c1: rgba(var(--rgb), .6);--c2: rgba(var(--rgb), .3);--c3: rgba(var(--rgb), .14);--plus-dim: var(--p) 0 var(--c2), calc(-1 * var(--p)) 0 var(--c2), 0 var(--p) var(--c2), 0 calc(-1 * var(--p)) var(--c2);--peak: var(--p) 0 var(--c1), calc(-1 * var(--p)) 0 var(--c1), 0 var(--p) var(--c1), 0 calc(-1 * var(--p)) var(--c1);position:absolute;width:var(--p);height:var(--p);margin:calc(var(--p) / -2) 0 0 calc(var(--p) / -2);opacity:0;animation:tbgTwinkle 9s infinite;animation-timing-function:steps(1,end)}@supports (color: color-mix(in srgb,red 50%,white)){.tbg-twinkle{--core: color-mix(in srgb, rgb(var(--rgb)) 55%, #ffffff)}}.tbg-twinkle.big{--peak: var(--p) 0 var(--c1), calc(-1 * var(--p)) 0 var(--c1), 0 var(--p) var(--c1), 0 calc(-1 * var(--p)) var(--c1), calc(2 * var(--p)) 0 var(--c3), calc(-2 * var(--p)) 0 var(--c3), 0 calc(2 * var(--p)) var(--c3), 0 calc(-2 * var(--p)) var(--c3)}@keyframes tbgTwinkle{0%,41%{opacity:0;background:var(--core);box-shadow:none}42%{opacity:.4;background:var(--core);box-shadow:none}44%{opacity:.7;background:var(--core);box-shadow:none}46%{opacity:.75;background:var(--core);box-shadow:var(--plus-dim)}48%{opacity:.85;background:var(--core);box-shadow:var(--peak)}51%{opacity:.75;background:var(--core);box-shadow:var(--plus-dim)}53%{opacity:.7;background:var(--core);box-shadow:none}55%{opacity:.4;background:var(--core);box-shadow:none}57%,to{opacity:0;background:var(--core);box-shadow:none}}.credits-dim .tbg-sky{filter:brightness(.5)}.tbg-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.menu-title-intro .tbg-sun .tbg-art{animation:tbgSunRise 5.2s cubic-bezier(.16,.8,.3,1) both}.menu-title-intro .tbg-planet .tbg-art{animation:tbgPlanetSettle 5.2s cubic-bezier(.16,.8,.3,1) both}.menu-title-intro .tbg-text .tbg-art{animation:tbgTextIn 2.8s cubic-bezier(.2,.7,.25,1) 1.5s both}.menu-title-intro .tbg-legacy .tbg-art{animation:tbgLegacyIn 3s cubic-bezier(.2,.7,.25,1) 4.3s both}@keyframes tbgSunRise{0%{opacity:.5;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes tbgPlanetSettle{0%{transform:translateY(-24px) scale(1.008)}to{transform:none}}@keyframes tbgTextIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes tbgLegacyIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.tbg-sun{animation:tbgSunFloat 19s ease-in-out infinite alternate}.tbg-planet{animation:tbgPlanetFloat 26s ease-in-out infinite alternate}.tbg-text{animation:tbgTextFloat 15s ease-in-out infinite alternate}.tbg-legacy{animation:tbgLegacyFloat 22s ease-in-out infinite alternate}@keyframes tbgSunFloat{0%{transform:none}to{transform:translateY(-4px) scale(1.004)}}@keyframes tbgPlanetFloat{0%{transform:none}to{transform:translateY(3px)}}@keyframes tbgTextFloat{0%{transform:none}to{transform:translateY(-3px)}}@keyframes tbgLegacyFloat{0%{transform:none}to{transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.tbg-sun,.tbg-planet,.tbg-text,.tbg-legacy,.menu-title-intro .tbg-art{animation:none}.tbg-twinkles{display:none}}.tbg-text-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:tbgTextFloat 15s ease-in-out infinite alternate;opacity:0;transition:opacity .6s ease}.menu-title-closed .tbg-text-sparkles{opacity:1}.menu-title-bg.credits-dim+.tbg-text-sparkles{opacity:0}.tbg-text-sparkles-inner{position:absolute;top:0;right:0;bottom:0;left:0}.menu-title-bg.menu-title-intro+.tbg-text-sparkles .tbg-text-sparkles-inner{animation:tbgTextIn 2.8s cubic-bezier(.2,.7,.25,1) 1.5s both}.tbg-sparkle{position:absolute;width:var(--size, 7px);height:var(--size, 7px);margin:calc(var(--size, 7px) / -2) 0 0 calc(var(--size, 7px) / -2);pointer-events:none;background:radial-gradient(circle,#ffffff 0%,#fff3c4 45%,transparent 75%);border-radius:50%;filter:drop-shadow(0 0 5px rgba(255,240,190,.95)) drop-shadow(0 0 2px #fff);animation:tbgSparkleTwinkle var(--dur, 1.1s) ease-out forwards}.tbg-sparkle:before,.tbg-sparkle:after{content:"";position:absolute;background:linear-gradient(90deg,transparent,#fffdf3,transparent)}.tbg-sparkle:before{left:-60%;top:50%;width:220%;height:2px;transform:translateY(-50%)}.tbg-sparkle:after{top:-60%;left:50%;width:2px;height:220%;transform:translate(-50%)}@keyframes tbgSparkleTwinkle{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1.15)}70%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion: reduce){.tbg-text-sparkles{display:none}}.menu-title-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05060c59,#05060cbf);opacity:1;transition:opacity .4s ease}.menu-title-closed .menu-title-bg:after{opacity:0}.menu-panel{opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease}.menu-panel-closed{opacity:0;transform:translateY(16px);pointer-events:none}.menu-toast{text-align:center;font-family:var(--font-mono);font-size:.82rem;letter-spacing:1px;color:var(--text-muted);min-height:1.4em}.menu-about-panel{width:min(760px,90vw)}.menu-about-body{display:flex;flex-direction:column;gap:14px;max-height:min(60vh,560px);overflow-y:auto;overflow-x:hidden;padding:4px 14px 4px 2px;scrollbar-width:thin;scrollbar-color:rgba(120,88,56,.9) transparent}.menu-about-heading{font-family:var(--font-title);color:#f2c14e;text-shadow:var(--hud-text-shadow);letter-spacing:1px;line-height:1.3;font-size:17px;margin-top:6px}.hud-status-head.menu-about-head{text-align:left;font-size:clamp(13px,2.6vw,19px);letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-about-text{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:#e6d5bb}.menu-about-photo{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0}.menu-about-photo img{max-width:min(100%,420px);border:3px solid rgba(226,190,118,.5);border-radius:2px;box-shadow:0 4px 14px #00000080}.menu-about-gallery{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:4px 0 2px}.menu-about-gallery-stacked{flex-direction:column;align-items:center}.menu-about-gallery-img{width:min(31%,220px);border:2px solid rgba(226,190,118,.5);border-radius:2px;box-shadow:0 3px 10px #00000080;image-rendering:pixelated}.menu-about-gallery-stacked .menu-about-gallery-img{width:min(100%,520px)}.menu-about-caption{font-family:var(--font-sans);font-style:italic;font-size:13px;color:#e8dcc0a6;text-align:center;max-width:420px}.menu-about-signoff{margin-top:6px;padding-top:12px;border-top:1px solid rgba(226,190,118,.28);text-align:center}.menu-about-signoff-line{font-family:var(--font-sans);font-size:15px;color:#e6d5bb;margin-bottom:4px}.menu-about-signoff-names{font-family:var(--font-title);font-size:16px;letter-spacing:1px;color:#f2c14e;text-shadow:var(--hud-text-shadow)}.menu-about-signoff-studio{font-family:var(--font-title);font-size:12px;letter-spacing:2px;margin-top:3px;color:#f2c14e99}.menu-exit{background:#000}.menu-exit-body{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.menu-exit-title{font-family:var(--font-title);font-size:1.3rem;font-weight:700;letter-spacing:3px;color:var(--accent-gold)}.menu-exit-sub{font-family:var(--font-mono);font-size:.9rem;color:var(--text-muted)}#main-menu .hud-menu-item:hover:not(.active){background:transparent;color:#ecdfbe}.death-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;background:#9b0000;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 6vw 11vh;gap:14px;opacity:0;transition:opacity 1.2s ease-in,background-color var(--death-black-ms, 1.6s) ease-in-out;pointer-events:none}.death-screen.hidden{display:none}.death-screen.bleeding{opacity:1}.death-screen.blackout{background:#000}.death-screen.interactive{pointer-events:auto;cursor:pointer}.death-screen-line{margin:0;max-width:min(760px,88vw);text-align:center;font-family:var(--font-mono);font-size:clamp(15px,1.9vw,22px);line-height:1.7;letter-spacing:.06em;color:#ffdede;text-shadow:0 2px 0 rgba(0,0,0,.55);opacity:0;transition:opacity .7s ease}.death-screen-line.visible{opacity:1}.death-screen-cursor{display:none!important}.game-over-overlay{--go-w: min(90vw, 1280px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:3600;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding-bottom:calc(.155 * var(--go-w));opacity:0;transition:opacity 1.2s ease-in-out;cursor:pointer}.game-over-overlay.hidden{display:none}.game-over-overlay.visible{opacity:1}.game-over-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;opacity:0;transition:opacity .8s ease}.game-over-overlay.show-content .game-over-content{opacity:1}.game-over-image{width:var(--go-w);image-rendering:pixelated}.game-over-message{margin-top:calc(-.26 * var(--go-w, 1280px));font-family:var(--font-mono);font-size:1rem;letter-spacing:.08em;color:#ffffffd9;text-align:center}.game-over-hint{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:#ffffff8c;animation:intro-hint-pulse 2.2s ease-in-out infinite}:root{--touch-pad-size: 116px;--touch-knob-size: 46px}@media (max-height: 380px){:root{--touch-pad-size: 96px;--touch-knob-size: 40px}}#touch-controls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none;transition:opacity .2s ease;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#touch-controls-overlay.touch-hidden{opacity:0;pointer-events:none;visibility:hidden}.touch-pad{position:fixed;transform:translate(-50%,-50%);width:var(--touch-pad-size);height:var(--touch-pad-size);pointer-events:none;opacity:0;transition:opacity .12s ease}.touch-pad.touch-pad-active{opacity:1}.touch-pad-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(245,158,11,.55);background:radial-gradient(circle at 50% 50%,#131b2e8c,#0b0f19bf);box-shadow:0 0 0 1px #00000080,0 6px 18px #00000073,inset 0 0 22px #f59e0b1f;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.touch-pad-tick{position:absolute;width:3px;height:11px;border-radius:2px;background:#fbbf24bf}.touch-pad-tick-up{top:7px;left:50%;transform:translate(-50%)}.touch-pad-tick-down{bottom:7px;left:50%;transform:translate(-50%)}.touch-pad-tick-left{left:7px;top:50%;transform:translateY(-50%) rotate(90deg)}.touch-pad-tick-right{right:7px;top:50%;transform:translateY(-50%) rotate(90deg)}.touch-pad-knob{position:absolute;left:50%;top:50%;width:var(--touch-knob-size);height:var(--touch-knob-size);margin:0;border-radius:50%;border:2px solid rgba(251,191,36,.85);background:radial-gradient(circle at 38% 32%,#fbbf24f2,#d97706e6 55%,#783f04eb);box-shadow:0 3px 10px #00000080;transition:box-shadow .12s ease}.touch-pad-steering .touch-pad-knob{box-shadow:0 3px 10px #00000080,0 0 16px #fbbf248c}.rotate-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:32px;text-align:center;background:radial-gradient(circle at 50% 40%,#16203a,#080b13);color:var(--text-main, #f3f4f6);font-family:var(--font-title, serif)}@media (orientation: portrait){html.is-handheld .rotate-gate{display:flex}}@media (orientation: portrait) and (pointer: coarse){.rotate-gate{display:flex}}.rotate-gate-icon{width:84px;height:84px;border:3px solid var(--accent-gold, #f59e0b);border-radius:12px;animation:rotate-gate-turn 2.4s ease-in-out infinite}.rotate-gate-title{font-size:clamp(20px,6vw,28px);color:var(--accent-gold-bright, #fbbf24);letter-spacing:1px}.rotate-gate-text{font-family:var(--font-sans, sans-serif);font-size:clamp(14px,4vw,16px);color:var(--text-muted, #9ca3af);max-width:34ch;line-height:1.5}@keyframes rotate-gate-turn{0%,30%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion: reduce){.rotate-gate-icon{animation:none;transform:rotate(-90deg)}}#canvas-container,.viewport-container{touch-action:none}.ui-panel,.rune-panel,.dialogue-box-panel,#battle-ui-container{touch-action:manipulation}.btl-submenu-body,.btl-log-list,.inventory-grid,.shop-list,.save-load-slots,.hud-status-rows,.hud-options-rows{overscroll-behavior:contain}.tutorial-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.tutorial-marker,.tutorial-edge-arrow{position:absolute;top:0;left:0;width:44px;height:auto;image-rendering:pixelated;filter:drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(251,191,36,.35));will-change:transform}.tutorial-marker{animation:tutorialBob 1.1s ease-in-out infinite}.tutorial-edge-arrow{width:54px;height:54px;object-fit:contain;padding:7px;border-radius:50%;background:radial-gradient(circle,#0b0f19c7 55%,#0b0f1900 72%);animation:tutorialEdgePulse 1.4s ease-in-out infinite}@keyframes tutorialBob{0%,to{translate:0 0}50%{translate:0 -7px}}@keyframes tutorialEdgePulse{0%,to{opacity:.55;scale:.92}50%{opacity:1;scale:1}}.tutorial-objective{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(70vw,520px);padding:5px 14px;border-radius:999px;border:1px solid rgba(245,158,11,.35);background:#0b0f19b8;color:#f2d9a0;font-family:var(--font-mono, monospace);font-size:13px;letter-spacing:.5px;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.9);opacity:.55;transition:opacity .6s ease,border-color .6s ease,box-shadow .6s ease}.tutorial-objective:empty{display:none}.tutorial-objective.is-fresh{opacity:1;border-color:#fbbf24cc;box-shadow:0 0 14px #fbbf2459}.shop-tab-btn.tutorial-pulse,.shop-item-card.tutorial-pulse,.inventory-slot.tutorial-pulse,.detail-use-btn.tutorial-pulse{animation:tutorialTabPulse 1.3s ease-in-out infinite}.hud-btn.tutorial-pulse{border-radius:50%;animation:tutorialTabPulse 1.3s ease-in-out infinite}@keyframes tutorialTabPulse{0%,to{box-shadow:0 0 #fbbf2400}50%{box-shadow:0 0 0 3px #fbbf248c,0 0 14px #fbbf2473}}.shop-tabs:has(.tutorial-shop-callout-tabs){position:relative}.tutorial-shop-callout-tabs{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:2;margin-top:0;padding:2px 10px;border-radius:999px;background:#0b0f19d1;white-space:nowrap}.tutorial-shop-callout{margin-top:6px;font-size:12px;letter-spacing:.5px;color:#f2c14e;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.9)}@media (prefers-reduced-motion: reduce){.tutorial-marker,.tutorial-edge-arrow,.shop-item-card.tutorial-pulse{animation:none}.shop-tab-btn.tutorial-pulse,.shop-item-card.tutorial-pulse,.inventory-slot.tutorial-pulse,.detail-use-btn.tutorial-pulse,.hud-btn.tutorial-pulse{box-shadow:0 0 0 2px #fbbf24b3}}
