*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#050914;overflow:hidden}#game{position:fixed;inset:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;user-select:none;-webkit-user-select:none}canvas{display:block}button{font:inherit}.launch-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;font:18px/1.6 Segoe UI,Arial,sans-serif;color:#b7c9de;background:linear-gradient(145deg,#101b37,#080d24 65%,#131c39)}.launch-brand{color:#7b94ad;font-size:13px;letter-spacing:3px}.launch-screen h1{max-width:800px;margin:12px 0;color:#dffcfb;font-size:clamp(24px,5vw,48px);line-height:1.2}.launch-screen p{max-width:580px}.launch-screen button{margin-top:24px;padding:12px 38px;border:1px solid #9bfff1;background:#63eee7;color:#081326;cursor:pointer;letter-spacing:1px}.launch-screen button:focus-visible{outline:3px solid #b6a7ff;outline-offset:5px}.keyboard-setup{width:min(760px,94vw);max-height:94vh;overflow:auto;padding:32px 42px;border:1px solid #426276;border-radius:12px;background:linear-gradient(150deg,#14253a,#090f24 72%);color:#dce8f5;font:16px/1.5 Segoe UI,Arial,sans-serif;box-shadow:0 0 70px #41ded51c}.keyboard-setup::backdrop{background:#040817d9}.keyboard-eyebrow{font-size:11px;letter-spacing:3px;color:#8aa4bc}.keyboard-setup h1{margin:8px 0 12px;font-size:clamp(24px,4vw,35px);color:#edffff}.keyboard-intro{margin:0 0 18px;color:#a8bfd0}.keyboard-binding{padding:12px 18px;border-left:3px solid #63eee7;background:#17283a}.keyboard-binding span,.keyboard-binding strong,.keyboard-binding small{display:block}.keyboard-binding span{font-size:11px;letter-spacing:2px;color:#95b6c6}.keyboard-binding strong{font-size:23px;font-weight:500;color:#7cfff0}.keyboard-binding small{margin-top:2px;color:#aac1d1}.keyboard-key-actions,.keyboard-footer{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 18px}.keyboard-setup button{padding:11px 16px;border:1px solid #435c77;background:#17243a;color:#dce8f5;font-size:13px;cursor:pointer}.keyboard-setup button:hover{background:#233952}.keyboard-setup button:focus-visible,.keyboard-setup input:focus-visible{outline:2px solid #a99aff;outline-offset:4px}.keyboard-trial-label{font-size:11px;letter-spacing:2px;color:#9cbed0}.keyboard-word{font-size:48px;letter-spacing:12px;line-height:1.3;margin:8px 0}.keyboard-word span:first-child{color:#79fff0}.keyboard-word span:last-child{color:#5e738b}.keyboard-setup input{display:block;width:100%;padding:10px 12px;border:1px solid #3c526e;background:#080f20;color:#e6fffc;font:18px Segoe UI,Arial,sans-serif;caret-color:transparent}.keyboard-setup input::placeholder{font-size:14px;color:#70869c}.keyboard-status{min-height:48px;margin:12px 0;color:#e3c29f;font-size:14px}.keyboard-status.is-success{color:#76f8d9}.keyboard-footer{margin-bottom:12px}.keyboard-setup .keyboard-save{background:#63eee7;border-color:#63eee7;color:#081326}.keyboard-setup button:disabled{opacity:.4;cursor:default}.keyboard-footnote{margin:0;font-size:12px;color:#8197ad}@media(max-height:700px){.keyboard-setup{padding:18px 28px}.keyboard-intro{margin-bottom:12px}.keyboard-word{font-size:36px;margin:4px 0}.keyboard-key-actions,.keyboard-footer{margin:10px 0}.keyboard-status{min-height:35px;margin:10px 0}.keyboard-setup h1{font-size:27px}}
