:root{--ink:#2D2A26;--sub:#9A8F84;--line:#F1ECE4;--soft:#F7F3EE;--bg:#FFFDF8;--pink:#FF5A7E;--peach:#FF8E72;--peach2:#FFE3DC;--mint:#33CCAD;--sky:#3AA3C1;--grape:#C188CC}
*{box-sizing:border-box}[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Apple SD Gothic Neo",sans-serif;-webkit-tap-highlight-color:transparent}
#app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:18px 20px calc(96px + env(safe-area-inset-bottom))}
.logo{height:34px;display:block}
.bar{height:8px;background:var(--line);border-radius:4px;margin:16px 0 26px;overflow:hidden}.bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),#FFCC4D,var(--mint),var(--sky),var(--grape));transition:width .35s}
h1{font-size:26px;line-height:1.35;margin:0 0 8px;letter-spacing:-.5px}.hint{color:var(--sub);font-size:15px;margin:0 0 22px}
label.f{display:block;font-size:14px;font-weight:700;color:#6F655C;margin:16px 0 8px}
input,textarea{width:100%;font:inherit;font-size:18px;padding:15px 16px;border-radius:16px;border:2px solid var(--line);background:#fff;outline:none}input:focus,textarea:focus{border-color:var(--peach)}textarea{min-height:140px;resize:vertical}
.count{display:flex;align-items:center;justify-content:center;gap:28px;margin:10px 0 18px}.count button{width:54px;height:54px;border-radius:50%;border:0;background:var(--soft);font-size:28px;font-weight:700;color:var(--ink)}.count b{font-size:46px;min-width:40px;text-align:center}
.kid{background:#fff;border:2px solid var(--line);border-radius:20px;padding:14px;margin-bottom:10px}.kid small{font-weight:800;color:var(--peach)}
.seg{display:flex;gap:8px;margin-top:8px}.seg button{flex:1;padding:13px 0;border-radius:14px;border:2px solid transparent;background:var(--soft);font:inherit;font-size:16px;font-weight:700;color:#7B7168}.seg button.on{background:var(--peach2);color:#E8735A;border-color:#FFC7B8}.seg button:disabled{opacity:.35}
.prd{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:2px solid var(--line);border-radius:20px;padding:13px 14px;margin-bottom:9px;font:inherit}.prd.on{border-color:var(--peach);background:#FFF6F3}.prd em{font-style:normal;font-size:26px}.prd b{display:block;font-size:16px}.prd small{color:var(--sub);font-size:13px}.prd .ck{margin-left:auto;width:26px;height:26px;border-radius:50%;border:2px solid #E5DDD3;flex:none}.prd.on .ck{background:var(--peach);border-color:var(--peach)}
.more{font-size:13px;color:var(--sky);text-decoration:underline;margin-left:6px}
.info{display:flex;gap:8px;margin-top:6px}.info button{flex:1;padding:11px;border-radius:14px;border:0;background:var(--soft);font:inherit;font-weight:700;color:#6F655C}
.sum{background:#fff;border:2px solid var(--line);border-radius:20px;padding:4px 16px}.sum div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px}.sum div:last-child{border:0}.sum span{color:var(--sub);flex:none}.sum p{margin:0;text-align:right;word-break:keep-all}
.agree{display:flex;gap:10px;align-items:center;margin:18px 2px;font-weight:700}.agree input{width:24px;height:24px;accent-color:var(--peach)}.agree a{color:var(--sky);font-weight:500}
footer{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%);max-width:480px;margin:0 auto}
.cta{flex:1;border:0;border-radius:18px;padding:18px 0;font:inherit;font-size:18px;font-weight:800;color:#fff;background:var(--peach)}.cta:disabled{opacity:.5}.ghost{border:0;border-radius:18px;padding:18px 20px;font:inherit;font-weight:700;background:var(--soft);color:#7B7168}
.done{text-align:center;margin-top:40px}.done .big{font-size:64px}
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;z-index:10}.sheet-in{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:88dvh;overflow:auto;padding:12px}.sheet img{width:100%;display:block;border-radius:14px}.x{display:block;margin:0 0 8px auto;border:0;background:var(--soft);border-radius:12px;padding:8px 14px;font:inherit;font-weight:700}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#2D2A26;color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;z-index:20;max-width:88%}
input.hp{position:absolute;left:-9999px}
