/* T_TASTE_AUTH_UI_20261002 */
.account-trigger { background:transparent; border:1px solid var(--line); border-radius:24px; padding:10px 15px; color:var(--ink); min-height:42px; font-size:12px; white-space:nowrap; max-width:120px; overflow:hidden; text-overflow:ellipsis; }
.account-trigger:hover { border-color:var(--wine); color:var(--wine); }
.account-trigger.signed-in { color:var(--wine); background:#f2e8eb; border-color:#e3cdd4; }
.portal-account { gap:12px; }
#auth-dialog { padding:0; width:min(800px,calc(100% - 32px)); max-width:800px; max-height:calc(100dvh - 40px); border:1px solid #e5ded5; border-radius:22px; background:#fcfaf6; box-shadow:0 32px 110px #26111b40; color:var(--ink); }
#auth-dialog::backdrop { background:#29242580; backdrop-filter:blur(5px); }
.auth-layout { display:grid; grid-template-columns:290px 1fr; min-height:570px; }
.auth-editorial { display:flex; flex-direction:column; align-items:flex-start; padding:36px 30px; background:#763047; color:#fff5e5; gap:20px; overflow:hidden; }
.auth-editorial>img { background:#fff5e5; border-radius:14px; padding:4px; }
.auth-edition { font-size:8px; letter-spacing:2px; opacity:.65; line-height:1.8; }
.auth-editorial h2 { font-family:var(--serif); font-weight:500; font-size:30px; line-height:1.55; margin:0; letter-spacing:-1px; }
.auth-editorial p { font-size:12px; line-height:1.9; opacity:.75; margin:0; }
.auth-book { width:157px; min-height:205px; align-self:center; background:#f3e9d8; color:#734158; margin:14px 0 20px; padding:22px 18px; box-shadow:9px 11px 0 #3f17234d,inset 5px 0 0 #d7c6b0; transform:rotate(-9deg); display:flex; flex-direction:column; gap:20px; border-radius:2px 6px 6px 2px; }
.auth-book span { font-size:6px; letter-spacing:1.5px; }
.auth-book strong { font-family:var(--serif); font-size:19px; line-height:1.7; font-weight:500; }
.auth-book i { font-style:normal; font-size:36px; align-self:center; color:#aa977b; }
.auth-book small { font-size:7px; text-align:center; margin-top:auto; }
.auth-content { position:relative; padding:42px 36px 32px; min-width:0; }
.auth-close { position:absolute; top:12px; right:14px; width:36px; height:36px; border:0; background:none; font-size:26px; color:#80766e; border-radius:50%; }
.auth-close:hover { background:#eee7df; }
.auth-content>.eyebrow { font-size:8px; letter-spacing:1.6px; }
#auth-title { margin:12px 0 9px; font-family:var(--serif); font-size:26px; font-weight:600; line-height:1.45; letter-spacing:-1px; outline:none; }
.auth-subtitle { margin:0 0 26px; font-size:12px; line-height:1.8; color:var(--muted); }
.auth-field { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; margin:0 0 17px; }
.auth-field input { width:100%; height:46px; border:1px solid #ded6cd; background:#fffefd; border-radius:9px; padding:11px 13px; font:400 14px var(--sans); outline:none; }
.auth-field input:focus { border-color:var(--wine); box-shadow:0 0 0 3px #822e4710; }
.auth-password { position:relative; display:block; }
.auth-email { display:flex; gap:8px; }
.auth-email input { min-width:0; flex:1; }
.auth-email button { border:1px solid #c9b1b8; background:#f4ecee; color:var(--wine); border-radius:8px; padding:0 10px; font-size:10px; flex-shrink:0; }
.auth-password input { padding-right:58px; }
.auth-password button { position:absolute; inset:4px 4px 4px auto; border:0; padding:0 9px; background:transparent; color:var(--muted); font-size:11px; }
.auth-form-extra { display:flex; justify-content:space-between; gap:10px; align-items:center; margin:2px 0 22px; color:#9c938a; font-size:10px; }
.auth-form-extra button,.auth-switch button { border:0; padding:5px 0; background:none; font-size:inherit; color:var(--wine); }
.auth-primary { width:100%; justify-content:space-between; min-height:47px; margin-top:3px; font-size:13px; }
.auth-divider { position:relative; text-align:center; margin:24px 0 17px; border-top:1px solid var(--line); }
.auth-divider span { position:relative; top:-8px; padding:0 12px; background:#fcfaf6; font-size:10px; color:#a3988d; }
.auth-social { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.social-button { display:flex; justify-content:center; align-items:center; gap:7px; flex-wrap:wrap; min-height:48px; padding:10px; border-radius:9px; border:1px solid #e0d9ce; background:white; font-size:11px; }
.social-button.kakao { background:#fee97d; border-color:#e8d571; color:#392829; }
.social-monogram { font-weight:700; font-size:15px; }
.social-button small { font-size:9px; font-weight:400; color:#786e63; }
.social-button:disabled { cursor:default; opacity:.64; }
.auth-social-note,.auth-hint { font-size:11px; color:var(--muted); line-height:1.85; }
.auth-social-note { text-align:center; font-size:10px; }
.auth-switch { text-align:center; font-size:12px; color:var(--muted); margin:24px 0 0; }
.auth-switch button { font-weight:600; margin-left:6px; }
.auth-data { margin:18px 0; font-size:11px; line-height:1.8; color:var(--muted); }
.auth-data summary { cursor:pointer; color:#76665e; }
.auth-data p { padding:0 4px; margin:9px 0; }
.auth-consent { display:flex; gap:8px; font-size:11px; align-items:center; margin-bottom:18px; }
.auth-consent input { accent-color:var(--wine); width:16px; height:16px; flex-shrink:0; }
#auth-error { padding:12px 14px; border:1px solid #e5b4b1; background:#fff0ed; color:#893e3a; border-radius:8px; font-size:12px; line-height:1.7; margin:0 0 18px; }
.recovery-card { padding:22px; background:#efece2; border-radius:12px; display:flex; flex-direction:column; gap:20px; }
.recovery-card>span { font-size:9px; letter-spacing:1.4px; color:#85765f; }
.recovery-card code { font-size:17px; line-height:1.8; overflow-wrap:anywhere; user-select:all; color:var(--wine); }
.account-state { padding:13px; background:#edf0e7; color:#596744; border-radius:9px; font-size:12px; margin-bottom:25px; }
.account-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#738558; margin-right:5px; }
.auth-section-title { font-size:14px; margin:0; }
.auth-account-actions { display:flex; gap:10px; border-top:1px solid var(--line); padding-top:20px; }
@media(max-width:1100px) { .portal-account>.wallet-shortcut { display:none; } }
@media(max-width:700px) {
  .portal-account { gap:7px; }
  .portal-account .account-trigger { font-size:11px; padding:8px 11px; min-height:40px; max-width:85px; }
  .portal-account>.button { padding:9px 12px; }
  #auth-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:17px; }
  .auth-layout { display:block; min-height:0; }
  .auth-editorial { display:none; }
  .auth-content { padding:38px 24px 28px; }
  #auth-title { font-size:25px; }
  .auth-field input { font-size:16px; }
  .topbar-right .demo-badge { display:none; }
}
@media(max-width:365px) {
  .portal-account { gap:5px; }
  .portal-account .account-trigger { padding:8px; font-size:10px; max-width:70px; }
  .portal-account>.button { padding:9px; font-size:10px; }
  .portal-top { column-gap:8px; }
  .auth-content { padding:34px 18px 24px; }
  #auth-title { font-size:23px; }
}
