:root{--bg:#050506;--surface:#0e0e12;--border:#1f1f26;--text:#f2f2f0;--muted:#8a8a93;--link:#ff2d6a;--link-hover:#ff5c8a;--ok:#3fb950;--closed:#f85149;--merged:#a371f7;--accent:#ff2d6a;--card-radius:3px;--card-shadow:none;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans SC", "PingFang SC", sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--max:980px;--pad:clamp(1rem, 4vw, 2rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}h2{font-size:1.25rem;font-weight:600}h3{color:var(--muted);margin:1.25rem 0 .6rem;font-size:.85rem;font-weight:600}::selection{background:var(--accent);color:#fff}.skip{position:absolute;top:0;left:-999px}.skip:focus{z-index:20;background:var(--link);color:#fff;padding:.4rem .7rem;top:1rem;left:1rem}.page{max-width:var(--max);padding:1.5rem var(--pad) 3rem;margin:0 auto;position:relative}.site-header{border-bottom:1px solid var(--border);padding-bottom:1.5rem}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand:hover{color:inherit;text-decoration:none}.avatar{border:1px solid var(--border);background:var(--surface);border-radius:50%;width:48px;height:48px}.brand strong{font-size:1.1rem;display:block}.brand em{color:var(--muted);font-size:.85rem;font-style:normal;display:block}.header-nav{align-items:center;gap:.9rem;font-size:.9rem;display:flex}.header-nav a{color:var(--text)}.lang{border-left:1px solid var(--border);color:var(--muted);align-items:center;gap:.35rem;padding-left:.7rem;display:flex}.lang button.is-on,.lang button:hover{color:var(--text)}.skin{border-left:1px solid var(--border);align-items:center;gap:.4rem;padding-left:.7rem;display:flex}.skin-dot{opacity:.55;border:2px solid #0000;border-radius:50%;width:13px;height:13px;transition:opacity .15s,transform .15s}.skin-dot:hover{opacity:.85;transform:scale(1.15)}.skin-dot.is-on{opacity:1;border-color:var(--text)}.tagline{margin-top:1.1rem;font-weight:600}.bio,.lede,.meta-line,.status{color:var(--muted)}.bio{max-width:42rem;margin-top:.4rem}.meta-line{margin-top:.45rem;font-size:.9rem}.links{flex-wrap:wrap;gap:.9rem;margin-top:.75rem;font-size:.9rem;display:flex}.badge-row{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.badge-row img{width:auto;height:20px}.section{border-bottom:1px solid var(--border);padding:1.75rem 0}.lede{margin:.35rem 0 1rem;font-size:.95rem}.now-grid{gap:1.25rem;display:grid}.plain-list li{border-top:1px solid var(--border);grid-template-columns:5.5rem 1fr;gap:.75rem;padding:.45rem 0;font-size:.95rem;display:grid}.plain-list li:last-child{border-bottom:1px solid var(--border)}.plain-list span{color:var(--muted);font-family:var(--mono);letter-spacing:.02em;font-size:.75rem}.widget-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.skill-icons,.widget-wide,.snake{width:100%;max-width:100%;height:auto}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.widget-wide{width:100%;margin-top:.75rem}.pins a{text-decoration:none}.skill-icons{margin-top:.25rem}.pr-list{border:1px solid var(--border);border-radius:var(--card-radius);overflow:hidden}.pr-list li+li{border-top:1px solid var(--border)}.pr-list a{color:inherit;gap:.15rem;padding:.75rem .9rem;text-decoration:none;display:grid}.pr-list a:hover{background:var(--surface);color:inherit}.pr-list strong{font-weight:600}.pr-meta{color:var(--muted);font-size:.8rem;font-family:var(--mono)}.pr-state{width:fit-content;font-size:.7rem;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-weight:600;display:inline-block}.pr-state.is-open{color:var(--ok)}.pr-state.is-merged{color:var(--merged)}.pr-state.is-closed{color:var(--closed)}.more-link{margin-top:.85rem;font-size:.9rem}.repo-list{gap:.75rem;margin-top:1rem;display:grid}.repo-card{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);box-shadow:var(--card-shadow);color:inherit;min-height:100%;padding:.9rem 1rem;text-decoration:none;display:block}.repo-card:hover{border-color:var(--link);color:inherit;text-decoration:none}.repo-card.is-static{cursor:default}.repo-head{flex-wrap:wrap;align-items:baseline;gap:.5rem .7rem;display:flex}.repo-head h3{color:var(--link);margin:0;font-size:1rem}.repo-card p{color:var(--muted);margin-top:.35rem;font-size:.92rem}.note{font-size:.7rem;font-family:var(--mono);color:var(--muted);border:1px solid var(--border);border-radius:2em;padding:.05rem .45rem}.tags{color:var(--muted);font-size:.78rem;font-family:var(--mono);flex-wrap:wrap;gap:.35rem .75rem;margin-top:.55rem;display:flex}.snake{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);width:100%;padding:.6rem}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:1.25rem 0 .5rem;font-size:.85rem;display:flex}@media (width<=640px){.header-nav{flex-wrap:wrap;justify-content:flex-start;row-gap:.35rem;width:100%}.plain-list li{grid-template-columns:1fr;gap:.15rem}}@media (width>=760px){.now-grid{grid-template-columns:1fr 1fr;gap:2rem}.repo-list{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.decor-ticker-track{animation:none!important}}.decor-watermark,.decor-grain,.decor-ticker{display:none}[data-theme=editorial]{--max:1060px}[data-theme=editorial] body{background:radial-gradient(1200px 600px at 85% -10%, #ff2d6a12, transparent 60%), var(--bg)}[data-theme=editorial] .brand strong{letter-spacing:.04em;font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800;line-height:1.05}[data-theme=editorial] .brand em{letter-spacing:.35em;text-transform:uppercase;margin-top:.2rem;font-size:.95rem}[data-theme=editorial] .tagline{letter-spacing:.02em}[data-theme=editorial] .site-header{border-bottom:2px solid var(--accent);padding-bottom:2.2rem}[data-theme=editorial] h2{letter-spacing:.06em;text-transform:uppercase;font-size:1.05rem}[data-theme=editorial] h2:after{content:"";background:var(--accent);width:2.2rem;height:3px;margin-top:.45rem;display:block}[data-theme=editorial] .decor-watermark{writing-mode:vertical-rl;letter-spacing:.08em;color:#ffffff08;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(6rem,18vw,13rem);font-weight:800;display:block;position:fixed;top:50%;right:-1.5rem;transform:translateY(-50%)}[data-theme=editorial] .decor-ticker{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#050506e6;display:block;position:fixed;bottom:0;left:0;right:0;overflow:hidden}[data-theme=editorial] .decor-ticker-track{width:max-content;animation:28s linear infinite ticker-scroll;display:flex}[data-theme=editorial] .decor-ticker span{font-family:var(--mono);letter-spacing:.35em;color:#ffffff59;white-space:nowrap;padding:.55rem 0;font-size:.78rem}[data-theme=editorial] .decor-ticker i{color:var(--accent);padding:0 .9rem;font-style:normal}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}[data-theme=editorial] .page{padding-bottom:4.5rem}[data-theme=editorial] .footer{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}[data-theme=brutal]{--bg:#0a0a0a;--surface:#121212;--border:#2a2a2a;--text:#f5f5f5;--muted:#9a9a9a;--link:#ff3358;--link-hover:#ff6b85;--accent:#ff3358;--card-radius:0;--card-shadow:5px 5px 0 #2b50ff}[data-theme=brutal] body{background:repeating-linear-gradient(0deg, transparent 0 22px, #ffffff06 22px 23px), repeating-linear-gradient(90deg, transparent 0 22px, #ffffff06 22px 23px), var(--bg)}[data-theme=brutal] .site-header{outline-offset:-10px;background:linear-gradient(135deg,#ff2d55,#ff5c8a);border:2px solid #fff;border-radius:0;outline:2px dashed #fffc;margin-top:.75rem;padding:1.75rem 1.5rem 2rem;position:relative}[data-theme=brutal] .brand strong,[data-theme=brutal] .brand em,[data-theme=brutal] .tagline{color:#fff}[data-theme=brutal] .bio,[data-theme=brutal] .meta-line{color:#000000bf}[data-theme=brutal] .header-nav a{color:#fff;font-weight:700}[data-theme=brutal] .header-nav a:hover{color:#0a0a0a;text-decoration:none}[data-theme=brutal] .lang,[data-theme=brutal] .skin{color:#fff;border-left-color:#ffffff80}[data-theme=brutal] .lang button.is-on,[data-theme=brutal] .lang button:hover{color:#0a0a0a}[data-theme=brutal] .skin-dot.is-on{border-color:#0a0a0a}[data-theme=brutal] .avatar{border:2px solid #fff;box-shadow:4px 4px #00000073}[data-theme=brutal] .widget,[data-theme=brutal] .pr-list,[data-theme=brutal] .repo-card,[data-theme=brutal] .snake{border:2px solid var(--accent)}[data-theme=brutal] .repo-card:hover{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:7px 7px #2b50ff}[data-theme=brutal] .note,[data-theme=brutal] .tags li{background:var(--accent);color:#fff;border:0;border-radius:0;padding:.05rem .5rem;font-weight:700}[data-theme=brutal] h2:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:.9rem;height:.9rem;margin-left:.5rem;display:inline-block}[data-theme=brutal] h2{letter-spacing:.03em}[data-theme=cinema]{--bg:#cdd3e4;--surface:#3a3a528c;--border:#fff6;--text:#fff;--muted:#ffffffd9;--link:#fff;--link-hover:#ffd7e2;--accent:#a99bd6;--card-radius:16px;--card-shadow:0 12px 34px #1e1e3c38}[data-theme=cinema] body{background-color:#0000;background-image:radial-gradient(900px 620px at 12% 8%,#e9c8dce6,#0000 55%),radial-gradient(1000px 700px at 88% 12%,#c4d6ece6,#0000 60%),radial-gradient(900px 700px at 55% 100%,#d6e2dcd9,#0000 60%),linear-gradient(160deg,#d9cfe4,#c5d2e2 55%,#d4ddd6);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}[data-theme=cinema] .avatar{border:2px solid #fffc;box-shadow:0 4px 14px #1e1e3c40}[data-theme=cinema] .site-header,[data-theme=cinema] .widget,[data-theme=cinema] .pr-list,[data-theme=cinema] .repo-card,[data-theme=cinema] .snake{background:var(--surface);-webkit-backdrop-filter:blur(16px)}[data-theme=cinema] .site-header{border:1px solid var(--border);border-radius:var(--card-radius);margin-top:.75rem;padding:1.6rem 1.5rem 1.9rem}[data-theme=cinema] .section{background:var(--surface);-webkit-backdrop-filter:blur(16px);border-bottom:0;border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin:1.25rem 0;padding:1.75rem 1.5rem}[data-theme=cinema] .section:first-of-type{margin-top:0}[data-theme=cinema] .footer{padding-bottom:1rem}[data-theme=cinema] h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.95rem}[data-theme=cinema] .header-nav a{text-shadow:0 1px 8px #1e1e3c59}[data-theme=cinema] .header-nav a:hover{opacity:.8;text-decoration:none}[data-theme=cinema] .lang,[data-theme=cinema] .skin{border-left-color:#ffffff80}[data-theme=cinema] .lang button.is-on,[data-theme=cinema] .lang button:hover{color:#fff}[data-theme=cinema] .skin-dot.is-on{border-color:#fff}[data-theme=cinema] .links a,[data-theme=cinema] .more-link a,[data-theme=cinema] .footer a{text-underline-offset:3px;text-decoration:underline}[data-theme=cinema] .brand:hover{opacity:.85}[data-theme=paper]{--bg:#f3eddf;--surface:#faf6ec;--border:#d9cfba;--text:#3a352e;--muted:#8a8074;--link:#a63a2b;--link-hover:#7c2a1f;--ok:#2e7d43;--closed:#b3362a;--merged:#7a4fa0;--accent:#a63a2b;--card-radius:2px;--card-shadow:0 1px 3px #5a4b3224;--font:Georgia, "Times New Roman", "Noto Serif SC", "Songti SC", serif}[data-theme=paper] body{background:var(--bg)}[data-theme=paper] .decor-grain{pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.36 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");display:block;position:fixed;inset:0}[data-theme=paper] .page{z-index:1;position:relative}[data-theme=paper] body:before{content:"";z-index:2;background:linear-gradient(#8f2f22,#b04434 55%,#8f2f22);width:5px;position:fixed;top:0;bottom:0;left:0}[data-theme=paper] .site-header{border-bottom:2px solid var(--accent)}[data-theme=paper] .brand strong{font-size:1.5rem;font-family:var(--font)}[data-theme=paper] .brand em{letter-spacing:.2em}[data-theme=paper] h2{font-variant:small-caps;letter-spacing:.08em;border-left:4px solid var(--accent);padding-left:.6rem}[data-theme=paper] .plain-list span{font-family:var(--mono);color:var(--accent)}[data-theme=paper] .widget,[data-theme=paper] .pr-list,[data-theme=paper] .repo-card,[data-theme=paper] .snake{border:1px solid var(--border)}[data-theme=paper] .repo-card:hover{border-color:var(--accent);box-shadow:0 3px 10px #5a4b322e}[data-theme=paper] .lang,[data-theme=paper] .skin{border-left-color:var(--border)}
