:root{
  --font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
          "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  --font-size-base: 13pt;
  --radius: 14px;
}

/* 기본: 화이트톤 */
[data-theme="light"]{
  --bg: #ffffff; --bg-side: #f9f9fb; --bg-card: #ffffff; --bg-input: #ffffff;
  --bg-hover: #f1f2f5; --bg-chip: #f4f5f8; --bg-soft: #f4f5f8;
  --tx: #1c1e26; --tx-dim: #5b6271; --tx-faint: #9aa1ae;
  --line: #d9e0ed; --line-strong: #7b8dab;
  --accent: #3159c7; --accent-hover: #2448ae; --accent-soft: #edf2ff; --accent-contrast: #ffffff;
  --control-border: #7183af;
  --user-bubble: #eef0fc;
  --red: #d92d20; --red-bg: rgba(217,45,32,.08);
  --amber: #b54708; --amber-bg: rgba(181,71,8,.09);
  --blue: #1d4ed8; --blue-bg: rgba(29,78,216,.07);
  --green: #079455;
  --shadow: 0 2px 14px rgba(16,24,40,.07);
}

[data-theme="dark"]{
  --bg: #0f1117; --bg-side: #171923; --bg-card: #1d2029; --bg-input: #22252f;
  --bg-hover: #262a36; --bg-chip: #232734; --bg-soft: #232734;
  --tx: #ececf1; --tx-dim: #9ba0ab; --tx-faint: #6b7280;
  --line: #354059; --line-strong: #64769b;
  --accent: #9aaeff; --accent-hover: #b4c2ff; --accent-soft: #293754; --accent-contrast: #14234b;
  --control-border: #758bb9;
  --user-bubble: #343b52;
  --red: #f87171; --red-bg: rgba(248,113,113,.12);
  --amber: #fbbf24; --amber-bg: rgba(251,191,36,.10);
  --blue: #60a5fa; --blue-bg: rgba(96,165,250,.10);
  --green: #34d399;
  --shadow: 0 4px 24px rgba(0,0,0,.35);
}

*{box-sizing:border-box; margin:0; padding:0}
html,body{height:100%}
body{
  font-family:var(--font); background:var(--bg); color:var(--tx);
  display:flex; flex-direction:column; overflow:hidden; font-size:var(--font-size-base); line-height:1.6;
}
button,input,select,textarea{font:inherit}
small{font-size:inherit}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit}


/* ───────────── 메인 ───────────── */
#workspace{flex:1; display:flex; min-width:0; min-height:0; position:relative}
#main{flex:1; display:flex; flex-direction:column; min-width:0; min-height:0; position:relative}

/* ───────── 상단 앱 바(GNB) ─────────
   한 줄 60px. 왼쪽 브랜드 → 메뉴(전체 높이 항목 + 활성 밑줄) → 오른쪽 유틸.
   포털·관리자 도구에서 가장 흔한 '밑줄 표시 GNB' 형태라 한눈에 메뉴로 읽힌다. */
#topbar{
  height:60px; display:flex; align-items:stretch; flex-wrap:nowrap; padding:0 20px;
  gap:0; background:var(--bg-card); border-bottom:1px solid var(--line);
  box-shadow:0 2px 8px rgba(16,24,40,.04); flex:none; position:relative; z-index:60;
}
#topbar > *{align-self:center}
.icon-btn{
  width:34px; height:34px; border-radius:9px; display:flex; align-items:center;
  justify-content:center; color:var(--tx-dim); font-size:17.5px;
}
.icon-btn:hover{background:var(--bg-hover); color:var(--tx)}
/* 상단 셸 — 한 줄로 [메뉴] 브랜드 │ 탭 ······ 상태 · 유틸.
   이전에는 .tabs 가 flex:1 0 100% 라 항상 둘째 줄로 밀려 헤더가 2줄이었다. */
#topbar .brand-top{display:flex; align-items:center; gap:9px; flex:none; margin-right:14px;
  text-decoration:none; color:var(--tx); font-weight:800; font-size:15pt; letter-spacing:-.2px;
  white-space:nowrap}
