/* ============================================================
   공용 발표 상단바 UI — 목차(.menu) + LLM 복사(.tb-cta)
   각 발표(index.html)의 인라인 <style> 다음에 로드된다.
   색상 변수(--ink-2 등)는 각 덱의 :root 정의를 사용.
   동작은 ../assets/deck-ui.js 가 담당.
   ============================================================ */

/* LLM 복사 버튼 */
.tb-cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:#fff;background:rgba(14,140,127,.92);border:1px solid var(--dev);padding:7px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}
.tb-cta:hover{background:var(--dev)}
.tb-cta:focus-visible{outline:2px solid var(--dev);outline-offset:2px}
.tb-cta.ok{background:var(--prod);border-color:var(--prod)}
.tb-cta .ic{font-size:14px;line-height:1}
@media(max-width:640px){.tb-cta .lbl{display:none}}

/* 내비 점 — 핵심 슬라이드 강조 */
.nav button.key{border-color:var(--prod);box-shadow:0 0 0 3px rgba(192,122,34,.32)}
.nav button.key.active{box-shadow:0 0 0 4px rgba(192,122,34,.45)}

/* 목차 드롭다운 */
.menu{position:fixed;top:62px;left:14px;z-index:70;width:330px;max-width:calc(100vw - 28px);max-height:76vh;overflow:auto;background:var(--ink-2);border:1px solid var(--line-dark);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:8px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s,transform .18s}
.menu.open{opacity:1;transform:none;pointer-events:auto}
.menu-h{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);padding:9px 10px 8px;display:flex;justify-content:space-between;align-items:center}
.menu-h b{color:var(--prod);font-weight:600}
.menu ul{list-style:none}
.menu li button{width:100%;text-align:left;display:flex;gap:11px;align-items:center;background:transparent;border:0;color:#C7D3DC;font-family:var(--sans);font-size:13.5px;line-height:1.3;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .18s}
.menu li button:hover{background:rgba(255,255,255,.06)}
.menu li button:focus-visible{outline:2px solid var(--dev);outline-offset:-2px}
.menu li .mnum{font-family:var(--mono);font-size:11px;color:var(--muted-2);flex:0 0 22px}
.menu li .mt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu li.key button{color:#fff}
.menu li.key .mnum{color:var(--prod)}
.menu li .mkey{flex:0 0 auto;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:#fff;background:var(--prod);padding:2px 8px;border-radius:100px}
.menu li.active button{background:rgba(14,140,127,.18)}
.menu li.active .mnum{color:var(--dev)}
.menu-sep{height:1px;background:var(--line-dark);margin:6px 8px}
@media print{.menu{display:none}}
