/* ═══════════════════════════════════════════════════════════════════════════
   「고대비」 화면 — 전 조합원 기본 (2026-10-19 대표 결정: 시안 C 를 전원 기본으로)
   왜: 고령 조합원 «화면이 너무 하얗고 글씨가 안 보인다». 원인은 어두움 부족이 아니라 작고 연한 회색 보조글씨·
       흰 카드와 바탕의 경계 없음이었다(분석 /root/records/markone_readability_20261018/proposal.md).
   방식: app.css·home.css·각 화면 <style> 위에 덮어쓰는 파일. _layout.php mk_shell_open() 이 맨 마지막에 싣는다.
         되돌리기 = 그 <link> 한 줄 삭제. 로그인(include/view/login.php)·카드뉴스(card.php)는 자체 화면이라 싣지 않는다.
   ★화면 안 <style> 은 이 파일보다 뒤에 오므로, 거기 있는 규칙을 덮을 땐 `:root ` 를 앞에 붙여 특정도를 올린다.
   ───────────────────────────────────────────────────────────────────────────
   원칙: 흰 배경을 거의 그대로 두고(카드 #FFFFFF 유지, 바탕만 #E9ECF0 로 내려 경계 확보),
         글씨는 전부 「거의 검정」·회색 보조글씨 폐지(--muted 12:1) · 테두리 2px 진하게 · 밑줄은 본문 링크만.
         WCAG 1.4.6(7:1) 을 모든 글씨에서 넘긴다. 백내장·저시력(Legge 1985) 군에겐 B 가, 그 외엔 C 가 맞을 수 있다(추측).
   ───────────────────────────────────────────────────────────────────────────
   토큰 표 (WCAG 2.x, contrast.py 계산)
   토큰          현재      → 시안 C     on surface(#FFFFFF)  on bg(#E9ECF0)
   --bg          #F5F7FA   → #E9ECF0    (surface 와 1.19:1)
   --surface     #FFFFFF   → #FFFFFF    (그대로)
   --line        #DFE5EC   → #6B7684    4.62               3.89   (구분선·2px)
   --field-line  #8892A0   → #1F2429    15.64              13.20  (입력 테두리 2px)
   --tx          #1F2429   → #0B0E12    19.34              16.32  (순흑 #000 은 쓰지 않음)
   --tx2         #5C6672   → #1F2429    15.64              13.20
   --muted       #6B7684   → #2E3740    12.09              10.20
   --accent      #C0392B   → 글씨용 #A02A1C  7.39          6.23   (바탕용은 그대로, 흰 글씨 5.44)
   --ok          #1F6B3B   → #155029    9.50
   --warn        #8A6D2F   → #5C4518    9.05
   --navy        #16304F   → 그대로     13.38 (흰 글씨 on navy 13.38)
   브랜드 #16304F/#C0392B 유지. 공식 사이트 색 #001244/#EC6627 미사용.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --bg:#E9ECF0; --surface:#FFFFFF; --line:#6B7684; --field-line:#1F2429;
  --tx:#0B0E12; --tx2:#1F2429; --muted:#2E3740;
  --ok:#155029; --warn:#5C4518;
  --shadow:none;
}
html{color-scheme:light}
body{font-weight:500;-webkit-font-smoothing:auto}
/* 밑줄은 본문 링크만(.bd-body/.body-text/.lg-bubble 은 app.css 에 이미 있다) — 목록·메뉴에 밑줄이 깔리면 시끄럽다(대표 결정 26-10-19) */
.bd-body a,.body-text a,.lg-bubble a{text-underline-offset:2px}

