:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2426;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#fff;--ink:#1f2426;--muted:#6c7477;--faint:#f6f8f8;--line:#dce2e2;--strong-line:#bcc8c8;--accent:#138a83;--accent-soft:#e7f4f2;--danger:#d85656;--radius:8px;--shadow:0 22px 80px #1f242614;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{background:var(--bg);min-height:100vh}.splash{grid-template-rows:auto 1fr auto;gap:24px;min-height:100vh;padding:clamp(18px,4vw,40px);display:grid}.splash-top,.game-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-mark{color:var(--accent);align-items:center;gap:10px;font-size:.96rem;font-weight:760;display:inline-flex}.brand-mark img{border:1px solid var(--line);border-radius:7px;width:34px;height:34px}.splash-actions,.top-actions,.splash-cta{align-items:center;gap:8px;display:flex}.splash-cta{flex-wrap:wrap}.field select{border:1px solid var(--line);border-radius:var(--radius);height:40px;color:var(--ink);background:#fff;padding:0 34px 0 12px;font-size:.88rem}.splash-center{align-self:center;width:min(620px,100%)}.splash-icon{width:clamp(96px,18vw,152px);height:clamp(96px,18vw,152px);margin:0 0 clamp(20px,4vw,34px);display:block}.rule-line,.panel-head p{color:var(--accent);text-transform:uppercase;letter-spacing:0;margin:0 0 14px;font-size:.78rem;font-weight:700}.splash-center h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(3.4rem,12vw,8rem);line-height:.92}.splash-center p:not(.rule-line){width:min(440px,100%);color:var(--muted);margin:22px 0 28px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7}.mini-board{grid-template-columns:repeat(3,42px);justify-self:end;gap:9px;padding-bottom:4px;display:grid}.mini-board span{width:42px;height:42px;color:var(--ink);background:#fff;border:1px solid #138a831f;border-radius:50%;place-items:center;font-weight:700;display:grid}.mini-board span:first-child{--mini-hue:174}.mini-board span:nth-child(2){--mini-hue:196}.mini-board span:nth-child(3){--mini-hue:222}.mini-board span:nth-child(4){--mini-hue:148}.mini-board span:nth-child(5){--mini-hue:34}.mini-board span:nth-child(6){--mini-hue:268}.mini-board span:nth-child(7){--mini-hue:112}.mini-board span:nth-child(8){--mini-hue:312}.mini-board span:nth-child(9){--mini-hue:8}.mini-board .empty{background:#fff;border-style:dashed}.icon-button{border:1px solid var(--line);border-radius:var(--radius);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;place-items:center;transition:border-color .15s,color .15s,background-color .15s;display:inline-grid}.icon-button:hover{border-color:var(--strong-line);color:var(--accent)}.text-button{border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 18px;font-size:.94rem;font-weight:700;transition:transform .15s,border-color .15s,background-color .15s;display:inline-flex}.text-button:hover{transform:translateY(-1px)}.text-button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.text-button.secondary{color:var(--ink);background:#fff}.game-shell{grid-template-rows:auto 1fr;gap:clamp(16px,4vw,34px);min-height:100vh;padding:clamp(14px,3vw,34px);display:grid}.level-title{align-items:baseline;gap:8px;display:flex}.level-title span{color:var(--muted);font-size:.84rem}.level-title strong{letter-spacing:0;font-size:clamp(1.4rem,4vw,2rem)}.play-area{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:clamp(18px,4vw,48px);width:min(980px,100%);margin:0 auto;display:grid}.status-rail{border-inline-end:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:min(70vh,620px);padding-inline-end:22px;display:flex}.life-row{color:var(--danger);gap:8px;display:grid}.life-row .lost{color:var(--strong-line)}.stat{place-items:center;gap:4px;display:grid}.stat span{color:var(--muted);font-size:.72rem}.stat strong{font-size:1rem}.progress-track{background:var(--faint);border-radius:999px;width:4px;height:112px;position:relative;overflow:hidden}.progress-track i{inset-inline:0;background:var(--accent);border-radius:inherit;position:absolute;bottom:0}.board-stage{justify-items:center;gap:18px;display:grid}.board-wrap{aspect-ratio:1;width:min(74vh,640px,100%)}.board{--gap:clamp(4px, calc(52px / var(--board-size)), 18px);--board-pad:clamp(3px, calc(32px / var(--board-size)), 14px);grid-template-columns:repeat(var(--board-size), minmax(0, 1fr));grid-template-rows:repeat(var(--board-size), minmax(0, 1fr));gap:var(--gap);width:100%;height:100%;padding:var(--board-pad);box-shadow:none;background:#fff;border:0;border-radius:0;display:grid;position:relative}.route-layer{inset:var(--board-pad);width:calc(100% - (var(--board-pad) * 2));height:calc(100% - (var(--board-pad) * 2));pointer-events:none;z-index:1;position:absolute;overflow:visible}.route-layer polyline{fill:none;stroke:#1d636094;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cell{z-index:2;aspect-ratio:1;border:2px solid hsl(var(--cell-hue) 54% 64%);width:100%;min-width:0;color:hsl(var(--cell-hue) 42% 28%);font-size:clamp(.58rem, calc(8rem / var(--board-size)), 1.25rem);letter-spacing:0;cursor:default;box-shadow:none;background:#fff;border-radius:50%;place-items:center;font-weight:760;transition:border-color .14s,background-color .14s,box-shadow .14s,color .14s,transform .14s;display:grid;position:relative}.path-cell:not(:disabled){cursor:pointer}.path-cell:hover:not(:disabled){border-color:hsl(var(--cell-hue) 62% 46%);box-shadow:0 0 0 5px hsla(var(--cell-hue), 54%, 56%, .12);transform:translateY(-2px)scale(1.02)}.hidden-cell{color:#0000;border-color:hsl(var(--cell-hue) 34% 78%);box-shadow:none;background:#fff;border-style:dashed}.void-cell{color:#0000;background:#fff;border-color:#eef1f1}.selected-cell{border-color:hsl(var(--cell-hue) 65% 38%);color:hsl(var(--cell-hue) 58% 28%);box-shadow:inset 0 0 0 4px hsla(var(--cell-hue), 58%, 45%, .14), 0 0 0 5px hsla(var(--cell-hue), 54%, 56%, .1);background:#fff;border-style:solid}.revealed-cell{color:hsl(var(--cell-hue) 35% 30%);border-color:hsl(var(--cell-hue) 38% 66%);background:#fff;font-size:clamp(.68rem,1.7vw,.95rem)}.digit-4{font-size:clamp(.46rem, calc(6.7rem / var(--board-size)), 1.05rem)}.digit-5{font-size:clamp(.4rem, calc(5.8rem / var(--board-size)), .9rem)}.digit-6,.digit-7{font-size:clamp(.34rem, calc(5rem / var(--board-size)), .78rem)}.feedback-correct{animation:.42s cubic-bezier(.2,.8,.2,1) correct-pop}.feedback-correct:after,.feedback-wrong:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:-7px}.feedback-correct:after{border:2px solid hsla(var(--cell-hue), 58%, 44%, .46);animation:.52s ease-out correct-ring}.feedback-wrong{border-color:#d85656b3;animation:.36s wrong-shake}.feedback-wrong:after{border:2px solid #d8565685;animation:.46s ease-out wrong-ring}.message-line{border-top:1px solid var(--line);width:min(640px,100%);min-height:52px;color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding-top:14px;font-size:.94rem;display:flex}.message-line.status-solved span,.message-line.status-sceneSolved span{color:var(--accent);font-weight:700}.message-line.status-failed span{color:var(--danger);font-weight:700}.message-line.notice-correct span{color:var(--accent);font-weight:700}.message-line.notice-wrong span{color:var(--danger);font-weight:700}@keyframes correct-pop{0%{transform:scale(.96)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes correct-ring{0%{opacity:.75;transform:scale(.88)}to{opacity:0;transform:scale(1.36)}}@keyframes wrong-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes wrong-ring{0%{opacity:.8;transform:scale(.92)}to{opacity:0;transform:scale(1.28)}}.settings-layer{z-index:20;background:#1f24261f;justify-items:end;display:grid;position:fixed;inset:0}.settings-panel{border-inline-start:1px solid var(--line);width:min(360px,100%);min-height:100%;box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:18px;padding:24px;display:flex}.panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.panel-head h2{margin:0;font-size:1.6rem;line-height:1.1}.field,.switch-row{min-width:0;color:var(--ink);gap:10px;font-size:.92rem;font-weight:650;display:grid}.field span,.switch-row span{align-items:center;gap:8px;display:inline-flex}.field input[type=range]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;accent-color:var(--accent);margin:0;display:block}.field select{width:100%;min-width:0}.switch-row{grid-template-columns:1fr auto;align-items:center}.switch-row input{width:42px;height:24px;accent-color:var(--accent)}.settings-links{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding-top:12px;display:grid}.settings-links a{min-height:40px;color:var(--ink);align-items:center;gap:10px;font-size:.9rem;font-weight:650;text-decoration:none;display:flex}.settings-links a:hover{color:var(--accent)}[dir=rtl] .settings-layer{justify-items:start}[dir=rtl] .brand-mark,[dir=rtl] .top-actions,[dir=rtl] .splash-actions{direction:ltr}@media (width<=760px){.splash{padding:calc(42px + env(safe-area-inset-top,0px)) 18px 18px}.splash-top{align-items:flex-start}.splash-actions{flex-wrap:wrap;justify-content:flex-end}.splash-center{align-self:end;padding-bottom:24px}.mini-board{grid-template-columns:repeat(3,34px);justify-self:start}.mini-board span{width:34px;height:34px;font-size:.8rem}.game-shell{padding:calc(38px + env(safe-area-inset-top,0px)) 14px 14px}.play-area{grid-template-columns:1fr;gap:14px}.status-rail{border-inline-end:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;width:100%;min-height:auto;padding:0 0 12px}.life-row{display:flex}.progress-track{width:96px;height:4px}.progress-track i{inset-block:0;inset-inline-start:0;height:auto!important}.board-wrap{width:min(100%,520px)}.message-line{flex-direction:column;align-items:stretch;min-height:88px}.message-line .text-button{width:100%}}@media (width<=460px){.icon-button{width:38px;height:38px}.board{--gap:clamp(3px, calc(46px / var(--board-size)), 9px);--board-pad:clamp(2px, calc(24px / var(--board-size)), 4px)}.cell{font-size:clamp(.52rem, calc(7.2rem / var(--board-size)), 1rem);border-radius:50%}.cell.digit-4{font-size:clamp(.42rem, calc(5.8rem / var(--board-size)), .86rem)}.cell.digit-5{font-size:clamp(.36rem, calc(5.1rem / var(--board-size)), .76rem)}.cell.digit-6,.cell.digit-7{font-size:clamp(.3rem, calc(4.4rem / var(--board-size)), .66rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
