/* ─────────────────────────────────────────────────────────────
   modern.css — 이제 "기능 규칙"만 남은 파일이다 (2026-08-05 세이지 정합 수술).

   원래는 접힌 "모던 다크 개편"의 스킨 전체(다크 팔레트·다크 스윕·유리·밤하늘)가
   body.app-in 스코프로 여기 살아 있었다. 세이지 개편 때 이 파일이 반영 목록에서
   빠져, 로그인한 앱에서 구 변수(--cream·--ink·--accent·--th-*)를 쓰는 자리마다
   옛 남색·골드가 배어 나왔다 — 원장이 실기기에서 잡았다(이어서 카드 남색).
   라운드 토큰(--r-*)도 재정의해 lueur.css 눈금(8·12·18·28)을 20·26으로 뒤틀었다.

   색·팔레트·스킨은 전부 걷었다. 원본은 modern.css.bak-folded-2026-08-05 (배포 제외).
   여기 남는 것: 레이아웃 안전지대 · 모션 토큰(lueur.css 가 참조) · 세그먼트 구조 ·
   타이포 미세 조정 · 테마 진입 봉인. 색은 lueur.css / lueur-ds2.css 두 곳에서만.
   ───────────────────────────────────────────────────────────── */

/* ══ 모션 토큰 — lueur.css 인터랙션이 참조한다 ══ */
:root{
  --spring:cubic-bezier(0.175,0.885,0.32,1.275);
  --spring-soft:cubic-bezier(0.23,1,0.32,1);
  --ease:cubic-bezier(0.32,0.72,0,1);
  --dur-1:.2s; --dur-2:.34s; --dur-3:.46s;
}

/* ══ 레이아웃 토큰 — 상·하단 바에 콘텐츠가 파묻히지 않게 ══
   --bottom-nav-height 는 refreshAppNav() 가 실측해서 채운다(기기·글꼴 크기 무관).
   새 스크롤 화면을 만들면 .safe-bottom 하나만 붙이면 된다. */
:root{ --header-height:56px; --bottom-nav-height:0px;
  --safe-b:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));
  --safe-t:calc(var(--header-height) + env(safe-area-inset-top,0px)); }
.safe-bottom{padding-bottom:calc(var(--safe-b) + 20px) !important}
/* 하단 탭이 떠 있는 동안, 그 밑으로 스크롤이 숨는 대표 화면들 */
body.has-appnav .ah-scroll{padding-bottom:calc(var(--safe-b) + 24px) !important}
body.has-appnav #bookOv .bk-body{padding-bottom:calc(var(--safe-b) + 32px) !important}
body.has-appnav #chatBox.fs{padding-bottom:var(--safe-b) !important}
body.has-appnav #selfPfModal{padding-bottom:calc(var(--safe-b) + 26px) !important}
body.has-appnav #atlasOverlay{padding-bottom:var(--safe-b)}

/* ══ 세그먼트 컨트롤(HIG) — 기간별 랭킹 등. 색은 세이지 토큰으로 ══ */
body.app-in .cs-seg{display:flex;gap:2px;background:rgba(45,35,22,.05);border-radius:12px;padding:2px;margin-bottom:12px}
body.app-in .cs-segb{flex:1;background:none;border:none;color:var(--l-ink-3,#83766f);font-family:inherit;font-size:13px;font-weight:600;padding:9px 0;border-radius:12px;cursor:pointer}
body.app-in .cs-segb.on{background:var(--l-surface,#fbf9f4);color:var(--l-ink,#28241c);box-shadow:0 1px 3px rgba(45,35,22,.10)}
body.app-in .cs-line.me{background:rgba(81,101,78,.10);border-radius:12px}

/* ══ 타이포 · 터치 미세 조정 ══ */
body.app-in{letter-spacing:-0.011em;line-height:1.55}
body.app-in h1,body.app-in h2{letter-spacing:-0.026em;line-height:1.2}
body.app-in h3,body.app-in h4{letter-spacing:-0.02em;line-height:1.3}
body.app-in p,body.app-in li{line-height:1.65}
body.app-in small,body.app-in .muted,body.app-in .note{letter-spacing:0;line-height:1.5}
body.app-in *{-webkit-tap-highlight-color:transparent}
body.app-in :focus-visible{outline:2px solid var(--accent,#51654e);outline-offset:3px;border-radius:8px}

/* 학생 저장 테마 진입 봉인(테마는 접힘) */
body.app-in #spThemes{display:none !important}
