:root{--color-bg:#fff2c9;--color-surface:#fffdf8;--color-surface-strong:#fff2df;--color-text:#34251f;--color-muted:#7a6d66;--color-border:#ead6c7;--color-primary:#2dbfaf;--color-secondary:#7d9f2f;--color-accent-warm:#f4b75e;--color-accent-soft:#f0c9ca;--color-warning:#9a650c;--color-shadow:#4b312424;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-card:18px;--radius-control:12px;--container-width:1232px}:root[data-theme=dark]{--color-bg:#18110d;--color-surface:#241a15;--color-surface-strong:#312219;--color-text:#f8eadb;--color-muted:#c9b8aa;--color-border:#4b3327;--color-primary:#43d4c2;--color-secondary:#b8d875;--color-accent-warm:#f3bd63;--color-accent-soft:#7b5160;--color-warning:#f0c15e;--color-shadow:#00000052}:root{color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-rounded,SF Pro Rounded,Nunito,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--space-3);font-size:2.8rem;font-weight:850;line-height:1.1}h2{margin-bottom:var(--space-4);font-size:1.55rem;font-weight:800;line-height:1.25}h3{margin:0;font-size:1.15rem;font-weight:800;line-height:1.25}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}@media (width<=767px){h1{font-size:2rem}}.top-banner{color:var(--color-text);z-index:10;background:#fff2c9f5;border-bottom:4px solid #0000;border-image:linear-gradient(90deg,#f26d6d,#8fcf62,#68b8e8,#35c7b2) 1;position:sticky;top:0;box-shadow:0 4px 18px #4b31240f}.top-banner__inner{align-items:center;gap:var(--space-4);max-width:none;min-height:64px;padding:var(--space-4) var(--space-5);justify-content:space-between;width:100%;margin:0;display:flex}.top-banner h1{color:#0000;filter:drop-shadow(0 1px #4b31243d);letter-spacing:0;text-shadow:none;text-transform:lowercase;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#009bd1,#54aa32,#e48a12,#e25292);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8rem;font-weight:950;line-height:1.1}.top-banner__actions{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.theme-toggle,.language-toggle,.github-link{background:var(--color-surface);color:#5f4233;cursor:pointer;border:1.5px solid #e8cab6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;box-shadow:0 2px #4b31240f}.theme-toggle svg,.github-link svg{width:18px;height:18px}.language-toggle{letter-spacing:0;font-size:.76rem;font-weight:900}.theme-toggle circle{fill:none;stroke:currentColor;stroke-width:1.6px}.theme-toggle path{fill:currentColor}.github-link{text-decoration:none}.github-link path{fill:currentColor}.top-banner .filter-toolbar{scrollbar-width:none;flex-wrap:nowrap;flex:auto;justify-content:flex-start;gap:6px;min-width:0;overflow-x:auto}.top-banner .filter-toolbar::-webkit-scrollbar{display:none}.top-banner .filter-toolbar button{background:var(--color-surface);color:#5f4233;border-color:#e8cab6;flex:none;min-height:36px;padding:6px 10px;font-size:.8rem;box-shadow:0 2px #4b31240f}.top-banner .filter-toolbar button:disabled{opacity:1}.top-banner .filter-toolbar button[aria-pressed=true]{border-color:var(--color-primary);color:#17665d;background:#e8faf5}:root[data-theme=dark] .top-banner{background:#19120ef5;box-shadow:0 4px 20px #00000047}:root[data-theme=dark] .top-banner h1{text-shadow:none;background:linear-gradient(90deg,#58d7ff,#95df65,#f6c55d,#ff8fc1);-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .top-banner .filter-toolbar button,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .language-toggle,:root[data-theme=dark] .github-link{color:#f4dfc9;box-shadow:none;background:#261c17;border-color:#57392b}:root[data-theme=dark] .top-banner .filter-toolbar button[aria-pressed=true]{border-color:var(--color-primary);color:#9ff3e8;background:#143c38}.app-shell{min-height:calc(100vh - 152px);padding:var(--space-6) var(--space-5);width:100%}.home-content{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.eyebrow{color:var(--color-primary);letter-spacing:0;margin-bottom:var(--space-2);text-transform:uppercase;font-size:.82rem;font-weight:700}.filter-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-toolbar button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:999px;font-size:.86rem;font-weight:800;line-height:1.3}.filter-toolbar button:disabled{cursor:not-allowed;opacity:.6}.filter-toolbar button[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.project-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.project-grid>li{min-width:0}.site-footer{color:var(--color-muted);align-items:center;gap:var(--space-2);min-height:84px;padding:var(--space-5);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.site-footer span{letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.site-footer strong{color:var(--color-text);font-size:.95rem;font-weight:900}.project-card-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.project-card-link *{cursor:pointer}.project-card-link:focus-visible{border-radius:var(--radius-card)}.project-card{border-radius:var(--radius-card);align-content:start;gap:var(--space-3);min-width:0;min-height:150px;padding:var(--space-4);isolation:isolate;background:#fff7dc;border:2px solid #e7c988;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 16px #4b312414}.project-card:hover,.project-card-link:focus-visible .project-card{transform:translateY(-2px);box-shadow:0 12px 24px #4b31241f}.project-card[data-project-type=dex]{background:#f9d9d8;border-color:#df9c99}.project-card[data-project-type=editor]{background:#d9f1df;border-color:#8bd19b}.project-card[data-card-teaser=true]{overflow:visible}:root[data-theme=dark] .project-card[data-project-type=dex]{background:#3f2425;border-color:#96595b}:root[data-theme=dark] .project-card[data-project-type=editor]{background:#203a29;border-color:#4d9a66}.project-card[data-card-background=true]{background:radial-gradient(ellipse 92% 160% at 100% 50%, color-mix(in srgb, var(--project-card-accent-color,#df9c99) 62%, transparent) 0%, color-mix(in srgb, var(--project-card-accent-color,#df9c99) 36%, transparent) 48%, transparent 82%), linear-gradient(90deg, #f9d9d8 0%, color-mix(in srgb, var(--project-card-accent-color,#df9c99) 22%, #f9d9d8) 20%, color-mix(in srgb, var(--project-card-accent-color,#df9c99) 48%, #f9d9d8) 58%, color-mix(in srgb, var(--project-card-accent-color,#df9c99) 72%, #f9d9d8) 100%);border-color:color-mix(in srgb, var(--project-card-accent-color,#df9c99) 78%, #f9d9d8)}.project-card[data-card-background=true]:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#fff2c9d6 0%,#fff2c9ad 40%,#fff2c961 70%,#fff2c91f 100%);position:absolute;inset:0}:root[data-theme=dark] .project-card[data-card-background=true]{background:radial-gradient(ellipse 92% 160% at 100% 50%, color-mix(in srgb, var(--project-card-accent-color,#96595b) 54%, transparent) 0%, color-mix(in srgb, var(--project-card-accent-color,#96595b) 32%, transparent) 48%, transparent 82%), linear-gradient(90deg, #3f2425 0%, color-mix(in srgb, var(--project-card-accent-color,#96595b) 18%, #3f2425) 20%, color-mix(in srgb, var(--project-card-accent-color,#96595b) 34%, #3f2425) 58%, color-mix(in srgb, var(--project-card-accent-color,#96595b) 52%, #3f2425) 100%);border-color:color-mix(in srgb, var(--project-card-accent-color,#96595b) 68%, #3f2425)}:root[data-theme=dark] .project-card[data-card-background=true]:before{background:linear-gradient(90deg,#18110db8 0%,#18110d99 48%,#18110d61 70%,#18110d24 100%)}.project-card>:not(.project-card__background){z-index:2;position:relative}.project-card__background{object-fit:contain;opacity:.88;pointer-events:none;z-index:0;width:auto;max-width:none;height:150%;transition:opacity .18s;position:absolute;top:52%;right:-36px;transform:translateY(-50%)}.project-card[data-card-background=true]:hover .project-card__background,.project-card[data-card-background=true]:focus-within .project-card__background,.project-card-link:focus-visible .project-card__background{opacity:1}.project-card__header{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.project-card__header:has(.status-badge--compact){padding-right:72px}.project-card__header>div{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;display:flex}.project-card__header h3{overflow-wrap:anywhere;min-width:0}.project-card__type{color:#8a5630;text-transform:uppercase;margin-bottom:0;font-size:.8rem;font-weight:700}.project-card__tagline{color:#66554c;text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;overflow:hidden}.project-card:has(.status-badge--compact) .project-card__tagline{padding-right:72px}:root[data-theme=dark] .project-card__type{color:#efb46b}:root[data-theme=dark] .project-card__tagline{color:#d6c4b5}:root[data-theme=dark] .project-card[data-card-background=true] .project-card__type{color:#efb46b}:root[data-theme=dark] .project-card[data-card-background=true] .project-card__tagline{color:#d6c4b5}.capability-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.capability-list li{min-width:0}.capability-tag{color:#4d443f;overflow-wrap:anywhere;background:#ffffff94;border:1px solid #4b31241a;border-radius:999px;max-width:100%;padding:6px 9px;font-size:.86rem;line-height:1.3;display:inline-flex}:root[data-theme=dark] .capability-tag{color:#f2dfcf;background:#ffffff1a;border-color:#ffffff1f}.status-badge{border:1px solid var(--color-border);border-radius:999px;flex:none;gap:2px;max-width:180px;padding:7px 9px;display:grid}.status-badge span{font-size:.86rem;font-weight:700}.status-badge small{color:var(--color-muted);font-size:.75rem;line-height:1.25}.status-badge--compact{right:var(--space-4);top:var(--space-4);z-index:3;justify-content:center;align-items:center;padding:4px 7px;line-height:1;display:inline-flex;position:absolute}.status-badge--compact span{font-size:.72rem;line-height:1}.status-badge--compact.status-badge--in-development{color:#c1312c;transform-origin:50%;background:#fff8f11f;border:2px solid;border-radius:4px;min-width:76px;padding:9px 16px 8px;top:-10px;right:19px;transform:rotate(14deg)scale(2);box-shadow:0 0 0 1px #c1312c2e,inset 0 0 0 1px #c1312c6b}.status-badge--compact.status-badge--in-development:before{content:"";opacity:.62;pointer-events:none;border:1px solid;border-radius:2px;position:absolute;inset:4px}.status-badge--compact.status-badge--in-development:after{content:"";opacity:.28;pointer-events:none;background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 5px);height:16px;position:absolute;top:50%;left:-8px;right:-8px;transform:translateY(-50%)}.status-badge--compact.status-badge--in-development span{letter-spacing:.04em;z-index:2;font-size:.84rem;font-weight:950;position:relative}.status-badge--available{color:#2f6f28;background:#f7fff5;border-color:#9fcf78}.status-badge--in-development{color:#2f6489;background:#eef8ff;border-color:#88c2ea}:root[data-theme=dark] .status-badge--available{color:#bff3bb;background:#173526;border-color:#66bd70}:root[data-theme=dark] .status-badge--in-development{color:#bfe9ff;background:#172f3d;border-color:#67add8}:root[data-theme=dark] .status-badge--compact.status-badge--in-development{color:#ff6f66;background:#18110d1a;border-color:currentColor;box-shadow:0 0 0 1px #ff6f6633,inset 0 0 0 1px #ff6f6670}.project-card__footer{align-items:center;gap:var(--space-2);width:100%;display:flex}.project-card-link .project-card__footer,.project-card[data-card-teaser=true] .project-card__footer{bottom:var(--space-4);left:var(--space-4);opacity:0;right:var(--space-4);transform:translateY(calc(100% + var(--space-5)));visibility:hidden;z-index:3;width:auto;transition:opacity .16s,transform .18s;position:absolute}.project-card-link:hover .project-card__footer,.project-card-link:focus-visible .project-card__footer,.project-card[data-card-teaser=true]:hover .project-card__footer,.project-card[data-card-teaser=true]:focus-within .project-card__footer{opacity:1;visibility:visible;transform:translateY(0)}.project-card__teaser{align-items:flex-end;gap:var(--space-2);width:100%;min-width:0;display:flex}.project-card__teaser-avatar{object-fit:contain;pointer-events:none;flex:none;width:56px;height:56px}.project-card__teaser-bubble{color:#34251f;overflow-wrap:anywhere;background:#fff8f1f5;border:1px solid #4b312429;border-radius:14px 14px 14px 4px;flex:auto;min-width:0;margin:0;padding:8px 10px;font-size:.82rem;font-weight:800;line-height:1.35;box-shadow:0 6px 14px #4b312424}:root[data-theme=dark] .project-card__teaser-bubble{color:#2b211b;background:#ffefdaf5;border-color:#f0bd5f66;box-shadow:0 8px 18px #00000047}.project-card__cta{pointer-events:none}.project-card__footer .entrypoint-button{flex:100%;width:100%;max-width:100%;min-height:36px;padding:6px 10px;font-size:.84rem}.entrypoint-button span{overflow-wrap:anywhere;min-width:0}.project-card__footer .entrypoint-button small,.project-card__footer .entrypoint-target{display:none}.entrypoint-button{color:#4a321f;align-items:center;gap:var(--space-2);overflow-wrap:anywhere;background:#ffd06e;border:1px solid #e9ad44;border-radius:999px;flex-wrap:wrap;justify-content:center;min-width:0;min-height:44px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}:root[data-theme=dark] .entrypoint-button{color:#34251f;background:#f0bd5f;border-color:#c79038}.entrypoint-button--secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.entrypoint-button small{font-size:.78rem;font-weight:600}.entrypoint-target{color:#ffffffd1;font-size:.78rem;font-weight:600}.entrypoint-note{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-muted);gap:var(--space-1);overflow-wrap:anywhere;min-width:0;padding:var(--space-3);display:grid}.entrypoint-note strong{color:var(--color-text);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.entrypoint-note strong span:last-child{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-muted);padding:2px 6px;font-size:.75rem}.entrypoint-note small{color:var(--color-muted)}.empty-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);gap:var(--space-3);padding:var(--space-5);display:grid}.empty-state h3,.empty-state p{margin:0}.empty-state p{color:var(--color-muted)}.empty-state button{background:var(--color-secondary);border-radius:var(--radius-control);color:#fff;cursor:pointer;border:0;justify-self:start;min-height:44px;padding:10px 14px;font-weight:700}.project-card h3{overflow-wrap:anywhere;word-break:break-word}@media (width<=1023px){.home-content{grid-template-columns:1fr}}@media (width<=767px){.top-banner__inner{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);justify-content:space-between;display:flex}.top-banner h1{font-size:1.2rem}.top-banner .filter-toolbar{justify-content:flex-start}.top-banner .filter-toolbar button{min-height:44px}.app-shell{padding:var(--space-5) var(--space-4)}.project-grid{grid-template-columns:1fr;row-gap:72px}.project-grid>li{padding-right:8px}.project-card__header{display:grid}.status-badge{max-width:none}}
