/* HAEBOM v4.11 — sign-in-first, responsive editorial authentication.
   Scope to auth-entry-screen to avoid modifying the signed-in application. */
.auth-entry-screen{
  position:fixed;inset:0;z-index:190;overflow-y:auto;display:flex;
  align-items:stretch;justify-content:center;
  padding:0!important;background:#f9f7f5!important;backdrop-filter:none!important;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.auth-entry-screen.hidden{display:none!important}
.auth-entry-screen .auth-paper{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,0.96fr);
  width:min(1120px,100%);max-height:none;min-height:100dvh;overflow:visible;
  margin:0;padding:0;border:0;border-radius:0;background:#fdfcfb;
  box-shadow:none;
}
.auth-entry-screen .auth-story{
  min-width:0;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(30px,4vw,58px);background:#eee8eb;color:#352c34;
  position:relative;overflow:hidden;
}
.auth-entry-screen .auth-story:before{
  content:"";position:absolute;width:540px;height:540px;border-radius:50%;
  right:-340px;bottom:-280px;opacity:.55;
  border:1px solid #d9ccd4;box-shadow:0 0 0 70px rgba(255,255,255,.14),0 0 0 138px rgba(255,255,255,.10);
  pointer-events:none;
}
.auth-entry-screen .auth-story-logo{font-size:29px;font-weight:850;letter-spacing:-.075em;line-height:1.1;position:relative;z-index:1}
.auth-entry-screen .auth-story-logo>span{color:#9a7189}
.auth-entry-screen .auth-story-inner{position:relative;z-index:1;margin:36px 0}
.auth-entry-screen .auth-story-label{font-size:11px;letter-spacing:.15em;font-weight:800;color:#876d7c;margin:0 0 21px}
.auth-entry-screen .auth-story h1{font-size:clamp(36px,3.9vw,53px);line-height:1.29;letter-spacing:-.065em;font-weight:780;margin:0}
.auth-entry-screen .auth-story h1 em{font-style:normal;color:#795b6d}
.auth-entry-screen .auth-story-desc{color:#736973;font-size:15px;line-height:1.8;margin:22px 0 0}
.auth-entry-screen .auth-story-ticket{
  position:relative;display:grid;grid-template-columns:94px minmax(0,1fr);width:min(382px,100%);
  margin-top:55px;min-height:136px;transform:rotate(-5deg);
  background:#fcfaf8;border:1px solid #dcd0d6;border-radius:16px;
  box-shadow:0 21px 42px rgba(82,55,72,.10),0 2px 6px rgba(82,55,72,.05);
}
.auth-entry-screen .auth-story-ticket-visual{display:grid;place-items:center;background:#ded0da;color:#856779;border-radius:15px 0 0 15px}
.auth-entry-screen .auth-story-ticket-icon{font-size:48px;line-height:1;font-weight:400}
.auth-entry-screen .auth-story-ticket-text{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px 20px}
.auth-entry-screen .auth-story-ticket-text small{font-size:9px;letter-spacing:.12em;color:#987d8d;font-weight:750}
.auth-entry-screen .auth-story-ticket-text strong{font-size:21px;letter-spacing:-.055em;color:#44313d}
.auth-entry-screen .auth-story-ticket-text span{font-size:9px;font-weight:750;letter-spacing:.10em;color:#a3939e}
.auth-entry-screen .auth-story-ticket-perf{position:absolute;top:15px;bottom:15px;left:93px;border-right:1.5px dashed #bba9b4}
.auth-entry-screen .auth-story-foot{position:relative;z-index:1;font-size:11px;line-height:1.6;color:#998996;margin:0}
.auth-entry-screen .auth-form-panel{display:flex;align-items:center;justify-content:center;padding:46px clamp(28px,5vw,75px);background:#fdfcfb;min-width:0}
.auth-entry-screen .auth-panel-content{width:100%;max-width:388px}
.auth-entry-screen .auth-branding{display:none}
.auth-entry-screen .auth-welcome{padding:0;text-align:left;margin-bottom:28px}
.auth-entry-screen .auth-welcome h3{font-size:clamp(26px,2.5vw,32px);line-height:1.3;font-weight:780;letter-spacing:-.06em;color:#322a30;margin:0}
.auth-entry-screen .auth-welcome p{font-size:13px;line-height:1.6;color:#857c82;margin:9px 0 0}
.auth-entry-screen .auth-tabs{background:#f4f1f2;border:1px solid #ede7ea;border-radius:13px;padding:4px;margin-bottom:22px;gap:2px}
.auth-entry-screen .auth-tab{height:43px;padding:0 10px;font-size:13px;font-weight:750;cursor:pointer;border-radius:9px}
.auth-entry-screen .auth-tab.active{background:#fff;box-shadow:0 2px 7px rgba(56,43,51,.075)}
.auth-entry-screen .auth-field{gap:7px;margin-bottom:16px}
.auth-entry-screen .auth-field label{font-size:12px;font-weight:750;color:#4d444b}
.auth-entry-screen .auth-field input{height:51px;min-height:51px;padding:12px 15px;background:#fff;border:1px solid #e2dce0;border-radius:12px;color:#292229;font-size:16px;box-shadow:none;outline:none;transition:border-color .15s,box-shadow .15s}
.auth-entry-screen .auth-field input::placeholder{color:#b2aab0}
.auth-entry-screen .auth-field input:focus{border-color:#937284;box-shadow:0 0 0 3px rgba(133,100,119,.12)}
.auth-entry-screen .auth-field-label-row{display:flex;align-items:center;justify-content:space-between}
.auth-entry-screen .auth-password-toggle{background:none;border:0;color:#897280;font-size:12px;font-weight:650;cursor:pointer;padding:4px}
.auth-entry-screen .remember-option{margin:2px 0 17px;grid-template-columns:18px minmax(0,1fr);gap:1px 8px;font-size:12px;color:#6a6068}
.auth-entry-screen .remember-option input{accent-color:#7d6074}
.auth-entry-screen .remember-option small{font-size:10px;color:#a498a0}
.auth-entry-screen .auth-primary{min-height:52px;border-radius:12px;background:#765b6c;color:#fff;letter-spacing:-.015em;font-size:14px;font-weight:770;cursor:pointer;transition:background .15s,transform .15s}
.auth-entry-screen .auth-primary:hover{background:#604858}
.auth-entry-screen .auth-primary:active{transform:scale(.99)}
.auth-entry-screen .auth-primary:disabled{opacity:.55;cursor:wait}
.auth-entry-screen .auth-secondary{font-size:12px;margin:7px 0 0 auto;padding:8px 1px;color:#8c7e87;cursor:pointer}
.auth-entry-screen .auth-or{margin:16px 0 17px;font-size:11px;color:#a1999e;gap:11px}
.auth-entry-screen .auth-or:before,.auth-entry-screen .auth-or:after{background:#e9e3e7}
.auth-entry-screen .auth-google{min-height:50px;border:1px solid #e2dade;border-radius:12px;background:#fff;color:#403840;font-size:13px;font-weight:750;gap:9px}
.auth-entry-screen .auth-google:hover{background:#faf7f9;border-color:#bcacb7}
.auth-entry-screen .auth-footnote{margin:21px 0 0;text-align:center;font-size:11px;color:#978d94}
.auth-entry-screen .auth-message{margin-top:16px}
.auth-entry-screen .auth-confirm{padding-top:10px}
.auth-entry-screen .auth-close{display:none!important}
/* Keep the account state private while checking a stored session. */
body.auth-checking .auth-entry-screen{background:#f9f7f5!important}
body.auth-checking .auth-entry-screen .auth-paper{visibility:hidden}
body.auth-checking .auth-entry-screen:before{
  content:"HAEBOM.";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  color:#664e60;letter-spacing:-.075em;font-size:34px;font-weight:850;
}
body.auth-screen-visible{overflow:hidden}
@media(max-width:740px){
  .auth-entry-screen .auth-paper{display:block;width:100%;min-height:100dvh}
  .auth-entry-screen .auth-story{
    background:transparent;padding:calc(36px + env(safe-area-inset-top,0px)) 24px 0;
    overflow:visible;
  }
  .auth-entry-screen .auth-story:before,.auth-entry-screen .auth-story-ticket,.auth-entry-screen .auth-story-foot,.auth-entry-screen .auth-story-label{display:none}
  .auth-entry-screen .auth-story-logo{font-size:30px}
  .auth-entry-screen .auth-story-inner{margin:31px 0 0}
  .auth-entry-screen .auth-story h1{font-size:clamp(26px,7.2vw,32px);line-height:1.32}
  .auth-entry-screen .auth-story h1 br{display:none}
  .auth-entry-screen .auth-story-desc{font-size:13px;line-height:1.65;margin:9px 0 0}
  .auth-entry-screen .auth-story-desc br{display:none}
  .auth-entry-screen .auth-form-panel{display:block;padding:29px 24px calc(28px + env(safe-area-inset-bottom,0px))}
  .auth-entry-screen .auth-panel-content{max-width:460px;margin:0 auto}
  .auth-entry-screen .auth-welcome{display:none}
  .auth-entry-screen .auth-tabs{margin-bottom:19px}
  .auth-entry-screen .auth-field{margin-bottom:13px}
  .auth-entry-screen .auth-field input{height:50px;min-height:50px}
  .auth-entry-screen .auth-footnote{margin-top:17px}
}
@media(max-width:370px){
  .auth-entry-screen .auth-story{padding:calc(22px + env(safe-area-inset-top,0px)) 20px 0}
  .auth-entry-screen .auth-story-inner{margin:22px 0 0}
  .auth-entry-screen .auth-story h1{font-size:25px}
  .auth-entry-screen .auth-form-panel{padding:23px 20px 28px}
}
@media(prefers-reduced-motion:reduce){
 .auth-entry-screen .auth-primary,.auth-entry-screen .auth-field input{transition:none}
}
