body.page-login{background:#0a0908;flex-direction:column;min-height:100svh;display:flex}body.page-login #site-header,body.page-login #site-anno,body.page-login #site-footer{display:none}.login-main{flex:1;grid-template-columns:1fr 1fr;height:100svh;display:grid}.login-photo-panel{background-color:#0c0a08;flex-direction:column;justify-content:flex-end;height:100%;min-height:100svh;display:flex;position:relative;overflow:hidden}.login-photo-img{object-fit:cover;object-position:center 20%;opacity:0;z-index:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.login-photo-img.is-visible{opacity:1}.login-photo-panel:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0a090820 0%,#0a090830 40%,#0a0908c0 75%,#0a0908f0 100%);position:absolute;inset:0}.login-photo-panel.is-loading{animation:1.8s ease-in-out infinite login-photo-pulse}@keyframes login-photo-pulse{0%,to{background-color:#0c0a08}50%{background-color:#171310}}.login-photo-content{z-index:1;color:#f4efe7;padding:56px 56px 64px;position:relative}.login-photo-content h1{letter-spacing:-.02em;margin:16px 0 20px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.8rem,4.5vw,5rem);font-weight:500;line-height:1}.login-photo-content h1 em{color:#e89c3a;font-style:italic}.login-photo-content p{color:#d8c9a8;max-width:360px;margin:0;font-size:15px;line-height:1.7}.login-top-bar{position:absolute;top:24px;left:clamp(32px,7vw,80px)}.login-back-link{letter-spacing:.1em;text-transform:uppercase;color:#a89a86;align-items:center;gap:6px;font-size:12px;text-decoration:none;transition:color .16s;display:inline-flex}.login-back-link:hover{color:#e89c3a}.login-form-panel{background:#0a0908;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,80px) clamp(32px,7vw,80px);display:flex;position:relative;overflow-y:auto}.login-logo{gap:2px;margin-bottom:36px;text-decoration:none;display:grid}.login-logo-name{color:#e89c3a;font-family:Pinyon Script,cursive;font-size:42px;line-height:1}.login-logo-sub{letter-spacing:.22em;text-transform:uppercase;color:#a89a86;font-size:9px}.auth-mode-switch{border-bottom:1px solid #f4efe71a;gap:0;margin-bottom:28px;display:flex}.auth-mode-switch .chip{color:#a89a86;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:28px;padding:12px 0;font-family:inherit;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.auth-mode-switch .chip.active{color:#e89c3a;border-bottom-color:#e89c3a}.login-mode-helper{color:#a89a86;margin:0 0 20px;font-size:13px}.login-form{gap:0;display:grid}.login-form h2{color:#f8ecd7;margin:0 0 28px;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;line-height:1}.login-form h2 em{color:#e89c3a;font-style:italic}.login-field{margin-bottom:20px}.login-field label,.login-form>label{letter-spacing:.18em;text-transform:uppercase;color:#e89c3a;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.login-field input,.login-form>input{color:#f4efe7;box-sizing:border-box;background:0 0;border:0;border-bottom:1px solid #f4efe744;outline:none;width:100%;padding:10px 0;font-family:inherit;font-size:15px;transition:border-color .12s}.login-form>label:not(:first-of-type){margin-top:20px}.login-field input:focus,.login-form>input:focus{border-bottom-color:#e89c3a}.login-field input::placeholder,.login-form>input::placeholder{color:#6a5f54}#login-submit-button{color:#0a0908;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#e89c3a;border:0;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:28px;padding:16px 20px;font-family:inherit;font-size:13px;font-weight:700;transition:background .14s;display:flex}#login-submit-button:hover{background:var(--gold-warm,#f0aa4e)}#login-submit-button:disabled{opacity:.45;cursor:not-allowed}.login-divider{letter-spacing:.16em;text-transform:uppercase;color:#a89a86;align-items:center;gap:14px;margin:24px 0;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#f4efe71a;flex:1;height:1px}#google-login-button{color:#f4efe7;cursor:pointer;background:0 0;border:1px solid #f4efe744;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .12s,background .12s;display:flex}#google-login-button:hover{background:#f4efe708;border-color:#f4efe7aa}#google-login-button:disabled{opacity:.45;cursor:not-allowed}#login-feedback{color:#d8c9a8;min-height:18px;margin-top:12px;font-size:13px}.logged-user-panel{gap:24px;display:grid}.logged-user-card{background:#0e0c0a;border:1px solid #e89c3a33;gap:8px;padding:28px 32px;display:grid}.logged-user-panel h2{color:#f8ecd7;margin:0;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:500}.logged-user-panel h2 em{color:#e89c3a;font-style:italic}.logged-user-text{color:#d8c9a8;margin:0;font-size:14px}.login-actions-row{flex-direction:column;gap:10px;display:flex}.login-actions-row .btn-primary{color:#0a0908;letter-spacing:.1em;text-transform:uppercase;text-align:center;background:#e89c3a;padding:14px 22px;font-size:12px;font-weight:700;text-decoration:none}.login-actions-row .btn-ghost{color:#f4efe7;letter-spacing:.1em;text-transform:uppercase;text-align:center;background:0 0;border:1px solid #f4efe744;padding:13px 22px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .12s,color .12s}.login-actions-row .btn-ghost:hover{color:#e89c3a;border-color:#e89c3a}.logout-link{color:#a89a86;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline;transition:color .12s}.logout-link:hover{color:#e89c3a}#login-name-field{opacity:1;max-height:80px;margin-bottom:20px;transition:max-height .24s,opacity .2s,margin .2s;overflow:hidden}#login-name-field.is-hidden{opacity:0!important;max-height:0!important;margin-bottom:0!important;display:block!important}.is-hidden{display:none!important}@media (width<=860px){.login-main{grid-template-columns:1fr;height:auto;min-height:100svh}.login-photo-panel{height:380px;min-height:380px}.login-form-panel{padding:40px 28px 56px}}@media (width<=480px){.login-photo-panel{height:280px;min-height:280px}.login-photo-content{padding:32px 24px 40px}.login-photo-content h1{font-size:2.6rem}}
