:root{--aa-surface:Canvas;--aa-text:CanvasText;--aa-border:GrayText;--aa-primary:LinkText;--aa-button:ButtonFace;--aa-button-text:ButtonText;--aa-button-border:ButtonBorder;--aa-focus:Highlight;}
/* Standalone fallback tokens apply only when the active theme has not defined them. */
.artisan-app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin-block:24px}
.artisan-app-card{background:var(--color-surface,var(--aa-surface));color:var(--color-text,var(--aa-text));border:1px solid var(--color-border,var(--aa-border));border-radius:var(--radius-md,16px);padding:24px;box-shadow:var(--shadow-sm,none);display:flex;flex-direction:column;align-items:start;gap:16px}
.artisan-app-card a{color:var(--color-primary,var(--aa-primary))}.artisan-app-card h3{margin:16px 0 0}.artisan-app-card p{flex:1;margin:0}.app-icon{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-md,16px)}.artisan-app-card .play-button,.app-heading .play-button{display:inline-flex;align-items:center;gap:8px;min-height:48px;background:var(--color-primary,var(--aa-button));color:var(--color-primary-contrast,var(--aa-button-text));border:1px solid var(--color-primary,var(--aa-button-border));border-radius:var(--radius-sm,8px);padding:12px 16px;text-decoration:none;font-weight:600}.play-badge{max-height:56px;width:auto}.screenshot-track{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;padding:8px 0 16px}.screenshot-track img{height:440px;max-height:65vh;width:auto;max-width:90%;object-fit:contain;scroll-snap-align:start;border-radius:var(--radius-md,16px)}.artisan-app-page{max-width:1200px;margin-inline:auto;padding:32px 24px}.app-filters{display:flex;flex-wrap:wrap;gap:16px;margin-block:24px}.artisan-app-card :focus-visible,.artisan-app-page :focus-visible{outline:3px solid var(--color-primary,var(--aa-focus));outline-offset:4px}
