/* ============================================================
   DATASMITH CV — Premium Minimalism 오버레이 (v2.29.0)
   cv-responsive.css 뒤에서 로드됩니다. 폰트·기능 그대로,
   터치·위계·포커스·시트 모션을 DATASMITH 시스템에 통일합니다.
   ============================================================ */
:root{--ds-lav:#9F8BE0;--ds-lav-soft:#C3B4F2}

/* ---------- 버튼 ---------- */
.btn{min-height:48px;border-radius:var(--ds-r-md,12px);transition:filter var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1),transform var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1),opacity var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
.btn:active{transform:scale(.98);filter:brightness(.94)}
.btn--sm{min-height:42px;border-radius:10px}
.linkbtn{border-radius:8px;transition:opacity var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
.linkbtn:active{opacity:.6}

/* ---------- 입력 ---------- */
.input{min-height:var(--ds-input-h,46px);font-size:var(--ds-input-font,16px);border-radius:10px;transition:border-color var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1),box-shadow var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
.input:focus{outline:none;box-shadow:0 0 0 3px rgba(159,139,224,.25);border-color:var(--ds-lav)}
textarea.input{min-height:120px;line-height:1.7}
.field label{letter-spacing:.02em}

/* ---------- 카드 · 목록 · 배지 ---------- */
.seccard{border-radius:var(--ds-r-lg,16px)}
.itemrow{border-radius:var(--ds-r-md,12px);transition:background-color var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
.itemrow:active{background:rgba(244,243,239,.04)}
.pill{border-radius:var(--ds-r-pill,999px)}

/* ---------- 관리 사이드 내비 (드로어 내부) ---------- */
.side__nav button{border-radius:10px;transition:background-color var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1),color var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
.side__nav button.is-on{box-shadow:inset 3px 0 0 var(--ds-lav)}
.rail__nav a{border-radius:10px;transition:background-color var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}

/* ---------- 모달 → 모바일 바텀시트 ---------- */
@media (max-width:767px){
  .modal{align-items:flex-end}
  .modal .modal__card,.modal .modal__panel,.modal > div,.modal section{border-radius:20px 20px 0 0;box-shadow:var(--ds-shadow-2,0 18px 48px rgba(0,0,0,.5));animation:ds-cv-sheet-in var(--ds-dur,.22s) cubic-bezier(.25,.6,.25,1)}
}
@keyframes ds-cv-sheet-in{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
.iconbtn{border-radius:10px}
.iconbtn:active{transform:scale(.94)}

/* ---------- 인증 · 게이트 ---------- */
.auth__card,.gate__card{border-radius:18px}
