:root{color-scheme:dark;font-family:Avenir Next,SF Pro Display,Inter,system-ui,sans-serif;background:#03050a;font-synthesis:none;text-rendering:optimizeLegibility;--cyan: #63f5df;--amber: #ffc46b;--orange: #ff714f;--ink: #090d15;--panel: rgba(12, 17, 27, .84);--panel-line: rgba(164, 190, 214, .38);--text: #f3f6f8;--muted: #aebcca;--app-width: 100dvw;--app-height: 100dvh;--app-left: 0px;--app-top: 0px;--dock-surface: rgba(5, 17, 23, .66);--dock-line: rgba(163, 216, 218, .22)}*{box-sizing:border-box}html,body,#game-shell,#game{width:100%;height:100%;margin:0}body{overflow:hidden;overscroll-behavior:none;background:radial-gradient(circle at 50% 25%,#1b2733,#080b10 44%,#020307);touch-action:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}#game-shell{position:fixed;top:var(--app-top);left:var(--app-left);width:var(--app-width);height:var(--app-height);display:grid;place-items:center;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#05070d;box-shadow:0 28px 100px #000000b3}.game-frame,.webgl-stage,.webgl-canvas{position:absolute;inset:0;width:100%;height:100%}.webgl-canvas{display:block;outline:none}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.24) 72%,rgba(0,0,0,.58) 100%),linear-gradient(180deg,rgba(2,3,6,.35),transparent 18%,transparent 72%,rgba(2,3,6,.55))}.glass-panel{border:1px solid var(--panel-line);background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 45%),var(--panel);box-shadow:inset 0 1px #ffffff14,0 14px 36px #00000057;backdrop-filter:blur(13px) saturate(1.2);-webkit-backdrop-filter:blur(13px) saturate(1.2)}.top-hud{position:absolute;z-index:10;top:1.6%;left:2%;right:2%;height:10.4%;min-height:58px;display:grid;grid-template-columns:160px 1fr 180px;align-items:center;padding:0 1.8%;border-color:#abdadb2e;border-radius:18px;background:linear-gradient(90deg,#05141ac7,#060e158a 48%,#05141ac7);box-shadow:inset 0 1px #ffffff0e,0 10px 34px #00000038;pointer-events:none}.brand{display:flex;flex-direction:column;line-height:.92;text-shadow:0 0 18px rgba(99,245,223,.25),0 3px 6px #000}.brand-main{color:var(--cyan);font-size:clamp(20px,2.35vw,31px);font-weight:950;letter-spacing:-.05em}.brand-sub{margin-top:8px;color:var(--amber);font-size:clamp(9px,1.05vw,14px);font-weight:900;letter-spacing:.34em}.level-copy{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center}#level-title{max-width:100%;overflow:hidden;color:var(--text);font-size:clamp(12px,1.55vw,20px);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 5px #000}#level-detail{margin-top:7px;color:var(--muted);font-size:clamp(8px,.95vw,12px);font-weight:800;letter-spacing:.04em}.level-progress{display:flex;gap:10px;margin-top:7px}.level-progress i{width:6px;height:6px;border-radius:50%;background:#728094;opacity:.5}.level-progress i.active{background:var(--cyan);box-shadow:0 0 9px var(--cyan);opacity:1}.counters{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-shadow:0 2px 5px #000}#flame-count{color:var(--amber);font-size:clamp(12px,1.55vw,19px)}#move-count{color:var(--text);font-size:clamp(9px,1vw,13px);font-weight:850}.status-ribbon{position:relative;display:flex;min-height:66px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 12px;border:1px solid var(--dock-line);border-radius:15px;background:radial-gradient(circle at 18% 0%,rgba(99,245,223,.12),transparent 52%),var(--dock-surface);box-shadow:inset 0 1px #ffffff0e,0 10px 24px #0003;backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);color:var(--text);font-size:clamp(8px,.74vw,11px);font-weight:800;line-height:1.3;text-align:center;text-shadow:0 2px 4px #000;pointer-events:none}.status-ribbon:before{color:var(--cyan);font-size:clamp(6px,.54vw,8px);font-weight:950;letter-spacing:.18em;content:"OBJETIVO"}.controls{position:absolute;z-index:10;inset:14.2% 1.65% 2.5%;display:grid;grid-template-columns:clamp(150px,14.2%,180px) 1fr clamp(150px,14.2%,180px);align-items:center;gap:0;pointer-events:none}.control-rail{position:relative;display:flex;min-height:0;flex-direction:column;justify-content:center;gap:clamp(6px,.7vw,9px);padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto}.control-rail.glass-panel{border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.control-rail-left{grid-column:1}.control-rail-right{grid-column:3}.music-status{display:flex;min-height:28px;min-width:0;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border:1px solid rgba(170,141,255,.16);border-radius:999px;background:#070a1194;box-shadow:inset 0 1px #ffffff0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#b8c9d6;font-size:clamp(7px,.63vw,9px);font-weight:850;letter-spacing:.035em;line-height:1.25;text-align:center;pointer-events:none}.music-note{color:#aa8dff;font-size:14px;text-shadow:0 0 10px rgba(153,124,255,.8)}#music-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utility-buttons{display:grid;gap:clamp(5px,.48vw,7px)}.utility-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-audio{grid-template-columns:repeat(3,minmax(0,1fr))}.utility-buttons .control-button{min-height:clamp(46px,6.2vh,58px)}.sound-control{grid-column:auto}.control-button,.dpad button,.overlay-button,.level-card{position:relative;overflow:hidden;border:1px solid rgba(170,201,215,.24);background:linear-gradient(180deg,#253741c2,#091117d6);box-shadow:inset 0 1px #ffffff13,0 8px 20px #00000038;backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);cursor:pointer;transition:transform .11s ease,border-color .11s ease,background .11s ease,filter .11s ease}.control-button:before,.dpad button:before,.overlay-button:before,.level-card:before{position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.055),transparent 66%);content:"";pointer-events:none}.control-button:hover,.dpad button:hover,.overlay-button:hover,.level-card:hover{border-color:#80eee29e;filter:brightness(1.1);transform:translateY(-1px)}.control-button:active,.dpad button:active,.overlay-button:active,.level-card:active{transform:translateY(1px) scale(.985)}.control-button:disabled{cursor:default;filter:grayscale(.65) brightness(.65);opacity:.58;transform:none}.is-moving button[data-action=north],.is-moving button[data-action=east],.is-moving button[data-action=south],.is-moving button[data-action=west],.is-moving button[data-action=select]{cursor:wait;filter:saturate(.55)}.control-button{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:13px;color:var(--text);line-height:1.05}.control-button b{font-size:clamp(7px,.7vw,10px);font-weight:850;letter-spacing:.025em}.control-button span{margin-top:3px;color:#8698a4;font-size:clamp(6px,.55vw,8px);font-weight:800}.utility-buttons .control-button b:before{display:block;margin-bottom:4px;color:#d9eef1;font-size:clamp(12px,1.2vw,17px);font-weight:500;line-height:.8;text-shadow:0 0 12px rgba(138,234,226,.22)}[data-action=undo] b:before{content:"↶"}[data-action=restart] b:before{content:"↻"}[data-action=levels] b:before{content:"▦"}[data-action=hint] b:before{content:"?"}[data-action=music-next] b:before{content:"▶"}[data-action=music-stop] b:before{content:"■"}[data-action=sound] b:before{content:"◉"}.select-control{border-color:#63f5df8a;background:linear-gradient(180deg,#1d726bc2,#082b2ee0);box-shadow:inset 0 1px #ffffff1c,0 0 24px #35e7d31f}.control-rail-right .select-control{width:100%;min-height:clamp(58px,7.4vh,70px);border-radius:999px}.select-control b:before{margin-right:7px;color:var(--cyan);content:"◉";text-shadow:0 0 12px var(--cyan)}.select-control b{font-size:clamp(8px,.76vw,11px)}.select-control.box-active{border-color:#ffc46b94;background:linear-gradient(180deg,#794d26c7,#341f16e6);box-shadow:inset 0 1px #ffffff1c,0 0 22px #ffae4b1f}.select-control.box-active b:before{color:var(--amber);content:"◆";text-shadow:0 0 11px rgba(255,196,107,.7)}.restart-control{border-color:#ff714f6b;background:linear-gradient(180deg,#66332bc2,#2b191ae6)}.hint-control{border-color:#ffc46b61}.music-control{border-color:#a185ff66;background:linear-gradient(180deg,#463b74bf,#1b1834e6)}.music-control.is-playing{box-shadow:inset 0 1px #ffffff24,0 0 20px #8b71ff38}.music-stop-control{border-color:#9aa9b98f}.dpad{display:grid;width:min(100%,170px);height:auto;aspect-ratio:1.5 / 1;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(5px,.48vw,7px);margin:0 auto}.dpad button{display:flex;align-items:center;justify-content:center;gap:5px;border-radius:50%;color:var(--text);font-size:clamp(17px,1.55vw,22px);font-weight:900}.dpad small{color:#748793;font-size:clamp(6px,.55vw,8px)}.dpad [data-action=north]{grid-column:2;grid-row:1}.dpad [data-action=west]{grid-column:1;grid-row:2}.dpad [data-action=south]{grid-column:2;grid-row:2}.dpad [data-action=east]{grid-column:3;grid-row:2}.game-overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:4%;background:#020407bd;backdrop-filter:blur(7px)}.game-overlay[hidden]{display:none}.overlay-card{position:relative;width:min(650px,78%);min-height:330px;overflow:hidden;padding:46px 50px 38px;border:2px solid rgba(99,245,223,.78);border-radius:30px;background:linear-gradient(145deg,#26333df5,#0b1018fa);box-shadow:inset 0 1px #ffffff1f,0 28px 80px #000000a3,0 0 55px #47f0da14;text-align:center}.overlay-aura{position:absolute;top:-170px;left:50%;width:500px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(76,239,219,.2),transparent 67%);pointer-events:none;transform:translate(-50%)}.overlay-card h2{position:relative;margin:0;color:var(--cyan);font-size:clamp(24px,3vw,38px);line-height:1;text-shadow:0 0 25px rgba(99,245,223,.3),0 3px 6px #000}.overlay-card p{position:relative;margin:42px 0 50px;color:var(--text);font-size:clamp(13px,1.55vw,18px);font-weight:700;line-height:1.55}.dead-card{border-color:#ff714fd1}.dead-card .overlay-aura{background:radial-gradient(circle,rgba(255,102,66,.22),transparent 67%)}.dead-card h2{color:var(--orange);text-shadow:0 0 25px rgba(255,113,79,.3),0 3px 6px #000}.overlay-actions{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px}.overlay-button{min-height:58px;padding:12px 22px;border-radius:16px;color:var(--text);font-size:14px;font-weight:900}.overlay-button small{margin-left:12px;color:var(--muted)}.overlay-button.primary{border-color:#63f5dfcc;background:linear-gradient(180deg,#2a8e86db,#124849f0)}.overlay-button.danger{border-color:#ff714fcc;background:linear-gradient(180deg,#844233d9,#3d201ff2)}.level-menu-card{width:min(850px,88%);padding:36px 34px 28px}.level-menu-card p{margin:14px 0 24px;color:var(--muted)}.level-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:26px}.level-card{min-width:0;min-height:150px;padding:14px 8px;border-radius:17px;color:var(--text)}.level-card.active{border-color:var(--cyan);background:linear-gradient(180deg,#2f8e87d9,#144245f2);box-shadow:inset 0 1px #ffffff26,0 0 24px #63f5df1f}.level-card b,.level-card span,.level-card small{position:relative;display:block}.level-card b{color:var(--text);font-size:30px}.level-card span{height:32px;margin-top:7px;overflow:hidden;color:#d3dce2;font-size:9px;font-weight:900;line-height:1.15}.level-card small{margin-top:10px;color:var(--muted);font-size:10px;font-weight:800;line-height:1.5}#loading-message{position:absolute;z-index:50;inset:50% auto auto 50%;width:min(80vw,620px);margin:0;color:#e8eef2;font-size:clamp(1rem,3vw,1.35rem);font-weight:800;text-align:center;pointer-events:none;transform:translate(-50%,-50%)}#loading-message:before{display:block;width:42px;height:42px;margin:0 auto 18px;border:3px solid rgba(99,245,223,.2);border-top-color:var(--cyan);border-radius:50%;animation:loading-spin .9s linear infinite;content:""}#loading-message.loading-error{color:#ffb39f}#loading-message.loading-error:before{display:none}body.game-ready #loading-message{display:none}@keyframes loading-spin{to{transform:rotate(360deg)}}#orientation-guard{position:fixed;z-index:9999;top:var(--app-top);left:var(--app-left);width:var(--app-width);height:var(--app-height);display:none;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));place-items:center;background:linear-gradient(155deg,#16252b,#0c1218 70%,#03050a)}.orientation-card{width:min(90vw,430px);padding:30px 25px;border:2px solid var(--cyan);border-radius:30px;background:#101820;color:var(--text);text-align:center;box-shadow:0 20px 60px #0009}.maze-mark{color:var(--cyan);font-size:74px;line-height:1;text-shadow:0 0 24px rgba(99,245,223,.55)}.orientation-card h1{margin:4px 0 10px;color:var(--amber);font-size:clamp(1.7rem,8vw,2.3rem)}.orientation-card p{margin:0 0 20px;font-size:1.05rem;font-weight:700;line-height:1.4}#landscape-action{width:100%;min-height:58px;border:1px solid rgba(99,245,223,.72);border-radius:999px;background:linear-gradient(180deg,#228e83eb,#0f4648f5);box-shadow:inset 0 1px #ffffff26,0 12px 28px #00000047;color:#f5fffd;font-size:.92rem;font-weight:900;letter-spacing:.035em;cursor:pointer}#orientation-detail{display:block;margin-top:14px;color:#9fb7c2;font-size:.78rem;font-weight:700;line-height:1.35}@media(max-width:920px),(max-height:520px){.top-hud{top:1.2%;right:1.2%;left:1.2%;height:12.2%;min-height:0;grid-template-columns:76px 1fr 92px;padding:0 1.35%;border-radius:13px}.brand-main{font-size:clamp(15px,2.6vw,21px)}.brand-sub{margin-top:4px;font-size:clamp(6px,1.05vw,9px)}#level-title{font-size:clamp(9px,1.65vw,13px)}#level-detail{margin-top:3px;font-size:clamp(6px,1.05vw,8px)}.level-progress{gap:6px;margin-top:4px}.level-progress i{width:4px;height:4px}.counters{gap:3px}#flame-count{font-size:clamp(9px,1.7vw,13px)}#move-count{font-size:clamp(6px,1.15vw,8px)}.controls{inset:14.6% max(1.1%,env(safe-area-inset-right)) 1.8% max(1.1%,env(safe-area-inset-left));grid-template-columns:clamp(104px,15%,120px) 1fr clamp(132px,17%,144px)}.control-rail{gap:5px;padding:0}.status-ribbon{min-height:44px;gap:2px;padding:5px 6px;border-radius:11px;font-size:clamp(6px,1vw,8px)}.music-status{min-height:20px;gap:3px;padding:3px 5px;font-size:clamp(5px,.85vw,7px)}.music-note{font-size:10px}.utility-buttons .control-button{min-height:40px;border-radius:10px}.utility-buttons .control-button b:before{margin-bottom:2px;font-size:clamp(10px,1.7vw,14px)}.control-button b{font-size:clamp(6px,1vw,8px)}.control-button span{margin-top:2px;font-size:6px}.control-rail-right .select-control{min-height:46px}.select-control b{font-size:clamp(6px,1.15vw,9px)}.select-control b:before{margin-right:4px}.dpad{width:min(100%,132px);gap:3px}.dpad button{gap:2px;font-size:clamp(15px,2.4vw,19px)}.overlay-card{width:min(620px,82%);min-height:0;padding:22px 28px 20px;border-radius:20px}.overlay-card p{margin:18px 0 22px}.level-menu-card{width:min(820px,94%);padding:18px 20px 16px}.level-grid{gap:7px;margin-bottom:14px}.level-card{min-height:104px;padding:8px 5px}.level-card b{font-size:21px}.level-card span{height:25px;font-size:7px}.level-card small{margin-top:5px;font-size:7px}}@media(max-width:640px)and (orientation:landscape){.top-hud{grid-template-columns:68px minmax(0,1fr) 82px}.controls{grid-template-columns:104px minmax(0,1fr) 132px}.status-ribbon{height:56px;min-height:56px;overflow:hidden}.control-button b{font-size:7px}.utility-buttons .control-button b:before{font-size:12px}.dpad button{min-width:0;min-height:42px}.overlay-card{width:min(620px,94%)}}@media(pointer:coarse){.utility-buttons .control-button,.control-rail-right .select-control{touch-action:manipulation}.control-button span,.dpad small{display:none}.utility-buttons .control-button{min-height:42px}}@media(orientation:portrait)and (max-width:920px){#orientation-guard{display:grid}}@media(orientation:landscape)and (pointer:coarse){#game{box-shadow:none}.control-button:hover,.dpad button:hover,.overlay-button:hover,.level-card:hover{filter:none;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
