:root,html[data-theme=light]{color-scheme:light;--bg: #ffffff;--subtle: #f6f8fa;--inset: #f6f8fa;--header: #f6f8fa;--border: #d0d7de;--fg: #1f2328;--muted: #656d76;--accent: #0969da;--green: #1a7f37;--green-btn: #1f883d;--green-btn-hover: #1a7f37;--code-bg: #f6f8fa;--hover: #f6f8fa;--mark: #fff8c5;--shadow: 0 1px 0 rgba(31, 35, 40, .04)}html[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--subtle: #161b22;--inset: #010409;--header: #010409;--border: #30363d;--fg: #e6edf3;--muted: #8b949e;--accent: #4493f8;--green: #3fb950;--green-btn: #238636;--green-btn-hover: #2ea043;--code-bg: #161b22;--hover: #161b22;--mark: #3c2e00;--shadow: none}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{position:absolute;left:8px;top:-40px;background:var(--accent);color:#fff;padding:8px 12px;border-radius:6px;z-index:10}.skip:focus{top:8px}.repo-header{background:var(--header);border-bottom:1px solid var(--border);padding:16px 24px 0}.repo-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:32px}.mark{display:inline-flex;width:28px;height:28px;margin-right:4px}.brand{display:inline-flex;align-items:baseline;gap:4px;color:var(--fg);font-size:20px;text-decoration:none}.brand:hover{text-decoration:none}.brand .owner{color:var(--accent);font-weight:400}.brand .slash{color:var(--muted)}.brand .repo{font-weight:600}.badge{border:1px solid var(--border);border-radius:2em;padding:2px 8px;font-size:12px;font-weight:500;color:var(--muted);line-height:18px}.spacer{flex:1}.theme-btn{background:var(--subtle);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.theme-btn:hover{background:var(--hover);border-color:var(--muted)}.tabs{display:flex;gap:4px;margin-top:12px;overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:6px;color:var(--fg);text-decoration:none;padding:8px 10px;border-bottom:2px solid transparent;font-size:14px;white-space:nowrap}.tab:hover{text-decoration:none;border-bottom-color:var(--border)}.tab[aria-current=page]{font-weight:600;border-bottom-color:#f78166}.tab svg{opacity:.85}.counter{background:var(--subtle);border:1px solid var(--border);border-radius:2em;padding:0 6px;font-size:12px;font-weight:500;color:var(--muted);line-height:18px}.page{width:min(1280px,calc(100% - 32px));margin:24px auto 48px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;align-items:start}.layout.solo{grid-template-columns:minmax(0,1fr)}main{min-width:0}.file{border:1px solid var(--border);border-radius:6px;background:var(--bg);box-shadow:var(--shadow);min-width:0;overflow:hidden}.file-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--subtle);border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;font-size:14px}.file-name{font-weight:600}.file-meta{margin-left:auto;color:var(--muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.file-body{padding:16px 24px 24px}.file-body.flush{padding:0}.markdown-body{font-size:16px;line-height:1.6}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-weight:600;line-height:1.25;margin:1.4em 0 .6em}.markdown-body h1{font-size:32px;padding-bottom:.3em;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:24px;padding-bottom:.3em;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:20px}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:0 0 16px}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body li+li{margin-top:.25em}.markdown-body blockquote{margin:0 0 16px;padding:0 1em;color:var(--muted);border-left:.25em solid var(--border)}.markdown-body code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:85%;background:var(--code-bg);padding:.2em .4em;border-radius:6px}.markdown-body pre{margin:0 0 16px;padding:16px;overflow:auto;background:var(--code-bg);border-radius:6px;line-height:1.45}.markdown-body pre code{background:transparent;padding:0;font-size:13px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background:var(--border);border:0}.markdown-body table{border-collapse:collapse;margin:0 0 16px;width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:6px 13px}.markdown-body tr:nth-child(2n){background:var(--subtle)}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.astro-code{border-radius:6px}.lede{font-size:18px;color:var(--fg)}.service{border:1px solid var(--border);border-radius:6px;padding:16px;margin:0 0 16px;background:var(--bg)}.service h3{margin:0 0 8px;font-size:16px;border:0;padding:0}.service .path{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--muted)}.service ul{margin-bottom:0}.dir{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.dir th{text-align:left;font-weight:600;padding:8px 16px;background:var(--subtle);border-bottom:1px solid var(--border);color:var(--fg)}.dir td{padding:8px 16px;border-top:1px solid var(--border);vertical-align:middle}.dir tbody tr:hover td{background:var(--hover)}.dir .name{font-weight:600}.dir td:first-child{width:46%}.dir td:last-child{width:8.5rem}.dir .msg,.dir .when,.dir .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir .msg{color:var(--muted)}.dir .when{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.dir a{display:inline-flex;align-items:center;gap:8px;max-width:100%}.rail{display:grid;gap:16px}.card{border:1px solid var(--border);border-radius:6px;background:var(--bg);overflow:hidden}.card h2{margin:0;padding:8px 16px;font-size:14px;font-weight:600;background:var(--subtle);border-bottom:1px solid var(--border)}.card .card-body{padding:12px 16px 16px;font-size:14px}.card p{margin:0 0 12px}.card p:last-child{margin:0}.topics{display:flex;flex-wrap:wrap;gap:6px}.topic{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--subtle);color:var(--accent);border-radius:2em;padding:2px 10px;font-size:12px;font-weight:500;text-decoration:none}.topic:hover{text-decoration:none;background:var(--hover)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.latest{list-style:none;margin:0;padding:0}.latest li{padding:8px 0;border-top:1px solid var(--border)}.latest li:first-child{border-top:0;padding-top:0}.latest a{font-weight:600}.latest time,.meta{display:block;color:var(--muted);font-size:12px}.form{display:grid;gap:12px;max-width:640px}.field{display:grid;gap:6px}.field span{font-weight:600;font-size:14px}input,textarea{width:100%;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font:inherit}textarea{min-height:140px;resize:vertical}input:focus,textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:-1px}.btn{justify-self:start;background:var(--green-btn);color:#fff;border:1px solid color-mix(in srgb,var(--green-btn) 80%,#000);border-radius:6px;padding:6px 16px;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:var(--green-btn-hover)}.hint{color:var(--muted);font-size:13px}.email-line{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:14px}.site-footer{border-top:1px solid var(--border);padding:24px;color:var(--muted);font-size:12px;text-align:center}.site-footer a{color:var(--muted)}.kicker{color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;margin:0 0 8px}@media(max-width:1011px){.layout{grid-template-columns:1fr}}@media(max-width:720px){.repo-header{padding:12px 12px 0}.page{width:min(1280px,calc(100% - 16px));margin-top:16px}.file-body{padding:12px 14px 18px}.markdown-body h1{font-size:26px}.dir .msg{display:none}.brand{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