#topbar .brand-top .bt-logo{width:30px; height:30px; border-radius:9px; flex:none;
  background:linear-gradient(135deg,#7c8cf8,#5eead4); display:flex; align-items:center;
  justify-content:center; font-size:16px; line-height:1}
#topbar .brand-top:hover .bt-name{color:var(--accent)}
#topbar .bt-div{width:1px; height:22px; background:var(--line); flex:none; margin:0 14px 0 0}
#topbar .spacer{flex:1 1 auto; min-width:12px}
#topbar .icon-btn{flex:none}
#topbar .icon-btn[hidden]{display:none}
#topbar #theme-btn{width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
  background:var(--bg); margin-left:10px}
#topbar #theme-btn:hover{background:var(--bg-hover)}
#topbar #nav-toggle{width:36px; height:36px; border-radius:9px; border:1px solid var(--line);
  background:var(--bg); margin-right:10px; font-size:19px}
/* 기준일 칩 — 라벨 + 값. 값이 오기 전에는 숨긴다('-' 만 떠 있으면 깨져 보인다) */
#badge-asof{display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:999px;
  background:var(--bg-chip); border:1px solid var(--line); color:var(--tx-dim); white-space:nowrap;
  font-size:calc(var(--font-size-base) - 1pt)}
#badge-asof i{font-style:normal; color:var(--tx-faint)}
#badge-asof b{font-weight:700; color:var(--tx)}
#badge-asof[hidden]{display:none}
#badge-asof{white-space:nowrap}
.reviewer-header-button{flex:none;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  min-height:38px;padding:6px 13px;margin-left:10px;border:1px solid var(--line);border-radius:10px;
  background:var(--bg-card);color:var(--tx);font-weight:650}
.reviewer-header-button:hover,.reviewer-header-button.authenticated{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.reviewer-header-button:focus-visible,.reviewer-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.reviewer-dialog{position:fixed;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);
  overflow:auto;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--bg-card);color:var(--tx);
  box-shadow:0 20px 70px rgba(16,24,40,.22)}
.reviewer-dialog::backdrop{background:rgba(16,24,40,.42)}
.reviewer-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.reviewer-dialog-heading h2{font-size:18pt;line-height:1.4}
.reviewer-dialog-heading .icon-btn{flex:none}
.reviewer-form{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.reviewer-form label{font-weight:650}
.reviewer-form input,.reviewer-form select{width:100%;min-width:0;padding:11px 13px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg-input);color:var(--tx);outline:none}
.reviewer-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.reviewer-form label:not(:first-child){margin-top:6px}
.reviewer-help{font-size:var(--font-size-base);color:var(--tx-dim);line-height:1.65}
.reviewer-dialog-message{color:var(--tx-dim);min-height:0;overflow-wrap:anywhere}
.reviewer-dialog-message:empty{display:none}
.reviewer-dialog-message.error{color:var(--red);padding:10px;border-radius:8px;background:var(--red-bg)}
.reviewer-primary{background:var(--accent);color:var(--accent-contrast);border-radius:10px;padding:11px 14px;font-weight:700;margin-top:4px}
.reviewer-primary:disabled{opacity:.6;cursor:wait}
.reviewer-identity{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;overflow-wrap:anywhere}
.reviewer-identity span{color:var(--tx-dim)}
.reviewer-account-actions{display:grid;gap:10px;margin-top:22px}
.reviewer-account-actions button{border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-align:left}
.reviewer-account-actions button:hover{background:var(--bg-hover)}
@media(max-width:480px){
  .reviewer-header-button{max-width:92px;margin-left:6px;padding:6px 10px}
  .reviewer-dialog{padding:20px}
}
/* 한 줄 헤더 확보 — 기본 글꼴(13pt)을 유지하고 여백을 조정한다.
   헤더는 사이드바 폭과 관계없이 화면 전체 폭을 사용한다. */


.badge{
  font-size:var(--font-size-base); padding:3px 10px; border-radius:999px; background:var(--bg-chip);
  border:1px solid var(--line); color:var(--tx-dim);
}


