:root{--yellow:#ffc233;--yellow-deep:#c98f00;--yellow-soft:#fff4d6;--ink:#241f16;--muted:#6d6353;--bg:#fffcf4;--card:#fff;--line:#efe6d2;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,system-ui,sans-serif;font-size:17px;line-height:1.78}a{color:inherit}.shell{min-height:100vh;display:flex}.side{background:var(--bg);border-right:1px solid var(--line);flex:none;width:264px;height:100vh;padding:30px 20px;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;font-size:18px;font-weight:800;text-decoration:none;display:block}.brand .dot{color:var(--yellow-deep)}.brand small{color:var(--muted);margin-top:5px;font-size:12.5px;font-weight:500;line-height:1.5;display:block}.navgroup{margin-top:26px}.navgroup h4{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:0 0 8px;font-size:11px}.navgroup a{color:var(--ink);border-radius:9px;padding:7px 10px;font-size:14.5px;line-height:1.5;text-decoration:none;display:block}.navgroup a:hover{background:var(--yellow-soft)}.main{flex:1;min-width:0;padding:56px 48px 120px}.wrap{max-width:740px;margin:0 auto}.hero h1{letter-spacing:-.02em;margin:0 0 14px;font-size:31px;line-height:1.4}.hero .mark{background:linear-gradient(transparent 58%, var(--yellow) 58%)}.lede{color:var(--muted);margin:0 0 34px;font-size:16px}.badge{background:var(--yellow);color:#3a2c00;letter-spacing:.02em;border-radius:999px;margin-bottom:16px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:20px 22px;text-decoration:none;transition:all .15s;display:block}.card:hover{border-color:var(--yellow);transform:translateY(-2px)}.card b{letter-spacing:-.01em;font-size:19px}.card p{color:var(--muted);margin:6px 0 0;font-size:14.5px;line-height:1.65}.card .meta{color:var(--muted);font-size:12.5px;font-family:var(--mono);margin-top:9px}.doc h1{letter-spacing:-.02em;margin:12px 0 10px;font-size:27px;line-height:1.42}.doc h2{border-top:1px solid var(--line);letter-spacing:-.01em;margin:52px 0 14px;padding-top:22px;font-size:20px;line-height:1.45}.doc h3{margin:30px 0 8px;font-size:17.5px}.doc p,.doc li{font-size:16px}.doc table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14.5px;display:block;overflow-x:auto}.doc th,.doc td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.doc th{background:var(--yellow-soft);font-weight:700}.doc blockquote{background:var(--yellow-soft);border-left:3px solid var(--yellow);border-radius:0 10px 10px 0;margin:20px 0;padding:14px 20px}.doc blockquote p{margin:6px 0}.doc code{font-size:13.5px;font-family:var(--mono);background:#f5eedc;border-radius:5px;padding:1px 6px}.doc pre{background:var(--ink);color:#fff6e0;border-radius:12px;padding:16px;overflow-x:auto}.doc pre code{color:inherit;background:0 0}.doc hr{border:0;border-top:1px solid var(--line);margin:38px 0}.doc strong{font-weight:800}.toc{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:26px 0 40px;padding:18px 22px}.toc h4{color:var(--muted);letter-spacing:.06em;margin:0 0 8px;font-size:12px}.toc ol{margin:0;padding-left:18px}.toc li{font-size:14.5px;line-height:1.7}.toc a{text-decoration:none}.toc a:hover{color:var(--yellow-deep)}.meta-line{color:var(--muted);font-size:13px;font-family:var(--mono);margin-bottom:8px}.doc .head{border-bottom:2px solid var(--yellow);margin:0 0 34px;padding-bottom:26px}.unlock{text-align:center;max-width:340px;margin:18vh auto}.unlock input{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;margin:14px 0;padding:12px 14px;font-family:inherit;font-size:15px}.unlock button{background:var(--yellow);color:#3a2c00;cursor:pointer;border:0;border-radius:10px;width:100%;padding:12px;font-family:inherit;font-size:15px;font-weight:800}@media (max-width:860px){.shell{display:block}.side{border-right:0;border-bottom:1px solid var(--line);width:auto;height:auto;position:static}.main{padding:34px 20px 80px}.hero h1{font-size:26px}}
