:root{--ink:#08080a;--muted:#62626d;--paper:#f7f7f5;--line:#dfded8;--tomato:#e84d36;--blue:#1167d8;--green:#16a05d;--yellow:#f5c84c;--teal:#0f7b8c;--violet:#9f5fdb;--cream:#fff5d6;--sand:#f6db91;--leaf:#8bd45a;color:var(--muted);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fff;min-width:320px}body{background-color:#fff;background-image:radial-gradient(circle at 8% 12%,#1167d814,#0000 24%),radial-gradient(circle at 92% 16%,#e84d3614,#0000 22%),linear-gradient(90deg,#08080a0a 1px,#0000 1px),linear-gradient(#08080a0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,40px 40px,40px 40px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}svg{display:block}#root{min-height:100svh}.app-shell{width:min(1200px,100% - 32px);min-height:100svh;margin:0 auto;padding:24px 0 40px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-shell{flex-direction:column;display:flex}.top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border:1px solid #08080a14;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:24px;padding:10px 12px;display:flex}.brand-button,.ghost-button,.top-score,.score-strip,.primary-button,.secondary-button,.mini-control{letter-spacing:0;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:15px;font-weight:780;line-height:1;display:inline-flex}.brand-button,.ghost-button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.brand-button span{font-size:18px;font-weight:900}.brand-mark{flex:none;width:42px;height:42px;overflow:visible}.brand-mark-shadow{fill:var(--ink)}.brand-mark-tile{fill:#fff;stroke:var(--ink);stroke-width:3px}.brand-mark-s-back,.brand-mark-s{fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-mark-s-back{stroke:color-mix(in srgb, var(--blue) 32%, #fff);stroke-width:10px}.brand-mark-s{stroke:var(--ink);stroke-width:5.5px}.brand-mark-dot{stroke:var(--ink);stroke-width:2px}.brand-mark-dot.blue{fill:var(--blue)}.brand-mark-dot.red{fill:var(--tomato)}.top-score,.score-strip{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0 14px}.game-title-chip{min-width:0;color:var(--ink);text-align:center;font-size:16px;font-weight:930;line-height:1.1;display:none}.hub-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:42px;padding:30px 0 34px;display:grid}.hub-copy{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.section-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:13px;font-weight:850;line-height:1.2}h1,h2,p{margin:0}h1{color:var(--ink);letter-spacing:0;font-size:58px;font-weight:930;line-height:.98}h2{color:var(--ink);letter-spacing:0;font-size:28px;font-weight:850;line-height:1.08}.hub-copy>p:not(.section-label),.challenge-info>p:not(.section-label),.result-copy>p{max-width:590px;color:var(--muted);font-size:18px;line-height:1.6}.hub-actions,.result-actions,.stage-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-button,.secondary-button,.mini-control{cursor:pointer;border:1px solid #0000;padding:0 18px;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s}.primary-button{background:var(--ink);color:#fff;box-shadow:0 5px #000,0 16px 24px #08080a1f}.secondary-button,.ghost-button,.mini-control{border:1px solid var(--line);color:var(--ink);background:#fff;padding:0 14px}.primary-button:hover,.secondary-button:hover,.mini-control:hover,.game-card:hover{transform:translateY(-2px)}.primary-button:focus-visible,.secondary-button:focus-visible,.mini-control:focus-visible,.game-card:focus-visible,.brand-button:focus-visible,.ghost-button:focus-visible,.secret-hotspot:focus-visible,.cheat-code-form input:focus-visible,.cheat-game-option:focus-visible,.target-dot:focus-visible,.spider-button:focus-visible,.spider-decrement:focus-visible,.reaction-screen:focus-visible{outline:3px solid color-mix(in srgb, var(--accent,var(--blue)) 34%, transparent);outline-offset:3px}.attention-preview{border:2px solid var(--ink);min-height:390px;box-shadow:0 8px 0 var(--ink), 0 26px 52px #08080a1a;background-color:#fff;background-image:linear-gradient(90deg,#08080a0e 1px,#0000 1px),linear-gradient(#08080a0e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:12px;position:relative;overflow:hidden}.preview-hud{z-index:2;color:var(--ink);justify-content:space-between;gap:10px;font-weight:880;display:flex;position:absolute;inset:18px 20px auto}.preview-hud span,.preview-hud strong{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.preview-field{border:3px solid var(--ink);background:radial-gradient(circle at 20% 35%,#1167d814,#0000 20%),radial-gradient(circle at 74% 40%,#e84d3614,#0000 24%),#fff;border-radius:10px;position:absolute;inset:72px 18px 96px}.preview-dot,.target-dot{border:3px solid var(--ink);display:block;position:absolute;transform:translate(-50%,-50%)}.preview-dot.blue,.target-dot.blue{background:radial-gradient(circle at 29% 20%,#fff 0 9%,#ffffffad 10% 17%,#0000 26%),radial-gradient(circle at 42% 37%,#b5f4fff2 0 20%,#25c3ffb3 35%,#0000 55%),radial-gradient(circle at 60% 66%,#13a0ff 0 40%,#075ed7 69%,#031f7d 100%);border-radius:50%;box-shadow:inset 0 9px 14px #ffffff94,inset -8px -13px 18px #0223787a,inset 8px 10px 18px #7ce7ff70,0 0 0 4px #c4f4ff4d,0 11px #032b742e,0 18px 30px #1167d84d}.preview-dot.red,.target-dot.red{background:radial-gradient(circle at 31% 23%,#ffffff94 0 9%,#0000 18%),radial-gradient(circle at 36% 32%,#ff655047 0 20%,#0000 42%),radial-gradient(circle at 60% 65%,#29242c 0 43%,#0f1015 73%,#050506 100%);border-radius:50%;box-shadow:inset 0 7px 12px #ffffff1f,inset -10px -12px 18px #0000007a,0 11px #08080a2e,0 18px 26px #08080a33}.preview-dot.blue:before,.target-dot.blue:before{content:"";filter:blur(.15px);pointer-events:none;background:linear-gradient(112deg,#0000 0 10%,#fff 29%,#ffffff75 55%,#0000 78%);border-radius:999px 999px 60% 60%;position:absolute;inset:8% 11% 48%}.target-dot.blue:before{animation:.98s ease-in-out infinite sapphireGloss}.preview-dot.blue:after,.target-dot.blue:after{content:"";pointer-events:none;background:radial-gradient(circle at 28% 18%,#fffc 0 8%,#0000 17%),linear-gradient(145deg,#ffffff52,#0000 48%);border-radius:50%;position:absolute;inset:18% 22% 22% 18%}.preview-dot.red:before,.target-dot.red:before{content:"";border:3px solid var(--ink);background:linear-gradient(90deg, var(--yellow) 0 52%, var(--tomato) 52% 100%);width:31%;height:17%;box-shadow:8px -5px 0 -3px var(--yellow), 9px -6px 0 0 var(--ink);transform-origin:50%;pointer-events:none;border-radius:999px;position:absolute;top:-2%;right:3%;transform:rotate(36deg)}.preview-dot.red:after,.target-dot.red:after{content:"";pointer-events:none;background:radial-gradient(circle at 32% 24%,#ffffff75 0 13%,#0000 24%),radial-gradient(circle at 62% 70%,#e84d366b 0 18%,#0000 36%);border-radius:50%;position:absolute;inset:10%}.target-dot.red:after{animation:.54s ease-in-out infinite bombBreath}.preview-spider-row{grid-template-columns:repeat(5,1fr);gap:10px;display:grid;position:absolute;bottom:22px;left:20px;right:20px}.mini-spider{background:linear-gradient(var(--leaf), var(--leaf)) top / 100% 8px no-repeat, linear-gradient(90deg, #08080a0f 1px, transparent 1px), linear-gradient(#08080a0f 1px, transparent 1px), var(--cream);background-size:12px 12px;border:2px solid #08080a29;border-radius:8px;height:54px;position:relative}.mini-spider span{border:4px solid var(--ink);width:30px;height:22px;box-shadow:-13px -2px 0 -5px var(--ink), 13px -2px 0 -5px var(--ink), -16px 12px 0 -5px var(--ink), 16px 12px 0 -5px var(--ink);background:linear-gradient(90deg,#fff 0 20%,#0000 20% 80%,#fff 80%) 6px 4px/18px 8px no-repeat,#1a1a1d;position:absolute;top:16px;left:calc(50% - 15px)}.game-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding-top:18px;display:grid}.home-game-grid{padding-top:0}.local-records-panel{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:28px;display:flex}.clear-records-button{border:2px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:860;line-height:1;transition:transform .16s,border-color .16s,box-shadow .16s;display:inline-flex}.clear-records-button:hover{border-color:color-mix(in srgb, var(--tomato) 42%, var(--line));box-shadow:0 5px 0 color-mix(in srgb, var(--tomato) 62%, var(--ink));transform:translateY(-2px)}.clear-records-button:focus-visible{outline-offset:3px;outline:3px solid #e84d3638}.clear-records-button svg{color:var(--tomato)}.local-records-panel p{margin:0;font-size:13px;font-weight:760}.game-card{border:2px solid var(--line);min-height:246px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:12px;grid-template-rows:auto auto 1fr auto;padding:30px 22px 22px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 12px 28px #08080a0f}.game-card:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 64%, var(--ink)), 0 18px 34px #08080a1a}.card-icon,.large-icon{border:2px solid var(--ink);background:color-mix(in srgb, var(--accent) 14%, #fff);width:50px;height:50px;color:var(--ink);border-radius:8px;place-items:center;display:grid}button.large-icon{padding:0}.secret-hotspot{cursor:pointer;transition:transform .12s,box-shadow .12s}.secret-hotspot:active{transform:translateY(2px)}.card-title{color:var(--ink);margin-top:18px;font-size:28px;font-weight:930;line-height:1.08}.card-summary{color:var(--muted);margin-top:10px;font-size:16px;font-weight:560;line-height:1.5}.card-footer{color:var(--ink);justify-content:space-between;gap:8px;margin-top:24px;font-size:14px;font-weight:850;display:flex}.challenge-shell{grid-template-columns:minmax(230px,.3fr) minmax(0,.7fr);align-items:stretch;gap:22px;display:grid}.challenge-info{border:2px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, #fff), #fff 44%), #fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;min-height:600px;padding:24px;display:flex}.challenge-info h1{font-size:42px}.challenge-note,.cheat-notice,.share-status{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:14px;font-size:15px;font-weight:720;line-height:1.45}.cheat-notice{background:color-mix(in srgb, var(--accent) 10%, #fff);font-weight:850}.play-surface{border:2px solid var(--ink);min-height:600px;box-shadow:0 8px 0 var(--ink), 0 24px 50px #08080a14;background:#fff;border-radius:12px;display:grid;overflow:hidden}.game-mode.is-playing,.game-mode.is-playing .play-surface,.game-mode.is-playing .game-stage,.game-mode.is-playing .countdown-state,.game-mode.is-playing .dot-field,.game-mode.is-playing .spider-field,.game-mode.is-playing .reaction-screen{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}.haptic-feedback{will-change:transform}.haptic-feedback.haptic-soft.haptic-0{animation:.18s ease-out hapticSoftA}.haptic-feedback.haptic-soft.haptic-1{animation:.18s ease-out hapticSoftB}.haptic-feedback.haptic-strong.haptic-0{animation:.3s cubic-bezier(.2,.78,.2,1) hapticStrongA}.haptic-feedback.haptic-strong.haptic-1{animation:.3s cubic-bezier(.2,.78,.2,1) hapticStrongB}.intro-state,.countdown-state,.result-panel,.game-stage{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;padding:26px;display:flex}.countdown-state{background-color:#9da0a7;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100%}.countdown-card{border:2px solid var(--ink);width:min(100%,360px);color:var(--ink);box-shadow:0 8px 0 var(--ink), 0 26px 42px #08080a2e;background:#ffffffe6;border-radius:12px;justify-items:center;gap:12px;padding:30px 22px 26px;display:grid}.countdown-card svg{color:var(--accent)}.countdown-card span,.countdown-card p{font-weight:900;line-height:1.2}.countdown-card span{color:var(--muted);font-size:15px}.countdown-card strong{color:var(--accent);font-size:clamp(88px,18vw,150px);font-weight:950;line-height:.82}.countdown-card p{color:var(--ink);font-size:22px}.intro-state svg{color:var(--accent)}.intro-rules{border:2px solid color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, #fff), #fff 42%), #fff;text-align:left;border-radius:10px;gap:12px;width:min(100%,560px);padding:14px;display:grid;box-shadow:0 8px 20px #08080a0f}.intro-rules-header{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:900;display:flex}.intro-rules-header strong{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px}.intro-rule-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.intro-rule{border:1px solid var(--line);background:#fff;border-radius:8px;gap:5px;min-height:72px;padding:10px;display:grid}.intro-rule span{color:var(--muted);font-size:12px;font-weight:850}.intro-rule strong{color:var(--ink);font-size:16px;font-weight:930;line-height:1.2}.intro-rule.blue strong{color:var(--blue)}.intro-rule.red strong{color:var(--tomato)}.intro-rule.green strong{color:var(--green)}.intro-rule.spider strong{color:#8e3a2f}.intro-rules p{border-top:1px solid var(--line);color:var(--muted);padding-top:10px;font-size:14px;font-weight:700;line-height:1.5}.live-hud{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,720px);display:grid}.live-hud div{color:var(--ink);text-align:left;background:linear-gradient(#fff,#f8f8f4);border:2px solid #08080a24;border-radius:8px;gap:4px;padding:12px;display:grid}.live-hud span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:850}.live-hud strong{font-size:24px;font-weight:930;line-height:1}.dot-game{gap:14px}.speed-meter{width:min(100%,720px);color:var(--ink);text-align:left;background:#fff;border:2px solid #08080a24;border-radius:8px;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.speed-meter span,.speed-meter strong{font-size:13px;font-weight:900;line-height:1}.speed-meter-track{border:2px solid var(--ink);background:linear-gradient(90deg,#1167d829,#e84d362e),#fff;border-radius:999px;height:12px;overflow:hidden}.speed-meter-track i{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--yellow), var(--tomato));height:100%;transition:width .12s linear;display:block}.dot-field,.spider-field{border:3px solid var(--ink);touch-action:manipulation;background-color:#fff;background-image:linear-gradient(90deg,#08080a0e 1px,#0000 1px),linear-gradient(#08080a0e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:10px;width:min(100%,720px);position:relative;overflow:hidden}.dot-field{aspect-ratio:16/10;background:radial-gradient(circle at 12% 16%,#1167d814,#0000 18%),radial-gradient(circle at 88% 74%,#e84d3614,#0000 20%),linear-gradient(90deg,#08080a0e 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#08080a0e 1px,#0000 1px) 0 0/28px 28px,#fff}.dot-field.rush{box-shadow:inset 0 0 0 6px #e84d361a,0 0 0 3px #1167d814}.target-dot{appearance:none;cursor:pointer;padding:0;animation:1s linear forwards dotLife;overflow:visible}.dot-field.cheat-mode .target-dot{opacity:1;animation:.9s ease-in-out infinite cheatGemPulse}.dot-field.cheat-mode .target-dot.super-gem{touch-action:manipulation;will-change:transform;border-width:5px;width:clamp(150px,40vw,220px);height:clamp(150px,40vw,220px);animation:1s ease-in-out infinite superGemPulse;top:50%;left:50%;box-shadow:inset 0 16px 26px #ffffffa8,inset -18px -24px 32px #02237880,inset 15px 20px 34px #7ce7ff7a,0 0 0 10px #c4f4ff57,0 20px #032b742e,0 32px 50px #1167d857}.dot-field.cheat-mode .target-dot.super-gem:active{animation:none;transform:translate(-50%,-50%)scale(.95)}.bomb-explosion{z-index:5;pointer-events:none;width:156px;height:156px;animation:.76s cubic-bezier(.12,.8,.12,1) forwards bombExplosion;position:absolute;transform:translate(-50%,-50%)}.bomb-explosion:before{content:"";background:radial-gradient(circle, #fff 0 10%, #fff27a 11% 25%, #ffad2f 26% 46%, #ff4d31 47% 64%, transparent 65%), conic-gradient(from 14deg, transparent 0 5%, #fff6a3 5% 14%, transparent 14% 22%, #ff7c39 22% 33%, transparent 33% 42%, #fff5a2 42% 52%, transparent 52% 60%, #ff3f30 60% 72%, transparent 72% 82%, #ffbd35 82% 91%, transparent 91% 100%);filter:drop-shadow(0 7px #08080a3d)drop-shadow(0 0 18px #ff663085);border-radius:50%;position:absolute;inset:12%}.bomb-explosion span{border:5px solid #ffb43ae6;border-radius:50%;position:absolute;inset:16%;box-shadow:0 0 0 8px #ffed7442,0 0 0 18px #ff4e301f,inset 0 0 0 3px #ffffff7a}.bomb-explosion:after{content:"";background:conic-gradient(from 0deg, transparent 0 7%, #fff684e6 7% 10%, transparent 10% 22%, #ff5333db 22% 25%, transparent 25% 41%, #ffbe3ce0 41% 44%, transparent 44% 61%, #fff684e0 61% 64%, transparent 64% 78%, #ff5333cc 78% 82%, transparent 82% 100%);border-radius:50%;position:absolute;inset:5%;transform:rotate(18deg)}.hit-burst{z-index:7;border:2px solid var(--ink);min-width:42px;height:32px;color:var(--ink);pointer-events:none;background:#fff;border-radius:8px;place-items:center;font-size:18px;font-weight:950;animation:.62s ease-out forwards hitBurst;display:grid;position:absolute;transform:translate(-50%,-50%)}.hit-burst.blue{color:var(--blue)}.hit-burst.red{color:var(--tomato)}.rule-strip{color:var(--ink);flex-wrap:wrap;justify-content:center;gap:10px;font-size:14px;font-weight:820;display:flex}.rule-strip span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px}.blue-rule{color:var(--blue)}.red-rule{color:var(--tomato)}.reaction-game{gap:14px}.reaction-hud{width:min(100%,720px)}.reaction-screen{aspect-ratio:16/10;border:3px solid var(--ink);width:min(100%,720px);color:var(--ink);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:10px;place-items:center;padding:0;transition:background 80ms linear,color 80ms linear,box-shadow .16s,transform 80ms;display:grid;position:relative;overflow:hidden}.reaction-screen span,.reaction-screen strong{z-index:1;letter-spacing:0;display:block;position:relative}.reaction-screen span{color:var(--muted);font-size:16px;font-weight:850}.reaction-screen strong{margin-top:8px;font-size:clamp(48px,10vw,96px);font-weight:950;line-height:.94}.reaction-screen.waiting{background:#fff;box-shadow:inset 0 0 0 8px #08080a09,0 10px #08080a14}.reaction-screen.ready{color:#fff;background:radial-gradient(circle at 50% 44%,#ffffff57,#0000 26%),linear-gradient(135deg,#1ed66f,#0fa95a);box-shadow:inset 0 0 0 8px #ffffff47,0 10px #08753e,0 24px 44px #16a05d57}.reaction-screen.ready:before{content:"";filter:blur(22px);background:#ffffff47;border-radius:50%;animation:.68s ease-in-out infinite reactionReadyPulse;position:absolute;inset:16%}.reaction-screen.ready span{color:#ffffffdb}.reaction-screen:active{transform:translateY(2px)}.spider-game{gap:16px}.spider-field{aspect-ratio:16/9;image-rendering:pixelated;background:linear-gradient(var(--leaf), var(--leaf)) top / 100% 22px no-repeat, linear-gradient(var(--leaf), var(--leaf)) bottom / 100% 22px no-repeat, linear-gradient(90deg, var(--leaf), var(--leaf)) left / 22px 100% no-repeat, linear-gradient(90deg, var(--leaf), var(--leaf)) right / 22px 100% no-repeat, linear-gradient(90deg, #704a1421 1px, transparent 1px), linear-gradient(#704a1421 1px, transparent 1px), var(--cream);background-size:100% 22px,100% 22px,22px 100%,22px 100%,18px 18px,18px 18px,auto;border-color:#15110c}.spider-field.watch:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 95%,#1167d81f,#0000 30%),linear-gradient(#0000 0 88%,#1167d814);position:absolute;inset:0}.spider-button{cursor:default;background:0 0;border:0;width:96px;height:82px;padding:0;transition:filter .12s;position:absolute;transform:translate(-50%,-50%)}.spider-button:disabled{opacity:1}.spider-button.catchable{cursor:crosshair}.spider-button.success:before,.spider-button.failed:before{content:"";z-index:0;border:4px solid #0000;border-radius:10px;position:absolute;inset:11px 0 3px}.spider-button.success:before{background:#16a05d24;border-color:#16a05dc7;box-shadow:0 0 0 4px #e8fff2db}.spider-button.failed:before{background:#e84d3621;border-color:#e84d36d1;box-shadow:0 0 0 4px #ffeeeae0}.spider-button.jumping{animation:.42s cubic-bezier(.2,.78,.2,1) spiderJump}.spider-button.success .pixel-spider{filter:drop-shadow(0 5px #16a05d8c)}.spider-button.failed .pixel-spider{filter:drop-shadow(0 5px #e84d368c)}.capture-net{z-index:6;pointer-events:none;width:118px;height:118px;animation:.68s cubic-bezier(.18,.88,.18,1) forwards captureNetDrop;position:absolute;transform:translate(-50%,-50%)}.capture-net-rim,.capture-net-line,.capture-net-handle{fill:none;vector-effect:non-scaling-stroke}.capture-net-rim{stroke:#f4f8ff;stroke-width:8px}.capture-net-line{stroke:#d7ecff;stroke-width:4px}.capture-net-handle{stroke:#704a14;stroke-linecap:square;stroke-width:9px}.capture-net-grip{fill:#704a14}.pixel-spider{z-index:1;width:96px;height:76px;display:block;position:absolute;top:3px;left:0;overflow:visible}.spider-shadow{fill:#08080a29}.spider-leg,.spider-head-outline,.spider-abdomen-outline{fill:#0a0a0c}.spider-head-fill{fill:#262229}.spider-face{fill:#121216}.spider-abdomen{fill:#8e3a2f}.spider-abdomen-mark{fill:#ff8064}.spider-palp{fill:#0a0a0c}.spider-palp.left{transform-origin:22px 44px}.spider-palp.right{transform-origin:57px 44px}.spider-fang{fill:#f4f1df}.spider-eye-main{fill:#eaf7ff}.spider-eye-pupil{fill:#101116}.spider-eye-shine{fill:#fff}.spider-eye-small{fill:#b9e5ff}.mark-spider{width:48px;height:38px;position:static}.large-icon .mark-spider{width:54px;height:44px}.intro-state .mark-spider{width:92px;height:72px}.jump-flash{background:var(--yellow);width:14px;height:14px;box-shadow:0 0 0 3px var(--ink), 0 10px 0 -4px var(--tomato);position:absolute;top:-3px;left:50%;transform:translate(-50%)}.catch-count{z-index:3;border:2px solid var(--ink);min-width:28px;min-height:28px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;font-size:14px;font-weight:950;display:grid;position:absolute;bottom:0;right:-5px}.spider-decrement{z-index:8;border:3px solid var(--ink);background:var(--tomato);color:#0000;cursor:pointer;width:34px;height:34px;box-shadow:0 4px 0 var(--ink);touch-action:none;border-radius:9px;place-items:center;padding:0;font-size:0;font-weight:950;line-height:1;transition:transform .12s,box-shadow .12s,background .12s;display:grid;position:absolute;transform:translate(calc(-50% - 38px),calc(-50% - 35px))}.spider-decrement:before{content:"";background:#fff;border-radius:999px;width:15px;height:4px;box-shadow:0 1px #08080a29}.spider-decrement:hover{background:#d93f2f}.spider-decrement:active{box-shadow:0 1px 0 var(--ink);transform:translate(calc(-50% - 38px),calc(-50% - 32px))}.round-result{color:var(--ink);justify-items:center;gap:12px;display:grid}.round-breakdown{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100%,720px);display:grid}.final-breakdown{width:min(100%,780px)}.round-breakdown-item{border:2px solid var(--ink);text-align:center;background:#fff;border-radius:8px;gap:5px;padding:10px 8px;display:grid}.round-breakdown-item.success{border-color:var(--green);background:#effff5}.round-breakdown-item.failed{border-color:var(--tomato);background:#fff0ec}.round-breakdown-item span,.round-breakdown-item em{font-size:12px;font-style:normal;font-weight:850;line-height:1.15}.round-breakdown-item span{color:var(--muted)}.round-breakdown-item strong{font-size:14px;font-weight:950;line-height:1.1}.round-breakdown-item.success strong{color:var(--green)}.round-breakdown-item.failed strong{color:var(--tomato)}.round-legend{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.round-legend span{border:2px solid var(--ink);color:#fff;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:900;line-height:1}.round-legend .success{background:var(--green)}.round-legend .failed{background:var(--tomato)}.final-round-summary{border:3px solid var(--ink);min-width:230px;color:var(--ink);background:linear-gradient(135deg,#16a05d1f,#1167d81a),#fff;border-radius:10px;justify-items:center;gap:6px;padding:14px 18px;display:grid}.final-round-summary span{color:var(--muted);font-size:13px;font-weight:900}.final-round-summary strong{color:var(--accent);font-size:42px;font-weight:950;line-height:.95}.final-round-summary em{color:var(--ink);font-size:13px;font-style:normal;font-weight:850;line-height:1.25}.round-score{border:3px solid var(--ink);background:color-mix(in srgb, var(--accent) 12%, #fff);border-radius:8px;place-items:center;width:112px;height:112px;font-size:34px;font-weight:950;display:grid}.stage-caption{color:var(--muted);font-size:15px;font-weight:720;line-height:1.45}.result-panel{text-align:left;align-items:stretch}.score-orbit{border:3px solid var(--ink);background:color-mix(in srgb, var(--accent) 12%, #fff);border-radius:50%;align-self:flex-start;place-items:center;min-width:150px;height:150px;padding:0 18px;display:grid}.score-orbit span{color:var(--accent);font-size:44px;font-weight:950;line-height:.92}.result-copy{flex-direction:column;gap:12px;display:flex}.result-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.result-stat{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.result-stat span{color:var(--muted);font-size:12px;font-weight:850}.result-stat strong{font-size:22px;font-weight:930;line-height:1}.best-line{color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:850;display:inline-flex}.share-status{margin:0}.cheat-overlay,.share-overlay{z-index:30;background:#08080a5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cheat-overlay{z-index:42}.cheat-dialog{border:2px solid var(--ink);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, #fff), #fff 54%), #fff;width:min(100%,420px);box-shadow:0 8px 0 var(--ink), 0 30px 60px #08080a42;border-radius:12px;gap:14px;padding:18px;display:grid}.cheat-dialog-header{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:20px;font-weight:950;display:flex}.cheat-close{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:34px;min-height:34px;font-size:24px;font-weight:900;line-height:1}.cheat-code-form,.cheat-select{gap:12px;display:grid}.cheat-code-form label,.cheat-select p{color:var(--muted);font-size:14px;font-weight:850;line-height:1.4}.cheat-code-form input{box-sizing:border-box;border:2px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:13px 12px;font-size:20px;font-weight:850;line-height:1.2}.cheat-code-form p,.cheat-select>p:last-child{color:var(--tomato);font-size:14px;font-weight:850}.cheat-game-grid{gap:8px;display:grid}.cheat-game-option{border:2px solid var(--line);min-height:54px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;font-size:16px;font-weight:900;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid}.cheat-game-option:hover,.cheat-game-option.selected{border-color:color-mix(in srgb, var(--accent) 52%, var(--line));box-shadow:0 5px 0 color-mix(in srgb, var(--accent) 62%, var(--ink));transform:translateY(-1px)}.cheat-game-option svg{color:var(--accent)}.superpower-dialog p{border:2px solid color-mix(in srgb, var(--blue) 34%, var(--line));background:color-mix(in srgb, var(--blue) 10%, #fff);color:var(--ink);text-align:center;border-radius:10px;padding:16px;font-size:20px;font-weight:930;line-height:1.35}.share-page{border:2px solid var(--ink);width:min(100%,680px);max-height:calc(100svh - 32px);box-shadow:0 8px 0 var(--ink), 0 30px 60px #08080a47;background-color:#fff;background-image:linear-gradient(90deg,#08080a0b 1px,#0000 1px),linear-gradient(#08080a0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:12px;gap:10px;padding:24px 22px 16px;display:grid;overflow:auto}.share-page-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.share-card{border:2px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, #fff), #fff 54%), #fff;border-radius:10px;gap:8px;padding:16px;display:grid}.share-card span{color:var(--muted);font-size:13px;font-weight:900}.share-card strong{color:var(--accent);font-size:38px;font-weight:950;line-height:.96}.share-card p{color:var(--ink);font-size:15px;font-weight:760;line-height:1.45}.share-image-preview{border:2px solid color-mix(in srgb, var(--accent) 38%, var(--line));background-color:#fff;background-image:linear-gradient(90deg,#08080a0b 1px,#0000 1px),linear-gradient(#08080a0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:10px;place-items:center;padding:12px;display:grid;overflow:hidden}.share-image-preview img{border:2px solid var(--ink);width:min(100%,240px);box-shadow:0 8px 0 var(--ink);border-radius:10px;display:block}.share-image-loading{aspect-ratio:3/4;border:2px dashed var(--line);width:min(100%,360px);color:var(--muted);border-radius:10px;place-items:center;font-size:15px;font-weight:850;display:grid}.share-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.share-option{border:2px solid var(--line);min-height:82px;color:var(--ink);cursor:pointer;text-align:center;background:#fff;border-radius:10px;justify-items:center;gap:5px;padding:10px 8px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.share-option:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 56%, var(--ink));transform:translateY(-2px)}.share-option:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:3px}.share-option.featured{border-color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, #fff)}.share-option svg{color:var(--accent)}.share-option.wechat-option svg{color:#16a34a}.share-option.whatsapp-option svg{color:#22c55e}.share-option span{font-size:15px;font-weight:920;line-height:1.1}.share-option small{color:var(--muted);font-size:11px;font-weight:760;line-height:1.25}@keyframes sapphireGloss{0%,to{opacity:.72;transform:translate(-20%)rotate(-8deg)}48%{opacity:1;transform:translate(20%)rotate(-8deg)}}@keyframes bombBreath{0%,to{opacity:.72;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@keyframes bombExplosion{0%{opacity:0;transform:translate(-50%,-50%)scale(.18)rotate(-18deg)}16%{opacity:1;transform:translate(-50%,-50%)scale(.9)rotate(6deg)}42%{opacity:.9;transform:translate(-50%,-50%)scale(1.18)rotate(18deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.78)rotate(36deg)}}@keyframes hitBurst{0%{opacity:0;transform:translate(-50%,-38%)scale(.82)}18%{opacity:1;transform:translate(-50%,-56%)scale(1.04)}to{opacity:0;transform:translate(-50%,-110%)scale(.92)}}@keyframes hapticSoftA{0%,to{transform:translate(0,0)}35%{transform:translateY(2px)scale(.995)}68%{transform:translateY(-1px)scale(1.002)}}@keyframes hapticSoftB{0%,to{transform:translate(0,0)}35%{transform:translateY(2px)scale(.995)}68%{transform:translateY(-1px)scale(1.002)}}@keyframes hapticStrongA{0%,to{transform:translate(0,0)}18%{transform:translate(-4px,2px)scale(.992)}38%{transform:translate(5px,-2px)scale(1.004)}62%{transform:translate(-2px,1px)}}@keyframes hapticStrongB{0%,to{transform:translate(0,0)}18%{transform:translate(-4px,2px)scale(.992)}38%{transform:translate(5px,-2px)scale(1.004)}62%{transform:translate(-2px,1px)}}@keyframes dotLife{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}12%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.82)}}@keyframes cheatGemPulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}}@keyframes superGemPulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(.98)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}@keyframes captureNetDrop{0%{opacity:0;transform:translate(-50%,-72%)scale(1.36)rotate(-10deg)}34%{opacity:1;transform:translate(-50%,-50%)scale(.95)rotate(3deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.76)rotate(0)}}@keyframes spiderJump{0%,to{transform:translate(-50%,-50%)translateY(0)}44%{transform:translate(-50%,-50%)translateY(-42px)}}@keyframes reactionReadyPulse{0%,to{opacity:.42;transform:scale(.86)}50%{opacity:.86;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=940px){.app-shell{width:min(100% - 24px,720px);padding-top:16px}.top-bar{margin-bottom:20px}.hub-layout,.challenge-shell{grid-template-columns:1fr}.hub-layout{gap:22px}h1{font-size:42px}.hub-copy>p:not(.section-label),.challenge-info>p:not(.section-label),.result-copy>p{font-size:16px}.attention-preview{min-height:330px}.challenge-info,.play-surface{min-height:auto}.challenge-info{padding:22px}.challenge-info h1{font-size:36px}}@media (width<=680px){.app-shell{width:min(100% - 18px,520px);padding-bottom:24px}.top-bar{align-items:flex-start}.brand-button span{font-size:clamp(15px,4.2vw,18px);display:inline}.brand-button{flex:auto;justify-content:flex-start;min-width:0}.top-score{flex:none}.game-grid{grid-template-columns:1fr}.game-card{min-height:220px}.local-records-panel{flex-direction:column;align-items:stretch;margin-top:20px}.clear-records-button,.hub-actions,.result-actions,.stage-actions{width:100%}.primary-button,.secondary-button,.score-strip{flex:100%;width:100%}.attention-preview{min-height:320px}.preview-field{inset:76px 12px 104px}.preview-spider-row{gap:6px;left:12px;right:12px}.live-hud,.result-stats,.intro-rule-grid{grid-template-columns:1fr}.speed-meter{grid-template-columns:1fr auto}.speed-meter-track{order:3;grid-column:1/-1}.dot-field,.reaction-screen,.spider-field{aspect-ratio:1}.spider-button{width:62px;height:62px}.capture-net{width:92px;height:92px}.pixel-spider{transform-origin:50%;transform:scale(.82)}.spider-decrement{width:30px;height:30px;box-shadow:0 3px 0 var(--ink);border-radius:8px;transform:translate(calc(-50% - 24px),calc(-50% - 25px))}.spider-decrement:active{box-shadow:0 1px 0 var(--ink);transform:translate(calc(-50% - 24px),calc(-50% - 23px))}.round-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.share-overlay{align-items:end;padding:10px}.share-page{max-height:calc(100svh - 20px);padding:18px}.share-page-header{align-items:center}.share-options{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-state,.countdown-state,.result-panel,.game-stage{padding:18px}.score-orbit{min-width:124px;height:124px}.score-orbit span{font-size:34px}body.mobile-game-lock{overscroll-behavior:none}.game-mode.is-playing{grid-template-rows:auto minmax(0,1fr);width:100%;min-height:100dvh;padding:8px;display:grid}.game-mode.is-playing .top-bar{align-items:center;min-height:42px;margin-bottom:8px;padding:6px 8px}.game-mode .top-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;display:grid}.game-mode.is-playing .ghost-button,.game-mode.is-playing .top-score{border-radius:8px;min-height:34px;padding:0 10px;font-size:13px}.game-mode .game-title-chip{text-overflow:ellipsis;white-space:nowrap;padding:0 2px;display:block;overflow:hidden}.game-mode.is-playing .challenge-shell{height:calc(100dvh - 64px);min-height:0;display:block}.game-mode.is-playing .challenge-info{display:none}.game-mode.is-playing .play-surface{height:100%;min-height:0;box-shadow:0 4px 0 var(--ink), 0 14px 28px #08080a14;border-radius:10px}.game-mode.is-playing .intro-state,.game-mode.is-playing .countdown-state,.game-mode.is-playing .result-panel,.game-mode.is-playing .game-stage{height:100%;min-height:0;padding:10px}.game-mode.is-playing .game-stage{justify-content:center;gap:9px}.game-mode.is-playing .live-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.game-mode.is-playing .live-hud div{text-align:center;justify-items:center;gap:3px;padding:8px 5px}.game-mode.is-playing .live-hud span{font-size:10px}.game-mode.is-playing .live-hud strong{font-size:clamp(16px,5vw,22px)}.game-mode.is-playing .speed-meter{grid-template-columns:auto 1fr auto;gap:7px;padding:8px}.game-mode.is-playing .speed-meter-track{order:initial;grid-column:auto}.game-mode.is-playing .dot-field,.game-mode.is-playing .reaction-screen,.game-mode.is-playing .spider-field{flex:0 auto;max-height:min(62dvh,420px)}.game-mode.is-playing .rule-strip,.game-mode.is-playing .stage-caption{font-size:12px;line-height:1.25}.game-mode.is-playing .rule-strip span{padding:6px 8px}.game-mode.is-playing .stage-actions{flex-wrap:nowrap;gap:8px}.game-mode.is-playing .spider-final-result{touch-action:pan-y;justify-content:flex-start;overflow-y:auto}.game-mode.is-playing .spider-final-result .round-result{gap:8px;width:100%}.game-mode.is-playing .spider-final-result .round-score{width:78px;height:78px;font-size:24px}.game-mode.is-playing .spider-final-result .round-breakdown{gap:6px}.game-mode.is-playing .spider-final-result .round-breakdown-item{gap:3px;padding:7px 5px}.game-mode.is-playing .spider-final-result .final-round-summary{width:100%;min-width:0;padding:10px 12px}.game-mode.is-playing .spider-final-result .final-round-summary strong{font-size:30px}.game-mode.is-playing .stage-actions .primary-button,.game-mode.is-playing .stage-actions .secondary-button{flex:1 1 0;width:auto;min-height:38px;padding:0 10px;font-size:13px}}