/* 영향 결과 카드 */
.impact-summary{
  border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-card);
  padding:16px 18px; margin-bottom:14px; box-shadow:var(--shadow);
}
.impact-summary .row1{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px}
.impact-summary h3{font-size:var(--font-size-base); letter-spacing:-.01em}
.pills{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px}
.pill{font-size:var(--font-size-base); padding:4px 12px; border-radius:999px; font-weight:600}
.pill.direct{background:var(--red-bg); color:var(--red)}
.pill.indirect{background:var(--amber-bg); color:var(--amber)}
.pill.review{background:var(--blue-bg); color:var(--blue)}
.pill.section{background:var(--bg-chip); color:var(--tx-dim)}
.pill.total{background:var(--bg-chip); color:var(--tx-dim)}
.impact-summary .desc{font-size:var(--font-size-base); color:var(--tx-dim); margin-top:8px}

.k-card{
  border:1px solid var(--line); border-radius:12px; background:var(--bg-card);
  padding:12px 14px; margin-bottom:8px;
}
.k-card .k-head{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.k-topic{font-size:var(--font-size-base); padding:2px 9px; border-radius:999px; background:var(--accent-soft);
  color:var(--accent); font-weight:600}
.k-num{font-size:var(--font-size-base); color:var(--tx-faint); font-family:ui-monospace,monospace}
.k-id{font-size:var(--font-size-base); color:var(--tx-faint); margin-left:auto}
.k-text{font-size:var(--font-size-base); margin-top:7px; color:var(--tx);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.k-card.expanded .k-text{display:block; -webkit-line-clamp:unset}
.k-paths{display:none; margin-top:10px; border-top:1px dashed var(--line); padding-top:10px}
.k-card.expanded .k-paths{display:block}
.path-row{display:flex; gap:8px; font-size:var(--font-size-base); color:var(--tx-dim); padding:4px 0; align-items:flex-start}
.rule-chip{
  flex:none; font-size:var(--font-size-base); font-weight:700; padding:2px 7px; border-radius:6px; margin-top:2px;
}
.rule-chip.R1{background:var(--red-bg); color:var(--red)}
.rule-chip.R2,.rule-chip.R3,.rule-chip.R6{background:var(--amber-bg); color:var(--amber)}
.rule-chip.R4{background:var(--blue-bg); color:var(--blue)}
.rule-chip.R5{background:var(--bg-chip); color:var(--tx-dim)}
.rule-chip.R7{background:#0ea5e91c; color:#0ea5e9}
.k-more{font-size:var(--font-size-base); color:var(--accent); margin-top:8px}

/* ───────────── 메뉴 탭 + 법령 개정 시뮬레이터 ───────────── */
/* Primary entries include a dropdown. Keep overflow visible and move only
   ordinary buttons into the tools menu when the header runs out of room. */
#nav-wrap{display:flex; align-items:stretch; align-self:stretch; gap:0; min-width:0; overflow:visible}
.tabs{display:flex; flex-wrap:nowrap; gap:0; margin:0; min-width:0; overflow:visible}
.tabs::-webkit-scrollbar{display:none}
.tabs > .tab{flex:none}
.tabs > .nav-primary-group{flex:none}
.nav-more{flex:none; display:flex}
#nav-more-label{max-width:240px}
/* 메뉴 항목: 바 전체 높이를 차지하고, 활성 항목은 바 아래 가장자리에 3px 밑줄이 붙는다.
   글꼴 15pt(사용자 요청 2026-09-07). 알약(pill) 배경은 쓰지 않는다 — 텍스트 조각처럼 보였다. */
#topbar .tab{position:relative; display:inline-flex; align-items:center; height:60px; padding:0 13px;
  border-radius:0; font-size:15pt; font-weight:500; color:var(--tx-dim); white-space:nowrap;
  background:none; transition:color .12s, background-color .12s}
/* 비활성 메뉴·접힌 도구의 hidden은 탭의 display 스타일보다 우선한다. */
#topbar [hidden]{display:none!important}
#topbar .tab::after{content:""; position:absolute; left:13px; right:13px; bottom:-1px; height:3px;
  border-radius:3px 3px 0 0; background:transparent}
#topbar .tab:hover{color:var(--tx); background:var(--bg-hover)}
#topbar .tab.active{color:var(--accent); font-weight:700; background:none; box-shadow:none}
#topbar .tab.active::after{background:var(--accent)}
#topbar .tab:focus-visible{outline:2px solid var(--accent); outline-offset:-3px; border-radius:8px}
.tab{padding:6px 14px; border-radius:10px; font-size:var(--font-size-base); color:var(--tx-dim);
  border:1px solid transparent; white-space:nowrap}
.tab:hover{background:var(--bg-hover)}
.tab.active{background:var(--accent-soft); color:var(--accent); font-weight:600}
/* 탭 구역 구분 — '분석·현행화'(왼쪽)와 '규칙 관리'(오른쪽) 사이 */
.tab-div{align-self:center; width:1px; height:20px; background:var(--line); margin:0 5px; flex:none}
.tab-grp{align-self:center; font-size:var(--font-size-base); color:var(--tx-faint); padding:0 2px; letter-spacing:.5px; user-select:none}

.cl-cite{display:inline-block; font-size:var(--font-size-base); font-weight:700; color:var(--accent);
  background:var(--accent-soft); border-radius:6px; padding:0 7px; margin:0 2px; cursor:help}

.cl-flag{color:var(--amber); font-weight:600; font-size:var(--font-size-base)}

.cand-fb{margin-top:6px; display:flex; justify-content:flex-end}
.cand-fb-btn{font-size:var(--font-size-base); padding:2px 9px; border-radius:999px; border:1px solid var(--line);
  background:var(--bg-card); color:var(--tx-faint)}
.cand-fb-btn:hover:not(:disabled){border-color:var(--red); color:var(--red)}
.cand-fb-btn:disabled{opacity:.45}

.adm-h{font-size:var(--font-size-base); font-weight:700; margin:2px 0 10px}

.adm-empty{color:var(--tx-faint); font-size:var(--font-size-base); padding:6px 0}

/* 노무사 친화 규칙 워크벤치 */
.ax-guide{font-size:var(--font-size-base); color:var(--tx-dim); line-height:1.65; background:var(--bg-chip);
  border:1px solid var(--line); border-radius:10px; padding:10px 14px; margin-bottom:14px}
.ax-step{font-size:var(--font-size-base); font-weight:700; margin:18px 0 8px; padding-bottom:5px;
  border-bottom:1px solid var(--line)}
.ax-or{font-size:var(--font-size-base); color:var(--tx-faint); margin:8px 0 4px}

.ax-sent{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:8px 0; font-size:var(--font-size-base)}

.ax-tok{padding:5px 10px; border:1px solid var(--line); border-radius:8px; background:var(--bg-chip);
  color:var(--tx); font-size:var(--font-size-base); min-width:120px}

.ax-rule{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:var(--font-size-base);
  border-bottom:1px solid var(--line); padding:7px 0}

.ax-st{font-size:var(--font-size-base); padding:1px 8px; border-radius:999px; border:1px solid var(--line)}
.ax-st.confirmed{color:var(--accent); border-color:var(--accent)}
.ax-st.draft{color:var(--amber); border-color:var(--amber)}
.ax-st.retired{color:var(--tx-faint)}

.ax-mini{font-size:var(--font-size-base); padding:2px 8px; border-radius:8px; border:1px solid var(--control-border);
  background:var(--bg-card); color:var(--accent); cursor:pointer}
.ax-mini:hover:not(:disabled){border-color:var(--accent); background:var(--accent-soft); color:var(--accent-hover)}
.ax-mini:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.ax-mini:disabled{opacity:.45}

.ax-doubt{font-size:var(--font-size-base); color:var(--amber); border:1px solid var(--amber); border-radius:6px;
  padding:1px 6px; flex:none; cursor:help}

/* AI 공리 후보 라벨링(노무사) */
.axc-bar{display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:4px 0 6px}
.axc-chip{font-size:var(--font-size-base); padding:2px 9px; border-radius:999px; border:1px solid var(--line);
  color:var(--tx-dim); background:var(--bg-card)}
.axc-chip.ok{color:var(--accent); border-color:var(--accent)}
.axc-chip.bad{color:var(--red); border-color:var(--red)}

.ax-mini.on{background:var(--bg-chip); color:var(--tx); font-weight:600; border-color:var(--accent)}

.axc-src{font-size:var(--font-size-base); padding:1px 7px; border-radius:6px; flex:none; font-weight:600}
.axc-src.k{color:#2e7d32; border:1px solid #2e7d32}
.axc-src.q{color:#6a4fb3; border:1px solid #6a4fb3}
.axc-src.a{color:var(--tx-faint); border:1px solid var(--line)}

/* 비차단 토스트 알림 */
#li-toast{position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(12px);
  background:var(--tx); color:var(--bg); font-size:var(--font-size-base); padding:9px 18px;
  border-radius:999px; box-shadow:var(--shadow); opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s; z-index:99; max-width:80vw}
#li-toast.show{opacity:.96; transform:translateX(-50%) translateY(0)}

.wb-head{padding:12px 14px; border-bottom:1px solid var(--line); font-size:var(--font-size-base);
  font-weight:700; flex:none}
.wb-head .sub{font-weight:400; color:var(--tx-faint); font-size:var(--font-size-base); display:block; margin-top:2px}
.wb-body{flex:1; overflow-y:auto; padding:8px}
.wb-search{margin:8px; padding:8px 12px; border:1px solid var(--line); border-radius:10px;
  background:var(--bg-input); color:var(--tx); font-size:var(--font-size-base); outline:none; flex:none}
.wb-search:focus{border-color:var(--accent)}

.wb-analyze{width:100%; padding:11px; border-radius:12px; background:var(--accent); color:var(--accent-contrast);
  font-size:var(--font-size-base); font-weight:600; opacity:.45}
.wb-analyze.ready{opacity:1}

.wb-placeholder{color:var(--tx-faint); font-size:var(--font-size-base); padding:30px; text-align:center}


.repeal-banner{background:var(--red-bg); border:1px solid var(--red); border-radius:10px;
  padding:10px 12px; font-size:var(--font-size-base); line-height:1.6; color:var(--tx); margin-bottom:12px}

.k-dangling{font-size:var(--font-size-base); color:var(--red); border:1px solid var(--red); border-radius:6px;
  padding:1px 6px; margin-left:6px; flex:none}


.sec-desc{font-size:var(--font-size-base); color:var(--tx-dim); line-height:1.6; margin:0 0 8px;
  background:var(--bg-chip); border-radius:8px; padding:8px 10px}


/* 좁은 화면: 탭이 헤더에 다 못 들어가므로 ☰ 로 여는 드로어가 된다.
   (넓은 화면에서 ☰ 는 사이드바가 실제로 있는 화면에서만 나타난다 — syncChrome) */
@media (max-width: 1000px){
  #topbar #nav-wrap{position:absolute; top:100%; left:0; right:0; z-index:90; display:none;
    flex-direction:column; align-items:stretch; gap:2px; margin:0; padding:8px; background:var(--bg-card);
    max-height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain;
    border-bottom:1px solid var(--line); box-shadow:0 10px 30px rgba(16,24,40,.14)}
  body.nav-open #topbar #nav-wrap{display:flex}
  #topbar .tabs{flex-direction:column; overflow:visible; margin:0; gap:2px}
  #topbar .tab, #topbar .nav-more>summary{height:auto; padding:12px 14px; border-radius:9px; width:100%}
  #topbar .tab::after{left:0; right:auto; top:10px; bottom:10px; width:3px; height:auto; border-radius:0 3px 3px 0}
  #topbar .bt-div{display:none}
  .nav-more{position:static; flex-direction:column}
  #topbar .nav-more-panel{position:static; min-width:0; margin:2px 0 0 12px; padding:4px 0 4px 8px;
    border:none; border-left:2px solid var(--line); border-radius:0; box-shadow:none}
}

