.gallery-root{isolation:isolate;background:var(--bg-base);min-height:100vh;position:relative}.gallery-root-inner{z-index:1;position:relative}@keyframes gallery-concept-shimmer{0%{background-position:-200%}to{background-position:200%}}.gallery-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;transition:opacity .8s,transform .8s}.gallery-title{background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent) 45%, var(--text-primary) 100%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.1;transition:opacity 1s,transform 1s;animation:6s linear infinite gallery-concept-shimmer}.gallery-subtitle{max-width:30rem;color:var(--text-secondary);margin:.5rem 0 0;font-size:.875rem;font-style:italic;line-height:1.6;transition:opacity 1s,transform 1s}.gallery-concept-hero-in{opacity:1;transform:translateY(0)}.gallery-concept-hero-in--delay{transition-delay:.15s}.gallery-concept-hero-in--delay2{transition-delay:.35s}@media (prefers-reduced-motion:reduce){.gallery-title{color:var(--text-primary);background:0 0;-webkit-background-clip:unset;background-clip:unset;animation:none}.gallery-eyebrow,.gallery-subtitle{opacity:1;transform:none}}.gallery-section-label-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.gallery-section-label-text{flex-direction:column;flex-shrink:0;gap:3px;display:flex}.gallery-section-label{letter-spacing:.28em;color:var(--text-muted);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.gallery-section-sublabel{letter-spacing:.15em;color:var(--accent);opacity:.5;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9px}.gallery-section-label-line{background:linear-gradient(to right, var(--border-default), transparent);flex:1;height:1px;min-height:1px}.gallery-section-label-right{letter-spacing:.08em;color:var(--text-muted);opacity:.5;text-transform:uppercase;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:9px}.gallery-section-divider{align-items:center;gap:14px;margin:44px 0;display:flex}.gallery-divider-line{background:linear-gradient(90deg, transparent, var(--border-default,var(--border)) 15%, var(--border-default,var(--border)) 85%, transparent);opacity:.85;flex:1;height:1px;min-height:1px}.gallery-divider-gem{color:var(--accent);opacity:.55;flex-shrink:0;font-size:12px;line-height:1}.gallery-featured-scroller{cursor:grab}.gallery-featured-scroller.gallery-featured-scroller--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}@keyframes gallery-card-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.gallery-root .gallery-card-mount{animation:.5s cubic-bezier(.34,1.56,.64,1) both gallery-card-in}@media (prefers-reduced-motion:reduce){.gallery-root .gallery-card-mount{opacity:1!important;animation:none!important;transform:none!important}}.gallery-image-card-wrap{transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}.gallery-image-card-wrap [data-gallery-card]{transition:border-color .25s,box-shadow .35s}@media (pointer:fine){.gallery-image-card-wrap:hover,.gallery-image-card-wrap:focus-visible{z-index:5;transform:translateY(-7px)scale(1.02)}.gallery-image-card-wrap:hover [data-gallery-card],.gallery-image-card-wrap:focus-visible [data-gallery-card]{box-shadow:0 20px 50px var(--shelf-shadow);border-color:var(--card-border-hover)}}@media (prefers-reduced-motion:reduce){.gallery-image-card-wrap{transition:border-color .2s,box-shadow .2s}.gallery-image-card-wrap:hover,.gallery-image-card-wrap:focus-visible{transform:none}.gallery-image-card-wrap:hover [data-gallery-card],.gallery-image-card-wrap:focus-visible [data-gallery-card]{box-shadow:none}}.gallery-library-masonry{column-width:200px;column-gap:1rem}.gallery-library-masonry-cell{break-inside:avoid;margin-bottom:1rem}.gallery-empty-state{border:1px solid var(--border-subtle);text-align:center;border-radius:10px;padding:2rem 1.25rem}.gallery-empty-state-cta{border:1px solid var(--accent);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-top:1rem;padding:.65rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:10px;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.gallery-empty-state-cta:hover{background:var(--accent-dim);color:var(--text-on-accent,var(--text-primary))}.gallery-guest-overlay-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-surface) 95%, transparent);text-align:center;max-width:28rem;box-shadow:0 20px 50px var(--shelf-shadow,#00000059);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;padding:1.5rem}.gallery-guest-overlay-cta{border:1px solid var(--accent);letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-accent,var(--text-primary));background:var(--accent);border-radius:4px;justify-content:center;align-items:center;margin-top:1rem;padding:.65rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:10px;font-weight:700;text-decoration:none;transition:filter .2s;display:inline-flex}.gallery-guest-overlay-cta:hover{filter:brightness(1.08)}.gallery-guest-banner{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-surface) 88%, transparent);border-radius:10px;padding:.875rem 1rem}.gallery-genre-pills{touch-action:pan-x}.gallery-genre-pill{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);border-radius:9999px;padding:.35rem .85rem;font-size:.75rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.gallery-genre-pill:hover{border-color:var(--accent);color:var(--text-primary)}.gallery-genre-pill.active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent,var(--text-primary))}.book-row{align-items:stretch;gap:1rem;min-width:0;display:flex}.book-row-anchor{flex:0 0 140px;width:140px;min-width:140px;padding-top:.25rem}.book-row-strip{touch-action:manipulation;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;flex:1;gap:.75rem;min-width:0;padding-bottom:.25rem;display:flex;overflow:auto hidden}@media (pointer:fine){.book-row-strip{touch-action:pan-x}}@media (pointer:coarse){.book-row-strip{cursor:default}}.book-row-strip::-webkit-scrollbar{display:none}.book-row-strip--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.book-row-strip--dragging *{pointer-events:none}.gallery-book-row-card:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px;border-radius:.75rem}.invitation-card{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 8px 28px color-mix(in srgb, var(--accent) 12%, transparent)}@media (max-width:767px){.book-row{flex-direction:column}.book-row-anchor{flex:none;align-items:center;gap:.75rem;width:100%;padding-bottom:.25rem;display:flex}.book-row-anchor .relative.aspect-\[2\/3\]{flex-shrink:0;margin:0}.book-row-anchor p,.book-row-anchor span{text-align:left}}
