.tile[data-v-2baec6c5]{position:relative;margin:0;box-shadow:inset 0 0 0 1px var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;background:#000}.tile[data-v-2baec6c5] .photo-album__photo{opacity:.9;transition:transform var(--anim-slow) var(--ease-out),opacity var(--anim-normal) var(--ease-out)}.overlay[data-v-2baec6c5]{position:absolute;inset:auto -1px -1px;padding:.9rem;background:linear-gradient(to top,#000000d9,#0000001a);opacity:0;transform:translateY(8px);transition:opacity var(--anim-normal) var(--ease-out),transform var(--anim-normal) var(--ease-out)}.meta-strip[data-v-2baec6c5]{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;line-height:1;color:#d7dceb}.meta-item[data-v-2baec6c5]{display:inline-flex;align-items:center;gap:.35rem}.meta-item strong[data-v-2baec6c5]{font-weight:500;color:#fff}.meta-sep[data-v-2baec6c5]{color:#d7dcebcc}.tile[data-v-2baec6c5]:hover .photo-album__photo,.tile[data-v-2baec6c5]:focus-within .photo-album__photo{transform:scale(1.05);opacity:1}.tile:hover .overlay[data-v-2baec6c5],.tile:focus-within .overlay[data-v-2baec6c5]{opacity:1;transform:translateY(0)}.mosaic[data-v-50c5e1f1],.mosaic[data-v-50c5e1f1] .photo-album{width:100%}main[data-v-e0ea2961]{width:min(100%,1680px);margin:0 auto;padding:var(--space-8) clamp(1rem,3vw,2.5rem) var(--space-9)}.page-header[data-v-e0ea2961]{max-width:1000px;margin-bottom:var(--space-6)}.page-header h1[data-v-e0ea2961]{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-3)}.page-header p[data-v-e0ea2961]{color:var(--color-text-secondary);font-size:var(--text-lg)}.empty-state[data-v-e0ea2961]{font-family:var(--font-mono);color:var(--color-text-tertiary)}.photo-dialog[data-v-e0ea2961]{width:min(72rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);margin:auto;inset:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:0;background:var(--color-bg-secondary);color:var(--color-text-primary);overflow:hidden}.photo-dialog[data-v-e0ea2961]::backdrop{background:#030508d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-layout[data-v-e0ea2961]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,1fr);min-height:min(46rem,calc(100vh - 2rem))}.dialog-image-wrap[data-v-e0ea2961]{background:#06080d;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-right:1px solid var(--color-border-subtle)}.dialog-image[data-v-e0ea2961]{max-width:100%;max-height:calc(100vh - 6rem);object-fit:contain;border-radius:var(--radius-md)}.dialog-meta[data-v-e0ea2961]{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.dialog-actions[data-v-e0ea2961]{display:flex;justify-content:flex-end}.dialog-meta h2[data-v-e0ea2961]{font-size:var(--text-xl);line-height:1.3}.inline-title-button[data-v-e0ea2961],.inline-title-input[data-v-e0ea2961]{width:100%;font-size:var(--text-xl);line-height:1.3;font-weight:600;color:var(--color-text-primary);border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);text-align:left;padding:.2rem .25rem}.inline-title-button[data-v-e0ea2961]{cursor:text}.inline-title-button[data-v-e0ea2961]:hover{border-color:var(--color-border-subtle)}.inline-title-input[data-v-e0ea2961]{border-color:var(--color-border-strong)}.set-context[data-v-e0ea2961]{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.description[data-v-e0ea2961]{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.inline-description-button[data-v-e0ea2961],.inline-description-input[data-v-e0ea2961]{width:100%;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-bg-primary) 85%,transparent);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7;min-height:4.5rem;padding:.55rem .65rem;text-align:left}.inline-description-button[data-v-e0ea2961]{cursor:text;white-space:pre-wrap}.inline-description-button[data-v-e0ea2961]:hover{border-color:var(--color-border-strong)}.inline-description-input[data-v-e0ea2961]{resize:vertical}.meta-list[data-v-e0ea2961]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.meta-item[data-v-e0ea2961]{display:grid;grid-template-columns:5.75rem 1fr;gap:var(--space-3)}.meta-item dt[data-v-e0ea2961]{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.meta-item dd[data-v-e0ea2961]{color:var(--color-text-secondary);font-size:var(--text-sm)}.inline-meta-button[data-v-e0ea2961],.inline-meta-input[data-v-e0ea2961]{width:100%;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);text-align:left;padding:.3rem .45rem}.inline-meta-button[data-v-e0ea2961]{cursor:text}.inline-meta-button[data-v-e0ea2961]:hover,.inline-meta-input[data-v-e0ea2961]{border-color:var(--color-border-strong)}.metadata-editor[data-v-e0ea2961]{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.metadata-editor h3[data-v-e0ea2961]{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.inline-empty[data-v-e0ea2961]{color:var(--color-text-tertiary)}.editor-toggle[data-v-e0ea2961]{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:var(--text-sm)}.editor-toggle input[data-v-e0ea2961]{accent-color:var(--color-accent)}.editor-actions[data-v-e0ea2961]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.editor-hint[data-v-e0ea2961]{color:var(--color-text-tertiary);font-size:var(--text-xs);font-family:var(--font-mono)}.editor-status[data-v-e0ea2961]{color:#6fd98c;font-size:var(--text-xs);font-family:var(--font-mono)}.editor-error[data-v-e0ea2961]{color:#ff8f8f;font-size:var(--text-xs);font-family:var(--font-mono)}.dialog-nav[data-v-e0ea2961]{margin-top:auto;display:flex;justify-content:space-between;gap:var(--space-3)}.text-btn[data-v-e0ea2961]{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:.45rem .75rem;cursor:pointer;transition:border-color var(--anim-fast),color var(--anim-fast),background var(--anim-fast)}.text-btn[data-v-e0ea2961]:hover{color:var(--color-text-primary);border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.text-btn[data-v-e0ea2961]:disabled{opacity:.55;cursor:not-allowed}@media(max-width:900px){main[data-v-e0ea2961]{padding:var(--space-7) var(--space-4) var(--space-8)}.photo-dialog[data-v-e0ea2961]{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.dialog-layout[data-v-e0ea2961]{grid-template-columns:1fr;min-height:auto}.dialog-image-wrap[data-v-e0ea2961]{border-right:none;border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3)}.dialog-image[data-v-e0ea2961]{max-height:55vh}}
