@font-face{font-family:BHS;src:url("/mvp/fonts/BlackHanSans-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:Jua;src:url("/mvp/fonts/Jua-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:Pre;font-weight:400;src:url("/mvp/fonts/Pretendard-Regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:Pre;font-weight:500;src:url("/mvp/fonts/Pretendard-Medium.woff2") format("woff2");font-display:swap}
@font-face{font-family:Pre;font-weight:600;src:url("/mvp/fonts/Pretendard-SemiBold.woff2") format("woff2");font-display:swap}
@font-face{font-family:Pre;font-weight:700;src:url("/mvp/fonts/Pretendard-Bold.woff2") format("woff2");font-display:swap}
:root{
  --bg:#F6F1E7;
  --ivory:#F6F1E7;
  --ivory2:#EEE6D6;
  --ivory3:#E6DCC8;
  --paper:#FFFDF8;
  --ink:#17161C;
  --ink2:#55515E;
  --ink3:#8A8592;
  --persimmon:#E4572E;
  --deep:#C44928;
  --plum:#34213F;
  --blush:#F3C4CC;
  --jade:#2E8A7A;
  --line:rgba(23,22,28,.14);
  --sub:#55515E;
  --mute:#8A8592;
  --pink:#C44928;
  --lime:#E4572E;
  --limeT:#F8E3D8;
  --pinkT:#F8E6E1;
  --white:#FFFDF8;
  --hanji:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .28  0 0 0 0 .18  0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{
  font-family:Pre,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  word-break:keep-all;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.2px;
  background-color:var(--bg);
  background-image:var(--hanji);
}
button,input,select,textarea{font-family:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a.invite-birth-link{color:#141210;font-weight:700;text-decoration:underline;text-underline-offset:3px}
em{font-style:italic;color:var(--persimmon)}
.h{font-family:"Noto Serif KR","Gowun Batang",serif;font-weight:600;letter-spacing:-0.03em;line-height:1.15}
.jua,.wm{font-family:"Noto Serif KR","Gowun Batang",serif;font-weight:600;letter-spacing:-0.03em}
.hanja{font-family:"Noto Serif KR","Songti SC",serif;font-weight:700}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.shell{width:100%;min-height:100dvh;margin:0 auto;position:relative;background-color:var(--bg);background-image:var(--hanji);display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:6;background:rgba(246,241,231,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);flex-shrink:0}
.topbar-inner{width:min(1120px,100%);margin:0 auto;height:64px;display:flex;align-items:center;gap:18px;padding:0 20px}
.brandlink{display:flex;align-items:center;flex-shrink:0}
.desk-nav{display:none;align-items:center;gap:18px;font-weight:600;font-size:14.5px;color:var(--ink2)}
.desk-nav a{color:var(--ink);padding-bottom:2px;border-bottom:1.5px solid transparent}
.desk-nav a:hover{border-bottom-color:var(--persimmon);color:var(--ink)}
.topbar-inner > a:last-child{margin-left:auto;flex-shrink:0}
.content{width:min(1120px,100%);margin:0 auto;padding:8px 20px 36px;flex:1}
.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:none}
.card.flat{box-shadow:none}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;height:auto;border-radius:999px;background:var(--persimmon);color:#fff;font-weight:600;font-size:16px;border:0;padding:14px 22px;box-shadow:0 10px 24px -12px rgba(228,87,46,.85)}
.btn.line{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
.btn.sm{height:40px;min-height:40px;font-size:14px;border-radius:999px;width:auto;padding:0 14px}
.btn.off,.btn:disabled{background:var(--ivory3);color:var(--mute);box-shadow:none;border-color:transparent}
.btn.line.off,.btn.line:disabled{background:transparent;border-color:var(--ivory3);color:var(--mute)}
.chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--ink);font-size:13px;font-weight:600;background:transparent}
.chip.lime{background:var(--persimmon);border-color:var(--persimmon);color:#fff}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--blush);color:var(--plum);letter-spacing:.04em}
.badge.ink{background:var(--ink);color:var(--ivory)}
.badge.pink{background:var(--persimmon);color:#fff}
.kong{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px 0 7px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-weight:700;font-size:14px}
.ai{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--sub);font-weight:500}
.ai b{display:inline-flex;align-items:center;justify-content:center;height:17px;padding:0 5px;border-radius:5px;border:1px solid var(--sub);font-size:10px;font-weight:700}
.mark{background:none;color:var(--persimmon);font-style:italic;font-family:"Noto Serif KR","Gowun Batang",serif;font-weight:600;padding:0}
.nav{width:min(1120px,100%);margin:0 auto;height:52px;display:flex;align-items:center;justify-content:center;position:relative;font-family:"Noto Serif KR","Gowun Batang",serif;font-weight:600;font-size:18px;flex-shrink:0}
.nav .back{position:absolute;left:8px;top:6px;width:40px;height:40px;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
.brandbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}
.bottom{position:sticky;bottom:0;width:min(1120px,100%);margin:0 auto;padding:12px 20px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(rgba(246,241,231,0),var(--bg) 28%);z-index:3}
.lead{font-size:15.5px;color:var(--ink2);font-weight:500;line-height:1.55}
.lbl{font-size:13px;font-weight:700;margin-top:16px}
.note{font-size:12.5px;color:var(--sub);line-height:1.55;font-weight:500}
.inp,input.inp,select.inp{height:52px;border-radius:14px;border:1px solid rgba(23,22,28,.22);background:#fff;display:flex;align-items:center;padding:0 14px;font-size:16px;font-weight:600;width:100%;margin-top:8px}
.fieldrow{display:flex;gap:8px;margin-top:8px}
.fieldrow .inp{margin-top:0}
.seg{display:flex;height:44px;border-radius:999px;border:1px solid rgba(23,22,28,.22);background:var(--paper);padding:3px;gap:3px;margin-top:8px}
.seg button{flex:1;border:0;border-radius:999px;background:transparent;font-size:14px;font-weight:600;color:var(--sub)}
.seg button.on{background:var(--ink);color:var(--ivory)}
.grid{display:grid;gap:8px;margin-top:8px}
.opt{border-radius:14px;border:1px solid rgba(23,22,28,.18);background:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:var(--ink);min-height:44px}
.opt.on{background:var(--ink);border-color:var(--ink);color:var(--ivory);font-weight:700;box-shadow:none}
.row{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px dashed rgba(23,22,28,.22);width:100%;background:transparent;border-left:0;border-right:0;border-top:0;text-align:left;padding:0}
.check{display:flex;gap:10px;align-items:flex-start;width:100%;background:transparent;border:0;text-align:left;padding:0;margin-top:14px;font-size:14px;line-height:1.5;font-weight:500;color:var(--ink2)}
.check.strong{font-size:16px;font-weight:700;color:var(--ink)}
.box{width:22px;height:22px;flex-shrink:0;border-radius:6px;border:1.5px solid var(--ink3);background:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px}
.check.on .box,.check.strong.on .box{background:var(--ink);border-color:var(--ink)}
.social{height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;position:relative;font-weight:600;font-size:16px;margin-top:10px;width:100%;border:0}
.pack{padding:0 16px;min-height:66px;display:flex;align-items:center;gap:12px;margin-top:10px;width:100%;text-align:left}
.dim{position:fixed;inset:0;background:rgba(23,22,28,.45);z-index:8}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 40px));z-index:9;padding:22px 20px 20px;background:var(--paper);border-radius:22px}
.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);z-index:9;background:var(--bg);border-top:1px solid var(--line);border-radius:26px 26px 0 0;padding:10px 20px 12px;max-height:82dvh;overflow:auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--ivory);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600;z-index:12;max-width:90%}
.progress{width:min(1120px,100%);margin:0 auto;padding:4px 20px 0}
.progress .bars{display:flex;gap:4px}
.progress .bars span{flex:1;height:3px;border-radius:3px;background:var(--ivory3)}
.progress .bars span.on{background:var(--persimmon)}
.secno{width:28px;height:28px;border-radius:999px;background:var(--ink);color:var(--ivory);font-family:"Noto Serif KR",serif;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.secno.off{background:var(--ivory3);color:var(--ink2)}
.bubble{position:absolute;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:8px 12px;font-weight:700;font-size:13.5px;white-space:nowrap}
hr.line{border:0;border-top:1px dashed rgba(23,22,28,.28);height:0;background:none;margin:18px 0}
.radio{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff}
.pack.on .radio{border:6px solid var(--persimmon)}
.ai-note{margin:8px 0 0;font-size:11px;line-height:1.45;color:var(--ink3);font-weight:400}
.legal-footer{width:min(1120px,100%);margin:8px auto 0;padding:16px 20px 28px;border-top:1px dashed rgba(23,22,28,.22);font-size:11px;line-height:1.5;color:var(--ink3)}
.legal-footer a{color:var(--ink2);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.legal-footer a.privacy{font-weight:700;color:var(--ink)}
.legal-footer p{margin:0}
@media (min-width:900px){
  .desk-nav{display:flex}
}
@media (prefers-reduced-motion:reduce){
  .y-ticker div{animation:none}
}
