/* 2026-10-30 새 디자인 '기한 달력' (kooltip-claude/DESIGN.md). body.ktv2-d3일 때만 적용 — 스위치를 끄면 전부 빠진다. */
.ktv2-d3{
  --ktv2-ink:#14263d; --ktv2-muted:#546378; --ktv2-line:#dce3ea; --ktv2-wash:#f3f6f9;
  --ktv2-radius-sm:6px; --ktv2-radius-md:6px; --ktv2-radius-lg:6px; --ktv2-shadow:none;
  --d3-due:#c0352b; --d3-pay:#1f6b57; --d3-curtain:#0f1e31; --d3-ease:cubic-bezier(.2,.7,.2,1);
}
/* 미리보기(승인안)와 같은 본문 폭. 지금 사이트는 body.kt-site-v2에서 1680px */
body.kt-site-v2.ktv2-d3{--ktv2-content:1112px}
.ktv2-d3 :focus-visible{outline:2px solid var(--ktv2-ink);outline-offset:3px}
/* 제목 위 작은 라벨·링크 화살표는 쓰지 않는다(DESIGN.md AI 티 5번) */
.ktv2-d3 .ktv2-kicker{display:none}
.ktv2-d3 .ktv2-topic-grid a::after{display:none}
.ktv2-d3 .ktv2-side-nav a span[aria-hidden]{display:none}
.ktv2-d3 .ktv2-post-card .ktv2-card-media,.ktv2-d3 .ktv2-topic-grid a,.ktv2-d3 .ktv2-shortcuts a{border-radius:6px;box-shadow:none}
.ktv2-d3 .ktv2-footer{background:var(--d3-curtain)}

