:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}html,body{margin:0;padding:0;width:100%;height:100%;background:#101611;overflow:hidden;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;width:var(--app-vw, 100vw);height:var(--app-vh, 100dvh);padding:0;box-sizing:border-box}canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none}.start-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding-top:max(var(--safe-top),12px);padding-right:max(var(--safe-right),12px);padding-bottom:max(var(--safe-bottom),12px);padding-left:max(var(--safe-left),12px);background:radial-gradient(circle at 30% 20%,rgba(105,149,104,.35),transparent 45%),radial-gradient(circle at 80% 80%,rgba(45,65,44,.45),transparent 50%),linear-gradient(180deg,#0d140f,#121d15);box-sizing:border-box;overflow:auto}.start-menu-card{width:min(520px,calc(var(--app-vw, 100vw) - 24px));background:#0d1710e6;border:2px solid rgba(167,220,131,.45);box-shadow:0 12px 40px #00000073;border-radius:14px;padding:30px 24px 24px;display:flex;flex-direction:column;gap:12px;max-height:calc(var(--app-vh, 100dvh) - max(var(--safe-top),12px) - max(var(--safe-bottom),12px) - 16px);overflow:auto;box-sizing:border-box}.start-menu-logo{margin:0 0 8px;text-align:center;font-family:monospace;font-size:clamp(30px,7vw,48px);line-height:1;color:#e8f6d0;text-shadow:0 2px 0 #0a0e0c}.start-menu-label{font-family:monospace;font-size:clamp(14px,3.4vw,18px);color:#d8ecb8}.start-menu-input{width:100%;box-sizing:border-box;border:2px solid rgba(169,218,143,.44);background:#080d0aeb;color:#f1f6e8;border-radius:10px;padding:12px 14px;font-family:monospace;font-size:clamp(15px,3.8vw,20px);outline:none}.start-menu-input:focus{border-color:#a8dc84}.start-menu-btn{margin-top:8px;border:0;border-radius:10px;padding:12px 14px;cursor:pointer;font-family:monospace;font-size:clamp(16px,4vw,22px);font-weight:700;color:#1c271c;background:linear-gradient(180deg,#b1e381,#89c760)}.start-menu-btn:active{transform:translateY(1px)}.start-menu-legal{margin:0;font-family:monospace;font-size:clamp(12px,3vw,16px);color:#dceacd;line-height:1.35}.legal-link-btn{border:0;background:transparent;padding:0;margin:0;color:#8ddcff;text-decoration:underline;cursor:pointer;font:inherit}.legal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:12px;background:#030805bd;box-sizing:border-box}.legal-modal-card{width:min(900px,calc(var(--app-vw, 100vw) - 20px));max-height:calc(var(--app-vh, 100dvh) - 24px);background:#0b140ef7;border:2px solid rgba(167,220,131,.45);border-radius:12px;box-shadow:0 12px 40px #00000073;display:flex;flex-direction:column;overflow:hidden}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(167,220,131,.25)}.legal-modal-title{margin:0;font-family:monospace;font-size:clamp(16px,4.4vw,26px);color:#e8f6d0}.legal-modal-close{border:0;width:34px;height:34px;border-radius:8px;background:#ffffff14;color:#f3f8ea;font-size:20px;line-height:1;cursor:pointer}.legal-modal-body{padding:14px;overflow:auto;color:#e5f1d9;font-family:monospace;font-size:clamp(13px,3.4vw,16px);line-height:1.5}.legal-modal-body p{margin:0 0 12px}.end-menu-card{align-items:center}.end-menu-line{width:100%;text-align:center;font-family:monospace;color:#e9f3df;font-size:clamp(15px,3.8vw,22px);line-height:1.25}.end-menu-id{margin-top:4px;color:#d4ecff;background:#00000061;border-radius:8px;padding:8px 10px;box-sizing:border-box}.end-menu-coffee{margin-top:10px;color:#ffe6b8}.end-menu-link{font-family:monospace;font-size:clamp(14px,3.5vw,19px);color:#8ddcff;text-decoration:underline}@media(orientation:landscape)and (max-height:540px){.start-menu-card{width:min(640px,calc(var(--app-vw, 100vw) - 24px));padding:18px 18px 16px;gap:8px;border-radius:10px}.start-menu-logo{font-size:clamp(22px,5.2vw,34px)}.start-menu-label{font-size:clamp(12px,2.6vw,15px)}.start-menu-input{padding:9px 12px;font-size:clamp(13px,2.8vw,16px)}.start-menu-btn{padding:10px 12px;font-size:clamp(14px,3vw,18px)}.end-menu-line{font-size:clamp(13px,2.7vw,16px)}.end-menu-id{padding:6px 8px}.end-menu-link{font-size:clamp(13px,2.7vw,16px)}.legal-modal-header,.legal-modal-body{padding:10px 12px}}
