html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#000;height:100%;margin:0;padding:0;overflow:hidden}#stage{position:fixed;inset:0;overflow:hidden}#stage canvas{touch-action:none;display:block}.name-input{opacity:0;-webkit-user-select:text;user-select:text;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;top:40%;left:50%}.share-panel,.top-buttons{z-index:10;gap:10px;font-family:FuturaRoundDemi,system-ui,sans-serif;display:flex;position:fixed}.share-panel{left:max(16px, env(safe-area-inset-left));flex-direction:column;align-items:stretch;max-width:calc(100vw - 32px);top:50%;transform:translateY(-50%)}.share-panel button,.top-buttons button{font:inherit;color:#4a2c0a;cursor:pointer;touch-action:manipulation;background:#f3dfb4;border:2px solid #8a5a24;border-radius:14px;padding:12px 22px;font-size:18px;box-shadow:0 3px 10px #00000059}.share-panel button.primary{background:#ffd36b}.share-panel button:active,.top-buttons button:active{transform:translateY(1px)}.top-buttons{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));gap:6px;transition:opacity .4s}.top-buttons button{opacity:.75;border-radius:10px;padding:6px 12px;font-size:15px}.top-buttons button.active{opacity:1;background:#ffd36b}.top-buttons.hidden{opacity:0;pointer-events:none}#loading{pointer-events:none;place-items:center;transition:opacity .3s;display:grid;position:fixed;inset:0}#loading.hidden{opacity:0}#loading .spinner{border:4px solid #f3dfb440;border-top-color:#f3dfb4;border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.top-buttons button.to-menu{margin-right:6px}.level-menu{z-index:5;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));box-sizing:border-box;color:#f3dfb4;background:radial-gradient(at 50% 35%,#4a2a52 0%,#24122a 55%,#120914 100%);flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(12px,3vh,32px);font-family:FuturaRoundDemi,system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.level-menu>:first-child{margin-top:auto}.level-menu>:last-child{margin-bottom:auto}.level-menu.hidden{display:none}.level-menu__head{justify-content:center;align-items:center;width:100%;max-width:1100px;display:flex;position:relative}.level-menu h1{letter-spacing:.02em;text-shadow:0 3px 12px #00000080;margin:0;font-size:clamp(28px,5.5vw,54px);font-weight:400}.level-menu__langs{gap:6px;display:flex;position:absolute;right:0}.level-menu__langs button,.level-menu__continue{font:inherit;color:#4a2c0a;cursor:pointer;touch-action:manipulation;background:#f3dfb4;border:2px solid #8a5a24;border-radius:10px}.level-menu__langs button{opacity:.7;padding:6px 12px;font-size:15px}.level-menu__langs button.active{opacity:1;background:#ffd36b}.level-group{width:100%;max-width:1100px}.level-group h2{text-align:center;opacity:.85;margin:0 0 12px;font-size:clamp(18px,2.4vw,24px);font-weight:400}.level-menu__cards{flex-wrap:wrap;justify-content:center;gap:clamp(12px,2.5vw,28px);width:100%;max-width:1100px;display:flex}.level-card{max-width:min(330px,31vh);font:inherit;color:#4a2c0a;cursor:pointer;touch-action:manipulation;background:#f3dfb4;border:3px solid #8a5a24;border-radius:16px;flex:220px;padding:10px 10px 14px;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 18px #00000073}.level-card:hover,.level-card:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px #0000008c}.level-card:active{transform:translateY(0)}.level-card.next{border-color:#e0a020;box-shadow:0 0 0 3px #ffd36bb3,0 6px 18px #00000073}.level-card__pic{aspect-ratio:4/3;background:#2e1a33 50%/cover no-repeat;border-radius:10px;position:relative}.level-card__num{text-align:center;color:#4a2c0a;background:#ffd36b;border-radius:50%;min-width:30px;height:30px;font-size:18px;line-height:30px;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #0006}.level-card__done{color:#fff;background:#2e8c46eb;border-radius:10px;padding:4px 10px;font-size:15px;position:absolute;bottom:8px;right:8px}.level-card__name{margin-top:10px;font-size:clamp(16px,1.8vw,20px)}.level-menu__continue{background:#ffd36b;padding:12px 28px;font-size:clamp(18px,2.2vw,22px);box-shadow:0 4px 14px #00000073}
