.io-hero{padding:clamp(48px,8vw,92px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}.io-hero h1{font-family:var(--font-display);font-size:clamp(30px,4.6vw,50px);font-weight:600;letter-spacing:-.02em;max-width:18ch}.io-hero .lead{color:var(--ink-soft);font-size:19px;margin:16px 0 30px;max-width:52ch}.io-hero .io-devnote{margin:0 0 30px;max-width:56ch}.searchbar{position:relative;max-width:720px}.searchbar .field{display:flex;align-items:center;gap:14px;background:var(--paper-2);border:1.5px solid var(--line-strong);border-radius:6px;padding:16px 18px}.searchbar .field:focus-within{border-color:var(--ember)}.searchbar svg{flex:none}.searchbar input{border:none;background:transparent;outline:none;font-family:var(--font-prose);font-size:18px;color:var(--ink);flex:1;min-width:0;width:auto}.searchbar input::placeholder{color:var(--ink-faint)}.searchbar .hint{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-faint);margin-top:10px}.searchbar .suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 14px 36px #1a171424;overflow-y:auto;max-height:380px;display:none}.searchbar .suggest.open{display:block}.searchbar .suggest .row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;color:var(--ink);align-items:baseline}.searchbar .suggest .row:last-child{border-bottom:none}.searchbar .suggest .row:hover,.searchbar .suggest .row.active{background:var(--paper);text-decoration:none}.searchbar .suggest .row .nm{font-family:var(--font-mono);font-size:14px;font-weight:500;word-break:break-word}.searchbar .suggest .row .nm .at{color:var(--ember-deep)}.searchbar .suggest .row .nm mark{background:transparent;color:var(--ember-deep);font-weight:700;padding:0}.searchbar .suggest .row .meta{font-family:var(--font-mono);font-size:11.5px;color:var(--indigo-soft);white-space:nowrap}.searchbar .suggest .row .ds{grid-column:1 / -1;color:var(--ink-soft);font-size:13px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.searchbar .suggest .none{padding:14px 16px;color:var(--ink-faint);font-family:var(--font-mono);font-size:13px}.io-install{margin-top:22px;display:inline-flex}.howto{font-family:var(--font-mono);font-size:13px;color:var(--ink-faint);margin-top:12px;line-height:1.6}.howto b{color:var(--ink-soft);font-weight:500}.howto a{color:var(--indigo-soft)}.stats{display:flex;gap:0;margin-top:38px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:720px}.stats .s{flex:1;padding:18px 22px;border-right:1px solid var(--line)}.stats .s:last-child{border-right:none}.stats .s .n{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--ink)}.stats .s .l{font-family:var(--font-mono);font-size:11.5px;color:var(--indigo-soft);letter-spacing:.08em;text-transform:uppercase}.browse{padding:clamp(48px,7vw,80px) 0}.browse-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:14px 0 22px}.browse-head h2{font-size:clamp(24px,3vw,30px)}.browse-head .all{font-family:var(--font-mono);font-size:13px}.mem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mem-card{display:grid;grid-template-columns:40% 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper-2);text-decoration:none;color:var(--ink);transition:border-color .15s ease,transform .12s ease}.mem-card:hover{border-color:var(--ember);transform:translateY(-2px);text-decoration:none}.mem-card .fp-anchor{background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--paper);background-size:14px 14px,14px 14px,auto;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px}.mem-card .fp-anchor .glyph{width:100%;aspect-ratio:1;--fp-ember: var(--ember);--fp-ink: var(--indigo)}.mem-card .card-body{padding:20px}.mem-card .scope{font-family:var(--font-mono);font-size:14px;color:var(--ink);font-weight:500;word-break:break-word}.mem-card .scope .at{color:var(--ember-deep)}.mem-card .desc{color:var(--ink-soft);font-size:14px;margin:6px 0 12px;line-height:1.45}.mem-card .dist{display:flex;flex-wrap:wrap;gap:6px}.mem-card .dist span{font-family:var(--font-mono);font-size:11px;color:var(--indigo);border:1px solid var(--line);border-radius:100px;padding:2px 8px}.grid-msg{padding:40px 0;text-align:center;color:var(--ink-faint);font-family:var(--font-mono);font-size:14px}.grid-skel{height:132px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.whatis{background:var(--slate);color:var(--on-slate);border-top:3px solid var(--ember)}.whatis .wi-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center}.whatis h2{color:var(--on-slate);font-size:clamp(26px,3.6vw,36px)}.whatis p{color:var(--on-slate-soft);font-size:17px}.whatis .defn{font-family:var(--font-mono);font-size:14px;line-height:1.9;color:var(--on-slate);border-left:2px solid var(--ember);padding-left:18px;margin:22px 0}.whatis .defn b{color:var(--ember);font-weight:500}.whatis .install{background:var(--slate-2);border-color:var(--slate-line)}.whatis .install .prompt{color:var(--ember)}.whatis .install code{color:var(--on-slate)}.whatis .install button{color:var(--on-slate-soft);border-left-color:var(--slate-line)}.publish{padding:clamp(48px,7vw,80px) 0;text-align:center}.publish h2{font-size:clamp(26px,3.6vw,36px);margin-bottom:14px}.publish p{color:var(--ink-soft);font-size:18px;max-width:50ch;margin:0 auto 26px}.publish .install{margin:0 auto}@media(max-width:860px){.mem-grid,.mem-card{grid-template-columns:1fr}.mem-card .fp-anchor{border-right:none;border-bottom:1px solid var(--line);padding:22px}.mem-card .fp-anchor .glyph{width:96px}.whatis .wi-grid{grid-template-columns:1fr}.stats{flex-wrap:wrap}.stats .s{min-width:50%}}
