@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;450;500;600;650;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--bg:#101014;--panel:#19181f;--panel2:#211e29;--text:#f2f0f6;--muted:#aaa6b6;--line:#34313e;--green:#c5ff5e;--purple:#ad8aff;--deep:#6945ad;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}button{cursor:pointer}::selection{background:var(--green);color:var(--bg)}.container{width:min(var(--max),calc(100% - 88px));margin:auto}.skip{position:fixed;top:-100px;left:20px;background:var(--green);color:#111;padding:10px;z-index:100}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:#101014f2;backdrop-filter:blur(18px)}.nav{min-height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.brand .wordmark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;letter-spacing:.3px}.brand small{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);display:block;letter-spacing:1.5px;margin-top:-10px}.mark{width:44px;height:44px;display:grid;place-items:center;background:var(--green);color:#121014;border-radius:6px;font-family:Impact,sans-serif;font-size:38px;font-style:italic;overflow:hidden}.mark img{width:100%;height:100%;object-fit:cover}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px;font-weight:600}.nav-links a{color:var(--muted)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--green)}.external-button{border:1px solid #645b77;padding:9px 15px;border-radius:5px;font-size:14px;font-weight:600;white-space:nowrap}.external-button:hover{background:var(--panel2)}.menu-toggle{display:none}.eyebrow,.mono,.tag,.section-number{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1.4px;text-transform:uppercase}.eyebrow{color:var(--purple);margin:0 0 16px}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;padding:55px 0 43px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}.hero h1,.page-heading h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(60px,6.7vw,104px);text-transform:uppercase;line-height:.94;letter-spacing:-1.2px;margin-bottom:20px;font-weight:800}.hero h1 em{color:var(--green);font-style:normal}.hero-description{max-width:530px;font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:22px}.hero-links{display:flex;gap:23px;align-items:center;font-size:14px;font-weight:600}.hero-links a:first-child{background:var(--green);padding:10px 17px;color:#171c0b;border-radius:4px}.hero-links a:last-child{border-bottom:1px solid #655579}.hero-panel{align-self:center;position:relative;min-height:247px;background:#221d30;border:1px solid #584170;transform:rotate(2deg);padding:25px 29px;box-shadow:12px 12px 0 #17141e}.hero-panel .panel-top{display:flex;justify-content:space-between;color:var(--purple);font-size:11px;letter-spacing:1px}.hero-panel .count{font-family:'Barlow Condensed',Impact,sans-serif;font-size:128px;font-weight:800;line-height:1.1;color:var(--green);letter-spacing:-4px}.hero-panel .count span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px;display:inline-block;max-width:130px;line-height:1.7;color:var(--text);margin-left:20px}.panel-bottom{display:flex;justify-content:space-between;border-top:1px solid #554263;padding-top:12px;font-size:12px;color:#c8bbdb}.ticker{display:flex;gap:26px;align-items:center;overflow:hidden;white-space:nowrap;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1px}.ticker b{color:var(--green);font-weight:400}.directory{padding:38px 0 64px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;text-transform:uppercase;line-height:1.1;margin:0}.section-heading p{color:var(--muted);font-size:13px;margin:0}.directory-layout{display:grid;grid-template-columns:213px 1fr;gap:30px}.categories{align-self:start;position:sticky;top:111px}.categories-label{color:#83798f;font-size:11px;letter-spacing:1.5px;margin-bottom:13px}.category{display:flex;width:100%;justify-content:space-between;align-items:center;border:0;border-radius:4px;background:none;color:var(--muted);padding:10px 12px;margin:3px 0;text-align:left;font-size:13px;line-height:1.5}.category span:last-child{font-family:'IBM Plex Mono',monospace;font-size:11px;opacity:.7;margin-left:8px}.category:hover{background:var(--panel2);color:white}.category[aria-pressed=true]{color:var(--green);background:#29311d;border-left:2px solid var(--green)}.sidebar-note{font-size:12px;color:#8b8397;border-top:1px solid var(--line);padding:18px 10px;margin-top:24px;line-height:1.8}.toolbar{display:flex;gap:10px;margin-bottom:22px}.search-wrap{flex:1;display:flex;border:1px solid var(--line);border-radius:5px;align-items:center;padding-left:15px;background:var(--panel)}.search-wrap span{color:var(--muted);font-size:22px}.search-wrap input{width:100%;border:0;padding:12px;color:var(--text);background:transparent;font-size:14px;min-width:0}.search-wrap input::placeholder{color:#807a8d}.toolbar select{background:var(--panel);border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:13px;padding:0 12px}.result-meta{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px;color:var(--muted);font-size:12px}.result-meta button{background:none;border:0;color:var(--purple);padding:0;font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-card{position:relative;display:flex;flex-direction:column;min-height:251px;padding:22px 19px 16px;background:var(--panel);border:1px solid var(--line);border-radius:7px;transition:transform .18s,border-color .18s,background .18s}.project-card:hover{transform:translateY(-3px);border-color:#8163a7;background:#211c2b}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-icon{width:35px;height:35px;border:1px solid #66557e;background:#2f253f;border-radius:7px;color:#c6a2ff;display:grid;place-items:center;font-family:'IBM Plex Mono',monospace;font-size:16px}.project-card:nth-child(3n+2) .project-icon{background:#293322;border-color:#4c6337;color:var(--green)}.source-kind{font-size:11px;color:#938a9f}.project-card h3{font-size:17px;letter-spacing:-.35px;line-height:1.35;margin-bottom:9px;overflow-wrap:anywhere}.project-card h3 a:after{content:'';position:absolute;inset:0}.project-card p{color:var(--muted);font-size:13px;line-height:1.65;margin-bottom:20px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #302b39;font-size:11px;color:var(--purple)}.card-bottom .arrow{font-size:19px;color:#dcd3e8}.empty{padding:50px;text-align:center;background:var(--panel);border:1px dashed var(--line);border-radius:6px}.empty h3{font-size:20px}.empty p{color:var(--muted)}[hidden]{display:none!important}.learning{border-top:1px solid var(--line);padding:50px 0 70px}.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.learn-card{padding:27px;background:#1c1825;border:1px solid #44314f;border-radius:6px}.learn-card .mono{color:var(--purple)}.learn-card h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;margin:12px 0}.learn-card p{font-size:14px;color:var(--muted)}.learn-card a{font-size:14px;color:var(--green)}footer{border-top:1px solid var(--line);padding:32px 0}.footer-top{display:flex;justify-content:space-between;gap:20px}.footer-top p{font-size:13px;color:var(--muted);max-width:470px;margin:10px 0}.footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:13px}.footer-bottom{border-top:1px solid #25212e;margin-top:22px;padding-top:17px;font-size:11px;color:#847b91;display:flex;justify-content:space-between;gap:20px}.page-heading{padding:60px 0 35px;border-bottom:1px solid var(--line);max-width:1050px}.page-heading h1{font-size:clamp(54px,6vw,82px);max-width:950px}.page-heading .lead{font-size:19px;color:var(--muted);max-width:760px;line-height:1.6}.article-layout{display:grid;grid-template-columns:220px minmax(0,790px);gap:65px;padding:40px 0 85px}.toc{position:sticky;top:114px;align-self:start}.toc strong{display:block;font-size:11px;letter-spacing:1.2px;color:var(--purple);text-transform:uppercase;margin-bottom:15px}.toc a{display:block;font-size:13px;color:var(--muted);padding:7px 0;line-height:1.5}.toc a:hover{color:var(--green)}.prose{max-width:790px;min-width:0;color:#d5d0df;font-size:17px;line-height:1.85}.prose h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:38px;color:var(--text);line-height:1.2;margin:46px 0 18px;scroll-margin-top:110px}.prose h2:first-child{margin-top:0}.prose h3{font-size:22px;line-height:1.4;color:var(--text);margin:28px 0 13px}.prose p{margin-bottom:22px}.prose a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.prose ul,.prose ol{padding-left:23px}.prose li{margin:9px 0}.prose strong{color:#f2edf8}.prose code{font-family:'IBM Plex Mono',monospace;font-size:.83em;color:#c8a8ff;background:#25202e;border-radius:3px;padding:2px 5px;overflow-wrap:anywhere}.prose pre{background:#19151f;border:1px solid #45334e;padding:22px;border-radius:6px;overflow:auto;line-height:1.7;font-size:14px}.prose pre code{background:none;padding:0;white-space:pre;overflow-wrap:normal;color:#c2eaa1}.prose blockquote{border-left:3px solid var(--purple);margin:25px 0;padding:15px 23px;background:#201a29;color:#bfb3cf}.prose blockquote p:last-child{margin:0}.table-wrap{overflow:auto}.prose table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;margin:25px 0}.prose td,.prose th{text-align:left;border-bottom:1px solid var(--line);padding:13px 12px;min-width:95px}.prose th{color:var(--green);background:#25222c}.prose figure{margin:30px 0}.prose figure img,.prose video{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:7px}.prose figcaption{color:var(--muted);font-size:12px;line-height:1.6;margin-top:9px}.article-note{font-size:13px!important;line-height:1.7;border:1px solid #42394e;border-radius:5px;padding:17px;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.resource{display:block;padding:23px;background:var(--panel);border:1px solid var(--line);border-radius:6px;text-decoration:none!important}.resource strong{font-size:18px;display:block;margin-bottom:9px}.resource p{font-size:14px;color:var(--muted);margin-bottom:14px}.resource .tag{font-size:10px;color:var(--purple)}.wide-prose{max-width:960px;padding:45px 0 75px}.calculator{background:#221b2c;border:1px solid #5a3e70;padding:25px;border-radius:7px}.calculator label{display:block;font-size:14px;margin:12px 0 4px}.calculator input{background:#15121b;border:1px solid #685476;color:var(--text);padding:9px 12px;border-radius:3px;width:100%}.calculator output{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:45px;color:var(--green);margin-top:20px}.calculator small{font-size:12px;color:var(--muted)}.media-source{padding:15px 20px;background:#1d1924;border-left:2px solid var(--purple);font-size:14px}.cookie-choice{position:fixed;bottom:18px;left:18px;max-width:390px;z-index:50;background:#25202f;border:1px solid #6d537c;padding:18px;border-radius:7px;box-shadow:0 9px 30px #0008}.cookie-choice p{font-size:13px;line-height:1.6;margin-bottom:12px;color:#d5cadf}.cookie-actions{display:flex;gap:8px}.cookie-actions button{border:1px solid #5d4d6c;border-radius:4px;padding:6px 13px;font-size:12px;background:none;color:#fff}.cookie-actions button:first-child{background:var(--green);color:#182009;border-color:var(--green)}.cookie-settings{border:0;background:none;color:inherit;font-size:inherit;padding:0;cursor:pointer}.error-page{padding:100px 0}.error-page h1{font-size:80px;color:var(--green);font-family:'Barlow Condensed',Impact,sans-serif}
@media(min-width:1500px){.hero{padding-top:64px}.project-card{min-height:265px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.nav-links{gap:17px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1.3fr 1fr;gap:28px}.hero h1{font-size:78px}.directory-layout{grid-template-columns:180px 1fr;gap:20px}.article-layout{gap:35px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.nav{min-height:72px;gap:12px;flex-wrap:wrap}.brand .wordmark{font-size:29px}.mark{width:35px;height:35px;font-size:30px}.external-button{margin-left:auto;font-size:12px;padding:7px 9px}.menu-toggle{display:block;border:1px solid var(--line);background:none;color:var(--text);border-radius:4px;padding:5px 9px}.nav-links{display:none;order:5;width:100%;margin:0;padding:5px 0 18px;flex-wrap:wrap;gap:18px}.nav-links.open{display:flex}.hero{padding:33px 0 28px;display:block}.hero h1{font-size:70px}.hero-description{font-size:15px}.hero-panel{display:none}.hero-links{font-size:13px}.ticker{font-size:10px;gap:17px}.directory{padding-top:28px}.section-heading{align-items:start}.section-heading h2{font-size:31px}.section-heading p{max-width:145px;font-size:11px;text-align:right}.directory-layout{display:block}.categories{position:static;display:flex;overflow:auto;gap:6px;padding-bottom:12px;margin-bottom:13px}.categories-label,.sidebar-note{display:none}.category{width:auto;white-space:nowrap;border:1px solid var(--line);padding:7px 11px;font-size:12px;margin:0}.category[aria-pressed=true]{border:1px solid #657e42}.toolbar select{max-width:120px;font-size:12px;padding:0 6px}.project-grid{gap:11px}.project-card{padding:16px 14px;min-height:265px}.project-card h3{font-size:16px}.project-card p{font-size:13px}.source-kind{font-size:10px}.card-bottom{font-size:10px}.learn-grid{grid-template-columns:1fr}.learn-card{padding:22px}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:20px;gap:17px}.article-layout{display:block;padding-top:25px}.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}.toc a{display:inline-block;margin-right:15px;font-size:12px}.prose{font-size:16px}.prose h2{font-size:32px}.page-heading{padding-top:35px}.page-heading h1{font-size:58px}.page-heading .lead{font-size:17px}.resource-grid{grid-template-columns:1fr}.cookie-choice{left:12px;right:12px;bottom:12px;max-width:none}}
@media(max-width:400px){.project-grid{grid-template-columns:1fr}.project-card{min-height:215px}.hero h1{font-size:58px}.external-button{font-size:11px}.brand .wordmark{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Readability refinements for the directory’s primary controls and descriptions. */
.category{font-size:14px}.project-card p{font-size:14px}.mark{background:#17121f}.prose .resource:hover{border-color:var(--purple);background:#241d30}
@media(max-width:760px){.category{font-size:14px}.project-card p{font-size:14px}}
