:root{--paper:#f6f2e9;--paper-2:#efe9dc;--ink:#1b1a17;--ink-2:#57534a;--line:#d9d1bf;--accent:#ff4d2e;--accent-2:#2e6bff;--grid:#1b1a170d;--serif:"Songti SC", "Noto Serif SC", "Source Han Serif SC", STSong, serif;--sans:-apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--max:1120px}*{box-sizing:border-box}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;font-size:16px;line-height:1.75}a{color:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.site-header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--ink);background:#f6f2e9eb;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.logo{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.logo-mark{grid-template-columns:repeat(3,1fr);gap:2px;width:28px;height:28px;display:grid}.logo-mark i{background:var(--ink)}.logo-mark i:nth-child(2),.logo-mark i:nth-child(4),.logo-mark i:nth-child(6),.logo-mark i:nth-child(8){background:0 0}.logo-mark i:nth-child(5){background:var(--accent)}.logo small{font-family:var(--mono);color:var(--ink-2);font-size:12px;font-weight:400}.nav{gap:4px;display:flex}.nav a{white-space:nowrap;border-radius:4px;padding:6px 12px;font-size:15px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:13px;display:inline-block}.page-head{border-bottom:1.5px solid var(--ink);padding:64px 0 40px}.page-head h1{font-family:var(--serif);margin:0 0 12px;font-size:clamp(32px,5vw,48px);font-weight:900;line-height:1.25}.page-head p{color:var(--ink-2);max-width:40em;margin:0;font-size:17px}section{padding:40px 0 72px}.skill-updated{font-family:var(--mono);color:var(--ink-2);margin:0 0 16px;font-size:13px}.skill-list{border-top:1.5px solid var(--ink);margin:0;padding:0;list-style:none}.skill{border-bottom:1px dashed var(--line);grid-template-columns:64px 1fr;gap:20px;padding:28px 0;display:grid}.skill-body{min-width:0}.skill-rank{font-family:var(--mono);color:var(--accent);font-size:28px;font-weight:700;line-height:1.2}.skill-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.skill-name{font-family:var(--mono);word-break:break-all;font-size:19px;font-weight:700;text-decoration:none}.skill-name span{color:var(--ink-2);font-weight:400}.skill-name:hover{text-decoration:underline}.skill-stars{font-family:var(--mono);white-space:nowrap;font-size:15px;font-weight:700}.skill-tags{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 10px;font-size:13.5px;display:flex}.skill-cat{font-family:var(--mono);border:1px solid var(--ink);padding:1px 8px;font-size:12px}.skill-cat.t1{background:var(--accent);color:#fff}.skill-cat.t2{background:var(--accent-2);color:#fff}.skill-cat.t3{background:#ffd23f}.skill-cat.t4{background:var(--ink);color:var(--paper)}.skill-cat.t5{background:#3fbf7f}.skill-pushed{font-family:var(--mono);font-size:12.5px}.skill-body p{color:var(--ink-2);margin:0 0 10px;font-size:15.5px}.skill-body p.skill-tagline{color:var(--ink);font-size:16.5px;font-weight:600}.skill-install{font-family:var(--mono);background:var(--ink);color:#f1ece0;white-space:pre;margin:12px 0 0;padding:10px 14px;font-size:13px;overflow-x:auto}.skill-note{color:var(--ink-2);margin-top:24px;font-size:14px}.skill-note a{color:var(--accent-2);margin:0 4px}.sw-group{margin-bottom:56px}.sw-group:last-child{margin-bottom:0}.sw-group-head{border-bottom:1.5px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:18px;padding-bottom:10px;display:flex}.sw-group-head h2{font-family:var(--serif);margin:0;font-size:28px;font-weight:900}.sw-group-head p{color:var(--ink-2);margin:0}.sw-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.sw-card{border:1.5px solid var(--ink);background:#fffdf8;padding:18px 20px 20px}.sw-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.sw-name{font-size:19px;font-weight:700;text-decoration:none}.sw-name:hover{text-decoration:underline}.sw-license{font-family:var(--mono);border:1px solid var(--ink);white-space:nowrap;padding:1px 8px;font-size:12px}.sw-license.open{background:#3fbf7f}.sw-card p{color:var(--ink-2);margin:0 0 8px;font-size:15px}.sw-card p:last-child{margin-bottom:0}.sw-card p.sw-tagline{color:var(--ink);font-weight:600}.sw-card p.sw-note{border-top:1px dashed var(--line);color:var(--ink);margin-top:12px;padding-top:10px;font-size:14px}.site-footer{border-top:1.5px solid var(--ink);color:var(--ink-2);padding:32px 0 40px;font-size:14px}@media (max-width:620px){.page-head{padding:44px 0 32px}.logo small{display:none}.site-header .wrap{flex-wrap:wrap;row-gap:4px;height:auto;padding-top:10px;padding-bottom:8px}.nav{justify-content:space-between;width:100%}.nav a{padding:4px 10px;font-size:14px}.sw-grid{grid-template-columns:1fr}.skill{grid-template-columns:1fr;gap:4px}.skill-rank{font-size:20px}}
