:root{--ink:#10251c;--paper:#fffdf5;--green-900:#123b2a;--green-700:#1f6b46;--green-500:#3d9a66;--green-300:#8fd49e;--lime:#d8f23f;--purple:#7045a6;--cell:calc(100% / 13)}
*{box-sizing:border-box}html,body{min-height:100%;overscroll-behavior:none}body{margin:0;overflow:hidden;background:radial-gradient(circle at 12% 8%,#d8f23f55 0 8rem,transparent 8.1rem),radial-gradient(circle at 90% 90%,#7045a628 0 10rem,transparent 10.1rem),linear-gradient(145deg,#f7f0d3,#fffdf5 42%,#eaf7ea);color:var(--ink);font-family:"Trebuchet MS","Arial Rounded MT Bold",system-ui,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}button,img{-webkit-user-drag:none}button{font:inherit}
.game-shell{min-height:100svh;width:min(100%,760px);margin:0 auto;padding:max(.55rem,env(safe-area-inset-top)) .75rem max(.55rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:.55rem}
.game-header{width:min(100%,560px);display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:.4rem;text-align:center}.game-header h1{margin:0;font-size:clamp(1.28rem,5.6vw,2rem);line-height:1;letter-spacing:-.04em}.game-header p{margin:.28rem 0 0;color:#315343;font-size:clamp(.72rem,2.7vw,.92rem);font-weight:700}.back-link,.sound-toggle{min-width:48px;min-height:44px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:2px 3px 0 var(--ink);text-decoration:none;font-size:.76rem;font-weight:900}.sound-toggle{width:44px;justify-self:end;cursor:pointer;font-size:1rem}.sound-toggle.off{opacity:.45}
.scorebar{width:min(100%,540px);min-height:42px;padding:.35rem .7rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;border:2px solid var(--ink);border-radius:999px;background:#ffffffdc;box-shadow:3px 4px 0 #10251c22;font-size:.78rem;font-weight:800}.scorebar strong{padding:.3rem .7rem;border-radius:999px;background:var(--lime);font-size:1rem}.scorebar span:last-child{text-align:right;color:var(--green-700)}
.maze-wrap{width:100%;display:grid;place-items:center;min-height:0}.maze{position:relative;width:min(94vw,520px,calc(100svh - 15.8rem));min-width:286px;aspect-ratio:1;overflow:hidden;border:4px solid var(--ink);border-radius:24px;background:radial-gradient(circle at 50% 48%,#fffefa 0 26%,transparent 70%),linear-gradient(145deg,#fffef7,#f0f8e8);box-shadow:0 10px 30px #10251c22,5px 7px 0 var(--ink);outline:0;touch-action:none;cursor:crosshair}.maze:focus-visible{outline:4px solid var(--purple);outline-offset:3px}.maze-grid,.pieces-layer{position:absolute;inset:3%}.maze-grid{display:grid;grid-template-columns:repeat(13,1fr);grid-template-rows:repeat(13,1fr)}.pieces-layer{pointer-events:none}.tile{position:relative}.tile.floor::after{content:"";position:absolute;width:12%;aspect-ratio:1;border-radius:50%;background:#2d7d5427;left:44%;top:44%}.tile.wall .wall-shape{position:absolute;inset:7%;border-radius:32%;background:linear-gradient(145deg,var(--green-300) 0 12%,var(--green-500) 13% 58%,var(--green-700) 59% 100%);box-shadow:inset 2px 2px 0 #dff3b588,inset -2px -2px 0 #123b2a44,0 2px 3px #10251c25}.tile.wall.n .wall-shape{top:-1px;border-top-left-radius:10%;border-top-right-radius:10%}.tile.wall.s .wall-shape{bottom:-1px;border-bottom-left-radius:10%;border-bottom-right-radius:10%}.tile.wall.w .wall-shape{left:-1px;border-top-left-radius:10%;border-bottom-left-radius:10%}.tile.wall.e .wall-shape{right:-1px;border-top-right-radius:10%;border-bottom-right-radius:10%}
.piece{position:absolute;z-index:5;width:calc(var(--cell)*.74);height:calc(var(--cell)*.74);transform:translate(-50%,-50%);object-fit:contain;pointer-events:none;will-change:left,top;transition:left 170ms cubic-bezier(.2,.8,.3,1),top 170ms cubic-bezier(.2,.8,.3,1),transform 160ms ease}.simba{z-index:8;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 2px 5px #10251c66}.enemy{z-index:7;filter:drop-shadow(0 2px 2px #10251c55)}.phone{z-index:4;width:calc(var(--cell)*.6);height:calc(var(--cell)*.6);border-radius:18%;filter:drop-shadow(0 2px 2px #10251c44)}.phone.collected{transform:translate(-50%,-50%) scale(0);opacity:0}.simba.stepping{transform:translate(-50%,-50%) scale(1.06)}.simba.bump{animation:bump .2s ease}.simba.caught{animation:caught .45s ease}.score-pop{animation:scorePop .38s ease}
.game-overlay{position:absolute;z-index:20;inset:0;display:grid;place-items:center;padding:1rem;background:#f9f5e7e8;backdrop-filter:blur(5px)}.game-overlay[hidden]{display:none}.result-card{max-width:340px;padding:1.25rem;text-align:center;border:3px solid var(--ink);border-radius:24px;background:var(--paper);box-shadow:6px 7px 0 var(--ink)}.result-card h2{margin:.25rem 0;font-size:1.55rem}.result-card p{margin:.35rem 0 1rem;line-height:1.35}.result-emoji{font-size:2.5rem}#restart-button{min-height:48px;padding:.65rem 1.1rem;border:2px solid var(--ink);border-radius:999px;background:var(--lime);box-shadow:3px 4px 0 var(--ink);font-weight:900;cursor:pointer}
.control-help{margin:0;color:#315343;font-size:.72rem;font-weight:800}.desktop-help{display:none}.dpad{width:min(13.2rem,66vw);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.34rem;justify-items:center;align-items:center;touch-action:none}.dpad button,.dpad-center{width:clamp(3.1rem,14vw,4rem);height:clamp(3.1rem,14vw,4rem);display:grid;place-items:center;border:2px solid var(--ink);border-radius:17px;color:#fff;background:linear-gradient(145deg,#8259b7,#624092);box-shadow:3px 4px 0 var(--ink);font-size:1.35rem;font-weight:900;cursor:pointer;touch-action:manipulation}.dpad button:active,.dpad button.pressed{transform:translate(2px,2px);box-shadow:1px 2px 0 var(--ink);background:var(--lime);color:var(--ink)}.dpad-center{border-radius:50%;background:var(--paper);color:var(--green-500);font-size:1rem;box-shadow:inset 0 0 0 7px #e8f2de}
@keyframes bump{50%{transform:translate(-50%,-50%) scale(.88)}}@keyframes caught{20%,60%{transform:translate(-50%,-50%) rotate(-10deg)}40%,80%{transform:translate(-50%,-50%) rotate(10deg)}}@keyframes scorePop{50%{transform:scale(1.28);color:var(--purple)}}
@media(min-width:760px){.mobile-help{display:none}.desktop-help{display:inline}.game-shell{gap:.55rem;padding-block:.65rem}.maze{width:min(55svh,520px)}.dpad{width:9.7rem;gap:.2rem}.dpad button,.dpad-center{width:2.9rem;height:2.9rem;border-radius:14px}}
@media(max-height:680px){.game-shell{gap:.28rem;padding-top:.3rem}.game-header p{display:none}.scorebar{min-height:36px}.maze{width:min(88vw,430px,calc(100svh - 13.3rem))}.control-help{display:none}.dpad{width:min(10.8rem,55vw);gap:.2rem}.dpad button,.dpad-center{width:2.75rem;height:2.75rem;border-radius:13px}}
@media(prefers-reduced-motion:reduce){.piece{transition-duration:90ms}}
