
:root{--kc-bg:#f8fafc;--kc-surface:#fff;--kc-border:#e2e8f0;--kc-border-hover:#cbd5e1;--kc-text:#1e293b;--kc-text-md:#334155;--kc-text-lo:#64748b;--kc-text-xlo:#94a3b8;--kc-primary:#2563eb;--kc-primary-l:#eff6ff;--kc-accent:#06b6d4;--kc-danger:#dc2626;--kc-success:#059669}
.kc-wrap{max-width:720px;margin:0 auto;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",Pretendard,sans-serif;color:var(--kc-text);-webkit-font-smoothing:antialiased;line-height:1.6}
.kc-wrap *,.kc-wrap *::before,.kc-wrap *::after{box-sizing:border-box}
.kc-breadcrumb{font-size:12.5px;color:var(--kc-text-xlo);padding:16px 0 8px}
.kc-breadcrumb a{color:var(--kc-text-lo);text-decoration:none}
.kc-breadcrumb a:hover{color:var(--kc-primary)}
.kc-card{background:var(--kc-surface);border:1.5px solid var(--kc-border);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.kc-label{display:block;font-size:13.5px;font-weight:600;color:var(--kc-text-md);margin-bottom:8px}
.kc-input-group{position:relative;display:flex;align-items:center}
.kc-input{width:100%;height:48px;padding:0 16px;font-size:16px;font-weight:600;color:var(--kc-text);background:var(--kc-surface);border:1.5px solid var(--kc-border);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.kc-input:focus{border-color:var(--kc-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.kc-input::placeholder{color:var(--kc-text-xlo);font-weight:400}
.kc-input-suffix{position:absolute;right:16px;font-size:14px;font-weight:600;color:var(--kc-text-xlo);pointer-events:none}
.kc-select{width:100%;height:48px;padding:0 16px;font-size:15px;font-weight:600;color:var(--kc-text);background:var(--kc-surface);border:1.5px solid var(--kc-border);border-radius:10px;outline:none;cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none}
.kc-select:focus{border-color:var(--kc-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.kc-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:600px){.kc-grid-2,.kc-grid-3{grid-template-columns:1fr}}
.kc-btn-group{display:flex;flex-wrap:wrap;gap:8px}
.kc-btn-preset{padding:8px 16px;font-size:13px;font-weight:600;color:var(--kc-text-md);background:var(--kc-surface);border:1.5px solid var(--kc-border);border-radius:20px;cursor:pointer;transition:all .15s;font-family:inherit}
.kc-btn-preset:hover{border-color:var(--kc-border-hover)}
.kc-btn-preset.active{background:var(--kc-primary);border-color:var(--kc-primary);color:#fff;box-shadow:0 2px 6px rgba(37,99,235,.25)}
.kc-result-hero{background:linear-gradient(135deg,#2563eb,#1d4ed8);padding:32px 24px;text-align:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.kc-result-label{margin:0 0 6px;font-size:13.5px;font-weight:500;opacity:.85}
.kc-result-value{font-size:42px;font-weight:800;letter-spacing:-1px;color:#fff}
.kc-result-unit{font-size:20px;font-weight:600;color:#fff;margin-left:4px}
.kc-result-sub{margin:8px 0 0;font-size:13px;opacity:.75}
.kc-result-sub strong{opacity:1}
.kc-animate-pulse{display:inline-block}
.kc-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #f1f5f9}
.kc-summary-item{padding:16px 20px;text-align:center;border-right:1px solid #f1f5f9}
.kc-summary-item:last-child{border-right:none}
.kc-summary-label{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--kc-text-xlo)}
.kc-summary-val{margin:0;font-size:16px;font-weight:800;color:var(--kc-text)}
.kc-summary-val.danger{color:var(--kc-danger)}
.kc-detail-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:14px;font-weight:700;color:var(--kc-text-md);background:none;border:none;cursor:pointer;font-family:inherit}
.kc-detail-toggle svg{width:16px;height:16px;transition:transform .2s}
.kc-detail-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.kc-detail-panel{display:none;padding-top:12px}
.kc-detail-panel.open{display:block}
.kc-section-label{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--kc-text-xlo);text-transform:uppercase;letter-spacing:.05em}
.kc-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9}
.kc-row-left{display:flex;align-items:center;gap:10px}
.kc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.kc-row-name{font-size:14px;font-weight:500;color:var(--kc-text-md)}
.kc-row-rate{font-size:12px;font-weight:600;color:var(--kc-text-xlo);margin-left:6px}
.kc-row-val{font-size:14px;font-weight:700;color:var(--kc-text)}
.kc-subtotal{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-top:4px;border-top:2px solid var(--kc-border)}
.kc-subtotal-label{font-size:13px;font-weight:700;color:var(--kc-text-md)}
.kc-subtotal-val{font-size:15px;font-weight:800;color:var(--kc-text)}
.kc-table{width:100%;border-collapse:collapse;font-size:13.5px}
.kc-table th{background:#f9fafb;padding:12px 20px;font-weight:600;color:var(--kc-text-lo);border-top:1px solid var(--kc-border);border-bottom:1px solid var(--kc-border);text-align:left}
.kc-table td{padding:13px 20px;border-bottom:1px solid #f3f4f6;color:var(--kc-text-md)}
.kc-faq{margin:12px 0 0}
.kc-faq details{border-bottom:1px solid #f1f5f9}
.kc-faq details:last-child{border-bottom:none}
.kc-faq summary{padding:16px 0;font-size:14.5px;font-weight:600;color:var(--kc-text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}
.kc-faq summary::-webkit-details-marker{display:none}
.kc-faq summary::after{content:"BE";font-size:12px;color:var(--kc-text-xlo);transition:transform .2s}
.kc-faq details[open] summary::after{transform:rotate(180deg);color:var(--kc-primary)}
.kc-faq-answer{padding:0 0 16px;font-size:14px;color:var(--kc-text-md);line-height:1.7}
.kc-link-card{display:block;text-decoration:none;padding:18px 20px;background:var(--kc-surface);border:1.5px solid var(--kc-border);border-radius:14px;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.kc-link-card:hover{border-color:var(--kc-border-hover);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.kc-link-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kc-link-card h3{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--kc-text)}
.kc-link-card p{margin:0;font-size:13px;color:var(--kc-text-lo);line-height:1.5}
.kc-disclaimer{font-size:12px;color:var(--kc-text-xlo);line-height:1.6;padding:16px 0}
.kc-footer-note{text-align:center;margin-top:12px;padding-top:16px;border-top:1px solid #f1f5f9}
.kc-ad-slot{min-height:0;margin:16px 0}
@media(max-width:600px){.kc-summary{grid-template-columns:1fr}.kc-summary-item{border-right:none;border-bottom:1px solid #f1f5f9}.kc-summary-item:last-child{border-bottom:none}.kc-result-value{font-size:34px}}

/* KC-MOBILE-MEDIA-V1 ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  .kc-wrap { padding: 0 14px; }
  .kc-card { padding: 18px 16px; margin-bottom: 14px; border-radius: 14px; }
  .kc-label { font-size: 13.5px; margin-bottom: 7px; }
  .kc-input, .kc-select { padding: 13px 14px; font-size: 16px; border-radius: 10px; }
  .kc-input-group .kc-input { padding-right: 54px; }
  .kc-btn-group { gap: 6px; }
  .kc-btn-preset { padding: 9px 13px; font-size: 13px; border-radius: 9px; }
  .kc-result-hero { padding: 22px 16px; border-radius: 14px 14px 0 0; }
  .kc-result-hero .kc-result-value { font-size: 28px; letter-spacing: -0.035em; }
  .kc-result-hero .kc-result-unit { font-size: 16px; }
  .kc-summary { padding: 14px 12px; gap: 2px; }
  .kc-summary-label { font-size: 10.5px; letter-spacing: .02em; }
  .kc-summary-val { font-size: 14px; }
  .kc-row { padding: 11px 0; gap: 12px; }
  .kc-row-left { gap: 8px; min-width: 0; flex: 1 1 auto; }
  .kc-row-name { white-space: normal; word-break: keep-all; line-height: 1.4; }
  .kc-row-val { font-size: 13.5px; text-align: right; flex-shrink: 0; }
  .kc-row-rate { font-size: 10.5px; }
  .kc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -16px; padding: 0 16px; }
  .kc-table { font-size: 12.5px; }
  .kc-table td, .kc-table th { padding: 9px 10px; white-space: nowrap; }
  .kc-table td:first-child, .kc-table th:first-child { white-space: normal; word-break: keep-all; }
  .kc-faq summary { padding: 14px 0; font-size: 14.5px; line-height: 1.5; }
  .kc-faq .kc-faq-answer { padding: 10px 0 16px; font-size: 13.5px; line-height: 1.75; }
  .kc-breadcrumb { font-size: 12px; margin-bottom: 12px; white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kc-disclaimer { font-size: 11.5px; line-height: 1.75; margin-top: 20px; }
  .kc-link-card { padding: 14px; border-radius: 10px; }
}
/* KC-MOBILE-MEDIA-V1 END */
