
:root{--font:'Noto Sans KR', ui-sans-serif, system-ui, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Segoe UI', Roboto, Helvetica, Arial; 
  --bg:#F6F7FB; --card:#fff; --ink:#1F2937; --ink2:#4B5563; --muted:#9AA3AF;
  --line:#E6E8EF; --navy:#31527E; --pink:#CE8892; --radius:1.25rem; --shadow:0 .75rem 1.75rem rgba(17,24,39,.12);
  --border:.0625rem; --hair:.03125rem;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-size:1rem}
.pk-card{width:min(28.5rem,92vw);margin:2.5rem auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.25rem 1.5rem}
.pk-head{text-align:center;margin:.25rem 0 1rem}
.pk-title{margin:0;font-weight:500;font-size:1.625rem;letter-spacing:-.01em;color:#223049}
.pk-sub{margin:.25rem 0 0;color:#5B6675;font-size:.95rem}
.pk-row{margin-top:.75rem}
.pk-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem; margin-top: 0;}
.pk-label{display:block;margin:1rem 0 .375rem;font-size:.9rem;color:#CE8892;font-weight:400}
.pk-input,.pk-select{width:100%;height:2.875rem;border-radius:.75rem;border:var(--border) solid var(--line);background:#fff;color:var(--ink);font-size:.9375rem;padding:.75rem .875rem}
.pk-input::placeholder{color:#A6AEBA}
.pk-inputwrap{position:relative}
.pk-inputwrap>.pk-input{padding-left:2.3rem}
.pk-ico{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1.05rem;height:1.05rem;opacity:.6}
.pk-ico.user{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%239AA3AF" viewBox="0 0 24 24"><path d="M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4.42 0-8 2.24-8 5v3h16v-3c0-2.76-3.58-5-8-5Z"/></svg>') no-repeat center/contain}
.pk-ico.lock{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%239AA3AF" viewBox="0 0 24 24"><path d="M17 8V7A5 5 0 0 0 7 7v1H5v14h14V8Zm-8 0V7a3 3 0 1 1 6 0v1Z"/></svg>') no-repeat center/contain}
.pk-ico.cal{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%239AA3AF" viewBox="0 0 24 24"><path d="M7 2h2v2h6V2h2v2h3v18H4V4h3V2zm13 7H4v11h16V9z"/></svg>') no-repeat center/contain}
/* pretty chevron-down SVG for select */
.pk-select{
  appearance:none;
  background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%239AA3AF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>') no-repeat right .9rem center/1.05rem;
  padding-right:2.25rem;
}
.pk-sep{height:var(--border);background:var(--line);margin:1.5rem 0}
.pk-actions{display:flex;gap:.75rem;margin-top:1.5rem}
.pk-btn{display:inline-flex;align-items:center;justify-content:center;height:2.875rem;padding:0 1rem;border-radius:.75rem;border:var(--border) solid var(--line);background:#fff;color:#2b3443;font-weight:500;cursor:pointer;text-decoration:none; font-size:.9375rem;}
.pk-btn--outline, .pk-btn--outline-pink{background:#fff;color:var(--pink);border-color:#EAC0C5}
.pk-btn--primary{background:var(--pink);color:#fff;border-color:transparent}
.pk-btn:focus{outline:none;box-shadow:none}
.pk-btn:focus-visible{outline:none;box-shadow:0 0 0 .18rem rgba(49,82,126,.18)}
.pk-termsrow{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--ink)}
.pk-gt{width:1.1rem;height:1.1rem;color:#9AA3AF}
.pk-btn svg.ico{margin-right:.5rem;flex:none}
@media (max-width:27.375rem){
  .pk-card{width:min(28.5rem,94vw);padding:1rem}
  .pk-title{font-size:1.5rem}
  .pk-input,.pk-select,.pk-btn{height:2.6rem;font-size:.9rem;padding:.625rem .75rem}
  .pk-grid-2{gap:.5rem}
  .pk-inputwrap>.pk-input{padding-left:2rem}
  .pk-ico{left:.625rem;width:1rem;height:1rem}
}

.pk-input,.pk-select,.pk-btn{font-family:inherit}

.pk-input, .pk-select{ -webkit-appearance:none; appearance:none }

/* modal */
.pk-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:1rem;z-index:50}
.pk-modal.is-open{display:flex}
.pk-dim{position:absolute;inset:0;background:rgba(15,23,42,.6)}
.pk-dialog{position:relative;background:#fff;border-radius:1rem;box-shadow:0 .75rem 2rem rgba(17,24,39,.25);width:min(40rem,92vw)}
.pk-dialog__hd{padding:1.25rem 1.25rem 0rem}
.pk-dialog__title{margin:0;font-size:1.25rem;font-weight:800;color:#111827}
.pk-dialog__sep{height:.0625rem;background:#E6E8EF;margin:1rem 0 0}
.pk-dialog__bd{padding:.25rem 1.25rem 1.25rem;color:#374151;max-height:60vh;overflow:auto;line-height:1.6}
.pk-dialog__close{position:absolute;top:.875rem;right:.875rem;width:1.5rem;height:1.5rem;border-radius:.5rem;border:0;background:transparent;color:#6B7280;cursor:pointer}
.pk-dialog__close:hover{background:#F3F4F6}
.pk-dialog__close svg{display:block;width:100%;height:100%}
/* terms hover underline */
.pk-terms .pk-terms-text{cursor:pointer;text-decoration:none;border-bottom:0}
.pk-terms .pk-terms-text:hover{text-decoration:underline}

/* link-state reset for button anchors */
.pk-btn, .pk-btn:link, .pk-btn:visited, .pk-btn:hover, .pk-btn:active, .pk-btn:focus { text-decoration: none; }
.pk-btn--ghost, .pk-btn--ghost:visited, .pk-btn--ghost:hover, .pk-btn--ghost:active, .pk-btn--ghost:focus { color:#2b3443; }
.pk-btn--outline-pink, .pk-btn--outline-pink:visited, .pk-btn--outline-pink:hover, .pk-btn--outline-pink:active, .pk-btn--outline-pink:focus { color: var(--pink); }
.pk-btn--primary, .pk-btn--primary:visited, .pk-btn--primary:hover, .pk-btn--primary:active, .pk-btn--primary:focus { color:#fff; }

/* centered layout */
body{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding-block:2.5rem;
}
@media (max-height:44rem){
  body{ place-items:start center; }
}

/* ios-compat */
html, body{ height:100%; }
body{
  /* fallback first */
  min-height:100vh;
  /* modern iOS / dynamic bars */
  min-height:100svh;
  /* large viewport unit (when toolbars hidden) */
  min-height:100lvh;
  /* webkit fill available for older iOS */
  min-height:-webkit-fill-available;
  /* prevent font auto-zoom quirks */
  -webkit-text-size-adjust:100%;
  padding-top:calc(2.5rem + env(safe-area-inset-top));
  padding-bottom:calc(2.5rem + env(safe-area-inset-bottom));
}
/* avoid iOS zoom-on-focus: ensure >=16px on form controls (only on iOS) */
@supports (-webkit-touch-callout: none){
  .pk-input, .pk-select, .pk-btn{ font-size:1rem; }
}
/* smooth inertial scroll in modals on iOS */
.pk-dialog__bd{ -webkit-overflow-scrolling: touch; }
/* ensure select arrow keeps layout on Safari */
.pk-select{ text-indent:0.01px; text-overflow:''; }

/* clickable chevron next to terms */
.pk-gt{ cursor:pointer; }

/* gentle button transitions */
.pk-btn{
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}


.pk-dialog__actions{padding:1rem 1.25rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem;}
.pk-dialog__btn{min-width:6rem;height:2.5rem;border-radius:.6rem;border:0;background:var(--pink);color:#fff;font-weight:600;cursor:pointer;padding:0 1.5rem;transition:background-color .18s ease, color .18s ease, transform .12s ease;}
.pk-dialog__btn:hover{filter:brightness(.96);transform:translateY(1px);}
.pk-dialog__btn:focus{outline:none;}
.pk-dialog__btn:focus-visible{box-shadow:0 0 0 .18rem rgba(49,82,126,.18);}
.pk-dialog__btn--primary{background:var(--pink);color:#fff;}
.pk-dialog__btn--ghost{background:#fff;color:var(--pink);border:var(--border) solid #efc4ca;}
.pk-dialog__btn--ghost:hover{background:#fef2f4;}
.pk-dialog__btn.is-disabled{opacity:.5;pointer-events:none;}
.pk-dialog__btn.is-hidden{display:none!important;}

.pk-btn.is-disabled{opacity:.5;pointer-events:none;}
