/* ══ PROCESS STUDIO · ui-grammar.css (2.206) — 모든 페이지의 마지막 스타일시트 ══
   왜: 8개 페이지를 실측하니 검정 3종·회색 7종·카드 모서리 5종(10/12/14/16/22)·카드 패딩 9종·
       본문 13px/600·제목 800 이 섞여 있었다(사용자: "카드·회색·행·열·폰트 전부 일관성 있게").
   방법: 페이지·프레임워크(premium-ui/design-v2/figma-premium/mobile-polish)마다 이름이 다른 토큰을 **한 값**으로 묶고,
       글자 토큰을 14/500·제목 16/700 으로 올린다. 선택자는 :is(#ps-grammar,…) 로 id 특이도를 빌려 페이지 규칙을 이긴다.
   규칙: 레이아웃은 건드리지 않는다. 다크(body.fmdark)는 각 페이지 !important 가 이긴다. 고치면 링크 ?v 를 올린다. */
:is(#ps-grammar,html),:is(#ps-grammar,html) body{
  /* 글자 — premium-ui.css 덮음 */
  --fs-micro:var(--t-2,11px);--fs-caption:var(--t-3,12px);--fs-sub:var(--t-4,13px);--fs-body:var(--t-5,14px);--fs-title:var(--t-6,16px);--fs-h2:18px;
  --fw-body:500;--fw-strong:600;--fw-head:700;
  /* 검정 1 · 회색 3 */
  --ink:var(--c-ink,#14161A);--txt:var(--c-ink,#14161A);--text:var(--c-ink,#14161A);--text-2:var(--c-muted,#646A73);--fig-ink:var(--c-ink,#14161A);--ps-color-text:var(--c-ink,#14161A);
  --dim:var(--c-muted,#646A73);--muted:var(--c-muted,#646A73);--gray:var(--c-muted,#646A73);--text-3:var(--c-faint,#697079);--fig-muted:var(--c-muted,#646A73);--ps-color-muted:var(--c-muted,#646A73);
  /* 3.038 — 보조 회색 #8A9099 는 흰 바탕 3.2:1 로 AA(4.5:1) 미달인데 날짜·라벨·빈 화면 문구 1,300여 곳의 기본색이었다(피드백 DS-1).
     #697079 = 흰 5.0 · #F4F5F7 4.6 · #F1F3F5 4.5. 다크는 아래 #8B929C(#121417 바탕 5.6). tests/faint-contrast-3038 가 지킨다. */
  --faint:var(--c-faint,#697079);--ghost:var(--c-faint,#697079);
  /* 선 2 */
  --line:var(--c-line,#E3E6EA);--line-soft:var(--c-line,#E3E6EA);--border:var(--c-line,#E3E6EA);--fig-line:var(--c-line,#E3E6EA);--border2:var(--c-line-3,#EEF0F3);--line2:var(--c-line-2,#D3D7DD);
  /* 면 3 — 바탕 / 카드 / 칸 */
  --bg:var(--c-bg,#F4F5F7);--frame:var(--c-bg,#F4F5F7);--fig-canvas:var(--c-bg,#F4F5F7);--ps-color-page-bg:var(--c-bg,#F4F5F7);--ps-color-app-bg:var(--c-bg,#F4F5F7);--ps-premium-bg:var(--c-bg,#F4F5F7);
  --bar:var(--c-surface,#FFFFFF);--surface:var(--c-surface,#FFFFFF);--panel:var(--c-surface,#FFFFFF);--fig-surface:var(--c-surface,#FFFFFF);
  --bar2:var(--c-surface-2,#F1F3F5);--surface-2:var(--c-surface-2,#F1F3F5);--fill:var(--c-surface-2,#F1F3F5);--panel2:var(--c-surface-2,#F1F3F5);
  /* 모서리 */
  --ps-radius-card:var(--r-card,12px);--ps-m-radius:var(--r-card,12px);--dv2-r-xl:var(--r-card,12px);--ps-radius-control:var(--r-control,10px);
  /* 치수 */
  --g-pad:18px;--g-pad-s:14px;--g-radius:var(--r-card,12px);--g-gap:12px;--g-row:44px;--g-seg:32px;--g-chip:28px;
}
@media (max-width:600px){ :is(#ps-grammar,html),:is(#ps-grammar,html) body{--g-pad:14px;--g-pad-s:12px;--g-gap:10px} }
:is(#ps-grammar,html) body{background:var(--bg)!important}
/* ══ 2.637 · 다크 토큰 한 블록(목업 mockup-coach/dark-mode.html 승인) ═══════════════════════════════════════
   다크는 검정이 아니라 조명을 낮춘 같은 방: 바탕 #121417 → 면 #1B1E23 → 칸 #23272D. 회색은 남색 쪽으로 3%. 의미색은 채도 낮추고 명도만 올린다.
   이름은 라이트와 1:1 — 페이지가 어떤 별칭을 쓰든 여기서 한 번에 바뀐다. 페이지의 body.fmdark 덧칠은 이 값과 겹치면 같은 값이 된다.
   잔디·작전판·엠블럼·사진은 내용이라 손대지 않는다. 인쇄(#printDoc)는 종이라 라이트 그대로. */
:is(#ps-grammar,html) body.fmdark{
  /* 2.642 — 다크 그림자: 라이트용 남색 반투명(rgba(16,24,40,a)) 226곳이 다크에서 안 보이거나 얼룩 → 검정, 알파 .22+1.2a(최대 .85). 라이트는 var 폴백 그대로 */
  --sh04:rgba(0,0,0,.27);--sh05:rgba(0,0,0,.28);--sh06:rgba(0,0,0,.29);--sh07:rgba(0,0,0,.3);--sh08:rgba(0,0,0,.32);--sh09:rgba(0,0,0,.33);--sh1:rgba(0,0,0,.34);--sh10:rgba(0,0,0,.34);--sh12:rgba(0,0,0,.36);--sh14:rgba(0,0,0,.39);--sh16:rgba(0,0,0,.41);--sh18:rgba(0,0,0,.44);--sh20:rgba(0,0,0,.46);--sh22:rgba(0,0,0,.48);--sh24:rgba(0,0,0,.51);--sh25:rgba(0,0,0,.52);--sh28:rgba(0,0,0,.56);--sh3:rgba(0,0,0,.58);--sh35:rgba(0,0,0,.64);--sh4:rgba(0,0,0,.7);--sh45:rgba(0,0,0,.76);

  color-scheme:dark;
  --ink:var(--c-ink);--txt:var(--c-ink);--text:var(--c-ink);--text-1:var(--c-ink);--navy:var(--c-ink);--fig-ink:var(--c-ink);--ps-color-text:var(--c-ink);--dv2-ink:var(--c-ink);   /* 2.639 — --text-1(공지 글 등) 폴백 #16213A 가 다크에서 검정이었다 */
  --text-2:var(--c-muted);--dim:var(--c-muted);--muted:var(--c-muted);--gray:var(--c-muted);--fig-muted:var(--c-muted);--ps-color-muted:var(--c-muted);--txt-dim:var(--c-muted);
  --text-3:var(--c-faint);--faint:var(--c-faint);--ghost:var(--c-faint);   /* 3.038 — 다크 보조 회색도 AA(위 라이트 주석) */
  --line:var(--c-line);--line-soft:var(--c-line);--border:var(--c-line);--fig-line:var(--c-line);--dv2-border:var(--c-line);--ps-hairline:var(--c-line);--border2:var(--c-line-3);--line2:var(--c-line-2);
  --bg:var(--c-bg);--frame:var(--c-bg);--fig-canvas:var(--c-bg);--ps-color-page-bg:var(--c-bg);--ps-color-app-bg:var(--c-bg);--ps-premium-bg:var(--c-bg);
  --bar:var(--c-surface);--surface:var(--c-surface);--panel:var(--c-surface);--fig-surface:var(--c-surface);--dv2-surface:var(--c-surface);
  --bar2:var(--c-surface-2);--surface-2:var(--c-surface-2);--fill:var(--c-surface-2);--panel2:var(--c-surface-2);--dv2-chip-bg:var(--c-surface-2);
  --ps-navy:#5070B5;--ps-navy-h:#5A77BD;--fig-blue:#5070B5;--ps-premium-blue:#5070B5;--accent:#7F98D0;--blue:#7F98D0;--act:#7F98D0;--cmd-blue:#7F98D0;--accent-dim:#A9BCE6;--accent-soft:#1B2640;--blue-soft:#1B2640;
  --green:#4CC27A;--ok:#4CC27A;--red:#E07470;--bad:#E07470;--match:#E07470;--match-soft:#3D2222;--match-line:#5A2E2C;--warm:#D9A15A;--re:#D9A15A;
  --idp:#B9A6F2;--team-c-dark:#9FB3D6;
  /* 2.981 — 뜻이 있는 색 넷(vendor/tokens.css)의 다크 값. 라이트 값 그대로면 어두운 면에서 대비가 3:1 남짓이었다(초록 3.2 · 파랑 3.7).
     위 다크 팔레트(--ok·--warm·--red·--accent)와 같은 값 — 새 색을 만들지 않는다. */
  /* 3.054 — --c-act · --c-ok · --c-warn · --c-bad 의 다크 값은 vendor/tokens.css(body.fmdark) 한 곳 */
  /* 2.957 — 흰색을 !important 로 박은 규칙 54곳(figma-premium·design-v2·mobile-polish)이 다크 색을 이겨 흰 면이 남았다
     (팀 탭 선택 = 흰 알약 위 흰 글자, 커뮤니티 머리, 보드 페이지 띠). 그 규칙들은 이제 var(--ps-w*,#fff) 를 쓴다.
     ⚠ 이 변수들은 **다크에서만** 정의한다 — 라이트는 폴백 #fff·원래 글자색 그대로라 한 픽셀도 안 바뀐다.
     surf = 면(머리·띠·팝오버) · btn = 면 위 버튼 · pill = 트랙 위 «선택됨» 알약(어떤 어두운 트랙에서도 한 단 밝게) ·
     ink/acc/bad = 같은 규칙에 박힌 어두운 글자색(#344054·#646A73·--cmd-text / #A9BCE6 / #a84440)의 다크 값. */
  --ps-wsurf:#1B1E23;--ps-wbtn:#23272D;--ps-wpill:rgba(255,255,255,.13);--ps-wink:#C9CED6;--ps-wacc:#A9BCE6;--ps-wbad:#E07470;
}
body.fmdark{color:var(--ink)}
/* 다크에서 흰 면 하드코딩이 남은 곳(2.637에서 282곳을 토큰으로 바꿨지만 인라인 style 은 남는다)을 위한 마지막 그물 */
body.fmdark :is(.card,.pn,.panel,.gp-row,.acct-pop,.gearpop){color:var(--ink)}
/* 2.638 — 컨테이너가 제 토큰을 다시 정하는 곳(콕핏 .ck)과 팀 머리줄: 실계정 다크 실측에서 «다음 할 일»·주간 칸 글자가 검정, 팀 머리줄이 흰색이었다 */
body.fmdark .ck{--ink:#F2F3F5;--gray:#A9AFB8;--faint:#8B929C;--line:#2E333A;--line2:#3A4048;--teams:#1E2A3D;--teamc:#9FB3D6;--oks:#173224;--res:#3A2D18;--injs:#3D2222;--outs:#23272D}
body.fmdark nav.teamnav,body.fmdark nav.teamnav.tn-colored{background:var(--surface)!important;color:var(--ink)}
body.fmdark .teamnav .teamname{color:var(--ink)!important}
body.fmdark .teamnav button.on{background:var(--surface-2)!important;color:var(--ink)!important}
/* 카드 한 얼굴 — 흰 면 · 헤어라인 · 12px. 패딩은 페이지 문법이 정한다
   2.317 — 예외 `.wc-card`(IDP 첫 진입 환영): 이 규칙의 `background:var(--surface)!important` 가
   파란 그라디언트를 흰색으로 덮어, **흰 배경에 흰 글씨**가 되어 인사말이 안 보였다.
   (`class="card wc-card"` 는 `[class$="-card"]` 에 걸린다.) 특이도 싸움(2,4,1) 대신
   **이 목록이 원래 그 용도**라 여기에 넣는다 — .ycard·.team-card-mini·.card-h 와 같은 자리. */
:is(#ps-grammar,html) body :is(#ps-grammar,.card,.pn,.idcard,[class$="-card"],[class*="-card "]):not(.ycard):not(.team-card-mini):not(.card-h):not(.wc-card):not(.g-clock){
  border-radius:var(--g-radius)!important;border:1px solid var(--line)!important;background:var(--surface)!important;box-shadow:none!important}
/* ══ 3.054 · 버튼 세 가지(피드백 DS-6) — 주 행동(채운 남색) · 다음 행동(흰 면 실선) · 글자 링크. 카드 안 «다음 행동»은 이 셋 중 하나만 쓴다.
   알약 모양은 상태 표시(D-2 · 배지) 전용, 점선은 «비어 있음 → 채우기» 한 가지 뜻(scout .ck-fill). 손가락 기기의 높이 하한(44px)은 위 규칙 그대로.
   다크의 주 행동은 --ps-navy(#5070B5 — 흰 글자 4.9:1). --c-act 다크 값(#7F98D0)은 글자색이라 면으로 쓰면 흰 글자가 2.9:1 이다 */
:is(#ps-grammar,html) body :is(#ps-grammar,.ps-btn-primary,.ps-btn-secondary){min-height:32px;padding:0 14px;border-radius:var(--r-1,6px);border:1px solid var(--c-line-2,#D3D7DD);background:var(--c-surface,#FFFFFF);
  font-family:inherit;font-size:var(--t-4,13px);font-weight:600;line-height:1.2;color:var(--c-ink,#14161A);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}
:is(#ps-grammar,html) body :is(#ps-grammar,.ps-btn-primary){background:var(--ps-navy,var(--c-act,#14213D));border-color:var(--ps-navy,var(--c-act,#14213D));color:#FFFFFF}
:is(#ps-grammar,html) body :is(#ps-grammar,.ps-btn-text){padding:0;border:0;background:none;font-family:inherit;font-size:var(--t-4,13px);font-weight:600;color:var(--c-act,#14213D);cursor:pointer;white-space:nowrap}
/* 제목 무게 700 — 800/900 은 숫자에만 */
h1,h2,h3,h4,.card-h .t,.hd-h h3,.ck .hd,.lab,.gvh-title,.avh-title,.nh-t{font-weight:600}
/* 터치 타깃 하한 — 3.039 32px → 44px(피드백 DS-2 · WCAG 2.5.5 / 애플 44pt). 손가락 기기(pointer:coarse)만, 마우스 화면은 그대로.
   제외: 표 안의 작은 점·별·체크(원래 목록) · 작전판 도크(#ps-command-dock — 아래 board.html 의 도크 규칙이 따로 맞춘다) */
@media (pointer:coarse){ button:not(.cdot):not(.ms-o):not(.arc-star):not(.t-idp):not(.t-grp):not(.chk){min-height:44px} }
