/* 인연연구소 회원 화면 (landing.css 위에 얹음) */
.auth{min-height:calc(100vh - 60px);background:radial-gradient(120% 60% at 50% 0%,#fde3ea 0%,#fff6f3 45%,var(--ivory) 100%);padding:28px 0 64px}
.auth .head{text-align:center;margin:0 0 18px}
.auth .head img{width:76px;height:76px;margin:0 auto 6px;border-radius:18px}
.auth h1{font-family:var(--serif);color:var(--navy);font-size:clamp(25px,6.4vw,32px);margin:4px 0 6px}
.auth .head p{color:var(--mute);margin:0;font-size:15px}
.form.light{box-shadow:0 24px 50px -32px rgba(31,42,79,.45);border:1px solid var(--line)}
input[type=password],input[type=number],textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fbf8f7;border:1.5px solid #e6dcd8;border-radius:12px;padding:13px 14px;min-height:50px;appearance:none;-webkit-appearance:none}
textarea{min-height:96px;resize:vertical;line-height:1.55}
textarea:focus{outline:none;border-color:var(--rose);background:#fff;box-shadow:0 0 0 4px rgba(233,78,119,.14)}
.pw{position:relative}
.pw input{padding-right:64px}
.pw button{position:absolute;right:6px;top:6px;height:38px;padding:0 12px;border:0;background:transparent;color:var(--mute);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:8px}
.alt{text-align:center;margin:18px 0 0;color:var(--mute);font-size:15px}
.alt a{font-weight:700;text-decoration:none}
.sep{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ok-box{text-align:center;padding:8px 4px}
.ok-box .big{font-size:44px;line-height:1;margin:4px 0 10px}
.ok-box h2{font-family:var(--serif);color:var(--navy);font-size:22px;margin:0 0 10px}
.ok-box p{color:#3d4258;margin:0 0 10px}
.ok-box .mail{display:inline-block;background:var(--rose-l);color:var(--rose-d);font-weight:700;padding:4px 12px;border-radius:999px;word-break:break-all}
.ok-box .small{font-size:13.5px;color:var(--mute)}
.info{background:#f8f5f3;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;color:#4a4f66;margin:0 0 16px}
.info.good{background:#eef8f1;border-color:#cfe9d7;color:#24613a}
.info.warn{background:#fff6e8;border-color:#f1dcb4;color:#7a5410}
.form-status.good{color:#24613a}
.hidden{display:none!important}
.nav-links{display:flex;gap:8px;align-items:center}
/* me */
.me-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px 18px;box-shadow:0 24px 50px -36px rgba(31,42,79,.5);margin:0 0 16px}
.me-top{display:flex;gap:14px;align-items:center}
.avatar{flex:none;width:58px;height:58px;border-radius:50%;background:linear-gradient(140deg,var(--rose) 0%,var(--navy) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;font-weight:700}
.me-top h1{font-size:22px;margin:0}
.me-top p{margin:2px 0 0;color:var(--mute);font-size:14px;word-break:break-all}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.badges li{font-size:12.5px;font-weight:700;border-radius:999px;padding:5px 11px;border:1px solid var(--line);background:#fbf8f7;color:var(--mute)}
.badges li.on{background:#eef8f1;border-color:#cfe9d7;color:#24613a}
.badges li.gold{background:var(--gold-l);border-color:#ead7b5;color:#8a6630}
.me-card h2{font-family:var(--serif);color:var(--navy);font-size:19px;margin:0 0 4px}
.me-card .sub{margin:0 0 16px;font-size:14px}
.progress{height:8px;background:#f1e8e5;border-radius:99px;overflow:hidden;margin:10px 0 4px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--gold));width:0;transition:width .3s}
.qs .field legend{font-size:15.5px}
.qs .seg{grid-template-columns:1fr 1fr}
.qs .seg span{font-size:14px;min-height:46px}
.savebar{position:sticky;bottom:0;z-index:5;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,250,246,0),rgba(255,250,246,.96) 30%)}
.savebar .form-status{margin-top:8px}
.danger{background:transparent;color:#a33;box-shadow:inset 0 0 0 1.5px rgba(170,51,51,.35)}
.danger:hover{background:rgba(170,51,51,.06)}
.row-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.locked{font-size:12.5px;color:var(--mute);font-weight:600;margin-left:6px}
.loading{text-align:center;color:var(--mute);padding:60px 0}
@media (min-width:720px){.form.light{padding:34px 32px}.me-card{padding:28px 30px}}
.nav-links .btn-sm{padding:8px 13px;font-size:13.5px;white-space:nowrap}
@media (max-width:400px){.nav .brand{font-size:16px;letter-spacing:.02em;gap:6px}.nav .brand img{width:30px;height:30px}.nav-links{gap:6px}.nav-links .btn-sm{padding:7px 10px;font-size:12.5px}}
.cta-row .link{margin-top:4px}
