@import"https://fonts.googleapis.com/css2?family=DotGothic16&display=swap";:root{--bg-core: #050508;--bg-surface: #101018;--bg-panel: rgba(16, 16, 24, .96);--bg-glass: rgba(16, 16, 24, .7);--primary: #8b5cf6;--primary-light: #a78bfa;--primary-dark: #7c3aed;--secondary: #3b82f6;--accent: #22d3ee;--success: #34d399;--warning: #fbbf24;--danger: #ef4444;--text-main: #f8fafc;--text-dim: #94a3b8;--text-muted: #64748b;--border: rgba(148, 163, 184, .15);--border-focus: rgba(139, 92, 246, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font: "DotGothic16", monospace;--safe-area-bottom: env(safe-area-inset-bottom, 20px);--ui-scale: 1}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-core);font-family:var(--font);color:var(--text-main);touch-action:none;user-select:none;-webkit-user-select:none}#gameCanvas{display:block;width:100%;height:100%;image-rendering:pixelated}.status-passive-list{max-height:132px;overflow-y:auto;padding:6px 8px 6px 0;border-bottom:1px solid rgba(255,255,255,.05);scrollbar-width:thin;scrollbar-color:#8fb3ff rgba(18,22,44,.95)}.status-passive-list::-webkit-scrollbar{width:12px}.status-passive-list::-webkit-scrollbar-track{background:linear-gradient(180deg,#313a5ceb 0 50%,#12162ceb 50% 100%);border:2px solid rgba(143,179,255,.22)}.status-passive-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d9f0ff 0 25%,#8fb3ff 25% 75%,#4865a8 75% 100%);border:2px solid rgba(10,12,24,.92)}.status-passive-list::-webkit-scrollbar-button{display:none}#hud{position:absolute;top:0;left:0;right:0;padding:12px;display:flex!important;justify-content:space-between;align-items:flex-start;pointer-events:none!important;z-index:80!important;background:transparent!important}#hud-left{min-width:min(100%,280px);display:flex!important;flex-direction:column!important;gap:12px!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;filter:none!important;transform:scale(var(--ui-scale));transform-origin:top left;transition:transform .3s ease}#hud-body,#hud-ally:not(.hidden){display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"left main";align-items:end;column-gap:12px;padding:12px;margin-bottom:8px;background:#0009!important;border:2px solid rgba(255,255,255,.5)!important;border-radius:5px!important;box-shadow:0 0 0 1px #00000080!important;width:fit-content;position:relative}#hud-body:before,#hud-ally:before{display:none!important}#hud-ally.hidden{display:none!important}#hud-body-icon,#hud-ally-icon{width:60px;height:64px;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;overflow:hidden;flex-shrink:0;image-rendering:pixelated;position:relative}#hud-body-icon:after{display:none!important}#hud-body-icon,#hud-ally-icon{pointer-events:auto;cursor:default}#hud-body-left,#hud-ally-left{grid-area:left;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:64px}#hud-body-main,#hud-ally-main{grid-area:main;display:flex;flex-direction:column;gap:4px;padding-right:10px}#hud-level-text{font-size:14px;color:#fff;background:transparent!important;padding:0;font-weight:700;text-shadow:1px 1px 0 #000;border:none!important;line-height:normal;box-shadow:none!important}#hud-exp-text{font-size:11px;color:#94a3b8;font-weight:700;text-shadow:1px 1px 0 #000;text-align:center}#hud-status-container,#hud-ally-status-container{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:4px;min-height:20px;width:100%}.hud-top-row{display:flex;align-items:baseline;width:260px;margin-bottom:4px}#hud-body-name,#hud-ally-name{font-size:14px;color:#fff;text-shadow:1px 1px 0 #000;font-weight:700;letter-spacing:.5px}.hud-bar-row{display:flex;align-items:center;gap:8px;width:260px}.hud-label{font-size:11px;font-weight:700;color:#94a3b8;width:50px;flex-shrink:0;text-transform:uppercase;text-shadow:1px 1px 0 #000}.hud-bar-container{flex:1;height:8px;background:#0000004d;outline:1px solid rgba(255,255,255,.5)!important;border:none;border-radius:0;overflow:hidden;position:relative;box-shadow:1px 1px #0000004d}.hud-bar-container:after{display:none!important}.hud-bar-container>div{height:100%;width:0%;border-radius:0;transition:width .3s steps(20);position:relative}.hud-bar-container>div:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:#ffffff4d;z-index:2}#hud-hp-fill,#hud-ally-hp-fill{background:#2ecc71;z-index:5}#hud-exp-fill{background:var(--accent);box-shadow:0 0 5px #22d3ee66}#hud-hp-shield-fill,#hud-ally-hp-shield-fill{background:#3498db;position:absolute;top:0;left:0;z-index:3;opacity:.8}#hud-soul-fill,#hud-ally-soul-fill{background:#9b59b6}#hud-hunger-fill,#hud-ally-hunger-fill{background:#e67e22}.hud-value{font-size:12px;color:#fff;width:80px;text-align:right;flex-shrink:0;text-shadow:1px 1px 0 #000,-1px -1px 0 #000;font-weight:700}.hud-status-row{display:none!important}#hud-status-container,#hud-ally-status-container{display:flex;flex:1;flex-wrap:nowrap;gap:4px;margin-top:2px;min-height:18px;padding:0;align-items:center}.hud-status-none{font-size:11px;color:#64748b;font-weight:700;text-shadow:1px 1px 0 #000}.hud-status-tag{flex-shrink:0;background:none;border:none;position:relative;display:flex;flex-direction:row;align-items:center;gap:3px;overflow:visible;pointer-events:auto;cursor:default}.status-turns{font-size:10px;color:#ffffffe6;text-align:center;line-height:1;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;white-space:nowrap}.hud-status-tag.poison{border-color:#34d399;color:#34d399}.hud-status-tag.sleep{border-color:#60a5fa;color:#60a5fa}.hud-status-tag.paralyze{border-color:#fbbf24;color:#fbbf24}.hud-status-tag.resonance{color:var(--accent)}.hud-status-tag.erosion{color:var(--danger)}.status-label{font-size:10px;font-weight:700;margin-right:2px}.hud-status-icon-wrap{position:relative;display:inline-block;width:16px;height:16px;flex-shrink:0}.hud-status-turns-overlay{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;line-height:1;color:#fff;text-shadow:0 0 3px rgba(0,0,0,1),0 0 1px rgba(0,0,0,1);pointer-events:none;white-space:nowrap}@keyframes statusPulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}#hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;transform:scale(var(--ui-scale));transform-origin:right top;transition:transform .3s ease}#hud-floor{font-size:20px;font-weight:700;color:#fff;text-shadow:2px 2px 0 #000;background:#14141ecc;padding:4px 12px;outline:2px solid #fff;box-shadow:2px 2px #000;pointer-events:auto}#hud-gold{font-size:20px;font-weight:700;color:#f1c40f;text-shadow:2px 2px 0 #000;background:#14141ecc;padding:4px 12px;outline:2px solid #fff;border-left:4px solid #f39c12;box-shadow:2px 2px #000,0 0 15px #f1c40f33;pointer-events:auto;display:flex;align-items:center;gap:8px}#hud-gold-val{color:#fff;text-shadow:2px 2px 0 #000}#hud-ally{animation:allyStatusSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes allyStatusSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}#hud-ally.hidden{display:none}#minimap{position:fixed;right:clamp(100px,12vw,160px);top:32%;transform:translateY(-50%);width:clamp(200px,26vw,340px);height:clamp(200px,26vw,340px);z-index:40;pointer-events:none;opacity:.78}#message-log{position:fixed;bottom:120px;left:16px;width:450px;height:250px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;pointer-events:none;z-index:45;overflow:hidden;transition:bottom .3s ease,transform .3s ease;transform:scale(var(--ui-scale));transform-origin:left bottom}body.tap-mode-active #message-log{bottom:100px}.msg{padding:6px 14px;background:#000000bf;border-radius:4px;margin-top:4px;font-size:15px;color:var(--text-main);animation:msgFadeIn 6s forwards;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;flex-shrink:0;text-shadow:0 1px 2px rgba(0,0,0,.8);width:100%}.msg.damage{color:#fca5a5}.msg.bad{color:#ef4444}.msg.heal{color:#86efac}.msg.good{color:#3ddc84}.msg.warning{color:#f87171}.msg.skill{color:#60a5fa}.msg.info{color:#a29bfe}.msg.possess{color:#c4b5fd}.msg.gene{color:#fcd34d}.msg.important{color:#fbbf24;font-weight:700}.msg.common{color:#e2e8f0;border-left:2px solid #94a3b8}.msg.rare{color:#93c5fd;border-left:2px solid #3b82f6;font-weight:700}.msg.epic{color:#d8b4fe;border-left:2px solid #a855f7;font-weight:700}.msg.legend{color:#fcd34d;border-left:2px solid #fbbf24;font-weight:700;text-shadow:0 0 5px rgba(251,191,36,.5)}.common{color:#e2e8f0}.rare{color:#93c5fd;font-weight:700}.epic{color:#d8b4fe;font-weight:700;text-shadow:0 0 5px rgba(168,85,247,.5)}.legend{color:#fcd34d;font-weight:700;text-shadow:0 0 8px rgba(251,191,36,.5)}@keyframes msgFadeIn{0%{opacity:0}5%{opacity:1}85%{opacity:1}to{opacity:0}}#touch-controls{position:fixed;bottom:0;left:0;right:0;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;z-index:60}#dpad,#btn-menu,#btn-item,#btn-gene-core,#btn-dash,#btn-possess,#btn-skill,#btn-facing,#btn-attack,#btn-search-feet,#action-buttons{display:none!important}#pc-hotbar:not(.hidden){display:flex!important;pointer-events:auto;position:fixed;bottom:16px;left:50%;transform:translate(-50%);gap:8px;z-index:100}.hotbar-slot{width:72px;height:72px;background:#14141ee6;border:1px solid rgba(255,255,255,.2);border-radius:8px;position:relative;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:hidden}.key-label{position:absolute;top:2px;left:4px;font-size:10px;color:var(--text-muted);font-weight:700}.slot-content{width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-top:4px;position:relative}.slot-content svg{display:block;flex-shrink:0}.slot-name{width:100%;font-size:8px;color:var(--accent)!important;text-align:center;white-space:normal;overflow:hidden;text-overflow:ellipsis;padding:0 2px;margin-top:-1px;margin-bottom:0;pointer-events:none;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;visibility:visible!important;line-height:1.15;font-weight:700;text-transform:uppercase;letter-spacing:.2px;word-break:break-all;overflow-wrap:break-word;max-height:19px;flex-shrink:0}.slot-content canvas{image-rendering:pixelated;width:32px;height:32px}.wand-usage-count{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;pointer-events:none;z-index:2;line-height:1;min-width:16px;text-align:center;letter-spacing:0}#dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:6px;pointer-events:auto;transform:scale(var(--ui-scale));transform-origin:left bottom;transition:transform .3s ease}.dpad-btn{width:100%;height:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-main);font-size:20px;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:all .1s}.dpad-btn.active{background:var(--primary);border-color:var(--primary-light);transform:scale(.95)}.dpad-btn.center{background:#ffffff08;font-size:12px}#action-buttons{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(4,56px);gap:6px;pointer-events:auto;position:relative;transform:scale(var(--ui-scale));transform-origin:right bottom;transition:transform .3s ease}.action-btn{width:100%;height:100%;background:#14141ee6;border:1px solid rgba(255,255,255,.15);border-radius:14px;color:var(--text-main);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 10px #0000004d;transition:all .1s cubic-bezier(.2,.8,.2,1);font-size:14px}.action-btn:active{transform:scale(.92);filter:brightness(1.2)}.action-btn i{display:none}#btn-facing i{display:flex;justify-content:center;align-items:center;font-size:32px;margin:0;font-style:normal;font-family:sans-serif;line-height:1;width:100%;height:100%;padding-bottom:2px}.action-btn span{font-size:14px;font-weight:700;opacity:1;line-height:1.2}#btn-shortcut-0,#btn-shortcut-1,#btn-shortcut-2{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}#btn-shortcut-0{grid-area:1 / 1 / 2 / 2}#btn-shortcut-1{grid-area:1 / 2 / 2 / 3}#btn-shortcut-2{grid-area:1 / 3 / 2 / 4}.shortcut-btn.filled{background:#fbbf2440;border-color:#fbbf24;box-shadow:0 0 8px #fbbf2433}#btn-menu{grid-area:2 / 1 / 3 / 2}#btn-item{grid-area:2 / 2 / 3 / 3}#btn-gene-core{grid-area:2 / 3 / 3 / 4}#btn-dash{grid-area:3 / 1 / 4 / 2;border-color:#fff3}#btn-skill{grid-area:3 / 3 / 4 / 4}#btn-possess{grid-area:3 / 2 / 4 / 3}#btn-facing{grid-area:4 / 1 / 5 / 2}#btn-attack{grid-area:4 / 2 / 5 / 3}#btn-search-feet{grid-area:4 / 3 / 5 / 4;background:#ffffff0d;border-color:#fff3}#action-buttons.tap-mode{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,60px);width:100%;max-width:400px;margin:0 auto}#action-buttons.tap-mode #btn-menu{grid-area:1 / 1}#action-buttons.tap-mode #btn-item{grid-area:1 / 2}#action-buttons.tap-mode #btn-gene-core{grid-area:1 / 3}#action-buttons.tap-mode #btn-dash{grid-area:1 / 4}#action-buttons.tap-mode #btn-shortcut-0{grid-area:2 / 1}#action-buttons.tap-mode #btn-shortcut-1{grid-area:2 / 2}#action-buttons.tap-mode #btn-shortcut-2{grid-area:2 / 3}#action-buttons.tap-mode #btn-skill{grid-area:3 / 3}#action-buttons.tap-mode #btn-facing{grid-area:3 / 1}#action-buttons.tap-mode #btn-search-feet{grid-area:3 / 2}#action-buttons.tap-mode #btn-possess{grid-area:2 / 4}#action-buttons.tap-mode #btn-attack{grid-area:3 / 4}#btn-search-feet.highlight{background:var(--warning);color:#000;border-color:#fcd34d;box-shadow:0 0 10px #fbbf2466;font-weight:700}#btn-search-feet.highlight span{color:#000}.action-btn i{font-size:24px}.action-btn span{font-size:10px;font-weight:500;opacity:.8}.btn-cost{font-size:9px;color:var(--warning);font-weight:700}.hidden{display:none!important}#hover-tooltip{position:fixed;pointer-events:none;background:var(--bg-panel);border:1px solid var(--primary);padding:10px 14px;border-radius:var(--radius-md);z-index:2000;max-width:280px;box-shadow:0 8px 32px #000c;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:flex;flex-direction:column;gap:6px;transition:opacity .1s,transform .3s ease;transform:scale(var(--ui-scale));transform-origin:top left}#hover-tooltip .hover-name{color:var(--accent);font-weight:700;font-size:18px;text-shadow:0 0 10px rgba(34,211,238,.4)}#hover-tooltip .hover-desc{color:var(--text-main);font-size:14px;line-height:1.5;letter-spacing:.02em}.overlay{position:fixed;inset:0;background:#05050899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .2s}.overlay.hidden{opacity:0;pointer-events:none;display:none!important}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:90%;max-width:700px;max-height:80vh;overflow-y:auto;scrollbar-width:none;box-shadow:0 10px 40px #00000080;animation:panelSlideUp .3s cubic-bezier(.16,1,.3,1);transform:scale(var(--ui-scale));transition:transform .3s ease}.panel::-webkit-scrollbar{display:none}.panel.wide{max-width:1000px}#tutorial-ui .panel{max-width:680px;height:min(85vh,560px);display:flex;flex-direction:column;padding:20px}#tutorial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0}#tutorial-header h3{margin:0}#tutorial-body{flex:1;display:flex;gap:12px;overflow:hidden;min-height:0}#tutorial-tabs{flex-shrink:0;width:110px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:none;-ms-overflow-style:none}#tutorial-tabs::-webkit-scrollbar{display:none}.tutorial-tab{padding:8px 10px;font-size:12px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm, 4px);border:1px solid transparent;background:transparent;text-align:left;white-space:nowrap;transition:background .15s,color .15s;flex-shrink:0}.tutorial-tab:hover{background:#ffffff0d;color:var(--text-main)}.tutorial-tab.active{background:rgba(var(--accent-rgb, 99, 102, 241),.15);color:var(--accent);border-color:var(--accent);font-weight:700}#tutorial-content{flex:1;overflow-y:auto;text-align:left;line-height:1.8;font-size:14px;padding:20px 24px;background:#0003;border-radius:var(--radius-md);border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;min-width:0}#tutorial-content ul{padding-left:28px;margin:10px 0}#tutorial-content hr{border:0;border-top:1px solid var(--border);margin:14px 0;flex-shrink:0}.tutorial-special-highlight{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.5em;color:var(--warning);font-weight:700;text-align:center;line-height:1.4;text-shadow:0 0 15px rgba(251,191,36,.4);padding:0 40px}#tutorial-content::-webkit-scrollbar{display:none}#log-container{height:300px;overflow-y:auto;text-align:left;font-size:13px;line-height:1.6;padding:10px;background:#0003;border-radius:8px;border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--primary) rgba(0,0,0,.3)}#log-container::-webkit-scrollbar{width:6px}#log-container::-webkit-scrollbar-track{background:#0000004d;border-radius:3px}#log-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}#log-container::-webkit-scrollbar-thumb:hover{background:var(--primary-light, var(--primary))}@media(min-width:1024px){#tutorial-ui .panel{max-width:850px;height:min(85vh,650px);padding:28px 36px}#tutorial-tabs{width:130px}.tutorial-tab{font-size:13px;padding:9px 12px}#tutorial-content{font-size:16px;padding:24px 32px;line-height:1.65}#tutorial-content ul{padding-left:32px;margin:12px 0}}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px) scale(calc(var(--ui-scale) * .95))}to{opacity:1;transform:translateY(0) scale(var(--ui-scale))}}.panel h3{font-size:18px;color:var(--text-main);text-align:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border);letter-spacing:1px}.panel p,.item-description{color:var(--text-main);font-size:14px;line-height:1.6;opacity:.95;margin-bottom:12px}.panel-actions{display:flex;justify-content:stretch;gap:12px;margin-top:24px}.panel-actions button{flex:1}#skill-flick-menu{position:fixed;z-index:1000;width:200px;height:200px;pointer-events:none;display:flex;justify-content:center;align-items:center;opacity:0;transform:translate(-50%,-50%) scale(calc(var(--ui-scale) * .9));transition:opacity .15s ease-out,transform .15s cubic-bezier(.18,.89,.32,1.28)}#skill-flick-menu.active{opacity:1;transform:translate(-50%,-50%) scale(var(--ui-scale))}.flick-center-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:transparent;border-radius:14px;z-index:1;transition:box-shadow .2s ease-out;box-shadow:0 0 #0000;pointer-events:none}#skill-flick-menu.active .flick-center-bg{box-shadow:0 0 0 200vmax #000000bf}.flick-option{position:absolute;width:56px;height:56px;background:#14141e;border:1px solid var(--border-focus);border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .1s;box-shadow:0 4px 12px #00000080;pointer-events:auto;z-index:2}.flick-option[data-dir=up]{top:10px;left:50%;margin-left:-28px}.flick-option[data-dir=down]{bottom:10px;left:50%;margin-left:-28px}.flick-option[data-dir=left]{left:10px;top:50%;margin-top:-28px}.flick-option[data-dir=right]{right:10px;top:50%;margin-top:-28px}.flick-option.selected{background:var(--primary);border-color:var(--primary-light);transform:scale(1.15);z-index:10;box-shadow:0 0 15px var(--primary)}.flick-label{font-size:10px;color:#fff;text-align:center;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.flick-icon{font-size:16px;margin-bottom:2px}button{border:none;background:none;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--primary);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;box-shadow:0 4px 12px #8b5cf64d;transition:all .2s;display:inline-block;text-align:center}.btn-primary:active{transform:translateY(1px);filter:brightness(1.1)}.btn-secondary{background:transparent;border:1px solid var(--border-focus);color:var(--text-dim);padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;transition:all .2s;display:inline-block;text-align:center}.btn-secondary:active,.btn-secondary:hover{background:#ffffff0d;color:var(--text-main)}.panel-footer-actions{display:flex;gap:10px;margin-top:24px}.panel-close-btn,.panel-back-btn{flex:1;padding:13px 20px;font-size:15px;width:100%}.panel-back-btn:hover{background:#ffffff0d}.settings-scale-options{display:flex;gap:8px;margin:-4px 0 8px;padding:8px 12px;animation:panelSlideUp .15s ease-out}.settings-scale-options.hidden{display:none}.settings-scale-option{flex:1;padding:10px 6px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:14px;text-align:center;cursor:pointer;transition:all .2s}.settings-scale-option:hover{background:#8b5cf61a;border-color:var(--border-focus);color:var(--text-main)}.settings-scale-option.active{background:#8b5cf633;border-color:var(--accent);color:var(--accent);font-weight:700}.settings-volume-row{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:8px;background:#ffffff08;border:1px solid transparent;border-radius:var(--radius-sm)}.settings-volume-row label{min-width:80px;color:var(--text-main);font-size:15px;white-space:nowrap}.settings-volume-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}.settings-volume-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;border:2px solid rgba(0,0,0,.3);cursor:pointer}.settings-volume-row input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border-radius:50%;border:2px solid rgba(0,0,0,.3);cursor:pointer}.settings-volume-value{min-width:24px;text-align:center;color:var(--text-dim);font-size:14px;font-variant-numeric:tabular-nums}.menu-item{width:100%;padding:16px;background:#ffffff08;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-main);text-align:left;margin-bottom:8px;transition:all .2s;font-size:15px}.menu-item:active,.menu-item:hover{background:#8b5cf61a;border-color:var(--border-focus);transform:translate(4px)}.menu-item-danger{color:#ef4444}.menu-item-danger:active,.menu-item-danger:hover{background:#ef44441a;border-color:#ef4444}.possess-name{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:8px}.possess-rate{font-size:32px;font-weight:900;margin:16px 0;text-shadow:0 0 20px rgba(0,0,0,.5)}.possess-rate.high{color:var(--success)}.possess-rate.mid{color:var(--warning)}.possess-rate.low{color:var(--danger)}.possess-skills{font-size:14px;color:var(--text-main);margin-top:8px;line-height:1.5;opacity:.9}#inventory-list,.bestiary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px 4px;max-height:400px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;scroll-padding:8px 0}#inventory-list::-webkit-scrollbar,.bestiary-grid::-webkit-scrollbar{display:none}.storage-grid{display:flex!important;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;padding:4px;scrollbar-width:none}.storage-grid::-webkit-scrollbar{display:none}@media(max-width:480px){.bestiary-grid{grid-template-columns:1fr}}.inventory-item,.storage-item,.bestiary-entry{background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:row;align-items:center;padding:10px 12px;gap:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);height:64px;box-sizing:border-box;margin:0}.inventory-item canvas,.storage-item canvas{image-rendering:pixelated}.storage-item{flex-wrap:wrap;align-content:flex-start;flex-shrink:0}.storage-item-details{flex-basis:100%;width:100%;display:none;padding:8px 10px 4px;margin-top:4px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:var(--text-dim);line-height:1.5}.storage-item.expanded .storage-item-details{display:block}.storage-item.selected{border-color:var(--warning);background:#fbbf2426;box-shadow:0 0 15px #fbbf2433}#storage-ui .storage-panel{display:flex!important;flex-direction:column;height:clamp(520px,88vh,760px);max-width:900px!important;overflow:hidden}.storage-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.storage-panel-header h3{margin:0}.btn-storage-carry-toggle{font-size:11px;padding:3px 8px;background:transparent;border:1px solid var(--border, #444);color:var(--text-dim, #888);border-radius:4px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .15s,color .15s}.btn-storage-carry-toggle--active{border-color:var(--primary-light, #7ec8e3);color:var(--primary-light, #7ec8e3)}#storage-ui .storage-hint,#storage-tabs{flex-shrink:0}.storage-body{display:flex;flex:1;gap:16px;min-height:0;overflow:hidden}.storage-main-pane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.storage-selected-pane{display:flex;flex-direction:column;width:220px;flex-shrink:0;border-left:1px solid var(--border);padding-left:14px;min-height:0;overflow:hidden}.storage-selected-pane.hidden{display:none!important}.storage-selected-header{font-size:13px;color:var(--warning);font-weight:700;margin-bottom:8px;flex-shrink:0;display:flex;gap:8px;align-items:baseline}#storage-selected-count{color:var(--text-dim);font-size:12px}.storage-selected-list{display:flex;flex-direction:column;gap:5px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:none;padding:6px 4px;scroll-padding:12px 0}.storage-selected-list::-webkit-scrollbar{display:none}.storage-selected-item{display:flex;align-items:center;gap:8px;background:#fbbf241f;border:1px solid rgba(251,191,36,.35);border-radius:var(--radius-sm);padding:5px 8px;cursor:pointer;font-size:12px;color:var(--text-main);transition:background .15s}.storage-selected-item:hover{background:#ef444433;border-color:var(--danger)}.storage-selected-item .item-icon-wrap{width:26px;height:26px;background:none!important;border:none!important;flex-shrink:0}.storage-selected-item .item-icon-wrap canvas{width:22px;height:22px}.storage-selected-item .sel-remove{margin-left:auto;font-size:11px;color:var(--text-dim);flex-shrink:0}.storage-selected-empty{font-size:12px;color:var(--text-dim);margin:2px 0 6px;opacity:.7}#storage-list{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;max-height:none!important;align-content:start;scrollbar-width:none;padding:8px 4px;scroll-padding:12px 0}#storage-list::-webkit-scrollbar{display:none}#storage-ui #storage-list .storage-item{flex-direction:column!important;align-items:center!important;text-align:center;height:auto;min-height:80px;padding:8px 6px 6px;gap:4px;word-break:break-all}#storage-ui .item-icon-wrap{background:none!important;border:none!important}#storage-ui #storage-list .storage-item>span:not(.storage-item-details){font-size:11px;line-height:1.35;max-height:2.7em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;flex:unset!important;width:100%}.item-name-row{display:flex;flex-direction:row;align-items:center;gap:4px;width:100%;justify-content:center}.item-name-row .item-name{font-size:11px;line-height:1.35;max-height:2.7em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;text-align:center}.item-name-row .item-count{font-size:10px;color:var(--text-dim);font-weight:700;white-space:nowrap;flex-shrink:0}#storage-ui #storage-list .storage-item>span[style*="font-size:12px"]{font-size:10px!important;margin-top:-2px}#storage-empty{display:none;align-items:center;justify-content:center;margin:0;padding:16px 0;flex-shrink:0}#storage-empty[style*="display: flex"],#storage-empty:not([style*="display: none"]){display:flex}.storage-bottom{display:flex;flex-direction:row;gap:8px;flex-shrink:0;margin-top:auto!important;padding-top:12px}.storage-bottom .btn-primary,.storage-bottom .btn-secondary{flex:1}#storage-close{flex-shrink:0;margin-top:10px!important}.storage-confirm-overlay{position:absolute;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius)}.storage-confirm-dialog{background:var(--bg-panel, #1a1a2e);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;min-width:260px;text-align:center}.storage-confirm-msg{color:var(--text-main);font-size:14px;margin:0 0 18px;line-height:1.6}.storage-confirm-buttons{display:flex;gap:10px}.storage-confirm-buttons .btn-secondary{flex:1}.item-inspect-overlay{position:absolute;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:110;border-radius:var(--radius)}.item-inspect-panel{background:var(--bg-panel, #1a1a2e);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;min-width:260px;max-width:360px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.item-inspect-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.item-inspect-icon .item-icon-wrap{background:none!important;border:none!important}.item-inspect-name{font-size:16px;font-weight:700;color:var(--text-main)}.item-inspect-desc{font-size:13px;color:var(--text-dim);line-height:1.65;text-align:left;margin:0;white-space:pre-wrap}.item-inspect-close-btn{margin-top:6px;min-width:100px}.storage-category-tabs{display:flex;background:#0000004d;padding:2px;border-radius:var(--radius-sm);margin-bottom:10px;gap:0;border:1px solid rgba(255,255,255,.05);flex-shrink:0}.storage-tab-btn{flex:1;padding:10px 4px;text-align:center;border-radius:4px;color:var(--text-dim);font-size:13px;background:transparent;border:1px solid transparent;white-space:nowrap;position:relative;transition:all .15s}.storage-tab-btn:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:#ffffff26}.storage-tab-btn.active{background:var(--primary);color:#fff;font-weight:700}.storage-tab-btn.active:after{display:none}.item-icon-wrap{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.item-icon-wrap canvas{width:32px;height:32px;image-rendering:pixelated}.bestiary-entry:hover{background:#8b5cf61a;border-color:var(--primary);transform:translateY(-1px)}.bestiary-entry.undiscovered{opacity:.6;filter:grayscale(1)}.entry-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;font-size:24px;flex-shrink:0;overflow:hidden}.entry-icon canvas{width:100%;height:100%;max-width:32px;max-height:32px;image-rendering:pixelated;object-fit:contain}.bestiary-skill-icon{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bestiary-skill-icon.entry{width:28px;height:28px}.bestiary-skill-icon.detail{width:52px;height:52px}.bestiary-skill-icon:before,.bestiary-skill-icon:after,.bestiary-skill-icon-core{position:absolute;clip-path:polygon(50% 0%,92% 25%,92% 75%,50% 100%,8% 75%,8% 25%);border-radius:4px}.bestiary-skill-icon:before{content:"";inset:0;background:#ffffff29}.bestiary-skill-icon:after{content:"";inset:2px;background:#0f172aeb}.bestiary-skill-icon-core{inset:5px;z-index:1}.bestiary-skill-icon.entry .bestiary-skill-icon-core{inset:4px}.bestiary-skill-icon.detail .bestiary-skill-icon-core{inset:8px}.bestiary-skill-icon.common .bestiary-skill-icon-core{background:linear-gradient(180deg,#cbd5e1,#64748b);box-shadow:0 0 10px #94a3b873}.bestiary-skill-icon.rare .bestiary-skill-icon-core{background:linear-gradient(180deg,#93c5fd,#2563eb);box-shadow:0 0 10px #3b82f68c}.bestiary-skill-icon.epic .bestiary-skill-icon-core{background:linear-gradient(180deg,#d8b4fe,#9333ea);box-shadow:0 0 12px #a855f799}.bestiary-skill-icon.legend .bestiary-skill-icon-core{background:linear-gradient(180deg,#fde68a,#f59e0b);box-shadow:0 0 14px #fbbf24a6}.entry-name{font-weight:700;font-size:15px;color:var(--text-main)}.inventory-item:active,.inventory-item:hover{background:#8b5cf61a;border-color:var(--primary)}.inventory-item.unpaid{border-color:var(--danger);background:#ef44441a;animation:unpaidPulse 2s infinite ease-in-out}@keyframes unpaidPulse{0%{box-shadow:0 0 #ef444400}50%{box-shadow:inset 0 0 8px #ef444466}to{box-shadow:0 0 #ef444400}}.item-price{font-size:10px;color:var(--warning);font-weight:700;white-space:nowrap;background:#0000004d;padding:1px 4px;border-radius:3px}.item-icon{width:42px;height:42px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:20px;image-rendering:pixelated}.item-name,.entry-name{font-size:14px;text-align:left;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;line-height:1.2}.mutation-grid{display:flex;flex-direction:column;gap:8px}.mutation-item,.skill-item{width:100%;text-align:left;padding:14px;background:#8b5cf614;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.mutation-item:active,.skill-item:active{background:#8b5cf633;border-color:var(--primary)}.skill-item.empty{background:#0006;border:1px dashed var(--text-muted);opacity:.6;cursor:default}.skill-category-header{color:var(--accent);font-size:13px;font-weight:700;margin:12px 0 6px 4px;display:flex;align-items:center;gap:8px}.skill-category-header:before{content:"";display:inline-block;width:4px;height:14px;background:var(--accent);border-radius:2px}.mutation-item h4,.skill-name{color:var(--primary-light);font-size:15px;font-weight:700}.mutation-item p,.skill-desc,.skill-cost{color:var(--text-main);font-size:13px;line-height:1.4;opacity:.9}.skill-cost{display:block;margin-top:2px;color:var(--text-dim);font-size:12px}.gene-slot{display:flex;align-items:center;padding:12px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;gap:12px;border-left:4px solid transparent;transition:all .2s}.gene-slot.common{border-left-color:#94a3b8}.gene-slot.rare{border-left-color:#3b82f6;background:linear-gradient(90deg,#3b82f60d,#ffffff08)}.gene-slot.epic{border-left-color:#a855f7;background:linear-gradient(90deg,#a855f71a,#ffffff08)}.gene-slot.legend{border-left-color:#fbbf24;background:linear-gradient(90deg,#fbbf2426,#ffffff08);box-shadow:0 0 8px #fbbf241a}.gene-slot.equipped{background:#8b5cf626;border-color:#8b5cf680}.gene-remove-label{padding:4px 8px;font-size:10px;color:var(--text-dim);border:1px solid rgba(255,255,255,.1);border-radius:4px;pointer-events:none}.gene-slot.locked{background:#0006;border-color:#ffffff0d;opacity:.5;filter:grayscale(1)}.gene-name{flex:1;font-weight:700}.gene-desc{font-size:12px;color:var(--text-main);opacity:.8}.rarity-diamond{width:8px;height:8px;transform:rotate(45deg);flex-shrink:0;margin:0 4px}.rarity-diamond.common{background-color:#94a3b8;box-shadow:0 0 4px #94a3b8}.rarity-diamond.rare{background-color:#3b82f6;box-shadow:0 0 6px #3b82f6}.rarity-diamond.epic{background-color:#a855f7;box-shadow:0 0 8px #a855f7}.rarity-diamond.legend{background-color:#fbbf24;box-shadow:0 0 10px #fbbf24}.gene-slot span:first-child{font-size:20px}#bestiary-tabs{display:flex;background:#0000004d;padding:2px;border-radius:var(--radius-sm);margin-bottom:24px;gap:0;overflow-x:auto;scrollbar-width:none;border:1px solid rgba(255,255,255,.05);flex-shrink:0}#bestiary-tabs::-webkit-scrollbar{display:none}.tab-btn{flex:1;min-width:90px;padding:10px 4px;text-align:center;border-radius:4px;color:var(--text-dim);font-size:13px;background:transparent;border:1px solid transparent;white-space:nowrap;position:relative}.tab-btn:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:#ffffff26}.tab-btn.active{background:var(--primary);color:#fff;font-weight:700}.tab-btn.active:after{display:none}#gameover-screen{background:#000000e0;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:0;animation:gameoverScreenFadeIn .8s ease-out forwards}#gameover-content{width:min(94vw,1120px);padding:42px 48px 36px;border:none;background:none;box-shadow:none;text-align:center;opacity:0;animation:gameoverContentFadeIn .6s .3s ease-out forwards}#gameover-copy{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:26px}#gameover-content h1{font-size:56px;font-size:clamp(44px,7vw,72px);color:var(--danger);margin-bottom:0;text-shadow:0 0 20px rgba(239,68,68,.4)}#gameover-floor{font-size:28px;font-size:clamp(26px,4vw,34px);color:var(--warning);margin-bottom:0}#gameover-info{font-size:18px;color:var(--text-dim);margin-bottom:0}#gameover-message-row{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);align-items:end;gap:28px;width:100%;margin:0 0 34px;opacity:0;animation:gameoverMsgFadeIn 1s .8s forwards}#gameover-guide-stage{display:flex;align-items:flex-end;justify-content:center;min-height:220px;padding:10px 16px 0;background:none;border:none}#gameover-guide-img{width:min(100%,420px);height:auto;aspect-ratio:1050 / 540;object-fit:contain;flex-shrink:0;image-rendering:pixelated;filter:drop-shadow(0 0 18px rgba(139,92,246,.26));animation:guideBreathing 3.6s ease-in-out infinite}#gameover-message-bubble{position:relative;min-height:120px;padding:18px 22px;display:flex;align-items:center;background:#181c2e;border:2px solid #4a5a8a;box-shadow:0 10px 30px #00000047}#gameover-message-bubble:before{content:"";position:absolute;left:-18px;bottom:32px;width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-right:18px solid #4a5a8a}#gameover-message-bubble:after{content:"";position:absolute;left:-13px;bottom:34px;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:15px solid #181c2e}#gameover-message{color:#d7def8;font-size:18px;font-style:italic;text-align:left;margin:0;line-height:1.6}#gameover-restart{font-size:20px;padding:14px 40px;background:transparent;border:1px solid var(--border-focus);color:var(--text-dim);border-radius:var(--radius-sm);transition:all .2s;opacity:0;animation:gameoverMsgFadeIn .6s 1.2s forwards;min-width:min(100%,280px);margin:0 auto;display:block}#gameover-restart:hover{background:#ffffff0d;color:var(--text-main)}@keyframes gameoverScreenFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gameoverContentFadeIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes gameoverMsgFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes guideBreathing{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.012)}}@media(max-width:900px){#gameover-content{width:min(94vw,760px);padding:32px 22px 28px}#gameover-message-row{grid-template-columns:1fr;gap:18px}#gameover-guide-stage{min-height:0;padding-top:18px}#gameover-guide-img{width:min(100%,360px)}#gameover-message-bubble:before,#gameover-message-bubble:after{left:34px;bottom:auto;top:-18px;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:18px solid #4a5a8a;border-top:0}#gameover-message-bubble:after{top:-13px;left:36px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:15px solid #181c2e}}#escape-screen{background:#000000e0;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:0;animation:gameoverScreenFadeIn .8s ease-out forwards}#escape-content{width:min(94vw,1120px);padding:42px 48px 36px;border:none;background:none;box-shadow:none;text-align:center;opacity:0;animation:gameoverContentFadeIn .6s .3s ease-out forwards}#escape-copy{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:26px}#escape-content h1{font-size:clamp(36px,6vw,56px);color:var(--accent);margin-bottom:0;text-shadow:0 0 20px rgba(34,211,238,.4)}#escape-floor{font-size:clamp(22px,3.5vw,30px);color:var(--warning);margin-bottom:0}#escape-body{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);align-items:start;gap:28px;width:100%;margin:0 0 34px;opacity:0;animation:gameoverMsgFadeIn 1s .8s forwards}#escape-left{display:flex;flex-direction:column;gap:0;overflow:visible}#escape-guide-stage{display:flex;align-items:flex-end;justify-content:center;min-height:180px;padding:10px 16px 0;background:none;border:none}#escape-guide-img{width:min(100%,380px);height:auto;aspect-ratio:1050 / 540;object-fit:contain;flex-shrink:0;image-rendering:pixelated;filter:drop-shadow(0 0 18px rgba(34,211,238,.2));animation:guideBreathing 3.6s ease-in-out infinite}#escape-message-bubble{position:relative;min-height:80px;padding:18px 22px;margin-bottom:18px;display:flex;align-items:center;background:#0e101e;border:2px solid #1a6b80;border-radius:8px;box-shadow:0 10px 30px #00000047;overflow:visible}#escape-message-bubble:before{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-16px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:16px solid #1a6b80;border-bottom:0}#escape-message-bubble:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-12px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:13px solid #0e101e;border-bottom:0}#escape-message{color:#d7def8;font-size:16px;font-style:italic;text-align:left;margin:0;line-height:1.6}#escape-right{text-align:left}#escape-right h4{color:var(--warning);margin:0 0 10px;font-size:16px}#escape-right .storage-grid{max-height:50vh;overflow-y:auto;padding:4px;display:grid!important;flex-direction:unset!important;grid-template-columns:1fr 1fr;gap:6px}#escape-right .escape-item{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);display:flex;flex-direction:row;align-items:center;height:auto;min-height:0;padding:6px 8px;gap:6px;font-size:13px;cursor:default}#escape-right .escape-item .item-icon-wrap{background:none;border:none;width:28px;height:28px;flex-shrink:0}#escape-right .escape-item .item-icon-wrap canvas{width:24px;height:24px}#escape-home-btn{font-size:20px;padding:14px 40px;background:transparent;border:1px solid var(--border-focus);color:var(--text-dim);border-radius:var(--radius-sm);transition:all .2s;opacity:0;animation:gameoverMsgFadeIn .6s 1.2s forwards;min-width:min(100%,280px);margin:0 auto;display:block}#escape-home-btn:hover{background:#ffffff0d;color:var(--text-main)}@media(max-width:900px){#escape-content{width:min(94vw,760px);padding:32px 22px 28px}#escape-body{grid-template-columns:1fr;gap:18px}#escape-guide-stage{min-height:0;padding-top:18px}#escape-guide-img{width:min(100%,320px)}#escape-message-bubble:before,#escape-message-bubble:after{left:50%;transform:translate(-50%)}}.mutation-item,.gene-slot{border-left-width:4px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.mutation-item:hover,.gene-slot:hover{transform:translate(4px)}.mutation-item.common,.gene-slot.common{border-left-color:#fff}.rarity-badge.common{color:#cbd5e1;border:1px solid #64748b;background:#ffffff0d}.mutation-item.rare,.gene-slot.rare{border-left-color:#3b82f6;background:linear-gradient(90deg,rgba(59,130,246,.1),transparent)}.rarity-badge.rare{color:#60a5fa;border:1px solid #3b82f6;font-weight:700;background:#3b82f61a}.mutation-item.epic,.gene-slot.epic{border-left-color:#a855f7;background:linear-gradient(90deg,rgba(168,85,247,.15),transparent);box-shadow:0 0 10px #a855f71a}.rarity-badge.epic{color:#c084fc;border:1px solid #a855f7;font-weight:700;text-shadow:0 0 5px rgba(168,85,247,.5);background:#a855f71a}.mutation-item.legend,.gene-slot.legend{border-left-color:#fbbf24;background:linear-gradient(90deg,rgba(251,191,36,.2),transparent);box-shadow:0 0 15px #fbbf2433;border:1px solid rgba(251,191,36,.5);border-left:4px solid #fbbf24}.rarity-badge.legend{color:#fbbf24;border:1px solid #fbbf24;font-weight:900;text-shadow:0 0 8px rgba(251,191,36,.8);animation:glow 1.5s infinite alternate;background:#fbbf241a}.rarity-badge{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:8px}@keyframes glow{0%{box-shadow:0 0 2px #fbbf24}to{box-shadow:0 0 8px #fbbf24}}.action-btn.active-mode{background:var(--accent)!important;box-shadow:0 0 15px var(--accent)!important;color:#fff!important;transform:scale(1.1)}.action-btn.active-mode i{color:#fff!important}#bestiary-detail{padding:15px;background:#0006;border-radius:var(--radius-md);border:1px solid var(--border);animation:fadeIn .3s ease-out;margin-top:10px}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}#detail-icon-full{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:var(--radius-md);border:2px solid var(--primary);box-shadow:0 0 15px #8b5cf64d}#detail-icon-full canvas{width:100%!important;height:100%!important;image-rendering:pixelated;object-fit:contain}#detail-icon-full .bestiary-skill-icon{width:52px;height:52px}.detail-title-group{flex:1}#detail-name{font-size:20px;color:var(--primary-light);margin-bottom:4px}#detail-type{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.detail-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.detail-stat-item{display:flex;justify-content:space-between;padding:8px 12px;background:#ffffff08;border-radius:var(--radius-sm);font-size:14px}.stat-label{color:var(--text-dim)}.stat-value{color:var(--text-main);font-weight:700}.detail-stats-grid.mutation-levels{grid-template-columns:1fr}.detail-stat-item.mutation-level-detail{align-items:flex-start;gap:12px}.detail-stat-item.mutation-level-detail .stat-label{flex:0 0 56px}.detail-stat-item.mutation-level-detail .stat-value{flex:1;text-align:left}.detail-stat-item.mutation-level-detail.is-undiscovered{opacity:.45;filter:saturate(0)}.detail-description{font-size:14px;line-height:1.6;color:var(--text-main);margin-bottom:20px;padding:12px;background:#ffffff05;border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.detail-skill-range-slot{margin-bottom:20px}.detail-skill-range-slot:empty{display:none}.detail-skill-range{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm)}.detail-skill-range-title{font-size:12px;color:var(--warning);letter-spacing:.04em}.detail-skill-range-grid{--skill-range-cols: 3;--skill-range-rows: 3;display:grid;grid-template-columns:repeat(var(--skill-range-cols),20px);grid-template-rows:repeat(var(--skill-range-rows),20px);gap:4px;width:fit-content}.detail-skill-range-cell{width:20px;height:20px;border:1px solid rgba(255,255,255,.9);background:#ffffff0a;box-sizing:border-box}.detail-skill-range-cell.is-target{background:#38bdf8e6;box-shadow:inset 0 0 0 1px #ffffff73}.detail-skill-range-cell.is-actor{border-color:#f8fafc;box-shadow:inset 0 0 0 2px #ffffff8c}.detail-skill-range-cell.is-actor.is-target{background:#0ea5e9f2}.detail-skills-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.detail-skill-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:#ffffff08;border-radius:4px}.detail-skill-name{font-weight:700;font-size:13px;color:var(--primary-light)}.detail-skill-desc{font-size:11px;color:var(--text-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-resistances-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.resistance-tag{font-size:11px;padding:4px 10px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:4px}.resistance-tag.weak{color:#ff4757;border-color:#ff47574d;background:#ff47571a}.resistance-tag.resist{color:#2ed573;border-color:#2ed5734d;background:#2ed5731a}.resistance-tag.null{color:#747d8c;border-color:#747d8c4d;background:#747d8c1a}.resistance-tag.neutral{color:#8f98a7;border-color:#8f98a740;background:#8f98a714}.resistance-tag.trait{color:#7dd3fc;border-color:#7dd3fc40;background:#38bdf81a}#home-ui{background:#05050ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:90}#home-screen{background:linear-gradient(135deg,#10101a,#1a1a2e);border:1px solid var(--primary-dark);box-shadow:0 0 40px #000c,inset 0 0 20px #8b5cf61a;padding:30px}#lab-ui .panel{display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:2px solid var(--border);padding-bottom:15px}.home-header h2{font-size:28px;color:var(--primary-light);text-shadow:0 0 10px rgba(139,92,246,.4)}.shard-display{background:#0000004d;padding:10px 18px;border-radius:10px;border:1px solid var(--warning);color:var(--warning);font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:inset 0 0 0 1px #ffc8571f}.upgrade-section{margin-bottom:20px;overflow-y:auto;flex:1;padding:0 16px;scrollbar-width:none;-ms-overflow-style:none}.upgrade-section::-webkit-scrollbar{display:none}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:15px}.upgrade-item{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm, 4px);padding:16px;transition:background .2s,border-color .2s;display:flex;flex-direction:column;gap:8px}.upgrade-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.upgrade-item:hover{background:#ffffff0f;border-color:var(--primary-light)}.upgrade-item h4{color:var(--text-main);font-size:16px;margin:0}.upgrade-info{font-size:12px;color:var(--text-dim);line-height:1.4}.upgrade-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upgrade-metric{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.4;background:#ffffff05}.upgrade-metric.current{color:var(--text-main)}.upgrade-metric.next{color:var(--accent)}.upgrade-metric.next.is-max{color:var(--text-dim)}.upgrade-level{font-size:14px;color:var(--accent);font-weight:700}.upgrade-btn{margin-top:auto;padding:8px;background:var(--primary-dark);border:none;border-radius:0;color:#fff;font-size:14px;cursor:pointer;display:flex;justify-content:center;gap:10px;transition:opacity .2s;clip-path:polygon(0px 4px,4px 4px,4px 0px,calc(100% - 4px) 0px,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0px calc(100% - 4px))}.upgrade-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8)}.home-actions{display:flex;flex-direction:column;gap:16px;align-items:center}.main-start{width:100%;max-width:500px;height:60px;font-size:22px;background:linear-gradient(to bottom,var(--primary),var(--primary-dark));box-shadow:0 4px 15px #8b5cf666;animation:startPulse 2s infinite}@keyframes startPulse{0%{transform:scale(1);box-shadow:0 4px 15px #8b5cf666}50%{transform:scale(1.02);box-shadow:0 6px 25px #8b5cf699}to{transform:scale(1);box-shadow:0 4px 15px #8b5cf666}}.sub-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:800px}.sub-actions .menu-item{flex:1;margin:0}.home-title-area{text-align:center;margin-bottom:20px}.game-logo-text{font-size:40px;font-weight:900;margin:0;background:linear-gradient(180deg,#fff,#a29bfe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(139,92,246,.5));letter-spacing:2px}.game-subtitle{font-size:16px;color:var(--accent);margin-top:4px;letter-spacing:3px;opacity:.9}.home-nav-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:800px}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);gap:10px}.nav-btn:hover{background:#8b5cf626;border-color:var(--primary-light);transform:translateY(-4px);box-shadow:0 8px 20px #0000004d,0 0 15px #8b5cf633}.nav-btn:active{transform:translateY(2px)}.nav-btn svg{color:var(--primary-light);filter:drop-shadow(0 0 5px rgba(139,92,246,.5))}.nav-btn span{font-size:14px;font-weight:700}@media(max-width:600px){#home-screen{padding:20px}.upgrade-grid{grid-template-columns:1fr}}.gene-graphic{display:inline-block;width:20px;height:20px;border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 0 4px #00000080;background:linear-gradient(135deg,#fff3,#0003)}.gene-graphic:before{content:"";position:absolute;top:20%;left:20%;width:60%;height:60%;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-sizing:border-box}.gene-graphic:after{content:"";position:absolute;top:40%;left:40%;width:20%;height:20%;border-radius:50%;background:#fff}.gene-graphic.common{background-color:#94a3b8}.gene-graphic.rare{background-color:#3b82f6}.gene-graphic.epic{background-color:#a855f7}.gene-graphic.legend{background-color:#fbbf24;box-shadow:inset 0 0 4px #00000080,0 0 8px #fbbf2499}.gene-graphic.legend:before{border-color:#fff}@media(min-width:1024px){:root{--sidebar-width: 320px}body{background:#000}#touch-controls #dpad,#touch-controls #action-buttons{display:none}#pc-hotbar:not(.hidden){bottom:24px}.hotbar-slot.type-item,.hotbar-slot.type-skill{background:#14141ee6}.hotbar-slot:hover{border-color:var(--primary-light);background:#8b5cf633;transform:translateY(-2px)}.hotbar-slot.hotbar-slot-selected{border-color:var(--accent)!important;box-shadow:0 0 8px #22d3ee80;background:#22d3ee1f!important}.slot-content canvas{image-rendering:pixelated;width:32px;height:32px}#hud{background:none;padding:0}#hud-left{position:fixed;top:16px;left:16px;padding:16px;background:#0a0a0fb3;border-radius:var(--radius-lg);border:1px solid var(--border);-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 4px 20px #00000080}#hud-right{position:fixed;top:16px;right:16px;gap:12px}#message-log{bottom:100px;left:16px;width:var(--sidebar-width)}#minimap{width:clamp(240px,28vw,380px);height:clamp(240px,28vw,380px)}}@keyframes facingPulse{0%{opacity:.4}to{opacity:.8}}#shortcut-assign-ui .panel{width:600px!important;max-width:94vw;max-height:88vh;padding:28px;background:#0f0f19fa;border:1px solid var(--primary-light);box-shadow:0 10px 40px #0009}#shortcut-assign-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;width:100%;overflow-x:hidden!important;display:flex;flex-direction:column}#shortcut-assign-list .menu-item{width:calc(100% - 4px);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);background:#ffffff05;transition:all .2s;flex-shrink:0}#shortcut-assign-list .menu-item:hover{background:#8b5cf633;border-color:var(--primary-light);transform:translate(4px)}#shortcut-assign-list canvas{image-rendering:pixelated}.scrollable-list::-webkit-scrollbar{width:6px}.scrollable-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.scrollable-list{scroll-padding:10px;padding:8px 6px}.leveling-up .level-up-container-overlay{background:#000000d9!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:flex;align-items:center;justify-content:center;padding:0}.level-up-vfx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.level-up-beam{position:absolute;top:50%;left:50%;width:150vw;height:150vh;background:radial-gradient(circle,rgba(139,92,246,.2) 0%,transparent 60%);transform:translate(-50%,-50%);animation:pulse-beam 2s infinite alternate ease-in-out}@keyframes pulse-beam{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.2);opacity:.4}}.level-up-sunburst{position:absolute;top:50%;left:50%;width:200vw;height:200vw;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.05) 0deg 8deg,transparent 8deg 16deg);transform:translate(-50%,-50%);animation:spin-sunburst 40s linear infinite;z-index:0}@keyframes spin-sunburst{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.level-up-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.confetti{position:absolute;width:10px;height:10px;opacity:0;border-radius:2px}@keyframes pop-confetti{0%{transform:translate(0) scale(0) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(1) rotate(var(--rot));opacity:0}}.level-up-content{position:relative;z-index:10;text-align:center;max-width:1200px;width:90%;animation:scale-up-fade .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes scale-up-fade{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.level-up-title{font-size:56px;font-weight:900;text-transform:uppercase;letter-spacing:6px;color:#fff;text-shadow:0 0 20px #8b5cf6,0 0 40px #a855f7;margin:0 0 10px;background:linear-gradient(to bottom,#fff,#c4b5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.level-up-subtitle{font-size:18px;color:var(--primary-light);margin-bottom:40px;text-shadow:0 0 10px rgba(139,92,246,.5);line-height:1.5}.mutation-cards-wrapper{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;padding:20px}.mutation-card{position:relative;width:280px;height:400px;background:#14141ee6;border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);opacity:0;animation:cascade-fade-up .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes cascade-fade-up{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.mutation-card:hover{transform:translateY(-15px) scale(1.05);z-index:20}.card-glow-bg{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.mutation-card:hover .card-glow-bg{opacity:1}.card-content-inner{position:relative;padding:24px;display:flex;flex-direction:column;height:100%;z-index:2}.card-header{display:flex;justify-content:flex-end;margin-bottom:20px}.card-rarity-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.card-icon-area{display:flex;align-items:center;justify-content:center;height:100px;margin-bottom:20px;position:relative}.card-icon-ring{width:80px;height:80px;border-radius:50%;border:2px dashed rgba(255,255,255,.3);animation:spin-slow 10s linear infinite;display:flex;align-items:center;justify-content:center}.card-icon-diamond{position:absolute;width:40px;height:40px;transform:rotate(45deg);background:#fff;box-shadow:0 0 20px #ffffff80}@keyframes spin-slow{to{transform:rotate(360deg)}}.card-title{font-size:22px;font-weight:700;margin:0 0 12px;color:#fff;text-align:center}.card-desc{font-size:14px;line-height:1.5;color:#ccc;flex:1;text-align:left}.card-select-btn{display:none}.mutation-card.common{border-color:#fff3}.mutation-card.common:hover{box-shadow:0 0 30px #fff3}.card-rarity-badge.common{border:1px solid #fff;color:#fff;background:#ffffff1a}.card-icon-diamond.common{background:#fff;box-shadow:0 0 20px #fff}.mutation-card.rare{border-color:#3b82f666}.mutation-card.rare:hover{box-shadow:0 0 30px #3b82f666}.card-rarity-badge.rare{border:1px solid #3b82f6;color:#60a5fa;background:#3b82f61a}.card-icon-diamond.rare{background:#60a5fa;box-shadow:0 0 20px #3b82f6}.mutation-card.epic{border-color:#a855f766}.mutation-card.epic:hover{box-shadow:0 0 30px #a855f766}.card-rarity-badge.epic{border:1px solid #a855f7;color:#c084fc;background:#a855f71a}.card-icon-diamond.epic{background:#c084fc;box-shadow:0 0 20px #a855f7}.mutation-card.legend{border-color:#fbbf2480}.mutation-card.legend:hover{box-shadow:0 0 40px #fbbf2499}.card-rarity-badge.legend{border:1px solid #fbbf24;color:#fbbf24;text-shadow:0 0 8px #fbbf24;background:#fbbf241a}.card-icon-diamond.legend{background:#fbbf24;box-shadow:0 0 30px #fbbf24}.btn-reroll-special{margin-top:40px;padding:16px 40px;font-size:18px;font-weight:700;color:#fff;background:#14141ecc;border:1px solid rgba(255,255,255,.2);border-radius:30px;cursor:pointer;transition:all .2s;box-shadow:0 0 20px #00000080}@media(max-height:850px){.level-up-title{font-size:36px;letter-spacing:4px;margin-bottom:6px}.level-up-subtitle{font-size:14px;margin-bottom:20px}.level-up-content{overflow-y:auto;max-height:92vh;scrollbar-width:none}.level-up-content::-webkit-scrollbar{display:none}.mutation-cards-wrapper{gap:16px;padding:10px}.mutation-card{width:220px;height:300px}.card-icon-area{height:70px;margin-bottom:12px}.card-icon-ring{width:60px;height:60px}.card-title{font-size:18px}.card-desc{font-size:12px}.btn-reroll-special{margin-top:16px;padding:10px 28px;font-size:15px}}.btn-reroll-special:hover:not(.disabled){background:#ffffff1a;border-color:#fff;box-shadow:0 0 20px #fff3}.btn-reroll-special:active:not(.disabled){transform:scale(.95)}.btn-reroll-special.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.reroll-icon{display:inline-block;margin-right:8px;font-size:20px}#floor-splash{position:fixed;top:30%;left:0;width:100%;pointer-events:none;z-index:1000;display:flex;justify-content:center;align-items:center}#floor-splash-content{background:linear-gradient(90deg,#3c3c3c00,#3c3c3c4d 15%,#3c3c3c80,#3c3c3c4d 85%,#3c3c3c00);padding:30px 0;width:100%;text-align:center;box-shadow:0 0 20px #0000004d;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden;opacity:0;transform:scaleY(0)}#floor-splash-name{font-family:DotGothic16,sans-serif;font-size:calc(36px * var(--ui-scale));color:#fff;text-shadow:0 0 10px rgba(255,255,255,.3),2px 2px 4px rgba(0,0,0,.6);letter-spacing:6px;margin-bottom:8px;transform:translateY(20px);opacity:0}#floor-splash-sub{font-size:calc(16px * var(--ui-scale));color:#ffffffe6;letter-spacing:3px;font-weight:700;transform:translateY(10px);opacity:0;text-shadow:2px 2px 4px rgba(0,0,0,.6)}.splash-in #floor-splash-content{animation:splash-bg-in .6s cubic-bezier(.16,1,.3,1) forwards}.splash-in #floor-splash-name{animation:splash-text-in .8s cubic-bezier(.16,1,.3,1) .2s forwards}.splash-in #floor-splash-sub{animation:splash-text-in .8s cubic-bezier(.16,1,.3,1) .4s forwards}.splash-out #floor-splash-content{animation:splash-bg-out .6s cubic-bezier(.7,0,.84,0) forwards}.splash-out #floor-splash-name,.splash-out #floor-splash-sub{animation:splash-text-out .4s ease-out forwards}@keyframes splash-bg-in{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes splash-bg-out{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.9)}}@keyframes splash-text-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-text-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}#boss-cutin{position:fixed;inset:0;z-index:1100;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden}#boss-cutin-bg{position:absolute;left:-10%;right:-10%;top:50%;height:min(240px,36vh);transform:translateY(-50%) skewY(-3deg);opacity:0;background:#050508;border-top:4px solid #FFE200;border-bottom:4px solid #FFE200;box-shadow:0 -4px 40px #ffe2002e,0 4px 40px #ffe2002e,0 0 120px #000000e6}#boss-cutin-halftone{position:absolute;left:-10%;right:-10%;top:50%;height:min(240px,36vh);transform:translateY(-50%) skewY(-3deg);opacity:0;background:radial-gradient(circle at 50% 0%,rgba(255,226,0,.42) 34%,transparent 35%),radial-gradient(circle at 50% 100%,rgba(255,226,0,.42) 34%,transparent 35%),radial-gradient(circle at 0% 50%,rgba(255,226,0,.42) 34%,transparent 35%),radial-gradient(circle at 100% 50%,rgba(255,226,0,.42) 34%,transparent 35%);background-size:24px 24px;mix-blend-mode:screen}#boss-cutin-speed-lines{position:absolute;left:-10%;right:-10%;top:50%;height:min(240px,36vh);transform:translateY(-50%) skewY(-3deg);opacity:0;background:repeating-linear-gradient(100deg,#ffe20000 0 18px,#ffe2000f 18px 20px)}#boss-cutin-panel{position:relative;z-index:2;width:min(1100px,96vw);min-height:min(180px,28vh);display:flex;flex-direction:row;gap:clamp(18px,3vw,40px);align-items:center;justify-content:center;padding:clamp(18px,3vw,30px) clamp(24px,4vw,42px);transform:translate(60px) skew(-2deg);opacity:0}#boss-cutin-visual{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}#boss-cutin-silhouette{position:absolute;left:-18px;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;opacity:.55}#boss-cutin-silhouette canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}#boss-cutin-sprite{position:relative;z-index:1;width:min(260px,26vw);aspect-ratio:1;display:flex;align-items:center;justify-content:center}#boss-cutin-sprite canvas{image-rendering:pixelated}#boss-cutin-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}#boss-cutin-badge{display:inline-block;margin-bottom:10px;padding:5px 14px;font-size:calc(12px * var(--ui-scale));letter-spacing:4px;font-weight:700;color:#0a0a10;background:linear-gradient(90deg,#fc4,#ffe066);box-shadow:0 0 18px #ffcc4473,0 2px 6px #0006;transform:skew(-6deg)}#boss-cutin-title{font-family:DotGothic16,sans-serif;font-size:clamp(32px,calc(4.5vw * var(--ui-scale)),56px);line-height:1.08;letter-spacing:6px;color:#fff;text-shadow:0 0 2px #fff,0 0 12px rgba(255,180,60,.5),2px 2px 0 rgba(0,0,0,.7),-1px -1px 0 rgba(0,0,0,.5),0 4px 18px rgba(0,0,0,.5);transform:skew(-2deg)}#boss-cutin-subtitle{margin-top:8px;font-size:calc(15px * var(--ui-scale));letter-spacing:3px;font-weight:700;color:#ffe6b4e6;text-shadow:0 0 8px rgba(255,200,100,.3),1px 1px 0 rgba(0,0,0,.6);transform:skew(-2deg)}.boss-cutin-encounter #boss-cutin-badge{background:linear-gradient(90deg,#ff8c00,#ffd000);box-shadow:0 0 24px #ffa00099,0 2px 6px #0006}.boss-cutin-encounter #boss-cutin-bg{background:#060402;border-color:#ffb800;box-shadow:0 -4px 40px #ffb80038,0 4px 40px #ffb80038,0 0 120px #000000e6}.boss-cutin-skill #boss-cutin-badge{background:linear-gradient(90deg,#4db,#6ed);box-shadow:0 0 24px #64e6d280,0 2px 6px #0006}.boss-cutin-skill #boss-cutin-bg{background:#03040a;border-color:#ffe200;box-shadow:0 -4px 40px #c8dcff1f,0 4px 40px #c8dcff1f,0 0 120px #000000e6}.boss-cutin-in #boss-cutin-bg{animation:boss-cutin-bg-in .22s ease-out forwards}.boss-cutin-in #boss-cutin-halftone{animation:boss-cutin-halftone-in .3s ease-out forwards}.boss-cutin-in #boss-cutin-speed-lines{animation:boss-cutin-speed-in .35s ease-out forwards}.boss-cutin-in #boss-cutin-panel{animation:boss-cutin-panel-in .3s cubic-bezier(.16,1,.3,1) forwards}.boss-cutin-out #boss-cutin-bg{animation:boss-cutin-bg-out .2s ease-in forwards}.boss-cutin-out #boss-cutin-halftone{animation:boss-cutin-halftone-out .2s ease-in forwards}.boss-cutin-out #boss-cutin-speed-lines{animation:boss-cutin-speed-out .18s ease-in forwards}.boss-cutin-out #boss-cutin-panel{animation:boss-cutin-panel-out .2s ease-in forwards}@keyframes boss-cutin-bg-in{0%{opacity:0;transform:translateY(-50%) skewY(-3deg) scaleY(.3)}to{opacity:1;transform:translateY(-50%) skewY(-3deg) scaleY(1)}}@keyframes boss-cutin-bg-out{0%{opacity:1;transform:translateY(-50%) skewY(-3deg) scaleY(1)}to{opacity:0;transform:translateY(-50%) skewY(-3deg) scaleY(.6)}}@keyframes boss-cutin-halftone-in{0%{opacity:0}to{opacity:.7}}@keyframes boss-cutin-halftone-out{0%{opacity:.7}to{opacity:0}}@keyframes boss-cutin-speed-in{0%{opacity:0;transform:translateY(-50%) skewY(-3deg) translate(-20%)}to{opacity:1;transform:translateY(-50%) skewY(-3deg) translate(0)}}@keyframes boss-cutin-speed-out{0%{opacity:1}to{opacity:0}}@keyframes boss-cutin-panel-in{0%{opacity:0;transform:translate(60px) skew(-2deg) scale(1.06)}to{opacity:1;transform:translate(0) skew(-2deg) scale(1)}}@keyframes boss-cutin-panel-out{0%{opacity:1;transform:translate(0) skew(-2deg)}to{opacity:0;transform:translate(-30px) skew(-2deg)}}@media(max-width:720px){#boss-cutin-panel{width:100vw;flex-direction:row;gap:12px;min-height:0;padding:14px 18px 18px}#boss-cutin-visual{justify-content:flex-start;flex-shrink:0}#boss-cutin-sprite{width:min(120px,32vw)}#boss-cutin-title{letter-spacing:3px}#boss-cutin-subtitle{letter-spacing:2px}}#bestiary-ui .entry-icon{background:none!important;border:none!important;box-shadow:none!important}#dungeon-select-ui .overlay-content{max-width:none;width:auto}.mode-select-screen{display:flex;flex-direction:column;align-items:center;gap:32px;padding:44px 36px 36px;max-width:1200px;width:100%}.mode-select-header{text-align:center}.mode-select-title{font-size:1.5em;font-weight:700;letter-spacing:4px;color:var(--text-light, #fff);text-shadow:0 0 12px rgba(200,220,255,.5);margin:0;text-transform:uppercase}.mode-cards-row{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:16px;width:100%}.mode-card{position:relative;flex:1 1 0;max-width:260px;min-width:160px;min-height:200px;border-radius:0;overflow:hidden;display:flex;flex-direction:column;font-size:16px}.mode-card--selectable{background:#0f121ef2;border:2px solid rgba(120,160,255,.35);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left;padding:0}.mode-card--selectable:hover{border-color:#78c8ffd9;box-shadow:0 0 18px #64b4ff40,inset 0 0 12px #508cff14;transform:translateY(-4px)}.mode-card--selectable:hover .mode-card__select-hint{opacity:1;transform:translateY(0)}.mode-card--locked{background:#0a0a10b3;border:2px solid rgba(80,80,100,.3);opacity:.45;cursor:not-allowed}.mode-card__inner{display:flex;flex-direction:column;gap:10px;padding:20px 16px 16px;height:100%}.mode-card__name{font-size:1.25rem;font-weight:700;color:var(--text-light, #fff);letter-spacing:2px;line-height:1.3;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.mode-card--locked .mode-card__name{color:#9696a0b3}.mode-card__desc{font-size:.88rem;color:var(--text-dim);line-height:1.55;flex:1}.mode-card__locked-label{font-size:.82rem;color:#78788cb3;letter-spacing:2px;text-align:center;padding-top:6px;border-top:1px solid rgba(80,80,100,.3)}.mode-card__select-hint{font-size:.88em;color:#78c8ffd9;letter-spacing:2px;text-align:center;padding-top:6px;border-top:1px solid rgba(120,200,255,.2);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}.mode-cancel-btn{width:auto;min-width:200px;letter-spacing:2px;font-size:.88em;padding:10px 28px}#region-select-ui .overlay-content{max-width:none;width:auto}.region-select-screen{display:flex;flex-direction:column;align-items:center;gap:32px;padding:44px 36px 36px;max-width:1100px;width:100%}.region-select-header{text-align:center}.region-select-title{font-size:1.5em;font-weight:700;letter-spacing:4px;color:var(--text-light, #fff);text-shadow:0 0 12px rgba(200,220,255,.5);margin:0 0 8px;text-transform:uppercase}.region-select-subtitle{font-size:.88em;color:var(--text-dim);margin:0;letter-spacing:1px}.route-cards-row{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:24px;width:100%}.route-card{position:relative;flex:0 1 auto;width:clamp(200px,calc(33vw - 24px),300px);aspect-ratio:4 / 5;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;font-size:16px}.route-card--selectable{background:#0f121ef2;border:2px solid rgba(120,160,255,.35);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left;padding:0}.route-card--selectable:hover{border-color:#78c8ffd9;box-shadow:0 0 18px #64b4ff40,inset 0 0 12px #508cff14;transform:translateY(-4px)}.route-card--selectable:hover .route-card__select-hint{opacity:1;transform:translateY(0)}.route-card--locked{background:#0a0a10b3;border:2px solid rgba(80,80,100,.3);opacity:.55;cursor:not-allowed}.route-card__inner{display:flex;flex-direction:column;gap:10px;padding:20px 16px 16px;height:100%;box-sizing:border-box}.route-card__icon{font-size:2em;color:#8cb4ffb3;text-align:center;margin-bottom:4px;letter-spacing:2px}.route-card--locked .route-card__icon{color:#64647880;font-size:2.5em}.route-card__name{font-size:1.5rem;font-weight:700;color:var(--text-light, #fff);letter-spacing:2px;line-height:1.3;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.route-card--locked .route-card__name{color:#9696a0b3;letter-spacing:4px}.route-card__desc{font-size:1rem;color:var(--text-dim);line-height:1.55;flex:1}.route-card__tag{display:inline-block;font-size:1rem;color:var(--color-warn, #e17055);border:1px solid currentColor;padding:2px 6px;letter-spacing:.5px;align-self:flex-start}.route-card__tag--locked{color:#64647899;border-color:currentColor}.route-card__select-hint{font-size:.88em;color:#78c8ffd9;letter-spacing:2px;text-align:center;padding-top:6px;border-top:1px solid rgba(120,200,255,.2);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;margin-top:auto}#region-select-ui .region-return-btn{width:auto;min-width:200px;letter-spacing:2px;font-size:.88em;padding:10px 28px}.route-card__rarity{font-size:.76em;font-weight:700;padding:2px 6px;border-radius:2px;border:1px solid;align-self:flex-start;margin-bottom:4px}.route-card__rarity--common{color:#9ca3af;border-color:#9ca3af}.route-card__rarity--rare{color:#60a5fa;border-color:#60a5fa}.route-card__rarity--epic{color:#a855f7;border-color:#a855f7}.route-card__rarity--legend{color:#f59e0b;border-color:#f59e0b}.route-card__bonus{font-size:.9em;color:#6bdb78;align-self:flex-start}.route-card__demerit{font-size:.88em;color:#e17055;align-self:flex-start}@media(max-width:600px){.route-cards-row{flex-direction:column;align-items:center}.route-card{max-width:100%;width:100%}}#control-guide{position:fixed;right:clamp(6px,1.2vw,12px);bottom:clamp(6px,1.2vh,12px);display:flex;flex-direction:column;gap:clamp(2px,.4vw,4px);align-items:flex-start;background:transparent;padding:6px 0;font-size:clamp(9px,1.4vw,12px);color:#ccc;z-index:10200;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:.7}body.gamepad-mode .panel-close-btn,body.gamepad-mode .panel-back-btn,body.gamepad-mode .storage-bottom,body.gamepad-mode .mode-cancel-btn{display:none!important}#control-guide.hidden{display:none}.guide-hint{display:inline-flex;align-items:center;gap:4px}.guide-btn{display:inline-flex;justify-content:center;align-items:center;min-width:clamp(18px,2.5vw,22px);height:clamp(16px,2.2vw,20px);padding:0 5px;background:#3a3a3a;border:1px solid #777;border-bottom:2px solid #555;border-radius:4px;font-size:clamp(8px,1.1vw,10px);font-weight:700;color:#eee;letter-spacing:.02em}.gamepad-focus{outline:2px solid #f0c040!important;outline-offset:2px!important;box-shadow:0 0 8px #f0c0408c!important;transition:none!important}.bestiary-entry,.inventory-item,.storage-item,.gene-slot,.menu-item,.btn-primary,.btn-secondary,.settings-volume-row,input[type=range]{outline:none}#gene-ui .panel{scrollbar-width:none;overflow-y:auto;scroll-padding:44px 0 8px 0}#gene-ui .panel h3{position:sticky;top:-32px;z-index:1;background:var(--bg-surface);margin:-32px -32px 12px;padding:32px 32px 8px}#gene-ui .panel::-webkit-scrollbar{display:none}.language-select-overlay{z-index:10100}.title-modal-overlay{z-index:10001;background:#000c}.title-modal-panel{max-width:480px;min-width:280px;max-height:80vh;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:8px}.title-modal-panel h3{text-align:center;margin-bottom:8px}.title-modal-date{font-size:11px;color:#ffffff80;text-align:right;margin:0}.title-modal-body{font-family:DotGothic16,monospace;font-size:13px;line-height:1.7;color:#ffffffd9;white-space:pre-wrap;word-break:break-word;margin:0}.credits-body{white-space:normal}.credits-section-heading{font-family:DotGothic16,monospace;font-size:14px;font-weight:700;color:#fffffff2;margin-top:12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:2px}.credits-list{list-style:none;padding:0;margin:0 0 8px}.credits-list li{font-family:DotGothic16,monospace;font-size:13px;line-height:1.8;color:#fffc;padding-left:12px}.language-select-panel{max-width:280px;min-width:200px;padding:20px;display:flex;flex-direction:column;gap:8px}.language-select-panel h3{text-align:center;margin-bottom:4px}.language-select-list{display:flex;flex-direction:column;gap:8px}.language-select-btn{width:100%;text-align:center}.language-select-btn--active{border-color:var(--primary-light, #7ec8e3);color:var(--primary-light, #7ec8e3)}.depart-confirm-overlay{position:fixed;inset:0;background:#000000a6;z-index:300;display:flex;align-items:center;justify-content:center}.depart-confirm-dialog{background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #374151);border-radius:6px;padding:24px 32px;display:flex;flex-direction:column;gap:16px;min-width:220px;text-align:center}.depart-confirm-msg{font-size:1rem;color:var(--text-primary, #e0e0e0);margin:0}.depart-confirm-buttons{display:flex;gap:12px;justify-content:center}.depart-confirm-buttons button{min-width:80px}#title-screen{z-index:9999;background:#0a0a0f;-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column}#title-parade-canvas{position:absolute;top:0;left:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;z-index:0}#title-screen-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;width:100%;height:100%;position:relative;z-index:1;pointer-events:none}#title-screen-logo{image-rendering:pixelated;image-rendering:crisp-edges;width:564px;height:108px;margin-top:calc(25vh - 54px);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#title-screen-buttons{display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto;margin-top:auto;padding-bottom:80px}.title-btn{background:#141423d9;border:1px solid rgba(255,255,255,.3);color:#fff;padding:12px 48px;font-size:15px;border-radius:6px;cursor:pointer;min-width:280px;transition:background .15s,border-color .15s,transform .1s;font-family:DotGothic16,monospace}.title-btn:hover{background:#8b5cf659;border-color:#8b5cf6b3;color:#fff;outline:none}.title-btn:focus{background:#8b5cf659;border-color:#8b5cf6b3;color:#fff;outline:none;transform:translateY(2px)}.title-btn-primary{background:#141423d9;border-color:#ffffff4d;color:#fff;font-size:17px;padding:14px 48px}.title-btn-primary:hover,.title-btn-primary:focus{background:#8b5cf659;border-color:#8b5cf6b3;color:#fff;outline:none}.title-btn-primary:focus{transform:translateY(2px)}.title-btn-small{font-size:15px;padding:12px 48px;min-width:280px;color:#fff;border-color:#ffffff4d}.title-btn-small:hover,.title-btn-small:focus{color:#fff;background:#8b5cf659;border-color:#8b5cf6b3;outline:none}.title-btn-small:focus{transform:translateY(2px)}#settings-ui .panel{position:relative}#settings-ui.settings-from-title{z-index:10000;background:#0a0a0f;-webkit-backdrop-filter:none;backdrop-filter:none}.panel-x-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;font-size:14px;line-height:28px;text-align:center;border-radius:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff9;cursor:pointer;z-index:10;transition:background .15s,color .15s}.panel-x-btn:hover{background:#ffffff26;color:#fff}#loading-screen{position:fixed;inset:0;z-index:10000;background:#0a0a0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;transition:opacity .5s ease}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-logo{width:min(280px,70vw);image-rendering:pixelated;image-rendering:crisp-edges}#loading-bar-container{width:min(260px,65vw);height:6px;background:#ffffff1f;border-radius:3px;overflow:hidden}#loading-bar-fill{height:100%;width:0%;background:#8b5cf6;border-radius:3px;transition:width .2s ease}
