:root{--bg:#06030d;--bg2:#120a26;--pink:#ff2e7e;--magenta:#d93bff;--violet:#8e54f7;--blue:#3b5bff;--grad:#ff2e7e;--white:#f4f8ff;--text:#e6ecf7;--muted:#a39cc4;--faint:#6f6890;--line:#e6d2ff29;--line-strong:#e6d2ff66;--font:"Sora", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--ease:cubic-bezier(.2, .8, .2, 1);--tap:46px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--white);outline-offset:3px}#app{position:fixed;inset:0}.board-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.board-wrap:focus-visible{outline:none}.board-canvas{display:block;position:absolute;inset:0}.sphere-layer{pointer-events:none;position:absolute;inset:0}.sphere-btn{pointer-events:none;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%)}.sphere-btn:focus-visible{outline:2px solid var(--white);outline-offset:4px;box-shadow:0 0 0 8px #d93bff59}.board-msg{text-align:center;z-index:5;background:#06030ddb;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.board-msg .inner{justify-items:center;gap:16px;max-width:440px;line-height:1.5;display:grid}.ui{pointer-events:none;z-index:2;position:fixed;inset:0}.ui button,.ui a,.ui input,.ui .panel,.ui .now-card{pointer-events:auto}.screen{animation:fade-in .5s var(--ease);position:absolute;inset:0}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{min-height:var(--tap);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);color:var(--white);font-family:var(--font);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);background:#0a04186b;border-radius:999px;justify-content:flex-start;align-items:center;gap:12px;padding:0 22px;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.btn:hover{background:#280e468c;border-color:#ffffffb3}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--magenta);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.38;cursor:default}.btn-primary{background:var(--grad);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #ff2e7ed9, 0 10px 36px #ff2e7e59;border:0}.btn-primary:hover{background:var(--grad);filter:brightness(1.08)}.btn-primary small{font-family:var(--font);letter-spacing:.24em;opacity:.85;margin-left:auto;font-size:.66rem;font-weight:400}.btn-sm{justify-content:center;min-height:44px;padding:0 16px;font-size:.72rem}.btn-ghost{-webkit-backdrop-filter:none;color:var(--muted);font-family:var(--font);letter-spacing:.3em;background:0 0;border-color:#0000;font-weight:400}.btn-ghost:hover{color:var(--white);background:0 0;border-color:#0000}.icon-btn{width:var(--tap);height:var(--tap);min-width:var(--tap);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);cursor:pointer;color:var(--white);transition:border-color .25s var(--ease), background .25s var(--ease);background:#0a04186b;border-radius:50%;place-items:center;padding:0;display:grid}.icon-btn:hover{border-color:#ffffffbf}.icon-btn svg{width:20px;height:20px}.icon-btn:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--magenta);outline:none}.seg{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#0a041880;border-radius:999px;gap:2px;padding:4px;display:inline-flex}.seg button{min-width:72px;min-height:38px;color:var(--muted);font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.72rem}.seg button[aria-pressed=true]{background:var(--grad);color:var(--white);font-weight:700;box-shadow:0 0 18px #ff2e7e73}.switch{appearance:none;border:1px solid var(--line-strong);cursor:pointer;width:46px;height:26px;transition:background .25s var(--ease);background:#0a041899;border-radius:999px;flex:none;margin:0;position:relative}.switch:after{content:"";background:var(--muted);width:18px;height:18px;transition:transform .25s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch:checked{background:var(--grad);border-color:#0000}.switch:checked:after{background:var(--white);transform:translate(20px)}input[type=range]{width:min(240px,42vw);accent-color:var(--pink);cursor:pointer}.home-lang{top:calc(18px + var(--safe-t));position:absolute;left:50%;transform:translate(-50%)}.home-sound{top:calc(19px + var(--safe-t));right:calc(20px + var(--safe-r));position:absolute}.home-left{left:calc(clamp(24px, 6vw, 80px) + var(--safe-l));width:min(400px,44vw);position:absolute;top:50%;transform:translateY(-52%)}.logo-mark{margin:0;line-height:0}.logo{width:clamp(240px,32vw,460px);height:auto;overflow:visible}.tagline{font-family:var(--font);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin:1.4rem 0 2rem;font-size:clamp(.72rem,1.1vw,.86rem);line-height:1.9}.menu-nav{gap:12px;display:grid}.menu-nav .btn{width:100%}.audio-hint{font-family:var(--font);letter-spacing:.28em;text-transform:uppercase;color:var(--faint);margin:1.4rem 0 0;font-size:.7rem}.now-card{right:calc(28px + var(--safe-r));bottom:calc(56px + var(--safe-b));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#0c051c8c;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(380px,40vw);padding:16px;display:grid;position:absolute}.now-disc{background:radial-gradient(circle,#0000 22px,#ffffffd9 23px,#0000 26px),conic-gradient(from 210deg,#ff2e7e,#b43dff,#3b5bff,#ff2e7e);border-radius:14px;width:64px;height:64px;box-shadow:0 0 22px #d93bff73}.now-kicker{font-family:var(--font);letter-spacing:.24em;text-transform:uppercase;color:var(--pink);font-size:.62rem}.now-title{margin-top:4px;font-size:1.05rem;font-weight:700}.now-sub{color:var(--muted);margin-top:2px;font-size:.8rem}.signature{left:0;right:0;bottom:calc(18px + var(--safe-b));text-align:center;font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin:0;font-size:.66rem;position:absolute}.signature a{color:var(--text);border-bottom:1px solid var(--line-strong);text-decoration:none}.signature a:hover{color:var(--white)}.screen-panel{padding:calc(24px + var(--safe-t)) calc(20px + var(--safe-r)) calc(24px + var(--safe-b)) calc(20px + var(--safe-l));pointer-events:auto;background:radial-gradient(at 50% 40%,#12082659,#06030db8);place-items:center;display:grid}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);background:linear-gradient(#180a2ecc,#0a0418d9);border-radius:28px;flex-direction:column;width:min(1180px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000080}.panel.narrow{width:min(520px,100%)}.panel.medium{width:min(900px,100%)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:24px 34px;display:flex}.panel-head h2{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700}.panel-body{overscroll-behavior:contain;padding:26px 34px 32px;overflow-y:auto}.chapter{font-family:var(--font);letter-spacing:.34em;text-transform:uppercase;color:var(--muted);align-items:center;gap:16px;margin:4px 0 16px;font-size:.72rem;display:flex}.chapter:after{content:"";background:linear-gradient(90deg,#ff2e7e99,#3b5bff1a);flex:1;height:1px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;margin:0 0 26px;padding:0;list-style:none;display:grid}.level-card{aspect-ratio:1.36;border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--white);transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);background:#0a0418 50%/cover no-repeat;border-radius:20px;padding:0;position:relative;overflow:hidden}.level-card:after{content:"";background:linear-gradient(#06030d1a 35%,#06030deb 100%);position:absolute;inset:0}.level-card:hover,.level-card:focus-visible{border-color:#c8aaffd9;outline:none;transform:translateY(-2px);box-shadow:0 0 26px #8e54f766}.level-card .lc-num,.level-card .lc-state{z-index:1;font-family:var(--font);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;position:absolute;top:14px}.level-card .lc-num{font-weight:700;left:16px}.level-card .lc-state{color:var(--muted);right:16px}.level-card[data-done=true] .lc-state{color:var(--white)}.level-card .lc-meta{z-index:1;gap:4px;display:grid;position:absolute;bottom:14px;left:16px;right:16px}.level-card .lc-kicker{font-family:var(--font);letter-spacing:.24em;text-transform:uppercase;font-size:.64rem}.level-card .lc-title{letter-spacing:.08em;text-transform:uppercase;font-size:.98rem;font-weight:700}.k1{color:#7f95ff}.k2{color:#c08bff}.k3{color:var(--pink)}.rules-list{counter-reset:r;gap:18px;margin:0;padding:0;list-style:none;display:grid}.rules-list li{counter-increment:r;grid-template-columns:44px 1fr;align-items:start;gap:14px;line-height:1.55;display:grid}.rules-list li:before{content:counter(r, decimal-leading-zero);font-family:var(--font);letter-spacing:.2em;color:var(--pink);padding-top:2px;font-size:.8rem}.rules-foot{font-family:var(--font);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:26px 0 0;font-size:.7rem}.set-group{font-family:var(--font);letter-spacing:.34em;text-transform:uppercase;color:var(--violet);margin:22px 0 6px;font-size:.68rem;font-weight:700}.set-group:first-child{margin-top:0}.set-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:8px 0;display:flex}.set-row>span:first-child,.set-row>label:first-child{font-size:1rem}.set-ctrl{align-items:center;gap:14px;display:flex}.set-ctrl output{text-align:right;min-width:2.4em;font-family:var(--font);color:var(--muted);font-size:.8rem}.track-name{font-family:var(--font);letter-spacing:.14em;color:var(--muted);font-size:.76rem}.stack{gap:12px;display:grid}.stack .btn{justify-content:center;width:100%}.results{text-align:center;gap:8px;display:grid}.results-kicker{font-family:var(--font);letter-spacing:.34em;text-transform:uppercase;color:var(--pink);font-size:.72rem}.results-title{font-family:var(--font);letter-spacing:.02em;background:linear-gradient(#fff 30%,#d9c8ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:6px 0 0;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700}.results-sub{font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem}.results-table{border:1px solid var(--line);background:var(--line);border-radius:16px;grid-template-columns:1fr 1fr;gap:1px;margin:22px 0;display:grid;overflow:hidden}.results-table div{background:#0a0418b3;gap:4px;padding:14px;display:grid}.results-table dt{font-family:var(--font);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.results-table dd{font-family:var(--font);color:var(--white);margin:0;font-size:1.5rem}.all-done{color:var(--text);margin:0 0 12px}.hud-top{padding:calc(18px + var(--safe-t)) calc(20px + var(--safe-r)) 14px calc(22px + var(--safe-l));background:linear-gradient(#06030dbf,#06030d00);justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute;top:0;left:0;right:0}.hud-level{min-width:0}#game-title{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}#game-title .num{font-family:var(--font);color:var(--pink);letter-spacing:.12em;font-weight:400}#game-title .sep{color:var(--muted);margin:0 .4em}.hud-track{font-family:var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:.64rem;overflow:hidden}.hud-right{flex:none;align-items:center;gap:18px;display:flex}.counters{gap:22px;display:flex}.hud-stat{justify-items:end;gap:2px;display:grid}.hud-stat .lbl{font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.hud-stat strong{font-family:var(--font);color:var(--white);letter-spacing:.06em;font-size:1.35rem;font-weight:700}.hud-icons{gap:10px;display:flex}.hud-bottom{padding:14px calc(22px + var(--safe-r)) calc(18px + var(--safe-b)) calc(22px + var(--safe-l));background:linear-gradient(#06030d00,#06030dbf);grid-template-columns:1fr auto 1fr;align-items:end;gap:16px;display:grid;position:absolute;bottom:0;left:0;right:0}.hud-actions{flex-wrap:wrap;justify-self:start;gap:10px;display:flex}.hud-center{text-align:center;justify-items:center;gap:8px;max-width:min(560px,46vw);display:grid}.toast{min-height:1.2em;font-family:var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--white);text-shadow:0 0 14px #d93bff99;margin:0;font-size:.74rem}.toast[data-tone=warn]{color:#ff8ab8}.tutorial{color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.game-hint{font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin:0;font-size:.64rem}.dpad{grid-template-columns:repeat(3, var(--tap));grid-template-rows:repeat(3, var(--tap));justify-self:end;gap:6px;display:grid}.dpad .icon-btn{font-size:1.1rem}.dpad [data-dir=N]{grid-area:1/2}.dpad [data-dir=W]{grid-area:2/1}.dpad [data-dir=E]{grid-area:2/3}.dpad [data-dir=S]{grid-area:3/2}.dpad .icon-btn[aria-disabled=true]{opacity:.32}.dpad .icon-btn[data-preview=true]{background:var(--grad);border-color:#0000;box-shadow:0 0 18px #d93bff80}.dpad .icon-btn[data-hint=true]{border-color:var(--magenta);box-shadow:0 0 22px #d93bffb3}.dpad-center{font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);grid-area:2/2;place-items:center;font-size:.5rem;display:grid}.fatal{background:var(--bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.fatal pre{white-space:pre-wrap;color:#ff8ab8;max-width:640px;font-size:.85rem}@media (max-width:720px){.home-left{left:calc(20px + var(--safe-l));right:calc(20px + var(--safe-r));width:auto;top:auto;bottom:calc(52px + var(--safe-b));transform:none}.logo{width:min(300px,78vw)}.tagline{letter-spacing:.26em;margin:.9rem 0 1.2rem}.menu-nav{gap:10px}.now-card{display:none}.panel-head{padding:18px 20px}.panel-body{padding:18px 20px 24px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.level-card{aspect-ratio:1.05;border-radius:16px}.level-card .lc-title{font-size:.78rem}.level-card .lc-kicker{display:none}.set-row{flex-wrap:wrap;min-height:52px}.hud-top{padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) 10px calc(14px + var(--safe-l));gap:10px}#game-title{font-size:.82rem}#game-title .sep,#game-title .name{display:none}.hud-stat .lbl{letter-spacing:.16em}.hud-track{display:none}.hud-right{gap:10px}.counters{gap:12px}.hud-stat strong{font-size:1.05rem}.hud-icons{gap:6px}.hud-icons .icon-btn{width:40px;min-width:40px;height:40px}.hud-bottom{padding:10px calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));grid-template-columns:1fr auto;grid-template-areas:"center center""actions dpad";gap:10px}.hud-center{grid-area:center;max-width:none}.hud-actions{flex-direction:column;grid-area:actions;align-self:end}.hud-actions .btn{width:100%}.dpad{grid-area:dpad;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px)}.tutorial{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.game-hint{display:none}}@media (max-height:520px) and (min-aspect-ratio:4/3){.home-left{transform-origin:0;transform:translateY(-50%)scale(.82)}.tutorial{display:none}.hud-bottom{padding-top:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.hud-top{background:0 0}.hud-bottom{background:0 0;justify-content:flex-start;display:flex}.hud-actions{flex-direction:row}.hud-home{height:var(--tap);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:border-color .25s var(--ease);background:#0a04186b;border-radius:999px;align-items:center;padding:0 16px 0 12px;display:inline-flex}.hud-home:hover{border-color:#ffffffbf}.hud-home:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--magenta);outline:none}.hud-home svg{width:auto;height:20px;display:block}.icon-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.icon-btn.big{width:64px;min-width:64px;height:64px}.icon-btn.big svg{width:26px;height:26px}.icon-btn.primary{background:var(--grad);width:84px;min-width:84px;height:84px;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #ff2e7ed9, 0 10px 36px #ff2e7e73;border:0}.icon-btn.primary svg{width:32px;height:32px}.results-screen{padding-bottom:calc(48px + var(--safe-b));background:radial-gradient(at 50% 45%,#12082600,#06030d8c);align-items:end}.icon-btn.busy svg{animation:.9s ease-in-out infinite hint-pulse}@keyframes hint-pulse{50%{opacity:.35}}@media (max-width:720px){.hud-bottom{display:flex}.hud-actions{flex-direction:row}.icon-row{gap:12px}.icon-btn.big{width:56px;min-width:56px;height:56px}}.level-card[data-locked=true]{cursor:not-allowed;filter:grayscale(.85)brightness(.45)}.level-card[data-locked=true]:hover{box-shadow:none;border-color:var(--line);transform:none}.lc-lock svg{width:18px;height:18px;color:var(--white)}.menu-nav{width:min(280px,100%)}@media (max-width:720px){.menu-nav{width:min(300px,100%)}}.home-left{text-align:center;justify-items:center;width:min(420px,100vw - 40px);display:grid;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.home-left .logo{width:clamp(240px,30vw,420px);margin-bottom:2rem}.menu-nav .btn{justify-content:center}.btn-primary small{margin-left:0}@media (max-width:720px){.home-left{inset:50% auto auto 50%;transform:translate(-50%,-46%)}}@media (max-height:520px) and (min-aspect-ratio:4/3){.home-left{transform-origin:50%;transform:translate(-50%,-50%)scale(.82)}}.lang-sweep{z-index:60;pointer-events:none;mix-blend-mode:screen;filter:blur(6px);background:linear-gradient(100deg,#0000 0 32%,#ff4f9a47 42%,#d93bff8c 50%,#3b6bff47 58%,#0000 68% 100%);animation:.85s cubic-bezier(.6,0,.3,1) forwards lang-sweep;position:fixed;inset:0}@keyframes lang-sweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}.lang-in{animation:.6s cubic-bezier(.2,.8,.2,1) both lang-in;animation-delay:calc(80ms + var(--li,0) * 30ms)}@keyframes lang-in{0%{opacity:0;filter:blur(10px);transform:translateY(8px)scale(.97)}60%{filter:blur()drop-shadow(0 0 10px #d93bffe6)}}.level-tiles{grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(6px,1.2vw,12px);margin:0;padding:0;list-style:none;display:grid}@media (max-width:560px){.level-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}.level-tile{--hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='45' viewBox='0 0 26 45'%3E%3Cg fill='none' stroke='white' stroke-width='1.3'%3E%3Cpath d='M0 -15L13 -7.5V7.5L0 15L-13 7.5V-7.5Z'/%3E%3Cpath d='M26 -15L39 -7.5V7.5L26 15L13 7.5V-7.5Z'/%3E%3Cpath d='M13 7.5L26 15V30L13 37.5L0 30V15Z'/%3E%3Cpath d='M0 30L13 37.5V52.5L0 60L-13 52.5V37.5Z'/%3E%3Cpath d='M26 30L39 37.5V52.5L26 60L13 52.5V37.5Z'/%3E%3C/g%3E%3C/svg%3E");aspect-ratio:1;isolation:isolate;background:radial-gradient(circle at 34% 28%, #ffffff8c, #fff0 26%), radial-gradient(circle, color-mix(in srgb, var(--b) 14%, transparent) 0 46%, color-mix(in srgb, var(--b) 62%, transparent) 100%);width:100%;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--e) 70%, transparent), inset 0 0 16px color-mix(in srgb, var(--r) 85%, transparent), 0 0 16px color-mix(in srgb, var(--b) 45%, transparent);color:var(--white);font-family:var(--font);text-shadow:0 0 10px color-mix(in srgb, var(--r) 90%, transparent);cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), filter .2s var(--ease);border:0;border-radius:50%;place-items:center;font-size:1.15rem;font-weight:700;display:grid;position:relative;overflow:hidden}.level-tile:before{content:"";z-index:-1;background:var(--hex) center / 13px auto;opacity:.55;border-radius:50%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#0000 30%,#000 92%);mask-image:radial-gradient(circle,#0000 30%,#000 92%)}.level-tile:hover,.level-tile:focus-visible{box-shadow:inset 0 0 0 1.5px var(--e), inset 0 0 18px var(--r), 0 0 26px color-mix(in srgb, var(--b) 75%, transparent);outline:none;transform:scale(1.08)}.level-tile[data-done=true]{background:radial-gradient(circle at 34% 28%, #fff9, #fff0 26%), radial-gradient(circle, color-mix(in srgb, var(--b) 45%, transparent) 0 40%, color-mix(in srgb, var(--b) 85%, transparent) 100%)}.level-tile[data-next=true]{animation:2.2s ease-in-out infinite lt-souffle}@keyframes lt-souffle{50%{box-shadow:inset 0 0 0 2px var(--e), inset 0 0 20px var(--r), 0 0 30px color-mix(in srgb, var(--b) 85%, transparent)}}.level-tile[data-locked=true]{cursor:not-allowed;filter:grayscale()brightness(.65);opacity:.55}.level-tile[data-locked=true]:hover{transform:none}@media (prefers-reduced-motion:reduce){.level-tile[data-next=true]{animation:none}}.lt-lock svg{width:20px;height:20px}.screen-home{isolation:isolate}.screen-home:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(46% 62%,#06030d9e,#06030d4d 70%,#06030d00 100%),#06030d47;position:absolute;inset:0}.screen-home.dimmed .home-left,.screen-home.dimmed .home-lang,.screen-home.dimmed .home-sound{visibility:hidden}@property --pc-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.btn{font-family:var(--font);letter-spacing:.04em;text-transform:none;isolation:isolate;font-size:.98rem;font-weight:700;overflow:hidden}.btn-sm{font-size:.86rem}.menu-nav .btn{background:radial-gradient(140px circle at var(--mx,50%) var(--my,50%), #d93bff00, transparent 70%), #0a041880;min-height:54px;transition:transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);font-size:1.06rem}.menu-nav .btn-primary{background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%), #fff0, transparent 70%), var(--grad);min-height:60px;font-size:1.14rem}.menu-nav .btn-primary small{font-family:var(--font);letter-spacing:.22em;text-transform:uppercase;background:#06030d47;border-radius:999px;padding:3px 8px;font-size:.64rem;font-weight:700}.menu-nav .btn:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--pc-angle), #ff2e7e, #ffc2dd, #ff2e7e, #ff7ab3, #ff2e7e);-webkit-mask-composite:xor;opacity:0;transition:opacity .35s var(--ease);padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@property --fr{syntax:"<length>";inherits:false;initial-value:0}.menu-nav .btn:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;--fr:0px;--field:255, 46, 126;background:radial-gradient(circle at var(--fx,50%) var(--fy,50%), transparent calc(var(--fr) - 26px), #fffffff2 calc(var(--fr) - 5px), transparent var(--fr)), radial-gradient(circle at var(--fx,50%) var(--fy,50%), rgba(var(--field), .6), rgba(var(--field), .2) 75%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15.59'%3E%3Cpath d='M7.6 0L3.8 6.58L-3.8 6.58L-7.6 0L-3.8 -6.58L3.8 -6.58ZM34.6 0L30.8 6.58L23.2 6.58L19.4 0L23.2 -6.58L30.8 -6.58ZM7.6 15.59L3.8 22.17L-3.8 22.17L-7.6 15.59L-3.8 9.01L3.8 9.01ZM34.6 15.59L30.8 22.17L23.2 22.17L19.4 15.59L23.2 9.01L30.8 9.01ZM21.1 7.79L17.3 14.38L9.7 14.38L5.9 7.79L9.7 1.21L17.3 1.21Z'/%3E%3C/svg%3E") 0 0 / 27px 15.59px repeat, radial-gradient(circle at var(--fx,50%) var(--fy,50%), #000 calc(var(--fr) - 1px), transparent var(--fr));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15.59'%3E%3Cpath d='M7.6 0L3.8 6.58L-3.8 6.58L-7.6 0L-3.8 -6.58L3.8 -6.58ZM34.6 0L30.8 6.58L23.2 6.58L19.4 0L23.2 -6.58L30.8 -6.58ZM7.6 15.59L3.8 22.17L-3.8 22.17L-7.6 15.59L-3.8 9.01L3.8 9.01ZM34.6 15.59L30.8 22.17L23.2 22.17L19.4 15.59L23.2 9.01L30.8 9.01ZM21.1 7.79L17.3 14.38L9.7 14.38L5.9 7.79L9.7 1.21L17.3 1.21Z'/%3E%3C/svg%3E") 0 0 / 27px 15.59px repeat, radial-gradient(circle at var(--fx,50%) var(--fy,50%), #000 calc(var(--fr) - 1px), transparent var(--fr));mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15.59'%3E%3Cpath d='M7.6 0L3.8 6.58L-3.8 6.58L-7.6 0L-3.8 -6.58L3.8 -6.58ZM34.6 0L30.8 6.58L23.2 6.58L19.4 0L23.2 -6.58L30.8 -6.58ZM7.6 15.59L3.8 22.17L-3.8 22.17L-7.6 15.59L-3.8 9.01L3.8 9.01ZM34.6 15.59L30.8 22.17L23.2 22.17L19.4 15.59L23.2 9.01L30.8 9.01ZM21.1 7.79L17.3 14.38L9.7 14.38L5.9 7.79L9.7 1.21L17.3 1.21Z'/%3E%3C/svg%3E") 0 0 / 27px 15.59px repeat, radial-gradient(circle at var(--fx,50%) var(--fy,50%), #000 calc(var(--fr) - 1px), transparent var(--fr));-webkit-mask-composite:source-in;transition:--fr .6s cubic-bezier(.4,0,.6,1);position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}.menu-nav .btn-primary:after{--field:40, 0, 22}@media (hover:hover) and (prefers-reduced-motion:no-preference){.menu-nav .btn:hover{background:radial-gradient(140px circle at var(--mx,50%) var(--my,50%), #ff2e7e52, transparent 70%), #1a08349e;border-color:#0000;transform:translateY(-2px)scale(1.02);box-shadow:0 12px 32px #ff2e7e42,0 0 22px #ff2e7e2e}.menu-nav .btn-primary:hover{background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%), #ffffff1a, transparent 70%), #c81d61;filter:none;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #ff2e7ef2, 0 14px 44px #ff2e7e8c}.menu-nav .btn:hover:before{opacity:1;animation:2.4s linear infinite pc-liseré}.menu-nav .btn:hover:after{--fr:340px;transition-duration:.95s;transition-timing-function:cubic-bezier(.16,.8,.3,1)}.menu-nav .btn:active{transform:translateY(0)scale(.98)}}@keyframes pc-liseré{to{--pc-angle:360deg}}.hud-top{grid-template-columns:1fr auto 1fr;align-items:start;display:grid}.hud-top .hud-right{justify-self:end}#game-title.hud-title{text-align:center;text-transform:none;letter-spacing:0;white-space:normal;pointer-events:none;justify-items:center;gap:4px;max-width:min(44vw,520px);margin:0;padding-top:2px;display:grid;overflow:visible}.hud-title .num{font-family:var(--font);letter-spacing:.32em;text-transform:uppercase;color:var(--pink);font-size:.66rem;font-weight:700}.hud-title .name{max-width:100%;font-family:var(--font);color:var(--white);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 18px #d93bff73;font-size:1.15rem;font-weight:700;overflow:hidden}@media (max-width:720px){.hud-top{grid-template-columns:1fr auto;row-gap:8px}#game-title.hud-title{grid-area:2/1/auto/-1;justify-self:center;gap:2px;max-width:100%;padding-top:0}.hud-title .num{letter-spacing:.22em;font-size:.58rem}#game-title .name{font-size:1rem;display:block}}.tuto{pointer-events:none;z-index:6;position:absolute;inset:0}.tuto>*{pointer-events:auto}.tuto-close{top:calc(18px + var(--safe-t));right:calc(20px + var(--safe-r));position:absolute}.tuto-card{top:calc(18px + var(--safe-t));text-align:center;pointer-events:none;justify-items:center;gap:6px;width:min(560px,100vw - 150px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.tuto-step{font-family:var(--font);letter-spacing:.32em;text-transform:uppercase;color:var(--pink);margin:0;font-size:.66rem;font-weight:700}.tuto-title{font-family:var(--font);color:var(--white);text-shadow:0 0 22px #d93bff80;margin:0;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700}.tuto-text{color:#ffffffdb;max-width:46ch;min-height:2.9em;transition:color .3s var(--ease);margin:4px 0 0;font-size:1rem;line-height:1.45}.tuto-text[data-tone=done]{color:#b8fbff}.tuto-text[data-tone=warn]{color:#ffb3d6}.tuto-nav{left:50%;bottom:calc(18px + var(--safe-b));align-items:center;gap:12px;display:flex;position:absolute;transform:translate(-50%)}.tuto-dots{gap:8px;margin:0 6px;padding:0;list-style:none;display:flex}.tuto-dots li{border:1px solid var(--line-strong);width:9px;height:9px;transition:background .3s var(--ease), transform .3s var(--ease);border-radius:50%}.tuto-dots li[data-state=done]{background:var(--grad);border:0}.tuto-dots li[data-state=current]{border:2px solid var(--pink);transform:scale(1.25)}.icon-btn:disabled{opacity:.32;cursor:default}.tuto-next.ready{background:var(--grad);animation:tuto-ready 1.6s var(--ease) infinite;border:0;box-shadow:0 0 24px #ff2e7e8c}@keyframes tuto-ready{50%{box-shadow:0 0 0 6px #ff2e7e2e,0 0 38px #ff2e7ecc}}.tuto-hand{opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffffe6 0 18%,#ffffff2e 19% 100%);border:2px solid #ffffffeb;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:fixed;box-shadow:0 0 18px #ffffffb3,0 0 40px #d93bff99}.tuto-hand.show{animation:tuto-swipe 2.4s var(--ease) infinite}@keyframes tuto-swipe{0%{opacity:0;transform:translate(0)scale(1.5)}14%{opacity:1;transform:translate(0)scale(1)}24%{transform:translate(0)scale(.78)}64%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(.78)}80%,to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.1)}}.reduce-motion .tuto-hand.show,.reduce-motion .tuto-next.ready{animation:none}.reduce-motion .tuto-hand.show{opacity:1}@media (max-width:720px){.tuto-card{top:calc(64px + var(--safe-t));width:calc(100vw - 32px)}.tuto-text{font-size:.92rem}.tuto-close{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r))}.tuto-nav{bottom:calc(14px + var(--safe-b));gap:10px}}.victory{z-index:7;text-align:center;cursor:pointer;animation:victory-fade .4s var(--ease) both;background:radial-gradient(#0a051659,#06030db3);place-content:center;justify-items:center;gap:18px;padding:0 16px;display:grid;position:absolute;inset:0}.victory[hidden]{display:none}.victory-word{font-family:var(--font);letter-spacing:.01em;white-space:nowrap;color:#fff;text-shadow:0 0 18px #ff2e7e73,0 0 60px #ff2e7e40;margin:0;padding:.06em .04em .1em;font-size:clamp(2.6rem,9vw,6.4rem);font-weight:700;line-height:1;overflow:hidden}.victory-word span{animation:.7s cubic-bezier(.16,1,.3,1) both victory-letter;animation-delay:calc(80ms + var(--i) * 38ms);display:inline-block}.victory-line{transform-origin:50%;background:#ffffffe6;width:min(380px,62vw);height:1px;animation:.9s cubic-bezier(.65,0,.35,1) .35s both victory-line;display:block;box-shadow:0 0 8px #ff2e7ee6,0 0 22px #ff2e7e80}.victory-sub{font-family:var(--font);letter-spacing:.34em;text-transform:uppercase;color:#ffffffc7;animation:victory-sub .7s .65s var(--ease) both;margin:0;font-size:.78rem;font-weight:700}.victory-rings{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.victory-rings span{opacity:0;border:1px solid #ffffff8c;border-radius:50%;width:220px;height:220px;animation:1.6s cubic-bezier(.12,.8,.3,1) .1s both victory-ring;position:absolute;top:-110px;left:-110px}.victory-rings span:nth-child(2){border-color:#ff2e7e73;animation-delay:.32s}.victory.leaving{animation:victory-out-bg .45s var(--ease) both}.victory.leaving .victory-word span{animation:.4s cubic-bezier(.7,0,.84,0) both victory-letter-out;animation-delay:calc(var(--i) * 18ms)}.victory.leaving .victory-line{animation:.4s cubic-bezier(.7,0,.84,0) both victory-line-out}.victory.leaving .victory-sub{animation:victory-sub-out .3s var(--ease) both}@keyframes victory-fade{0%{opacity:0}}@keyframes victory-letter{0%{transform:translateY(110%)}}@keyframes victory-letter-out{to{transform:translateY(-110%)}}@keyframes victory-line{0%{opacity:0;transform:scaleX(0)}}@keyframes victory-line-out{to{opacity:0;transform:scaleX(0)}}@keyframes victory-sub{0%{opacity:0;transform:translateY(6px)}}@keyframes victory-sub-out{to{opacity:0}}@keyframes victory-ring{0%{opacity:.8;transform:scale(.3)}to{opacity:0;transform:scale(3.6)}}@keyframes victory-out-bg{to{opacity:0}}.reduce-motion .victory,.reduce-motion .victory *,.reduce-motion .victory-word span{animation:none!important}.reduce-motion .victory-rings{display:none}@media (max-width:720px){.victory-sub{letter-spacing:.24em;font-size:.66rem}}.logo-mark{display:inline-block;position:relative}.home-left .logo{margin-bottom:0}.home-left .logo-mark{margin-bottom:clamp(2.75rem,7vh,4.5rem)}.logo-sphere{aspect-ratio:1;pointer-events:none;width:10.3125%;position:absolute;top:23.5348%;left:3.99766%}.logo-live .logo-ball{visibility:hidden}
