.kp { --kp-paper:#faf6ec; --kp-ink:#24211c; --kp-muted:#625b50; --kp-seal:#9b2c1f; --kp-rule:#d4c9b5; color:var(--kp-ink); font-family:'Gowun Batang','Malgun Gothic',serif; font-size:16px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.kp *, .kp *::before, .kp *::after { box-sizing:border-box; }
.kp [hidden] { display:none !important; }
.kp button, .kp input, .kp textarea { font:inherit; }
.kp button, .kp a { touch-action:manipulation; }
.kp button { cursor:pointer; }
.kp button:disabled { cursor:not-allowed; opacity:1; }
.kp :is(button,a,input,textarea):focus-visible { outline:3px solid var(--kp-seal); outline-offset:4px; }
.kp h2, .kp h3, .kp p { margin:0; color:inherit; }
.kp h2 { font-size:clamp(1.55rem,3vw,2.2rem); line-height:1.45; letter-spacing:-.025em; text-wrap:balance; }
.kp h3 { font-size:1.18rem; line-height:1.55; }
.kp p + p { margin-top:12px; }
.kp-section { background:var(--kp-paper); padding:64px 24px; }
.kp-inner { max-width:960px; margin:auto; }
.kp-lead { max-width:680px; margin-top:18px !important; }
.kp-note { color:var(--kp-muted) !important; font:14px/1.7 'Malgun Gothic',sans-serif; }
.kp-tag { display:inline-block; color:var(--kp-seal); border:1px solid var(--kp-seal); padding:2px 9px; border-radius:4px; font:13px/1.65 'Malgun Gothic',sans-serif; }
.kp-disclosure { margin:16px 0 0 !important; color:var(--kp-muted) !important; font:14px/1.7 'Malgun Gothic',sans-serif; }
.kp-filter, .kp-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:26px 0 14px; }
.kp-filter button, .kp-tabs button { color:var(--kp-muted); background:transparent; padding:9px 14px; border:1px solid var(--kp-rule); border-radius:6px; min-height:44px; }
.kp-filter button[aria-pressed="true"], .kp-tabs button[aria-selected="true"] { background:var(--kp-ink); color:#fff; border-color:var(--kp-ink); }
.kp-list { list-style:none; padding:0; margin:0; }
.kp-voice { margin:12px 0 0; padding:12px 14px; border-left:3px solid var(--kp-rule); background:#fff; border-radius:0 8px 8px 0; }
.kp-voice p { margin-top:6px !important; }
.kp-voice small { display:block; margin-top:4px; }
.kp-voices-list { margin-top:26px; }
.kp-voices-list h3 { margin-bottom:4px; }
.kp-row { border-bottom:1px solid var(--kp-rule); padding:22px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.kp-row small { color:var(--kp-muted); display:block; margin-bottom:5px; font:13px/1.7 'Malgun Gothic',sans-serif; }
.kp-row h3 { max-width:640px; }
.kp-row .kp-note { margin-top:7px; }
.kp-primary, .kp-secondary, .kp-link { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; padding:11px 19px; border-radius:6px; font:15px/1.5 'Malgun Gothic',sans-serif; text-decoration:none; }
.kp-primary { background:var(--kp-seal); color:#fff !important; border:1px solid var(--kp-seal); }
.kp-secondary { background:transparent; color:var(--kp-ink) !important; border:1px solid var(--kp-rule); }
.kp-link { color:var(--kp-seal) !important; background:transparent; border:0; padding-inline:0; text-decoration:underline; text-underline-offset:4px; }
.kp-row button { flex-shrink:0; }
.kp-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:24px; }
.kp-dialog { --kp-paper:#faf6ec; padding:0; border:0; border-radius:12px; background:var(--kp-paper); width:min(850px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; overscroll-behavior:contain; }
.kp-dialog::backdrop { background:rgba(24,20,16,.65); }
.kp-dialog-head { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 24px; background:var(--kp-paper); border-bottom:1px solid var(--kp-rule); z-index:1; }
.kp-dialog-head strong { font-size:17px; }
.kp-close { color:var(--kp-ink); background:transparent; border:1px solid var(--kp-rule); padding:8px 14px; border-radius:6px; min-height:44px; }
.kp-dialog-body { padding:26px 32px 32px; }
.kp-dialog .kp-tabs { margin-top:22px; }
.kp-dialog .kp-tabs button { flex:1; }
.kp-block { margin-top:24px; }
.kp-block h3 { margin-bottom:10px; }
.kp-reading { background:#fffdf8; padding:20px; border:1px solid var(--kp-rule); border-radius:8px; }
.kp-choices { border:0; padding:0; margin:24px 0 0; }
.kp-choices legend { padding:0; margin-bottom:12px; font-weight:bold; }
.kp-choice { display:flex; align-items:flex-start; gap:12px; padding:12px 0; cursor:pointer; }
.kp-choice input { flex-shrink:0; margin-top:7px; width:18px; height:18px; accent-color:var(--kp-seal); }
.kp-choice small { display:block; color:var(--kp-muted); font:13px/1.7 'Malgun Gothic',sans-serif; }
.kp-memo-label { display:block; margin:14px 0 8px; }
.kp-memo { width:100%; min-height:88px; resize:vertical; background:#fffdf8; border:1px solid #8a7d6a; border-radius:6px; padding:12px; color:var(--kp-ink); }
.kp-result { background:#f0e7d5; border-radius:8px; padding:20px; margin-top:20px; }
.kp-result strong { display:block; margin-bottom:8px; }
.kp-summary { padding-left:20px; margin:16px 0; }
.kp-summary li { margin:10px 0; }
.kp-price { font:700 30px/1.4 'Malgun Gothic',sans-serif !important; margin-top:12px !important; }
.kp-offer-status { margin:12px 0 !important; }
.kp-checkout-disabled { background:#e5dece; color:#534c41; border:1px solid #c3b7a0; padding:12px 18px; border-radius:6px; min-height:46px; width:100%; }
.kp-review { border-bottom:1px solid var(--kp-rule); padding:20px 0; }
.kp-review p { white-space:pre-line; }
.kp-toast { min-height:1.8em; margin-top:8px !important; color:var(--kp-muted) !important; font:14px/1.7 'Malgun Gothic',sans-serif; }
.kp-standalone { margin:0; background:#faf6ec; }
.kp-standalone header { max-width:1008px; padding:24px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.kp-brand { color:#24211c; font:bold 26px/1.5 'Gowun Batang',serif; text-decoration:none; }
.kp-standalone .kp-section { padding-top:32px; }
.kp-inline-entry { margin:24px auto; max-width:720px; padding:24px; border:1px solid #d4c9b5; border-radius:8px; background:#faf6ec; }
@media(max-width:540px) {
  .kp-section { padding:40px 20px; }
  .kp-row { align-items:flex-start; flex-direction:column; gap:12px; padding:22px 0; }
  .kp-row button { align-self:flex-start; }
  .kp-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:8px; }
  .kp-dialog-head { padding:12px 18px; }
  .kp-dialog-body { padding:20px 18px 24px; }
  .kp-dialog .kp-tabs { gap:5px; }
  .kp-dialog .kp-tabs button { padding:9px 5px; font-size:14px; }
  .kp-actions { align-items:stretch; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .kp *, .kp *::before, .kp *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
