
.nhn-join{max-width:820px;margin:auto;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:18px;font-family:Assistant,Arial}
.nhn-join .nhn-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:640px){.nhn-join .nhn-grid2{grid-template-columns:1fr}}
.nhn-acc{border:1px solid #eef2f7;border-radius:12px;padding:10px 12px;margin:10px 0;background:#fbfdff}
.nhn-acc>summary{cursor:pointer;font-weight:700;color:#1f6ca9;margin:-10px -12px 8px -12px;padding:12px;border-bottom:1px dashed #e5e7eb}
.nhn-actions{display:flex;justify-content:flex-end;margin-top:8px}
.nhn-btn{border:none;border-radius:10px;padding:10px 16px;background:#1f6ca9;color:#fff;cursor:pointer}
.nhn-btn--primary{background:#1f6ca9}
.nhn-loader{display:none;width:100%;height:4px;background:linear-gradient(90deg,#1f6ca9,#ff8a3d,#1f6ca9);background-size:200% 100%;animation:nhnload 1s linear infinite;border-radius:3px;margin:4px 0 10px 0}
.nhn-join.is-loading .nhn-loader{display:block}
@keyframes nhnload{0%{background-position:0 0}100%{background-position:200% 0}}
.nhn-msg{margin-top:10px;font-weight:700}
.nhn-msg.ok{color:#16a34a}
.nhn-msg.error{color:#dc2626}
.nhn-tos{display:flex;align-items:center;gap:10px;margin-top:8px}
.nhn-tos-modal[hidden]{display:none}
.nhn-tos-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:9999}
.nhn-tos-inner{background:#fff;border-radius:16px;max-width:640px;width:92%;padding:18px;position:relative}
.nhn-tos-close{position:absolute;inset-inline-end:8px;top:8px;border:none;background:#f3f4f6;border-radius:50%;width:28px;height:28px;cursor:pointer}
.nhn-bg-title{margin:8px 0;font-weight:700}
.nhn-bg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:640px){.nhn-bg-grid{grid-template-columns:repeat(2,1fr)}}
.nhn-bg-item{display:block;border:2px solid transparent;border-radius:12px;overflow:hidden}
.nhn-bg-item input{display:none}
.nhn-bg-item img{width:100%;height:80px;object-fit:cover;display:block}
.nhn-bg-item input:checked + img, .nhn-bg-item:has(input:checked){outline:2px solid #1f6ca9}