/* ── 홈 ── */
.ktv2-d3-home{width:min(calc(100% - 40px),var(--ktv2-content));margin:0 auto;padding-bottom:24px;color:var(--ktv2-ink)}
.ktv2-d3-home .d3-hero{display:grid;grid-template-columns:150px minmax(0,1fr) 340px;gap:32px;align-items:center;padding:44px 0 28px}
.d3-leaf{border:1px solid var(--ktv2-line);border-radius:6px;text-align:center;overflow:hidden;background:#fff}
.d3-leaf .m{background:var(--ktv2-ink);color:#fff;font-weight:700;font-size:14px;padding:7px 0}
.d3-leaf .d{font-weight:800;font-size:64px;line-height:1.05;letter-spacing:-.04em;padding:10px 0 2px;font-variant-numeric:tabular-nums}
.d3-leaf .w{color:var(--ktv2-muted);font-weight:600;font-size:14px;padding:0 0 12px}
.d3-hero-copy h1{font-size:clamp(28px,3.4vw,44px);line-height:1.18;letter-spacing:-.035em;margin:0 0 12px;font-weight:800;text-wrap:balance;color:var(--ktv2-ink)}
.d3-hero-copy p{margin:0;color:var(--ktv2-muted);font-size:17px;line-height:1.6}
.d3-hero-side{display:grid;gap:12px}
.d3-search{display:flex;border:1px solid var(--ktv2-line);border-radius:6px;overflow:hidden;background:#fff}
.d3-search input{flex:1;min-width:0;border:0!important;padding:13px 14px!important;font:inherit;font-size:16px;background:#fff;box-shadow:none!important}
.d3-search button{border:0;background:var(--ktv2-ink);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:0 18px;cursor:pointer;border-radius:0;transition:background-color .15s var(--d3-ease)}
.d3-search button:hover{background:#26476d}
.d3-count{display:flex;gap:18px;font-size:14px;color:var(--ktv2-muted);font-variant-numeric:tabular-nums}
.d3-count b{color:var(--ktv2-ink);font-size:20px;font-weight:800;margin-right:4px}
.d3-count .due b{color:var(--d3-due)}

.d3-rail-sec{background:var(--ktv2-wash);box-shadow:0 0 0 100vmax var(--ktv2-wash);clip-path:inset(0 -100vmax);padding:22px 0 26px;border-top:1px solid var(--ktv2-line)}
.d3-rail-head,.d3-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.d3-rail-head{margin-bottom:12px}
.d3-rail-head h2,.d3-sec-head h2{font-size:20px;letter-spacing:-.02em;margin:0;color:var(--ktv2-ink)}
.d3-rail-head a,.d3-sec-head a{font-size:14px;color:var(--ktv2-muted);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.d3-rail-head a:hover,.d3-sec-head a:hover{color:var(--ktv2-ink);text-decoration-thickness:2px}
.d3-rail{display:grid;grid-template-columns:repeat(14,minmax(64px,1fr));gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
.d3-day{scroll-snap-align:start;background:#fff;border:1px solid var(--ktv2-line);border-radius:6px;padding:8px 8px 10px;min-height:96px;display:flex;flex-direction:column;gap:4px;cursor:pointer;font:inherit;color:var(--ktv2-ink);text-align:left;transition:transform .15s var(--d3-ease),background-color .15s var(--d3-ease),color .15s var(--d3-ease),border-color .15s var(--d3-ease)}
.d3-day .dw{font-size:12px;color:var(--ktv2-muted);font-weight:600}
.d3-day .dn{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.d3-day.sun .dn,.d3-day.sun .dw{color:var(--d3-due)}
.d3-day .tags{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.d3-day .t{font-size:11.5px;font-weight:650;display:flex;align-items:center;gap:4px;white-space:nowrap}
.d3-day .t::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ktv2-ink)}
.d3-day .t.due::before{background:var(--d3-due)}.d3-day .t.pay::before{background:var(--d3-pay)}
.d3-day.empty{background:transparent;cursor:default}
.d3-day.today{border:2px solid var(--ktv2-ink)}
.d3-day:not(.empty):hover,.d3-day[aria-pressed="true"]{transform:translateY(-2px);background:var(--ktv2-ink);border-color:var(--ktv2-ink);color:#fff}
.d3-day:not(.empty):hover *,.d3-day[aria-pressed="true"] *{color:#fff!important}
.d3-day:not(.empty):hover .t::before,.d3-day[aria-pressed="true"] .t::before{background:#fff}
.d3-agenda{margin-top:16px;background:#fff;border:1px solid var(--ktv2-line);border-radius:6px}
.d3-agenda h3{font-size:15px;margin:0;padding:12px 16px;border-bottom:1px solid var(--ktv2-line);color:var(--ktv2-ink)}
.d3-ag{display:grid;grid-template-columns:64px 120px minmax(0,1fr);gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--ktv2-line);text-decoration:none;color:var(--ktv2-ink)}
.d3-agenda h3+.d3-ag,.d3-ag[hidden]+.d3-ag:not([hidden]){border-top:0}
.d3-ag[hidden]{display:none}
.d3-ag .dd{font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.d3-ag .dd.due{color:var(--d3-due)}
.d3-ag .ty{font-size:13px;color:var(--ktv2-muted);font-weight:600}
.d3-ag .ti{font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--ktv2-line);transition:text-decoration-color .15s var(--d3-ease)}
.d3-ag:hover .ti{text-decoration-color:var(--ktv2-ink);text-decoration-thickness:2px}
.d3-empty{margin:0;padding:16px;color:var(--ktv2-muted)}

.d3-sec{padding-top:56px}
.d3-sec-head{border-bottom:1px solid var(--ktv2-line);padding-bottom:10px;margin-bottom:4px}
.d3-posts{list-style:none;margin:0;padding:0}
.d3-post a{display:grid;grid-template-columns:76px minmax(0,1fr) 96px;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--ktv2-line);text-decoration:none;color:var(--ktv2-ink)}
.d3-tab{border:1px solid var(--ktv2-line);border-radius:6px;text-align:center;padding:6px 0 7px;font-variant-numeric:tabular-nums;transition:transform .15s var(--d3-ease),background-color .15s var(--d3-ease),color .15s var(--d3-ease),border-color .15s var(--d3-ease)}
.d3-tab .tm{display:block;font-size:11.5px;color:var(--ktv2-muted);font-weight:600}
.d3-tab .td{display:block;font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.15}
.d3-post-copy{display:block;min-width:0}
.d3-post .pc{display:block;font-size:13px;color:var(--ktv2-muted);font-weight:600}
.d3-post .pt{display:block;margin-top:2px;font-size:17.5px;line-height:1.45;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.d3-post img,.d3-noimg{width:96px;height:96px;object-fit:cover;border-radius:6px;background:var(--ktv2-wash);display:block}
.d3-post a:hover .d3-tab{transform:translateY(-2px);background:var(--ktv2-ink);border-color:var(--ktv2-ink);color:#fff}
.d3-post a:hover .d3-tab *{color:#fff}
.d3-post a:hover .pt{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.d3-ad{list-style:none;padding:16px 0;border-bottom:1px solid var(--ktv2-line)}
.d3-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--ktv2-line);border-top:1px solid var(--ktv2-line);margin-top:16px}
.d3-tools a{border-right:1px solid var(--ktv2-line);border-bottom:1px solid var(--ktv2-line);padding:16px 18px;text-decoration:none;display:grid;gap:2px;color:var(--ktv2-ink);transition:background-color .15s var(--d3-ease),color .15s var(--d3-ease)}
.d3-tools b{font-size:16px}.d3-tools span{font-size:13px;color:var(--ktv2-muted)}
.d3-tools a:hover{background:var(--ktv2-ink);color:#fff}.d3-tools a:hover span{color:#c9d4e1}
.d3-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;position:relative}
.d3-flow::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--ktv2-line)}
.d3-flow a{position:relative;padding:26px 16px 0 0;text-decoration:none;color:var(--ktv2-ink)}
.d3-flow a::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--ktv2-ink);transition:background-color .15s var(--d3-ease)}
.d3-flow a:hover::before{background:var(--ktv2-ink)}
.d3-flow .fd{display:block;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.d3-flow .fw{display:block;font-size:15px;font-weight:700;margin-top:2px}
.d3-flow a:hover .fw{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.d3-flow .fs{display:block;font-size:13px;color:var(--ktv2-muted)}

/* ── 글·계산기 머리 날짜 줄 ── */
.d3-dateline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 0;font-size:14px}
.d3-chip{display:inline-flex;align-items:center;border:1px solid var(--ktv2-line);border-radius:6px;padding:4px 10px;font-weight:650;color:var(--ktv2-ink);background:#fff;font-variant-numeric:tabular-nums;line-height:1.5}
.d3-chip.due{border-color:#efc9c5;color:var(--d3-due);background:#fdf3f2}
.d3-keydates{margin:18px 0 0;border:1px solid var(--ktv2-line);border-radius:6px;padding:16px 18px 18px;background:var(--ktv2-wash);max-width:860px}
.d3-keydates h2{font-size:15px!important;margin:0 0 14px!important;line-height:1.4}
.d3-kd{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));position:relative;margin:0;padding:0}
.d3-kd::before{content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:var(--ktv2-line)}
.d3-kd li{list-style:none;position:relative;padding:22px 12px 0 0;font-size:13.5px;line-height:1.5;color:var(--ktv2-muted);margin:0}
.d3-kd li::before{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--ktv2-ink)}
.d3-kd li.done::before{background:var(--ktv2-ink)}
.d3-kd li.due::before{border-color:var(--d3-due);background:var(--d3-due)}
.d3-kd b{display:block;font-size:14.5px;color:var(--ktv2-ink);font-variant-numeric:tabular-nums}
.d3-kd li.due b{color:var(--d3-due)}

/* ── 계산기: 결과를 명세서 줄로 ── */
.ktv2-d3 .ktc-heading .d3-dateline{margin-top:12px}
.ktv2-d3 .ktc-workspace{border-radius:6px;box-shadow:none}
.ktv2-d3 .ktc-widget [class$="-result"],.ktv2-d3 .ktc-widget #prepay-result,.ktv2-d3 .ktc-widget #it-result{background:#fff!important;border:1px solid var(--ktv2-ink);border-radius:6px}
.ktv2-d3 .ktc-widget [class$="-value"]{color:var(--ktv2-ink)!important;font-variant-numeric:tabular-nums}
.ktv2-d3 .ktc-widget [class$="-rows"] > div{border-bottom:1px dotted #9aa8b7;font-size:14.5px;font-variant-numeric:tabular-nums}
.ktv2-d3 .ktc-widget [class$="-rows"] > div:last-child{border-bottom:1px solid var(--ktv2-ink);font-weight:800}
.ktv2-d3 .ktc-widget button.ktc-calculate{border-radius:6px!important;transition:background-color .15s var(--d3-ease),transform .15s var(--d3-ease)}
.ktv2-d3 .ktc-widget button.ktc-calculate:hover{transform:translateY(-1px)}

@media (max-width:980px){
  .ktv2-d3-home .d3-hero{grid-template-columns:110px minmax(0,1fr)}
  .d3-hero-side{grid-column:1/-1}
  .d3-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ktv2-d3-home{width:calc(100% - 32px)}
  .ktv2-d3-home .d3-hero{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:24px 0 20px}
  .d3-leaf .d{font-size:42px}.d3-leaf .m,.d3-leaf .w{font-size:12px}
  .d3-hero-copy h1{font-size:26px}.d3-hero-copy p{font-size:15px}
  .d3-rail{grid-template-columns:repeat(14,76px)}
  .d3-ag{grid-template-columns:52px minmax(0,1fr);row-gap:2px}
  .d3-ag .ty{grid-column:2;grid-row:1}.d3-ag .ti{grid-column:2}.d3-ag .dd{grid-row:span 2}
  .d3-post a{grid-template-columns:58px minmax(0,1fr) 72px;gap:12px}
  .d3-post img,.d3-noimg{width:72px;height:72px}
  .d3-tab .td{font-size:18px}.d3-post .pt{font-size:16px}
  .d3-flow{grid-template-columns:1fr 1fr;row-gap:22px}.d3-flow::before{display:none}
  .d3-kd{grid-template-columns:1fr 1fr;row-gap:16px}.d3-kd::before{display:none}
}
@media (prefers-reduced-motion:reduce){.ktv2-d3 *{transition:none!important}}
/* 한글 제목은 단어 중간에서 끊지 않는다 */
.ktv2-d3-home,.ktv2-d3 h1,.ktv2-d3 h2,.ktv2-d3 h3{word-break:keep-all;overflow-wrap:break-word}
/* 글 머리: 승인안처럼 제목은 한 단계 작게, 분류 pill·중복된 수정일은 날짜 줄로 대신한다(작성자·읽는 시간은 남김) */
.ktv2-d3 .ktv2-wide-article-heading .entry-title{font-size:clamp(26px,2.8vw,38px)!important;letter-spacing:-.03em!important;line-height:1.25!important}
.ktv2-d3 .ktv2-wide-article-heading .kt-pills{display:none}
.ktv2-d3 .kt-metax > span:not(.av):not(.sep):not(.rt),.ktv2-d3 .kt-metax > .sep:not(.rt){display:none}

/* ── 사이트 전체(2026-10-30 사장님: 모든 페이지 종류에 같은 체계) ── */
/* 목록: 카드 그리드 → 날짜 탭 줄 목록 */
.ktv2-d3 .ktv2-post-grid{display:block!important;border-top:1px solid var(--ktv2-line)}
.ktv2-d3 .ktv2-post-grid > .ktv2-ad-slot{margin:16px 0}
.ktv2-d3 .d3-post .pt{margin:2px 0 0!important;font-size:17.5px!important;line-height:1.45!important;letter-spacing:-.02em;font-weight:700;color:var(--ktv2-ink)}
.ktv2-d3 .ktv2-post-card.d3-post{margin:0}
@media (max-width:640px){.ktv2-d3 .d3-post a{grid-template-columns:58px minmax(0,1fr) 72px;gap:12px}.ktv2-d3 .d3-post img,.ktv2-d3 .d3-noimg{width:72px;height:72px}.ktv2-d3 .d3-post .pt{font-size:16px!important}}

/* 분야·서식·404 바로가기: 카드 → 칸 표 */
.ktv2-d3 .ktv2-topic-grid{gap:0;border-left:1px solid var(--ktv2-line);border-top:1px solid var(--ktv2-line);padding-bottom:0;margin-bottom:56px}
.ktv2-d3 .ktv2-topic-grid a{border:0;border-right:1px solid var(--ktv2-line);border-bottom:1px solid var(--ktv2-line);border-radius:0!important;background:#fff;min-height:0;padding:18px 20px;transition:background-color .15s var(--d3-ease),color .15s var(--d3-ease);transform:none!important;box-shadow:none!important}
.ktv2-d3 .ktv2-topic-grid a:hover{background:var(--ktv2-ink);color:#fff}
.ktv2-d3 .ktv2-topic-grid a:hover span,.ktv2-d3 .ktv2-topic-grid a:hover strong{color:#fff}
.ktv2-d3 .ktv2-guide-links a{border-radius:6px}
.ktv2-d3 .ktv2-guide-links a::after{content:none}
.ktv2-d3 .ktv2-service-heading .d3-leaf{width:120px;margin:0 0 18px}
.ktv2-d3 .d3-leaf-empty .d{color:var(--ktv2-muted)}

/* 계산기 목록: 카드 → 칸 표, 분야 버튼은 남색 */
.ktv2-d3 .ktc-card-grid{gap:0;border-left:1px solid var(--ktv2-line);border-top:1px solid var(--ktv2-line)}
.ktv2-d3 .ktc-card{border:0;border-right:1px solid var(--ktv2-line);border-bottom:1px solid var(--ktv2-line);border-radius:0;min-height:0;padding:18px 20px;box-shadow:none!important;transition:background-color .15s var(--d3-ease),color .15s var(--d3-ease)}
.ktv2-d3 .ktc-card h2{margin:6px 0 4px;font-size:17px}
.ktv2-d3 .ktc-card p{margin:0}
.ktv2-d3 .ktc-card-go{display:none}
.ktv2-d3 .ktc-card:hover{background:var(--ktv2-ink);color:#fff}
.ktv2-d3 .ktc-card:hover *{color:#fff!important}
.ktv2-d3 .ktc-tabs button[aria-pressed="true"]{color:var(--ktv2-ink);border-bottom-color:var(--ktv2-ink)}
.ktv2-d3 .ktc-search button,.ktv2-d3 .ktc-search input{border-radius:6px}
.ktv2-d3 .ktc-search button{background:var(--ktv2-ink)}

/* 지원금 찾기: 초록 버튼·탭 → 남색 */
.ktv2-d3 .ktv2-scale-hub .ktv2-hub-tabs [aria-current]{color:var(--ktv2-ink);border-bottom-color:var(--ktv2-ink)}
.ktv2-d3 .ktv2-scale-hub .ktv2-filter-apply,.ktv2-d3 .ktv2-scale-hub .ktv2-hub-sort button,.ktv2-d3 .ktv2-scale-hub .ktv2-hub-cta,.ktv2-d3 .ktv2-scale-hub .ktv2-hub-pagination [aria-current]{background:var(--ktv2-ink);border-color:var(--ktv2-ink);border-radius:6px}
.ktv2-d3 .ktv2-scale-hub .ktv2-hub-cta:hover,.ktv2-d3 .ktv2-scale-hub .ktv2-filter-apply:hover{background:#26476d}
.ktv2-d3 .ktv2-scale-hub .ktv2-hub-tabs a:hover{color:var(--ktv2-ink);border-bottom-color:#9fb1c6}
.ktv2-d3 .ktv2-scale-hub .ktv2-filters summary{color:var(--ktv2-ink)}

/* 국내주식: 원색 파랑 → 남색, 모서리 6px */
body.ktv2-d3.kt-stock-page{--blue:#14263d;--ink:#14263d;--muted:#546378;--line:#dce3ea;--canvas:#f3f6f9}
.ktv2-d3 .ksh{--kb:#14263d;--ki:#14263d;--km:#546378;--kl:#dce3ea;--ks:#f3f6f9}
.ktv2-d3.kt-stock-page .panel,.ktv2-d3.kt-stock-page .card,.ktv2-d3.kt-stock-page .work-result,.ktv2-d3.kt-stock-page .notice,.ktv2-d3.kt-stock-page .empty,.ktv2-d3 .ksh-task,.ktv2-d3 .ksh-tools,.ktv2-d3 .ksh-guide,.ktv2-d3 .ksh-feature{border-radius:6px}
.ktv2-d3.kt-stock-page .primary-value{color:var(--ink)}
.ktv2-d3.kt-stock-page .work-result{background:#fff;border:1px solid var(--ink)}
.ktv2-d3.kt-stock-page .submit{background:var(--ink);border-radius:6px}
.ktv2-d3.kt-stock-page .submit:hover{background:#26476d}
.ktv2-d3.kt-stock-page .eyebrow{color:var(--muted)}
.ktv2-d3.kt-stock-page .nav a[aria-current=page]{color:var(--ink);border-color:var(--ink)}
.ktv2-d3.kt-stock-page .card,.ktv2-d3 .ksh-task,.ktv2-d3 .ksh-tool,.ktv2-d3 .ksh-guide{color:var(--ink)}
.ktv2-d3 .ksh-task.ksh-primary{color:#fff}
.ktv2-d3.kt-stock-page .status{background:#eef2f6;color:var(--ink)}

/* 배당금 계산기 앱: 공통 머리말을 쓰므로 앱 자체 머리말·건너뛰기는 숨김(앱의 '계산기로 바로가기'는 남김) */
.ktv2-d3.kt-dividend-page .site-header{display:none}
.ktv2-d3.kt-dividend-page > .ktv2-skip{display:none}

/* 자체 스타일을 쓰는 화면(국내주식·배당금 앱)에서 공통 머리말 검색칸이 그 화면의 input 규칙을 받지 않게 */
.ktv2-d3.kt-stock-page .ktv2-header-search input,.ktv2-d3.kt-dividend-page .ktv2-header-search input{border:0!important;min-height:0!important;height:auto!important;padding:0 6px!important;background:transparent!important;box-shadow:none!important;width:150px;font-size:13px}
.ktv2-d3.kt-stock-page main a:not(.card):not([class^="ksh"]):not(.submit){color:#1f4c77}
/* 배당금 앱: 초록 → 남색, 본문 폭 1112px */
body.ktv2-d3.kt-dividend-page{--ink:#14263d;--muted:#546378;--accent:#14263d;--light:#f3f6f9;--line:#dce3ea;--bg:#f3f6f9;--radius:6px}
.ktv2-d3.kt-dividend-page main.ktc-detail{max-width:1112px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:content-box}