@media (max-width: 480px){
  #topbar .brand-top{flex:0 1 auto; min-width:0; margin-right:0}
  #topbar .bt-name{min-width:0; overflow:hidden; text-overflow:ellipsis}
  #topbar .spacer{min-width:6px}
  #topbar #badge-asof{flex:none; flex-direction:column; gap:0; padding:3px 6px; line-height:1.35}
}

@media (max-width: 860px){
  .sugg-grid{grid-template-columns:1fr}
  #sidebar{position:absolute; top:0; left:0; z-index:30; box-shadow:var(--shadow)}
  body.lab-mode #workbench{grid-template-columns:1fr; overflow-y:auto}
  body.newlaw-mode #newlaw{grid-template-columns:1fr; overflow-y:auto}
}

/* Task-first management: readable summaries first, technical editors on demand. */
.nav-more{position:relative}
.nav-more>summary{cursor:pointer; list-style:none; gap:8px}
.nav-more>summary::-webkit-details-marker{display:none}
/* 셰브론: 글자 대신 테두리로 그린다(글꼴마다 '⌄' 모양·위치가 달라 어색했다) */
.nav-more>summary .chev{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-3px) rotate(45deg); transition:transform .15s; opacity:.75; flex:none}
.nav-more[open]>summary .chev{transform:translateY(2px) rotate(-135deg)}
.nav-more[open]>summary{color:var(--tx); background:var(--bg-hover)}
.nav-more-panel{position:absolute; top:calc(100% - 2px); right:0; left:auto; z-index:80; display:grid; gap:2px;
  min-width:min(300px,calc(100vw - 24px)); max-width:calc(100vw - 24px); padding:8px; background:var(--bg-card);
  border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(16,24,40,.14)}
