/* 리드 덱 화면 (2026-10-08) — 시안 ②넣기 ③확인 ④결과 덱 그대로. 색·글꼴은 theme-1b.css 의 --w-* 토큰
   모든 클래스는 ld- 로 시작한다(전역 .card · .tag · .btn 과 안 겹치게). 동작은 leaddeck.js */

.ld-page {
  position: relative;               /* 유튜브 후보 팝오버의 기준 */
  overflow-wrap: anywhere;          /* 긴 주소·파일 이름이 휴대폰 폭을 밀지 않게 */
  --ld-band: #FDF3D6;               /* 시안 ③ 섹션 카드 머리(덱 노란 띠의 옅은 색) */
  --ld-need-line: #F5B455;          /* 시안 ③ '확인 필요' 테두리 */
}
.ld-page [hidden] { display: none !important; }
.home-wrap.ld-wrap { max-width: 1240px; }
.ld-page .pg-head { flex-wrap: wrap; row-gap: 8px; }
.ld-page .pg-head .h2sub { flex: 1 1 240px; min-width: 0; }
.ld-hint { font-size: 12.5px; line-height: 1.5; color: var(--w-ink-alt); }
.ld-hint.warn { color: var(--w-orange-text); font-weight: 600; }
.ld-muted { font-size: 13px; color: var(--w-ink-alt); }
.ld-sub { display: block; font-size: 12px; color: var(--w-ink-alt); margin-top: 2px; overflow-wrap: anywhere; }
.ld-empty { font-size: 13px; color: var(--w-ink-alt); padding: 10px 2px; }
.ld-nowrap { white-space: nowrap; }
.ld-name { overflow-wrap: anywhere; word-break: keep-all; }
.ld-err { display: block; font-size: 12px; color: var(--w-red-text); margin-top: 3px; overflow-wrap: anywhere; }

/* 꼬리표 */
.ld-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; line-height: 18px;
  padding: 2px 8px; border-radius: 999px; vertical-align: middle; max-width: 100%; white-space: normal; text-align: left; }
.ld-tag.ok { background: var(--w-green-bg); color: var(--w-green-text); }
.ld-tag.warn { background: var(--w-orange-bg); color: var(--w-orange-text); }
.ld-tag.no { background: var(--w-red-bg); color: var(--w-red-text); }
.ld-tag.gray { background: var(--w-fill-strong); color: var(--w-ink-alt); }
.ld-tag.blue { background: var(--w-primary-bg); color: var(--w-primary); }
.ld-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.ld-spin::before { content: ''; width: 8px; height: 8px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent;
  animation: ldSpin .8s linear infinite; flex: none; }
@keyframes ldSpin { to { transform: rotate(360deg); } }

/* 버튼 */
.ld-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 10px; padding: 8px 14px;
  font: inherit; font-size: 13.5px; font-weight: 600; line-height: 1.3; border: 1px solid var(--w-line); background: #fff;
  color: var(--w-ink); cursor: pointer; white-space: nowrap; text-decoration: none; }
