:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-subtle:#f7f7f5;--bg-hover:#f1f1ef;--bg-badge:#e9e9e7;--text:#37352f;--text-muted:#787774;--text-faint:#9b9a97;--border:#e9e9e7;--border-strong:#d9d9d6;--chip-on-bg:#e7f3f8;--chip-on-fg:#1a6ab5;--chip-on-border:#b8dcf0;--tag-gray-bg:#e3e2e0;--tag-gray-fg:#37352f;--tag-brown-bg:#eee0da;--tag-brown-fg:#5c4232;--tag-orange-bg:#fadec9;--tag-orange-fg:#8a4c22;--tag-yellow-bg:#fdecc8;--tag-yellow-fg:#6f5514;--tag-green-bg:#dbeddb;--tag-green-fg:#2c5c37;--tag-blue-bg:#d3e5ef;--tag-blue-fg:#1d5a86;--tag-purple-bg:#e8deee;--tag-purple-fg:#59397e;--tag-pink-bg:#f5e0e9;--tag-pink-fg:#8a3a63;--tag-red-bg:#ffe2dd;--tag-red-fg:#9b332b;--font:-apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--row-h:32px;--sidebar-w:240px;--scrim:#0f0f0f66;--topbar-h:45px;--radius:4px;--caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--scrim:#0009;--bg:#191919;--bg-subtle:#202020;--bg-hover:#252525;--bg-badge:#373737;--text:#d4d4d4;--text-muted:#9b9b9b;--text-faint:#6f6f6f;--border:#2a2a2a;--border-strong:#373737;--chip-on-bg:#1e3a4d;--chip-on-fg:#8ec8e8;--chip-on-border:#2c556e;--tag-gray-bg:#3a3a3a;--tag-gray-fg:#c4c4c4;--tag-brown-bg:#4a3228;--tag-brown-fg:#d3ab92;--tag-orange-bg:#5c3b23;--tag-orange-fg:#f0b47f;--tag-yellow-bg:#56452a;--tag-yellow-fg:#e8c877;--tag-green-bg:#2b4636;--tag-green-fg:#8fce9f;--tag-blue-bg:#1f3d52;--tag-blue-fg:#8fc4e8;--tag-purple-bg:#3d3253;--tag-purple-fg:#b9a3e3;--tag-pink-bg:#4d2b3d;--tag-pink-fg:#eda3c8;--tag-red-bg:#522b2b;--tag-red-fg:#f0a19a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#191919;--bg-subtle:#202020;--bg-hover:#252525;--bg-badge:#373737;--text:#d4d4d4;--text-muted:#9b9b9b;--text-faint:#6f6f6f;--border:#2a2a2a;--border-strong:#373737;--chip-on-bg:#1e3a4d;--chip-on-fg:#8ec8e8;--chip-on-border:#2c556e;--tag-gray-bg:#3a3a3a;--tag-gray-fg:#c4c4c4;--tag-brown-bg:#4a3228;--tag-brown-fg:#d3ab92;--tag-orange-bg:#5c3b23;--tag-orange-fg:#f0b47f;--tag-yellow-bg:#56452a;--tag-yellow-fg:#e8c877;--tag-green-bg:#2b4636;--tag-green-fg:#8fce9f;--tag-blue-bg:#1f3d52;--tag-blue-fg:#8fc4e8;--tag-purple-bg:#3d3253;--tag-purple-fg:#b9a3e3;--tag-pink-bg:#4d2b3d;--tag-pink-fg:#eda3c8;--tag-red-bg:#522b2b;--tag-red-fg:#f0a19a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}svg{display:block}.app{align-items:flex-start;min-height:100vh;display:flex}.sidebar{background:var(--bg-subtle);border-right:1px solid var(--border);height:100vh;width:var(--sidebar-w);flex-direction:column;flex:none;gap:2px;padding:8px 8px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sb-top{align-items:center;gap:2px;display:flex}.sb-top .sb-ws{flex:1;min-width:0}.sb-collapse,.sb-toggle{align-items:center;padding:6px;display:flex}.sb-collapse svg,.sb-toggle svg{width:16px;height:16px}.sb-ws{border-radius:var(--radius);letter-spacing:-.01em;align-items:center;gap:8px;height:36px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.sb-ws:hover{background:var(--bg-hover);text-decoration:none}.sb-ws .ws-mark{background:var(--bg-badge);color:var(--text-muted);border-radius:3px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.sb-section{color:var(--text-faint);margin:0;padding:14px 8px 4px;font-size:12px;font-weight:500}.sb-item{border-radius:var(--radius);color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;height:27px;padding:0 8px;font-size:14px;display:flex;overflow:hidden}.sb-item svg{color:var(--text-faint);flex:none;width:16px;height:16px}.sb-item span{text-overflow:ellipsis;overflow:hidden}.sb-item:hover{background:var(--bg-hover);text-decoration:none}.sb-item[aria-current=page]{background:var(--bg-hover);color:var(--text);font-weight:500}.sb-item[aria-current=page] svg{color:var(--text-muted)}.sb-tree>summary{cursor:pointer;list-style:none}.sb-tree>summary::-webkit-details-marker{display:none}.sb-caret{color:var(--text-faint);flex:none;align-items:center;display:flex}.sb-caret svg{width:12px;height:12px;transition:transform .12s}.sb-tree[open]>summary .sb-caret svg{transform:rotate(90deg)}.sb-sub{font-variant-numeric:tabular-nums;height:26px;padding-left:32px;font-size:13px}.sb-more{color:var(--text-faint);font-variant-numeric:normal}.sb-more:hover{color:var(--text)}.sb-toggle{display:none}.sb-scrim{background:var(--scrim);z-index:15;border:0;padding:0;display:none;position:fixed;inset:0}@media (width>=901px){:root[data-sb=off] .sidebar{display:none}:root[data-sb=off] .sb-toggle{display:flex}:root[data-sb=off] .topbar .brand{display:block}}.content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--bg);height:var(--topbar-h);z-index:5;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-muted);align-items:center;gap:2px;min-width:0;font-size:14px;display:flex;overflow:hidden}.crumbs a,.crumbs .cur{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:2px 6px;overflow:hidden}.crumbs a:hover{background:var(--bg-hover);text-decoration:none}.crumbs .cur{color:var(--text);max-width:46ch}.crumbs .sep{color:var(--text-faint);flex:none}.topbar .spacer{flex:1}.topbar .brand{font-weight:600;display:none}.ghost-btn{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:3px;flex:none;padding:6px 8px;font-size:13px;line-height:1}.ghost-btn:hover{background:var(--bg-hover);color:var(--text)}.theme-toggle .i-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .i-dark{display:inline}:root:not([data-theme=light]) .theme-toggle .i-light{display:none}}:root[data-theme=dark] .theme-toggle .i-dark{display:inline}:root[data-theme=dark] .theme-toggle .i-light{display:none}.page{width:100%;max-width:1120px;margin:0 auto;padding:0 40px 96px}.page-wide{max-width:1560px}.page-head{padding:28px 0 4px}.page-icon{color:var(--text-faint);margin-bottom:8px}.page-icon svg{stroke-width:1.1px;width:40px;height:40px}.page-title{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700;line-height:1.25}.page-desc{color:var(--text-muted);margin:8px 0 0}.page-meta{color:var(--text-faint);margin:8px 0 0;font-size:13px}.site-footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:56px;padding-top:14px;font-size:12px;line-height:1.7}.site-footer p{margin:0}.legal-links{flex-wrap:wrap;gap:.25rem 1rem;margin-top:.5rem;display:flex}.legal-links a{color:var(--text-muted)}.legal-links a:hover{color:var(--text)}.db-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-top:20px;display:flex}.db-views{gap:2px;min-width:0;display:flex}.db-view{color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;gap:6px;height:34px;margin-bottom:-1px;padding:0 8px;font-size:14px;display:flex}.db-view svg{width:15px;height:15px}.db-view.on{border-bottom-color:var(--text);color:var(--text);font-weight:500}a.db-view:hover{color:var(--text);text-decoration:none}.db-tools{align-items:center;gap:2px;margin-left:auto;display:flex}.db-search{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:5px;height:26px;padding:0 6px;display:flex}.db-search svg{flex:none;width:14px;height:14px}.db-search:focus-within{background:var(--bg-hover)}.db-search input{color:var(--text);font:inherit;background:0 0;border:0;outline:none;width:120px;padding:0;font-size:13px}.db-search input::placeholder{color:var(--text-faint)}.db-filters{flex-wrap:wrap;gap:6px;padding:8px 0 10px;display:flex}.chip{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:4px;height:26px;padding:0 8px;font-size:12px;display:inline-flex;position:relative}.chip .chip-k{color:var(--text-faint)}.chip select{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;outline:none;padding:0 14px 0 0;font-size:12px}.chip:after{content:"";height:9px;-webkit-mask:var(--caret) center / contain no-repeat;-webkit-mask:var(--caret) center / contain no-repeat;mask:var(--caret) center / contain no-repeat;pointer-events:none;background:currentColor;width:9px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.chip.on{background:var(--chip-on-bg);border-color:var(--chip-on-border);color:var(--chip-on-fg)}.chip.on .chip-k{color:inherit;opacity:.7}.dt-columns{position:relative}.dt-columns summary{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 8px;font-size:13px;line-height:1;list-style:none}.dt-columns summary::-webkit-details-marker{display:none}.dt-columns summary:hover,.dt-columns[open] summary{background:var(--bg-hover);color:var(--text)}.dt-columns-menu{background:var(--bg);border:1px solid var(--border);z-index:10;border-radius:6px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0f0f0f1f,0 2px 6px #0f0f0f14}.dt-columns-menu .menu-title{color:var(--text-faint);padding:2px 6px 6px;font-size:12px}.dt-columns label{color:var(--text);cursor:pointer;border-radius:3px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.dt-columns label:hover{background:var(--bg-hover)}.dt-scroll{border-top:1px solid var(--border);-webkit-overflow-scrolling:touch;max-height:max(260px,100dvh - 300px);overflow:auto}table.dt{border-collapse:separate;border-spacing:0;width:100%;min-width:880px}table.dt th,table.dt td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);height:var(--row-h);text-align:left;vertical-align:middle;white-space:nowrap;padding:0 8px}table.dt th:last-child,table.dt td:last-child{border-right:0}table.dt th{background:var(--bg);color:var(--text-muted);font-size:inherit;font-weight:400}table.dt thead th{z-index:2;position:sticky;top:0}table.dt th .th-in{align-items:center;gap:6px;display:flex}table.dt th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.dt th.sortable:hover{background:var(--bg-hover)}table.dt th .arrow{color:var(--text-faint);margin-left:2px;font-size:10px}.prop-ic{color:var(--text-faint);flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:11px;line-height:1;display:inline-flex}.prop-ic svg{width:13px;height:13px}table.dt tbody tr:hover td{background:var(--bg-hover)}table.dt th.c-title,table.dt td.c-title{background:var(--bg);position:sticky;left:0}table.dt th.c-title{z-index:3}table.dt td.c-title{z-index:1;width:40%;min-width:300px;max-width:0}table.dt tbody tr:hover td.c-title{background:var(--bg-hover)}.cell-title{align-items:center;gap:4px;min-width:0;display:flex}.cell-title .t{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.cell-title .t:hover{text-decoration:underline}.row-open{background:var(--bg);border:1px solid var(--border-strong);color:var(--text-muted);opacity:0;border-radius:4px;flex:none;align-items:center;gap:3px;height:20px;margin-left:auto;padding:0 5px;text-decoration:none;display:inline-flex}.row-open svg{flex:none;width:12px;height:12px}.row-open-label{letter-spacing:.01em;font-size:11px;font-weight:500;line-height:1}tr:hover .row-open,.row-open:focus-visible{opacity:1}.row-open:hover{background:var(--bg-hover);color:var(--text);background:var(--bg-badge);text-decoration:none}table.dt td.num{font-variant-numeric:tabular-nums}table.dt .empty-row{color:var(--text-faint);text-align:center;padding:28px 8px}table.dt tfoot td{background:var(--bg);border-bottom:0;border-right:0;border-top:1px solid var(--border);color:var(--text-faint);z-index:2;font-size:12px;position:sticky;bottom:0}.pill{background:var(--tag-gray-bg);color:var(--tag-gray-fg);text-overflow:ellipsis;vertical-align:middle;border-radius:3px;max-width:100%;padding:0 6px;font-size:12px;line-height:18px;display:inline-block;overflow:hidden}.pill.t-gray{background:var(--tag-gray-bg);color:var(--tag-gray-fg)}.pill.t-brown{background:var(--tag-brown-bg);color:var(--tag-brown-fg)}.pill.t-orange{background:var(--tag-orange-bg);color:var(--tag-orange-fg)}.pill.t-yellow{background:var(--tag-yellow-bg);color:var(--tag-yellow-fg)}.pill.t-green{background:var(--tag-green-bg);color:var(--tag-green-fg)}.pill.t-blue{background:var(--tag-blue-bg);color:var(--tag-blue-fg)}.pill.t-purple{background:var(--tag-purple-bg);color:var(--tag-purple-fg)}.pill.t-pink{background:var(--tag-pink-bg);color:var(--tag-pink-fg)}.pill.t-red{background:var(--tag-red-bg);color:var(--tag-red-fg)}.props{max-width:760px;margin:18px 0 0}.prop{align-items:flex-start;gap:4px;padding:1px 0;display:flex}.prop-k{color:var(--text-muted);border-radius:3px;flex:none;align-items:center;gap:6px;width:160px;min-height:28px;padding:4px 6px;display:flex}.prop-k:hover{background:var(--bg-hover)}.prop-v{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;flex:1;min-width:0;min-height:28px;padding:4px 6px;overflow:hidden}.prop-v.is-empty{color:var(--text-faint)}.prop-v.num{font-variant-numeric:tabular-nums}.prop-v a{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.prop-v a:hover{-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.divider{background:var(--border);border:0;height:1px;margin:28px 0 20px}.callout{background:var(--bg-subtle);border-radius:var(--radius);gap:10px;margin:18px 0;padding:12px 14px;display:flex}.callout .callout-ic{color:var(--text-muted);flex:none;padding-top:2px}.callout p{margin:0}.rel{max-width:1120px;margin-top:26px}.rel h2{letter-spacing:-.01em;margin:0 0 4px;font-size:15px;font-weight:600}.rel ul{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.rel li{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:32px;padding:0 6px;display:flex}.rel li:hover{background:var(--bg-hover)}.rel li .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rel li .p{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.rel .none{color:var(--text-faint);padding:8px 6px;font-size:13px}.doc{max-width:760px;font-size:15px;line-height:1.75}.doc h2{letter-spacing:-.01em;margin:30px 0 2px;font-size:20px;font-weight:600;line-height:1.4}.doc h3{margin:22px 0 2px;font-size:16px;font-weight:600}.doc p{margin:6px 0}.doc ol,.doc ul{margin:6px 0;padding-left:24px}.doc li{margin:3px 0}.doc li::marker{color:var(--text-faint)}.doc strong{font-weight:600}.doc small{color:var(--text-muted);font-size:13.5px}.doc a{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.doc a:hover{-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.doc table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14px;line-height:1.6}.doc th,.doc td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.doc th{background:var(--bg-subtle);color:var(--text-muted);white-space:nowrap;font-weight:500}.date-links{border-top:1px solid var(--border);margin-top:28px;padding-top:16px}.date-links h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.date-links p{color:var(--text-muted);margin:2px 0 10px;font-size:13px}.date-links ul{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.date-links li a{border-radius:var(--radius);color:var(--text-muted);font-variant-numeric:tabular-nums;padding:3px 7px;font-size:13px;display:block}.date-links li a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.date-links-more{color:var(--accent);font-variant-numeric:normal;white-space:nowrap}.archive-month{margin-top:20px}.archive-month:first-of-type{margin-top:4px}.archive-month h2{color:var(--text-muted);letter-spacing:-.01em;margin:0 0 8px;font-size:13px;font-weight:600}.archive-month ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.archive-month li a{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;min-width:32px;padding:4px 0;font-size:13px;display:block}.archive-month li a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.date-nav{border-top:1px solid var(--border);color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-top:24px;padding-top:12px;font-size:13px;display:flex}.date-nav a{border-radius:var(--radius);color:var(--text-muted);padding:3px 7px}.date-nav a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.date-nav .date-nav-c{margin:0 auto}.date-nav .is-empty{color:var(--text-faint);opacity:.4;padding:3px 7px}@media (width<=900px){.sidebar{box-shadow:0 0 0 1px var(--border), 4px 0 24px #0000002e;z-index:20;width:min(300px,84vw);height:100dvh;transition:transform .18s;position:fixed;top:0;left:0;transform:translate(-100%)}:root[data-drawer] .sidebar{transform:none}:root[data-drawer] .sb-scrim{display:block}:root[data-drawer] body{overflow:hidden}.sb-toggle{display:flex}.sb-ws,.sb-item{height:44px}.sb-sub{height:42px;font-size:14px}.sb-collapse,.sb-toggle{padding:10px}.topbar .brand{display:block}.page{padding:0 16px 64px}.dt-scroll{max-height:max(240px,100dvh - 380px)}.page-title{font-size:26px}.props{max-width:none}.prop-k{width:110px}.topbar .crumbs>:not(:last-child){display:none}.crumbs .cur{min-width:0;max-width:none}.topbar .brand{white-space:nowrap;flex:none}table.dt td.c-title,table.dt th.c-title{width:auto;min-width:190px}table.dt{min-width:720px}.row-open{display:none}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.crumbs a,.crumbs .cur,.crumbs>span:not(.sep){align-items:center;gap:5px;display:inline-flex}.crumb-ic{color:var(--text-faint);flex:none;align-items:center;display:inline-flex}.crumb-ic svg{width:13px;height:13px}.crumbs a:hover .crumb-ic{color:var(--text-muted)}.peek-scrim{background:var(--scrim);z-index:25;position:fixed;inset:0}.peek{background:var(--bg);border-left:1px solid var(--border-strong);z-index:26;flex-direction:column;width:min(720px,58vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #00000029}.peek-bar{border-bottom:1px solid var(--border);height:var(--topbar-h);flex:none;align-items:center;gap:8px;padding:0 8px;display:flex}.peek-bar .peek-full{color:var(--text-muted);margin-left:auto;font-size:13px}.peek-bar .ghost-btn svg{width:16px;height:16px}.peek-nav{opacity:0;align-items:center;gap:2px;transition:opacity .12s;display:flex}.peek:hover .peek-nav,.peek-nav:focus-within{opacity:1}.peek-nav .ghost-btn:disabled{cursor:default;opacity:.35}.peek-nav .ghost-btn:disabled:hover{color:var(--text-muted);background:0 0}.peek-pos{color:var(--text-faint);font-variant-numeric:tabular-nums;padding-left:4px;font-size:12px}@media (prefers-reduced-motion:reduce){.peek-nav{transition:none}}.peek-body{flex:1;max-width:none;padding:0 28px 48px;overflow:auto}.peek-body .page-head{padding-top:18px}.peek-body .page-title{font-size:26px}.peek-loading{color:var(--text-faint);padding:24px 28px;font-size:14px}@media (width<=900px){.peek{width:100%}}
