/**
 * NEW BASIC — register.css (login.css 위에 얹는 회원가입 · 이메일 인증 전용 규칙)
 * 코어 register.js / email-verify.js 가 사용하는 id·클래스(dx-status, dx-check-btn, dx-terms-*, dx-modal-*)를 새 디자인으로 스타일링합니다.
 */
/* 비주얼은 스크롤 중에도 고정 */
@media (min-width:901px){
  .lg-visual{position:sticky;top:0;height:100vh;height:100dvh}
  .lg-panel{align-items:flex-start;padding-top:96px;padding-bottom:64px}
}
.lg-box-wide{max-width:460px}
.lg-label em{font-style:normal;color:var(--lg-hot);margin-left:2px}
.lg-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lg-pwst{margin-top:-8px}

/* 중복확인 버튼 · 상태 */
.dx-check-btn{flex-shrink:0;height:32px;padding:0 13px;border:1px solid var(--lg-line);border-radius:99px;background:var(--lg-bg);color:var(--lg-text);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.dx-check-btn:hover{background:var(--lg-acid);border-color:var(--lg-acid);color:#20231f}
.dx-check-btn:disabled{opacity:.5;cursor:not-allowed}
.lg-input.is-locked{background:var(--lg-bg2);opacity:.85}
.lg-input.is-locked input{cursor:default}
.lg-input:has(input[style*="16, 185, 129"]){border-color:#2f7d32}
.lg-input:has(input[style*="239, 68, 68"]),.lg-input.is-bad{border-color:var(--lg-hot)}
.dx-status{min-height:18px;margin-top:6px;font-size:12px;font-weight:700;color:var(--lg-mute)}
.dx-status.ok,.dx-status .ok{color:#2f7d32}
html.dark .dx-status.ok,html.dark .dx-status .ok{color:#86efac}
.dx-status.err{color:var(--lg-hot)}
.dx-status.ing{color:var(--lg-mute)}
.lg-verified{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:1px 8px;border-radius:99px;background:var(--lg-acid);color:#20231f;font-size:10.5px;font-weight:800}

/* 단계 표시 */
.lg-steps{display:flex;gap:10px;margin:0 0 24px;padding:0;list-style:none}
.lg-steps li{flex:1;display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--lg-line);border-radius:4px;font-size:12.5px;font-weight:700;color:var(--lg-mute)}
.lg-steps li b,.lg-steps li i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--lg-line);font-size:11px;font-weight:800}
.lg-steps li.is-now{border-color:var(--lg-text);color:var(--lg-text)}
.lg-steps li.is-now b{background:var(--lg-acid);border-color:var(--lg-acid);color:#20231f}
.lg-steps li.is-done{color:var(--lg-text)}
.lg-steps li.is-done i{background:var(--lg-acid);border-color:var(--lg-acid);color:#20231f;font-size:10px}

/* 약관 */
.dx-terms-wrap{border:1px solid var(--lg-line);border-radius:4px;padding:6px 16px;background:var(--lg-bg2)}
.dx-terms-all{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--lg-line)}
.dx-terms-all label{font-size:14px;font-weight:800;cursor:pointer}
.dx-terms-hint{margin-left:auto;font-size:11px;color:var(--lg-mute)}
.dx-terms-item{display:flex;align-items:center;gap:11px;padding:11px 0}
.dx-terms-item+.dx-terms-item{border-top:1px solid var(--lg-line)}
.dx-terms-item label{flex:1;font-size:13px;font-weight:600;cursor:pointer}
.dx-terms-item .req{padding:1px 7px;border-radius:3px;background:#ffdfd6;color:#8f2a14;font-size:10px;font-weight:800}
.dx-terms-item .view-btn{border:0;background:none;color:var(--lg-mute);font:inherit;font-size:11.5px;text-decoration:underline;cursor:pointer;padding:0}
.dx-terms-item .view-btn:hover{color:var(--lg-text)}
.dx-chk{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--lg-ink)}
html.dark .dx-chk{accent-color:var(--lg-acid)}

/* 캡챠 블록 — 코어가 넣는 인라인 색을 덮어씁니다 */
.dx-captcha-block{margin:2px 0 !important;padding:16px !important;background:var(--lg-bg2) !important;border:1px solid var(--lg-line) !important;border-radius:4px !important}
.dx-captcha-block span{color:var(--lg-mute) !important;letter-spacing:.14em !important}
.dx-captcha-block svg{stroke:var(--lg-text) !important}
.dx-captcha-block img{border:1px solid var(--lg-line) !important;border-radius:4px !important}
.dx-captcha-block button{background:var(--lg-bg) !important;border:1px solid var(--lg-line) !important;border-radius:50% !important}
.dx-captcha-block input.dx-cap-input{background:var(--lg-bg) !important;color:var(--lg-text) !important;border:1px solid var(--lg-line) !important;border-radius:4px !important;box-shadow:none !important}
.dx-captcha-block input.dx-cap-input:focus{border-color:var(--lg-text) !important}
.dx-captcha-block p{color:var(--lg-mute) !important}

/* 약관 모달 */
.dx-modal-bg{display:none;position:fixed;inset:0;z-index:9000;align-items:center;justify-content:center;padding:16px;background:rgba(17,19,16,.62)}
.dx-modal-bg.show{display:flex}
.dx-modal{width:100%;max-width:540px;max-height:82vh;display:flex;flex-direction:column;background:var(--lg-bg);border:1px solid var(--lg-line);border-radius:4px}
.dx-modal-hd{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--lg-text)}
.dx-modal-hd h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-.04em}
.dx-modal-close{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--lg-line);border-radius:50%;background:transparent;color:var(--lg-text);cursor:pointer}
.dx-modal-close:hover{border-color:var(--lg-text)}
.dx-modal-body{padding:20px 24px;overflow-y:auto;font-size:13px;line-height:1.85;color:var(--lg-mute)}
.dx-modal-body h4{margin:18px 0 4px;font-size:13.5px;font-weight:800;color:var(--lg-text)}
.dx-modal-body h4:first-child{margin-top:0}
.dx-modal-body p{margin:0 0 8px}
.dx-modal-body ul{margin:0 0 8px;padding-left:18px}
.dx-modal-body table{width:100%;margin-bottom:10px;border-collapse:collapse;font-size:12px}
.dx-modal-body th,.dx-modal-body td{padding:7px 9px;border:1px solid var(--lg-line);text-align:left}
.dx-modal-body th{background:var(--lg-bg2);color:var(--lg-text)}
.dx-modal-ft{display:flex;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--lg-line)}
.dx-modal-ft button{height:42px;padding:0 24px;border:0;border-radius:99px;background:var(--lg-btn);color:var(--lg-btn-t);font:inherit;font-size:13px;font-weight:800;cursor:pointer}

