:root{color:#f0e8ff;background:#3a1f66;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{overscroll-behavior:none;background:radial-gradient(circle at top,#5c3494,#3a1f66 55%);min-height:100dvh;margin:0}#app{min-height:100dvh}.game-shell{height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));flex-direction:column;align-items:center;gap:.5rem;display:flex;overflow:hidden}.game-title-overlay{letter-spacing:.05em;color:#fff5e6;text-shadow:0 2px 6px #160a2ae6;pointer-events:none;white-space:nowrap;z-index:1;margin:0;font-size:clamp(1rem,3.5vw,1.4rem);position:absolute;top:clamp(8px,2vw,12px);left:50%;transform:translate(-50%)}.game-stage{touch-action:none;flex:1;width:100%;max-width:min(100%,720px);min-height:0;position:relative}#maze-canvas{background:#3a1f66;border:1px solid #7a58a8;border-radius:12px;width:100%;height:100%;display:block;overflow:hidden;box-shadow:0 16px 40px #160a2a73}#minimap-canvas{cursor:grab;background:#2a144aeb;border:1px solid #7a58a8;border-radius:10px;width:clamp(92px,22vw,148px);height:clamp(92px,22vw,148px);transition:border-color .15s;position:absolute;top:clamp(8px,2vw,12px);right:clamp(8px,2vw,12px);box-shadow:0 8px 24px #160a2a73}#minimap-canvas:hover{border-color:#9a78c8}.explore-return{color:#f0e8ff;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;z-index:2;background:#4a2578f0;border:1px solid #9a78c8;border-radius:999px;min-height:2.5rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600;position:absolute;bottom:clamp(8px,2vw,12px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #160a2a73}.explore-return:hover{background:#5c3494;border-color:#b8a0dc}.explore-return.hidden{display:none}#stats-maze-coins{color:#ffe082}.stats-hud{background:#2a144aeb;border:1px solid #7a58a8;border-radius:10px;flex-direction:row;align-items:center;gap:.25rem;padding:.3rem .3rem .3rem .6rem;display:flex;position:absolute;top:clamp(8px,2vw,12px);left:clamp(8px,2vw,12px);box-shadow:0 8px 24px #160a2a73}.stats-values{color:#c4b0e0;flex-direction:column;gap:.15rem;font-size:clamp(.7rem,2vw,.82rem);font-weight:600;line-height:1.3;display:flex}.cog-button{color:#9a78c8;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;padding:0;transition:color .12s,background .12s;display:flex}.cog-button:hover{color:#f0e8ff;background:#7a58a859}.cog-button.is-active{color:#56d4ea;background:#56d4ea2e}.cog-button.is-active:hover{color:#8ae8f5;background:#56d4ea47}.cog-button.is-active#bomb-button,.cog-button.is-active#bomb-button:hover{color:#ffab91;background:#ff704338}.bomb-aim-banner{z-index:4;background:#2a144af0;border:1px solid #ff7043;border-radius:10px;flex-direction:column;align-items:center;gap:.45rem;max-width:min(92%,420px);padding:.55rem .75rem;display:flex;position:absolute;bottom:clamp(10px,3vw,16px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #160a2a73}.bomb-aim-banner.hidden{display:none}.blast-trigger{z-index:5;color:#fff;cursor:pointer;touch-action:manipulation;pointer-events:auto;white-space:nowrap;background:#ff5252f0;border:1px solid #ffffff59;border-radius:999px;padding:.35rem .75rem;font-size:clamp(.68rem,2vw,.8rem);font-weight:700;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 14px #ff174466}.blast-trigger:after{content:"";background:#ff5252f0;border-bottom:1px solid #ffffff40;border-right:1px solid #ffffff40;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.blast-trigger:hover{background:#ff1744}.blast-trigger.hidden{display:none}.bomb-aim-banner p{color:#f0d8cc;text-align:center;margin:0;font-size:clamp(.72rem,2.2vw,.85rem);line-height:1.35}#stats-bombs{color:#ffab91}.controls-dock{flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:min(100%,720px);padding:.25rem 0 .35rem;display:flex}.controls-dock.hidden{display:none}.joystick-base{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#4a2578f0;border:2px solid #7a58a8;border-radius:50%;width:clamp(104px,24vw,132px);height:clamp(104px,24vw,132px);position:relative;box-shadow:inset 0 2px 14px #160a2a66,0 8px 24px #160a2a59}.joystick-base.is-active{cursor:grabbing;border-color:#9a78c8}.joystick-thumb{pointer-events:none;background:#9a78c8;border:2px solid #b8a0dc;border-radius:50%;width:42%;height:42%;transition:background .12s,border-color .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #160a2a66}.joystick-base.is-active .joystick-thumb{background:#ffd54a;border-color:#fff0a8}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2a144ac7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.overlay.hidden{display:none}.overlay-card{text-align:center;background:#4a2578;border:1px solid #7a58a8;border-radius:16px;min-width:min(90vw,22rem);max-height:calc(100dvh - 2rem);padding:2rem;overflow-y:auto;box-shadow:0 20px 50px #160a2a80}.overlay-card h2{color:#fff5e6;margin:0 0 .5rem}.overlay-card p{color:#c4b0e0;margin:0 0 1.25rem}.overlay-card button{color:#3a1f66;cursor:pointer;touch-action:manipulation;background:#ffd54a;border:none;border-radius:999px;min-height:2.75rem;padding:.7rem 1.4rem;font-size:1rem;font-weight:600}.overlay-card button:hover{background:#ffe082}.settings-card{text-align:left}.settings-field{flex-direction:column;gap:.4rem;margin-bottom:.5rem;font-weight:600;display:flex}.settings-field input,.settings-field select{color:#f0e8ff;background:#3a1f66;border:1px solid #7a58a8;border-radius:8px;padding:.55rem .75rem;font-size:1rem}.settings-field select{cursor:pointer}.settings-hint{color:#c4b0e0;margin:0 0 1rem;font-size:.9rem}.settings-presets{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.settings-presets button{color:#f0e8ff;cursor:pointer;touch-action:manipulation;background:#3a1f66;border:1px solid #7a58a8;border-radius:999px;min-height:2.5rem;padding:.45rem .75rem;font-size:.85rem;font-weight:600}.settings-presets button:hover{background:#5c3494}.settings-toggle{cursor:pointer;align-items:center;gap:.6rem;min-height:2.5rem;margin-bottom:.35rem;font-weight:600;display:flex}.settings-toggle input{accent-color:#ffd54a;width:1.1rem;height:1.1rem}.settings-label{color:#f0e8ff;margin:.5rem 0 .25rem;font-size:.95rem;font-weight:600}.settings-actions{justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.scores-card{text-align:left;min-width:min(90vw,22rem);max-width:34rem}#scores-content{max-height:55vh;overflow-y:auto}.scores-empty{color:#9a78c8;text-align:center;margin:1.25rem 0}.scores-coin-total{color:#ffe082;margin:0 0 1rem;font-size:.95rem}.scores-section-title{letter-spacing:.09em;text-transform:uppercase;color:#9a78c8;margin:1.1rem 0 .5rem;font-size:.75rem;font-weight:700}.scores-section-title:first-child{margin-top:0}.scores-table{border-collapse:collapse;width:100%;font-size:.88rem}.scores-table th{text-align:left;color:#9a78c8;border-bottom:1px solid #5c3494;padding:0 .75rem .4rem 0;font-size:.75rem;font-weight:600}.scores-table td{color:#f0e8ff;border-bottom:1px solid #5c349459;padding:.38rem .75rem .38rem 0}.scores-table tr:last-child td{border-bottom:none}.secondary-button{color:#f0e8ff!important;background:0 0!important;border:1px solid #7a58a8!important}.secondary-button:hover{background:#5c3494!important}.danger-button{color:#f08080!important;background:0 0!important;border:1px solid #8b3a3a!important;min-height:2.5rem!important;padding:.45rem 1rem!important;font-size:.85rem!important}.danger-button:hover{background:#8b3a3a4d!important;border-color:#c06060!important}.control-picker{border:1px solid #7a58a8;border-radius:10px;margin-bottom:1.25rem;display:flex;overflow:hidden}.control-picker .control-option{min-height:unset;color:#9a78c8;cursor:pointer;touch-action:manipulation;background:#3a1f66;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.8rem .5rem;font-family:inherit;font-size:.85rem;font-weight:600;line-height:1.2;transition:background .12s,color .12s;display:flex}.control-picker .control-option:first-child{border-right:1px solid #7a58a8}.control-picker .control-option.is-selected{color:#f0e8ff;background:#5c3494}.control-picker .control-option:hover{color:#f0e8ff;background:#5c349459}.control-picker .control-option.is-selected:hover{background:#5c3494}.intro-card{text-align:center;max-width:28rem}.intro-title{letter-spacing:.06em;color:#fff5e6;text-shadow:0 3px #2a1450,0 0 40px #ffd54a40;margin:0 0 .65rem;font-size:clamp(2.5rem,10vw,4rem)}.intro-actions{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.intro-actions button{width:100%;max-width:16rem}@media (width<=768px){.game-shell{padding:max(.4rem, env(safe-area-inset-top)) max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));gap:.35rem}.game-stage{flex:auto;max-width:100%}#maze-canvas{box-shadow:none;border-radius:8px}#minimap-canvas{width:clamp(72px,18vw,108px);height:clamp(72px,18vw,108px)}.game-title-overlay{font-size:clamp(.85rem,3vw,1.1rem)}}@media (width<=480px){.game-shell{gap:.25rem}}@media (width>=768px){.game-shell{gap:.85rem;padding-top:1.25rem}.controls-dock{padding-bottom:.5rem}}
