/* ============================================================
   DATASMITH 홈 — Premium Minimalism 오버레이 (v2.29.0)
   datasmith-os.css 뒤에서 로드됩니다. 레이아웃 로직은 그대로 두고
   위계·간격·터치·상태·포인트 컬러(라벤더)를 통일합니다.
   ============================================================ */
html{--os-accent:#C3B4F2} /* 라벤더 포인트 — 기존 골드 대체 */
html[data-theme="light"]{--os-accent:#6E58B8}

/* ---------- 상단바 ---------- */
#os-bar{backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}
#os-bar .os-brand{letter-spacing:.16em}
#os-bar .os-tier{border-radius:var(--ds-r-pill,999px);transition:border-color var(--ds-dur) var(--ds-ease),color var(--ds-dur) var(--ds-ease)}
#os-bar .os-ic{border-radius:var(--ds-r-sm);transition:border-color var(--ds-dur) var(--ds-ease),background-color var(--ds-dur) var(--ds-ease),transform var(--ds-dur) var(--ds-ease)}
#os-bar .os-ic:active{transform:scale(.94);background:rgba(244,243,239,.08)}
#os-bar .os-ic .dot{border-radius:var(--ds-r-pill)}

/* ---------- 대시보드 · 위젯 카드 ---------- */
#os-greet{letter-spacing:-.015em}
.os-w{border-radius:var(--ds-r-lg);box-shadow:0 1px 0 rgba(244,243,239,.04) inset;transition:border-color var(--ds-dur) var(--ds-ease),transform var(--ds-dur) var(--ds-ease),box-shadow var(--ds-dur) var(--ds-ease)}
.os-w:hover{border-color:rgba(244,243,239,.26);box-shadow:var(--ds-shadow-1)}
.os-w .wrow{border-radius:var(--ds-r-sm);transition:color var(--ds-dur) var(--ds-ease)}
.os-w .wrow:active{opacity:.75}
.os-w .wctl button{border-radius:var(--ds-r-sm);transition:border-color var(--ds-dur) var(--ds-ease)}
.os-w .wctl button:active{background:rgba(244,243,239,.08)}

/* ---------- Dock ---------- */
#os-dock{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
#os-dock .dk{border-radius:var(--ds-r-md);transition:opacity var(--ds-dur) var(--ds-ease),border-color var(--ds-dur) var(--ds-ease)}
#os-dock .dk:active{opacity:.7}

/* ---------- 바텀시트(패널) ---------- */
.os-panel.show{align-items:flex-end}
.os-sheet{border-radius:20px 20px 0 0;border-bottom:0;box-shadow:var(--ds-shadow-2);animation:ds-sheet-in var(--ds-dur) var(--ds-ease)}
@keyframes ds-sheet-in{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.os-sheet .sh-head .x,.os-sheet .sh-head .acts button{border-radius:var(--ds-r-sm);transition:border-color var(--ds-dur) var(--ds-ease),background-color var(--ds-dur) var(--ds-ease)}
.os-sheet .sh-head .x:active,.os-sheet .sh-head .acts button:active{background:rgba(244,243,239,.08)}
#os-launcher .app{border-radius:var(--ds-r-md);transition:border-color var(--ds-dur) var(--ds-ease),transform var(--ds-dur) var(--ds-ease)}
#os-launcher .app:active{transform:scale(.98)}
#os-settings .opt,.nfilter .nf{border-radius:var(--ds-r-pill)}
#os-search .srow,#os-notif .nrow{border-radius:var(--ds-r-sm)}
#os-notif .nrow .imp,#os-notif .nrow .ndel{border-radius:var(--ds-r-pill)}

/* ---------- 토스트 ---------- */
#os-toast{border-radius:var(--ds-r-pill);box-shadow:var(--ds-shadow-2);padding:12px 20px;bottom:calc(24px + env(safe-area-inset-bottom))}

/* ---------- 모바일 (지시: 모바일 퍼스트) ---------- */
@media (max-width:560px){
  #os-bar{gap:8px}
  .os-w{padding:16px 16px 14px}
  #os-widgets{gap:10px}
  #os-main{padding-bottom:120px} /* Dock 이 콘텐츠를 가리지 않게 */
  .os-sheet{max-height:88dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
/* 한 손 조작 — 위젯 행 터치 영역 보강 */
@media (max-width:560px){
  .os-w .wrow{min-height:48px}
  .nfilter .nf{min-height:40px}
  .os-sheet .sh-head .x{min-height:44px;min-width:44px}
  .os-sheet .sh-head .acts button{min-height:40px}
  #os-err button{min-height:44px}
}