/* 이메일 인증 */
.lg-sentto{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid var(--lg-line);border-radius:4px;background:var(--lg-bg2);font-size:13px;line-height:1.55}
.lg-sentto i{margin-top:3px;color:var(--lg-mute)}
.lg-sentto span{flex:1;min-width:0;word-break:break-all}
.lg-sentto button{flex-shrink:0;border:0;background:none;color:var(--lg-mute);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:0}
.lg-code{font-family:'DM Sans',monospace !important;font-size:22px !important;font-weight:800;letter-spacing:.42em}
.lg-timer{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12px;font-weight:700;color:var(--lg-mute)}
.lg-timer button{border:0;background:none;color:var(--lg-text);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer;padding:0}

@media (max-width:900px){
  .lg-two{grid-template-columns:1fr}
  .lg-pwst{margin-top:-8px}
  .lg-steps{margin-bottom:18px}
}
@media (max-width:420px){.lg-steps li span{font-size:11.5px}}

/* 레이아웃 보정 */
.lg-two>*{min-width:0}
.lg-input input{width:100%}
.lg-reg-page .lg-form{gap:6px}
.lg-reg-page .lg-field .dx-status{margin-top:5px;min-height:16px}
.lg-reg-page .lg-submit{margin-top:14px}
.lg-reg-page .lg-field+.lg-field,.lg-reg-page .dx-captcha-block{margin-top:6px !important}
.lg-reg-page .lg-two .lg-field{margin-top:0 !important}
