@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}:root{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#111318;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #155eef;--accent-dark: #0d4fd2;--accent-soft: #f1f5ff;--text: #111318;--muted: #666b75;--muted-light: #8a8f98;--border: #d6d9df;--border-strong: #b9bec7;--surface-soft: #f7f9fc;--yellow: #c89412;--yellow-border: #e3bf58;--yellow-soft: #fffaf0;--sidebar-width: 354px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#fff;color:var(--text);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.site-header{height:64px;padding:0 35px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff}.brand{text-decoration:none;font-size:21px;font-weight:700;letter-spacing:-.025em}.brand span{font-weight:600}.curator{font-size:14px;color:#33363c}.library-layout{min-height:calc(100vh - 130px);display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"sidebar hero" "sidebar results"}.library-sidebar{grid-area:sidebar;min-width:0;padding:32px 30px 26px;border-right:1px solid var(--border);background:#fff}.hero{grid-area:hero;min-width:0;padding:31px 42px 17px 52px}.hero h1{margin:0;font-size:clamp(35px,2.6vw,42px);line-height:1.15;letter-spacing:-.045em;font-weight:700}.search-form{height:64px;margin-top:17px;border:1px solid var(--border-strong);border-radius:5px;display:grid;grid-template-columns:35px 1fr auto;align-items:center;padding:0 9px 0 16px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #155eef1a}.search-form svg{color:#343840}.search-form input{min-width:0;height:100%;border:0;outline:0;background:transparent;padding:0 12px;color:var(--text);font-size:16px}.search-form input::placeholder{color:#7c818b;opacity:1}.search-form button{height:44px;min-width:81px;padding:0 21px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.search-form button:hover{background:var(--accent-dark)}.search-form button:active{transform:translateY(1px)}.beginner-card{width:100%;min-height:188px;border:1px solid var(--yellow-border);border-radius:6px;background:var(--yellow-soft);text-align:left;padding:17px 17px 15px;cursor:pointer;display:flex;flex-direction:column;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.beginner-card:hover{border-color:#d1a72f;box-shadow:0 8px 22px #6b4e0014;transform:translateY(-1px)}.beginner-title-row{display:flex;gap:15px;align-items:flex-start}.beginner-title-row strong{font-size:18px;line-height:1.5;letter-spacing:-.015em}.beginner-icon{width:47px;height:47px;border:1px solid var(--yellow-border);border-radius:5px;color:var(--yellow);display:grid;place-items:center;flex:0 0 auto;background:#fffdf7}.beginner-card p{margin:11px 0 0;color:#686a70;font-size:13px;line-height:1.7}.beginner-link{margin-top:auto;color:var(--accent);font-size:13px;display:flex;align-items:center;gap:10px}.discovery-nav{margin-top:24px}.browse-tabs{height:54px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-bottom:1px solid var(--border-strong)}.browse-tabs button{position:relative;border:0;background:transparent;color:#32363d;font-size:16px;text-align:left;padding:0;cursor:pointer}.browse-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}.browse-tabs button.is-active{color:var(--accent);font-weight:600}.browse-tabs button.is-active:after{background:var(--accent)}.category-list{display:grid;gap:4px;padding-top:16px}.category-button,.all-skills-button{width:100%;position:relative;min-height:60px;border:0;background:#fff;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:13px;padding:0 14px 0 19px;font-size:16px;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.category-button:before,.all-skills-button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}.category-button:hover,.all-skills-button:hover{color:var(--accent);background:#f7f9fe}.category-button.is-selected,.all-skills-button.is-selected{color:var(--accent);background:var(--accent-soft)}.category-button.is-selected:before,.all-skills-button.is-selected:before{background:var(--accent)}.category-button small,.all-skills-button small{color:#555a64;font-size:13px}.category-separator{height:1px;margin:11px 0;background:var(--border)}.results-panel{grid-area:results;min-width:0;padding:0 42px 0 52px}.results-heading{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--border)}.results-heading>div{display:flex;align-items:baseline;gap:20px;min-width:0}.results-heading h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.results-heading span{color:var(--muted);font-size:14px;white-space:nowrap}.results-heading p{margin:0;color:#555a64;font-size:14px;display:flex;align-items:center;gap:7px;white-space:nowrap}.results-heading p svg{color:var(--accent)}.results-toolbar{min-height:58px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.filter-trigger,.mobile-filter-trigger{height:40px;border:1px solid var(--border);border-radius:5px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:14px;cursor:pointer}.filter-trigger:hover,.mobile-filter-trigger:hover{border-color:#8a9099}.filter-trigger>span{min-width:19px;height:19px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600}.filter-trigger .is-up{transform:rotate(180deg)}.mobile-filter-trigger{display:none}.filter-chips{min-width:0;display:none;align-items:center;gap:10px}.filter-chips.is-visible{display:flex}.filter-chip{height:29px;border:1px solid var(--border);border-radius:4px;background:#fff;padding:0 13px;color:#555a64;font-size:12px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.filter-chip:hover{border-color:#8a9099}.filter-chip.is-active{border-color:#9ab8fb;background:var(--accent-soft);color:var(--accent)}.clear-inline{height:29px;border:0;background:transparent;color:var(--accent);font-size:12px;cursor:pointer;padding:0 4px}.sort-control{position:relative;margin-left:auto;min-width:118px}.sort-control select{width:100%;height:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:#555a64;font-size:13px;padding:0 27px 0 8px;cursor:pointer}.sort-control>svg{position:absolute;right:6px;top:12px;pointer-events:none}.skill-list{content-visibility:auto}.skill-card{min-height:72px;display:grid;grid-template-columns:minmax(280px,1.45fr) 128px minmax(220px,1fr) 286px;align-items:center;gap:18px;border-bottom:1px solid var(--border);transition:background .14s ease}.skill-card:hover{background:#fbfcfe}.skill-card-main{min-width:0;border:0;background:transparent;padding:8px 0;display:grid;grid-template-columns:47px minmax(0,1fr);align-items:center;gap:17px;text-align:left;cursor:pointer}.skill-mark{width:47px;height:47px;border:1px solid var(--border-strong);border-radius:5px;display:grid;place-items:center;background:#fff;color:#111318;font-size:20px;font-weight:600;letter-spacing:-.055em;line-height:1;flex:0 0 auto}.skill-mark.is-large{width:64px;height:64px;font-size:25px}.skill-copy{min-width:0;display:block}.skill-copy strong{display:block;margin:0 0 4px;font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-copy>span{display:block;color:#555a64;font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-category{color:#444952;font-size:12px;white-space:nowrap}.tag-list,.drawer-tags{display:flex;align-items:center;gap:8px;min-width:0}.tag-list{overflow:hidden}.tag-list span,.drawer-tags span{flex:0 0 auto;border:1px solid var(--border);border-radius:3px;background:#fff;padding:3px 10px;color:#50555e;font-size:10px;white-space:nowrap}.skill-meta{min-width:0;display:grid;grid-template-columns:minmax(116px,1fr) 58px 34px 34px;align-items:center;gap:8px;color:#666b75;font-size:10px;white-space:nowrap}.difficulty{display:flex;align-items:center;gap:1px}.difficulty svg{color:#c9cdd4}.difficulty svg.is-on{color:#111318}.bookmark-button,.open-skill-button{width:34px;height:36px;border:0;background:transparent;display:grid;place-items:center;padding:0;color:#171a20;cursor:pointer}.bookmark-button:hover,.open-skill-button:hover{color:var(--accent)}.empty-state{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#575c66;text-align:center}.empty-state h2{margin:15px 0 6px;color:var(--text);font-size:20px}.empty-state p{margin:0 0 20px;font-size:14px}.empty-state button{border:1px solid #858b95;background:#fff;border-radius:4px;padding:10px 15px;cursor:pointer}.site-footer{min-height:66px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#777c85;font-size:12px}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f101252;display:flex;justify-content:flex-end;animation:layer-in .18s ease both}.skill-drawer{width:min(520px,100%);height:100%;overflow-y:auto;background:#fff;border-left:1px solid #858b95;padding:48px 42px 38px;position:relative;animation:drawer-in .22s cubic-bezier(.2,.8,.2,1) both}.drawer-close{position:absolute;top:18px;right:20px;width:38px;height:38px;border:1px solid var(--border);border-radius:5px;background:#fff;display:grid;place-items:center;cursor:pointer}.drawer-head{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start}.drawer-kicker{margin:0 0 5px!important;color:var(--accent)!important;font-size:12px!important;font-weight:600}.drawer-head h2,.beginner-drawer h2{margin:0 0 9px;font-size:29px;letter-spacing:-.035em}.drawer-head p{margin:0;color:#595e67;font-size:14px;line-height:1.65}.drawer-tags{gap:8px;flex-wrap:wrap;margin:23px 0}.drawer-tags span{font-size:11px;padding:4px 10px}.source-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0}.source-facts div{padding:0 14px;border-right:1px solid #e1e3e7}.source-facts div:first-child{padding-left:0}.source-facts div:last-child{border-right:0}.source-facts span{display:block;color:#777c85;font-size:10px;margin-bottom:6px}.source-facts strong{font-size:12px}.source-facts .verified{color:#196542;display:flex;align-items:center;gap:4px}.use-cases{margin-top:28px}.use-cases h3{font-size:16px;margin:0 0 13px}.use-cases ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.use-cases li{display:flex;align-items:center;gap:9px;font-size:13px;color:#444952}.use-cases li svg{color:var(--accent)}.download-panel{margin-top:29px;border:1px solid #aeb3bb;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.download-panel>div{display:flex;align-items:center;gap:12px;min-width:0}.download-panel span{min-width:0}.download-panel strong,.download-panel small{display:block}.download-panel strong{font-size:13px;margin-bottom:4px}.download-panel small{color:#70757f;font-size:10px}.download-panel button{flex:0 0 auto;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:#fff;height:42px;padding:0 16px;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:600}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.drawer-actions a,.drawer-actions button{min-height:45px;border:1px solid #bbbfc6;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;cursor:pointer;font-size:12px}.drawer-actions a:hover,.drawer-actions button:hover{border-color:var(--accent);color:var(--accent)}.drawer-note{margin:18px 0 0;font-size:10px;line-height:1.65;color:#858a93}.beginner-drawer{padding-top:60px}.beginner-drawer>.drawer-kicker{color:var(--yellow)!important}.beginner-intro{margin:0;color:#646972;font-size:14px;line-height:1.7}.beginner-list{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--border)}.beginner-list li{min-height:82px;display:grid;grid-template-columns:31px 46px 1fr 34px;gap:13px;align-items:center;border-bottom:1px solid #dfe2e6}.beginner-list .skill-mark{width:46px;height:46px;font-size:18px}.step-number{font-size:11px;color:#92969e}.beginner-list strong,.beginner-list small{display:block}.beginner-list strong{font-size:14px;margin-bottom:4px}.beginner-list small{font-size:10px;line-height:1.4;color:#777c85}.beginner-list button{width:34px;height:34px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.path-note{margin-top:22px;min-height:45px;display:flex;align-items:center;gap:8px;border:1px solid #d8b64c;background:#fffaf0;padding:0 15px;color:#7a5b00;font-size:12px}.filter-panel{width:100%;background:#fff}.filter-heading{display:flex;align-items:center;justify-content:space-between}.filter-heading h2{margin:0;font-size:19px}.filter-options{display:grid;gap:11px;margin-top:18px}.filter-option,.clear-filter{min-height:50px;border:1px solid var(--border);border-radius:5px;background:#fff;display:flex;align-items:center;gap:15px;padding:0 15px;font-size:14px;cursor:pointer}.filter-option.is-active{border-color:#9ab8fb;color:var(--accent);background:var(--accent-soft)}.active-check{margin-left:auto}.clear-filter{width:100%;margin-top:14px;justify-content:center}.filter-panel.is-mobile{border-radius:14px 14px 0 0;padding:20px 20px 26px;animation:sheet-in .22s ease both}.icon-button{border:0;background:transparent;display:grid;place-items:center;padding:6px;cursor:pointer}.mobile-filter-layer{display:none}.toast{position:fixed;z-index:160;left:50%;bottom:28px;transform:translate(-50%);max-width:min(480px,calc(100% - 28px));padding:13px 18px;background:#111318;color:#fff;border-radius:5px;font-size:12px;box-shadow:0 12px 30px #0000002e;animation:toast-in .18s ease both}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(21,94,239,.3);outline-offset:2px}@keyframes layer-in{0%{background:#0f101200}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(max-width:1260px){:root{--sidebar-width: 300px}.library-sidebar{padding-inline:24px}.hero,.results-panel{padding-inline:36px}.skill-card{grid-template-columns:minmax(250px,1.3fr) minmax(190px,.95fr) 250px;gap:14px}.skill-category{display:none}.skill-meta{grid-template-columns:minmax(105px,1fr) 54px 32px 32px;gap:5px}}@media(max-width:980px){.site-header{padding-inline:24px}.library-layout{width:100%;min-width:0;overflow:hidden;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"hero" "sidebar" "results"}.hero{padding:28px 24px 22px;border-bottom:1px solid var(--border)}.hero h1{font-size:36px}.library-sidebar{min-width:0;max-width:100%;overflow:hidden;padding:0 24px 22px;border-right:0;border-bottom:1px solid var(--border);display:grid;gap:18px}.discovery-nav{order:1;margin-top:0}.beginner-card{order:2;min-height:0;padding:14px 16px;display:grid;grid-template-columns:minmax(210px,.9fr) minmax(250px,1.1fr) auto;align-items:center;gap:18px}.beginner-card p{margin:0}.beginner-link{margin:0;white-space:nowrap}.browse-tabs{max-width:340px}.category-list{width:calc(100vw - 48px);max-width:100%;display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:0;overflow-x:auto;padding-top:12px;scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-button{min-height:54px;padding:0 13px;grid-template-columns:27px 1fr auto;gap:9px;font-size:14px}.category-separator{display:none}.all-skills-button{margin-top:8px;min-height:48px;max-width:190px}.results-panel{padding:0 24px}.skill-card{grid-template-columns:minmax(250px,1.35fr) minmax(190px,1fr) 244px}}@media(max-width:760px){.results-heading p,.filter-trigger{display:none}.mobile-filter-trigger{display:flex}.filter-chips,.filter-chips.is-visible{display:none}.results-toolbar{gap:6px}.skill-card{min-height:0;padding:14px 0 12px;grid-template-columns:1fr;grid-template-areas:"main" "tags" "meta";gap:9px}.skill-card-main{grid-area:main;padding:0}.skill-category{display:none}.tag-list{grid-area:tags}.skill-meta{grid-area:meta;grid-template-columns:1fr auto 38px 38px;gap:8px}.mobile-filter-layer{display:flex;align-items:flex-end}}@media(max-width:600px){.site-header{height:56px;padding-inline:18px}.brand{font-size:17px}.curator{font-size:11px}.library-layout{min-height:calc(100vh - 116px)}.hero{padding:26px 18px 20px}.hero h1{max-width:340px;font-size:31px;line-height:1.18}.search-form{height:55px;grid-template-columns:31px 1fr auto;padding-left:12px}.search-form input{padding-inline:8px;font-size:14px}.search-form button{height:39px;min-width:65px;padding-inline:13px;font-size:13px}.library-sidebar{padding-inline:18px}.browse-tabs{height:50px;max-width:none}.browse-tabs button{font-size:14px}.category-list{width:calc(100vw - 36px);grid-template-columns:repeat(5,minmax(150px,1fr))}.beginner-card{grid-template-columns:1fr auto;gap:12px}.beginner-title-row{align-items:center}.beginner-title-row strong{font-size:15px}.beginner-icon{width:42px;height:42px}.beginner-card p{display:none}.results-panel{padding-inline:18px}.results-heading{min-height:65px}.results-heading h2{font-size:20px}.results-heading>div{gap:12px}.results-heading span{font-size:12px}.results-toolbar{min-height:54px}.sort-control{min-width:104px}.skill-mark{width:45px;height:45px}.skill-card-main{grid-template-columns:45px minmax(0,1fr);gap:14px}.skill-copy strong{font-size:16px}.skill-copy>span{font-size:12px}.tag-list{gap:6px;overflow-x:auto;scrollbar-width:none}.tag-list::-webkit-scrollbar{display:none}.skill-meta{font-size:9px}.site-footer{min-height:60px;padding:0 20px;text-align:center;line-height:1.5}.skill-drawer{padding:50px 22px 28px}.drawer-head{grid-template-columns:54px 1fr;gap:14px}.skill-mark.is-large{width:54px;height:54px}.drawer-head h2,.beginner-drawer h2{font-size:25px}.source-facts{grid-template-columns:1fr;gap:11px}.source-facts div{border-right:0;padding:0;display:flex;align-items:center;justify-content:space-between}.source-facts span{margin:0}.download-panel{align-items:stretch;flex-direction:column}.download-panel button{justify-content:center}.drawer-actions{grid-template-columns:1fr}.beginner-list li{grid-template-columns:25px 42px 1fr 30px;gap:9px}.beginner-list .skill-mark{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
