.gate-screen{position:fixed;inset:0;background-color:#0d1f2d;color:#f0ead8;display:flex;align-items:flex-start;justify-content:center;padding-top:max(64px,env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);font-family:ui-sans-serif,system-ui,sans-serif;z-index:150}.gate-screen__column{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px;gap:16px}.gate-screen__vignette{width:200px;height:200px;object-fit:contain;opacity:.9;margin-bottom:32px}.gate-screen__wordmark{font-size:36px;font-weight:600;line-height:1.1;color:#f0ead8;letter-spacing:.02em;margin:0 0 24px}.gate-screen__form{width:100%;display:flex;flex-direction:column;gap:16px}.gate-screen__input{width:100%;height:44px;padding:8px 12px;background-color:#0a1a28;border:1px solid #2a4a62;border-radius:8px;color:#f0ead8;font-size:16px;font-family:inherit;transition:border-color .15s ease;outline:none}.gate-screen__input:focus{border-color:#e8a83899}.gate-screen__input.shake{animation:gate-shake .4s cubic-bezier(.36,.07,.19,.97);border-color:#c0392b}.gate-screen__button{width:100%;min-height:44px;background-color:#e8a838;color:#0d1f2d;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .1s ease}.gate-screen__button:hover,.gate-screen__button:active{background-color:#c98d28}.gate-screen__button:disabled{opacity:.6;cursor:not-allowed}.gate-screen__error{margin:0;font-size:16px;color:#e05c4a;line-height:1.5}@keyframes gate-shake{0%{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}to{transform:translate(0)}}.boot-splash{position:fixed;inset:0;background-color:#0d1f2d;color:#f0ead8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transition:opacity .3s ease-in;z-index:150;font-family:ui-sans-serif,system-ui,sans-serif}.boot-splash--fading{opacity:0;pointer-events:none}.boot-splash__vignette{width:200px;height:200px;object-fit:contain;opacity:.9}.boot-splash__wordmark{font-size:36px;font-weight:600;line-height:1.1;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.version-overlay{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 8px);right:calc(env(safe-area-inset-right) + 8px);font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.4;color:#e8a838;opacity:.4;pointer-events:none;user-select:none;z-index:100}.dev-overlay{position:fixed;top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 8px);font-family:ui-monospace,monospace;font-size:14px;font-weight:600;line-height:1.4;color:#f0ead8;background-color:#0d1f2db3;border-radius:8px;padding:4px 8px;opacity:.5;pointer-events:none;user-select:none;z-index:100;display:flex;flex-direction:column;gap:2px}.update-toast{position:fixed;top:calc(env(safe-area-inset-top) + 16px);left:50%;transform:translate(-50%) translateY(0);max-width:340px;min-width:280px;padding:16px 24px;background-color:#1a3244;border:1px solid #2a4a62;border-radius:8px;box-shadow:0 4px 16px #0006;color:#f0ead8;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.4;display:flex;flex-direction:column;gap:4px;cursor:pointer;z-index:200;animation:update-toast-slide-in .25s ease-out}.update-toast__title{color:#f0ead8}.update-toast__cta{color:#e8a838}@keyframes update-toast-slide-in{0%{transform:translate(-50%) translateY(-100%)}to{transform:translate(-50%) translateY(0)}}.install-hint{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);transform:translate(-50%) translateY(0);max-width:340px;min-width:280px;padding:16px 24px;background-color:#1a3244;border:1px solid #2a4a62;border-radius:8px;box-shadow:0 -4px 16px #0006;color:#f0ead8;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;display:flex;flex-direction:column;gap:12px;z-index:150;animation:install-hint-slide-up .25s ease-out}.install-hint__copy{margin:0;line-height:1.5;color:#f0ead8}.install-hint__dismiss{align-self:flex-end;min-height:44px;padding:8px 16px;background:transparent;border:1px solid #2a4a62;border-radius:8px;color:#8aa4b8;font-size:14px;font-weight:600;cursor:pointer}.install-hint__dismiss:hover{background-color:#ffffff0a}@keyframes install-hint-slide-up{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}
