/* ASAL 테마 — 랜딩 페이지 팔레트에 맞춘다. 기본은 다크.
   리포트류에는 build.py 가 --asal-cN 팔레트를 심으므로 그 값을 우선 쓰고,
   팔레트가 없는 페이지(콘솔·문서)에서는 뒤의 다크 기본값으로 떨어진다.
   html[data-theme="light"] 는 :root 보다 명시도가 높아 라이트가 이긴다. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --page:var(--asal-c0,#14181c); --bg:var(--asal-c0,#14181c);
  --surface:var(--asal-c1,#1b1f24); --surface-2:var(--asal-c4,#20252b);
  --border:var(--asal-c8,#2b3138); --grid:var(--asal-c9,#262b31);
  --text-1:var(--asal-c10,#e8ecef); --text:var(--asal-c10,#e8ecef);
  --text-2:var(--asal-c12,#98a1a9);
  --accent:var(--asal-c15,#5eead4);
  --s1:var(--asal-c15,#5eead4); --s2:var(--asal-c16,#f0a868);
  --s3:var(--asal-c17,#7ddba0); --s4:var(--asal-c18,#f08a8a);
  --code-bg:#11151a; --code-fg:#cfd6db;
  color-scheme:dark;
}
html[data-theme="light"]{
  --code-bg:#f2f4f5; --code-fg:#1a1d1f;
  color-scheme:light;
}
html,body{background:var(--page);color:var(--text-1)}
body{font-family:'IBM Plex Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',
  Roboto,'Noto Sans KR',sans-serif}

/* 카드·표 */
.card,.doc,section.card{background:var(--surface);border-color:var(--border)}
table{border-color:var(--border)}
th,td{border-color:var(--border)}
th{color:var(--text-2)}
thead tr{background:transparent}
tbody tr:hover{background:rgba(255,255,255,.02)}
code,pre,.code{background:var(--code-bg);border-color:var(--border);color:var(--code-fg);
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
a{color:var(--accent)}
a:hover{color:#8ff3e3}
hr{border-color:var(--border)}
.hint,.note,.sub{color:var(--text-2)}
.hint{background:var(--surface-2);border-color:var(--border)}
.btn{background:var(--surface-2);border-color:var(--border);color:var(--text-1)}
.btn:hover{background:#262c33;border-color:#3a4148}
.hyp,.hyp-d,.tblwrap{border-color:var(--border)}
.hyp{background:var(--surface-2)}
.best,td.best{color:var(--accent)}
.pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}

/* 인쇄는 밝게 */
@media print{
  :root{--page:#fff;--surface:#fff;--surface-2:#fff;--border:#dcdfe2;
        --text-1:#1a1d1f;--text:#1a1d1f;--text-2:#5b6469}
  html,body{background:#fff;color:#1a1d1f}
  a{color:#1a5fb4}
}

/* 상단 GNB — 랜딩과 같은 톤 */
#asal-nav{
  position:fixed;top:0;left:0;right:0;height:48px;z-index:2147483000;
  display:flex;align-items:center;gap:2px;padding:0 16px;box-sizing:border-box;
  background:rgba(16,20,26,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.09);
  font:500 13px/1 'IBM Plex Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',
    Roboto,'Noto Sans KR',sans-serif;
}
#asal-nav .brand{font-weight:700;letter-spacing:.16em;font-size:12.5px;
  margin-right:18px;color:#fff;text-decoration:none;
  font-family:'IBM Plex Mono',ui-monospace,monospace}
#asal-nav a.tab{padding:7px 12px;border-radius:8px;color:rgba(255,255,255,.58);
  text-decoration:none;white-space:nowrap}
#asal-nav a.tab:hover{background:rgba(255,255,255,.08);color:#fff}
#asal-nav a.tab[aria-current]{background:var(--accent);color:#0f1418;font-weight:600}
#asal-nav .sp{flex:1}
body{padding-top:48px!important}
@media(max-width:640px){
  #asal-nav{gap:0;padding:0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  #asal-nav::-webkit-scrollbar{display:none}
  #asal-nav .brand{margin-right:10px}
  #asal-nav a.tab{padding:7px 9px;font-size:12px}
}
@media print{#asal-nav{display:none}body{padding-top:0!important}}

/* 라이트 전환 — 다크 전용으로 굳어 있던 나머지 */
html[data-theme="light"] tbody tr:hover{background:rgba(0,0,0,.035)}
html[data-theme="light"] a:hover{color:#1c5fae}
html[data-theme="light"] .log{background:#f2f4f5;color:#5b6469}
