:root{--ink:#111;--sub:#555;--line:#d8d8d8;--bg:#fff;--soft:#f4f5f7;--key:#1d4ed8;--bad:#b91c1c}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
a{color:var(--key)}
header{border-bottom:1px solid var(--line)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.top{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-weight:800;font-size:18px;color:var(--ink);text-decoration:none}
nav a{margin-left:16px;color:var(--ink);text-decoration:none;font-weight:600}
nav a[aria-current]{color:var(--key)}
h1{font-size:28px;line-height:1.3;margin:32px 0 8px}
.lead{color:var(--sub);margin:0 0 20px}
.promise{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 24px;padding:0;list-style:none;font-weight:600}
.promise li::before{content:"✓ ";color:var(--key)}
.drop{border:2px dashed var(--line);padding:36px 16px;text-align:center;cursor:pointer;background:var(--soft)}
.drop.on{border-color:var(--key);background:#eef2ff}
.drop strong{display:block;font-size:18px}
.drop span{color:var(--sub);font-size:14px}
.list{list-style:none;margin:16px 0;padding:0;border-top:1px solid var(--line)}
.list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.list .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list .meta{color:var(--sub);font-size:14px;white-space:nowrap}
.list button{border:1px solid var(--line);background:#fff;width:36px;height:36px;font-size:16px;cursor:pointer}
.go{display:block;width:100%;padding:14px;border:0;background:var(--key);color:#fff;font-size:17px;font-weight:700;cursor:pointer}
.go:disabled{background:#9aa5c4;cursor:default}
.go.alt{background:var(--ink);margin-top:8px}
.go.alt:disabled{background:#b5b5b5}
.logo,nav a{white-space:nowrap}
@media (max-width:420px){.logo{font-size:16px}nav a{margin-left:12px;font-size:15px}h1{font-size:24px}}
label{display:block;font-weight:600;margin:16px 0 6px}
input[type=text]{width:100%;padding:12px;border:1px solid var(--line);font-size:16px}
.msg{min-height:24px;margin:12px 0;font-weight:600}
.msg.bad{color:var(--bad)}
section.how{margin:40px 0;border-top:1px solid var(--line)}
section.how h2{font-size:20px;margin:24px 0 8px}
.guides a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
article h2{font-size:21px;margin:28px 0 8px}
footer{margin-top:48px;border-top:1px solid var(--line);padding:20px 0;color:var(--sub);font-size:14px}
footer a{color:var(--sub);margin-right:14px}
.ad{margin:24px 0}
