:root{--bg:#e9ede5;--bg-grad-a:#eef1ea;--bg-grad-b:#e3e8dd;--surface:#fff;--surface-2:#f5f8f2;--surface-3:#eef2ea;--border:#dce2d6;--border-strong:#c4ccbd;--ink:#11150f;--ink-soft:#353b32;--muted:#687062;--subtle:#8b9384;--accent:#0f766e;--accent-strong:#0a5852;--accent-deep:#073b37;--accent-soft:#d6f1ec;--accent-softer:#eafaf6;--accent-ring:#16b8a6;--warn-fg:#7a5600;--warn-bg:#fff3cf;--warn-border:#ecd186;--code-bg:#11160f;--code-fg:#e7f1e3;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #11150f0f;--shadow:0 4px 16px -6px #11150f1f, 0 1px 3px #11150f0f;--shadow-lg:0 18px 44px -20px #0b3b3747, 0 2px 8px #11150f14;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg);text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 85% -10%, var(--accent-softer), transparent 60%), linear-gradient(180deg, var(--bg-grad-a), var(--bg-grad-b));background-attachment:fixed;min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}:where(button,input,select,[tabindex]):focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}.app-shell{grid-template-rows:auto auto auto minmax(0,1fr);gap:16px;width:min(1560px,100vw - 40px);height:100dvh;margin:0 auto;padding:20px 0;display:grid}.topbar{grid-template-columns:minmax(220px,.62fr) minmax(320px,1fr);align-items:center;gap:24px;display:grid}.brand{gap:6px;display:grid}.brand-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.eyebrow{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:800}.github-link{color:var(--ink);background:var(--surface);border:1.5px solid var(--border-strong);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s;display:inline-flex}.github-link svg{width:18px;height:18px}.github-link:hover{color:var(--accent);border-color:var(--accent)}.inventory{color:var(--ink);letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:1.6rem;font-weight:760;line-height:1.05;display:flex}.inventory strong{font-weight:820}.inventory-sep{color:var(--subtle);font-size:.95rem;font-weight:600}.search-control{display:grid}.search-box{align-items:center;display:flex;position:relative}.search-icon{width:22px;height:22px;color:var(--subtle);pointer-events:none;position:absolute;left:16px}.search-box input{width:100%;min-height:56px;color:var(--ink);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:0 52px 0 48px;font-size:1rem;font-weight:560;transition:border-color .16s,box-shadow .16s}.search-box:focus-within .search-icon{color:var(--accent)}.search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.search-box input::placeholder{color:var(--subtle);font-weight:500}.search-box input::-webkit-search-cancel-button{display:none}.clear-search{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;transition:color .14s,background .14s;display:grid;position:absolute;right:12px}.clear-search svg{width:22px;height:22px}.clear-search:hover{color:var(--accent-strong);background:var(--surface-3)}.category-bar{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;gap:8px;padding:4px 2px;display:flex;overflow-x:auto}.category-bar::-webkit-scrollbar{height:7px}.category-bar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}.category-pill{min-height:38px;color:var(--ink-soft);white-space:nowrap;scroll-snap-align:start;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);flex:none;align-items:center;gap:8px;padding:0 8px 0 14px;font-size:.88rem;font-weight:680;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.category-pill:hover{border-color:var(--border-strong);transform:translateY(-1px)}.category-pill .pill-count{font-variant-numeric:tabular-nums;min-width:30px;height:24px;color:var(--muted);background:var(--surface-3);border-radius:var(--radius-pill);place-items:center;padding:0 8px;font-size:.74rem;font-weight:760;display:inline-grid}.category-pill[aria-pressed=true]{color:#fff;background:linear-gradient(180deg, var(--accent), var(--accent-strong));border-color:var(--accent-strong);box-shadow:0 6px 16px -8px #0b585299}.category-pill[aria-pressed=true] .pill-count{color:var(--accent-softer);background:#ffffff2e}.controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 16px;display:flex}.control-group{align-items:center;gap:10px;min-height:40px;display:flex}.control-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:.74rem;font-weight:800;display:inline-flex}.control-label svg{width:16px;height:16px;color:var(--accent)}.chip-row,.segmented-control{flex-wrap:wrap;gap:6px;display:flex}.segmented-control{background:var(--surface-3);border-radius:var(--radius-sm);gap:4px;padding:4px}.segmented-control button{min-height:32px;color:var(--ink-soft);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:.86rem;font-weight:700;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.segmented-control button svg{width:17px;height:17px}.segmented-control button:hover{color:var(--ink)}.segmented-control button[aria-pressed=true]{color:var(--accent-deep);background:var(--surface);box-shadow:var(--shadow-sm)}.filter-chip{min-height:34px;color:var(--ink-soft);background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius-pill);padding:0 13px;font-size:.85rem;font-weight:700;transition:background .14s,border-color .14s,color .14s}.filter-chip:hover{border-color:var(--border-strong)}.filter-chip[aria-pressed=true]{color:var(--accent-deep);background:var(--accent-soft);border-color:var(--accent)}.size-control{margin-left:auto}.size-control label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.74rem;font-weight:800}.size-control input{width:132px;accent-color:var(--accent)}.size-control output{font-variant-numeric:tabular-nums;min-width:46px;color:var(--ink-soft);text-align:right;font-size:.86rem;font-weight:760}.workspace{grid-template-columns:minmax(0,1fr) 384px;gap:16px;min-height:0;display:grid}.results-panel,.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow)}.results-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.results-heading{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px 14px;display:flex}.results-heading h1{letter-spacing:-.01em;margin:0;font-size:1.32rem;font-weight:780;line-height:1.2}.results-heading span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.84rem;font-weight:640}.results-list{scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;min-height:0;overflow:auto}.results-list::-webkit-scrollbar{width:10px}.results-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);background-clip:padding-box;border:3px solid #0000}.results-list::-webkit-scrollbar-thumb:hover{background:var(--subtle);background-clip:padding-box}.results-spacer{min-height:100%;margin:0;padding:0;list-style:none;position:relative}.category-header{contain:layout style paint;background:var(--surface);align-items:end;padding:0 16px 8px;display:flex;position:absolute;inset:0 0 auto}.category-header h2{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;margin:0;font-size:.8rem;font-weight:820;line-height:1;display:inline-flex}.category-header h2:before{content:"";background:var(--accent);border-radius:var(--radius-pill);width:14px;height:3px}.family-row{contain:layout style paint;border-bottom:1px solid var(--surface-3);grid-template-columns:minmax(180px,.26fr) minmax(0,1fr);align-items:stretch;gap:14px;padding:10px 14px;display:grid;position:absolute;inset:0 0 auto}.grid-row{contain:layout style paint;align-items:stretch;gap:12px;padding:12px 14px;display:grid;position:absolute;inset:0 0 auto}.family-card{contain:layout style paint;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;height:100%;min-height:0;box-shadow:var(--shadow-sm);grid-template-rows:minmax(0,1fr) auto auto;gap:10px;padding:12px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid;overflow:hidden;container:card/inline-size}.family-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.family-card-preview{min-height:0;color:var(--ink);background:linear-gradient(90deg, #0f766e0d 1px, transparent 1px), linear-gradient(0deg, #0f766e0d 1px, transparent 1px), var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);background-position:50%;background-size:16px 16px;place-items:center;transition:border-color .14s,background-color .14s;display:grid}.family-card-preview:hover{border-color:var(--accent)}.family-summary{grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 8px;min-width:0;display:grid}.family-summary h2{text-overflow:ellipsis;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;grid-column:1/-1;margin:0;font-size:1rem;font-weight:720;line-height:1.25;overflow:hidden}.family-summary p{text-overflow:ellipsis;color:var(--muted);white-space:nowrap;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;overflow:hidden}.family-count{font-variant-numeric:tabular-nums;color:var(--warn-fg);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-pill);align-self:center;padding:3px 9px;font-size:.74rem;font-weight:780}.variant-strip{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;min-width:0;display:grid}.variant-tile{min-width:0;min-height:0;color:var(--ink);text-align:left;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);grid-template-rows:1fr auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:10px;transition:background .14s,border-color .14s,box-shadow .14s;display:grid}.variant-tile:hover{background:var(--surface);border-color:var(--border-strong)}.variant-tile[aria-pressed=true]{background:var(--accent-softer);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.icon-svg,.icon-placeholder{flex:none;grid-row:1/-1}.icon-placeholder{background:linear-gradient(90deg,#e9ede4,#f6f8f3,#e9ede4) 0 0/220% 100%;border-radius:7px;animation:1.1s linear infinite shimmer;display:inline-block}.icon-placeholder.is-error{background:#ffe4e0;border:1px solid #f2a69b;animation:none}.variant-name,.variant-code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.variant-name{color:var(--ink-soft);font-size:.84rem;font-weight:720}.variant-code{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.7rem}.family-card .variant-strip{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.family-card .variant-tile{aspect-ratio:1;flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:48px;padding:0;display:flex;overflow:hidden}.family-card .variant-name,.family-card .variant-code{display:none}@container card (width<=196px){.family-card{gap:8px;padding:10px}}.detail-panel{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;flex-direction:column;gap:16px;padding:18px;display:flex;overflow:auto}.preview-box{min-height:240px;color:var(--ink);background:linear-gradient(90deg, #0f766e14 1px, transparent 1px), linear-gradient(0deg, #0f766e14 1px, transparent 1px), radial-gradient(120% 120% at 50% 0%, var(--accent-softer), var(--surface-2));border:1px solid var(--border);border-radius:var(--radius);background-size:22px 22px,22px 22px,100% 100%;place-items:center;display:grid;position:relative}.preview-badge{color:var(--accent-deep);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffc7;padding:4px 10px;font-size:.7rem;font-weight:800;position:absolute;top:12px;left:12px}.detail-title{gap:4px;min-width:0;display:grid}.detail-title h2{color:var(--ink);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-size:1.3rem;font-weight:780;line-height:1.18}.detail-title span{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem}.variant-switcher{background:var(--surface-3);border-radius:var(--radius);flex-wrap:wrap;gap:6px;padding:6px;display:flex}.variant-switch{min-height:38px;color:var(--ink-soft);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:7px;padding:0 12px 0 9px;font-size:.82rem;font-weight:700;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.variant-switch:hover{color:var(--ink);background:var(--surface)}.variant-switch[aria-pressed=true]{color:var(--accent-deep);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1.5px var(--accent)}.copy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.copy-action{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 12px;font-size:.9rem;font-weight:720;transition:background .14s,border-color .14s,transform .12s;display:inline-flex}.copy-action:active{transform:scale(.98)}.copy-action-icon{width:18px;height:18px}.copy-action.is-primary{color:#fff;background:linear-gradient(180deg, var(--accent), var(--accent-strong));border:1px solid var(--accent-strong)}.copy-action.is-primary:hover{background:linear-gradient(180deg, var(--accent-strong), var(--accent-deep))}.copy-action.is-secondary{color:var(--ink-soft);background:var(--surface-2);border:1.5px solid var(--border)}.copy-action.is-secondary:hover{color:var(--accent-deep);border-color:var(--accent)}.code-preview{min-height:120px;color:var(--code-fg);word-break:break-word;white-space:pre-wrap;background:var(--code-bg);border-radius:var(--radius);margin:0;padding:14px 16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;line-height:1.6;overflow:auto;box-shadow:inset 0 0 0 1px #ffffff0f}.copy-status{min-height:22px;color:var(--accent-strong);align-items:center;gap:6px;margin:0;font-size:.86rem;font-weight:740;display:inline-flex}.copy-status svg{width:18px;height:18px}.empty-state{color:var(--muted);text-align:center;margin:auto;padding:24px;font-size:.95rem;line-height:1.5}@keyframes shimmer{to{background-position-x:-220%}}@media (width<=1040px){.app-shell{height:auto;min-height:100dvh}.topbar,.workspace{grid-template-columns:1fr}.results-list{height:min(68vh,720px)}}@media (width<=760px){.app-shell{width:min(100% - 24px,1560px);padding:14px 0}.inventory{font-size:1.35rem}.controls,.control-group,.size-control{align-items:stretch;width:100%}.control-group,.size-control{grid-template-columns:1fr;display:grid}.chip-row,.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.size-control{margin-left:0}.size-control input{width:100%}.size-control output{text-align:left}.family-row{grid-template-columns:1fr;align-content:start}}@media (prefers-reduced-motion:reduce){.category-pill,.family-card,.variant-tile,.filter-chip,.copy-action,.search-box input,.segmented-control button{transition:none}.category-pill:hover,.family-card:hover{transform:none}.icon-placeholder{animation:none}}