.nav-more-panel .pn-ovf{display:grid; gap:2px}
.nav-more-panel .pn-ovf:empty{display:none}
.nav-more-panel .pn-head[hidden]{display:none}
.nav-more-panel .pn-head{padding:6px 10px 4px; font-size:calc(var(--font-size-base) - 2pt); font-weight:600;
  color:var(--tx-faint); letter-spacing:.3px}
#topbar .nav-more-panel .tab{height:auto; padding:10px 12px; border-radius:9px; justify-content:flex-start;
  text-align:left; white-space:normal; overflow-wrap:anywhere; min-width:0; font-weight:500}
#topbar .nav-more-panel .tab::after{display:none}
#topbar .nav-more-panel .tab:hover{background:var(--bg-hover); color:var(--tx)}
#topbar .nav-more-panel .tab.active{background:var(--accent-soft); color:var(--accent); font-weight:700}
.nav-more:not([open])>.nav-more-panel{display:none}

.tabs :focus-visible,#lifecycle :focus-visible,#formula-admin-body :focus-visible{outline:2px solid var(--accent);outline-offset:3px}

body.lifecycle-mode #badge-asof,body.admin-mode #badge-asof,body.rules-mode #badge-asof,body.axiomchanges-mode #badge-asof,body.conflicts-mode #badge-asof{display:none}

