:root{--bg:#fff;--text:#191F28;--text2:#4E5968;--sub:#6B7684;--sub2:#8B95A1;--line:#E5E8EB;--section:#F2F4F6;--soft:#F9FAFB;
--blue:#3182F6;--blue-press:#1B64DA;--blue-weak:#E8F3FF;--blue-weak-text:#1B64DA;--on-blue:#fff;--shadow:0 2px 12px rgba(0,27,55,.06)}
@media (prefers-color-scheme:dark){:root{--bg:#17171C;--text:#F2F2F4;--text2:#C3C3C6;--sub:#9E9EA4;--sub2:#7E7E87;--line:#2C2C35;
--section:#22222A;--soft:#1D1D24;--blue:#3485FA;--blue-press:#2272EB;--blue-weak:#1F2D45;--blue-weak-text:#90C2FF;--shadow:none}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--blue)}
.wrap{max-width:680px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:5;background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}
header .wrap{display:flex;align-items:center;height:56px}
.brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:700;font-size:17px}
.brand img{width:28px;height:28px;border-radius:8px}
main{padding:24px 0 72px}
h1{font-size:28px;line-height:1.38;letter-spacing:-.02em;margin:12px 0 12px;font-weight:700}
h2{font-size:21px;line-height:1.4;letter-spacing:-.01em;margin:44px 0 10px;font-weight:700}
h3{font-size:17px;margin:28px 0 6px;font-weight:600}
p,li{font-size:16px;color:var(--text2)}p{margin:8px 0}
ul,ol{padding-left:22px}li{margin:4px 0}
strong{color:var(--text);font-weight:600}
code{font-family:inherit;background:var(--section);border-radius:6px;padding:1px 6px;font-size:.94em}
.sub{color:var(--sub)}
.eyebrow{color:var(--blue);font-weight:600;font-size:15px;margin:32px 0 0}
.hero h1{font-size:34px;line-height:1.32;margin-top:8px}
.lead{font-size:18px;color:var(--sub);margin:0 0 28px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;width:100%;border:0;border-radius:16px;padding:0 20px;margin:8px 0;
font:inherit;font-weight:600;font-size:17px;text-decoration:none;cursor:pointer;background:var(--blue);color:var(--on-blue);transition:transform .1s,background .15s}
.btn:active{transform:scale(.98);background:var(--blue-press)}
.btn.weak{background:var(--blue-weak);color:var(--blue-weak-text)}
.btn.grey{background:var(--section);color:var(--text)}
.btn[aria-disabled=true]{background:var(--section);color:var(--sub2);cursor:default}
.btns{margin:8px 0 0}
@media (min-width:560px){.btns.row{display:flex;gap:10px}.btns.row .btn{flex:1}}
.cards{display:grid;gap:12px;margin:40px 0 0}
.card{background:var(--soft);border-radius:24px;padding:24px}
.card h3{margin:12px 0 4px;font-size:19px;color:var(--text)}.card p{margin:0;color:var(--sub)}
.emoji{font-family:Tossface,'Apple Color Emoji','Noto Color Emoji',sans-serif;font-size:40px;line-height:1}
.points{list-style:none;padding:0;margin:12px 0 0}
.points li{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);margin:0}
.points li:last-child{border-bottom:0}
.points .emoji{font-size:24px;flex:none;margin-top:1px}
.points b{display:block;color:var(--text);font-weight:600}
table{width:100%;border-collapse:collapse;margin:14px 0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top;font-size:15px;color:var(--text2)}
th{color:var(--sub);font-weight:600;white-space:nowrap;background:var(--soft)}
td:first-child{min-width:96px}
.doc h1{font-size:26px}.doc .meta{color:var(--sub);font-size:14px}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:600;color:var(--text);position:relative;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';position:absolute;right:6px;top:24px;width:8px;height:8px;border-right:2px solid var(--sub2);border-bottom:2px solid var(--sub2);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:28px}
.faq details p{margin:0 0 16px}
.box{background:var(--soft);border-radius:20px;padding:20px 22px;margin:16px 0}
.box p{margin:4px 0}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:10px 0 10px 40px;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--blue-weak);color:var(--blue-weak-text);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
pre.license{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;color:var(--sub);background:var(--soft);border-radius:16px;padding:18px;max-height:420px;overflow:auto}
footer{border-top:1px solid var(--line);padding:28px 0 48px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:16px}
footer a{color:var(--sub);text-decoration:none;font-size:14px}footer a:hover{text-decoration:underline}
footer p{font-size:13px;color:var(--sub2);margin:4px 0}
.invite-card{background:var(--soft);border-radius:24px;padding:24px;margin:20px 0}
.label{font-size:14px;color:var(--sub);font-weight:600;margin:0 0 6px}
.question{font-size:19px;font-weight:600;color:var(--text);line-height:1.5;margin:0}
.dday{display:inline-block;background:var(--blue-weak);color:var(--blue-weak-text);font-weight:700;font-size:14px;border-radius:8px;padding:4px 10px;margin:4px 0 0}
.code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.code{font-size:36px;font-weight:700;letter-spacing:.18em;font-variant-numeric:tabular-nums;color:var(--text);font-feature-settings:'tnum'}
.copy{flex:none;min-height:40px;border:0;border-radius:12px;padding:0 14px;background:var(--blue-weak);color:var(--blue-weak-text);font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.hint{font-size:14px;color:var(--sub);margin:16px 0 0}
.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;background:#191F28;color:#fff;border-radius:14px;padding:12px 18px;font-size:15px;transition:all .2s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
[hidden]{display:none!important}
@media (min-width:720px){.hero h1{font-size:44px}.cards{grid-template-columns:repeat(3,1fr)}h1{font-size:32px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
