:root,[data-theme=light]{--page:#f6f8fa;--card:#fff;--subtle:#f6f8fa;--border:#d0d7de;--border-muted:#e5e9ee;--fg:#1f2328;--muted:#59636e;--accent:#0969da;--green:#1a7f37;--green-bg:#dafbe1;--purple:#8250df;--purple-bg:#fbefff;--red:#cf222e;--red-bg:#ffebe9;--orange:#bc4c00;--gray:#59636e;--shadow:0 1px 0 #1f23280a, 0 8px 24px #8c959f2e;--heat-0:#ebedf0;--heat-1:#9be9a8;--heat-2:#40c463;--heat-3:#30a14e;--heat-4:#216e39}[data-theme=dark]{--page:#010409;--card:#0d1117;--subtle:#151b23;--border:#30363d;--border-muted:#21262d;--fg:#e6edf3;--muted:#9198a1;--accent:#4493f8;--green:#3fb950;--green-bg:#2ea04326;--purple:#ab7df8;--purple-bg:#ab7df826;--red:#f85149;--red-bg:#f8514926;--orange:#db6d28;--gray:#9198a1;--shadow:0 0 0 1px #30363d, 0 8px 24px #01040999;--heat-0:#161b22;--heat-1:#0e4429;--heat-2:#006d32;--heat-3:#26a641;--heat-4:#39d353}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;transition:background .2s,color .2s}code,.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{z-index:10;background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.topbar h1{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.topbar nav{flex-wrap:wrap;gap:4px;margin-left:16px;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:4px 10px;font-size:13px}.topbar nav a:hover{background:var(--subtle);color:var(--fg);text-decoration:none}.theme-btn{cursor:pointer;background:var(--subtle);color:var(--fg);border:1px solid var(--border);border-radius:6px;margin-left:auto;padding:4px 12px;font-size:13px}main{max-width:1400px;margin:0 auto;padding:32px}.section{margin-bottom:56px;scroll-margin-top:72px}.section>h2{align-items:center;gap:8px;margin:0 0 4px;font-size:20px;display:flex}.section>p{color:var(--muted);margin:0 0 20px}.showcase{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.size-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.size-col{flex-direction:column;gap:16px;display:flex}.gh-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--fg);border-radius:12px;overflow:hidden}.gh-card--l{width:640px;max-width:100%}.gh-card--m{width:420px;max-width:100%}.gh-card--s{border-radius:10px;width:340px;max-width:100%}.gh-head{border-bottom:1px solid var(--border-muted);background:var(--subtle);color:var(--muted);align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.gh-head .repo{color:var(--fg);font-weight:600}.gh-head .repo b{font-weight:600}.gh-head .logo{color:var(--fg);opacity:.8;margin-left:auto}.gh-body{padding:16px}.gh-foot{border-top:1px solid var(--border-muted);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;font-size:12px;display:flex}.gh-foot .right{margin-left:auto}.gh-card--s .s-wrap{align-items:center;gap:12px;padding:12px 14px;display:flex}.gh-card--s .s-main{flex:1;min-width:0}.gh-card--s .s-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.gh-card--s .s-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ic{fill:currentColor;vertical-align:text-bottom;flex:none;width:16px;height:16px}.ic-12{width:12px;height:12px}.ic-20{width:20px;height:20px}.ic-24{width:24px;height:24px}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.fg{color:var(--fg)}.sm{font-size:12px}.bold{font-weight:600}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sep{background:var(--muted);opacity:.6;border-radius:50%;flex:none;width:3px;height:3px}.hr{background:var(--border-muted);border:0;height:1px;margin:16px 0}.title-l{margin:0;font-size:22px;font-weight:600;line-height:1.3}.title-m{margin:0;font-size:16px;font-weight:600;line-height:1.35}.num{color:var(--muted);font-weight:400}.avatar{color:#fff;width:20px;height:20px;box-shadow:0 0 0 1px var(--border-muted);background:linear-gradient(135deg,#a5b4fc,#f0abfc);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar.sq{border-radius:22%}.av-16{width:16px;height:16px}.av-24{width:24px;height:24px}.av-32{width:32px;height:32px;font-size:12px}.av-40{width:40px;height:40px;font-size:14px}.av-56{width:56px;height:56px;font-size:18px}.av-72{width:72px;height:72px;font-size:22px}.av-96{width:96px;height:96px;font-size:28px}.g2{background:linear-gradient(135deg,#6ee7b7,#3b82f6)}.g3{background:linear-gradient(135deg,#fcd34d,#f97316)}.g4{background:linear-gradient(135deg,#f9a8d4,#ef4444)}.g5{background:linear-gradient(135deg,#c4b5fd,#6366f1)}.stack{display:inline-flex}.stack .avatar{box-shadow:0 0 0 2px var(--card)}.stack .avatar+.avatar{margin-left:-6px}.state{color:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}.state.sm-state{padding:0 8px;font-size:12px}.state.open{background:#1f883d}.state.merged{background:#8250df}.state.closed{background:#cf222e}.state.draft{background:#6e7781}.state.done{background:#8250df}.badge{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.badge.green{color:var(--green);border-color:currentColor}.badge.purple{color:var(--purple);border-color:currentColor}.badge.solid-green{background:var(--green-bg);color:var(--green);border-color:#0000}.label{--c:9,105,218;color:rgb(var(--c));background:rgba(var(--c), .12);border:1px solid rgba(var(--c), .35);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.chip{background:var(--subtle);border:1px solid var(--border-muted);color:var(--fg);border-radius:6px;align-items:center;gap:4px;padding:1px 6px;font-size:12px;display:inline-flex}.chip.accent{color:var(--accent);background:#0969da14;border-color:#0969da33}.icon-bubble{background:var(--subtle);width:36px;height:36px;color:var(--muted);border:1px solid var(--border-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-bubble.green{color:var(--green);background:var(--green-bg);border-color:#0000}.icon-bubble.purple{color:var(--purple);background:var(--purple-bg);border-color:#0000}.icon-bubble.red{color:var(--red);background:var(--red-bg);border-color:#0000}.add{color:var(--green);font-weight:600}.del{color:var(--red);font-weight:600}.diffbar{gap:2px;display:inline-flex}.diffbar i{background:var(--border);border-radius:2px;width:8px;height:8px;display:block}.diffbar i.a{background:var(--green)}.diffbar i.d{background:var(--red)}.btn{background:var(--subtle);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:3px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.btn.primary{color:#fff;background:#1f883d;border-color:#1f232826}.stat-grid{background:var(--border-muted);border:1px solid var(--border-muted);border-radius:8px;gap:1px;display:grid;overflow:hidden}.stat-grid>div{background:var(--card);padding:10px 12px}.stat-grid .v{font-size:18px;font-weight:600}.stat-grid .k{color:var(--muted);font-size:12px}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.list{border:1px solid var(--border-muted);border-radius:8px;overflow:hidden}.list>div{align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.list>div+div{border-top:1px solid var(--border-muted)}.list .grow{flex:1;min-width:0}.notes{color:var(--fg);margin:0;padding-left:20px}.notes li{margin:2px 0}.notes li::marker{color:var(--muted)}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}.progress{background:var(--border-muted);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--green);border-radius:inherit;height:100%;display:block}.langbar{border-radius:999px;gap:2px;height:8px;display:flex;overflow:hidden}.langbar span{height:100%;display:block}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.banner{background:linear-gradient(120deg,#0969da 0%,#8250df 55%,#bf3989 100%);height:96px;position:relative}.banner.org{background:linear-gradient(120deg,#1f883d 0%,#0969da 100%)}.banner:after{content:"";background-image:radial-gradient(#ffffff2e 1px,#0000 1px);background-size:14px 14px;position:absolute;inset:0}.profile-top{z-index:1;align-items:flex-end;gap:16px;margin-top:-48px;display:flex;position:relative}.profile-top .avatar{box-shadow:0 0 0 4px var(--card)}.pinned{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pinned>div{border:1px solid var(--border-muted);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.heatmap{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;grid-auto-flow:column;gap:2px;display:grid}.heatmap i{background:var(--heat-0);border-radius:2px;display:block}.heatmap i[data-l="1"]{background:var(--heat-1)}.heatmap i[data-l="2"]{background:var(--heat-2)}.heatmap i[data-l="3"]{background:var(--heat-3)}.heatmap i[data-l="4"]{background:var(--heat-4)}.check-row{background:var(--subtle);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.ok,.verified{color:var(--green)}.kv{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.kv .row span{color:var(--fg)}.reactions{flex-wrap:wrap;gap:6px;display:flex}.reactions span{border:1px solid var(--border-muted);background:var(--subtle);border-radius:999px;padding:0 8px;font-size:12px;line-height:22px}.commit-msg pre{white-space:pre-wrap;color:var(--muted);margin:8px 0 0;font-size:12.5px}.ic{fill:none}.brand{color:var(--fg);align-items:center;gap:9px;font-weight:600;display:flex}.brand:hover{text-decoration:none}.topbar{padding:18px 32px;position:relative}.theme-btn{padding:8px}.home{flex-direction:column;justify-content:center;align-items:center;max-width:780px;min-height:calc(100svh - 130px);padding:60px 24px 110px;display:flex}.home-mark{background:var(--card);border:1px solid var(--border);border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:24px;display:grid;box-shadow:0 4px 16px #8c959f14}.home h1{letter-spacing:-1.2px;margin:0 0 12px;font-size:clamp(28px,5vw,38px);font-weight:600}.home-subtitle{color:var(--muted);text-align:center;margin:0 0 36px}.search-content{width:100%;max-width:600px}.search-box{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:12px;padding:10px 12px 10px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.search-box.invalid{border-color:var(--red)}.search-box input{width:100%;min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:0;padding:8px 0;font-size:16px}.search-box input::placeholder{color:var(--muted);opacity:.7}.search-box button{background:var(--fg);color:var(--card);cursor:pointer;border:0;border-radius:7px;flex:none;place-items:center;width:38px;height:38px;display:grid}.search-box button:disabled{opacity:.6;cursor:wait}.search-options{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;display:flex}.search-options p{color:var(--muted);margin:0;font-size:12px}.size-switch{border:1px solid var(--border);border-radius:7px;gap:3px;margin:0;padding:3px;display:flex}.size-switch button,.size-switch a{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 10px;font-size:12px}.size-switch .selected{color:var(--fg);background:var(--card);font-weight:600;box-shadow:0 1px 3px #0000001a}.size-switch a:hover{text-decoration:none}.search-error{color:var(--red);min-height:18px;margin:8px 0;font-size:12px}.examples{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.examples button{color:var(--muted);border:1px solid var(--border-muted);cursor:pointer;font:inherit;background:0 0;border-radius:6px;padding:4px 10px}.examples button:hover{border-color:var(--border);background:var(--card)}.supported{text-align:center;color:var(--muted);margin-top:42px;font-size:11px;line-height:2.2}.supported span{opacity:.5;margin:0 5px}.site-footer{text-align:center;color:var(--muted);padding:16px 24px;font-size:11px}.preview{max-width:704px;min-height:calc(100svh - 130px);padding-top:48px}.preview-toolbar{justify-content:space-between;align-items:center;margin-bottom:48px;font-size:12px;display:flex}.card-stage{justify-content:center;display:flex}.preview-caption{color:var(--muted);justify-content:center;align-items:center;gap:24px;margin:22px auto 0;font-size:11px;display:flex}.title-row{align-items:flex-start}.title-row .ic{flex:none;margin-top:4px}.entry-meta{margin:12px 0}.card-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.profile-row{align-items:flex-start;gap:14px}.profile-bio{margin:6px 0 0}.profile-meta{gap:14px;margin-top:12px}.gh-card .stat-grid{border-bottom:0;border-left:0;border-right:0;border-radius:0}.gh-card .profile-top .title-l{padding-top:12px}.pinned{margin-top:10px}.pinned p{margin:0}.pinned a{overflow-wrap:anywhere}.gh-card{flex:none}.gh-card .title-l,.gh-card .title-m{overflow-wrap:anywhere}.s-title{display:block}.message-page{text-align:center;min-height:calc(100svh - 130px);padding-top:120px}.message-page p{color:var(--muted)}.message-page .btn{margin:8px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-card{border:1px solid var(--border);background:var(--card);border-radius:12px;width:420px;max-width:100%;margin:auto;padding:24px}.loading-card div{background:var(--border-muted);border-radius:4px;height:16px;margin:12px 0;animation:1.3s infinite pulse}.loading-card div:nth-child(2){width:65%}.loading-card div:nth-child(3){width:85%}.preview[aria-busy] p{text-align:center}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:540px){.topbar{padding:16px 20px}.home{padding:48px 20px 70px}.preview{padding:28px 16px}.preview-toolbar{margin-bottom:32px}.pinned{grid-template-columns:1fr}.preview-caption{gap:14px}.profile-top{gap:12px}.profile-top .avatar{width:72px!important;height:72px!important}.profile-top .title-l{font-size:20px}.gh-foot{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.contribution-panel{border-top:1px solid var(--border-muted)}.contribution-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.contribution-heading h2{letter-spacing:0;text-transform:none;margin:0}.contribution-heading a{flex:none}.contribution-scroll{overflow-x:auto}.contribution-scroll svg{min-width:460px;max-width:100%;height:auto;display:block}.contribution-unavailable{border:1px dashed var(--border);border-radius:6px;margin:0;padding:12px}[data-theme=dark] .contribution-scroll text{fill:var(--muted)}[data-theme=dark] .contribution-scroll [data-l="0"]{fill:var(--heat-0)}[data-theme=dark] .contribution-scroll [data-l="1"]{fill:var(--heat-1)}[data-theme=dark] .contribution-scroll [data-l="2"]{fill:var(--heat-2)}[data-theme=dark] .contribution-scroll [data-l="3"]{fill:var(--heat-3)}[data-theme=dark] .contribution-scroll [data-l="4"]{fill:var(--heat-4)}
