*{margin:0;padding:0}body{background:#00000a;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}body{background:#00000a;display:block;overflow:hidden}.game{cursor:text;width:100vw;height:100vh;position:relative}.aurora{background:radial-gradient(circle at 25% 40%,#28005a4d 0%,#0000 50%),radial-gradient(circle at 75% 55%,#00378c4d 0%,#0000 45%),radial-gradient(circle at 55% 80%,#00645533 0%,#0000 40%);position:absolute;inset:0}@keyframes aurora-idle{0%{filter:brightness()hue-rotate();transform:scale(1)}33%{filter:brightness(1.2)hue-rotate(8deg);transform:scale(1.08)}66%{filter:brightness(.9)hue-rotate(-5deg);transform:scale(.97)}to{filter:brightness()hue-rotate();transform:scale(1)}}.aurora-idle{animation:4s ease-in-out infinite aurora-idle}@keyframes aurora-breathe{0%{filter:brightness();transform:scale(1)}35%{filter:brightness(1.2);transform:scale(1.07)}to{filter:brightness();transform:scale(1)}}.aurora-pulse{animation:.7s ease-out aurora-breathe}@keyframes aurora-surge{0%{filter:brightness()hue-rotate();transform:scale(1)}25%{filter:brightness(1.5)hue-rotate(15deg);transform:scale(1.2)}60%{filter:brightness(1.3)hue-rotate(8deg);transform:scale(1.12)}to{filter:brightness()hue-rotate();transform:scale(1)}}.aurora-surge{animation:1.1s ease-out aurora-surge}canvas{mix-blend-mode:screen;position:absolute;inset:0}.fade-overlay{opacity:0;pointer-events:none;z-index:20;background:#000;position:absolute;inset:0}.saturn-flyby{z-index:7;pointer-events:none;width:120px;height:120px;animation:15s linear forwards saturn-pass;position:absolute;top:22vh;right:12vw}.saturn-body{z-index:2;background:repeating-linear-gradient(0deg,#0000,#0000 10px,#0000001f 10px 20px),radial-gradient(circle at 38% 32%,#fffff066 0%,#0000 25%),radial-gradient(circle at 38% 32%,#f0e098,#c89030 30%,#9a6020 55%,#6a3c10 78%,#3a1e08 100%);border-radius:50%;width:120px;height:120px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset -14px -10px 28px #000000b3,0 0 22px #c8963233}.saturn-ring{pointer-events:none;border:18px solid #c8ac738c;border-radius:50%;width:250px;height:250px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateX(70deg);box-shadow:0 0 0 7px #9b804847,0 0 0 13px #dcc38726,inset 0 0 12px #00000059}.saturn-ring-back{z-index:1}.saturn-ring-front{z-index:3;clip-path:polygon(0% 50%,100% 50%,100% 100%,0% 100%)}@keyframes saturn-pass{0%{opacity:0;transform:scale(.05)translate(0)}12%{opacity:.7;transform:scale(.09)translate(0)}42%{opacity:1;transform:scale(.65)translate(0)}58%{opacity:1;transform:scale(1)translate(4vw)}72%{opacity:.8;transform:scale(.96)translate(11vw)}85%{opacity:.4;transform:scale(.91)translate(19vw)}to{opacity:0;transform:scale(.86)translate(28vw)}}.earth-flyby{z-index:7;pointer-events:none;width:110px;height:110px;animation:15s linear forwards earth-pass;position:absolute;top:30vh;left:10vw}.earth-body{background:radial-gradient(at 60% 25%,#fffffff2 0%,#0000 14%),radial-gradient(at 20% 52%,#fffc 0%,#0000 11%),radial-gradient(at 72% 68%,#ffffffb3 0%,#0000 13%),radial-gradient(at 42% 12%,#fff9 0%,#0000 9%),radial-gradient(at 38% 42%,#3cdc46f2 0%,#0000 26%),radial-gradient(at 65% 60%,#28be37d9 0%,#0000 20%),radial-gradient(at 22% 30%,#be9b4ba6 0%,#0000 16%),radial-gradient(at 55% 82%,#e6e6e68c 0%,#0000 12%),radial-gradient(circle at 38% 32%,#ffffff38 0%,#0000 20%),radial-gradient(circle at 38% 32%,#80f0ff,#1aa0f0 22%,#0870d8 46%,#0448a0 70%,#021e58 100%);border-radius:50%;width:110px;height:110px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset -13px -9px 26px #0009,0 0 22px #3cb4ff8c,0 0 55px #2896ff33}.earth-moon{background:radial-gradient(22% 16% at 38% 44%,#0006 0%,#0000 100%),radial-gradient(12% 10% at 62% 58%,#0000004d 0%,#0000 100%),radial-gradient(9% 7% at 22% 68%,#00000040 0%,#0000 100%),radial-gradient(14% 10% at 72% 30%,#0003 0%,#0000 100%),radial-gradient(circle at 35% 32%,#e0e0e8,#a8a8b8 35%,#787888 62%,#484858 85%,#282832 100%);border-radius:50%;width:34px;height:34px;animation:14s linear infinite moon-orbit;position:absolute;top:50%;left:50%;box-shadow:inset -5px -4px 10px #000000a6,0 0 6px #b4b4dc26}@keyframes moon-orbit{0%{transform:translate(-50%,-50%)rotate(0)translate(85px)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)translate(85px)rotate(-360deg)}}.earth-body:after{content:"";pointer-events:none;background:radial-gradient(#0000 60%,#8cffa02e 75%,#64e68214 90%,#0000 100%);border-radius:50%;position:absolute;inset:-6px;box-shadow:0 0 18px #78ff9659,0 0 40px #50dc6e1f}@keyframes earth-pass{0%{opacity:0;transform:scale(.05)translate(0)}12%{opacity:.7;transform:scale(.09)translate(0)}42%{opacity:1;transform:scale(.65)translate(0)}58%{opacity:1;transform:scale(1)translate(-4vw)}72%{opacity:.8;transform:scale(.96)translate(-11vw)}85%{opacity:.4;transform:scale(.91)translate(-19vw)}to{opacity:0;transform:scale(.86)translate(-28vw)}}.lava-flyby{z-index:7;pointer-events:none;width:100px;height:100px;animation:15s linear forwards lava-pass;position:absolute;top:50vh;right:18vw}.lava-body{background:radial-gradient(28% 18% at 28% 38%,#ffd200f2 0%,#ff640099 50%,#0000 100%),radial-gradient(20% 14% at 70% 28%,#ffa000d9 0%,#ff3c0080 55%,#0000 100%),radial-gradient(22% 16% at 58% 72%,#ffb400cc 0%,#c8280080 50%,#0000 100%),radial-gradient(14% 10% at 18% 68%,#ff7800b3 0%,#b41e0066 55%,#0000 100%),radial-gradient(18% 12% at 82% 58%,#ff8c00a6 0%,#c8320066 55%,#0000 100%),radial-gradient(12% 8% at 45% 18%,#ff64008c 0%,#0000 100%),radial-gradient(circle at 38% 32%,#2a0a00,#1a0600 40%,#0e0300 70%,#060100 100%);border-radius:50%;width:100px;height:100px;animation:2.4s ease-in-out infinite lava-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset -13px -9px 26px #0000008c,0 0 25px #ff5a00bf,0 0 70px #ff3c0073,0 0 140px #ff280040,0 0 260px #ff14001a}@keyframes lava-pulse{0%,to{box-shadow:inset -13px -9px 26px #0000008c,0 0 25px #ff5a00bf,0 0 70px #ff3c0073,0 0 140px #ff280040,0 0 260px #ff14001a}50%{box-shadow:inset -13px -9px 26px #0000008c,0 0 40px #ff7800f2,0 0 100px #ff500099,0 0 200px #ff320059,0 0 360px #ff1e0026}}@keyframes lava-pass{0%{opacity:0;transform:scale(.05)translate(0)}12%{opacity:.7;transform:scale(.09)translate(0)}42%{opacity:1;transform:scale(.65)translate(0)}58%{opacity:1;transform:scale(1)translate(4vw)}72%{opacity:.8;transform:scale(.96)translate(11vw)}85%{opacity:.4;transform:scale(.91)translate(19vw)}to{opacity:0;transform:scale(.86)translate(28vw)}}.frozen-flyby{z-index:7;pointer-events:none;width:105px;height:105px;animation:15s linear forwards earth-pass;position:absolute;top:42vh;left:14vw}.frozen-body{background:radial-gradient(52% 2.5% at 44% 36%,#fff 0%,#d2f8ff99 60%,#0000 100%),radial-gradient(40% 2% at 63% 54%,#fff 0%,#c8f4ff80 60%,#0000 100%),radial-gradient(33% 2% at 26% 65%,#fffffffa 0%,#0000 100%),radial-gradient(26% 2% at 58% 20%,#fff 0%,#0000 100%),radial-gradient(22% 2% at 80% 72%,#fffffff2 0%,#0000 100%),radial-gradient(16% 2% at 35% 80%,#ffffffe6 0%,#0000 100%),radial-gradient(at 50% -8%,#fff 0%,#f5fdffe6 45%,#0000 65%),radial-gradient(at 50% 108%,#fff 0%,#f5fdffd9 42%,#0000 60%),radial-gradient(at -8%,#fffc 0%,#0000 48%),radial-gradient(at 108%,#ffffffbf 0%,#0000 45%),radial-gradient(circle at 32% 28%,#ffffffd9 0%,#0000 14%),radial-gradient(circle at 38% 32%,#fff,#f4fbff 14%,#dff4ff 30%,#b8e6ff 50%,#82c8f0 68%,#509ed8 84%,#3070b0 100%);border-radius:50%;width:105px;height:105px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset -8px -6px 16px #0005142e,0 0 10px #fffffff2,0 0 30px #c8f5ffe6,0 0 75px #96e4ff80,0 0 150px #64d2ff33}.frozen-body:after{content:"";pointer-events:none;background:radial-gradient(#0000 54%,#c8f5ff4d 70%,#a0e6ff1a 86%,#0000 100%);border-radius:50%;position:absolute;inset:-10px;box-shadow:0 0 10px #dcfcff,0 0 28px #b4f2ffcc,0 0 60px #8ce4ff66,0 0 110px #64d2ff29}.flyby-title{transform-origin:50%;color:#ffb4dcf2;text-shadow:0 0 15px #ff64b4e6,0 0 50px #dc3ca099,0 0 100px #ff50c84d;letter-spacing:.25em;white-space:nowrap;z-index:9;pointer-events:none;font-family:Courier New,monospace;font-size:5rem;font-weight:700;animation:12s linear forwards flyby-crawl;position:absolute;top:6vh;left:50%}@keyframes flyby-crawl{0%{opacity:.2;transform:translate(-50%)perspective(1200px)rotateX(10deg)scale(.04)}10%{opacity:.3;transform:translate(-50%)perspective(1180px)rotateX(2deg)scale(.055)}20%{opacity:.45;transform:translate(-50%)perspective(1150px)rotateX(-10deg)scale(.08)}30%{opacity:.6;transform:translate(-50%)perspective(1100px)rotateX(-22deg)scale(.12)}40%{opacity:.75;transform:translate(-50%)perspective(1050px)rotateX(-34deg)scale(.19)}50%{opacity:.9;transform:translate(-50%)perspective(950px)rotateX(-45deg)scale(.32)}58%{opacity:1;transform:translate(-50%)perspective(820px)rotateX(-54deg)scale(.52)}65%{opacity:1;transform:translate(-50%)perspective(650px)rotateX(-62deg)scale(.9)}71%{opacity:1;transform:translate(-50%)perspective(480px)rotateX(-68deg)scale(1.6)}77%{opacity:.95;transform:translate(-50%)perspective(320px)rotateX(-73deg)scale(2.8)}83%{opacity:.8;transform:translate(-50%)perspective(210px)rotateX(-78deg)scale(4.4)}90%{opacity:.5;transform:translate(-50%)perspective(140px)rotateX(-82deg)scale(6.8)}to{opacity:0;transform:translate(-50%)perspective(100px)rotateX(-85deg)scale(10)}}.fullscreen-btn{z-index:30;color:#b4b4f0cc;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1414328c;border:1px solid #8c8cdc73;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;padding:7px;transition:color .2s,border-color .2s,background .2s;display:flex;position:absolute;top:14px;right:16px}.fullscreen-btn svg{width:100%;height:100%}.fullscreen-btn:hover{color:#dcdcff;background:#282850bf;border-color:#b4b4ffcc}.damage-overlay{pointer-events:none;z-index:15;background:#c8143c38;animation:1.2s ease-in-out infinite damage-pulse;position:absolute;inset:0}@keyframes damage-pulse{0%,to{opacity:.7}50%{opacity:1}}.timer{letter-spacing:.05em;z-index:10;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Courier New,monospace;font-weight:700;transition:font-size .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timer-end{letter-spacing:.22em;text-align:center;white-space:nowrap;z-index:10;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Courier New,monospace;font-size:4.8rem;font-weight:700;line-height:1.2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)perspective(350px)rotateX(42deg)scaleY(1.3)}@keyframes shake{0%{transform:translate(-50%)translate(0)}20%{transform:translateX(-50%) translate(var(--sx), var(--sy))}40%{transform:translateX(-50%) translate(calc(-1 * var(--sx)), calc(.5 * var(--sy)))}60%{transform:translateX(-50%) translate(var(--sx), calc(-1 * var(--sy)))}80%{transform:translateX(-50%) translate(calc(-.5 * var(--sx)), var(--sy))}to{transform:translate(-50%)translate(0)}}@keyframes shake-once{0%{transform:translate(0)}20%{transform:translate(var(--sx), var(--sy))}40%{transform:translate(calc(-1 * var(--sx)), calc(.5 * var(--sy)))}60%{transform:translate(var(--sx), calc(-1 * var(--sy)))}80%{transform:translate(calc(-.5 * var(--sx)), var(--sy))}to{transform:translate(0)}}.shake-mistake{--sx:2px;--sy:2px;animation:.2s ease-out shake-once}.hud{z-index:10;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:20px;display:flex;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.shake-low{--sx:1px;--sy:1px;animation:.18s infinite shake}.shake-mid{--sx:2px;--sy:2px;animation:.12s infinite shake}.stats{align-items:baseline;gap:6px;display:flex}.stat-number{color:#aad;font-family:monospace;font-size:1.1rem}.stat-label{color:#55a;text-transform:uppercase;letter-spacing:.08em;margin-right:20px;font-family:monospace;font-size:.65rem}.stat-label:last-child{margin-right:0}.stats-final{grid-template-columns:auto auto;align-items:baseline;gap:12px;display:grid}.stats-final .stat-number{color:#80ffcc;text-shadow:0 0 30px #64ffb4cc,0 0 60px #64ffb466;text-align:right;font-size:3.5rem;animation:1.5s ease-in-out infinite pulse-result}.stats-final .stat-label{color:#40ddaa;letter-spacing:.2em;align-self:baseline;margin-right:0;font-size:1rem}@keyframes pulse-result{0%,to{opacity:1}50%{opacity:.7}}.word-row{letter-spacing:4px;flex-wrap:wrap;justify-content:center;gap:16px;max-width:96vw;font-family:Courier New,monospace;font-size:2rem;display:flex}@media (height<=750px),(width<=900px){.hud{gap:10px;width:96vw;bottom:30px}.word-row{gap:14px}}.word{display:inline-flex}.word.done{color:#80ffaa}.word.upcoming{color:#224}.ch{color:#557;transition:color 50ms}.ch.correct{color:#80ffaa;text-shadow:0 0 12px #64ff9680}.ch.wrong{color:#f45;text-shadow:0 0 10px #ff3c5080}.type-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}
