/* 회원 화면(/account) 보완 2026-09-29 — 독립검수 round00 B5·상태일관성 대응.
   범위: 헤더를 본 사이트 상단바(심볼+A 워드마크+태그, 폭·높이·색)와 통일, 소셜 로그인 버튼을 공급자 공식 규격으로,
   본문·동의 설명 읽기성. JS·문구·disabled·이벤트는 건드리지 않고 CSS 만으로 표현한다.
   공급자 자산·규정 출처: /assets/provider/README.md */

/* ---------- 1. 상단바: 본 사이트 .topbar/.top-inner/.logo 와 같은 수치 ---------- */
.design-account .account-topbar{height:84px;background:#fffdf9;border:0;box-shadow:none;position:relative;z-index:2}
.design-account .account-top-inner{max-width:1400px;margin:auto;padding:0 32px;height:100%;display:flex;align-items:center;gap:14px;min-width:0}
.design-account .account-logo{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;color:inherit;text-decoration:none}
.design-account .account-logo:focus-visible{outline:3px solid #94580B;outline-offset:3px;border-radius:6px}
.design-account .brand-symbol{display:block;width:32px;height:32px;object-fit:contain;mix-blend-mode:multiply}
.design-account .brand-wordmark{position:relative;display:block;width:112px;height:48px;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}
.design-account .brand-wordmark-image{position:absolute;width:164px;height:auto;max-width:none;left:-26px;top:-17px}
.design-account .account-logo-tag{align-self:center;margin:0;padding:0 0 0 16px;border-left:1px solid #d9cfbe;font-size:15px;line-height:22px;font-weight:500;letter-spacing:-.2px;color:#5c5548;white-space:nowrap} /* /notice .logo-tag(header-fix-20260929.css)와 동일 규격 */
.design-account .account-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}
.design-account .account-top-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #EAE0D0;border-radius:10px;background:#fff;color:#2C2619;font-size:14px;font-weight:600;letter-spacing:-.2px;white-space:nowrap;text-decoration:none}
.design-account .account-top-link::before{content:"←";font-weight:500;color:#7A4909;margin-right:6px}
.design-account .account-top-link:hover{border-color:#d9cdb9;background:#fcf8f2}
.design-account .account-top-link:focus-visible{outline:3px solid #94580B;outline-offset:3px}
@media(max-width:1279px){
 .design-account .account-top-inner{padding:0 28px;max-width:1100px}
}
@media(max-width:1023px){
 .design-account .account-logo-tag{display:none} /* /notice 와 같이 1024px 부터 표시 */
}
@media(max-width:899px){
 .design-account .account-topbar{height:70px}
 .design-account .account-top-inner{max-width:780px;padding:0 22px;gap:24px}
}
@media(max-width:599px){.design-account .account-topbar{height:64px}.design-account .account-top-inner{padding:0 16px}}
@media(max-width:540px){
 .design-account .account-top-inner{gap:20px}
 .design-account .account-logo{gap:5px}
 .design-account .brand-symbol{width:25px;height:25px}
 .design-account .brand-wordmark{width:96px;height:42px}
 .design-account .brand-wordmark-image{width:140px;left:-22px;top:-14px}
}
@media(max-width:400px){.design-account .brand-symbol{width:22px;height:22px}.design-account .account-top-link-tail{display:none}.design-account .account-top-link{padding:0 12px}}

/* ---------- 2. 본문 읽기성 ---------- */
.design-account .member-main p,.design-account .member-main label,.design-account .member-main legend,.design-account .member-main li{word-break:keep-all;overflow-wrap:anywhere}
.design-account .member-main{max-width:820px;margin:44px auto;padding:0 24px 64px}
.design-account .member-main>h1{font-size:38px;line-height:1.35;letter-spacing:-1px;color:#2C2619}
.design-account .member-main>p:not(.member-kicker):not(#message):not(.hint){font-size:16px;line-height:1.75;color:#4a4034;max-width:60ch}
.design-account .member-main .hint,.design-account #provider-status,.design-account #session-label,.design-account #mail-status,.design-account #saved-status,.design-account fieldset p,.design-account details p{font-size:14px;line-height:1.75;color:#5c5140;max-width:66ch}
.design-account #login-panel>p:first-of-type,.design-account #member-panel>p{font-size:15px;line-height:1.7;color:#4a4034}
.design-account #login-panel h2,.design-account #member-panel h2,.design-account #unsubscribe-panel h2{font-size:22px;letter-spacing:-.4px;color:#2C2619}
.design-account #member-panel h3{font-size:17px;margin:26px 0 8px;color:#2C2619}
.design-account form>label,.design-account fieldset>label:not(.check){font-size:15px;color:#2C2619}
.design-account .check{font-size:15px;line-height:1.7;color:#302b24;align-items:flex-start}
.design-account .check input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:#94580B}
.design-account #login-panel .hint{margin:18px 0 0}
.design-account #provider-status{max-width:none}
.design-account #login-panel>a{font-weight:600;margin-top:6px}
.design-account #message:not(:empty){font-size:15px;line-height:1.7}
.design-account .notification-actions{margin:18px 0 8px}

/* ---------- 3. 소셜 로그인 버튼: 공급자 공식 규격 (문구는 JS 가 갱신, 심볼은 ::before 로 유지) ---------- */
.design-account .providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 4px}
body.design-account #login-panel .providers button,.design-account .providers button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;height:52px;padding:0 14px;border-radius:12px;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.2px;white-space:nowrap;cursor:pointer;transition:filter .15s,background .15s}
.design-account .providers button::before{content:"";flex:none;display:block;width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:contain}
.design-account .providers button:hover:not(:disabled){filter:brightness(.96)}
.design-account .providers button:focus-visible{outline:3px solid #94580B;outline-offset:3px}
.design-account #login-panel .providers button:disabled,.design-account .providers button:disabled{opacity:.5;cursor:not-allowed;filter:none}
/* 카카오: 컨테이너 #FEE500 · 심볼 #000 · 레이블 #000 85% · radius 12 · 심볼-레이블 8px */
.design-account #login-panel .providers button[data-provider=kakao]{background:#FEE500;border:1px solid #FEE500;color:rgba(0,0,0,.85)}
.design-account #login-panel .providers button[data-provider=kakao]::before{background-image:url(/assets/provider/kakao-symbol.svg)}
/* 네이버: 배경 #03A94D · 흰 레이블 · 공식 아이콘(48px 원본, N 18px 영역만 표시) · 간격 8px */
/* 네이버 라벨: 지정색 #03A94D 위 흰 글자는 3.09:1 → 활성(짧은 "네이버로 계속")은 19px/700 = WCAG 큰 텍스트(≥14pt bold) 3:1 충족.
   비활성 긴 문구("네이버 · 연결 준비 중")는 14px — 비활성 컨트롤은 대비 기준 예외. 문구·disabled 는 JS 그대로. */
/* 네이버(round03): 공식 흰 변형 `NAVER_login_Light_KR_white_*` — 채우기 #FFFFFF · 테두리 1px #D9D9D9 · N #03A94D 18px · 레이블 #000000 (자산 픽셀 실측).
   녹색 변형의 흰 라벨(3.09:1)이 WCAG AA 일반 텍스트 기준 미달이라 전환. 검정 라벨/흰 배경 21:1. 아이콘은 공식 흰 원형 아이콘 48px 원본에서 N 18px 영역만 표시 · 간격 8px.
   통일 기준은 높이 52px·가운데 정렬·컨테이너. 라벨은 공급자 규정 우선 — 카카오/네이버 15px/600, 구글 14px/500(가이드 Roboto Medium 14/20) */
body.design-account #login-panel .providers button[data-provider=naver]{background:#fff;border:1px solid #D9D9D9;color:#000;border-radius:8px;font-size:15px;font-weight:600}
body.design-account #login-panel .providers button[data-provider=naver]:hover:not(:disabled){background:#f6f6f6;filter:none}
.design-account #login-panel .providers button[data-provider=naver]::before{background-image:url(/assets/provider/naver-login-icon-white-h48.png);background-size:48px 48px}
/* 구글: 채우기 #fff · 획 #747775 1px · 글꼴 #1F1F1F Medium 14/20 · G 20px 표준색 · 간격 10px · radius 4 */
/* 구글: member.css 의 `#login-panel button`(1,0,1)·본 파일 기본 규칙(1,2,1)보다 높은 (1,3,2) 로 고정해 로드 순서와 무관하게 14/500/4px 적용 */
body.design-account #login-panel .providers button[data-provider=google]{background:#fff;border:1px solid #747775;color:#1F1F1F;font-family:Roboto,Pretendard,sans-serif;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;gap:10px;border-radius:4px}
.design-account #login-panel .providers button[data-provider=google]:hover:not(:disabled){background:#f2f2f2;filter:none}
.design-account #login-panel .providers button[data-provider=google]::before{width:20px;height:20px;background-image:url(/assets/provider/google-g-logo.png)}
@media(max-width:899px){.design-account .providers{grid-template-columns:1fr}}

/* ---------- 4. 모바일 ---------- */
@media(max-width:599px){
 .design-account .member-main{margin-top:28px;padding:0 20px 48px}
 .design-account .member-main>h1{font-size:28px!important;line-height:1.35}
 .design-account .member-main>p:not(.member-kicker):not(#message):not(.hint){font-size:15px}
 .design-account #login-panel,.design-account #member-panel{padding:22px 18px;border-radius:16px}
 .design-account .editorial-account-art{width:96px;height:112px;margin:0 0 12px 12px}
}
@media(max-width:360px){
 .design-account .member-main{padding:0 16px 40px}
 .design-account #login-panel,.design-account #member-panel{padding:20px 14px}
 .design-account .providers button{padding:0 10px;font-size:14px}
 .design-account .editorial-account-art{width:80px;height:96px}
}

/* ---------- 5. 가입 전환 UX (commercial-20260929): 로그인 전/후 히어로, 진행 단계, 최근 로그인, 복귀 ---------- */
.design-account .account-hero{display:none}
.design-account.state-login .account-hero-login,.design-account:not(.state-member) .account-hero-login{display:block}
.design-account.state-member .account-hero-member{display:block}
.design-account.state-member .account-hero-login{display:none}
.design-account .account-hero-login h1{max-width:620px}
.design-account #login-panel .login-lead{font-size:15px;line-height:1.7;color:#4a4034;margin:6px 0 4px}
.design-account #login-panel .providers{margin-top:16px}
.design-account #login-panel #provider-status{border-top:0;padding-top:4px;margin:2px 0 0}
.design-account .signup-steps{list-style:none;counter-reset:step;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.design-account .signup-steps li{counter-increment:step;position:relative;padding:14px 14px 14px 46px;border:1px solid #ece5d9;border-radius:12px;background:#fcfaf6;font-size:14px;line-height:1.6;color:#4a4034}
.design-account .signup-steps li::before{content:counter(step);position:absolute;left:14px;top:14px;width:24px;height:24px;border-radius:50%;background:#94580B;color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}
.design-account .signup-steps b{display:block;color:#2C2619;font-weight:700;margin-bottom:2px}
.design-account .signup-steps span{display:block;color:#5c5140}
.design-account .returning-note{margin:14px 0 0;padding:12px 14px;border-left:3px solid #94580B;background:#f7eddc;border-radius:0 10px 10px 0;font-size:14px;line-height:1.7;color:#4a3a28}
.design-account .returning-note b{color:#713e09;margin-right:4px}
.design-account #login-panel .hint{margin-top:16px}
/* 최근 로그인 배지: 문구는 JS 가 갱신하므로 속성 기반 ::after */
.design-account #login-panel .providers button[data-last]::after{content:"최근 로그인";position:absolute;top:-10px;right:10px;padding:2px 8px;border-radius:999px;background:#2C2619;color:#fff;font-size:11px;font-weight:600;letter-spacing:0;line-height:1.5}
.design-account #login-panel .providers button[data-last]:disabled::after{display:none}
/* 회원 패널: 복귀 · 알림 3단계 */
.design-account .member-return{margin:14px 0 4px;padding:14px 16px;border:1px solid #ece5d9;border-radius:12px;background:#fcfaf6}
.design-account .member-return-note{font-size:14px;line-height:1.7;color:#4a4034;margin:0 0 6px}
.design-account .member-return-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-weight:600;color:#7A4909}
.design-account .alert-steps{list-style:none;margin:18px 0 6px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.design-account .alert-steps li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid #e3dccf;background:#fff;font-size:14px;font-weight:600;color:#6d6047}
.design-account .alert-steps li b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ece5d9;color:#6d6047;font-size:12px}
.design-account .alert-steps li.current{border-color:#94580B;color:#2C2619;background:#fbf1e2}
.design-account .alert-steps li.current b{background:#94580B;color:#fff}
.design-account .alert-steps li.done{color:#2C2619}
.design-account .alert-steps li.done b{background:#2C2619;color:#fff}
@media(max-width:899px){.design-account .signup-steps{grid-template-columns:1fr;gap:8px}.design-account .signup-steps li{padding:12px 12px 12px 44px}}
@media(max-width:599px){
 .design-account .account-hero-login h1{font-size:27px!important;max-width:none}
 .design-account .account-hero-login p{font-size:15px}
 .design-account .editorial-account-art{width:84px;height:100px}
 .design-account #login-panel h2{font-size:20px}
}
@media(max-width:360px){.design-account .member-main{margin-top:14px}.design-account .editorial-account-art{width:64px;height:80px;margin:0 0 8px 10px}.design-account .account-hero-login h1{font-size:24px!important;margin:8px 0 10px}.design-account .account-hero-login p{font-size:14px}.design-account #login-panel{margin-top:16px}.design-account #login-panel h2{font-size:19px;margin-bottom:6px}.design-account #login-panel .login-lead{margin-top:2px}.design-account #login-panel .providers{margin-top:12px;gap:10px}}
/* 히어로가 div 안으로 들어가면서 기존 `.member-main>h1/p` 규칙이 닿지 않는 부분 보완 */
.design-account .account-hero h1{font-size:38px;line-height:1.35;letter-spacing:-1px;color:#2C2619;margin:14px 0 18px;max-width:600px}
.design-account .account-hero p:not(.member-kicker){font-size:16px;line-height:1.75;color:#4a4034;max-width:60ch;margin:0}
.design-account .account-hero .member-kicker{margin:0}
@media(max-width:599px){.design-account .account-hero h1{font-size:28px;margin:10px 0 12px}.design-account .account-hero p:not(.member-kicker){font-size:15px}}

/* ---------- 6. round02(commercial): 간결한 첫 화면, 접힌 진행 순서, 취소·거부 안내 ---------- */
.design-account .account-hero-login p:not(.member-kicker){max-width:52ch}
.design-account.state-login #login-panel,.design-account:not(.state-member) #login-panel{margin-top:22px}
.design-account #login-panel h2{margin-bottom:10px}
.design-account #login-panel .providers{margin-top:12px}
.design-account .auth-note{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fbf1e2;border:1px solid #e7d3b1;color:#4a3a28;font-size:14px;line-height:1.7}
.design-account .signup-more{margin:14px 0 0;border:1px solid #ece5d9;border-radius:12px;background:#fcfaf6;padding:0 14px}
.design-account .signup-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:600;color:#5c5140;list-style:none}
.design-account .signup-more summary::-webkit-details-marker{display:none}
.design-account .signup-more summary::before{content:"▸";margin-right:8px;color:#94580B}
.design-account .signup-more[open] summary::before{content:"▾"}
.design-account .signup-more .signup-steps{margin:2px 0 14px}
.design-account .signup-more .returning-note{margin:0 0 14px}
@media(max-width:599px){
 .design-account.state-login .member-main,.design-account:not(.state-member) .member-main{margin-top:20px}
 .design-account .account-hero-login h1{margin:8px 0 10px}
 .design-account .account-hero-login p:not(.member-kicker){font-size:14px;line-height:1.65}
 .design-account.state-login #login-panel,.design-account:not(.state-member) #login-panel{margin-top:16px;padding-top:18px}
 .design-account #login-panel h2{font-size:19px;margin-bottom:6px}
 .design-account .editorial-account-art{width:76px;height:92px;margin:0 0 8px 10px}
}

/* ---------- 7. round03: 가입 개방 상태에 따른 안내 문구 (JS 가 body[data-reg] 를 open/closed 로 표시, 모르면 unknown) ---------- */
.design-account .lead-open,.design-account .lead-closed{display:none}
.design-account[data-reg=open] .lead-open,.design-account[data-reg=closed] .lead-closed{display:inline}
.design-account[data-reg=open] .lead-unknown,.design-account[data-reg=closed] .lead-unknown{display:none}

/* ---------- 8. round04: 기본 글자 16/본문 14 이상, skip link, 연결 실패 표시·다시 시도 ---------- */
body.design-account{font-size:16px}
.design-account .member-main label span{font-size:14px}
.design-account .member-main p,.design-account .member-main li,.design-account .member-main label,.design-account .member-main summary,.design-account .member-main legend{font-size:max(1em,14px)}
.design-account .member-main .hint,.design-account #provider-status,.design-account #session-label,.design-account #mail-status,.design-account #saved-status,.design-account fieldset p,.design-account details p,.design-account .signup-steps li,.design-account .returning-note,.design-account .auth-note,.design-account .member-return-note,.design-account .signup-more summary{font-size:14px}
.design-account .skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;background:#2C2619;color:#fff;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s}
.design-account .skip-link:focus-visible{top:12px;outline:3px solid #94580B;outline-offset:2px}
.design-account #account-main:focus{outline:none}
.design-account #provider-status.is-failed{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid #d9a06b;border-radius:10px;background:#fbf1e2;color:#5a3616}
.design-account #provider-status.is-failed .provider-status-text{flex:1 1 100%;line-height:1.7}
.design-account #provider-status.is-failed .provider-status-hint{flex:1 1 auto;color:#6d6047}
.design-account #retry-health{min-height:44px;padding:0 16px;border-radius:10px;border:1px solid #94580B;background:#94580B;color:#fff;font-weight:600;font-size:14px;cursor:pointer}
.design-account #retry-health:hover{background:#7A4909}
.design-account #retry-health:disabled{opacity:.6;cursor:wait}
/* round04: 상태·오류 메시지는 메타 글씨가 아니므로 consistency 토큰(--gh-sub 13px)보다 우선해 14px 유지. 힌트·키커는 root 토큰 그대로(메타 예외). */
body.design-account main#account-main #login-panel #provider-status,body.design-account main#account-main #login-panel #provider-status .provider-status-text,body.design-account main#account-main #login-panel #provider-status .provider-status-hint{font-size:14px;line-height:1.7}
