.app-root{background:radial-gradient(at 30% 20%,#0d1a3a 0%,#050a18 50%,#02040a 100%);width:100%;height:100%;position:relative;overflow:hidden}.start-overlay{z-index:200;cursor:pointer;background:#050a18;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.start-loading{flex-direction:column;align-items:center;gap:12px;min-width:200px;display:flex}.progress-bar-track{background:#6ae2ff26;border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#6ae2ff,#b06aff);border-radius:2px;height:100%;transition:width .3s}.start-prompt{letter-spacing:.18em;color:#6ae2ff;text-shadow:0 0 20px #6ae2ff4d;font-size:clamp(1rem,4vw,1.6rem);font-weight:900;animation:1.4s ease-in-out infinite startBlink}@keyframes startBlink{0%,to{opacity:.15}50%{opacity:1}}.level-loading-overlay{z-index:150;pointer-events:none;background:#050a18;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.level-loading-content{flex-direction:column;align-items:center;gap:16px;display:flex}.level-loading-name{color:#6ae2ff;letter-spacing:.05em;text-shadow:0 0 12px #6ae2ff40;font-size:1.1rem;font-weight:800}.ad-loading-overlay{z-index:50;background:#020a16d9;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ad-loading-content{flex-direction:column;align-items:center;gap:12px;display:flex}.ad-loading-text{color:#8899b0;font-size:.85rem;font-weight:600}.level-loading-spinner{border:2.5px solid #6ae2ff26;border-top-color:#6ae2ff;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.game-canvas{touch-action:manipulation;width:100%;height:100%;display:block}.ui-layer{pointer-events:none;-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ui-layer>*{pointer-events:auto}.panel{background:#080e1ed1;border-radius:20px;width:min(460px,90vw);margin:12px auto;padding:clamp(12px,3vw,32px) clamp(12px,3vw,28px);animation:.35s cubic-bezier(.34,1.56,.64,1) panelPop;box-shadow:0 8px 32px #00000080,inset 0 1px #78c8ff14}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:transform;background:#0a142d8c}}@keyframes panelPop{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.menu-panel{text-align:center}.menu-panel h1{white-space:nowrap;font-size:clamp(1.8rem,5vw,2.8rem)}.menu-panel--challenges{flex-direction:column;width:min(92vw,660px);max-width:none;max-height:88vh;display:flex}.menu-panel .eyebrow,.menu-panel .subtitle{display:none}.overlay-panel{text-align:center;z-index:50;max-width:420px;position:relative}.overlay-panel--pause{max-width:360px}.overlay-panel--gameover{max-width:380px}.overlay-panel--complete{max-width:420px}.overlay-panel .eyebrow{margin-bottom:20px;padding:8px 20px;font-size:1rem}.panel-header{justify-content:center;align-items:center;min-height:36px;margin-bottom:10px;display:flex;position:relative}.panel-header .back-link{margin-top:0;padding:6px 14px 8px 11px;font-size:.85rem;line-height:1;position:absolute;top:50%;left:0;transform:translateY(-50%)}.panel-header .back-link:hover,.panel-header .back-link:active{transform:translateY(-50%)}.panel-header h2{text-align:center;margin:0}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#6ae2ff;background:#2ab4ff14;border:1px solid #2ab4ff33;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 18px;font-size:.7rem;font-weight:800;display:inline-flex}h1{letter-spacing:.06em;background:linear-gradient(#fff 0%,#6ad0ff 40%,#3880d0 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 20px #2ab4ff59);-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:clamp(3rem,12vw,5.6rem);font-weight:900;line-height:1.02}h2{letter-spacing:.02em;color:#e2f4ff;margin:0 0 16px;font-size:clamp(1.3rem,4.5vw,1.8rem);font-weight:800}.subtitle{color:#a0d2ff99;margin:4px 0 24px;font-size:clamp(.85rem,2.6vw,.95rem);line-height:1.45}.stat-chip{color:#ffd866;-webkit-backdrop-filter:blur(4px);text-shadow:0 1px #0000004d;background:#0d1a3080;border:1px solid #c8843a80;border-radius:999px;align-items:center;gap:10px;margin-top:18px;margin-bottom:28px;padding:10px 28px;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 4px #6a44204d}.stat-chip:before{content:"★";color:#ffd866;text-shadow:0 0 8px #ffd86666;font-size:1.4rem}.lang-toggle-wrapper{margin-top:24px}.lang-toggle{color:#d8f2ff;letter-spacing:.06em;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#1c386866;border:1px solid #3c8cdc4d;border-radius:10px;padding:8px 20px;font-family:inherit;font-size:.75rem;font-weight:800;transition:background .1s,transform 60ms}.lang-toggle:hover{background:#24447880}.lang-toggle:active{transform:translateY(1px)}.btn-group{flex-direction:column;gap:14px;display:flex}.btn-primary,.btn-secondary,.hud-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:800;line-height:1.2;text-decoration:none;transition:transform 60ms,box-shadow .1s;display:inline-flex}.btn-primary{letter-spacing:.08em;text-transform:uppercase;color:#031828;text-shadow:0 1px #fff3;background:linear-gradient(#6af5e0 0%,#2ad4b0 100%);width:100%;padding:16px 28px;font-size:1.05rem;position:relative;top:0;box-shadow:0 6px #1a8870,0 10px 28px #2ad4b059}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px #1a8870,0 14px 32px #2ad4b073}.btn-primary:active{transform:translateY(4px);box-shadow:0 2px #1a8870,0 4px 12px #2ad4b04d}.btn-secondary{letter-spacing:.05em;color:#d8f2ff;background:linear-gradient(#1c3868 0%,#122040 100%);border:1.5px solid #3c8cdc66;width:100%;padding:14px 28px;font-size:.92rem;position:relative;top:0;box-shadow:0 5px #0a1528,inset 0 1px #78c8ff1f}.btn-secondary:hover{background:linear-gradient(#244478 0%,#182850 100%);transform:translateY(-2px);box-shadow:0 7px #0a1528}.btn-secondary:active{transform:translateY(3px);box-shadow:0 2px #0a1528}.btn-tile-row{flex-flow:wrap;justify-content:center;gap:14px;display:flex}.btn-tile-row .btn-tile{flex:1;min-width:0}.btn-tile{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:130px;min-height:110px;padding:24px;font-weight:800;text-decoration:none;transition:transform 60ms,box-shadow .1s;display:flex;position:relative;top:0}.btn-tile-icon{filter:drop-shadow(0 2px 4px #0000004d);font-size:2.2rem;line-height:1}.btn-tile-label{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:800}.btn-icon{align-items:center;line-height:1;display:inline-flex;transform:translateY(-1px)}.btn-tile-primary{color:#031828;background:linear-gradient(#6af5e0 0%,#2ad4b0 100%);box-shadow:0 6px #1a8870,0 10px 28px #2ad4b059}.btn-tile-primary:hover{transform:translateY(-2px);box-shadow:0 8px #1a8870,0 14px 32px #2ad4b073}.btn-tile-primary:active{transform:translateY(4px);box-shadow:0 2px #1a8870,0 4px 12px #2ad4b04d}.btn-tile-secondary{color:#d8f2ff;background:linear-gradient(#1c3868 0%,#122040 100%);border:1.5px solid #3c8cdc66;box-shadow:0 6px #0a1528,inset 0 1px #78c8ff1f}.btn-tile-secondary:hover{background:linear-gradient(#244478 0%,#182850 100%);transform:translateY(-2px);box-shadow:0 8px #0a1528}.btn-tile-secondary:active{transform:translateY(4px);box-shadow:0 2px #0a1528}.level-list{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;min-height:0;max-height:55vh;margin:10px 0 2px;padding:2px;display:grid;overflow-y:auto}.level-list::-webkit-scrollbar{width:4px}.level-list::-webkit-scrollbar-track{background:0 0}.level-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.btn-level{text-align:center;color:#d8f2ff;-webkit-backdrop-filter:blur(4px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#12204080;border:1px solid #1a4a7a66;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:120px;padding:20px 14px 16px;font-size:.88rem;font-weight:700;transition:transform 60ms,border-color .1s,box-shadow .1s;display:flex;position:relative;top:0;box-shadow:0 4px #0a15284d,inset 0 1px #78c8ff0f}.btn-level:hover{border-color:#2a7aaa99;transform:translateY(-3px);box-shadow:0 7px #0a15284d,0 0 24px #2a7aaa33}.btn-level:active{transform:translateY(2px);box-shadow:0 2px #0a15284d}.btn-level.locked{opacity:.25;cursor:not-allowed;box-shadow:none;filter:grayscale(.6);pointer-events:none}.btn-level.locked:hover{box-shadow:none;border-color:#1a407066;transform:none}.btn-level.cleared{background:#0e2a1a80;border-color:#2a8a4a80;box-shadow:0 4px #0a26124d,inset 0 1px #3cc86414}.btn-level.cleared:hover{border-color:#3aaa5a99;box-shadow:0 7px #0a26124d,0 0 24px #2aaa4a33}.level-title{font-size:.95rem;font-weight:800;line-height:1.2}.level-meta{opacity:.65;white-space:nowrap;font-size:.65rem;font-weight:600}.level-attempts{opacity:.45;margin-right:6px;font-size:.6rem}.btn-level.cleared .level-meta{color:#6ae89a;opacity:1}.back-link{color:#8aceff;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#12204073;border:1px solid #1a407066;border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:12px 24px;font-family:inherit;font-size:.88rem;font-weight:700;transition:background .1s,border-color .1s,transform 60ms;display:inline-flex;position:relative;top:0;box-shadow:0 4px #0a15284d}.back-link:hover{background:#1a305880;border-color:#2a5a8a80;transform:translateY(-1px);box-shadow:0 5px #0a15284d}.back-link:active{transform:translateY(3px);box-shadow:0 1px #0a15284d}.settings-group{flex-direction:column;gap:clamp(6px,1.2vh,12px);margin-bottom:8px;display:flex}.settings-row{color:#d8f2ff;-webkit-backdrop-filter:blur(4px);background:#0a142866;border:1px solid #2a5a8a40;border-radius:12px;justify-content:space-between;align-items:center;padding:clamp(8px,1.5vh,14px) clamp(12px,2vw,20px);font-size:.95rem;font-weight:700;display:flex}.toggle-btn{letter-spacing:.06em;cursor:pointer;border:0;border-radius:8px;min-width:60px;padding:8px 20px;font-family:inherit;font-size:.78rem;font-weight:800;transition:background .1s,transform 60ms}.toggle-btn.on{color:#fff;-webkit-backdrop-filter:blur(4px);background:#2ab07a80;box-shadow:0 3px #0a4a2a4d}.toggle-btn.off{color:#d88a8a;-webkit-backdrop-filter:blur(4px);background:#5a2a2a66;box-shadow:0 3px #1a0a0a4d}.toggle-btn:active{transform:translateY(2px);box-shadow:0 1px #0a0a0a}.hud-bar{align-items:center;gap:12px;display:flex;position:absolute;top:clamp(14px,2.5vw,20px);bottom:auto;left:clamp(14px,2.5vw,20px);right:clamp(14px,2.5vw,20px)}.hud-bar-left{flex:1;justify-content:flex-start;align-items:center;gap:8px;min-width:0;display:flex}.hud-bar-right{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.challenge-title{color:#b8d8ff;text-shadow:0 2px 8px #00143ce6;letter-spacing:.04em;white-space:nowrap;pointer-events:none;z-index:10;font-size:clamp(.85rem,2.2vw,1.15rem);font-weight:700;position:absolute;top:clamp(14px,2.5vw,20px);bottom:auto;left:50%;right:auto;transform:translate(-50%)}.fps-counter{color:#a0d2ff80;letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:700}.tutorial-hint{color:#fff;text-shadow:0 0 16px #6ae2ff66,0 2px 12px #000a1ee6;letter-spacing:.08em;text-align:center;white-space:nowrap;pointer-events:none;z-index:20;font-size:clamp(.85rem,2.2vw,1.1rem);font-weight:900;animation:.2s ease-out hintAppear,2s ease-in-out .2s infinite hintPulse;position:absolute;bottom:clamp(60px,12vh,90px);left:50%;transform:translate(-50%)}@media (max-width:640px){.tutorial-hint{white-space:normal;max-width:85vw;font-size:.8rem;line-height:1.3;bottom:clamp(70px,15vh,100px)}}@keyframes hintAppear{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes hintPulse{0%,to{opacity:1;text-shadow:0 0 16px #6ae2ff66,0 2px 12px #000a1ee6}50%{opacity:.6;text-shadow:0 0 24px #6ae2ff99,0 2px 12px #000a1ee6}}.score-box{-webkit-backdrop-filter:blur(8px);background:#0d1a3073;border:1px solid #2a6a9a59;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px #0810204d}.score-box-label{letter-spacing:.12em;color:#6a9ac0;text-transform:uppercase;font-size:.65rem;font-weight:800;line-height:2}.score-box-value{color:#e8faff;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #6ae2ff33;font-size:1rem;font-weight:900;line-height:1}.hud-btn{letter-spacing:.06em;color:#d0e8ff;-webkit-backdrop-filter:blur(4px);background:#1c386866;border:1px solid #2a4a7a66;border-radius:10px;justify-content:center;align-items:center;width:auto;min-width:80px;padding:10px 22px;font-size:.78rem;font-weight:800;display:inline-flex;position:relative;top:0;box-shadow:0 4px #0810204d}.hud-btn:hover{background:#24447880;border-color:#3a5a8a80;transform:translateY(-1px);box-shadow:0 5px #0810204d}.hud-btn:active{transform:translateY(3px);box-shadow:0 1px #0810204d}.fail-tag{text-transform:uppercase;letter-spacing:.12em;color:#ff8a9a;-webkit-backdrop-filter:blur(4px);background:#2a0a1280;border:1px solid #ff3d6a80;border-radius:10px;margin:8px 0 16px;padding:8px 20px;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:0 3px #0a04064d}.debug-warning-inline{letter-spacing:.08em;text-transform:uppercase;color:#ffcf9d;-webkit-backdrop-filter:blur(4px);background:#501e0880;border:1px solid #c8843a80;border-radius:8px;padding:5px 12px;font-size:.62rem;font-weight:800;display:inline-flex;box-shadow:0 2px #2a10044d}.overlay-score{color:#ffd866;text-shadow:0 0 16px #ffd8664d;margin:8px 0 16px;font-size:clamp(1.4rem,5vw,2rem);font-weight:800}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a1020;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(#2a5a8a,#1a4070);border:2px solid #0a1020;border-radius:4px;min-height:40px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#3a6a9a,#2a5080)}@media (max-width:820px){.hud-bar{flex-wrap:wrap}.score-box{flex-shrink:0;gap:6px;width:auto;padding:5px 14px;position:static;top:auto;transform:none}.score-box-value{font-size:.9rem}.score-box-label{font-size:.42rem}.hud-bar-left{flex:1}.hud-btn{min-width:48px;padding:5px 10px;font-size:.58rem}.btn-primary,.btn-secondary{padding:10px 16px;font-size:.82rem}.panel{margin:8px auto;padding:14px 12px}.menu-panel{max-width:360px}.menu-panel h1{margin-bottom:0;font-size:1.3rem}.menu-panel .stat-chip{border-width:1.5px;gap:5px;margin:10px 0;padding:4px 14px;font-size:.7rem;display:inline-flex}.menu-panel .stat-chip:before{font-size:.85rem}.menu-panel .lang-toggle-wrapper{margin-top:10px}.btn-tile{border-radius:10px;gap:6px;min-height:68px;padding:8px 6px}.btn-tile-icon{font-size:1.4rem}.btn-tile-label{font-size:.55rem}.btn-tile-row{gap:6px}.btn-tile-row .btn-tile{flex:1;min-width:0}.level-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;max-height:none;margin:6px 0 2px}.btn-level{border-width:1.5px;border-radius:12px;min-height:100px;padding:14px 10px 12px;font-size:.78rem}.menu-panel--challenges{width:94vw;max-width:none}.overlay-panel{max-width:340px}.back-link{padding:7px 14px;font-size:.72rem}.panel-header{min-height:34px;margin-bottom:10px}.panel-header .back-link{padding:6px 12px;font-size:.7rem}.panel-header h2{font-size:1.1rem}}@media (max-width:420px){.ui-layer{padding:8px 4px}.hud-bar{gap:2px;top:3px;bottom:auto;left:3px;right:3px}.score-box{gap:4px;padding:3px 10px;position:static;top:auto;transform:none}.score-box-value{font-size:.75rem}.score-box-label{font-size:.42rem}.hud-btn{border-radius:8px;min-width:34px;padding:3px 6px;font-size:.48rem}.debug-warning-inline{padding:2px 6px;font-size:.4rem}.panel{border-radius:14px;width:92vw;margin:4px auto;padding:8px 10px}.menu-panel{max-width:260px}.menu-panel h1{margin-bottom:2px;font-size:1.3rem;line-height:1.1}.menu-panel .stat-chip{border-width:1px;gap:3px;margin:4px 0;padding:2px 10px;font-size:.52rem;display:inline-flex}.menu-panel .stat-chip:before{font-size:.6rem}.menu-panel .lang-toggle-wrapper{margin-top:6px}.btn-primary{padding:7px 12px;font-size:.68rem}.btn-secondary{padding:6px 12px;font-size:.6rem}.btn-tile{border-radius:8px;gap:3px;min-height:46px;padding:4px 6px}.btn-tile-icon{font-size:.9rem}.btn-tile-label{font-size:.48rem}.btn-tile-row{gap:4px}.btn-tile-row .btn-tile-primary{flex:100%}.btn-tile-row .btn-tile{flex:1;min-width:0}.stat-chip{border-width:1px;gap:3px;margin-bottom:6px;padding:2px 10px;font-size:.52rem}.stat-chip:before{font-size:.6rem}.level-list{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:3px;margin:4px 0 2px}.btn-level{border-width:1px;border-radius:8px;gap:2px;min-height:50px;padding:6px 3px 5px;font-size:.52rem}.level-title{font-size:.62rem}.level-meta{font-size:.44rem}.menu-panel--challenges{width:96vw;max-width:none}.overlay-panel{max-width:300px}.overlay-panel .eyebrow{margin-bottom:10px;padding:4px 12px;font-size:.72rem}.back-link{border-width:1px;border-radius:8px;margin-top:4px;padding:4px 8px;font-size:.56rem}.panel-header{min-height:28px;margin-bottom:6px}.panel-header .back-link{padding:4px 8px;font-size:.56rem}.panel-header h2{font-size:.9rem}.lang-toggle-wrapper{margin-top:6px}.lang-toggle{border-radius:8px;padding:3px 8px;font-size:.5rem}}.editor-root{color:#e0f0ff;background:#020408;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.editor-canvas-area{touch-action:none;flex:1;min-height:0;position:relative}.editor-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.editor-empty-overlay{z-index:10;text-align:center;pointer-events:none;background:#040810bf;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.editor-empty-overlay h2{color:#b4dcffcc;margin:0;font-size:1.5rem;font-weight:800}.editor-empty-overlay p{color:#a0d2ff73;max-width:320px;margin:0;font-size:.9rem;line-height:1.5}.editor-topbar{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:4px;max-width:90vw;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.editor-topbar-title{letter-spacing:.04em;color:#ccecff;white-space:nowrap;pointer-events:none;background:linear-gradient(#0e1a30 0%,#080e1e 100%);border:2px solid #1a4a7a;border-radius:14px;padding:8px 22px;font-size:.85rem;font-weight:800}.topbar-errors{background:linear-gradient(#0e1a30 0%,#080e1e 100%);border:1.5px solid #1a4a7a;border-radius:10px;flex-direction:column;align-items:center;gap:2px;max-width:100%;padding:6px 14px;display:flex}.topbar-msg{text-align:center;font-size:.68rem;font-weight:700;line-height:1.3}.topbar-msg.error{color:#ff7a8a}.topbar-msg.warn{color:#f0c86a}.editor-float-message{z-index:20;color:#b4e4ff;pointer-events:none;background:#080e1ed9;border:1.5px solid #1a4a7a;border-radius:10px;max-width:50vw;padding:6px 14px;font-size:.72rem;font-weight:700;position:absolute;top:14px;left:14px}.editor-zoom-float{z-index:20;background:#080e1ed9;border:1.5px solid #1a4a7a;border-radius:10px;align-items:center;gap:4px;padding:4px 8px;display:flex;position:absolute;top:14px;right:14px}.zoom-btn{color:#d8f2ff;cursor:pointer;background:linear-gradient(#122040 0%,#0c1528 100%);border:1.5px solid #1a4a7a;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-family:inherit;font-size:1rem;font-weight:800;line-height:1;display:flex}.zoom-btn:active{transform:translateY(1px)}.zoom-label{color:#d8f2ff;text-align:center;min-width:22px;font-size:.72rem;font-weight:700}.editor-action-bar{z-index:30;background:linear-gradient(#0e1a30 0%,#080e1e 100%);border-top:2px solid #1a4a7a;flex-direction:column;flex-shrink:0;gap:4px;padding:6px 10px;display:flex}.action-main-row{align-items:center;gap:4px;display:flex}.action-sub-row{align-items:center;gap:6px;min-height:0;display:flex}.action-btn{white-space:nowrap;color:#d8f2ff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(#122040 0%,#0c1528 100%);border:2px solid #1a4a7a;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;font-family:inherit;font-weight:800;transition:transform 60ms,border-color .1s;display:inline-flex;position:relative;top:0;box-shadow:0 3px #060c1a;padding:8px 16px!important;font-size:.78rem!important}.action-btn:hover{border-color:#2a6a9a;transform:translateY(-1px);box-shadow:0 4px #060c1a}.action-btn:active{transform:translateY(2px);box-shadow:0 1px #060c1a}.action-btn.play-btn{color:#031828;background:linear-gradient(#6af5e0 0%,#2ad4b0 100%);border-color:#1a8870;box-shadow:0 3px #1a8870}.action-btn.play-btn:hover{box-shadow:0 4px #1a8870}.action-btn.play-btn:active{box-shadow:0 1px #1a8870}.action-sep{background:#1a3a5a;flex-shrink:0;width:1px;height:28px}.action-spacer{flex:1;min-width:6px}.action-status{color:#ffd866;white-space:nowrap;background:#281e0899;border:1.5px solid #d4a83a;border-radius:8px;padding:4px 10px;font-size:.68rem;font-weight:700}.editor-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);background:#020408a6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.editor-inventory{background:linear-gradient(#0e1a30 0%,#080e1e 100%);border:2px solid #2a5a8a;border-radius:20px;flex-direction:column;width:min(620px,94vw);max-height:85vh;animation:.25s ease-out popIn;display:flex;box-shadow:0 16px 48px #000c}@keyframes popIn{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.editor-inventory-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.editor-inventory-header h2{color:#e2f4ff;margin:0;font-size:1.2rem;font-weight:800}.editor-close-btn{color:#5a9aba;cursor:pointer;background:0 0;border:2px solid #1a4070;border-radius:10px;padding:6px 12px;font-family:inherit;font-size:1.1rem;font-weight:800;transition:border-color .1s,color .1s}.editor-close-btn:hover{color:#8aceff;border-color:#2a5a8a}.popup-close{position:absolute;top:12px;right:12px}.editor-inventory-body{flex-direction:column;gap:18px;padding:4px 24px 24px;display:flex;overflow-y:auto}.inv-category{flex-direction:column;gap:10px;display:flex}.inv-category-label{text-transform:uppercase;letter-spacing:.12em;color:#4a7a9a;font-size:.72rem;font-weight:800}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.inv-card{cursor:pointer;color:#d8f2ff;text-align:center;background:linear-gradient(#122040 0%,#0c1528 100%);border:2px solid #1a4a7a;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;font-family:inherit;transition:border-color .1s,transform 60ms;display:flex;position:relative;top:0;box-shadow:0 3px #060c1a}.inv-card:hover{border-color:#3a7aaa;transform:translateY(-2px);box-shadow:0 5px #060c1a}.inv-card:active{transform:translateY(2px);box-shadow:0 1px #060c1a}.inv-card.active{background:linear-gradient(#1a2848 0%,#121c30 100%);border-color:#ffd866;box-shadow:0 0 20px #ffd8661a,0 3px #0a1520}.inv-card-icon{font-size:2rem;line-height:1}.inv-card-title{font-size:.85rem;font-weight:800}.inv-card-desc{opacity:.6;font-size:.62rem;line-height:1.3}.editor-object-popup{background:linear-gradient(#0e1a30 0%,#080e1e 100%);border:2px solid #2a5a8a;border-radius:20px;flex-direction:column;gap:12px;width:min(380px,90vw);max-height:80vh;padding:28px 24px 20px;animation:.2s ease-out popIn;display:flex;position:relative;overflow-y:auto;box-shadow:0 16px 48px #000c}.editor-object-popup h2{color:#e2f4ff;margin:0 0 4px;font-size:1.1rem;font-weight:800}.obj-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.obj-field{flex-direction:column;gap:4px;display:flex}.obj-field>label{text-transform:uppercase;letter-spacing:.08em;color:#5a9aba;font-size:.64rem;font-weight:800}.obj-field input[type=range]{accent-color:#2ad4b0;cursor:pointer;width:100%;height:6px}.obj-field input[type=number],.obj-field select{color:#d8f0ff;background:#0c1528;border:2px solid #1a4070;border-radius:10px;width:100%;padding:8px 12px;font-family:inherit;font-size:.82rem;transition:border-color .12s}.obj-field input:focus,.obj-field select:focus{border-color:#2ad4b0;outline:none}.obj-field select{cursor:pointer}.obj-advanced{background:#080e1c;border:2px solid #1a3058;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.obj-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.editor-dialog{background:linear-gradient(#0e1a30 0%,#080e1e 100%);border:2px solid #2a5a8a;border-radius:20px;flex-direction:column;gap:12px;width:min(420px,92vw);max-height:85vh;padding:28px 24px 20px;animation:.25s ease-out popIn;display:flex;overflow-y:auto;box-shadow:0 16px 48px #000c}.editor-dialog-wide{width:min(560px,92vw)}.editor-dialog-open{width:min(580px,94vw);min-height:60vh;max-height:90vh}.editor-dialog h2{color:#e2f4ff;margin:0 0 4px;font-size:1.1rem;font-weight:800}.editor-field{flex-direction:column;gap:4px;display:flex}.editor-field>label{text-transform:uppercase;letter-spacing:.08em;color:#5a9aba;font-size:.68rem;font-weight:800}.editor-field input,.editor-field select,.editor-field textarea{color:#d8f0ff;background:#0c1528;border:2px solid #1a4070;border-radius:12px;width:100%;padding:10px 14px;font-family:inherit;font-size:.85rem;transition:border-color .12s}.editor-field textarea{resize:vertical;min-height:52px;font-size:.82rem;line-height:1.4}.editor-field select{cursor:pointer}.editor-field input:focus,.editor-field select:focus,.editor-field textarea:focus{border-color:#2ad4b0;outline:none}.dialog-actions{gap:10px;margin-top:4px;display:flex}.editor-btn{cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:800;transition:transform 60ms,box-shadow .1s;display:inline-flex;position:relative;top:0}.editor-btn.primary{letter-spacing:.06em;color:#031828;background:linear-gradient(#6af5e0 0%,#2ad4b0 100%);border:0;width:100%;padding:14px 24px;font-size:.95rem;box-shadow:0 5px #1a8870,0 8px 24px #2ad4b040}.editor-btn.primary:hover{transform:translateY(-2px);box-shadow:0 7px #1a8870,0 10px 28px #2ad4b059}.editor-btn.primary:active{transform:translateY(3px);box-shadow:0 2px #1a8870}.editor-btn.secondary{letter-spacing:.04em;color:#d0e8ff;background:linear-gradient(#1c3868 0%,#122040 100%);border:2px solid #1a4a7a;width:100%;padding:12px 20px;font-size:.82rem;box-shadow:0 4px #060c1a}.editor-btn.secondary:hover{background:linear-gradient(#244478 0%,#182850 100%);border-color:#2a5a8a}.editor-btn.secondary:active{transform:translateY(3px);box-shadow:0 1px #060c1a}.editor-btn.secondary.small{border-width:2px;padding:8px 14px;font-size:.74rem;box-shadow:0 3px #060c1a}.editor-btn.secondary.small:active{transform:translateY(2px);box-shadow:0 1px #060c1a}.editor-btn.danger{color:#ff8a9a;background:linear-gradient(#2a0a12 0%,#1a060a 100%);border:2px solid #8a2a3a;width:100%;padding:10px 16px;font-size:.82rem;font-weight:800;box-shadow:0 3px #0a0406}.editor-btn.danger:hover{background:linear-gradient(#3a0e16 0%,#240a0e 100%);border-color:#aa3a4a}.editor-btn.danger:active{transform:translateY(2px);box-shadow:0 1px #0a0406}.editor-btn.danger.small{padding:8px 14px;font-size:.74rem;box-shadow:0 3px #0a0406}.open-section{flex-direction:column;gap:8px;display:flex}.open-section-title{text-transform:uppercase;letter-spacing:.1em;color:#4a7a9a;margin-top:4px;font-size:.68rem;font-weight:800}.open-level-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.open-level-item{cursor:pointer;color:#ccecff;text-align:left;background:#0c1528;border:2px solid #1a4070;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 16px;font-family:inherit;transition:border-color .1s,background .1s;display:flex;position:relative;top:0;box-shadow:0 2px #060c1a}.open-level-item:hover{background:#101c30;border-color:#2a5a8a;transform:translateY(-1px);box-shadow:0 3px #060c1a}.open-level-item:active{transform:translateY(2px);box-shadow:0 0 #060c1a}.open-level-name{align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.open-level-badge{text-transform:uppercase;letter-spacing:.06em;color:#6af5e0;background:#2ad4b026;border:1.5px solid #2ad4b066;border-radius:6px;padding:2px 8px;font-size:.55rem;font-weight:800}.open-level-item.local{border-color:#2a6a4a}.open-level-item.local:hover{border-color:#3a8a5a}.open-level-meta{opacity:.6;white-space:nowrap;font-size:.65rem}.file-picker-label{cursor:pointer;text-align:center;width:100%;padding:12px 20px!important;font-size:.82rem!important}.editor-test-overlay{z-index:100;background:#020408;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.editor-test-canvas{flex:1;min-width:0}.editor-test-sidebar{background:linear-gradient(#0e1a30 0%,#080e1e 100%);border-left:4px solid #1a4a7a;flex-direction:column;gap:16px;width:280px;padding:20px;display:flex;overflow-y:auto}.editor-test-toggle{z-index:101;color:#89f4ff;cursor:pointer;opacity:.5;background:#0e1a30;border:2px solid #1a4a7a;border-radius:6px 0 0 6px;justify-content:center;align-items:center;width:24px;height:48px;font-size:.8rem;transition:opacity .15s,right .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.editor-test-toggle:hover{opacity:1}.editor-test-sidebar h2{margin:0;font-size:1.1rem;font-weight:800}.editor-status{color:#a0d2ff80;min-height:1.2em;margin:0;font-size:.74rem;font-weight:600;line-height:1.4}@media (max-width:820px){.editor-inventory{width:96vw;max-height:90vh}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.editor-action-bar{gap:3px;padding:5px 10px}.action-btn{padding:6px 12px!important;font-size:.72rem!important}.action-sub-row,.action-sep{display:none}.editor-dialog-wide{width:94vw}.editor-object-popup{width:90vw}.editor-test-overlay{flex-direction:column}.editor-test-sidebar{border-top:4px solid #1a4a7a;border-left:0;width:100%;max-height:38vh}}@media (max-width:480px){.editor-topbar{display:none}.editor-zoom-float{padding:3px 6px;top:8px;right:8px}.zoom-btn{width:22px;height:22px;font-size:.85rem}.zoom-label{min-width:18px;font-size:.65rem}.editor-action-bar{gap:2px;padding:4px 8px}.action-btn{padding:5px 10px!important;font-size:.68rem!important}.action-sub-row,.action-sep{display:none}.inv-grid{grid-template-columns:repeat(3,1fr);gap:6px}.inv-card{padding:10px 6px}.inv-card-icon{font-size:1.4rem}.inv-card-title{font-size:.7rem}.inv-card-desc{display:none}.editor-object-popup{padding:20px 16px 16px}.editor-dialog{-webkit-overflow-scrolling:touch;padding:20px 16px 16px}.editor-dialog-open{min-height:auto;max-height:85vh}.open-level-list{-webkit-overflow-scrolling:touch}.editor-empty-overlay h2{font-size:1.1rem}.editor-empty-overlay p{font-size:.78rem}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:"Exo 2",Trebuchet MS,sans-serif}*{box-sizing:border-box}html,body,#root{background:radial-gradient(circle at 20% 10%,#101b39 0%,#04070f 50%,#020409 100%);width:100%;height:100%;margin:0;padding:0;overflow:hidden}button,input,select,textarea{font:inherit}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 900;src:url(/assets/exo2-cyrillic-ext.Duf7tWJ7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 900;src:url(/assets/exo2-cyrillic.DINSYtDx.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 900;src:url(/assets/exo2-vietnamese.DlPkZmYr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 900;src:url(/assets/exo2-latin-ext.B5pmZ151.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 900;src:url(/assets/exo2-latin.CQ1lLIdm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/*$vite$:1*/