:root{
  --bg:#f5f9f8;--card:#fff;--line:#d7e3e0;--line2:#e6eeec;--ink:#0f1a1c;--ink2:#3c4b4e;--mute:#6b7b7e;
  --teal:#0d9488;--teal-d:#0f766e;--teal-dd:#115e59;--teal-l:#ccfbf1;--bad:#b42318;--bad-l:#fef3f2;--ok-l:#ecfdf3;--ok:#067647;
  --shadow:0 1px 2px rgb(15 26 28/.06),0 10px 30px -12px rgb(15 26 28/.18)
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
     font-size:16px;line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}
a{color:var(--teal-d)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line2);background:rgb(255 255 255/.9)}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.brand em{font-style:normal}.brand em b{font-weight:900}
.brand em b:nth-child(1){color:#3b82f6}.brand em b:nth-child(2){color:#22c55e}.brand em b:nth-child(3){color:#f59e0b}.brand em b:nth-child(4){color:#ef4444}
.mark{display:grid;grid-template-columns:repeat(3,6px);gap:2px;padding:5px;border-radius:8px;background:#2b2f36}
.mark b{width:6px;height:6px;border-radius:2px;background:#1b1e23}
.mark b:nth-child(1){background:#f59e0b}.mark b:nth-child(3){background:#ef4444}.mark b:nth-child(5){background:#3b82f6}.mark b:nth-child(9){background:#22c55e}
#nav{display:flex;gap:16px;font-size:14px;align-items:center}
#nav a,#nav button{color:var(--ink2);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:4px 0}
#nav a:hover,#nav button:hover{color:var(--teal-d)}
main{flex:1;width:100%;max-width:460px;margin:0 auto;padding:36px 16px 48px}
main.wide{max-width:640px}
h1{font-size:26px;letter-spacing:-.02em;margin:0 0 20px}
h2{font-size:18px;margin:0 0 12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}
.card+.card{margin-top:16px}
form{display:grid;gap:14px}
label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink2)}
input[type=email],input[type=password],input[type=text]{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;line-height:1.5}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--teal-d);flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:12px;font:inherit;font-weight:700;font-size:15px;
     border:0;cursor:pointer;text-decoration:none;background:var(--teal-d);color:#fff}
.btn:hover{background:var(--teal-dd)}
.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink2)}
.btn.ghost:hover{border-color:var(--teal);color:var(--teal-d)}
.btn.danger{background:#fff;border:1px solid #f0c3bf;color:var(--bad)}
.btn.full{width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.or{display:flex;align-items:center;gap:12px;color:var(--mute);font-size:13px;margin:4px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line2)}
.gbtn{min-height:44px;display:flex;justify-content:center}
.msg{padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.55}
.msg.bad{background:var(--bad-l);color:var(--bad)}
.msg.ok{background:var(--ok-l);color:var(--ok)}
.msg:empty{display:none}
.sub{color:var(--mute);font-size:14px}
.links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px;margin-top:16px}
.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px}
.list small{display:block;color:var(--mute);font-size:13px}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--teal-l);color:var(--teal-dd)}
.badge.warn{background:#fffaeb;color:#b54708}
.code{font:700 22px/1.2 ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.1em}
.foot{padding:20px 16px 28px;text-align:center;font-size:12px;color:var(--mute)}
.foot a{color:var(--mute)}
details summary{cursor:pointer;font-weight:700}
.bigbrand{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 22px;font-weight:800;font-size:28px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.bigbrand em{font-style:normal}.bigbrand em b{font-weight:900}
.bigbrand em b:nth-child(1){color:#3b82f6}.bigbrand em b:nth-child(2){color:#22c55e}.bigbrand em b:nth-child(3){color:#f59e0b}.bigbrand em b:nth-child(4){color:#ef4444}
.mark.big{grid-template-columns:repeat(3,9px);gap:3px;padding:7px;border-radius:11px}
.mark.big b{width:9px;height:9px;border-radius:2.5px}
h1.center{text-align:center}