/* ── 굵은 테두리 (app.css:226 .card · :315-318 입력 · :264 .btn · :392 .list · :434 table · :730 말풍선) ── */
.card{border-width:2px;box-shadow:none}
input[type=text],input[type=tel],input[type=password],input[type=search],
input[type=number],input[type=date],select,textarea{border-width:2px}
input::placeholder,textarea::placeholder{color:#4A5562;font-weight:400}   /* 너무 진하면 «이미 적혀 있다»로 보인다 */
.btn{border-width:2px;border-color:var(--tx2)}
.btn-pri,.btn-ok,.btn-danger{border-color:transparent}
.list li + li,table.tb th,table.tb td{border-color:var(--line)}
.lg-bubble{border-width:2px}
.lg-reply{border-left-width:4px;border-left-color:var(--line)}
.tabs{border-top:2px solid var(--line)}
.tabs a{color:var(--tx2)}
/* 비활성 탭도 진해져 남색 활성과 구분이 안 된다 → 활성 탭에 회색 바탕을 깐다(flex 라 밑줄은 안 그려진다) */
.tabs a[aria-current],.tab-more[data-active="1"]>summary{color:var(--navy);background:#D6DEE8;border-radius:10px}   /* 잠김 회색(#DDE1E6)과 다른 남색 틴트 */
.tab-more>summary{color:var(--tx2);font-size:12px;font-weight:800}   /* 「더보기」는 <summary> 라 .tabs a 규칙이 안 닿는다 */
.chead{background:#F4F6F8;border-bottom:2px solid var(--line)}
.bg-off{background:#DDE1E6;color:var(--tx2);box-shadow:inset 0 0 0 1px var(--line)}
.hs-card:not(.hs-attend){background:var(--surface);border:2px solid var(--line)}   /* 출석 랭킹은 남색 카드라 제외 */
.hs-card:not(.hs-attend)::before{display:none}   /* 위쪽 1px 하이라이트가 2px 테두리와 겹쳐 두 줄로 보인다 */
.hs-card:not(.hs-attend){padding-left:16px;padding-right:16px}   /* 테두리 2px(원래는 그림자 링) 만큼 안쪽 여백을 줄여 제목 줄바꿈이 원래대로 */
@media (min-width:1024px){.hs-card:not(.hs-attend){padding-left:22px;padding-right:22px}}   /* home.css 넓은 화면 24px 에서 테두리만큼 */
.hs-home{--hs-bg:var(--bg);--hs-tx:var(--tx);--hs-tx2:var(--tx2);--hs-line:var(--line)}
.hs-prow--end .hs-rt{color:var(--tx2)}

/* ── 상태색 글씨 (app.css:330 · :356 · :376-378) ── */
.help.bad,.bg-bad{color:#A02A1C}
.alert-warn{color:#7A2418}
.alert-info{color:#16304F}
.alert-ok{color:#113F21}
.lg-day{background:#D3D8DF;color:var(--tx2);border:1px solid var(--line)}
.lg-quote{background:#E9ECF0}

/* ── opacity 상태표시 — 고대비에선 흐림 대신 회색 바탕·점선 테두리로 ── */
/* 잠김은 흐림 대신 «회색 바탕 + 점선 테두리»로 — 흐림만 줄이면 진한 테두리 때문에 눌리는 버튼처럼 보인다 */
.pg .off{opacity:1;background:#DDE1E6;border:2px dashed #6B7684;color:#4A5562}
.btn:disabled,.btn[aria-disabled=true]{opacity:1;background:#DDE1E6;border:2px dashed #6B7684;color:#4A5562;box-shadow:none}
#noti_list.is-noti-off .check{opacity:.85}   /* 알림 꺼짐 표시는 위 경고 상자가 한다 — .45 면 목록 전체가 안 읽힌다 */
.sch-d.is-past{opacity:.8}
.lg-edited{opacity:1}

/* ── 보조 글씨 11~13px → 14~15px · 600 (근거 a_contrast.md §2) ── */
.cap{font-size:15px;font-weight:600}
.hs-b3d .cap{font-weight:500}   /* 홈 3D 의 .cap 은 설명 상자 — 안쪽 h2·p 는 home3d.css 가 크기를 정한다. 복합 :not() 은 구형 삼성 인터넷이 규칙째 버려서 안 쓴다 */
.sub{font-size:15px;font-weight:600}
.help{font-size:15px;font-weight:600}
.list .m{font-size:15px;font-weight:600}
.list .t{font-size:calc(17px * var(--fs));font-weight:800}
.drawer .grp{font-size:14px}
.tabs a{font-size:12px;font-weight:800}                    /* 탭바 높이 토큰 보호(app.css:50-55) — 12px 까지만 */
.lg-who{font-size:15px;font-weight:600}
.lg-meta{font-size:14px;font-weight:600}
.lg-x{font-size:14px;font-weight:600}
.lg-edited{font-size:14px}
.lg-day{font-size:14px}
.lg-reply,.lg-quote{font-size:14px}
.dm-at,.dm-tag,.dm-sub{font-size:14px;font-weight:600}
.mfoot-note{font-size:13px;word-break:keep-all}   /* AI 버튼 겹침은 .mfoot 아래 여백(150px)이 이미 막는다 */
.mfoot-addr,.mfoot-links{font-size:14px}
.mfoot-copy,.mfoot-map{font-size:14px;border:2px solid var(--tx2)}
.mfoot-fsb{border-width:2px;border-color:var(--tx2)}
.mfoot-fs .mfoot-lb{font-size:15px}
.bd-li-m{font-size:calc(15px * var(--fs));font-weight:600}
.bd-li-t b{font-weight:600}                                /* app.css:3412 읽은 글 500 → 600 */
.hs-meta{font-size:calc(15px * var(--fs));font-weight:600}
.hs-ql{font-size:calc(14.5px * var(--fs))}

/* --line 이 진해져 바탕으로 쓰면 글씨가 묻히는 두 곳(누르는·올리는 순간) */
.side a.sd-prof-edit:hover,.tabs .tab-more .sheet .ms-prof-edit:active{background:#D6DEE8}

/* 색 버튼(남색·초록·빨강)은 «처리 중» 잠금이 잦다(전송 순간 disabled) — 회색 점선 대신 원래처럼 흐림(.5)만.
   .7 로 올리면 잠긴 버튼이 눌리는 버튼처럼 보였다(1차 캡처 meeting.php) */
.btn-pri:disabled,.btn-pri[aria-disabled=true]{background:var(--navy)}
.btn-ok:disabled,.btn-ok[aria-disabled=true]{background:var(--ok)}
.btn-danger:disabled,.btn-danger[aria-disabled=true]{background:var(--accent)}
.btn-pri:disabled,.btn-ok:disabled,.btn-danger:disabled,
.btn-pri[aria-disabled=true],.btn-ok[aria-disabled=true],.btn-danger[aria-disabled=true]{border-style:solid;border-color:transparent;color:#fff;opacity:.5}

/* ── 강조(.strong·b)가 보조글씨 600 에 묻히지 않게 ── */
.cap .strong,.sub .strong,.help .strong,.help b{font-weight:800}

/* ── 라운지 ── */
.lg-meta{column-gap:8px}
/* ★[2026-10-25 대표 지적 「답장이 다음 줄로 내려온다」] 글자를 14px 로 키운 이 파일에서는 버튼 사이가
     column-gap 8 + app.css 의 margin-left 10 = 18px 로 이중으로 벌어져, 운영진 화면(가리기 포함)은 412px 폰에서도 「답장」이 넘쳤다.
     → margin 을 빼고 column-gap 8 만 남긴다. 히트영역(::after 좌우 -4px)은 패딩 4+4+간격 8 이라 여전히 겹치지 않는다. */
.lg-meta .lg-x + .lg-x{margin-left:0}
/* ☆360px 이하 폰의 운영진 화면(가리기까지 6개)은 이것으로도 한 줄에 안 들어간다(14px 글자 폭 자체가 모자람) — 일반 조합원(가리기 없음)은 「답장」이 가리기 자리에 들어가므로 360px 에서 한 줄(폭 계산 추정, 일반 계정 실화면 미확인). */
.lg-unread{color:#7A2418;font-size:14px}
.lg-unread::before,.lg-unread::after{opacity:1;height:2px;background:#7A2418}
:root .lg-mynick{font-size:14px;font-weight:600}   /* lounge.php <style> */

/* ── 개별 화면(app.css) ── */
.sd-prof-sub{font-size:13px;font-weight:600}                    /* PC 왼쪽 사이드바 프로필 동·닉네임 */
.vd-m{font-size:calc(14px * var(--fs));font-weight:600}      /* 동영상 날짜 */
.at-sum .b.hi{border:2px solid #A02A1C}                      /* 출석·퀴즈 「내 순위」 칸 — 혼자 연분홍 테두리였다 */
.at-sum .b.hi .v{color:#7A2418}   /* 연분홍 바탕 위라 #A02A1C 로는 7:1 미달 */

/* ── 홈 3D (home3d.css 는 자체 색 변수를 쓴다) ── */
.hs-b3d .cap p{padding-right:72px}   /* 굵기 500 이면 설명문이 한 줄에 들어가 오른쪽 끝이 AI 버튼에 가린다 */
.hs-b3d .chip b{color:var(--tx2);font-size:13px}
.hs-b3d .b3d-note{color:var(--tx2);font-size:calc(14px * var(--fs,1))}
.hs-b3d .b3d-td-k{color:var(--tx2);font-size:calc(14px * var(--fs,1))}
.hs-b3d .b3d-td--need .b3d-td-v{color:#A02A1C}

/* ── 화면 안 <style> 을 덮는 것(:root 로 특정도 올림) ──
   ★가입 동의·가입 완료(join_agree/join_finish)·_soon.php 화면은 자체 <head> 라 이 파일이 안 실린다(로그인·카드뉴스와 같다) */
:root .px-sub{color:var(--tx2)}                                                     /* proxy_check.php */
:root .px-pick span{color:var(--tx2);font-size:15px;font-weight:600}
:root .mtg-ver{font-size:14px;font-weight:600;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px}   /* meeting.php — float 이면 「시행」만 다음 줄로 떨어진다 */
:root .mtg-ver .hint{float:none;order:2;white-space:nowrap}
