:root{--bg:#F3F5EF;--ink:#1D2A22;--muted:#5B6A60;--line:#C9D3C4;--warm:#E9974F;--leaf:#6E9E61;--card:#FFFFFF;
color-scheme:light dark;box-sizing:border-box}
@media (prefers-color-scheme:dark){:root{--bg:#151C18;--ink:#E7EDE6;--muted:#9AAA9F;--line:#33423A;--warm:#F0A96A;--leaf:#8DBB7F;--card:#1C2520}}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
font-size:17px;line-height:1.75;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid var(--warm);outline-offset:3px;border-radius:2px}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
header.top{display:flex;justify-content:space-between;align-items:center;padding:28px 0}
.mark{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;letter-spacing:-.01em}
.mark i{width:28px;height:28px;border-radius:50%;border:2.5px solid var(--ink);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}
nav a{text-decoration:none;color:var(--muted);margin-left:20px;font-size:15px}
nav a:hover{color:var(--ink)}
/* commit history rail */
.log{position:relative;padding-left:44px;margin:24px 0 80px}
.log::before{content:"";position:absolute;left:11px;top:14px;bottom:0;width:2px;background:var(--line)}
.c{position:relative;padding-bottom:72px}
.c::before{content:"";position:absolute;left:-44px;top:10px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2.5px solid var(--leaf)}
.c.head::before{border-color:var(--warm);background:var(--warm);box-shadow:0 0 0 6px color-mix(in srgb,var(--warm) 22%,transparent)}
.hash{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;color:var(--muted)}
.hash b{color:var(--leaf);font-weight:500}
.c.head .hash b{color:var(--warm)}
h1{font-size:clamp(38px,7vw,60px);line-height:1.2;letter-spacing:-.035em;margin:12px 0 22px;font-weight:800}
h2{font-size:28px;line-height:1.35;letter-spacing:-.02em;margin:8px 0 14px;font-weight:750}
p{margin:0 0 14px;max-width:34em}
.lead{font-size:19px;color:var(--muted)}
.app{margin-top:22px;display:flex;gap:18px;align-items:center;padding:20px;border:1.5px solid var(--line);border-radius:22px;background:var(--card);max-width:520px}
.icon{flex:none;width:64px;height:64px;border-radius:16px;background:linear-gradient(160deg,#F6C28B,#E9974F 55%,#6E9E61);display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px}
.app strong{display:block;font-size:19px}
.app span{color:var(--muted);font-size:15px}
.pill{display:inline-block;margin-top:6px;font-size:13px;padding:2px 10px;border-radius:99px;background:color-mix(in srgb,var(--leaf) 16%,transparent);color:var(--leaf);font-weight:600}
.btn{display:inline-block;margin-top:6px;padding:12px 20px;border-radius:12px;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:600}
footer{border-top:1px solid var(--line);padding:28px 0 48px;color:var(--muted);font-size:14px;line-height:1.9}
footer a{color:var(--muted)}
/* policy */
.doc h1{font-size:clamp(30px,5vw,40px)}
.doc h2{font-size:21px;margin-top:40px}
.doc ul,.doc ol{padding-left:22px;max-width:34em}
.doc li{margin-bottom:6px}
.doc table{border-collapse:collapse;width:100%;font-size:15px;margin:10px 0 16px}
.doc th,.doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.doc th{background:var(--card)}
.tbl{overflow-x:auto}
.meta{color:var(--muted);font-size:15px}
