.page-header.svelte-1kojz3b{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:var(--border-width-thick) solid var(--color-text)}.page-title.svelte-1kojz3b{font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:600;letter-spacing:var(--letter-spacing-tight);margin:0}.page-count.svelte-1kojz3b{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.filter-row.svelte-1kojz3b{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.filter-btn.svelte-1kojz3b{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--easing)}.filter-btn.svelte-1kojz3b:hover{border-color:var(--color-text-muted);color:var(--color-text)}.filter-btn.active.svelte-1kojz3b{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.mosaic.svelte-1kojz3b{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:3px}@media(min-width:480px){.mosaic.svelte-1kojz3b{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px}}@media(min-width:768px){.mosaic.svelte-1kojz3b{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.tile.svelte-1kojz3b{aspect-ratio:1;background:var(--bg);border:none;border-radius:2px;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--easing)}.tile.svelte-1kojz3b:hover{transform:scale(1.05);z-index:5}.tile-char.svelte-1kojz3b{font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:700;color:#fff;opacity:.3;text-transform:uppercase}.tile-overlay.svelte-1kojz3b{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xs);background:linear-gradient(to top,hsla(0,0%,0%,.8),transparent 70%);opacity:0;transition:opacity var(--duration-fast) var(--easing)}.tile.svelte-1kojz3b:hover .tile-overlay:where(.svelte-1kojz3b){opacity:1}.tile-title.svelte-1kojz3b{font-size:var(--font-size-2xs);font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-year.svelte-1kojz3b{font-family:var(--font-mono);font-size:8px;color:#fff9}.detail-backdrop.svelte-1kojz3b{position:fixed;inset:0;z-index:100;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:svelte-1kojz3b-fadeIn var(--duration-fast) var(--easing)}.detail-panel.svelte-1kojz3b{background:var(--color-surface);border-radius:var(--radius-md);max-width:500px;width:100%;overflow:hidden;position:relative}.detail-close.svelte-1kojz3b{position:absolute;top:var(--space-sm);right:var(--space-sm);width:2em;height:2em;background:var(--color-bg);border:var(--border-width) solid var(--border-color);border-radius:50%;font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;z-index:10}.detail-close.svelte-1kojz3b:hover{background:var(--color-text);color:var(--color-bg)}.detail-visual.svelte-1kojz3b{aspect-ratio:16/9;background:var(--bg);display:flex;align-items:center;justify-content:center}.detail-char.svelte-1kojz3b{font-family:var(--font-sans);font-size:var(--font-size-display);font-weight:700;color:#fff;opacity:.2;text-transform:uppercase}.detail-info.svelte-1kojz3b{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.detail-title.svelte-1kojz3b{font-family:var(--font-sans);font-size:var(--font-size-lg);font-weight:600;margin:0}.detail-year.svelte-1kojz3b{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.detail-tags.svelte-1kojz3b{display:flex;gap:var(--space-xs)}.tag.svelte-1kojz3b{font-family:var(--font-mono);font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-2xs) var(--space-xs);background:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-text-muted)}@keyframes svelte-1kojz3b-fadeIn{0%{opacity:0}to{opacity:1}}