.ld-btn:hover { background: var(--w-fill); color: var(--w-ink); }
.ld-btn.pri { background: var(--w-primary); border-color: var(--w-primary); color: #fff; }
.ld-btn.pri:hover { background: var(--w-primary-strong); color: #fff; }
.ld-btn.dark { background: var(--w-ink); border-color: var(--w-ink); color: #fff; }
.ld-btn.dark:hover { background: #000; color: #fff; }
.ld-btn.ghost { background: transparent; border-color: transparent; color: var(--w-ink-alt); }
.ld-btn.ghost:hover { background: var(--w-fill); color: var(--w-ink); }
.ld-btn.on { background: var(--w-ink); border-color: var(--w-ink); color: #fff; }
.ld-btn.sm { padding: 4px 10px; font-size: 12.5px; border-radius: 8px; }
.ld-btn:disabled { opacity: .5; cursor: default; }
.ld-x { flex: none; border: 0; background: none; color: var(--w-ink-assist); font-size: 17px; line-height: 1; width: 28px; height: 30px;
  border-radius: 6px; cursor: pointer; font-family: inherit; padding: 0; }
.ld-x:hover { background: var(--w-fill); color: var(--w-red-text); }
.ld-x:disabled { opacity: .4; cursor: default; }
.ld-ico { flex: none; border: 1px solid var(--w-line); background: #fff; border-radius: 6px; width: 28px; height: 28px; font: inherit;
  font-size: 13px; color: var(--w-ink-neutral); cursor: pointer; padding: 0; }
.ld-ico:hover:not(:disabled) { background: var(--w-fill); }
.ld-ico:disabled { opacity: .35; cursor: default; }
.ld-mini { flex: none; border: 1px solid var(--w-line); background: #fff; border-radius: 6px; padding: 4px 8px; font: inherit;
  font-size: 11.5px; color: var(--w-ink-alt); cursor: pointer; white-space: nowrap; }
.ld-mini:hover { background: var(--w-fill); color: var(--w-ink); }
.ld-mini.on { background: var(--w-ink); border-color: var(--w-ink); color: #fff; }
.ld-addline { border: 1px dashed #C2C4C8; background: #fff; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 12.5px;
  color: var(--w-ink-neutral); cursor: pointer; margin: 2px 6px 4px 0; }
.ld-addline:hover { border-color: var(--w-primary); color: var(--w-primary); }
.ld-linkbtn { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.ld-linkbtn:hover .ld-name { text-decoration: underline; }

/* 입력칸 — 전역 input[type=text]·select 규칙보다 앞서게 .ld-page 를 붙인다 */
.ld-page .ld-in { width: 100%; box-sizing: border-box; min-width: 0; border: 1px solid var(--w-line); border-radius: 8px; padding: 6px 10px;
  font: inherit; font-size: 13.5px; line-height: 1.45; color: var(--w-ink); background: #fff; box-shadow: none; outline: 0; }
.ld-page .ld-in:focus { border-color: var(--w-primary); box-shadow: 0 0 0 3px var(--w-primary-bg); background: #fff; }
.ld-page .ld-in:disabled { background: var(--w-fill); color: var(--w-ink-alt); }
.ld-page textarea.ld-in { resize: vertical; }
.ld-page textarea.ld-auto { resize: none; overflow: hidden; min-height: 33px; }
.ld-page select.ld-in { padding-right: 26px; cursor: pointer; }
.ld-page .ld-in.ld-date { width: auto; flex: 0 1 150px; }
.ld-page .ld-in.ld-time { width: auto; flex: 0 1 110px; }

/* ── ① 리드 넣기 (시안 ②) ── */
.ld-aicard { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1px solid var(--ld-need-line); background: var(--w-orange-bg);
  border-radius: 14px; padding: 14px 16px; margin-bottom: 14px; }
.ld-aicard > div { flex: 1 1 260px; min-width: 0; font-size: 13.5px; }
.ld-aicard b { display: block; color: var(--w-orange-text); margin-bottom: 2px; }
.ld-aicard span { color: var(--w-ink-neutral); }
.ld-drop { border: 2px dashed rgba(0, 102, 255, .4); background: rgba(0, 102, 255, .03); border-radius: 14px; padding: 28px 18px;
  text-align: center; cursor: pointer; transition: background .15s, border-color .15s; outline: 0; }
.ld-drop:hover, .ld-drop:focus-visible, .ld-drop.over { background: var(--w-primary-bg); border-color: var(--w-primary); }
.ld-drop-big { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.ld-drop-small { font-size: 13px; color: var(--w-ink-alt); }
.ld-drop-types { margin-top: 10px; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.ld-queue { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ld-qchip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; background: var(--w-fill); border-radius: 10px; padding: 3px 4px 3px 10px; font-size: 12.5px; }
.ld-qchip b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ld-qchip small { color: var(--w-ink-alt); flex: none; }
.ld-qchip .ld-x { width: 24px; height: 24px; font-size: 15px; }
.ld-or { display: flex; align-items: center; gap: 10px; color: var(--w-ink-assist); font-size: 12.5px; margin: 14px 0; }
.ld-or::before, .ld-or::after { content: ''; flex: 1; height: 1px; background: var(--w-line); }
.ld-page .ld-in.ld-paste { min-height: 84px; border-radius: 12px; padding: 12px 14px; font-size: 13.5px; }
.ld-startbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.ld-startbar .ld-hint { margin-right: auto; }
.ld-listcard { margin-top: 22px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--w-line); padding: 14px 16px 8px; background: #fff; }
.ld-listhd { display: flex; align-items: center; gap: 8px; }
.ld-listhd b { font-size: 15px; }
.ld-listhd .ld-btn { margin-left: auto; }
table.ld-list { width: 100%; border-collapse: collapse; font-size: 13.5px; margin-top: 8px; }
table.ld-list th { font-size: 12px; color: var(--w-ink-alt); font-weight: 500; text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--w-line); }
table.ld-list td { padding: 10px 8px; border-bottom: 1px solid var(--w-line-alt); vertical-align: middle; }
table.ld-list tr:last-child td { border-bottom: 0; }
table.ld-list td.r { text-align: right; }
.ld-srccell { color: var(--w-ink-neutral); font-size: 12.5px; overflow-wrap: anywhere; max-width: 280px; }
.ld-rowacts { display: inline-flex; align-items: center; gap: 2px; justify-content: flex-end; }

/* ── ② 확인 (시안 ③) ── */
.ld-edit-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.ld-back { border: 0; background: transparent; color: var(--w-ink-neutral); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
  padding: 6px 8px 6px 0; margin-top: 4px; }
.ld-back:hover { color: var(--w-ink); }
.ld-edit-ttl { flex: 1 1 240px; min-width: 0; }
.ld-edit-ttl h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -0.023em; overflow-wrap: anywhere; }
.ld-edit-ttl .h2sub { display: block; font-size: 13.5px; color: var(--w-ink-alt); margin-top: 2px; overflow-wrap: anywhere; }
.ld-busy { border-radius: 14px; padding: 22px 20px; background: var(--w-fill); font-size: 14px; text-align: center; margin-bottom: 16px; }
.ld-busy b { display: block; margin-bottom: 4px; }
.ld-busy.err { background: var(--w-red-bg); }
.ld-busy.err b { color: var(--w-red-text); }
.ld-busy-msg { font-size: 13.5px; color: var(--w-ink-neutral); overflow-wrap: anywhere; }
.ld-busy-acts { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 12px; }
.ld-busy-spin { display: block; width: 22px; height: 22px; margin: 0 auto 10px; border-radius: 50%; border: 3px solid var(--w-primary);
  border-right-color: transparent; animation: ldSpin .8s linear infinite; }

.ld-review { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; align-items: start; }
.ld-orig { position: sticky; top: 12px; min-width: 0; }
.ld-orig-lab { font-size: 12px; color: var(--w-ink-alt); margin-bottom: 6px; display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.ld-orig-name { color: var(--w-primary); text-decoration: none; overflow-wrap: anywhere; min-width: 0; }
.ld-orig-name:hover { text-decoration: underline; }
.ld-orig-view { max-height: calc(100vh - 150px); overflow: auto; border-radius: 10px; }
.ld-orig-view a { display: block; }
.ld-orig-view img { display: block; width: 100%; height: auto; border: 1px solid var(--w-line); border-radius: 10px; background: var(--w-fill); }
.ld-noimg { font-size: 13px; color: var(--w-ink-alt); background: var(--w-fill); border-radius: 10px; padding: 40px 16px; text-align: center; }
.ld-page .ld-srctext { margin: 0; white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; font-family: inherit; font-size: 13px; line-height: 1.6;
  background: var(--w-fill); border-radius: 10px; padding: 12px 14px; }
.ld-thumbs { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.ld-thumbs button { font: inherit; font-size: 11.5px; padding: 3px 8px; border-radius: 6px; background: var(--w-fill); color: var(--w-ink-alt);
  border: 0; cursor: pointer; min-width: 26px; }
.ld-thumbs button:hover { background: var(--w-fill-strong); color: var(--w-ink); }
.ld-thumbs button.on { background: var(--w-ink); color: #fff; }
.ld-form { min-width: 0; }

.ld-checks { border: 1px solid var(--ld-need-line); background: var(--w-orange-bg); border-radius: 12px; padding: 10px 14px; font-size: 13px; margin-bottom: 14px; }
.ld-checks > b { color: var(--w-orange-text); }
.ld-checks.ok { border-color: rgba(0, 191, 64, .35); background: var(--w-green-bg); }
.ld-checks.ok > b { color: var(--w-green-text); }
.ld-checks ol, .ld-checks ul { margin: 6px 0 0; padding-left: 18px; }
.ld-checks li { margin: 2px 0; }
.ld-checks li.err::marker { color: var(--w-red-text); font-weight: 700; }
.ld-checks li button { border: 0; background: none; padding: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.ld-checks li button:hover { text-decoration: underline; }
.ld-checks-info { color: var(--w-ink-alt); }
/* 하나씩 확인 (2026-10-11 시안 C) — 확인 상자는 요약 + 전체 목록, 아래 안내 바가 한 줄씩 */
.ld-checks-hd { display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; }
.ld-checks-hd .ld-btn { margin-left: auto; }
.ld-gd-list { margin-top: 6px; }
.ld-gd-list > summary { cursor: pointer; font-size: 12.5px; color: var(--w-ink-alt); }
.ld-gd-list ol { margin: 6px 0 0; padding-left: 20px; }
.ld-gd-list li.acked, .ld-gd-list li.gone { color: var(--w-green-text); }
.ld-gd-list li.error::marker { color: var(--w-red-text); font-weight: 700; }
.ld-gd-list li.now > button { font-weight: 700; color: var(--w-primary); }
.ld-guide { position: sticky; z-index: 7; bottom: 70px; margin: 14px 0 -6px; background: #1B1C1E; color: #fff; border-radius: 14px; padding: 12px 14px;
  display: flex; gap: 10px 14px; align-items: center; flex-wrap: wrap; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); font-size: 13.5px; }
.ld-gd-l { display: flex; gap: 12px; align-items: flex-start; flex: 1 1 320px; min-width: 0; }
.ld-gd-n { font-size: 22px; font-weight: 800; line-height: 1; white-space: nowrap; }
.ld-gd-n small { font-size: 12px; font-weight: 600; opacity: .6; }
.ld-gd-t { font-weight: 600; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
.ld-gd-kind { display: inline-block; font-size: 11.5px; font-weight: 700; color: #FFC46B; border: 1px solid #FFC46B; border-radius: 999px; padding: 0 8px; margin-right: 6px; vertical-align: 1px; }
.ld-gd-dots { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.ld-gd-dots i { width: 14px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .25); }
.ld-gd-dots i.d { background: #3DDC84; }
.ld-gd-dots i.e { background: #FF6B6B; }
.ld-gd-dots i.n { background: #fff; box-shadow: 0 0 0 1px #fff; }
.ld-gd-r { display: flex; gap: 6px; align-items: center; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.ld-guide .ld-btn.dk { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); color: #fff; }
.ld-guide .ld-btn.dk:hover { background: rgba(255, 255, 255, .18); }
.ld-guide .ld-btn:disabled { opacity: .4; cursor: default; }
.ld-gd-why { font-size: 12.5px; color: #FF9B9B; font-weight: 600; }
.ld-gd-done { font-size: 12.5px; color: #3DDC84; font-weight: 700; }
.ld-gd-x { border: 0; background: none; color: rgba(255, 255, 255, .6); font-size: 18px; line-height: 1; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; font-family: inherit; }
.ld-gd-x:hover { background: rgba(255, 255, 255, .12); color: #fff; }
@media (max-width: 600px) {
  .ld-guide { padding: 10px 12px; }
  .ld-gd-r { flex: 1 1 100%; }
  .ld-gd-r .ld-btn.pri { flex: 1 1 auto; }
}
.ld-checks-note:empty { display: none; }
.ld-checks-note { margin-top: 6px; }

.ld-fld { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px 10px; align-items: center; font-size: 13.5px; margin-bottom: 16px; }
.ld-fld .k { color: var(--w-ink-alt); font-size: 12.5px; }
.ld-fld .v { border: 1px solid var(--w-line); border-radius: 8px; padding: 5px 10px; background: #fff; min-height: 35px; min-width: 0;
  display: flex; align-items: center; gap: 6px 8px; flex-wrap: wrap; }
.ld-fld .v.need { border-color: var(--ld-need-line); background: var(--w-orange-bg); }
.ld-fld .v:focus-within { border-color: var(--w-primary); box-shadow: 0 0 0 3px var(--w-primary-bg); }
.ld-page .ld-fld .v > .ld-in { border: 0; background: transparent; box-shadow: none; padding: 3px 0; flex: 1 1 140px; width: auto; }
.ld-page .ld-fld .v > .ld-in.ld-date { flex: 0 1 150px; }
.ld-page .ld-fld .v > .ld-in.ld-time { flex: 0 1 110px; }
.ld-page .ld-fld .v > select.ld-in { flex: 0 1 240px; }
.ld-celltags { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; }
.ld-celltags:empty { display: none; }
.ld-dow { font-size: 12.5px; color: var(--w-ink-neutral); }
b.ld-dow { font-weight: 700; color: var(--w-ink); }
.ld-raw { flex: 1 1 100%; font-size: 12px; color: var(--w-ink-alt); overflow-wrap: anywhere; }
.ld-unc { flex: 1 1 100%; display: block; font-size: 12px; color: var(--w-orange-text); overflow-wrap: anywhere; }
.ld-aglogo { height: 24px; max-width: 110px; object-fit: contain; }
.ld-agnew { flex: 1 1 100%; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ld-page .ld-agnew .ld-in { flex: 1 1 180px; width: auto; }
.ld-photo-cur { width: 156px; height: 100px; object-fit: cover; border-radius: 6px; border: 1px solid var(--w-line); background: var(--w-fill); }   /* 덱 사진 칸 378×242 와 같은 비율 */
.ld-photo-side { display: inline-flex; flex-direction: column; gap: 4px; align-items: flex-start; min-width: 0; }
.ld-photo-pos { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--w-ink-alt); }
.ld-photo-pos input { width: 130px; accent-color: var(--w-primary); }
.ld-photo-btns { display: inline-flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.ld-photo-grid { flex: 1 1 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; padding: 6px 0 4px; }
.ld-photo-grid button { border: 2px solid transparent; border-radius: 8px; padding: 0; background: var(--w-fill); cursor: pointer; overflow: hidden; aspect-ratio: 378 / 242; }
.ld-photo-grid button:hover, .ld-photo-grid button:focus-visible { border-color: var(--w-primary); }
.ld-photo-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ld-secs-hd { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 4px 0 8px; }
.ld-secs-hd b { font-size: 14.5px; }
.ld-sec { border: 1px solid var(--w-line); border-radius: 12px; margin-bottom: 10px; overflow: hidden; background: #fff; }
.ld-sec-hd { background: var(--ld-band); padding: 8px 10px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ld-page .ld-in.ld-sec-title { flex: 1 1 220px; width: auto; font-weight: 700; background: rgba(255, 255, 255, .7); }
.ld-sec-tools { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.ld-page .ld-in.ld-kind { width: auto; padding: 4px 24px 4px 8px; font-size: 12.5px; }
.ld-kindno { font-size: 11.5px; color: var(--w-ink-alt); white-space: nowrap; }
.ld-kindno:empty { display: none; }
.ld-sec.off { background: var(--w-fill); }
.ld-sec.off .ld-sec-hd { background: var(--w-fill-strong); }
.ld-sec.off .ld-sec-bd { opacity: .6; }
.ld-sec-bd { padding: 10px 12px; font-size: 13px; }
.ld-sec-flags { display: flex; flex-wrap: wrap; gap: 4px; }
.ld-sec-flags:not(:empty) { margin-bottom: 8px; }
.ld-sec-bd > .ld-unc { margin-bottom: 8px; }
.ld-secdl { margin-bottom: 10px; border-radius: 8px; background: var(--w-fill); }
.ld-secdl summary { cursor: pointer; padding: 6px 10px; font-size: 12.5px; font-weight: 600; color: var(--w-ink-neutral); }
.ld-secdl summary .ld-hint { font-weight: 400; margin-left: 4px; overflow-wrap: anywhere; }
.ld-secdl-bd { padding: 2px 10px 10px; display: grid; gap: 8px; }
.ld-lf { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 8px; align-items: center; font-size: 12.5px; }
.ld-lf > span:first-child { color: var(--w-ink-alt); }
.ld-lf-row { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; min-width: 0; }
.ld-secint { display: inline-flex; gap: 4px; align-items: center; flex-wrap: wrap; }
/* 섹션 설명 — 덱에서 띠 아래 회색 기울임(부제·해시태그·머리말 문단). 원문에서 못 찾으면 불릿·안내문과 같은 주황 표시 (2026-10-09) */
.ld-desc { display: block; margin: 0 0 10px; }
.ld-desc > span { display: block; font-size: 12px; color: var(--w-ink-alt); margin-bottom: 4px; }
.ld-desc em { font-style: normal; color: #666; }
/* 입력 칸은 읽기 쉽게 보통 글씨(덱에서는 띠 아래 회색 기울임으로 나감) — 2026-10-11 사장님 '글씨가 너무 안 보임' */
.ld-page .ld-desc .ld-in { color: var(--w-ink); font-style: normal; }
.ld-page .ld-desc.unv .ld-in { border-color: var(--ld-need-line); background: var(--w-orange-bg); }
.ld-desc > .ld-unv { display: block; margin: 4px 0 0; font-size: 11.5px; color: var(--w-orange-text); }
.ld-bls { margin-bottom: 4px; }
.ld-bl { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto auto auto; gap: 6px; align-items: start; margin-bottom: 6px; }
.ld-bl .ld-dot { color: var(--w-ink-alt); padding-top: 7px; text-align: center; font-size: 12px; }
.ld-bl .ld-mini { margin-top: 4px; }
.ld-bl .ld-x { margin-top: 1px; }
.ld-page .ld-bl.sub .ld-in { font-size: 12.5px; color: var(--w-ink-alt); font-style: italic; }
.ld-page .ld-bl.unv .ld-in { border-color: var(--ld-need-line); background: var(--w-orange-bg); }
.ld-unv { grid-column: 2 / -1; font-size: 11.5px; color: var(--w-orange-text); margin-top: -2px; }
.ld-rb { margin: 10px 0 6px; border-top: 1px dashed var(--w-line); padding-top: 10px; }
.ld-rb-hd { display: flex; gap: 6px; align-items: center; margin-bottom: 4px; }
.ld-page .ld-in.ld-rb-head { flex: 1 1 auto; width: auto; font-weight: 700; }
.ld-ref { display: grid; grid-template-columns: 20px minmax(0, 1fr) 28px; gap: 6px; align-items: start; padding: 8px 0; border-top: 1px dashed var(--w-line); }
.ld-rb-hd + .ld-ref { border-top: 0; }
.ld-ref-no { color: var(--w-ink-alt); font-size: 12px; padding-top: 8px; text-align: right; }
.ld-ref-main { min-width: 0; }
.ld-ref-l1 { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.4fr); gap: 6px; align-items: center; }
.ld-page .ld-ref-l1 .ld-in { font-weight: 600; }
.ld-sep { color: var(--w-ink-alt); }
.ld-ref-l2 { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.ld-page .ld-ref-l2 .ld-in { flex: 1 1 220px; width: auto; font-size: 12.5px; }
.ld-ref-st { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ld-open { font-size: 12px; color: var(--w-primary); text-decoration: none; }
.ld-open:hover { text-decoration: underline; }
.ld-ref-yt { font-size: 11.5px; color: var(--w-orange-text); margin-top: 4px; overflow-wrap: anywhere; }
.ld-ref-yt:empty { display: none; }
.ld-page .ld-in.ld-ref-note { margin-top: 6px; font-size: 12.5px; font-style: italic; color: var(--w-ink-neutral); }
.ld-foot { display: block; margin-top: 10px; }
.ld-foot > span { display: block; font-size: 12px; color: var(--w-ink-alt); margin-bottom: 4px; }
.ld-foot em { font-style: normal; color: #E0442E; }
.ld-page .ld-foot .ld-in { color: #C8371F; font-size: 12.5px; }
/* 원문에서 못 찾은 안내문 — 불릿(.ld-bl.unv)과 같은 주황 표시 (2026-10-08 점검) */
.ld-page .ld-foot.unv .ld-in { border-color: var(--ld-need-line); background: var(--w-orange-bg); }
.ld-foot > .ld-unv { display: block; margin: 4px 0 0; font-size: 11.5px; color: var(--w-orange-text); }

.ld-extra { border: 1px solid var(--w-line); border-radius: 12px; padding: 8px 12px; margin: 10px 0; font-size: 13px; background: #fff; }
.ld-extra summary { cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.ld-extra ul { margin: 8px 0 6px; padding-left: 18px; }
.ld-extra li { margin: 3px 0; overflow-wrap: anywhere; }
.ld-internal { border: 1px dashed #C2C4C8; background: var(--w-fill); border-radius: 12px; overflow: hidden; margin: 12px 0 4px; }
.ld-internal-hd { background: var(--w-fill-strong); padding: 8px 12px; font-weight: 700; font-size: 13.5px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.ld-internal-hd .ld-hint { font-weight: 400; }
.ld-internal-bd { padding: 10px 12px; display: grid; gap: 8px; }
.ld-int-f > span { display: block; font-size: 12px; color: var(--w-ink-alt); margin-bottom: 3px; }

.ld-acts { position: sticky; bottom: 0; z-index: 6; background: rgba(255, 255, 255, .96); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border-top: 1px solid var(--w-line); margin-top: 14px; padding: 12px 0; display: flex; gap: 8px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.ld-dirty { margin-right: auto; font-size: 12.5px; font-weight: 600; color: var(--w-orange-text); }
/* 확인 화면에서는 오른쪽 아래 로그인 표시가 [이번 달 덱에 넣기]를 덮지 않게 숨긴다 */
body:has(#page-leaddeck-edit.on) #authBar { display: none !important; }

.ld-flash { animation: ldFlash 1.6s ease; }
@keyframes ldFlash { 0%, 40% { box-shadow: 0 0 0 3px rgba(255, 146, 0, .55); } 100% { box-shadow: 0 0 0 3px rgba(255, 146, 0, 0); } }

/* 유튜브 후보 팝오버 (.ld-page 기준 위치) */
.ld-pop { position: absolute; z-index: 40; width: min(380px, calc(100vw - 16px)); box-sizing: border-box; background: #fff; border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--w-line), var(--w-shadow-md); padding: 8px; font-size: 13px; }
.ld-pop-hd { display: flex; align-items: center; gap: 8px; padding: 2px 2px 6px 6px; }
.ld-pop-hd .ld-hint { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-pop-err { color: var(--w-red-text); padding: 8px 6px; overflow-wrap: anywhere; }
.ld-pop-ft { padding: 6px 6px 2px; }
.ld-cand { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; text-align: left; border: 0; background: none;
  border-radius: 8px; padding: 6px; cursor: pointer; font: inherit; color: inherit; }
.ld-cand:hover, .ld-cand:focus-visible { background: var(--w-fill); outline: 0; }
.ld-cand img, .ld-cand-noimg { display: block; width: 96px; height: 54px; object-fit: cover; border-radius: 6px; background: var(--w-fill); }
.ld-cand b { display: block; font-size: 13px; line-height: 1.35; font-weight: 600; overflow-wrap: anywhere; }
.ld-cand small { display: block; color: var(--w-ink-alt); font-size: 12px; margin-top: 2px; }

/* 미리보기 모달 · iframe (1440px 덱을 폭에 맞춰 축소) */
.ld-modal-back { position: fixed; inset: 0; z-index: 1000; background: rgba(0, 0, 0, .45); display: flex; align-items: flex-start; justify-content: center;
  padding: 24px 16px; overflow: auto; }
html:has(#page-leaddeck-edit.on #ldPvModal:not([hidden])) { overflow: hidden; }
body:has(#page-leaddeck-edit.on #ldPvModal:not([hidden])) .toast { z-index: 1001; }
.ld-modal { background: #fff; border-radius: 14px; width: min(1200px, 100%); box-shadow: 0 12px 40px rgba(0, 0, 0, .25); overflow: hidden; }
.ld-modal-hd { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid var(--w-line); }
.ld-modal-hd > b { font-size: 15px; overflow-wrap: anywhere; }
.ld-modal-hd .ld-btn { margin-left: auto; }
.ld-modal-bd { padding: 16px; background: var(--w-fill); }
.ld-pv-msg { font-size: 12.5px; color: var(--w-ink-alt); }
.ld-pv-msg:empty { display: none; }
.ld-pv-msg.warn { color: var(--w-red-text); font-weight: 600; }
.ld-modal-bd .ld-pv-msg { margin-bottom: 10px; }
.ld-pvbox { position: relative; overflow: hidden; background: #fff; border-radius: 6px; box-shadow: 0 0 0 1px #d9d9dc, 0 2px 10px rgba(0, 0, 0, .06); }
.ld-pvbox iframe { display: block; border: 0; width: 1440px; height: 900px; transform-origin: 0 0; background: #fff; }

/* ── ③ 이번 달 덱 (시안 ④) ── */
.ld-headbtns { display: inline-flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.ld-done { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: space-between; border-radius: 12px; padding: 12px 16px; margin-bottom: 14px;
  background: var(--w-green-bg); font-size: 13.5px; }
.ld-done b { color: var(--w-green-text); }
.ld-deckgrid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.ld-deckpv { min-width: 0; }
.ld-deckpv .ld-pv-msg { margin-bottom: 8px; }
.ld-deckside { min-width: 0; }
.ld-box { border-radius: 16px; box-shadow: inset 0 0 0 1px var(--w-line); background: #fff; padding: 16px 18px; margin-bottom: 14px; }
.ld-box h3 { margin: 0 0 8px; font-size: 15px; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.ld-box h3 .ld-hint { font-weight: 400; }
.ld-drow { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--w-line-alt); font-size: 13.5px; }
.ld-drow:first-child { border-top: 0; }
.ld-dno { flex: none; width: 18px; color: var(--w-ink-alt); font-size: 12px; text-align: right; }
.ld-dmain { flex: 1; min-width: 0; }
.ld-dmain b { overflow-wrap: anywhere; }
.ld-dmain .ld-tags { margin-left: 6px; }
.ld-page .ld-notice { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; font-size: 12.5px; line-height: 1.6; background: var(--w-fill);
  border-radius: 10px; padding: 10px 12px; max-height: 320px; overflow: auto; }

/* ── ④ 기획사·설정 ── */
.ld-ai-hd { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ld-ai-hd h3 { margin: 0; }
.ld-ai-info { font-size: 13px; color: var(--w-ink-neutral); margin: 6px 0 10px; }
.ld-ai-info:empty { display: none; }
.ld-ai-key { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.ld-page .ld-ai-key .ld-in { flex: 1 1 260px; width: auto; max-width: 520px; }
.ld-grid { margin-top: 10px; }
.ld-grow { display: grid; gap: 8px; align-items: center; padding: 8px 0; border-top: 1px solid var(--w-line-alt); }
.ld-grow.ld-ghead { border-top: 0; padding: 0 0 4px; font-size: 12px; color: var(--w-ink-alt); }
.ld-ag .ld-grow { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 140px auto; }
.ld-ar .ld-grow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 190px; }
.ld-logo-cell { display: flex; align-items: center; min-width: 0; }
.ld-logo { height: 36px; max-width: 130px; object-fit: contain; }
.ld-row-btns { display: inline-flex; gap: 4px; justify-content: flex-end; flex-wrap: wrap; }
.ld-ar-ph { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ld-ar-img { width: 62px; height: 40px; object-fit: cover; border-radius: 6px; border: 1px solid var(--w-line); flex: none; }
.ld-ag-add { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--w-line); }
.ld-page .ld-ag-add .ld-in { flex: 1 1 200px; width: auto; }

/* ── 좁은 화면 ── */
@media (max-width: 1000px) {
  .ld-deckgrid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .ld-review { grid-template-columns: 1fr; }
  .ld-orig { position: static; }
  .ld-orig-view { max-height: 60vh; }
}
@media (max-width: 760px) {
  .ld-ag .ld-grow, .ld-ar .ld-grow { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 12px 0; }
  .ld-grow.ld-ghead { display: none; }
  .ld-row-btns { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .home-wrap.ld-wrap { padding: 16px 14px 28px; }
  .ld-fld { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ld-fld .k { margin-top: 6px; }
  .ld-hide-sm { display: none; }
  table.ld-list th, table.ld-list td { padding: 8px 4px; }
  .ld-rowacts { flex-direction: column; align-items: flex-end; }
  .ld-ref-l1 { grid-template-columns: minmax(0, 1fr); }
  .ld-ref-l1 .ld-sep { display: none; }
  .ld-lf { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ld-acts .ld-btn { flex: 1 1 auto; }
  .ld-dirty { flex: 1 1 100%; }
  .ld-drop { padding: 22px 12px; }
  .ld-modal-back { padding: 8px; }
  .ld-modal-bd { padding: 10px; }
  .ld-photo-btns { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ld-spin::before, .ld-busy-spin { animation: none; }
  .ld-flash { animation: none; box-shadow: 0 0 0 3px rgba(255, 146, 0, .55); }
}

/* ── 메일 하나에 의뢰 여러 개 · 마감 지남 (2026-10-09) ── */
.ld-lab { margin-left: 5px; font-weight: 600; color: var(--w-ink-neutral); overflow-wrap: anywhere; }
.ld-tag.ld-tag-xs { font-size: 10.5px; line-height: 15px; padding: 1px 7px; font-weight: 500; }
.ld-linkbtn + .ld-tag-xs { margin-left: 4px; }
table.ld-list tr.ld-row-exp td { background: var(--w-fill); }
table.ld-list tr.ld-row-exp .ld-name,
table.ld-list tr.ld-row-exp .ld-lab,
table.ld-list tr.ld-row-exp td.ld-nowrap,
table.ld-list tr.ld-row-exp .ld-srccell { color: var(--w-ink-alt); }
.ld-ttl-lab { margin-left: 8px; font-size: 18px; font-weight: 600; color: var(--w-ink-neutral); }
.ld-split-line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 6px; }
.ld-sib { font-size: 13px; font-weight: 600; color: var(--w-primary); }
.ld-sib:hover { text-decoration: underline; }

/* 확인 화면에서 기획사 로고 고르기 (2026-10-11) — 로고는 흰 바탕·여백 있게 */
.ld-logo-pick { flex: 1 1 100%; margin-top: 6px; }
.ld-logo-pick .ld-photo-grid button { background: #fff; box-shadow: inset 0 0 0 1px var(--w-line); }
.ld-logo-pick .ld-photo-grid img { object-fit: contain; padding: 6px; box-sizing: border-box; }

/* 덱 배포 확인 창 (2026-10-11 시안 A) */
.ld-modal.ld-dist { width: min(680px, 100%); }
.ld-dist-bd { padding: 14px 16px 6px; display: grid; gap: 10px; max-height: calc(100vh - 190px); overflow: auto; }
.ld-dist-ft { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; padding: 12px 16px 14px; border-top: 1px solid var(--w-line); }
.ld-dcard { border: 1px solid var(--w-line); border-radius: 12px; padding: 12px 14px; display: grid; gap: 8px; }
.ld-dcard.off { background: var(--w-fill); }
.ld-dcard.off .ld-dmail, .ld-dcard.off .ld-dchips { opacity: .55; }
.ld-dhd { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: space-between; }
.ld-dch { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-size: 14px; }
.ld-dch input { width: 18px; height: 18px; accent-color: var(--w-primary); margin: 0; }
.ld-dchips { display: flex; flex-wrap: wrap; gap: 6px; }
.ld-dchip { display: inline-flex; align-items: center; border: 1px solid var(--w-line); border-radius: 999px; padding: 2px 10px; font-size: 12.5px; background: #fff; }
.ld-dchip.off { color: var(--w-ink-alt); background: var(--w-fill); }
.ld-dchip.ok { color: var(--w-green-text); background: var(--w-green-bg); border-color: transparent; }
.ld-dmail { display: grid; gap: 6px; background: var(--w-fill); border-radius: 10px; padding: 10px; }
.ld-page .ld-dmail .ld-in { background: #fff; }
.ld-page .ld-dmail textarea.ld-in { resize: vertical; min-height: 150px; font: inherit; font-size: 13px; line-height: 1.55; }
.ld-dmail-ft { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.ld-dfile { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--w-line); background: #fff; border-radius: 8px; padding: 3px 10px; font-size: 12px; max-width: 100%; overflow-wrap: anywhere; }
.ld-dedit { border: 1px solid var(--w-line); border-radius: 10px; padding: 10px; display: grid; gap: 8px; }
.ld-dedit-hd, .ld-dedit-ft, .ld-daddrow { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ld-dedit-hd .ld-in { flex: 1 1 200px; width: auto; }
.ld-dedit-ft { justify-content: space-between; }
.ld-dlist { max-height: 240px; overflow: auto; border: 1px solid var(--w-line); border-radius: 8px; }
.ld-dli { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-top: 1px solid var(--w-line-alt); font-size: 13px; min-width: 0; }
.ld-dli:first-child { border-top: 0; }
.ld-dli.no { color: var(--w-ink-alt); }
.ld-dli input { accent-color: var(--w-primary); flex: none; }
.ld-dmailaddr { margin-left: auto; color: var(--w-ink-alt); font-size: 12px; overflow-wrap: anywhere; text-align: right; }
.ld-dextra { display: grid; gap: 4px; }
.ld-dextra > b { font-size: 13px; }
.ld-page .ld-daddrow .ld-in { flex: 1 1 160px; width: auto; }
.ld-dprog { display: grid; gap: 10px; padding: 18px 4px; }
.ld-dbar { height: 8px; border-radius: 9px; background: var(--w-fill-strong); overflow: hidden; }
.ld-dbar i { display: block; height: 100%; background: var(--w-primary); border-radius: 9px; transition: width .4s; }
.ld-dres { border: 1px solid rgba(0, 191, 64, .35); background: var(--w-green-bg); border-radius: 12px; padding: 12px 14px; display: grid; gap: 4px; font-size: 13.5px; }
.ld-dres > b { color: var(--w-green-text); font-size: 14.5px; }
.ld-dres.warn { border-color: var(--ld-need-line); background: var(--w-orange-bg); }
.ld-dres.warn > b { color: var(--w-orange-text); }
.ld-dbad { color: var(--w-red-text); font-weight: 600; }
.ld-dfail { border: 1px solid var(--w-line); border-radius: 10px; padding: 8px 10px; display: grid; gap: 2px; }
.ld-dfail > b { font-size: 13px; }
.ld-done-btns { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.ld-distsum { color: var(--w-green-text); }
@media (max-width: 600px) {
  .ld-dist-bd { padding: 12px; max-height: calc(100vh - 170px); }
  .ld-dist-ft .ld-btn { flex: 1 1 auto; }
  .ld-dli { flex-wrap: wrap; }
  .ld-dmailaddr { margin-left: 26px; text-align: left; flex-basis: 100%; }
}
.ld-dsubj { font-weight: 700; font-size: 13.5px; }
.ld-dbody { margin: 0; white-space: pre-wrap; font: inherit; font-size: 13px; line-height: 1.55; color: var(--w-ink-neutral); max-height: 220px; overflow: auto; background: #fff; border-radius: 8px; padding: 8px 10px; }

/* 빨간 글씨 줄 (2026-10-11) — 덱에서 빨갛게 나가는 줄은 입력 칸도 빨간 글씨 */
.ld-bl { grid-template-columns: 14px minmax(0, 1fr) auto auto auto auto; }
.ld-page .ld-bl.red .ld-in, .ld-page .ld-desc.red .ld-in { color: #F22900; font-weight: 500; }
.ld-mini.ld-redbtn.on { background: #F22900; border-color: #F22900; color: #fff; }
.ld-desc > span .ld-redbtn { margin-left: 8px; padding: 1px 7px; font-size: 11.5px; vertical-align: 1px; }

/* 다음 판 번호 (2026-10-11) */
.ld-page .ld-nextver{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:400}
.ld-page .ld-nextver b{color:var(--ink,#171719)}
.ld-page .ld-vernum{width:64px;height:28px;border:1px solid #c9c9cf;border-radius:8px;padding:0 8px;font:inherit;font-size:14px}

/* 배포 창 — 보내는 주소 (2026-10-11) */
.ld-page .ld-dfrom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;font-size:13.5px}
.ld-page .ld-dfrom b{font-weight:600}
.ld-page .ld-dmailset{margin-top:6px}
.ld-page .ld-dmailrow{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;margin-bottom:6px}
.ld-page .ld-dmailrow label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:rgba(55,56,60,.75)}
@media (max-width:720px){.ld-page .ld-dmailrow{grid-template-columns:1fr}}
.ld-page .ld-dcc{margin-top:2px}
.ld-page .ld-dcc .ld-in{flex:1 1 260px;min-width:0;height:32px}
.ld-page .ld-dworks{margin-top:2px}
.ld-page .ld-steps{margin:0 0 8px;padding-left:20px;font-size:13px;line-height:1.7}
.ld-page .ld-wredir{display:block;margin-top:4px;text-align:left;margin-left:0;word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:12px}
.ld-page .ld-wrow{grid-template-columns:1fr 1fr}
