/* ── 슬라이드 공용 프리미티브 ───────────────────────────────────────────
   tokens.css 이후에 로드. 색·타이포는 var(--*) 만 사용해 스킨으로 갈아끼움.
   함안 slides는 페이지형(header+sidebar), duonedu 계열은 풀스크린 데크형.
   둘의 공통 조각(카드·핀·형광펜·kbd·code)만 여기 둔다.
   ─────────────────────────────────────────────────────────────────── */

*{box-sizing:border-box}

/* 하이라이트 형광펜 */
mark{
  background:linear-gradient(104deg,transparent .3%,var(--mark-soft) 1.4%,var(--mark-soft) 97%,transparent 99%);
  color:inherit;padding:0 .18em;border-radius:2px;
}

/* 키 캡 */
kbd{
  font-weight:600;font-size:.9em;background:var(--surface);
  border:1.5px solid var(--ink);border-bottom-width:2.5px;
  border-radius:5px;padding:1px 7px;white-space:nowrap;
}

/* 인라인 값(코드·설정값) */
.val{
  font-family:var(--mono);font-size:.88em;
  background:var(--mark-soft);color:var(--ink);
  padding:1px 7px;border-radius:4px;
}

/* 알약 배지 */
.pill{
  display:inline-block;background:var(--ok-bg);color:var(--ok);
  padding:4px 13px;border-radius:var(--radius-pill);
  font-size:.86rem;font-weight:700;letter-spacing:.02em;
}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.mark{background:var(--mark-soft);color:var(--ink)}
.pill.accent{background:var(--accent-soft);color:var(--accent)}

/* 안내 박스 */
.notice{
  background:var(--mark-soft);border-left:6px solid var(--mark);
  padding:14px 18px;border-radius:var(--radius);
}
.notice.warn{background:var(--warn-bg);border-left-color:var(--warn)}
.notice.ok{background:var(--ok-bg);border-left-color:var(--ok)}

/* 프롬프트·인용 블록 */
.prompt{
  white-space:pre-wrap;background:var(--accent-soft);
  border-left:5px solid var(--accent);padding:16px 20px;
  border-radius:var(--radius);font-family:var(--mono);
  font-size:.94em;line-height:1.55;
}

/* 접근성 포커스 링 */
:focus-visible{outline:var(--focus);outline-offset:3px}

/* 오늘의 리본 (초안 표시 등, 26/* 페이지에서 사용) */
.draft-ribbon{
  position:fixed;top:12px;left:50%;transform:translateX(-50%);
  z-index:9999;padding:6px 14px;border-radius:var(--radius-pill);
  background:var(--warn);color:#fff;
  font:600 12px/1 var(--display);letter-spacing:.02em;
  box-shadow:var(--shadow-1);pointer-events:none;user-select:none;opacity:.92;
}
@media (max-width:480px){.draft-ribbon{font-size:11px;padding:5px 10px}}
