.gal{background:var(--gal-bg);min-height:100dvh;color:var(--gal-ink);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.gal__head{text-align:center;padding:2.2rem 1rem 1.2rem}.gal__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--gal-dim)}.gal__title{font-size:var(--text-display-lg);margin:.3rem 0 .1rem}.gal__date{font-size:var(--text-data);color:var(--gal-dim)}.gal__grid{grid-template-columns:repeat(2,1fr);gap:.4rem;max-width:70rem;margin:0 auto;padding:0 .75rem 2.5rem;display:grid}@media (width>=640px){.gal__grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1024px){.gal__grid{grid-template-columns:repeat(5,1fr)}}.gal__tile{aspect-ratio:1;border-radius:var(--radius);cursor:pointer;background:color-mix(in oklab, var(--gal-dim) 14%, transparent);border:0;padding:0;overflow:hidden}.gal__tile img{object-fit:cover;width:100%;height:100%;display:block}.gal__view{z-index:50;background:#14110ff5;flex-direction:column;display:flex;position:fixed;inset:0}.gal__view-img{flex:1;justify-content:center;align-items:center;min-height:0;padding:.75rem;display:flex}.gal__view-img img{object-fit:contain;max-width:100%;max-height:100%}.gal__view-bar{padding:.6rem 1rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:.4rem;display:flex}.gal__savemsg{text-align:center;padding:0 1rem}.gal__btn{min-height:var(--control-h-lg);color:#1c1917;font-size:var(--text-button);padding:.55rem var(--btn-px);cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.gal__btn:disabled{opacity:.6;cursor:default}.gal__close{top:calc(.75rem + env(safe-area-inset-top));color:#fff;border-radius:var(--radius-pill);width:var(--touch-target);height:var(--touch-target);cursor:pointer;background:#ffffff24;border:0;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;right:.9rem}.gal__nav{min-width:var(--touch-target);color:#fff9;cursor:pointer;background:0 0;border:0;padding:1rem .8rem;font-size:1.6rem;position:absolute;top:50%;transform:translateY(-50%)}.gal__nav--prev{left:0}.gal__nav--next{right:0}.gal__state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:60dvh;padding:1.5rem;display:flex}.gal__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-weight:900}.gal__eyebrow{font-family:var(--font-display);font-size:var(--text-eyebrow);color:var(--gal-dim);font-weight:600}.gal__date{font-family:var(--font-mono)}.gal__state-title{font-family:var(--font-display);font-size:var(--text-title);text-transform:uppercase;letter-spacing:.01em;font-weight:700}.gal__btn{background:var(--gal-accent);color:var(--gal-accent-ink);border-radius:var(--radius);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--track-button)}.gal__btn:not(:disabled):hover{background:var(--brand-gold-hot)}.gal__close{background:color-mix(in oklab, var(--gal-ink) 16%, transparent);color:var(--gal-ink)}.gal__nav{color:color-mix(in oklab, var(--gal-ink) 55%, transparent)}.gal__savemsg{color:var(--gal-dim);font-size:var(--text-caption)}.gal__state-icon{width:2.5rem;height:2.5rem;color:var(--gal-accent);margin-bottom:.5rem}.gal__state-body{font-family:var(--font-sans);color:var(--gal-dim);font-size:var(--text-ui);max-width:34ch;line-height:1.5}.gal__toolbar{justify-content:flex-end;align-items:center;gap:.8rem;max-width:70rem;margin:0 auto;padding:0 1rem .6rem;display:flex}.gal__tool{color:var(--gal-accent);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--track-button);font-size:var(--text-button);cursor:pointer;min-height:var(--touch-target);padding:0 var(--space-2);background:0 0;border:0;font-weight:600}.gal__toolcount{font-family:var(--font-mono);font-size:var(--text-data);color:var(--gal-dim);margin-right:auto}.gal__tile{position:relative}.gal__tile--sel{outline:2px solid var(--gal-accent);outline-offset:-2px}.gal__tile--sel img{opacity:.82}.gal__check{background:#00000059;border:2px solid #ffffffd9;border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;display:grid;position:absolute;top:.3rem;right:.3rem}.gal__check--on{background:var(--gal-accent);border-color:var(--gal-accent)}.gal__check-icon{width:.85rem;height:.85rem;color:var(--gal-accent-ink)}.gal__savebar{z-index:40;padding:.7rem 1rem calc(.9rem + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--gal-bg) 45%);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.gal__toast{left:50%;bottom:calc(1.3rem + env(safe-area-inset-bottom));z-index:60;background:color-mix(in oklab, #000 55%, var(--gal-bg));color:var(--gal-ink);border:1px solid color-mix(in oklab, var(--gal-accent) 40%, transparent);border-radius:var(--radius-pill);font-size:var(--text-caption);padding:.5rem 1.1rem;position:fixed;transform:translate(-50%)}.gal--embed{min-height:0;padding:0}.gal--embed .gal__state{min-height:0}.gal__root{gap:var(--space-3);padding:var(--space-8) var(--space-6)}.gal__root-mark{margin-bottom:var(--space-1);grid-template-columns:repeat(2,13px);gap:5px;display:grid}.gal__root-mark span{background:var(--gal-accent);border-radius:3px;width:13px;height:13px}.gal__root-title{font-family:var(--font-body);font-weight:700;font-size:var(--text-title);color:var(--gal-ink)}.gal__root-actions{gap:var(--space-2);width:100%;max-width:20rem;margin-top:var(--space-2);flex-direction:column;display:flex}.gal__root-btn{height:var(--control-h-lg);border-radius:var(--radius);font-family:var(--font-display);font-size:var(--text-button);text-transform:uppercase;letter-spacing:var(--track-button);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.gal__root-btn--primary{background:var(--gal-accent);color:var(--gal-accent-ink)}.gal__root-btn--primary:hover{background:var(--brand-gold-hot)}.gal__root-btn--ghost{border:1px solid var(--gal-line);color:var(--gal-ink)}.gal__root-btn--ghost:hover{border-color:var(--gal-accent);color:var(--gal-accent)}
