@font-face{font-family:Geist;src:url('./media/geist.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--bg:#fcfcfd;--paper:#fff;--text:#202126;--muted:#72747e;--line:#e9eaee;--accent:#4963cb;--tint:#eef1fc;--soft:#f5f5f7;--icon-bg:#f2f3f6;--shadow:0 2px 4px #181c2703,0 8px 24px #181c2705;--overlay:#181b2659;--hover:#f9f9fb}
:root[data-theme=dark]{color-scheme:dark;--bg:#141518;--paper:#1b1c20;--text:#ededef;--muted:#a2a4ae;--line:#2b2d34;--accent:#a7b6ff;--tint:#272e49;--soft:#222328;--icon-bg:#292b32;--shadow:0 3px 16px #0002;--overlay:#0009;--hover:#202126}
@media(prefers-color-scheme:dark){:root[data-theme=auto]{color-scheme:dark;--bg:#141518;--paper:#1b1c20;--text:#ededef;--muted:#a2a4ae;--line:#2b2d34;--accent:#a7b6ff;--tint:#272e49;--soft:#222328;--icon-bg:#292b32;--shadow:0 3px 16px #0002;--overlay:#0009;--hover:#202126}}
*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Geist,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;border:0;background:none;cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}select{color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:8px;cursor:pointer;max-width:100%;padding:8px 9px}option{color:var(--text);background:var(--paper)}[hidden]{display:none!important}.icon{display:inline-block;vertical-align:middle;width:20px;height:20px;flex-shrink:0;fill:currentColor}.skip{position:fixed;top:-80px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:5px}
.header{height:76px;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:100%;max-width:1320px;padding:0 40px;margin:auto;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand strong{font-size:20px;letter-spacing:-.7px;font-weight:650}.brand-by{color:var(--muted);font-size:11px;border-left:1px solid var(--line);padding-left:14px;margin-left:5px}.nav{display:flex;align-items:center;gap:28px;margin-left:auto;color:var(--muted);font-size:13px}.nav button{padding:6px 0}.nav-current{color:var(--text);font-weight:600}.nav a:hover,.nav button:hover,footer a:hover{color:var(--accent)}.settings{display:flex;align-items:center;gap:5px;padding-left:3px;font-size:12px}.preference{position:relative}.preference-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 10px;border:1px solid transparent;border-radius:9px;color:var(--muted);background:transparent;white-space:nowrap;transition:background .15s,color .15s}.preference-trigger:hover,.preference-trigger[aria-expanded=true]{color:var(--text);background:var(--soft)}.preference-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preference-trigger>.icon{width:18px;height:18px}.preference-trigger .menu-caret{width:11px;height:11px;opacity:.65;transition:transform .15s}.preference-trigger[aria-expanded=true] .menu-caret{transform:rotate(180deg)}.language-trigger{font-size:12px;font-weight:500}.theme-trigger{width:38px;padding:0}.settings-divider{height:15px;width:1px;background:var(--line);margin:0 3px}.preference-menu{position:absolute;top:calc(100% + 10px);right:0;width:184px;max-width:calc(100vw - 32px);padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #0000001a,0 2px 6px #00000008;z-index:30;transform-origin:top right}.menu-heading{padding:7px 10px 9px;font-size:11px;line-height:1.4;font-weight:500;color:var(--muted)}.preference-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:9px 10px;text-align:left;border-radius:7px;font-size:12px;color:var(--muted);line-height:1.5}.preference-menu button:hover,.preference-menu button:focus-visible{background:var(--soft);color:var(--text);outline:none}.preference-menu button:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 12%,transparent)}.preference-menu button[aria-checked=true]{color:var(--text);font-weight:500}.preference-menu .icon{width:17px;height:17px}.preference-menu .selection-check{width:15px;height:15px;margin-left:auto;color:var(--text);visibility:hidden}.preference-menu [aria-checked=true] .selection-check{visibility:visible}.language-glyph{display:inline-grid;place-items:center;width:17px;height:18px;font-size:12px;font-weight:500}.menu-divider{height:1px;background:var(--line);margin:5px 8px}.header{position:relative;z-index:20}@media(prefers-reduced-motion:no-preference){.preference-menu:not([hidden]){animation:menu-reveal .13s ease-out}@keyframes menu-reveal{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}.container{max-width:1280px;padding:0 40px;margin:auto}
.intro{text-align:center;padding:64px 0 50px}.intro h1{font-size:38px;font-weight:600;line-height:1.35;letter-spacing:-1.4px;margin:0 0 16px}.intro p{color:var(--muted);margin:0;font-size:15px}.intro form{max-width:650px;margin:30px auto 0}.search-box{display:flex;align-items:center;gap:13px;background:var(--paper);height:58px;padding:0 19px;border:1px solid #dcdee5;border-radius:13px;box-shadow:0 3px 6px #171e3003,0 8px 24px #171e3006;transition:border-color .16s,box-shadow .16s}.search-box>.icon{color:var(--muted);width:22px;height:22px}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint)}.search-box input{min-width:0;width:100%;border:0;outline:none;background:transparent;color:var(--text);font-size:14px}.search-box input:focus-visible{outline:none}.search-box input::placeholder{color:var(--muted)}kbd{font:12px/22px Geist,sans-serif;width:23px;height:24px;border:1px solid var(--line);border-radius:5px;color:var(--muted);flex-shrink:0;background:var(--soft)}.search-suggestions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:12px;color:var(--muted)}.search-suggestions>span{opacity:.8}.search-suggestions button{padding:1px 0;color:var(--muted)}.search-suggestions button:hover{color:var(--accent)}
.workspace{padding-bottom:10px}.catalogue{min-width:0;scroll-margin-top:24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:57px;border-bottom:1px solid var(--line);padding-bottom:15px}.tabs{display:flex;gap:24px;align-self:stretch;align-items:center}.tabs button{position:relative;padding:8px 0;font-size:15px;color:var(--muted);font-weight:500;white-space:nowrap}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);font-weight:650}.tabs button[aria-selected=true]::after{content:"";position:absolute;bottom:-16px;left:0;right:0;height:2px;background:var(--text);border-radius:2px}.toolbar-actions{display:flex;align-items:center;gap:9px}.toolbar-actions select{font-size:12px;height:35px;max-width:146px}.layout-switch{display:flex;gap:2px;padding:3px;background:var(--soft);border-radius:8px;margin-left:4px}.layout-switch button{display:grid;place-items:center;width:30px;height:29px;border-radius:5px;color:var(--muted)}.layout-switch .icon{width:17px;height:17px}.layout-switch button[aria-pressed=true]{color:var(--text);background:var(--paper);box-shadow:0 1px 3px #10182812}#categories{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:23px 0 10px}.category{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:7px;padding:7px 10px;color:var(--muted);font-size:12px;white-space:nowrap}.category .icon{width:16px;height:16px}.category:hover{background:var(--soft);color:var(--text)}.category.active{color:var(--accent);background:var(--tint);font-weight:550}.filterbar{min-height:43px;display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px;margin-bottom:12px}.filterbar p{margin:0}.filterbar button{padding:3px 0;font-size:12px;color:var(--muted)}#clear-filters{color:var(--accent)}#guide-side{display:flex;align-items:center;gap:6px;margin-left:auto}#guide-side .icon{width:15px;height:15px}#guide-side:hover{color:var(--accent)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.skill-card{min-width:0;display:flex;flex-direction:column;min-height:232px;padding:23px 22px 17px;background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s,transform .18s}.skill-card:hover{border-color:color-mix(in srgb,var(--text) 18%,var(--line));box-shadow:0 8px 24px #151b2b0a;transform:translateY(-2px)}.card-top{display:flex;align-items:flex-start;gap:12px;min-width:0}.skill-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--text) 4%,var(--line));border-radius:11px;background:var(--icon-bg);color:var(--text)}.skill-icon .icon{width:23px;height:23px}.card-identity{min-width:0;flex:1;padding-top:0}.skill-title{padding:0;display:block;max-width:100%;text-align:left;font-size:16px;font-weight:600;letter-spacing:-.25px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-title:hover{color:var(--accent)}.publisher-name{display:block;font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save{display:grid;place-items:center;flex-shrink:0;width:26px;height:27px;border-radius:5px;color:var(--muted);padding:3px;margin:0 -6px 0 1px}.save .icon{width:18px;height:18px}.save:hover{color:var(--accent);background:var(--tint)}.save[aria-pressed=true]{color:var(--accent);background:var(--tint)}.skill-summary{font-size:13px;color:var(--muted);line-height:1.8;margin:17px 0 19px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:47px}.card-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.category-tag{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-card{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-left:auto;font-size:11px;color:var(--text);padding:5px 0 5px 7px;border-radius:5px;white-space:nowrap;transition:color .15s}.copy-card .icon{width:14px;height:14px}.copy-card:hover{color:var(--accent)}
.cards[data-layout=list]{grid-template-columns:1fr;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:0 22px}.cards[data-layout=list] .skill-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1.5fr) 225px;align-items:center;gap:25px;min-height:112px;padding:22px 0;border:0;border-radius:0;box-shadow:none;background:transparent}.cards[data-layout=list] .skill-card+.skill-card{border-top:1px solid var(--line)}.cards[data-layout=list] .skill-card:hover{transform:none;background:var(--hover)}.cards[data-layout=list] .skill-summary{margin:0;min-height:0;-webkit-line-clamp:2}.cards[data-layout=list] .card-bottom{margin:0;padding:0;border:0}.cards[data-layout=list] .save{margin-right:0}.cards[data-layout=list] .skill-title{font-size:15px}.pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin:36px 0 8px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:12px}.button:hover{border-color:var(--muted)}.button.primary{background:var(--text);color:var(--paper);border-color:var(--text)}.button.primary:hover{opacity:.85}.loading-card{height:232px;border-radius:13px;background:var(--soft);border:1px solid var(--line)}.empty{text-align:center;padding:70px 20px 80px}.empty>.icon{width:36px;height:36px;color:var(--muted)}.empty h2{font-size:18px;font-weight:550;margin:15px 0 8px}.empty p{color:var(--muted);margin:0 0 22px;font-size:13px}footer{margin-top:34px;padding:25px 0 30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.footer-divider{padding:0 8px;opacity:.5}
dialog{color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:0;max-width:min(620px,calc(100vw - 32px));width:620px;max-height:calc(100dvh - 48px);box-shadow:0 30px 100px #0003}dialog::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}dialog[open]{animation:dialog-in .17s ease-out}.dialog-top{padding:16px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.icon-button{font-size:25px;line-height:1;padding:2px 5px;color:var(--muted)}.dialog-body{padding:28px 30px 30px}.dialog-body h2{font-size:26px;line-height:1.4;letter-spacing:-.5px;margin:15px 0 6px;overflow-wrap:anywhere}.detail-author{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.publisher-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--soft);color:var(--text);font-weight:600}#detail-name{font-size:12px;color:var(--muted);overflow-wrap:anywhere}#detail-summary{font-size:14px;line-height:1.85;margin:20px 0}.detail-section{font-size:12px;line-height:1.85;color:var(--muted);margin:18px 0}.detail-section strong{display:block;margin-bottom:5px;font-size:12px;color:var(--text)}.detail-section p{margin:0;white-space:pre-wrap}.install-box{background:var(--soft);border:1px solid var(--line);padding:18px;border-radius:10px;margin-top:24px}.install-title{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:12px}.install-title span{color:var(--muted);font-size:11px}#install-command{display:block;resize:vertical;width:100%;height:92px;margin:13px 0 15px;border:0;background:transparent;color:var(--muted);font:11px/1.8 Consolas,monospace;overflow-wrap:anywhere}.install-box .button{width:100%}.detail-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:22px}.detail-links a:hover{color:var(--accent)}#detail-save{margin-left:auto;color:var(--accent);padding:0}.steps{padding-left:25px;margin:30px 0}.steps li{padding-left:8px;margin:24px 0}.steps li::marker{color:var(--accent);font-weight:600}.steps strong{font-weight:550}.steps p{font-size:13px;color:var(--muted);line-height:1.85;margin:7px 0}.guide-footnote{color:var(--muted);font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding-top:20px;margin:25px 0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);padding:11px 19px;background:var(--text);color:var(--paper);border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:var(--shadow);z-index:99;max-width:90vw;width:max-content}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes dialog-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
:root[data-theme=dark] .brand img{filter:brightness(2.7)}:root[data-theme=dark] .search-box{border-color:var(--line)}@media(prefers-color-scheme:dark){:root[data-theme=auto] .brand img{filter:brightness(2.7)}:root[data-theme=auto] .search-box{border-color:var(--line)}}
@media(max-width:1100px){.brand-by{display:none}.header-inner{gap:25px}.cards{gap:14px}.skill-card{padding:20px 17px 14px}.intro h1{font-size:34px}.cards[data-layout=list] .skill-card{grid-template-columns:minmax(180px,1fr) minmax(180px,1.1fr) 190px;gap:18px}.cards[data-layout=list] .card-bottom{flex-direction:column;align-items:flex-end;gap:3px}.toolbar-actions select{max-width:125px}}
@media(max-width:860px){.container,.header-inner{padding-left:24px;padding-right:24px}.nav{gap:20px}.nav-current{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards[data-layout=list] .skill-card{grid-template-columns:minmax(0,1fr) 150px;gap:10px 22px}.cards[data-layout=list] .skill-summary{grid-column:1;grid-row:2;padding-left:52px}.cards[data-layout=list] .card-bottom{grid-column:2;grid-row:1/3}.cards[data-layout=list] .card-top .save{margin-left:10px}.tabs{gap:20px}.intro{padding-top:50px;padding-bottom:40px}.intro h1{font-size:30px}.toolbar-actions{gap:6px}}
@media(max-width:640px){.header{height:65px}.header-inner{padding:0 20px;gap:12px}.brand{gap:7px}.brand img{width:26px;height:26px}.brand strong{font-size:18px}.nav{display:none}.settings{margin-left:auto;gap:3px;padding:0}.language-trigger{padding:0 8px;gap:6px}.settings-divider{margin:0 2px}.preference-menu{width:176px}.container{padding:0 20px}.intro{padding:38px 0 30px}.intro h1{font-size:27px;line-height:1.5;letter-spacing:-.7px;max-width:360px;margin:0 auto 12px}.intro p{font-size:12px}.intro form{margin-top:23px}.search-box{height:51px;padding:0 14px;border-radius:10px;gap:10px}.search-box input{font-size:13px}.search-suggestions{font-size:11px;gap:13px;margin-top:13px}.toolbar{flex-wrap:wrap;gap:17px;padding-bottom:0;border:0}.tabs{width:100%;gap:25px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{font-size:14px;padding:5px 0}.tabs button[aria-selected=true]::after{bottom:-13px}.toolbar-actions{width:100%}.toolbar-actions select{max-width:145px;flex:1;width:0}.layout-switch{margin-left:auto}#categories{padding:18px 0 6px;gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:10px}.category{padding:7px 10px;border-color:var(--line);font-size:11px}.category.active{border-color:transparent}.category .icon{width:14px;height:14px}.filterbar{font-size:11px;min-height:36px;margin-bottom:10px;gap:10px}.filterbar button{font-size:11px}.cards{grid-template-columns:1fr;gap:12px}.skill-card{min-height:205px;padding:20px}.skill-title{font-size:16px}.skill-summary{margin-top:15px;margin-bottom:15px;min-height:0;-webkit-line-clamp:3}.card-bottom{padding-top:10px}.copy-card{font-size:12px;padding:6px 0 6px 8px}.category-tag{font-size:11px}.cards[data-layout=list]{padding:0 17px}.cards[data-layout=list] .skill-card{grid-template-columns:minmax(0,1fr);padding:20px 0;gap:12px;min-height:0}.cards[data-layout=list] .skill-summary{grid-column:1;grid-row:2;padding-left:0}.cards[data-layout=list] .card-bottom{grid-column:1;grid-row:3;flex-direction:row;align-items:center}.cards[data-layout=list] .save{margin-left:auto}.pagination{margin-top:26px}.dialog-body{padding:22px}.dialog-body h2{font-size:24px}.detail-links{gap:13px}footer{font-size:10px;gap:8px;padding-top:20px;margin-top:25px}#toast{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
