*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;background:radial-gradient(circle at 85% -10%,rgba(251,191,36,.28) 0%,transparent 45%),radial-gradient(circle at 10% 0%,rgba(56,189,248,.2) 0%,transparent 45%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.22) 0%,transparent 45%),radial-gradient(circle at 0% 100%,rgba(167,139,250,.18) 0%,transparent 45%),linear-gradient(165deg,#0b0a1e,#150a2e 35%,#1f0a32 75%,#0f0a22);background-attachment:fixed;color:#e8eaf6;overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:disabled{opacity:.55;cursor:not-allowed}.bg-fx{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.bg-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;animation:glowDrift 18s ease-in-out infinite alternate}.bg-glow-1{width:360px;height:360px;background:#fbbf24;top:-8%;left:-10%}.bg-glow-2{width:420px;height:420px;background:#22d3ee;top:40%;right:-15%;animation-delay:-4s}.bg-glow-3{width:480px;height:480px;background:#f472b6;bottom:-12%;left:25%;animation-delay:-7s}@keyframes glowDrift{0%{transform:translate(0) scale(1)}to{transform:translate(40px,-30px) scale(1.18)}}.bg-block{position:absolute;font-family:Segoe UI,system-ui,sans-serif;font-weight:900;color:#fff;transform:rotate(var(--r, 0deg));text-shadow:0 0 22px rgba(251,191,36,.5),0 0 48px rgba(99,102,241,.35),0 4px 16px rgba(0,0,0,.4);animation-name:blockDrift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;will-change:transform;line-height:1}@keyframes blockDrift{0%{transform:rotate(var(--r, 0deg)) translate(0)}to{transform:rotate(var(--r, 0deg)) translate(var(--dx, 0px),var(--dy, 0px))}}#app,#root>div{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden;z-index:1}.screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(8px,2vw,14px);padding-top:max(clamp(10px,2.5vw,16px),env(safe-area-inset-top));padding-bottom:max(clamp(12px,3vw,18px),calc(env(safe-area-inset-bottom) + 14px));gap:clamp(8px,2vw,14px);align-items:center;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.menu-screen{align-items:center;justify-content:center}.menu-card{background:linear-gradient(180deg,#1f2440,#161a36);padding:clamp(28px,6vw,44px) clamp(22px,5vw,34px);border-radius:clamp(22px,5vw,32px);max-width:400px;width:min(92vw,400px);text-align:center;border:1px solid rgba(251,191,36,.3);box-shadow:inset 0 1px #ffffff14,0 20px 40px #0000008c,0 40px 80px #fbbf242e}.logo{font-size:clamp(34px,9vw,50px);font-weight:900;letter-spacing:3px;color:#fbbf24;line-height:1;text-shadow:0 1px 0 #f59e0b,0 2px 0 #d97706,0 3px 0 #b45309,0 4px 0 #92400e,0 6px 2px rgba(0,0,0,.5),0 0 30px rgba(251,191,36,.6),0 9px 14px rgba(0,0,0,.6)}.logo span{display:block;font-size:.55em;color:#f472b6;margin-top:6px;letter-spacing:6px;text-shadow:0 1px 0 #db5a9e,0 2px 0 #c14988,0 3px 0 #a73974,0 4px 0 #8d2a5f,0 0 30px rgba(244,114,182,.55)}.tagline{color:#8b92b5;font-size:clamp(11px,2.6vw,13px);letter-spacing:3px;margin:14px 0 28px;text-transform:uppercase;font-weight:700}.menu-buttons{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.menu-stats{display:flex;justify-content:center;padding-top:20px;border-top:2px dashed rgba(139,146,181,.2)}.menu-stats>div{display:flex;flex-direction:column;align-items:center}.menu-stats .num{font-size:28px;font-weight:900;color:#fbbf24;text-shadow:0 0 14px rgba(251,191,36,.5)}.menu-stats label{font-size:11px;color:#6b7299;text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-weight:700}.btn{background:linear-gradient(180deg,#2d3358,#1f2440);color:#d6daec;padding:clamp(12px,3vw,14px) clamp(18px,4vw,22px);border-radius:clamp(12px,3vw,16px);font-size:clamp(13px,3.2vw,15px);font-weight:800;letter-spacing:1.5px;min-height:44px;border:1px solid rgba(99,102,241,.15);box-shadow:inset 0 1px #ffffff14,0 4px #0e1126,0 6px 14px #00000080;transition:transform .1s,box-shadow .1s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px #ffffff14,0 1px #0e1126,0 2px 4px #0006}.btn.primary{background:linear-gradient(180deg,#fcd34d,#fbbf24);color:#1a1a2e;text-shadow:0 1px 1px rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff9,0 4px #b45309,0 0 22px #fbbf2499,0 8px 22px #fbbf248c}.btn.small{padding:9px 16px;font-size:13px;min-height:38px}.btn.icon-text{display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn.ad-btn{display:inline-flex;align-items:center;gap:8px}.icon-btn{background:linear-gradient(180deg,#2d3358,#1f2440);width:42px;height:42px;border-radius:14px;color:#fbbf24;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(251,191,36,.25);box-shadow:inset 0 1px #ffffff14,0 3px #0e1126,0 5px 12px #00000080;flex-shrink:0;transition:transform .1s}.icon-btn:active:not(:disabled){transform:translateY(2px)}.icon-btn svg{display:block;filter:drop-shadow(0 0 6px rgba(251,191,36,.55))}.mute-toggle{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:10}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 14px}.topbar h2{color:#fff;font-size:clamp(20px,5vw,26px);font-weight:900;letter-spacing:1px;text-shadow:0 2px 0 rgba(0,0,0,.4),0 0 18px rgba(251,191,36,.45)}.topbar>span{width:42px;display:block;flex-shrink:0}.howto-content{background:linear-gradient(180deg,#1f2440,#161a36);border:1px solid rgba(251,191,36,.2);border-radius:clamp(16px,4vw,22px);padding:clamp(16px,4vw,22px);overflow-y:auto;box-shadow:inset 0 1px #ffffff0f,0 12px 28px #00000080}.howto-item{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px dashed rgba(139,146,181,.18)}.howto-item:last-child{border-bottom:none}.howto-icon{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#fcd34d,#fbbf24);color:#1a1a2e;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px #ffffff80,0 0 18px #fbbf2480}.howto-item p{color:#c7cce8;font-size:14px;line-height:1.5}.game-screen{padding:clamp(8px,2vw,14px);padding-top:max(clamp(10px,2.5vw,16px),env(safe-area-inset-top));padding-bottom:max(clamp(12px,3vw,18px),calc(env(safe-area-inset-bottom) + 14px));display:flex;flex-direction:column;align-items:center;gap:clamp(8px,2vw,14px)}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.hud{display:flex;background:linear-gradient(180deg,#2d3358,#1f2440);border-radius:14px;padding:6px 14px;gap:clamp(14px,4vw,22px);flex:1;min-width:0;align-items:center;border:1px solid rgba(251,191,36,.18);box-shadow:inset 0 1px #ffffff14,0 3px 10px #00000073}.hud-item{display:flex;flex-direction:column;align-items:center;min-width:46px}.hud-item label{font-size:9px;color:#6b7299;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;line-height:1}.hud-item span{font-size:clamp(14px,3.8vw,17px);font-weight:900;color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.5);line-height:1.15;margin-top:2px}.hud-cord{flex:1;min-width:0;align-items:stretch}.hud-cord label{text-align:center}.cord-track{position:relative;height:18px;margin-top:2px;background:linear-gradient(180deg,#161a36,#0e1126);border-radius:10px;overflow:hidden;border:1px solid rgba(251,191,36,.2);box-shadow:inset 0 2px 4px #00000080}.cord-fill{height:100%;background:linear-gradient(180deg,#fcd34d,#fbbf24);box-shadow:0 0 12px #fbbf24b3;transition:width .25s ease;border-radius:9px}.cord-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.board-wrap{position:relative;width:100%;max-width:540px;border-radius:14px;overflow:hidden;box-shadow:0 8px 18px #00000080,0 18px 36px -10px #0006}.board{display:block;width:100%;height:100%;background:#5a665e;touch-action:none}.sawblade-spin{animation:sawSpin 2.2s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes sawSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lamp-glow-flicker{animation:lampFlicker .8s ease-in-out infinite alternate;transform-origin:center;transform-box:fill-box}@keyframes lampFlicker{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}.cord-track.low .cord-fill{background:linear-gradient(180deg,#f87171,#ef4444);box-shadow:0 0 12px #ef4444d9}.cord-track.low{border-color:#ef44448c;animation:cordWarn .9s ease-in-out infinite}@keyframes cordWarn{0%,to{box-shadow:inset 0 2px 4px #00000080,0 0 #ef444400}50%{box-shadow:inset 0 2px 4px #00000080,0 0 14px #ef4444b3}}.dpad{display:grid;grid-template-rows:auto auto auto;gap:6px;width:min(220px,60vw);padding:10px;background:linear-gradient(180deg,#2d33588c,#1c224473);border-radius:18px;border:1px solid rgba(251,191,36,.18);backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff0f,0 8px 22px #00000073}.dpad-middle{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:center}.dpad-center{aspect-ratio:1}.dpad-btn{background:linear-gradient(180deg,#2d3358,#1f2440);border:1px solid rgba(251,191,36,.22);border-radius:14px;color:#fbbf24;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff14,0 3px #0e1126,0 5px 12px #00000073;transition:transform .08s,box-shadow .08s}.dpad-btn svg{filter:drop-shadow(0 0 6px rgba(251,191,36,.6))}.dpad-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffffff14,0 1px #0e1126,0 2px 4px #0000004d}.dpad-btn.active{background:linear-gradient(180deg,#fcd34d,#f59e0b);color:#1a1410;border-color:#fff6;box-shadow:inset 0 1px #ffffff80,0 3px #b45309,0 0 18px #fbbf24a6}.dpad-btn.active svg{filter:drop-shadow(0 1px 1px rgba(255,255,255,.35))}.dpad.disabled .dpad-btn{opacity:.45}.modal-overlay{position:fixed;inset:0;background:#080816bf;display:none;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(10px);padding:16px}.modal-overlay.active{display:flex}.modal-card{background:linear-gradient(180deg,#1f2440,#161a36);border-radius:clamp(20px,5vw,28px);padding:32px 24px;max-width:380px;width:100%;text-align:center;position:relative;overflow:hidden;border:1px solid rgba(251,191,36,.3);animation:popModal .4s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px #ffffff14,0 0 40px #fbbf2440,0 20px 40px #0009}@keyframes popModal{0%{transform:scale(.6) translateY(40px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-card h2{font-size:28px;font-weight:900;color:#fbbf24;margin-bottom:6px;text-shadow:0 1px 0 #f59e0b,0 2px 0 #d97706,0 3px 0 #b45309,0 0 22px rgba(251,191,36,.6)}.modal-card h2.fail-title{color:#ef4444;text-shadow:0 1px 0 #dc2626,0 2px 0 #b91c1c,0 3px 0 #991b1b,0 0 22px rgba(239,68,68,.55)}.modal-card p{color:#8b92b5;margin-bottom:16px;font-size:13px}.moves-line{color:#c7cce8!important}.moves-line strong{color:#fbbf24}.lit-icon{color:#fbbf24;filter:drop-shadow(0 0 20px rgba(251,191,36,.9));margin:0 auto 4px;animation:lampPop .6s cubic-bezier(.34,1.56,.64,1)}.result-row{display:flex;justify-content:space-around;padding:12px 0;border-top:2px dashed rgba(139,146,181,.2);border-bottom:2px dashed rgba(139,146,181,.2);margin:14px 0}.result-row>div{display:flex;flex-direction:column;align-items:center}.result-row span{font-size:18px;font-weight:900;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.5)}.result-row label{font-size:10px;color:#6b7299;text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-weight:700}.rating-row{text-align:center;font-size:30px;color:#fbbf24;letter-spacing:8px;margin:8px 0 14px;text-shadow:0 0 18px rgba(251,191,36,.7)}.modal-buttons{display:flex;gap:10px;margin-top:16px}.modal-buttons .btn{flex:1}.extend-btn{margin:6px auto 14px;background:linear-gradient(180deg,#f472b6,#ec4899)!important;color:#fff!important;box-shadow:inset 0 1px #ffffff59,0 4px #9d1660,0 0 22px #f472b68c,0 8px 18px #0006!important}.hint-btn{position:relative;transition:transform .18s ease,box-shadow .18s ease}.hint-btn.active{background:linear-gradient(180deg,#fbbf24,#f59e0b)!important;color:#1a1410!important;box-shadow:inset 0 1px #fff6,0 3px #b45309,0 0 18px #fbbf2499!important}.hint-btn:not(.active):after{content:"AD";position:absolute;top:-4px;right:-4px;font-size:8px;font-weight:900;color:#fff;background:linear-gradient(180deg,#f472b6,#ec4899);padding:1px 4px;border-radius:6px;box-shadow:0 1px 2px #0006;letter-spacing:.5px}.ghost-cord{animation:ghostFlow 1.4s linear infinite;filter:drop-shadow(0 0 .6px rgba(251,191,36,.8))}@keyframes ghostFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-6}}.ghost-cord-group{animation:ghostPulse 1.8s ease-in-out infinite}@keyframes ghostPulse{0%,to{opacity:.9}50%{opacity:.55}}.ghost-cord-pivot{animation:pivotPing 1.6s ease-out infinite;transform-box:fill-box;transform-origin:50% 50%}@keyframes pivotPing{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}.ghost-cord-target{animation:targetPulse 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}@keyframes targetPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.4);opacity:.3}}.hint-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:64px 16px 0;z-index:60;pointer-events:auto;background:#08081659;backdrop-filter:blur(2px);animation:hintFadeIn .22s ease-out}@keyframes hintFadeIn{0%{opacity:0}to{opacity:1}}.hint-card{background:linear-gradient(180deg,#1f2440,#161a36);border-radius:20px;padding:18px 18px 14px;max-width:320px;width:100%;position:relative;border:1px solid rgba(251,191,36,.4);box-shadow:inset 0 1px #ffffff14,0 0 32px #fbbf2438,0 14px 30px #0000008c;animation:hintPop .34s cubic-bezier(.34,1.56,.64,1)}@keyframes hintPop{0%{transform:scale(.7) translateY(-12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.hint-head{display:flex;align-items:center;gap:8px;color:#fbbf24;font-weight:800;font-size:13px;letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px}.hint-text{color:#d7dcef;font-size:13px;line-height:1.45;margin:0 0 12px}.hint-close{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;background:#8b92b52e;color:#c7cce8;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.hint-close:hover{background:#8b92b54d}.hint-go{width:100%}.confetti{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fbbf24 2px,transparent 3px),radial-gradient(circle,#f472b6 2px,transparent 3px),radial-gradient(circle,#34d399 2px,transparent 3px),radial-gradient(circle,#22d3ee 2px,transparent 3px);background-size:60px 60px,80px 80px,70px 70px,90px 90px;background-position:10px 20px,30px 40px,50px 10px,70px 50px;opacity:.4;animation:confettiMove 6s linear infinite}@keyframes confettiMove{0%{background-position:10px 20px,30px 40px,50px 10px,70px 50px}to{background-position:10px 80px,30px 100px,50px 70px,70px 110px}}@media (min-width: 768px){body{overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 80% 20%,rgba(251,191,36,.18) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(244,114,182,.15) 0%,transparent 50%),linear-gradient(165deg,#06061a,#0c0a26,#0a061a)}#root{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}#app,#root>div{position:relative;width:min(420px,94vw);height:min(880px,94vh);min-height:600px;border-radius:38px;overflow:hidden;border:1px solid rgba(251,191,36,.35);background:radial-gradient(circle at 85% -10%,rgba(251,191,36,.28) 0%,transparent 45%),radial-gradient(circle at 10% 0%,rgba(56,189,248,.2) 0%,transparent 45%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.22) 0%,transparent 45%),linear-gradient(165deg,#0b0a1e,#150a2e 35%,#1f0a32 75%,#0f0a22);box-shadow:inset 0 1px #ffffff14,0 30px 80px #0009,0 0 100px #fbbf2433}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
