/* IO 4D 실무 진단 · 공통 토큰 (교안과 같은 Pretendard, 트랙 색: 임원 보라 / 실무 초록) */
:root{
  --bg:#f7f7f4; --paper:#ffffff; --sunk:#efefea; --ink:#1c1d20; --ink2:#4b4f56; --muted:#6f737a;
  --line:#deded8; --grid:#e6e5df; --axis:#bdbcb4;
  --exec:#5b3fa6; --exec-soft:#eeeaf8; --exec-mid:#a796d6;
  --staff:#00806a; --staff-soft:#e2f2ee; --staff-mid:#79c2b3;
  --accent:var(--exec); --accent-soft:var(--exec-soft); --accent-mid:var(--exec-mid); --on-accent:#ffffff;
  --ok:#1d7a3e; --ok-bg:#e6f4ea; --warn:#9a5b00; --warn-bg:#fff3df; --bad:#b3261e;
  --sans:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SF Mono",Menlo,Consolas,"D2Coding",monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#121316; --paper:#1a1c20; --sunk:#16171a; --ink:#e9e9eb; --ink2:#c0c3c9; --muted:#969aa1;
    --line:#2f3238; --grid:#26282d; --axis:#474a51;
    --exec:#9277ee; --exec-soft:#251f3d; --exec-mid:#5b4b99;
    --staff:#1fa88f; --staff-soft:#132b26; --staff-mid:#1d6b5c;
    --on-accent:#111214;
    --ok:#5cc685; --ok-bg:#15281c; --warn:#f0b35a; --warn-bg:#2b2316; --bad:#ff8a80;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#121316; --paper:#1a1c20; --sunk:#16171a; --ink:#e9e9eb; --ink2:#c0c3c9; --muted:#969aa1;
  --line:#2f3238; --grid:#26282d; --axis:#474a51;
  --exec:#9277ee; --exec-soft:#251f3d; --exec-mid:#5b4b99;
  --staff:#1fa88f; --staff-soft:#132b26; --staff-mid:#1d6b5c;
  --on-accent:#111214;
  --ok:#5cc685; --ok-bg:#15281c; --warn:#f0b35a; --warn-bg:#2b2316; --bad:#ff8a80;
  color-scheme:dark;
}
[data-track="staff"]{--accent:var(--staff); --accent-soft:var(--staff-soft); --accent-mid:var(--staff-mid)}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);word-break:keep-all;overflow-wrap:anywhere;-webkit-text-size-adjust:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
#tip{position:fixed;z-index:50;pointer-events:none;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.5;padding:6px 9px;border-radius:6px;max-width:280px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
