:root{
  --kp-primary:#0f4c81;
  --kp-primary-dark:#123b63;
  --kp-accent:#2563eb;
  --kp-success:#15803d;
  --kp-warning:#b45309;
  --kp-bg:#f8fafc;
  --kp-card:#ffffff;
  --kp-text:#0f172a;
  --kp-muted:#475569;
  --kp-border:#dbe3ef;
  --kp-shadow:0 16px 40px rgba(15,23,42,.08);
  --kp-radius:18px;
}
body{background:var(--kp-bg);}
.kp-shell{max-width:1180px;margin:0 auto;padding:20px 16px 48px;}
.kp-breadcrumb{font-size:.9rem;color:var(--kp-muted);margin:8px 0 16px;}
.kp-breadcrumb a{color:var(--kp-accent);text-decoration:none;}
.kp-hero{display:grid;gap:22px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;margin-bottom:28px;}
.kp-hero-copy,.kp-panel,.kp-section,.kp-author,.kp-related{background:var(--kp-card);border:1px solid var(--kp-border);border-radius:var(--kp-radius);box-shadow:var(--kp-shadow);}
.kp-hero-copy{padding:30px 28px;}
.kp-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--kp-accent);margin-bottom:14px;}
.kp-hero-copy h1{font-size:clamp(2rem,3.4vw,3rem);line-height:1.08;margin:0 0 14px;color:var(--kp-text);}
.kp-hero-copy p{font-size:1.02rem;line-height:1.82;color:var(--kp-muted);margin:.8rem 0 0;}
.kp-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.kp-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.86rem;font-weight:600;}
.kp-panel{padding:24px;}
.kp-panel h2{font-size:1.25rem;margin:0 0 8px;color:var(--kp-primary);}
.kp-panel p{margin:0 0 14px;color:var(--kp-muted);line-height:1.75;}
.kp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.kp-field{display:flex;flex-direction:column;gap:6px;}
.kp-field label{font-size:.9rem;font-weight:700;color:var(--kp-text);}
.kp-field small{font-size:.8rem;color:var(--kp-muted);}
.kp-panel input,.kp-panel select{width:100%;padding:13px 14px;border:1.5px solid var(--kp-border);border-radius:12px;font-size:1rem;background:#fff;color:var(--kp-text);}
.kp-panel input:focus,.kp-panel select:focus{outline:none;border-color:var(--kp-accent);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.kp-button{appearance:none;border:none;background:linear-gradient(135deg,var(--kp-primary),var(--kp-accent));color:#fff;padding:14px 18px;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;margin-top:14px;}
.kp-button:hover{filter:brightness(.98);}
.kp-result{display:none;margin-top:18px;padding:18px;border-radius:16px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#f8fbff);}
.kp-result.show{display:block;}
.kp-result h3{margin:0;color:var(--kp-primary);font-size:1.1rem;}
.kp-result-main{font-size:2rem;line-height:1.1;font-weight:800;color:var(--kp-primary);margin:10px 0 4px;}
.kp-result-sub{font-size:1rem;color:var(--kp-muted);line-height:1.7;margin:0 0 12px;}
.kp-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.kp-stat{padding:12px 14px;border:1px solid var(--kp-border);border-radius:14px;background:#fff;}
.kp-stat strong{display:block;font-size:.82rem;color:var(--kp-muted);margin-bottom:4px;}
.kp-stat span{font-size:1.08rem;font-weight:700;color:var(--kp-text);}
.kp-section{padding:26px 28px;margin-top:20px;}
.kp-section h2{font-size:1.45rem;margin:0 0 12px;color:var(--kp-primary);}
.kp-section h3{font-size:1.05rem;margin:18px 0 8px;color:var(--kp-text);}
.kp-section p,.kp-section li{font-size:1rem;line-height:1.85;color:var(--kp-muted);}
.kp-section ul{margin:10px 0 0 18px;padding:0;}
.kp-table-wrap{overflow-x:auto;margin-top:14px;}
.kp-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.kp-table th,.kp-table td{padding:12px 14px;border-bottom:1px solid var(--kp-border);text-align:left;vertical-align:top;}
.kp-table th{background:#eff6ff;color:var(--kp-primary);font-size:.88rem;letter-spacing:.02em;text-transform:uppercase;}
.kp-note,.kp-warning,.kp-source{padding:16px 18px;border-radius:14px;margin-top:16px;font-size:.95rem;line-height:1.75;}
.kp-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;}
.kp-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;}
.kp-source{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;}
.kp-faq details{border:1px solid var(--kp-border);border-radius:14px;margin-top:12px;background:#fff;}
.kp-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--kp-text);list-style:none;}
.kp-faq summary::-webkit-details-marker{display:none;}
.kp-faq div{padding:0 16px 16px;color:var(--kp-muted);line-height:1.8;}
.kp-author{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;margin-top:20px;}
.kp-author-badge{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--kp-primary),var(--kp-accent));color:#fff;font-weight:800;flex:0 0 auto;}
.kp-author p{margin:6px 0 0;color:var(--kp-muted);line-height:1.75;}
.kp-related{padding:22px 24px;margin-top:20px;}
.kp-related h2{margin:0 0 12px;color:var(--kp-primary);font-size:1.2rem;}
.kp-related-links{display:flex;flex-wrap:wrap;gap:10px;}
.kp-related-links a{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;border:1px solid var(--kp-border);background:#fff;color:var(--kp-accent);text-decoration:none;font-weight:600;font-size:.9rem;}
.kp-disclaimer{font-size:.82rem;color:var(--kp-muted);margin-top:12px;}
@media (max-width:980px){.kp-hero{grid-template-columns:1fr;}}
@media (max-width:640px){
  .kp-grid,.kp-stat-grid{grid-template-columns:1fr;}
  .kp-hero-copy,.kp-panel,.kp-section,.kp-author,.kp-related{padding-left:18px;padding-right:18px;}
  .kp-hero-copy h1{font-size:2rem;}
}
