:root{--ink:#173a38;--muted:#718783;--line:#dde9e6;--teal:#0d7068;--lime:#ddec74;--paper:#f4f8f6;--coral:#ee8d6e;font-family:"Noto Sans KR","DM Sans",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input{font:inherit}.signup-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.78fr) minmax(560px,1.22fr)}.signup-story{position:sticky;top:0;height:100vh;overflow:hidden;padding:42px 52px;color:#fff;background:radial-gradient(circle at 80% 25%,rgba(84,190,169,.25),transparent 30%),linear-gradient(145deg,#0b4b45,#082f2c)}.signup-story:after{content:"";position:absolute;width:580px;height:580px;left:-250px;bottom:-310px;border:1px solid rgba(221,236,116,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(221,236,116,.025),0 0 0 140px rgba(221,236,116,.02)}.signup-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:18px;font-weight:800}.signup-brand-mark{position:relative;width:29px;height:29px;border:1px solid rgba(221,236,116,.5);border-radius:50%}.signup-brand-mark i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--lime)}.signup-brand-mark i:first-child{left:7px;top:14px}.signup-brand-mark i:nth-child(2){right:8px;top:7px}.signup-brand-mark i:last-child{right:6px;bottom:7px}.story-copy{position:absolute;top:50%;left:52px;right:52px;transform:translateY(-53%);z-index:1}.story-kicker,.form-kicker{color:var(--lime);font-size:9px;font-weight:800;letter-spacing:1.7px}.story-copy h1{margin:20px 0;font-size:clamp(42px,5vw,64px);line-height:1.12;letter-spacing:-4px}.story-copy h1 em{color:var(--lime);font-style:normal}.story-copy p{max-width:420px;color:#a9c9c2;font-size:11px;line-height:1.8}.trust-list{position:absolute;left:52px;right:52px;bottom:39px;z-index:1;display:flex;gap:18px;color:#95b8b1;font-size:8px}.trust-list span:before{color:var(--lime)}.signup-main{min-height:100vh;padding:32px clamp(32px,7vw,96px) 24px}.signup-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.signup-top a{color:var(--muted);text-decoration:none}.signup-top button,.mode-link{border:0;color:var(--teal);background:transparent;font-weight:800;cursor:pointer}.auth-panel{width:min(620px,100%);margin:68px auto 40px}.progress{display:flex;align-items:center;width:210px;margin-bottom:36px}.progress span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cadbd7;border-radius:50%;color:#8ca19d;font-size:8px}.progress span.active{color:#fff;border-color:var(--teal);background:var(--teal)}.progress i{flex:1;height:1px;background:#cadbd7}.signup-step{display:none}.signup-step.active{display:block}.form-kicker{color:var(--teal)}.signup-step h2,.login-panel h2{margin:12px 0 8px;font-size:29px;letter-spacing:-1.5px}.signup-step>p,.login-panel form>p{margin:0 0 28px;color:var(--muted);font-size:11px;line-height:1.7}.signup-step label,.login-panel label{display:block;margin:17px 0 0;font-size:10px;font-weight:800}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.signup-step input,.login-panel input{width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;outline:none}.signup-step input:focus,.login-panel input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,112,104,.08)}.age-note{padding:11px 13px;border-radius:10px;color:#7c8e8b!important;background:#eaf1ef;font-size:8px!important}.primary-auth{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:23px;padding:14px 17px;border:0;border-radius:11px;color:#fff;background:var(--teal);text-decoration:none;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(13,112,104,.16)}.secondary-auth{margin-top:23px;padding:14px 18px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font-size:10px;font-weight:800;cursor:pointer}.step-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.form-error{min-height:18px;margin-top:10px;color:#c75243;font-size:9px}.all-consent,.consent-row{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:15px;border:1px solid var(--line);background:#fff}.all-consent{border-radius:13px}.all-consent input,.consent-row input{width:17px;height:17px;margin:0;accent-color:var(--teal)}.all-consent strong,.all-consent small,.consent-row b,.consent-row small{display:block}.all-consent strong,.consent-row b{font-size:10px}.all-consent small,.consent-row small{margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}.consent-group{margin-top:15px;overflow:hidden;border:1px solid var(--line);border-radius:13px}.consent-heading{display:flex;justify-content:space-between;padding:11px 14px;color:#5c7772;background:#eaf3f0;font-size:8px}.consent-heading span{color:var(--teal);font-weight:800}.consent-row{border:0;border-radius:0}.consent-row+.consent-row{border-top:1px solid var(--line)}.consent-row>span{flex:1}.consent-row>button{border:0;color:#66817c;background:transparent;font-size:8px;text-decoration:underline;cursor:pointer}.optional .consent-heading{background:#f3f2ea}.phone-field{padding:12px 16px 16px!important;margin:0!important;border-top:1px solid var(--line);background:#fff}.legal-reminder{margin-top:13px;padding:12px;border-radius:10px;color:#6f837f;background:#eaf1ef;font-size:8px;line-height:1.6}.success-step{text-align:center}.success-radar{position:relative;display:grid;place-items:center;width:105px;height:105px;margin:0 auto 28px;border:1px solid #bfd8d2;border-radius:50%}.success-radar:before,.success-radar i{content:"";position:absolute;border:1px solid #d5e5e1;border-radius:50%}.success-radar:before{inset:14px}.success-radar i:first-child{inset:29px}.success-radar i:nth-child(2){width:5px;height:5px;right:15px;top:32px;border:0;background:var(--lime);box-shadow:0 0 10px #b4c24b}.success-radar b{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;color:#fff;background:var(--teal)}.success-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0}.success-summary span{padding:7px 9px;border-radius:999px;color:#4d716b;background:#e4f1ed;font-size:8px}.login-panel{max-width:480px}.login-panel form{padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 60px rgba(24,59,56,.07)}.mode-link{display:block;margin:18px auto 0}.signup-footer{display:flex;justify-content:space-between;width:min(620px,100%);margin:0 auto;color:#899b98;font-size:8px}.signup-footer a{color:#607b76}dialog{width:min(580px,calc(100% - 30px));padding:0;border:0;border-radius:20px;color:var(--ink);box-shadow:0 30px 90px rgba(7,43,40,.28)}dialog::backdrop{background:rgba(7,32,30,.57);backdrop-filter:blur(4px)}dialog form{padding:26px}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between}dialog header span{color:var(--teal);font-size:8px;font-weight:800}dialog h2{margin:5px 0 0;font-size:20px}dialog header button{width:32px;height:32px;border:0;border-radius:50%;background:#edf4f2;font-size:18px}#consent-content{max-height:50vh;overflow:auto;margin:22px 0;padding-right:8px;color:#536e69;font-size:10px;line-height:1.8}#consent-content h3{margin:18px 0 5px;color:var(--ink);font-size:11px}#consent-content ul{padding-left:18px}dialog footer{padding-top:15px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}.dialog-confirm{padding:9px 12px;border:0;border-radius:8px;color:#fff;background:var(--teal);font-size:8px}#signup-toast{position:fixed;right:25px;bottom:25px;padding:13px 16px;border-radius:11px;color:#fff;background:#123e3b;font-size:9px;opacity:0;transform:translateY(8px);transition:.2s}#signup-toast.show{opacity:1;transform:none}
@media(max-width:820px){.signup-shell{display:block}.signup-story{position:relative;height:270px;padding:27px 24px}.story-copy{top:105px;left:24px;right:24px;transform:none}.story-copy h1{margin:13px 0 8px;font-size:34px;letter-spacing:-2.5px}.story-copy h1 br:nth-child(2){display:none}.story-copy p{display:none}.trust-list{display:none}.signup-main{padding:23px 20px}.signup-top span{font-size:8px}.auth-panel{margin-top:42px}.field-row{grid-template-columns:1fr}.signup-step h2,.login-panel h2{font-size:25px}.signup-footer{padding-bottom:20px}}

/* Signup flow refinements */
.signup-story{display:flex;flex-direction:column}
.signup-brand{position:relative;z-index:2;flex:0 0 auto}
.story-copy{position:relative;inset:auto;z-index:1;margin:auto 0 30px;transform:none}
.story-copy h1{font-size:clamp(38px,3.4vw,58px);letter-spacing:-3px}
.trust-list{position:relative;inset:auto;flex:0 0 auto}
.birth-date-input{display:grid;grid-template-columns:minmax(84px,1.6fr) auto minmax(54px,1fr) auto minmax(54px,1fr);align-items:center;gap:7px;width:100%;margin-top:8px;padding:5px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;transition:.2s}
.birth-date-input:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,112,104,.08)}
.birth-date-input input{min-width:0!important;margin:0!important;padding:8px 5px!important;border:0!important;border-radius:6px!important;text-align:center;box-shadow:none!important}
.birth-date-input input[type="hidden"]{display:none}
.birth-date-input i{color:#9aadaa;font-style:normal;font-weight:400}
.required-consent-toggle{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:14px 15px;border-bottom:1px solid var(--line);background:#f3faf7}
.required-consent-toggle input{width:17px;height:17px;margin:0;accent-color:var(--teal)}
.required-consent-toggle span{flex:1}.required-consent-toggle b,.required-consent-toggle small{display:block}.required-consent-toggle b{font-size:10px}.required-consent-toggle small{margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}
.is-unavailable{color:#627b77;background:#f7f9f8}.is-unavailable em{display:inline-block;margin-left:5px;padding:3px 6px;border-radius:999px;color:#60736f;background:#e4ebe9;font-size:7px;font-style:normal}.coming-soon-dot{flex:0 0 auto!important;width:17px;height:17px;border:2px solid #bccac7;border-radius:50%;background:#eef3f1}
@media (max-height:760px) and (min-width:900px){.signup-story{padding-top:30px;padding-bottom:28px}.story-copy{margin-bottom:18px}.story-copy h1{margin:14px 0;font-size:clamp(34px,3vw,48px)}.trust-list{gap:10px}}
@media(max-width:820px){.signup-story{display:block}.story-copy{position:absolute;inset:105px 24px auto;margin:0}.story-copy h1{font-size:34px}.birth-date-input{grid-template-columns:minmax(96px,1.5fr) auto minmax(64px,1fr) auto minmax(64px,1fr)}}
