@font-face{font-family:Disket Mono;src:url(/assets/fonts/Disket-Mono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}html,body{margin:0;height:100%;overflow:hidden;background:#05060a;font-family:Disket Mono,monospace}#game-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000}#app{position:relative;flex:0 0 auto;width:100vw;height:100dvh;overflow:hidden;transform:translateZ(0)}canvas{display:block;width:100%;height:100%}@media(min-width:900px)and (min-aspect-ratio:4/3){#app{width:min(100vw,calc(100dvh * 4 / 3));height:100dvh}}.score-display{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:35;display:flex;flex-direction:column;align-items:center;gap:6px;font:700 30px/1 Disket Mono,monospace;font-family:Disket Mono,monospace;color:#eef4ff;text-shadow:0 2px 10px rgba(0,0,0,.6);pointer-events:none;-webkit-user-select:none;user-select:none}.score-display__row{display:flex;align-items:baseline;gap:12px}.score-display__mult{font-size:.72em;font-weight:800;color:#e6c200;text-shadow:0 0 12px rgba(230,194,0,.45),0 2px 8px rgba(0,0,0,.55)}.score-display__astral{font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.02em;color:#b8d8ff;text-shadow:0 0 10px rgba(140,190,255,.35),0 1px 6px rgba(0,0,0,.5)}.score-display__gold{display:flex;flex-direction:column;align-items:center;gap:4px;width:min(220px,72vw)}.score-display__gold--hidden{display:none}.score-display__gold-label{font-size:11px;font-weight:800;letter-spacing:.14em;color:#e6c200;text-shadow:0 0 10px rgba(230,194,0,.4)}.score-display__gold-bar{width:100%;height:8px;border-radius:4px;background:#1e2330eb;border:1px solid rgba(230,194,0,.35);overflow:hidden;box-shadow:inset 0 1px 3px #00000073}.score-display__gold-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(90deg,#b8860b,#f0d24a,#e6c200);box-shadow:0 0 10px #e6c2008c;transition:width .08s ease-out}.score-display__gold-pct{font-size:13px;font-weight:700;color:#f0d24a;text-shadow:0 0 8px rgba(240,210,74,.35)}.touch-ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-ui-grid{position:absolute;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(2px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:8px;height:min(28vh,220px);pointer-events:auto;touch-action:none}.touch-ui-btn{width:100%;height:100%;opacity:.15;border:1px solid #8fa2bf;border-radius:12px;background:#0f172af5;color:transparent;font-size:0;font-weight:800;touch-action:none}.touch-ui-btn[data-slot=leftTop],.touch-ui-btn[data-slot=rightTop]{background:#f2f6fffa;border-color:#eef4ff}.touch-ui-btn:active{background:#2563eb8a}iframe[src*="vibej.am"],a[href*="vibej.am"],[class*=vibejam],[id*=vibejam]{position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;z-index:2147483647!important;pointer-events:auto!important;transform-origin:top left!important;transform:rotate(-90deg) translate(-100%)!important}body.menu-open.menu-main iframe[src*="vibej.am"],body.menu-open.menu-main a[href*="vibej.am"],body.menu-open.menu-main [class*=vibejam],body.menu-open.menu-main [id*=vibejam]{top:auto!important;bottom:max(0px,env(safe-area-inset-bottom))!important;left:50%!important;transform-origin:center bottom!important;transform:translate(-50%)!important}.damage-track{position:fixed;left:50%;transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom));z-index:38;width:min(320px,88vw);pointer-events:none;-webkit-user-select:none;user-select:none}.damage-track--hidden{display:none}.damage-track__slots{display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:stretch}.damage-track__slot{flex:1 1 0;min-width:0;height:10px;border-radius:5px;background:#1c2434eb;border:1px solid rgba(120,140,180,.35);box-shadow:inset 0 1px 2px #00000073}.damage-track__slot--filled{border-color:#dc505abf;background:linear-gradient(180deg,#f87171,#b91c1c);box-shadow:0 0 10px #f8717173,inset 0 1px #fff3}