/* 공리 충돌 검토는 전용 화면으로 열고 다른 작업 화면의 상태는 유지한다. */
body.conflicts-mode #sidebar,body.conflicts-mode #main > :not(#conflicts){display:none}
body.axiomchanges-mode #sidebar,body.axiomchanges-mode #main > :not(#axiomchanges){display:none}

.lc-list-heading,.fm-list-heading{font-weight:650;font-size:1em;margin:0 0 10px}.lc-advanced>summary{cursor:pointer;line-height:1.7}.lc-advanced[open]>summary{margin-bottom:12px}

.lc-summary>div,.fm-overview>.fm-summary-grid>div{padding:15px 18px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);display:grid;align-content:start;gap:6px}
.lc-summary span,.fm-overview span{color:var(--tx-dim)}.lc-summary strong,.fm-overview strong{font-size:1.65em;line-height:1.3}
.lc-summary-note{grid-column:1/-1;color:var(--tx-dim);line-height:1.7;margin:8px 0 16px}.fm-overview{margin:16px 0 22px;line-height:1.7}.fm-overview>.fm-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:720px){.nav-more-panel{left:auto;right:0}#topbar{padding:8px 10px}.tabs{gap:4px}.tabs>.tab,.nav-more>summary{padding:7px 10px}.lc-flow.lc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-next{padding:15px;gap:12px}.lc-next-copy{min-width:0;flex-basis:100%}.lc-next>.lc-actions{width:100%}.lc-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.lc-summary>div{padding:12px}.lc-summary strong{font-size:1.3em}.fm-overview>.fm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-summary-grid{grid-template-columns:1fr}.fm-summary{padding:14px}}
