:root{--bg: #fafbfc;--surface: #ffffff;--surface-2: #f6f5ff;--border: #ebedf2;--border-2: #e4e6ee;--text: #15172a;--muted: #6b6e85;--faint: #9094a8;--accent: #4f46e5;--accent-press: #4338ca;--accent-soft: #eef0fe;--accent-soft-press: #e3e6fc;--hero-grad: linear-gradient(180deg, #f6f5ff 0%, var(--surface) 100%);--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(20, 21, 40, .04);--max: 1120px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}html[data-theme=dark]{--bg: #0a0c14;--surface: #10131d;--surface-2: #141826;--border: #1e2330;--border-2: #272d3c;--text: #eef0f5;--muted: #969cb2;--faint: #6b7186;--accent: #7c83f8;--accent-press: #9aa0ff;--accent-soft: #191d2c;--accent-soft-press: #222740;--hero-grad: linear-gradient(180deg, #12141f 0%, var(--surface) 100%);--shadow: 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}.site-header{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.site-header .wrap{display:flex;align-items:center;gap:18px;height:62px}.logo{font-weight:600;font-size:16px;color:var(--text);display:flex;align-items:center;gap:9px}.logo:hover{text-decoration:none}.logo .dot{width:16px;height:16px;border-radius:5px;background:var(--accent)}.nav{display:flex;gap:18px;margin-left:auto;align-items:center;flex-wrap:wrap}.nav a{color:var(--muted);font-size:14px;font-weight:500}.nav a.active{color:var(--text)}.nav a:hover{color:var(--text);text-decoration:none}.sep{color:var(--border-2)}.lang{display:flex;gap:4px}.lang a{padding:3px 8px;border-radius:7px;font-size:13px;color:var(--faint);font-weight:500}.lang a.active{background:var(--accent-soft);color:var(--accent)}.icon-btn,.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;cursor:pointer;flex:none;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:15px}.icon-btn:hover,.theme-btn:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.hero-search{position:relative;max-width:560px;margin:4px 0 6px;display:flex}.hero-search .hs-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.hero-search input{flex:1;padding:14px 120px 14px 46px;font-size:16px;border:1px solid var(--border-2);border-radius:12px;background:var(--surface);color:var(--text);width:100%}.hero-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hero-search button{position:absolute;right:6px;top:6px;bottom:6px;padding:0 18px;background:var(--accent);color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer}.hero-search button:hover{background:var(--accent-press)}@media (max-width: 480px){.hero-search input{padding-right:16px}.hero-search button{position:static;margin-left:8px;padding:0 16px;height:48px}}.hero{padding:46px 0 30px}.hero--tint{background:var(--hero-grad);border-bottom:1px solid var(--border);padding-bottom:36px}.hero h1{font-size:30px;margin:0 0 11px;letter-spacing:-.7px;font-weight:700;line-height:1.12;max-width:640px}.hero p{color:var(--muted);font-size:16px;margin:0 0 22px;max-width:560px}.stats{display:flex;gap:30px;flex-wrap:wrap}.stat b{font-size:23px;color:var(--text);display:block;font-weight:700;letter-spacing:-.5px}.stat span{font-size:12px;color:var(--faint)}.crumbs{font-size:12.5px;color:var(--faint);padding:18px 0 0}.crumbs a{color:var(--faint)}.crumbs a:hover,.crumbs span{color:var(--text)}h2.section{font-size:18px;margin:26px 0 14px;font-weight:600}.search{margin:16px 0}.search input{width:100%;padding:12px 16px;font-size:15px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.search input::placeholder{color:var(--faint)}.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.programs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.program-card{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:var(--radius);padding:20px;display:block;color:var(--text)}.program-card:hover{text-decoration:none;border-color:var(--accent);transition:.15s}.program-card h3{margin:0 0 6px;font-size:16px;font-weight:600}.program-card p{margin:0 0 14px;color:var(--muted);font-size:13px}.program-card .count{color:var(--muted);font-weight:500;font-size:12.5px}.brand-grid{display:grid;gap:11px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.brand-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--text)}.brand-tile:hover{border-color:var(--accent);text-decoration:none}.brand-tile .b{font-weight:600;font-size:14px}.brand-tile .c{font-size:12px;color:var(--faint)}.cards{display:grid;gap:13px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:7px}.card .brand-line{font-size:10px;color:var(--faint);font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px}.card h3{margin:0;font-size:14.5px;line-height:1.35;font-weight:600}.card h3 a{color:var(--text)}.card h3 a:hover{color:var(--accent);text-decoration:none}.card p{margin:2px 0 6px;font-size:12px;color:var(--muted);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;background:var(--accent-soft);color:var(--accent);border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;width:100%}.btn:hover{background:var(--accent-soft-press);text-decoration:none;color:var(--accent)}.btn svg{width:15px;height:15px}.btn-primary{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:11px 24px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--accent-press);text-decoration:none;color:#fff}.btn-primary svg{width:16px;height:16px}.lib-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.lib-head .kicker{font-size:10px;color:var(--faint);font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.6px}.lib-head h1{margin:8px 0 5px;font-size:22px;font-weight:700;letter-spacing:-.4px}.lib-head .meta{color:var(--faint);font-size:12px;margin-bottom:18px;font-family:var(--mono)}.dl-box{margin:0 0 18px;padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dl-box small{color:var(--muted);font-size:12.5px}.lib-desc{margin:18px 0;font-size:14.5px;color:var(--text)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.tag{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-family:var(--mono)}a.tag:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.tg-all{display:inline-flex;align-items:center;gap:8px;margin:14px 0 4px;background:var(--accent-soft);color:var(--accent);border:1px solid transparent;border-radius:10px;padding:9px 15px;font-size:13.5px;font-weight:600}.tg-all:hover{background:var(--accent-soft-press);text-decoration:none;color:var(--accent)}.tg-all .ico:last-child{opacity:.6}.empty{color:var(--faint);padding:30px 0;text-align:center;display:none}main{display:block;padding-bottom:30px}.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:40px;padding:30px 0}.site-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}.ico{display:inline-block;vertical-align:-3px;flex:none}.btn .ico,.btn-primary .ico{vertical-align:-2px}@media (prefers-reduced-motion: no-preference){.reveal{opacity:0;transform:translateY(14px)}.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.3,1)}}body{transition:background .25s ease,color .25s ease}.card,.brand-tile,.program-card,.pop-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:hover,.pop-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #14152814;border-color:var(--border-2)}.brand-tile:hover{transform:translateY(-2px)}.program-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #4f46e514}html[data-theme=dark] .card:hover,html[data-theme=dark] .pop-card:hover{box-shadow:0 10px 26px #0006}.btn,.btn-primary{transition:background .15s ease,transform .12s ease}.btn:active,.btn-primary:active{transform:scale(.98)}.site-search{position:relative;margin-left:auto}.site-search.in-nav{margin-left:0}.site-search input{width:230px;max-width:40vw;padding:8px 12px 8px 34px;font-size:13.5px;border:1px solid var(--border-2);border-radius:9px;background:var(--surface);color:var(--text)}.site-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);width:280px}.site-search .si{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.results{position:absolute;top:calc(100% + 6px);right:0;width:380px;max-width:86vw;max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px #14152824;padding:6px;display:none;z-index:40}.results.show{display:block}.results a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text)}.results a:hover,.results a.active{background:var(--accent-soft);text-decoration:none}.results .r-ico{color:var(--accent);flex:none}.results .r-t{font-size:13.5px;font-weight:600;line-height:1.2}.results .r-s{font-size:11.5px;color:var(--faint);font-family:var(--mono)}.results .r-meta{margin-left:auto;font-size:10px;color:var(--faint);white-space:nowrap}.results .r-empty{padding:14px;color:var(--faint);font-size:13px;text-align:center}.pop{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:20px;padding:2px 9px}.pop .ico{color:#ef6c2e}.pop.hot{color:#c2410c;background:#fff1e8}html[data-theme=dark] .pop.hot{color:#fb923c;background:#2a1a10}.section-head{display:flex;align-items:center;gap:9px;margin:30px 0 14px}.section-head h2{font-size:19px;margin:0;font-weight:600}.section-head .ico{color:#ef6c2e}.section-head .more{margin-left:auto;font-size:13px;color:var(--accent);font-weight:500}.pop-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:13px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}.pop-strip::-webkit-scrollbar{height:8px}.pop-strip::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px}.pop-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:15px;display:flex;flex-direction:column;gap:8px;min-width:0}.pop-card .pc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pop-card .pc-ico{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}.pop-card .pc-line{font-size:10px;color:var(--faint);font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px}.pop-card h3{margin:0;font-size:14px;font-weight:600;line-height:1.3}.pop-card h3 a{color:var(--text)}.pop-card h3 a:hover{color:var(--accent);text-decoration:none}.pop-card p{margin:0;font-size:12px;color:var(--muted);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pop-card .pc-prog{font-size:11px;color:var(--faint)}.program-card .pc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.program-card .pc-head .ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}.program-card .pc-head h3{margin:0}.sort-toggle{display:inline-flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px}.sort-toggle a{font-size:12.5px;padding:5px 11px;border-radius:7px;color:var(--muted);font-weight:500}.sort-toggle a.active{background:var(--accent-soft);color:var(--accent)}.sort-toggle a:hover{text-decoration:none}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 16px}.toolbar .search{flex:1;min-width:220px;margin:0}.lib-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cat-badge{font-size:10px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:2px 9px;white-space:nowrap}.pc-line+.cat-inline,.cat-inline{font-size:10px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:13px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 14px;cursor:pointer;user-select:none}.chip:hover{border-color:var(--border-2);text-decoration:none}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip .n{opacity:.7;font-size:11px;margin-left:4px}.search-page .big-search{position:relative;margin:8px 0 16px}.search-page .big-search input{width:100%;padding:14px 16px 14px 44px;font-size:16px;border:1px solid var(--border-2);border-radius:12px;background:var(--surface);color:var(--text)}.search-page .big-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-page .big-search .bs-ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--faint)}.search-page .filters{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.search-page .filters .group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.search-page .filters .lbl{font-size:12px;color:var(--faint);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.search-count{font-size:13px;color:var(--muted);margin:6px 0 14px}.res-list{display:grid;gap:10px;grid-template-columns:1fr}.res-row{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.res-row:hover{border-color:var(--accent);text-decoration:none;transform:translate(2px);transition:.14s}.res-row .ri{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}.res-row .rt{font-weight:600;font-size:14.5px}.res-row .rs{font-size:12px;color:var(--faint);font-family:var(--mono)}.res-row .rm{margin-left:auto;display:flex;gap:8px;align-items:center}.brand-intro{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin:16px 0;font-size:14.5px;color:var(--text);line-height:1.6}.faq{display:grid;gap:10px}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0}.faq summary{cursor:pointer;padding:14px 16px;font-weight:600;font-size:14.5px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:18px;font-weight:400}.faq details[open] summary:after{content:"–"}.faq details[open] summary{border-bottom:1px solid var(--border)}.faq .a{padding:12px 16px 16px;font-size:14px;color:var(--muted);line-height:1.6}@media (max-width: 720px){.site-search input{width:150px}.site-search input:focus{width:180px}.results{width:320px}}@media (max-width: 600px){.hero h1{font-size:24px}.site-header .wrap{height:auto;padding:10px 22px;flex-wrap:wrap;gap:10px}.nav{gap:12px}}
