/* 회원 화면 공통. 사이트 토큰을 그대로 쓴다(툴형, 라이트 온리). */
:root{--ink:#101317;--ink-2:#5B6472;--ink-3:#868D99;--line:#E4E6EA;--line-2:#EDEFF2;--bg:#fff;--bg-subtle:#FBFBFC;
--accent:#123A8A;--urgent:#B4341F;--ok:#17A05F;--ok-bg:#E6F5ED;--chip-bg:#EEF1F6;--chip-fg:#4A5462;--radius:4px;--pad-x:18px}
*{box-sizing:border-box}
/* hidden 속성이 .btn{display:flex} 같은 규칙에 밀리지 않게. 카카오 버튼이 hidden 인데도 보였다. */
[hidden]{display:none!important}
body{margin:0;background:var(--bg-subtle);color:var(--ink);font-family:"IBM Plex Sans KR","Pretendard","Apple SD Gothic Neo",-apple-system,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
.shell{max-width:720px;margin:0 auto;min-height:100vh;background:var(--bg);border-inline:1px solid var(--line);display:flex;flex-direction:column}
@media(max-width:720px){.shell{border-inline:0}}
.topbar{height:44px;display:flex;align-items:center;gap:14px;padding:0 var(--pad-x);background:var(--bg-subtle);border-bottom:1px solid var(--line)}
.wordmark{font-weight:600;font-size:13.5px;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.topbar nav a{font-size:13px;color:var(--ink-2);text-decoration:none;padding:4px 10px;border-radius:var(--radius)}
main{flex:1;width:100%;max-width:440px;margin:0 auto;padding:36px var(--pad-x) 56px}
h1{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.02em}
.lead{margin:0 0 22px;font-size:13.5px;color:var(--ink-2)}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px 14px;margin-bottom:8px;font:inherit;font-size:13.5px;font-weight:500;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);cursor:pointer;text-decoration:none}
.btn:hover{border-color:#B9C0CC}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)} .btn.primary:hover{opacity:.92}
.btn.kakao{background:#FEE500;border-color:#FEE500;color:#191919}
.btn:disabled{opacity:.55;cursor:default}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn svg{width:18px;height:18px;flex:none}
.or{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--ink-3);font-size:11.5px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
label{display:block;font-size:12px;color:var(--ink-2);margin:12px 0 5px}
input[type=email],input[type=password],input[type=text]{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid #CFD3DA;border-radius:var(--radius);background:var(--bg);color:var(--ink)}
input::placeholder{color:#A2A6AD}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:12.5px}
.linkish{font:inherit;font-size:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.tabs{display:flex;gap:4px;margin-bottom:6px}
.tabs button{font:inherit;font-size:12.5px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink-2);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.msg{margin:12px 0 0;padding:10px 12px;font-size:13px;border-radius:var(--radius);background:var(--bg-subtle);border:1px solid var(--line);color:var(--ink-2)}
.msg.ok{background:var(--ok-bg);border-color:transparent;color:var(--ok)}
.msg.err{background:#FBEBE7;border-color:transparent;color:var(--urgent)}
.fine{margin:18px 0 0;font-size:11.5px;color:var(--ink-3);line-height:1.65} .fine a{color:var(--ink-2)}
.check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);margin:14px 0 0}
.check input{margin-top:3px;accent-color:var(--accent)}
.who{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-2);margin-bottom:18px}
.chip{font-size:10.5px;padding:1px 7px;border:1px solid var(--line);border-radius:3px;color:var(--ink-3)}
dl.facts{margin:0 0 18px}
dl.facts>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13.5px}
dl.facts dt{color:var(--ink-2);margin:0} dl.facts dd{margin:0;text-align:right}
.danger{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.danger .linkish{color:var(--urgent)}
footer{padding:18px var(--pad-x);background:var(--bg-subtle);border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3);text-align:center}
footer a{color:var(--ink-2)}
.spinner{color:var(--ink-3);font-size:13px}
