:root{--bg:#0f1220;--panel:#171b2e;--fg:#e9ecf5;--muted:#a3a9c2;--accent:#7c5cff;--line:#272c45}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR","Noto Sans",sans-serif;line-height:1.7}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:rgba(15,18,32,.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.brand{color:var(--fg);font-weight:700;text-decoration:none;font-size:17px}
.langwrap select{appearance:none;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:8px 32px 8px 12px;font-size:14px;cursor:pointer}
.wrap{max-width:820px;margin:0 auto;padding:32px 20px 80px}
.doc h1{font-size:28px;line-height:1.3;margin:.2em 0 .6em}
.doc h2{font-size:20px;margin:1.6em 0 .5em;padding-top:.3em}
.doc h3{font-size:16px;margin:1.3em 0 .4em;color:#cfd3e6}
.doc p,.doc li{color:#dfe3f2}.doc a{color:var(--accent)}
.doc blockquote{margin:1em 0;padding:.6em 1em;border-inline-start:3px solid var(--accent);background:var(--panel);border-radius:8px;color:var(--muted)}
.doc hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}
.doc code{background:var(--panel);padding:.1em .4em;border-radius:6px;font-size:.92em}
.doc ul.links{padding-inline-start:18px}.email a{font-size:18px}
.muted{color:var(--muted)}
.hub h1{font-size:30px;margin:.2em 0 .4em}
.cards{display:grid;gap:12px;margin:24px 0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;color:var(--fg);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--accent);transform:translateY(-1px)}
.appcard strong{font-size:17px}
.foot{max-width:820px;margin:0 auto;padding:24px 20px 60px;border-top:1px solid var(--line)}
.footnav{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:12px}.footnav a{color:var(--muted);text-decoration:none}.footnav a:hover{color:var(--fg)}
[dir=rtl] .doc{text-align:right}
