/* Momo conversational signup — one question at a time. */
.join-locked #app,.join-locked #overlay,.join-locked #momo-welcome{display:none!important}
.join-locked body{margin:0;padding:0;background:#f2f3ed;color:#303a31}
#momo-join{--green:#6b805b;--ink:#303a31;--muted:#80877c;--line:#e7ebe2;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-size:17px;line-height:1.5;letter-spacing:-.035em;overflow-x:clip}
#momo-join *{box-sizing:border-box}
#momo-join [hidden]{display:none!important}
#momo-join button,#momo-join input,#momo-join textarea{font:inherit;letter-spacing:inherit}
#momo-join button{cursor:pointer;-webkit-tap-highlight-color:transparent}
#momo-join button:focus-visible,#momo-join input:focus-visible,#momo-join textarea:focus-visible{outline:3px solid #bfceaf;outline-offset:4px}
.q-shell{max-width:460px;margin:0 auto;background:#fffefa;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
.q-nav{height:72px;display:grid;grid-template-columns:48px 1fr 70px;align-items:center;padding:0 24px;flex-shrink:0}
.q-back{grid-column:1;grid-row:1;width:44px;height:44px;background:none;border:0;font-size:36px!important;color:var(--ink);text-align:left;padding:0}
.q-logo{grid-column:2;grid-row:1;font-size:25px;letter-spacing:-2px;font-weight:850;color:var(--green);text-decoration:none}
.q-logo span{color:#e7ae91;margin-left:2px}
.q-saved{grid-column:3;grid-row:1;text-align:right;color:#94998f;font-size:13px;letter-spacing:0;font-variant-numeric:tabular-nums}
.q-track{height:3px;margin:0 26px;background:#edf0e8;overflow:hidden;border-radius:3px}
.q-track i{height:100%;display:block;background:#8c9f76;border-radius:3px;transition:width .25s ease}
.q-scene{padding:32px 26px 0;flex:1;display:flex;flex-direction:column;position:relative;animation:q-enter .24s cubic-bezier(.2,.7,.3,1) both}
.q-scene.backward{animation-name:q-return}
.q-buddy{height:58px;width:65px;position:relative;margin:0 0 20px 0;animation:q-nod .65s ease-out both}
.q-buddy svg{height:58px;width:54px;display:block}
.q-buddy>span{position:absolute;right:0;top:5px;color:#d4a179;font-size:17px;animation:q-spark .55s ease-out both}
#momo-join h1{font-size:28px;line-height:1.4;letter-spacing:-1.25px;margin:0;color:var(--ink);font-weight:750;word-break:keep-all;outline:0}
.q-sub{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.6;word-break:keep-all}
#join-form{display:flex;flex:1;flex-direction:column;margin:0}
.q-content{padding:34px 0 16px}
.q-input{display:block;width:100%;min-width:0;border:0;border-bottom:2px solid #dce3d4;border-radius:0;background:transparent;color:var(--ink);padding:12px 0;font-size:25px!important;line-height:1.5;-webkit-appearance:none;appearance:none;box-shadow:none}
.q-input:focus{border-color:var(--green);outline:none!important}
.q-input::placeholder{color:#bcc1b5;opacity:1}
.q-input[type=date]{min-height:66px;text-align:left;width:100%}
.q-input[type=date]::-webkit-date-and-time-value{text-align:left}
.q-caption{font-size:13px;color:#91968b;line-height:1.8;margin:13px 0 0;word-break:keep-all}
.q-height{display:flex;align-items:baseline;gap:12px;max-width:230px;margin:15px auto 0}
.q-height .q-input{font-size:58px!important;font-weight:650;letter-spacing:-2px;text-align:center}
.q-height>span{font-size:23px;color:#9ba18f}
.q-options{display:flex;flex-direction:column;gap:11px}
.q-option{width:100%;min-height:60px;background:#fffefa;border:1px solid var(--line);border-radius:17px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:17px 19px;color:#4d5749;gap:12px;transition:background .15s,border-color .15s,transform .15s}
.q-option i{font-style:normal;flex:0 0 22px;width:22px;height:22px;border:1.5px solid #d8ded0;border-radius:50%;font-size:14px;line-height:20px;text-align:center;color:white}
.q-option.selected{background:#f0f4e9;border-color:#9caf85;transform:scale(.985)}
.q-option.selected i{background:var(--green);border-color:var(--green);animation:q-pop .18s ease-out}
.q-other{padding-top:12px}.q-other .q-input{font-size:17px!important;padding:12px 2px}
.q-dock{margin-top:auto;padding:28px 0 max(20px,env(safe-area-inset-bottom));background:#fffefa}
.q-next{border:0;border-radius:18px;background:var(--green);color:#fff;width:100%;min-height:60px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:650!important;font-size:18px!important;transition:background .18s,transform .15s}
.q-next:active:not(:disabled){transform:scale(.98)}
.q-next:disabled{background:#e9ece4;color:#a6ad9f;cursor:default}
.q-next>span{font-size:23px;font-weight:400}
.q-local{font-size:12px;color:#a0a698;text-align:center;margin:12px 0 0;letter-spacing:0}
.q-error{font-size:14px;color:#a25142;line-height:1.6;margin:8px 0}
.q-chiplist{display:flex;flex-wrap:wrap;gap:11px 9px}
.q-chip{border:1px solid var(--line);border-radius:25px;background:#fffefa;padding:12px 17px;color:#616958;min-height:49px;transition:background .16s,transform .16s}
.q-chip.selected{background:#eef3e6;border-color:#9aaf82;color:#4e6740;animation:q-pop .18s ease-out}
.q-selected{color:#9a9e94;font-size:14px;margin:24px 0 0}.q-selected b{color:var(--green)}
.q-textarea{width:100%;resize:vertical;min-height:176px;background:#f5f6ef;border:1px solid #e9eddf;border-radius:18px;padding:19px;color:var(--ink);font-size:18px!important;line-height:1.8;box-shadow:none}
.q-textarea::placeholder{color:#aeb5a2}.q-ages{display:flex;align-items:center;gap:12px;margin-top:15px}.q-ages label{flex:1;min-width:0;font-size:14px;color:#989e90}.q-ages .q-input{font-size:38px!important;text-align:center}.q-ages>span{margin-top:20px;color:#b7bcaf}.q-ages>b{font-size:18px;font-weight:400;margin-top:20px}
.q-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.q-photo,.q-addphoto{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:#f1f3e9}
.q-photo img{width:100%;height:100%;object-fit:cover;display:block}.q-photo>span{position:absolute;left:10px;top:10px;padding:3px 8px;background:#fffefaeb;border-radius:20px;font-size:11px;color:#596749}.q-photo>button{position:absolute;right:6px;top:6px;border:0;border-radius:50%;width:36px;height:36px;background:#323b3480;color:white;font-size:23px!important}.q-photo>.q-mainphoto{top:auto;bottom:10px;right:10px;width:auto;height:32px;padding:0 12px;border-radius:20px;font-size:12px!important;background:#fffefaec;color:var(--ink)}
.q-addphoto{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1.5px dashed #ccd5c0;cursor:pointer;color:#788669;gap:5px}.q-addphoto b{font-size:35px;font-weight:400}.q-addphoto span{font-size:15px}.q-addphoto small{font-size:12px;color:#a1aa97}.q-addphoto input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.q-review{border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:0 0 16px}.q-reviewphotos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:3px;background:#f0f3e9}.q-reviewphotos .q-photo{flex:0 0 85%;border-radius:0;max-height:280px;scroll-snap-align:start}.q-reviewcopy{padding:20px}.q-reviewcopy h2{margin:0;font-size:24px}.q-reviewcopy h2 span{font-size:18px;color:#7d8970;font-weight:400}.q-reviewcopy>p{color:#7f8976;font-size:14px;margin:8px 0 16px}.q-reviewtags{display:flex;gap:6px;flex-wrap:wrap}.q-reviewtags span{font-size:12px;padding:5px 9px;background:#f2f5ec;border-radius:20px}.q-reviewcopy .q-bio{font-size:17px;line-height:1.8;color:#424d3c;margin:21px 0;overflow-wrap:anywhere}.q-answer{padding:16px;background:#f7f5ee;border-radius:12px}.q-answer small{font-size:12px;color:#a19784}.q-answer p{font-size:15px;line-height:1.7;margin:8px 0 0;overflow-wrap:anywhere}.q-reviewcopy dl{font-size:12px;line-height:1.8;margin:18px 0 0}.q-reviewcopy dt{color:#999e91;margin-top:8px}.q-reviewcopy dd{margin:0;color:#69745c}.q-edit{display:block;width:100%;background:none;border:0;color:#88917d;text-decoration:underline;text-underline-offset:4px;padding:16px;font-size:14px!important}
.q-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#737d67;line-height:1.7;margin-top:14px}.q-consent input{flex-shrink:0;width:21px;height:21px;margin:1px 0;accent-color:var(--green)}
.q-pending .q-buddy{margin-top:32px}.q-wait{background:#f3f5ed;border-radius:18px;padding:23px;margin:32px 0}.q-wait>b{font-size:16px;font-weight:600}.q-wait p{margin:12px 0 0;font-size:14px;line-height:1.8;color:#8a9281}.q-waitdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b3bd94;margin-right:8px;box-shadow:0 0 0 4px #e9eddc}
@keyframes q-enter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes q-return{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes q-pop{0%{transform:scale(.92)}65%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes q-nod{0%{transform:rotate(-8deg) translateY(4px)}60%{transform:rotate(3deg) translateY(-2px)}100%{transform:rotate(0) translateY(0)}}
@keyframes q-spark{from{opacity:0;transform:scale(.5) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(min-width:600px){.q-shell{margin:24px auto;min-height:calc(100dvh - 48px);border:1px solid #e4e8dc;border-radius:30px;box-shadow:0 12px 65px #5565410b;overflow:hidden}.q-scene{min-height:650px}}
@media(max-width:360px){.q-scene{padding-left:21px;padding-right:21px}#momo-join h1{font-size:25px}.q-chip{padding:11px 13px}.q-nav{padding:0 20px}}
@media(max-height:700px){.q-scene{padding-top:20px}.q-buddy{height:44px;margin-bottom:14px}.q-buddy svg{height:44px}.q-content{padding-top:24px}.q-dock{padding-top:20px}}
@media(prefers-reduced-motion:reduce){#momo-join *,#momo-join *:before,#momo-join *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
