:root{--bg:var(--color-base-100);--fg:var(--color-base-content);--muted:color-mix(in oklab, var(--color-base-content) 62%, var(--color-base-100));--border:var(--color-base-300);--card:var(--color-base-200);--accent:var(--color-primary)}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}main a{color:var(--accent);text-decoration:none}main a:hover{text-decoration:underline}.navsearch{align-items:center;display:flex;position:relative}.navsearch .navsearch-ico{color:var(--muted);pointer-events:none;font-size:16px;line-height:0;position:absolute;left:10px}.navsearch input{border:1px solid var(--border);border-radius:var(--radius-field,999px);background:var(--bg);width:220px;max-width:42vw;color:var(--fg);outline:none;padding:8px 12px 8px 32px;font-size:14px;transition:border-color .15s,box-shadow .15s}.navsearch input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.hero-search{align-items:center;max-width:34rem;margin:22px auto 0;display:flex;position:relative}.hero-search .hs-ico{color:var(--muted);pointer-events:none;font-size:18px;line-height:0;position:absolute;left:14px}.hero-search input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--fg);border-radius:999px;outline:none;padding:13px 16px 13px 42px;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.hero-search input::placeholder{color:var(--muted)}.hero-search input:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}main{padding:32px 0 64px}.btn{background:var(--accent);color:var(--color-primary-content,#fff);border-radius:var(--radius-field,10px);padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{opacity:.92;text-decoration:none}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.section-h{margin:40px 0 4px;font-size:22px}.section-lead{color:var(--muted);max-width:46rem;margin:0 0 18px}.card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-box,16px);color:inherit;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:block;position:relative}.card:hover{border-color:var(--accent);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 14%, transparent);text-decoration:none;transform:translateY(-2px)}.card .ico{border-radius:var(--radius-field,12px);width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);justify-content:center;align-items:center;margin-bottom:12px;font-size:24px;display:inline-flex}.card h3{margin:4px 0;font-size:17px}.card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;margin:2px 4px 2px 0;padding:2px 9px;font-size:12px;display:inline-block}.tag-ver{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge-ai{letter-spacing:.02em;white-space:nowrap;color:#101018;background:color-mix(in srgb, var(--accent,#2dd4bf) 88%, #fff 12%);box-shadow:0 2px 8px color-mix(in srgb, var(--accent,#2dd4bf) 35%, transparent);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.badge-ai svg{width:12px;height:12px}.card .badge-ai{position:absolute;top:14px;right:14px}.cat-hero{text-align:center;color:var(--fg);margin-bottom:28px;padding-block:clamp(1rem,3vw,2.5rem) 0}.cat-hero-inner{max-width:720px;margin-inline:auto}.cat-hero h1{color:var(--fg);margin:0;font-size:34px}.cat-hero .lead{color:var(--muted);margin:10px 0 0}.cat-hero-meta{color:var(--muted);letter-spacing:.02em;margin:14px 0 0;font-size:13px}.detail-hero{color:var(--fg);margin-bottom:28px;padding-block:clamp(.5rem,2vw,1.5rem) 0}.detail-hero-inner{max-width:1000px;margin-inline:auto}.detail-hero .crumbs,.detail-hero .crumbs a{color:var(--muted)}.detail-hero h1{color:var(--fg);margin:4px 0 8px}.detail-hero .lead{color:var(--muted);margin:0 0 18px}.detail-hero .detail-ico{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.detail-cta{margin:0}.detail-tags{margin-top:18px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.chip{color:var(--fg);border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip .chip-ico{color:var(--accent);font-size:16px;line-height:0}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--color-primary-content,#fff)}.chip[aria-pressed=true] .chip-ico{color:var(--color-primary-content,#fff)}.chip .chip-n{color:var(--muted);font-variant-numeric:tabular-nums}.chip[aria-pressed=true] .chip-n{color:color-mix(in srgb, var(--color-primary-content,#fff) 78%, transparent)}@media (width<=640px){.cat-hero h1{font-size:24px}.cat-hero .lead{font-size:15px}.cat-hero-meta{font-size:12px}.navsearch input{width:34vw;min-width:8rem}.chips{-webkit-overflow-scrolling:touch;padding-inline:calc(50vw - 50%);scrollbar-width:none;flex-wrap:nowrap;margin-inline:calc(50% - 50vw);padding-bottom:6px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none}.grid{grid-template-columns:1fr;gap:12px}main{padding:20px 0 48px}}.micro-sec{margin-top:44px}.micro-sec h2{margin:0 0 4px}.micro-lead{color:var(--muted);max-width:46rem;margin:0 0 16px}.card-compo{border-top:1px dashed var(--border);flex-wrap:wrap;gap:4px 12px;margin-top:10px;padding-top:8px;font-size:.78rem;display:flex}.compo-suite{color:var(--sp,var(--muted));font-weight:600}.compo-peers{color:var(--muted)}.crumbs{color:var(--muted);margin-bottom:12px;font-size:14px}.wrap pre{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-box,12px);padding:16px;font-size:13px;overflow-x:auto}.wrap h1{margin:4px 0 8px;font-size:30px}.wrap h1 .cat-h-ico{color:var(--accent);vertical-align:-.05em;margin-right:4px;font-size:.82em;line-height:0}.detail-ico{border-radius:var(--radius-box,16px);width:60px;height:60px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);justify-content:center;align-items:center;margin-bottom:10px;font-size:32px;display:inline-flex}.lead{color:var(--muted);margin:0 0 20px;font-size:18px}
