:root{color:#eef5ff;background:#070b1c;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{cursor:default}.game-shell{width:100%;height:100%;display:grid;place-items:center;background:#01030a;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.game-shell input,.game-shell textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.game-frame{position:relative;container-name:game-frame;container-type:size;width:min(100vw,177.7778vh);height:min(100vh,56.25vw);aspect-ratio:16 / 9;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(32,70,139,.18),transparent 38%),#070b1c}.game-frame:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(7,11,28,.45),transparent 28%,transparent 72%,rgba(7,11,28,.25));box-shadow:inset 0 0 110px #00000073}.canvas-wrap{position:absolute;inset:0;z-index:0}.canvas-wrap canvas{touch-action:none}.responsive-ui{zoom:1}.start-menu{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding-left:7.5%;background:linear-gradient(90deg,rgba(3,7,20,.72) 0%,rgba(3,7,20,.2) 46%,transparent 72%);transition:opacity .7s ease,visibility .7s ease}.start-menu--hidden{visibility:hidden;opacity:0;pointer-events:none}.start-menu__content{display:flex;flex-direction:column;align-items:flex-start;transform:translateY(-55%);transition:transform .8s cubic-bezier(.22,1,.36,1)}.start-menu--hidden .start-menu__content{transform:translate(-24px,-55%)}.start-menu h1{margin:0 0 clamp(24px,3vw,48px);color:#f3f7ff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,7vw,108px);font-weight:700;line-height:.9;letter-spacing:.08em;text-shadow:0 8px 36px rgba(48,108,193,.3)}.start-menu__form{display:flex;width:clamp(220px,25vw,360px);flex-direction:column;align-items:stretch}.start-menu__form label{margin-bottom:8px;color:#cde1f894;font:500 clamp(9px,.8vw,12px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.14em}.start-menu__form input{width:100%;margin:0 0 16px;padding:13px 2px;border:0;border-bottom:1px solid rgba(180,211,247,.35);border-radius:0;color:#f4f8ff;background:transparent;font:500 clamp(14px,1.25vw,18px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.02em;outline:none;transition:border-color .2s ease,background .2s ease}.start-menu__form input::placeholder{color:#cde1f84d}.start-menu__form input:focus{border-color:#8bdcffe6;background:linear-gradient(90deg,rgba(87,175,229,.07),transparent)}.start-menu button{display:flex;align-items:center;gap:clamp(22px,3vw,52px);min-width:clamp(190px,22vw,320px);padding:14px 2px;border:0;border-bottom:1px solid rgba(180,211,247,.35);color:#ebf5ffd1;background:transparent;font:500 clamp(13px,1.2vw,18px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-align:left;cursor:pointer;transition:color .2s ease,border-color .2s ease,padding-left .2s ease}.start-menu button:disabled{color:#cde1f83d;border-color:#b4d3f724;cursor:default}.start-menu button:disabled i{opacity:.35}.start-menu button i{margin-left:auto;font-style:normal;font-size:1.4em;transition:transform .2s ease}.start-menu button:not(:disabled):hover,.start-menu button:focus-visible{padding-left:8px;border-color:#8bdcffe6;color:#fff;outline:none}.start-menu button:not(:disabled):hover i,.start-menu button:focus-visible i{transform:translate(6px)}.planet-customizer{position:absolute;inset:0;z-index:3;display:flex;align-items:center;padding-left:7.5%;background:linear-gradient(90deg,rgba(3,7,20,.72) 0%,rgba(3,7,20,.18) 43%,transparent 66%);transition:opacity .55s ease,visibility .55s ease}.planet-customizer--hidden{visibility:hidden;opacity:0;pointer-events:none}.planet-customizer__panel{width:clamp(240px,26vw,370px);color:#eef6ff}.planet-customizer__step{margin:0 0 10px;color:#a6caeb8c;font:500 clamp(8px,.7vw,11px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.2em}.planet-customizer h2{margin:0 0 clamp(24px,3vw,42px);font:600 clamp(24px,2.5vw,38px) / 1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em}.planet-customizer__field{margin-bottom:clamp(18px,2vw,28px)}.planet-customizer__field>label,.planet-customizer__range-label label{display:block;margin-bottom:9px;color:#d3e5f7ad;font:500 clamp(10px,.85vw,13px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.08em}.planet-customizer__color{display:flex;align-items:center;gap:13px;padding-bottom:9px;border-bottom:1px solid rgba(180,211,247,.24)}.planet-customizer__color input{width:36px;height:25px;padding:0;border:1px solid rgba(218,237,255,.55);border-radius:5px;background:transparent;cursor:pointer}.planet-customizer__color input::-webkit-color-swatch-wrapper{padding:2px}.planet-customizer__color input::-webkit-color-swatch{border:0;border-radius:2px}.planet-customizer__color span,.planet-customizer__range-label span{color:#daeafa7a;font:500 clamp(9px,.75vw,11px) / 1.2 monospace;letter-spacing:.08em}.planet-customizer__range-label{display:flex;align-items:center;justify-content:space-between}.planet-customizer__range-label label{margin:0}.planet-customizer input[type=range]{width:100%;height:3px;margin:15px 0 0;appearance:none;border-radius:999px;background:#b8d5f040;cursor:pointer}.planet-customizer input[type=range]::-webkit-slider-thumb{width:14px;height:14px;appearance:none;border:2px solid #dff4ff;border-radius:50%;background:#5ebce9;box-shadow:0 0 10px #5ebce980}.planet-customizer button{display:flex;width:100%;align-items:center;padding:14px 2px;border:0;border-bottom:1px solid rgba(139,220,255,.65);color:#f0f8ff;background:transparent;font:500 clamp(12px,1vw,15px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.09em;cursor:pointer;transition:padding-left .2s ease,border-color .2s ease}.planet-customizer button i{margin-left:auto;font-style:normal;transition:transform .2s ease}.planet-customizer button:hover,.planet-customizer button:focus-visible{padding-left:8px;border-color:#b8efff;outline:none}.planet-customizer button:hover i,.planet-customizer button:focus-visible i{transform:translate(6px)}.planet-dialogue{position:relative;min-width:11.875em;padding:1.125em 1.5em 1.25em;border:1px solid rgba(165,211,241,.45);border-radius:1.125em;color:#122033;background:#f4fafff5;box-shadow:0 12px 36px #01091961,0 0 30px #5fbcff1f;font:600 16px/1.45 Arial,Helvetica,sans-serif;letter-spacing:-.02em;text-align:center;white-space:nowrap;pointer-events:none;animation:dialogue-in .34s cubic-bezier(.22,1,.36,1) both}.planet-dialogue:before{content:"";position:absolute;left:-.6875em;bottom:.8125em;width:1.375em;height:1.375em;background:#f4fafff5;clip-path:polygon(100% 0,100% 100%,0 100%);transform:rotate(12deg)}.planet-dialogue i{position:absolute;right:.8125em;bottom:.5em;width:0;height:0;border-top:.3125em solid #47708e;border-right:.25em solid transparent;border-left:.25em solid transparent;animation:dialogue-next .9s ease-in-out infinite}.enemy-counter{position:absolute;z-index:5;top:clamp(12px,5%,48px);left:clamp(12px,4%,48px);display:flex;align-items:baseline;gap:8px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.9);pointer-events:none}.enemy-counter span,.enemy-counter strong{font:700 22px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em}.enemy-counter span{color:#dcf0ffd1}.enemy-counter strong{color:#fff}.result-screen{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:flex-end;padding-right:9%;pointer-events:none}.result-screen__panel{width:clamp(240px,27vw,390px);color:#eef6ff;pointer-events:auto;animation:result-screen-in .7s .15s cubic-bezier(.22,1,.36,1) both}.result-screen__eyebrow{margin:0 0 8px;color:#a6caeb8c;font:500 clamp(9px,.75vw,12px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.24em}.result-screen h2{margin:0 0 clamp(14px,1.4vw,22px);color:#f4f8ff;font:600 clamp(24px,2.5vw,38px) / 1.1 Arial,Helvetica,sans-serif;letter-spacing:-.035em}.result-screen__total{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(13px,1.3vw,20px);padding:0 2px clamp(13px,1.3vw,20px);border-bottom:1px solid rgba(139,220,255,.46)}.result-screen__total span{color:#dcf0ffdb;font:700 clamp(18px,1.7vw,26px) / 1 Arial,Helvetica,sans-serif;letter-spacing:.14em}.result-screen__total strong{color:#fff;font:700 clamp(46px,5.2vw,78px) / .86 Arial,Helvetica,sans-serif;letter-spacing:-.04em;text-shadow:0 4px 28px rgba(77,169,255,.38)}.result-screen__stats{margin:0 0 clamp(20px,2vw,30px)}.result-screen__stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:clamp(7px,.7vw,11px) 2px;border-bottom:1px solid rgba(180,211,247,.18)}.result-screen__stats dt{color:#dcf0ffc2;font:500 clamp(11px,1vw,15px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.06em}.result-screen__stats dd{min-width:3ch;margin:0;color:#fff;font:700 clamp(16px,1.5vw,23px) / 1 Arial,Helvetica,sans-serif;letter-spacing:.02em;text-align:right;text-shadow:0 4px 24px rgba(77,169,255,.3)}.result-screen button{display:flex;width:100%;align-items:center;padding:14px 2px;border:0;border-bottom:1px solid rgba(139,220,255,.65);color:#f0f8ff;background:transparent;font:500 clamp(13px,1.1vw,17px) / 1.2 Arial,Helvetica,sans-serif;letter-spacing:.1em;cursor:pointer;transition:padding-left .2s ease,border-color .2s ease}.result-screen button i{margin-left:auto;font-style:normal;font-size:1.35em;transition:transform .2s ease}.result-screen button:hover,.result-screen button:focus-visible{padding-left:8px;border-color:#b8efff;outline:none}.result-screen button:hover i,.result-screen button:focus-visible i{transform:translate(6px)}.control-guide{position:absolute;z-index:3;top:14%;left:50%;color:#fff;font:400 clamp(13px,1.2vw,18px) / 1.5 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.8),0 0 20px rgba(102,184,255,.3);pointer-events:none;animation:control-guide 3.8s ease both}.control-guide p{margin:3px 0}.control-guide strong{font-weight:700;letter-spacing:.1em}@container game-frame (max-height: 460px){.responsive-ui{zoom:.76}}@container game-frame (max-height: 320px){.responsive-ui{zoom:.56}.control-guide{top:10%}}@container game-frame (max-height: 230px){.responsive-ui{zoom:.43}.control-guide{top:8%}}@keyframes dialogue-in{0%{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dialogue-next{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(3px);opacity:1}}@keyframes control-guide{0%{opacity:0;transform:translate(-50%,8px)}12%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-5px)}}@keyframes result-screen-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}
