:root { --mira-entry-ink: #f6f9ff; --mira-entry-muted: #b8c9e7; --mira-entry-blue: #68a8ff; }

html, body { min-height: 100%; }
body.mira-entry-active { margin: 0; overflow: hidden; background: #010510; color: var(--mira-entry-ink); }

.public-entry { position: fixed; z-index: 1300; inset: 0; display: grid; place-items: center; isolation: isolate; box-sizing: border-box; min-height: 100svh; overflow: hidden; padding: clamp(12px, 2vh, 28px) clamp(18px, 4vw, 72px); background: #010510; }
.public-entry[hidden] { display: none; }
.public-entry-scene { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: #010510; }
.public-entry-environment-picture { position: absolute; inset: 0; display: block; overflow: hidden; }
.public-entry-environment { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.public-entry-atmosphere { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 43%, transparent 13%, rgba(1, 5, 17, .12) 48%, rgba(0, 2, 10, .34) 100%), linear-gradient(to bottom, rgba(1, 5, 17, .08), transparent 25%, transparent 75%, rgba(1, 5, 17, .22)); pointer-events: none; }

.public-entry-card { position: relative; z-index: 1; display: grid; justify-items: center; width: min(100%, 650px); text-align: center; }
.public-entry-wordmark { margin: 0; color: #fff; font: 700 clamp(3.35rem, 5.8vw, 5.7rem)/1 system-ui, sans-serif; letter-spacing: .19em; text-indent: .19em; text-shadow: 0 0 17px rgba(92, 174, 255, .88), 0 0 45px rgba(23, 101, 255, .56); transform: translateY(clamp(-7px, -.85vh, -4px)); }
.public-entry-portrait { position: relative; z-index: 1; width: clamp(390px, 32vw, 480px); height: clamp(470px, 64vh, 590px); margin: clamp(4px, 1vh, 12px) 0 2px; }
.public-entry-portrait::before { position: absolute; z-index: -1; inset: -21px -73px -12px; content: ""; border: 2px solid rgba(98, 198, 255, .96); border-radius: 48% 48% 43% 43% / 50% 50% 45% 45%; box-shadow: 0 0 13px rgba(77, 180, 255, .96), 0 0 42px rgba(25, 111, 255, .8), inset 0 0 30px rgba(45, 145, 255, .28); }
.public-entry-portrait::after { position: absolute; z-index: -2; inset: -58px -120px -50px; content: ""; border-radius: 50%; background: radial-gradient(ellipse, rgba(36, 136, 255, .42), rgba(8, 48, 143, .16) 42%, transparent 73%); filter: blur(12px); }
.public-entry-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; filter: drop-shadow(0 18px 22px rgba(0, 4, 18, .64)); }
.public-entry-motto { margin: 0; color: #fff; font: 600 clamp(1.1rem, 2vw, 1.55rem)/1.35 system-ui, sans-serif; letter-spacing: .012em; text-shadow: 0 2px 16px rgba(0, 4, 18, .96); transform: translateY(clamp(4px, .85vh, 7px)); }
.public-entry-welcome { margin: 4px 0 12px; color: #9ed4ff; font: 400 clamp(1rem, 1.45vw, 1.18rem)/1.45 system-ui, sans-serif; text-shadow: 0 2px 14px rgba(0, 4, 18, .96); transform: translateY(clamp(4px, .85vh, 7px)); }
.public-entry-button { min-width: 212px; min-height: 60px; padding: 14px 36px; border: 1px solid rgba(174, 222, 255, .86); border-radius: 999px; background: linear-gradient(135deg, rgba(54, 139, 255, .97), rgba(17, 64, 181, .97)); color: #fff; box-shadow: 0 0 0 1px rgba(70, 153, 255, .3), 0 12px 35px rgba(13, 96, 255, .52), inset 0 1px 13px rgba(180, 226, 255, .22); font: 700 1.16rem/1 system-ui, sans-serif; cursor: pointer; transform: translateY(clamp(4px, .85vh, 7px)); }
.public-entry-button:hover { background: linear-gradient(135deg, #68a8ff, #2f75e6); }
.public-entry-button:focus-visible, body.mira-entry-active .normal-auth-card input:focus-visible, body.mira-entry-active .normal-auth-card button:focus-visible { outline: 3px solid rgba(143, 201, 255, .92); outline-offset: 3px; }

.normal-auth-gate { position: fixed; z-index: 1310; inset: 0; display: grid; place-items: center; box-sizing: border-box; min-height: 100vh; padding: clamp(20px, 4vw, 48px); overflow: auto; background: radial-gradient(circle at 50% 35%, rgba(35, 104, 255, .28), transparent 31rem), linear-gradient(145deg, #020617 0%, #06112b 52%, #020817 100%); }
body.mira-entry-active .normal-auth-gate { backdrop-filter: blur(12px); }
body.mira-entry-active .normal-auth-card { box-sizing: border-box; width: min(440px, 100%); display: grid; gap: 18px; padding: clamp(24px, 4vw, 36px); border: 1px solid rgba(133, 187, 255, .35); border-radius: 24px; background: linear-gradient(145deg, rgba(15, 35, 73, .98), rgba(5, 16, 39, .98)); box-shadow: 0 24px 80px rgba(0, 0, 0, .56), 0 0 52px rgba(42, 113, 255, .2); }
.public-login-wordmark { margin: 0; color: #fff; font: 700 2rem/1 system-ui, sans-serif; letter-spacing: .16em; text-align: center; text-indent: .16em; }
body.mira-entry-active .normal-auth-card h1 { color: #fff; }
body.mira-entry-active .normal-auth-card p { color: var(--mira-entry-muted); }
body.mira-entry-active .normal-auth-card input { border-color: rgba(149, 192, 255, .46); background: rgba(1, 9, 25, .68); }
body.mira-entry-active .normal-auth-card button { background: linear-gradient(135deg, #4b92ff, #2264d9); }
body.mira-entry-active .normal-auth-card .normal-auth-secondary { background: transparent; border-color: rgba(149, 192, 255, .46); }
body.mira-entry-active .normal-auth-card form { display: grid; gap: 14px; }
body.mira-entry-active .normal-auth-card form[hidden], body.mira-entry-active .normal-auth-card label[hidden] { display: none; }
body.mira-entry-active .normal-auth-card label { display: grid; gap: 7px; color: #fff; font: 600 .95rem/1.35 system-ui, sans-serif; text-align: left; }
body.mira-entry-active .normal-auth-card input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 11px 12px; color: #fff; font: 1rem/1.25 system-ui, sans-serif; }
body.mira-entry-active .normal-auth-card button { min-height: 44px; color: #fff; font: 700 1rem/1 system-ui, sans-serif; cursor: pointer; }
body.mira-entry-active .normal-auth-card [role="status"] { min-height: 1.5em; margin: 0; }

@media (max-width: 1024px) { .public-entry { padding: 20px 26px; }.public-entry-portrait { width: min(54vw, 430px); height: min(59vh, 530px); }.public-entry-portrait::before { inset: -17px -55px -10px; }.public-entry-portrait::after { inset: -45px -85px -40px; } }
@media (max-width: 560px) { .public-entry { padding: 15px 18px 20px; }.public-entry-environment { object-position: center; }.public-entry-card { width: 100%; }.public-entry-wordmark { font-size: clamp(2.7rem, 13.5vw, 3.6rem); }.public-entry-portrait { width: min(74vw, 332px); height: min(48vh, 430px); margin: 5px 0 0; }.public-entry-portrait::before { inset: -12px -39px -8px; }.public-entry-portrait::after { inset: -35px -64px -27px; }.public-entry-motto { font-size: clamp(1.02rem, 4.7vw, 1.2rem); }.public-entry-welcome { margin: 4px 0 10px; }.public-entry-button { min-width: 196px; min-height: 56px; }.normal-auth-gate { padding: 16px; }body.mira-entry-active .normal-auth-card { padding: 24px 20px; border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { .public-entry *, .public-entry::before, .public-entry::after { scroll-behavior: auto; } }
