:root{color-scheme:dark;--night: #090612;--navy: #071b32;--cyan: #00f0ff;--magenta: #ff35d1;--violet: #7b4dff;--amber: #ffc857;--green: #45ffb1;--danger: #ff4f5e;--text: #f5fbff;--muted: #8fa8bd;--panel: rgba(8, 6, 18, .72);--line: rgba(0, 240, 255, .34);--radius: 8px;--glow-cyan: 0 0 14px rgba(0, 240, 255, .75);--glow-magenta: 0 0 14px rgba(255, 53, 209, .75);--ui-font: "Avenir Next", "DIN Alternate", "Helvetica Neue", sans-serif;--display-font: "Avenir Next Condensed", "DIN Condensed", "Avenir Next", sans-serif;font-family:Avenir Next,DIN Alternate,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden;color:var(--text);background:var(--night);font-family:var(--ui-font)}button{font:inherit}canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%}.game-shell{width:100%;height:100svh;min-height:520px;overflow:hidden;background:linear-gradient(180deg,rgba(255,53,209,.13) 0%,transparent 22%),linear-gradient(180deg,#13071d 0%,var(--navy) 48%,#02131e 100%)}.game-stage{position:relative;width:100%;height:100%;overflow:hidden;outline:0;isolation:isolate;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:default}.game-stage:focus-visible{outline:2px solid rgba(245,251,255,.82);outline-offset:-4px}.game-stage:before{content:"";position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),linear-gradient(90deg,rgba(0,240,255,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(0,240,255,.035) 1px,transparent 1px);background-size:auto,56px 56px,56px 56px;pointer-events:none}.game-stage:after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,transparent 0 48%,rgba(0,240,255,.1) 49%,transparent 51%),linear-gradient(180deg,rgba(255,200,87,.07),transparent 24%);mix-blend-mode:screen;pointer-events:none}.hud{position:absolute;z-index:6;top:0;left:0;right:0;display:grid;grid-template-columns:minmax(220px,1fr) clamp(420px,39vw,510px) minmax(220px,1fr);align-items:center;gap:0;padding:max(18px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) 16px max(32px,env(safe-area-inset-left));background:linear-gradient(180deg,#030811db,#03081194),linear-gradient(90deg,#00f0ff14,#ff35d10f);border-bottom:1px solid rgba(191,224,235,.16);box-shadow:0 12px 30px #00000042,inset 0 -1px #00f0ff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stat,.misses{min-height:84px;border-left:1px solid rgba(191,224,235,.16)}.stat:first-child{border-left:0}.stat{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:16px;min-width:0;padding:8px 28px}.stat-population{grid-template-columns:auto auto;justify-content:center;padding-left:0}.hud-icon{display:block;align-self:center;width:38px;height:38px;color:var(--cyan);fill:currentColor;filter:drop-shadow(0 0 7px rgba(0,240,255,.46));flex:0 0 auto}.stat-population .hud-icon{color:var(--magenta);filter:drop-shadow(0 0 7px rgba(255,53,209,.46))}.stat strong{position:relative;display:flex;align-items:center;min-width:0;height:1em;overflow:hidden;color:var(--cyan);font-size:2.55rem;font-weight:850;line-height:1;text-overflow:ellipsis;text-shadow:0 0 8px rgba(0,240,255,.34);font-variant-numeric:tabular-nums;white-space:nowrap;--fit-scale: 1}.fitted-number-value{display:block;width:max-content;max-width:none;font-size:calc(1em * var(--fit-scale));line-height:1;white-space:nowrap;transition:font-size .12s ease-out}.fitted-number-measure{position:absolute;left:0;top:0;visibility:hidden;white-space:nowrap;pointer-events:none}.stat strong.is-fitted{text-overflow:clip}.stat-population strong{color:var(--magenta);font-size:2.95rem;text-shadow:0 0 8px rgba(255,53,209,.34)}.population-score{position:relative;display:flex;align-items:center;min-width:0;overflow:visible;font-size:2.95rem;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.population-score strong{color:var(--magenta);font-size:inherit;text-shadow:0 0 8px rgba(255,53,209,.34)}.combo-payout-bonus{position:absolute;left:100%;margin-left:.2em;color:var(--amber);font-size:.94em;font-weight:inherit;line-height:1;white-space:nowrap;pointer-events:none;text-shadow:0 0 14px rgba(255,200,87,.88),0 0 28px rgba(255,200,87,.42);font-variant-numeric:tabular-nums;opacity:0}.stat-population.is-combo-payout .combo-payout-bonus{animation:combo-payout-merge var(--combo-payout-duration, 1.1s) cubic-bezier(.18,1,.32,1) forwards}.stat-population.is-combo-payout-bump .fitted-number-value{color:var(--amber);text-shadow:0 0 14px rgba(255,200,87,.88),0 0 24px rgba(255,200,87,.36);animation:combo-payout-score-bump .65s cubic-bezier(.22,1,.36,1);transition:color .32s ease,text-shadow .32s ease}.stat-population.is-combo-payout-bump .population-score strong{color:var(--amber);text-shadow:0 0 14px rgba(255,200,87,.88),0 0 24px rgba(255,200,87,.36);transition:color .32s ease,text-shadow .32s ease}.stat-population.is-combo-payout-bump.is-combo-payout-settled .fitted-number-value,.stat-population.is-combo-payout-bump.is-combo-payout-settled .population-score strong{color:var(--magenta);text-shadow:0 0 8px rgba(255,53,209,.34)}@keyframes combo-payout-merge{0%{opacity:0;transform:translate(.85em) scale(.88)}14%{opacity:1;transform:translate(.85em) scale(1.06)}62%{opacity:1;transform:translate(-.55em) scale(1)}78%{opacity:.35;transform:translate(-.72em) scale(.82)}to{opacity:0;transform:translate(-.72em) scale(.72)}}@keyframes combo-payout-score-bump{0%{transform:scale(1);filter:brightness(1)}28%{transform:scale(1.06);filter:brightness(1.08)}58%{transform:scale(1.14);filter:brightness(1.28)}to{transform:scale(1);filter:brightness(1)}}.stat-population.is-combo-payout,.stat-population.is-combo-payout-bump{overflow:visible;z-index:1}.stat-population.is-combo-scoring .fitted-number-value{animation:score-combo-pop .46s cubic-bezier(.22,1,.36,1)}.stat-population.is-combo-scoring .hud-icon{animation:score-combo-glow .46s cubic-bezier(.22,1,.36,1)}@keyframes score-combo-pop{0%{transform:scale(1);filter:brightness(1)}38%{transform:scale(1.09);filter:brightness(1.18)}to{transform:scale(1);filter:brightness(1)}}@keyframes score-combo-glow{0%,to{filter:drop-shadow(0 0 7px rgba(255,53,209,.46))}38%{filter:drop-shadow(0 0 16px rgba(255,53,209,.82))}}.misses{display:grid;align-content:center;justify-items:end;gap:12px;min-width:220px;padding:8px 28px 8px 36px}.misses span{color:#bfe0ebc2;font-size:.95rem;font-weight:760;line-height:1;text-transform:uppercase}.life-pips{display:flex;align-items:center;justify-content:center;gap:14px;min-width:160px}.life-icon{display:block;width:44px;height:44px;align-self:center;color:var(--magenta);fill:currentColor;filter:drop-shadow(0 0 8px rgba(255,53,209,.48));stroke:currentColor;stroke-linejoin:round;stroke-width:2.2px;transition:color .18s ease,filter .18s ease,opacity .18s ease}.life-icon.is-lost{color:#8fa8bd6b;filter:none;opacity:.54}.combo-strip{position:absolute;z-index:7;top:calc(max(18px,env(safe-area-inset-top)) + 110px);left:50%;bottom:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:clamp(520px,34vw,700px);padding:9px 14px;border:1px solid rgba(191,224,235,.14);border-radius:8px;background:#0308117a;box-shadow:0 8px 24px #00000038,inset 0 1px #f5fbff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translate(-50%);pointer-events:none}.combo-strip span{width:max-content;min-width:0;color:var(--text);font-size:1.12rem;font-weight:850;line-height:1;text-transform:uppercase;text-shadow:0 0 8px rgba(0,240,255,.42)}.combo-strip span.is-hot{color:var(--green);text-shadow:0 0 14px rgba(69,255,177,.78)}.combo-strip.is-pulsing span.is-hot{text-shadow:0 0 calc(14px + 10px * var(--combo-pulse, 0)) rgba(69,255,177,.92)}.combo-strip.is-pulsing b{filter:brightness(calc(1 + var(--combo-pulse, 0) * .72));box-shadow:0 0 calc(12px + 14px * var(--combo-pulse, 0)) #ff35d1b8,0 0 calc(8px + 10px * var(--combo-pulse, 0)) #00f0ff8f}.combo-strip i{height:10px;overflow:hidden;border:1px solid rgba(0,240,255,.2);border-radius:999px;background:#040b1a9e;box-shadow:inset 0 0 12px #00000075,0 0 12px #00f0ff29}.combo-strip b{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--green));box-shadow:0 0 12px #ff35d18f;clip-path:inset(0 100% 0 0);transition:clip-path .12s linear;will-change:clip-path}.overlay{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:124px 32px 32px;background:linear-gradient(180deg,#09061214,#09061294),#09061214;opacity:1;pointer-events:auto;transition:opacity .22s ease}.overlay.is-hidden{opacity:0;pointer-events:none}.overlay-sign{position:relative;display:grid;justify-items:center;gap:28px;width:min(100%,660px);padding:48px;border:1px solid rgba(0,240,255,.24);border-radius:8px;background:linear-gradient(180deg,#050a16d1,#020810bd),linear-gradient(90deg,#00f0ff0f,#ff35d10d);box-shadow:0 0 20px #00f0ff24,0 28px 80px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.overlay-sign:before,.overlay-sign:after{content:"";position:absolute;left:22px;right:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,240,255,.76),rgba(255,53,209,.62),transparent);box-shadow:0 0 12px #00f0ff5c}.overlay-sign:before{top:16px}.overlay-sign:after{bottom:16px}.eyebrow{margin:0;color:#bfe0ebdb;font-size:1.05rem;font-weight:800;line-height:1;text-transform:uppercase}h1{width:100%;margin:0;color:#d8fbff;font-family:var(--display-font);font-size:8rem;font-weight:900;line-height:.9;text-align:center;text-transform:uppercase;text-shadow:0 0 10px rgba(0,240,255,.56),0 0 24px rgba(255,53,209,.28)}.run-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:0}.run-summary div{display:grid;gap:7px;min-width:0;padding:12px;border:1px solid rgba(0,240,255,.14);background:#00f0ff09}.run-summary dt{color:#bfe0ebc2;font-size:.72rem;font-weight:750;line-height:1;text-transform:uppercase}.run-summary dd{min-width:0;margin:0;overflow:hidden;color:var(--magenta);font-size:2.35rem;font-weight:850;line-height:1;text-overflow:ellipsis;text-shadow:var(--glow-magenta);font-variant-numeric:tabular-nums;white-space:nowrap}.start-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:min(100%,286px);min-height:68px;padding:18px 28px;border:1px solid rgba(216,251,255,.58);border-radius:8px;background:linear-gradient(90deg,#6dedf4f0,#ff48c5e6);color:#06101d;cursor:pointer;font-size:1.18rem;font-weight:850;line-height:1;text-transform:uppercase;box-shadow:0 0 18px #00f0ff57,0 16px 34px #00000038;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.start-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.start-button:active{transform:translateY(1px) scale(.99)}.start-button:focus-visible{outline:3px solid rgba(255,255,255,.86);outline-offset:3px}.play-icon{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #06101d}.dev-menu{position:absolute;z-index:10;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;justify-items:end;gap:10px;pointer-events:none}.dev-menu button,.dev-menu input{pointer-events:auto}.dev-toggle,.dev-panel-header button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(191,224,235,.3);border-radius:8px;background:#050a16d1;color:var(--text);cursor:pointer;font-size:.82rem;font-weight:850;line-height:1;text-transform:uppercase;box-shadow:0 10px 26px #00000047,inset 0 1px #f5fbff0f;transition:border-color .14s ease,color .14s ease,transform .14s ease}.dev-toggle{min-width:58px;padding:0 14px}.dev-toggle:hover,.dev-panel-header button:hover{border-color:#00f0ff9e;color:var(--cyan);transform:translateY(-1px)}.dev-toggle:focus-visible,.dev-panel-header button:focus-visible,.dev-control input[type=range]:focus-visible{outline:2px solid rgba(245,251,255,.86);outline-offset:3px}.dev-panel{width:min(500px,calc(100vw - 32px));max-height:min(70vh,600px);overflow:auto;padding:16px;border:1px solid rgba(191,224,235,.18);border-radius:8px;background:linear-gradient(180deg,#050a16f0,#030811e0),linear-gradient(90deg,#00f0ff0f,#ff35d10d);box-shadow:0 18px 46px #0000006b,inset 0 1px #f5fbff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.dev-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(191,224,235,.14)}.dev-panel-title{display:grid;gap:3px;min-width:0}.dev-panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dev-panel-header span,.dev-control b{color:#bfe0ebc2;font-size:.72rem;font-weight:820;line-height:1;text-transform:uppercase}.dev-panel-header strong{color:var(--cyan);font-size:1.08rem;font-weight:900;line-height:1;text-transform:uppercase;text-shadow:0 0 8px rgba(0,240,255,.34)}.dev-panel-header button{min-width:72px;min-height:34px;padding:0 12px;font-size:.76rem}.dev-controls{display:grid;gap:16px;padding-top:16px}.dev-control-section{display:grid;gap:10px}.dev-control-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;border-bottom:1px solid rgba(191,224,235,.1);cursor:pointer;list-style:none}.dev-control-section summary::-webkit-details-marker{display:none}.dev-control-section summary span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;border:1px solid rgba(191,224,235,.2);border-radius:999px;color:#bfe0ebb8;font-size:.72rem;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.dev-control-section summary:before{content:"";width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--cyan);filter:drop-shadow(0 0 5px rgba(0,240,255,.42));transform:rotate(90deg);transition:transform .14s ease}.dev-control-section:not([open]) summary:before{transform:rotate(0)}.dev-control-section h3{margin:0;color:var(--cyan);font-size:.76rem;font-weight:900;line-height:1;text-transform:uppercase;text-shadow:0 0 7px rgba(0,240,255,.3)}.dev-instability-readout{margin:0 0 10px;color:var(--green);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.dev-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.dev-control{display:grid;gap:7px;min-width:0}.dev-control span{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dev-diff{color:#ffc857eb;font-size:.72rem;font-weight:850;line-height:1}.dev-slider{position:relative;display:grid;align-items:center;min-height:24px}.dev-default-marker{position:absolute;top:50%;left:var(--default-percent);z-index:1;width:2px;height:12px;border-radius:999px;background:#ffc857eb;box-shadow:0 0 8px #ffc8578f;transform:translate(-50%,-50%);pointer-events:none}.dev-control input[type=range]{position:relative;z-index:2;width:100%;height:24px;margin:0;accent-color:var(--cyan);cursor:pointer}.dev-control.is-modified input[type=range]{accent-color:#7cecff}.dev-stepper{display:grid;grid-template-columns:26px 1fr 26px;gap:4px;align-items:center}.dev-stepper button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid rgba(191,224,235,.22);border-radius:5px;background:#050a1699;color:#bfe0ebcc;font-size:1rem;line-height:1;cursor:pointer;transition:border-color .12s ease,color .12s ease}.dev-stepper button:hover{border-color:#00f0ff80;color:var(--cyan)}.dev-stepper button:focus-visible{outline:2px solid rgba(245,251,255,.86);outline-offset:2px}.dev-stepper-input{width:100%;height:26px;padding:0 4px;border:1px solid rgba(191,224,235,.22);border-radius:5px;background:#050a1699;color:var(--green);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;-moz-appearance:textfield}.dev-stepper-input::-webkit-outer-spin-button,.dev-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dev-stepper-input:focus-visible{outline:2px solid rgba(245,251,255,.86);outline-offset:2px;border-color:#00f0ff66}.dev-control.is-modified .dev-stepper-input{color:var(--cyan)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:899px){.game-shell{min-height:560px}.hud{grid-template-columns:minmax(126px,1fr) clamp(237px,45vw,330px) minmax(126px,1fr);padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.stat,.misses{min-height:62px;padding:7px 10px}.stat{gap:10px}.stat-population{padding-left:0}.hud-icon{width:32px;height:32px}.misses span{font-size:.8rem}.stat strong{font-size:1.72rem}.stat-population strong,.population-score,.population-score strong{font-size:2.05rem}.misses{min-width:148px;gap:7px;padding-right:12px;padding-left:20px}.life-pips{gap:8px;min-width:112px}.life-icon{width:32px;height:32px}.combo-strip{gap:8px;top:calc(max(10px,env(safe-area-inset-top)) + 74px);width:clamp(280px,72vw,520px);padding:8px 10px 8px 12px}.combo-strip span{font-size:1rem}.combo-strip i{height:8px}.overlay{padding:18px}.overlay-sign{gap:18px;width:min(100%,360px);padding:24px}.eyebrow{font-size:.78rem}h1{font-size:4.4rem}.run-summary dd{font-size:1.5rem}.start-button{min-width:min(100%,188px);min-height:48px;padding:12px 18px;font-size:.94rem}.dev-menu{right:max(12px,env(safe-area-inset-right));bottom:max(70px,calc(env(safe-area-inset-bottom) + 70px))}.dev-panel{width:min(350px,calc(100vw - 24px));max-height:min(64vh,520px);padding:12px}.dev-toggle{min-width:54px;min-height:40px;padding:0 12px;font-size:.78rem}.dev-controls{gap:13px;padding-top:13px}.dev-control-grid{grid-template-columns:1fr;gap:10px}}@media(max-width:430px){.hud{grid-template-columns:minmax(74px,1fr) clamp(204px,54vw,216px) minmax(74px,1fr);padding:max(10px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))}.stat{gap:5px;padding-right:4px;padding-left:4px}.stat-population{padding-left:0}.hud-icon{width:28px;height:28px}.stat strong{font-size:1.58rem}.stat-population strong,.population-score,.population-score strong{font-size:1.88rem}.misses{min-height:58px;min-width:90px;gap:6px;padding-right:0;padding-left:0}.misses span{font-size:.76rem}.life-pips{gap:2px;min-width:88px}.life-icon{width:28px;height:28px}.combo-strip span{font-size:.96rem}h1{font-size:3.35rem}}@supports (-moz-appearance: none){.game-stage:after{mix-blend-mode:normal;opacity:.48}.hud,.combo-strip,.overlay-sign{-webkit-backdrop-filter:none;backdrop-filter:none}.hud{background:linear-gradient(180deg,#030811f0,#030811bd),linear-gradient(90deg,#00f0ff14,#ff35d10f)}.combo-strip{background:#030811b8}.overlay-sign{background:linear-gradient(180deg,#050a16eb,#020810db),linear-gradient(90deg,#00f0ff0f,#ff35d10d)}.dev-panel{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
