/*!
 * Copyright (c) 2026 SansPost LLC. All rights reserved.
 * FieldCast Gallery v2
 */:root{--bg:#0f1115;--surface-1:#1f2125;--surface-2:#27292d;--surface-3:#37393d;--muted:#47494d;--subtle:#696b6f;--dim:#94969a;--fg:#e8eaed;--accent:#4f8cff;--accent-hover:#4376d5;--red:#ef4444;--pill:9999px;--radius-card:8px;--radius-media:12px;--font-body:system-ui,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;--font-display:"Fraunces Variable","Fraunces",Georgia,serif;--surface-1:color-mix(in srgb, var(--bg), var(--fg) 7.5%);--surface-2:color-mix(in srgb, var(--bg), var(--fg) 11%);--surface-3:color-mix(in srgb, var(--bg), var(--fg) 18.5%);--surface-4:color-mix(in srgb, var(--bg), var(--fg) 26%);--muted:color-mix(in srgb, var(--bg), var(--fg) 26%);--subtle:color-mix(in srgb, var(--bg), var(--fg) 41.5%);--dim:color-mix(in srgb, var(--bg), var(--fg) 68%);--on-accent:#141414;--icon-invert:1;--cart-clearance:0px}html{background-color:var(--bg)}body{font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;background-color:var(--bg);color:var(--fg);margin:0;padding:20px;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,select,textarea{font-family:inherit}.header{display:flex;flex-direction:column;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--surface-2)}.header-top{--header-side-width:clamp(156px, 12vw, 220px);display:grid;grid-template-columns:var(--header-side-width) minmax(0,1fr) var(--header-side-width);align-items:stretch;gap:16px}.header-left{display:flex;align-items:center;gap:12px;min-width:0}.header-right{min-width:0}.header-center{flex:1;text-align:center;min-width:0}.header-title-row{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.title-actions,.title-lead{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:68px}.title-lead{justify-content:flex-end}.title-actions{justify-content:flex-start}.header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-back-btn{box-sizing:border-box;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:0 0;border:1px solid var(--surface-3);cursor:pointer;color:var(--dim);text-decoration:none;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.header-back-btn img{filter:invert(.6);transition:filter .15s}.header-back-btn:hover{background:var(--surface-2)}.header-back-btn:hover img{filter:invert(var(--icon-invert))}.event-title-link{cursor:pointer;transition:color .15s}.event-title-link:hover{color:var(--accent)}.title-share-btn{box-sizing:border-box;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:0 0;border:1px solid var(--surface-3);cursor:pointer;color:var(--dim);transition:background .15s;-webkit-tap-highlight-color:transparent}.title-share-btn img{filter:invert(.6);transition:filter .15s}.title-share-btn:hover{background:var(--surface-2)}.title-share-btn:hover img{filter:invert(var(--icon-invert))}.share-disabled{opacity:.4;cursor:not-allowed}.title-share-btn.share-disabled:hover{background:0 0}.title-share-btn.share-disabled:hover img{filter:invert(.6)}.lb-icon-btn.share-disabled:hover{background:0 0}.header-event-meta,.header-meta-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:10px;row-gap:4px;margin-top:2px}.event-date-display{color:var(--dim);font-size:.8rem;white-space:nowrap}.site-logo{text-align:center}.site-logo a{color:var(--fg);text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase}.site-logo span{color:var(--accent)}.site-logo img.brand-logo-img{max-height:36px;max-width:220px;width:auto;vertical-align:middle}.header-left .site-logo{min-width:0;max-width:100%}.header-left .site-logo img.brand-logo-img{max-width:100%}.site-sub-logo{display:block;font-size:.65rem;color:var(--dim);text-transform:uppercase;letter-spacing:.2em;margin-top:2px;text-decoration:none}.site-sub-logo:hover{color:var(--subtle)}.meta-sep{color:var(--muted);font-size:.8rem}.live-indicator{--live-color:var(--red);display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;color:var(--live-color);font-size:.75rem;font-weight:600}.live-indicator.state-reconnecting{--live-color:#f59e0b}.live-dot{width:8px;height:8px;background-color:var(--live-color);border-radius:50%;animation:2.4s infinite pulse}.live-indicator.state-reconnecting .live-dot{animation:none}.live-label{display:inline}.header-event-meta .live-label{color:var(--dim)}@keyframes pulse{0%,100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(239,68,68,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(239,68,68,0)}}.photo-count{color:var(--dim);font-size:.8rem;white-space:nowrap}.event-private-indicator{color:var(--accent);font-size:.8rem;font-weight:500;white-space:nowrap}.sort-toggle{background:0 0;border:1px solid var(--surface-3);color:var(--dim);padding:2px 10px;border-radius:var(--pill);font-size:.8rem;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.sort-toggle:hover{background:var(--surface-2);color:var(--fg)}.search-container{position:relative;display:flex;align-items:center;width:var(--search-collapsed-w,40px);opacity:0;visibility:hidden;pointer-events:none;transition:width .2s,opacity .16s,visibility 0s linear .16s}body.search-mode .search-container{width:min(300px,100%);opacity:1;visibility:visible;pointer-events:auto;transition:width .2s,opacity .16s,visibility linear}.search-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 12px}.search-input{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:var(--pill);color:var(--fg);height:var(--filter-control-h,24px);padding:0 30px 0 14px;font-size:13px;width:100%;box-sizing:border-box;outline:0;transition:border-color .2s}.search-input:focus{border-color:var(--muted)}.search-input::placeholder{color:var(--dim)}.search-container.filtered .search-input{background:#6366f1;border-color:#6366f1;color:#fff}.search-container.filtered .search-input::placeholder{color:rgba(255,255,255,.75)}.search-clear-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:8px;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;background:var(--surface-3);color:var(--fg);font-size:13px;line-height:1;cursor:pointer;padding:0;z-index:2}.search-container.filtered .search-clear-btn{background:rgba(255,255,255,.25);color:#fff}.search-container.filtered .search-clear-btn:hover{background:rgba(255,255,255,.4)}.search-suggestions{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface-1);border:1px solid var(--surface-3);border-top:none;border-radius:0 0 12px 12px;max-height:200px;overflow-y:auto;z-index:100}.search-suggestions.active{display:block}.search-suggestion{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--subtle);display:flex;justify-content:space-between;align-items:center}.search-suggestion.highlighted,.search-suggestion:hover{background:var(--surface-2);color:var(--fg)}.search-suggestion .count{color:var(--dim);font-size:12px}@media (max-width:600px),(pointer:coarse) and (orientation:landscape) and (max-height:600px){.header-top{display:flex;flex-direction:column;gap:6px}.header-left{order:0;justify-content:center}.header-center{order:1;width:100%;max-width:600px;align-self:center;display:grid;grid-template-columns:44px minmax(0,max-content) repeat(3,44px);justify-content:space-between;align-items:center;gap:6px clamp(2px,1vw,6px)}.header-event-meta{grid-row:2;grid-column:1/-1;column-gap:14px;margin:0}.header-event-meta .meta-sep{display:none}.header-center .filter-chips,.header-center .filter-row,.header-center .title-actions,.header-meta-row,.header-title-row{display:contents}.header-center .title-lead{grid-row:3;grid-column:1;min-width:0;position:relative;justify-content:center}#sort-btn{grid-row:3;grid-column:2;justify-self:center;max-width:100%;box-sizing:border-box;padding-inline:6px;white-space:normal}#search-toggle{grid-row:3;grid-column:3}#event-share-btn{grid-row:3;grid-column:4}#event-qr-btn{grid-row:3;grid-column:5}.header-center #set-filter{display:flex;grid-row:4;grid-column:1/-1;flex-wrap:wrap;justify-content:center;gap:6px}.header-center .search-container{grid-row:3;grid-column:1/-1;justify-self:center;z-index:1}body.search-mode .header-center .search-container{width:100%}body.search-mode #sort-btn,body.search-mode .header-center .title-lead,body.search-mode .title-share-btn{visibility:hidden;pointer-events:none}.header-right{display:none}.header h1{grid-row:1;grid-column:1/-1;min-width:0;font-size:clamp(1.125rem, .875rem + 1.25vw, 1.3rem);line-height:1.3;white-space:normal;display:block;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-wrap:balance}.person-pill-prefix{display:none}}.photo-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.tag-pill{background:rgba(255,255,255,.06);color:var(--subtle);padding:3px 10px;border-radius:var(--pill);font-size:11px;letter-spacing:.02em}.search-suggestion.caption-match{font-style:italic}.filter-row{display:grid;grid-template-columns:1fr;justify-items:center;align-items:center;margin-top:6px;--filter-control-h:24px;--search-collapsed-w:40px}.filter-row>*{grid-row:1;grid-column:1}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;transition:opacity .16s,visibility linear}body.search-mode .filter-chips{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,visibility 0s linear .16s}#set-filter{display:contents}.set-filter-btn{background:0 0;border:1px solid var(--surface-3);color:var(--dim);padding:3px 12px;min-height:var(--filter-control-h,24px);box-sizing:border-box;border-radius:var(--pill);font-size:.75rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.set-filter-btn:hover{background:var(--surface-2);color:var(--fg)}.set-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}#toast{position:fixed;top:-100px;left:50%;transform:translateX(-50%);background-color:var(--accent);color:#fff;padding:10px 20px;border-radius:var(--pill);font-weight:600;font-size:.9rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.5);transition:top .4s cubic-bezier(.16, 1, .3, 1);z-index:200;cursor:pointer}#toast.active{top:20px}#gallery{position:relative;max-width:1400px;margin:0 auto 40px}.photo-wrapper{position:absolute;cursor:pointer;background-color:var(--surface-2);border-radius:6px;overflow:hidden}.photo-wrapper.new-card{animation:.4s ease-out both fadeUp}.photo-wrapper::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.05) 50%,rgba(255,255,255,0) 100%);animation:1.5s infinite shimmer-gpu;pointer-events:none}@keyframes shimmer-gpu{100%{transform:translateX(100%)}}.photo-wrapper.is-loaded::after{display:none;animation:none}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.photo-card{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:6px;opacity:0;background-color:var(--surface-2);color:transparent}.photo-card.loaded{animation:.3s forwards fadeIn}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.quick-add-btn{position:absolute;bottom:10px;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(9,9,11,.75);border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;z-index:20;opacity:.45;transition:.2s cubic-bezier(.16, 1, .3, 1)}.quick-add-btn:hover{opacity:.85}.quick-add-btn:active{transform:scale(.8)}@media (hover:none){.quick-add-btn{opacity:.72}}.admin-delete-btn{position:absolute;top:8px;left:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(239,68,68,.75);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;cursor:pointer;z-index:20;opacity:0;transition:opacity .2s}.photo-wrapper:hover .admin-delete-btn{opacity:1}@media (hover:none){.admin-delete-btn{opacity:.65}}.admin-hide-btn{position:absolute;top:8px;left:48px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(217,119,6,.78);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;cursor:pointer;z-index:20;opacity:0;transition:opacity .2s}.photo-wrapper:hover .admin-hide-btn{opacity:1}@media (hover:none){.admin-hide-btn{opacity:.65}}.final-badge{position:absolute;top:8px;left:8px;z-index:15;display:none;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#fbbf24;background:rgba(9,9,11,.72);border:1px solid rgba(245,158,11,.7);pointer-events:none}.photo-wrapper.is-final .final-badge{display:block}body.is-admin .photo-wrapper.is-final .final-badge{left:46px}@media (max-width:768px){.quick-add-btn{bottom:4px;right:4px}.final-badge{top:4px;left:4px;font-size:.62rem;padding:1px 6px}}.purchased-badge{position:absolute;top:8px;right:8px;z-index:15;display:none;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#6ee7b7;background:rgba(9,9,11,.72);border:1px solid rgba(16,185,129,.7);pointer-events:none}.photo-wrapper.is-purchased .purchased-badge{display:block}.photo-wrapper.is-proof .purchased-badge{display:none}.proof-badge{position:absolute;top:8px;right:8px;z-index:15;display:none;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#fcd34d;background:rgba(9,9,11,.72);border:1px solid rgba(245,158,11,.7);pointer-events:none}.photo-wrapper.is-proof .proof-badge{display:block}@media (max-width:768px){.proof-badge,.purchased-badge{top:4px;right:4px;font-size:.62rem;padding:1px 6px}}.set-filter-pill-wrapper{display:inline-flex;align-items:stretch}.set-filter-pill-wrapper .set-filter-btn{border-radius:var(--pill) 0 0 var(--pill)}.admin-set-delete-btn{background:0 0;border:1px solid var(--surface-3);border-left:none;color:var(--dim);padding:3px 7px;border-radius:0 var(--pill) var(--pill) 0;font-size:.85rem;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.admin-set-delete-btn:hover{background:var(--red,#ef4444);border-color:var(--red,#ef4444);color:#fff}.admin-set-delete-btn.person-filter-clear{background:#6366f1;border-color:#6366f1;border-left:1px solid rgba(255,255,255,.35);color:#fff;font-size:1rem}.admin-set-delete-btn.person-filter-clear:hover{background:#4f46e5;border-color:#4f46e5 #4f46e5 #4f46e5 rgba(255,255,255,.35)}.photo-wrapper.grid-focused{outline:2px solid var(--fg);outline-offset:3px;border-radius:8px;z-index:5}@media (pointer:coarse){.photo-wrapper.grid-focused{outline:3px solid var(--fg);outline-offset:2px;box-shadow:0 4px 12px rgba(0,0,0,.6)}}.photo-wrapper.selected .photo-card{border:4px solid var(--accent-hover);box-sizing:border-box;transform:scale(.95);transition:transform .2s cubic-bezier(.34, 1.56, .64, 1)}.photo-wrapper.selected .quick-add-btn{background:rgba(9,9,11,.5);border-color:rgba(255,255,255,.15);color:var(--red);transform:rotate(45deg);opacity:1}.tap-anim{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);font-size:3rem;opacity:0;pointer-events:none;z-index:10}.tap-anim.pop-active{animation:.6s ease-out forwards pop}@keyframes pop{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{transform:translate(-50%,-50%) scale(1.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}#lightbox{display:none;position:fixed;inset:0;background-color:var(--bg);z-index:150;flex-direction:column;align-items:center;justify-content:center;padding:calc(20px + env(safe-area-inset-top)) 20px max(calc(16px + env(safe-area-inset-bottom,0px)),var(--cart-clearance));touch-action:none}#lightbox.active{display:flex}#lightbox::before{content:"";position:fixed;inset:-25% 0;background-color:var(--bg);z-index:-1;pointer-events:none}.lightbox-close-top{position:absolute;top:calc(20px + env(safe-area-inset-top));right:20px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(63,63,70,.6);backdrop-filter:blur(4px);border:none;color:#fff;font-size:1.2rem;cursor:pointer;z-index:160}#lightbox-zoom-container{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;width:100%;max-width:100%;margin-bottom:12px;transition:transform .15s ease-out,opacity .15s ease-out;touch-action:none;pointer-events:none}#lightbox-face-overlay .face-badge,#lightbox-face-overlay .face-badge-bbox,#lightbox-img{pointer-events:auto}#lightbox-zoom-container.is-zoomed{z-index:155}#lightbox-zoom-container.slide-out-left{transform:translateX(-100%);opacity:0}#lightbox-zoom-container.slide-out-right{transform:translateX(100%);opacity:0}#lightbox-zoom-container.slide-in-left{transform:translateX(100%);opacity:0;transition:none}#lightbox-zoom-container.slide-in-right{transform:translateX(-100%);opacity:0;transition:none}#lightbox-img-frame{position:relative;max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);overflow:hidden}#lightbox-img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;background-color:transparent;color:transparent}#lightbox-img-full{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:8px;opacity:0;visibility:hidden;transition:opacity .45s ease-in-out;pointer-events:none}#lightbox-img-full.is-ready{visibility:visible;opacity:1}.print-modal-card{max-width:620px}.print-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.print-modal-head h2{margin:0}.print-eyebrow{margin:0 0 4px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.print-close{border:0;background:0 0;color:var(--fg);font-size:20px;padding:8px;cursor:pointer}.print-size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.print-orientation button,.print-size-options button,.print-zoom-row button{border:1px solid var(--input-border);background:var(--input-bg);color:var(--fg);border-radius:9px;padding:10px;cursor:pointer}.print-orientation button.active,.print-size-options button.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.print-orientation{display:flex;gap:8px;margin-bottom:12px}.print-crop-stage{--print-trim-inset:.98%;--print-safe-x:5%;--print-safe-y:5%;position:relative;margin-inline:auto;overflow:hidden;background:#08090b;border-radius:10px;touch-action:none;outline:0;cursor:grab}.print-crop-stage:active{cursor:grabbing}.print-crop-stage:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent)}.print-crop-stage img{position:absolute;max-width:none;max-height:none;user-select:none;pointer-events:none}.print-safe-guide,.print-trim-guide{position:absolute;pointer-events:none;z-index:2}.print-trim-guide{inset:var(--print-trim-inset);border:1px solid rgba(255,255,255,.92);box-shadow:0 0 0 100vmax rgba(0,0,0,.32)}.print-safe-guide{top:var(--print-safe-y);right:var(--print-safe-x);bottom:var(--print-safe-y);left:var(--print-safe-x);border:1px dashed rgba(255,255,255,.95);filter:drop-shadow(0 1px 1px rgba(0,0,0,.8))}.print-guide-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin:9px 0 0;color:var(--text-muted);font-size:11px}.print-guide-key span{display:inline-flex;align-items:center;gap:6px}.print-guide-swatch{display:inline-block;width:20px;height:10px;border-radius:2px}.print-guide-swatch.trim{border:1px solid currentColor;background:rgba(0,0,0,.32)}.print-guide-swatch.safe{height:0;border-top:1px dashed currentColor;border-radius:0}.print-note{font-size:12px;line-height:1.45;color:var(--text-muted);margin:8px 0 12px}.print-zoom-row{display:flex;align-items:center;gap:8px}.print-zoom-row input{flex:1}.print-quality{display:flex;justify-content:space-between;margin:12px 0;font-size:13px}.print-quality .good{color:var(--status-success,#6ad48a)}.print-quality .soft{color:var(--warn,#e0a84e)}.print-quality .low{color:var(--status-error,#e05555)}.edit-modal-card.print-modal-card{width:min(620px,calc(100vw - 32px));box-sizing:border-box}.edit-modal-card.print-modal-card .print-modal-head h2{margin:0}.print-crop-workspace{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(240px,38vh,390px)}.print-crop-stage{width:auto;margin:0;flex:0 0 auto}@media(min-width:700px){.print-size-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-height:700px) and (min-width:700px){.edit-modal-card.print-modal-card{padding:18px}.print-size-options{margin:10px 0}.print-orientation{margin-bottom:8px}.print-crop-workspace{height:clamp(220px,34vh,300px)}.print-note{margin:6px 0 8px}.print-quality{margin:8px 0}}.print-purchase-footer{background:var(--surface-1)}@media(max-width:560px){.edit-modal-card.print-modal-card{top:max(8px,env(safe-area-inset-top));bottom:auto;height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));transform:translateX(-50%);max-height:none;overflow:hidden;padding:14px;display:flex;flex-direction:column}.print-modal-head{flex:0 0 auto}.print-modal-card #purchase-print-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 2px}.print-size-options{margin:10px 0;gap:6px}.print-orientation button,.print-size-options button,.print-zoom-row button{padding:8px}.print-orientation{margin-bottom:8px}.print-crop-workspace{height:clamp(180px,24dvh,230px)}.print-guide-key{margin-top:7px}.print-note{margin:6px 0 8px}.print-purchase-footer{flex:0 0 auto;position:relative;z-index:3;padding-top:8px;padding-bottom:max(0px,env(safe-area-inset-bottom));box-shadow:0 -10px 18px color-mix(in srgb,var(--surface-1) 88%,transparent)}.print-quality{margin:0 0 8px}.print-actions .btn{min-height:44px}}.print-actions{display:grid;gap:8px}.print-review{box-sizing:border-box;width:min(700px,100%);min-width:0;margin:0 auto;padding:24px}.print-review h2{margin:0 0 6px}.print-review-list{display:grid;gap:10px;margin:18px 0}.print-review-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface-1)}.print-review-line img{width:64px;height:64px;object-fit:cover;border-radius:7px}.print-review-line span,.print-review-line strong{display:block}.print-review-line span{font-size:13px;color:var(--text-muted);margin-top:3px}.print-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.print-review-actions .print-review-qty{min-width:20px;text-align:center;color:var(--fg);margin:0}.print-review-line button{border:1px solid var(--input-border);background:var(--input-bg);color:var(--fg);border-radius:8px;padding:8px}.print-review-total{display:flex;justify-content:space-between;gap:16px;font-size:18px;margin:16px 0}.print-review-status{color:var(--text-muted);font-size:13px;line-height:1.45}.print-review-status.error{color:var(--status-error,#e05555)}@media(max-width:560px){.print-review{padding:16px 0}.print-review-line{grid-template-columns:56px minmax(0,1fr)}.print-review-line img{width:56px;height:56px}.print-review-actions{grid-column:1/-1;justify-content:flex-start}}.order-review-section-title{margin:10px 0 0;color:var(--fg);font-size:14px;letter-spacing:.02em}.order-review-totals{border-top:1px solid var(--input-border);padding-top:4px}.order-review-totals .print-review-total{margin:10px 0;font-size:14px}.order-review-totals .order-review-grand-total{border-top:1px solid var(--input-border);padding-top:12px;font-size:18px}.order-review-continue{width:100%;margin-top:10px}.order-review-promo{box-sizing:border-box;width:min(100%,380px);margin:4px 0 18px;padding:8px 10px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface-1)}.order-review-promo>label{display:block;margin-bottom:4px;font-size:12px;font-weight:700}.order-review-promo-form{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);align-items:center;gap:5px 8px}.order-review-promo-form input{box-sizing:border-box;width:100%;min-width:0;background:var(--input-bg);color:var(--fg);border:1px solid color-mix(in srgb,var(--fg) 32%,var(--surface-1));border-radius:7px;padding:6px 8px;font:inherit;font-size:14px;text-transform:uppercase}.order-review-promo-form input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.order-review-promo-form input::placeholder{text-transform:none;color:var(--dim);opacity:1}.order-review-promo-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.order-review-promo-form button{border:1px solid var(--input-border);background:var(--input-bg);color:var(--accent);border-radius:7px;padding:6px 10px;font-size:13px;cursor:pointer}.order-review-promo-form button:disabled,.order-review-promo-form input:disabled{opacity:.7;cursor:not-allowed}.order-review-promo-form .promo-status{grid-column:1/-1;white-space:normal}.order-review-promo-form .promo-status:empty{display:none}.order-review-discount{color:var(--status-success,#6ad48a)}#order-review-undo,.print-review{--input-border:var(--surface-3);--input-bg:var(--surface-2);--text-muted:var(--dim)}.order-review-photo-group{box-sizing:border-box;width:100%;min-width:0;overflow:hidden;border:1px solid var(--input-border);border-radius:12px;background:var(--surface-1)}.order-review-photo-head{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;padding:16px}.order-review-item-copy,.order-review-photo-head>div{min-width:0;overflow-wrap:anywhere}.order-review-photo-head img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px}.order-review-photo-head span,.order-review-photo-head strong{display:block}.order-review-photo-head span{margin-top:4px;color:var(--text-muted);font-size:12px}.order-review-preview-button{padding:0;border:0;border-radius:8px;background:0 0;cursor:zoom-in}.order-review-preview-button[aria-expanded=true]{cursor:zoom-out}.order-review-preview img{display:block;width:100%;max-height:65vh;object-fit:contain;background:var(--bg)}.order-review-items{margin:0 16px;border-top:1px solid var(--input-border)}.order-review-item{--order-review-price-line-height:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,100px) 36px;align-items:start;gap:12px;padding:14px 0}.order-review-print-item{grid-template-columns:minmax(0,1fr) auto minmax(60px,100px) 36px}.order-review-item+.order-review-item{border-top:1px solid var(--input-border)}.order-review-item-copy span,.order-review-item-copy strong{display:block}.order-review-item-copy span{margin-top:3px;color:var(--text-muted);font-size:12px}.order-review-add-actions button,.order-review-item button{border:1px solid var(--input-border);background:var(--input-bg);color:var(--fg);border-radius:8px;padding:8px;cursor:pointer}.order-review-add-actions button:disabled,.order-review-item button:disabled{cursor:not-allowed}.order-review-item .order-review-icon-button{box-sizing:border-box;display:inline-grid;width:36px;height:36px;padding:8px;place-items:center}.order-review-item>.order-review-remove{margin-top:calc((var(--order-review-price-line-height) - 36px)/ 2)}.order-review-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.order-review-item .print-review-actions{grid-column:auto;flex-wrap:nowrap;gap:4px}.order-review-add-actions{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--input-border)}.order-review-add-actions button{color:var(--accent)}.order-review-size-details{margin-top:4px;font-size:12px}.order-review-size-details summary{color:var(--accent);cursor:pointer;width:fit-content}.order-review-size-details[open] summary{margin-bottom:5px}@media(max-width:560px){.order-review-photo-head{padding:12px}.order-review-items{margin:0 12px}.order-review-item,.order-review-print-item{grid-template-columns:minmax(0,1fr) minmax(54px,auto) 36px;gap:8px}.order-review-item .order-review-line-price{grid-column:2;grid-row:1}.order-review-item .order-review-remove{grid-column:3;grid-row:1}.order-review-item .print-review-actions{grid-column:1/-1;grid-row:2;justify-content:flex-start}}.order-review-add-actions button,.order-review-item button,.order-review-promo-form button,.print-review-line button{border-color:var(--surface-3);background:var(--surface-2);color:var(--accent);font-weight:700}.order-review-add-actions button:hover:not(:disabled),.order-review-item button:hover:not(:disabled),.order-review-promo-form button:hover:not(:disabled),.print-review-line button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--surface-3));background:var(--surface-3)}.order-review-line-price{display:grid;justify-items:end;align-content:start;gap:2px;min-width:0;text-align:right;color:var(--fg);font-size:13px}.order-review-line-amount{line-height:var(--order-review-price-line-height);display:flex;align-items:baseline;justify-content:flex-end;gap:6px;white-space:nowrap}.order-review-line-price s{display:inline;color:var(--dim);font-size:12px}.order-review-line-price strong{display:inline;color:var(--fg)}.order-review-line-price small{color:var(--dim);font-size:11px;line-height:1.25}@media(max-width:560px){.order-review-line-price{justify-items:end}.order-review-line-price small{max-width:120px}}.order-review-add-actions button,.order-review-item .order-review-icon-button{border-color:transparent;background:0 0;color:var(--text-muted)}.order-review-add-actions button{color:var(--accent)}.order-review-add-actions button:hover:not(:disabled),.order-review-item .order-review-icon-button:hover:not(:disabled){border-color:transparent;background:var(--surface-3)}#order-review-undo button:focus-visible,.order-review-photo-group button:focus-visible,.order-review-size-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#order-review-undo{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));max-height:35vh;overflow:auto;display:grid;gap:8px;z-index:2}.order-review-undo-toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface-2);color:var(--fg);box-shadow:0 4px 20px #0005;font-size:14px}.order-review-undo-toast span{flex:1;min-width:0;overflow-wrap:anywhere}.order-review-undo-toast button{border:0;background:0 0;color:var(--accent);font:inherit;font-weight:700;padding:8px;cursor:pointer}#checkout-overlay:has(.order-review-undo-toast){padding-bottom:140px}.order-review-print-copy{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px}.order-review-item .order-review-crop-preview{position:relative;display:block;width:64px;padding:0;overflow:hidden;border:0;border-radius:4px;background:var(--bg);cursor:pointer}.order-review-crop-preview img{position:absolute;max-width:none;display:block}#print-copy-scope{margin:0 0 8px;color:var(--dim);font-size:13px}@media(min-width:561px){.order-review-print-item{grid-template-columns:minmax(0,1fr) minmax(60px,100px) 36px}.order-review-print-item .order-review-line-price{grid-column:2;grid-row:1}.order-review-print-item .order-review-remove{grid-column:3;grid-row:1}.order-review-print-item .print-review-actions{grid-column:1/-1;grid-row:2;justify-content:flex-start;padding-left:74px}}.order-review-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.order-review-footer .order-review-continue{width:auto;margin-top:0}@media(max-width:560px){.order-review-footer{flex-direction:column-reverse}.order-review-footer .btn{width:100%}}.order-review-included{color:var(--status-success,#6ad48a);font-size:12px;font-weight:700;white-space:nowrap}@media(max-width:480px){html[data-print-sales-preview] .lightbox-controls .lb-icon-btn{min-width:52px;padding-inline:6px}html[data-print-sales-preview] .lightbox-controls .lb-icon-btn span{font-size:9px;letter-spacing:.05em}}.lightbox-controls{display:flex;justify-content:space-around;align-items:center;gap:0;width:100%;max-width:480px;padding:4px 0}.lb-icon-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 16px;min-width:72px;border-radius:10px;background:0 0;border:none;cursor:pointer;color:var(--fg);transition:background 140ms,color 140ms,transform 80ms;-webkit-tap-highlight-color:transparent}.lb-icon-btn span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:inherit}.lb-ico{display:block;width:22px;height:22px;background-color:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;transition:background-color 140ms}.lb-icon-btn:hover{background:rgba(255,255,255,.06)}.lb-icon-btn:active{transform:scale(.92);opacity:.75;transition:transform 80ms ease-out,opacity 80ms ease-out}.lb-icon-btn--cart.btn-in-cart{color:var(--red)}.lb-icon-btn--identify.faces-active,.lb-icon-btn--print.has-print{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.lb-icon-btn--edit.edit-requested{color:#d4a857}.lb-icon-btn--edit.edit-in-progress{color:#6aa9d4}.lb-icon-btn--edit.edit-complete{color:#6ad48a}.lb-icon-btn:disabled{opacity:.35;cursor:default}.lb-icon-btn:disabled:hover{background:0 0}.edit-modal{position:fixed;inset:0;z-index:1000;display:none}.edit-modal.active{display:block}.edit-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.edit-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface-1);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px;color:var(--fg);box-shadow:0 24px 48px rgba(0,0,0,.6)}.edit-modal-card h2{margin:0 0 12px;font-size:18px}.qr-modal-card{text-align:center;cursor:pointer;width:min(420px,calc(100vw - 32px))}.qr-modal-title{overflow-wrap:anywhere}.qr-modal-code svg{display:block;width:100%;height:auto;border-radius:8px}.qr-modal-url{margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;color:var(--dim);overflow-wrap:anywhere}.qr-modal-hint{margin:10px 0 0;font-size:.8rem;color:var(--subtle)}.edit-modal-status{margin:0 0 14px;padding:10px 12px;border-radius:6px;font-size:13px;background:rgba(255,255,255,.04);display:none}.edit-modal-status.visible{display:block}.edit-modal-status.status-requested{color:#d4a857;border-left:3px solid #d4a857}.edit-modal-status.status-in-progress{color:#6aa9d4;border-left:3px solid #6aa9d4}.edit-modal-status.status-complete{color:#6ad48a;border-left:3px solid #6ad48a}.edit-modal-label{display:block;margin:12px 0 6px;font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}.recover-forget-row{margin:14px 0 0;padding-top:12px;font-size:12px;color:var(--subtle);border-top:1px solid rgba(255,255,255,.08);text-align:center}.recover-forget-row[hidden]{display:none}.linklike{background:0 0;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.linklike:hover{opacity:.85}.edit-modal-card input[type=email],.edit-modal-card textarea{width:100%;box-sizing:border-box;background:var(--surface-1);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--fg);padding:10px 12px;font-size:14px;font-family:inherit}.edit-modal-card input[type=email]:focus,.edit-modal-card textarea:focus{outline:0;border-color:var(--accent)}.edit-modal-card input[readonly],.edit-modal-card textarea[readonly]{opacity:.7;cursor:default}.edit-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.takedown-modal-card{width:min(640px,calc(100vw - 32px))}.takedown-modal-intro{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--dim)}.edit-modal-optional{text-transform:none;letter-spacing:0;color:var(--subtle);font-weight:400}.takedown-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;max-height:40vh;overflow-y:auto;padding:4px;background:var(--surface-1);border:1px solid rgba(255,255,255,.08);border-radius:8px}.tk-pick{position:relative;aspect-ratio:1;width:100%;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:#000}.tk-pick img{width:100%;height:100%;object-fit:cover;display:block}.tk-pick.sel{border-color:var(--accent)}.tk-pick .tk-pick-check{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:4px;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.tk-pick.sel .tk-pick-check{background:var(--accent)}.takedown-picker-empty{grid-column:1/-1;color:var(--subtle);font-size:13px;padding:12px;text-align:center}.takedown-picker-tools{display:flex;gap:8px;align-items:center;margin:8px 0 4px}.takedown-search{flex:1}.btn.btn-sm{padding:5px 10px;font-size:12px}.takedown-whole-event{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dim);cursor:pointer;margin:6px 0 2px}.takedown-whole-event input{width:auto;margin:0}#takedown-modal .edit-modal-card input[type=email],#takedown-modal .edit-modal-card input[type=search],#takedown-modal .edit-modal-card input[type=text],#takedown-modal .edit-modal-card textarea{width:100%;box-sizing:border-box;background:var(--surface-1);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--fg);padding:10px 12px;font-size:14px;font-family:inherit}#takedown-modal .edit-modal-card input:focus,#takedown-modal .edit-modal-card textarea:focus{outline:0;border-color:var(--accent)}#footer-takedown-link{cursor:pointer}.swipe-hint{color:var(--muted);font-size:.8rem;margin-top:8px}.lightbox-counter-overlay{position:absolute;top:calc(20px + env(safe-area-inset-top));left:20px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:rgba(255,255,255,.7);font-size:.75rem;font-weight:500;padding:4px 12px;border-radius:var(--pill);z-index:160;letter-spacing:.03em;border:none;cursor:pointer;transition:background .15s,color .15s}.lightbox-counter-overlay:hover{background:rgba(0,0,0,.7);color:rgba(255,255,255,.95)}body:has(#lightbox.active) #live-indicator{position:fixed;top:calc(20px + env(safe-area-inset-top));right:20px;z-index:160;padding:4px 10px;border-radius:var(--pill);background:color-mix(in srgb,var(--bg),var(--live-color) 10%);border:1px solid color-mix(in srgb,var(--bg),var(--live-color) 20%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}body:has(#lightbox.active) #live-indicator .live-label{color:inherit}body:has(#lightbox.active) #live-indicator .live-dot{width:6px;height:6px}.lightbox-below-image{width:100%;max-width:600px;padding:8px 0 0}.lightbox-photo-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;min-height:20px}.lightbox-image-name{color:var(--dim);font-size:12px;letter-spacing:.04em}.lightbox-credit-sep{color:var(--dim);font-size:13px;flex-shrink:0}.lightbox-credit-inline{color:var(--dim);font-size:13px;font-weight:500;flex-shrink:0}.lightbox-credit-inline a{color:inherit;text-decoration:none}.lightbox-credit-inline a:hover{color:#38bdf8;text-decoration:underline}.lightbox-meta-tech{flex-basis:100%;text-align:center;color:var(--muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.btn{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;border:none}.btn-close{background-color:var(--surface-3);color:var(--fg)}.btn-action{background-color:var(--accent);color:var(--on-accent);transition:background-color .2s}.btn-action.btn-in-cart{background-color:var(--red)}.btn-secondary{background-color:transparent;border:1px solid var(--surface-3);color:var(--fg);transition:background-color .2s,border-color .2s}.btn-secondary:hover{background-color:var(--surface-2);border-color:var(--muted)}#cart-bar{position:fixed;bottom:0;transform:translateY(100%);left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:color-mix(in srgb,var(--surface-1) 95%,transparent);color:var(--fg);backdrop-filter:blur(10px);border-top:1px solid var(--surface-3);padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px;transition:transform .3s cubic-bezier(.16, 1, .3, 1);z-index:200}#cart-bar.active{transform:translateY(0)}.cart-top-row{display:flex;align-items:center;gap:10px;min-width:0}.cart-info{appearance:none;border:0;background:0 0;color:inherit;padding:0;font:inherit;text-align:left;font-weight:600;font-size:1rem;white-space:nowrap;cursor:pointer;user-select:none;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color .15s}.cart-info:hover{text-decoration-color:var(--accent)}.cart-plus-tax{font-size:.72rem;font-weight:400;color:var(--dim);letter-spacing:.03em;margin-left:4px;vertical-align:middle}.cart-original-price{color:var(--dim)}.cart-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.btn-checkout{background-color:var(--accent);color:var(--on-accent);padding:10px 20px;border-radius:8px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;white-space:nowrap}#express-pay-cart{height:40px;min-width:100px;display:none}#express-pay-cart.active{display:block}.promo-status{font-size:.8rem;white-space:nowrap}.promo-status.success{color:#4ade80}.promo-status.error{color:#f87171}#cart-nudge{display:none;font-size:.82rem;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px;padding:5px 14px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}#cart-nudge.active{display:inline-block}@media (max-width:480px){#cart-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.cart-top-row{flex-wrap:wrap;justify-content:center;gap:6px}.cart-info{font-size:.95rem;width:100%;text-align:center}#cart-nudge{white-space:normal;text-align:center;align-self:center;max-width:100%}.cart-actions{display:flex;gap:10px;width:100%}.btn-checkout{flex:1;min-width:0;padding:12px 16px;text-align:center;font-size:.9rem}#express-pay-cart{flex:1;min-width:0;height:44px}#lightbox{padding-left:0;padding-right:0;padding-bottom:max(calc(12px + env(safe-area-inset-bottom,0px)),var(--cart-clearance))}#lightbox-zoom-container{width:100vw;max-width:100vw;margin-bottom:12px}.lightbox-below-image,.lightbox-controls,.swipe-hint{padding-left:16px;padding-right:16px}}#checkout-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(9,9,11,.95);backdrop-filter:blur(5px);overflow-y:auto;box-sizing:border-box;padding:calc(40px + env(safe-area-inset-top)) 20px 40px}#checkout-overlay.active{display:block}#checkout-mount{box-sizing:border-box;width:100%;min-width:0;max-width:600px;margin:0 auto;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}#checkout-mount iframe,#checkout-mount>*{box-sizing:border-box;max-width:100%}#checkout-mount .spinner{margin-bottom:20px}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.overlay-text{font-size:1.2rem;font-weight:600;color:#fff}.overlay-subtext{font-size:.9rem;color:var(--dim);margin-top:8px}.checkout-error{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;box-sizing:border-box;width:min(420px,100%);padding:24px;max-width:420px}@media (max-width:560px){#checkout-overlay{padding:calc(20px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))}}#checkout-retry-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:700;cursor:pointer}#checkout-retry-btn:hover{filter:brightness(1.1)}#free-email-input{background:var(--surface-2);color:var(--text);border:1px solid var(--surface-3);border-radius:8px;padding:12px 14px;font-size:1rem;width:min(320px,80vw);text-align:center}.free-email-skip{background:0 0;border:none;color:var(--dim);font-size:.9rem;cursor:pointer;text-decoration:underline}#scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--accent);z-index:200;pointer-events:none;transition:width .1s linear}#scroll-picker,#scroll-top{display:flex;position:fixed;bottom:90px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-1);backdrop-filter:blur(4px);border:1px solid var(--surface-3);color:var(--fg);font-size:1.2rem;cursor:pointer;z-index:90;text-decoration:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s,border-color .15s,visibility 0s linear .25s}#scroll-top{right:20px}#scroll-picker{left:20px}#scroll-picker:hover,#scroll-top:hover{border-color:var(--muted)}#scroll-picker.active,#scroll-top.active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .25s,transform .25s,border-color .15s,visibility linear}#pull-indicator{position:fixed;top:-50px;left:50%;transform:translateX(-50%);background:var(--surface-2);color:var(--dim);padding:8px 20px;border-radius:var(--pill);font-size:.85rem;font-weight:500;transition:top .3s;z-index:200}#pull-indicator.active{top:12px}#event-picker{max-width:1200px;margin:0 auto;padding:20px 16px}.picker-header{text-align:center;margin-bottom:32px}.picker-header h1{margin:0 0 8px;font-size:2rem;font-weight:700;letter-spacing:-.02em}.picker-header p{margin:0;color:var(--dim);font-size:.9rem}.event-list{display:flex;flex-direction:column;gap:10px}.event-section-header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--subtle);padding:4px 4px 0;margin-top:8px;text-align:center;justify-content:center}.event-section-header:first-child{margin-top:0}.event-section-header.section--active{color:var(--red)}.event-section-header.section--today{color:#60a5fa}.event-section-header.event-section-toggle{cursor:pointer;display:flex;align-items:center;gap:6px;user-select:none;width:100%;border:0;background:0 0;text-align:left}.event-section-toggle:hover{color:var(--dim)}.section-toggle-icon{display:inline-block;transition:transform .2s;font-size:1rem;line-height:1;color:var(--subtle)}.event-section-past-list{display:flex;flex-direction:column;gap:10px;max-width:560px;width:100%;margin:0 auto}.event-section-past-list.collapsed{display:none}.event-item{display:flex;align-items:center;gap:14px;background:var(--surface-1);border:1px solid var(--surface-2);border-radius:10px;padding:16px 20px;cursor:pointer;text-decoration:none;color:inherit;transition:background .2s,border-color .2s;text-align:left}.event-item-info,.event-item>div:not([class]){flex:1 1 auto;min-width:0;text-align:left}.event-item:hover{background:var(--surface-2);border-color:var(--surface-3)}.event-item.active-event{border-color:rgba(239,68,68,.6);background:rgba(239,68,68,.05);animation:2s ease-in-out infinite live-border-pulse}.event-section-past-list .event-item{opacity:.6}.event-section-past-list .event-item:hover{opacity:1}.event-item.event-item--from{opacity:1;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 0 2px var(--accent)}.event-section-past-list .event-item.event-item--from{opacity:1}.event-card--from:focus,.event-item--from:focus{outline:0}@keyframes live-border-pulse{0%,100%{border-color:rgba(239,68,68,.4);box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{border-color:#ef4444;box-shadow:0 0 8px 0 rgba(239,68,68,.3)}}.event-item-emoji{font-size:1.6rem;flex-shrink:0;filter:grayscale(70%);line-height:1}.event-item-name{font-size:1rem;font-weight:600;margin-bottom:4px}.event-item-date{font-size:.8rem;color:var(--subtle)}.event-item-private{color:var(--accent);font-weight:500}.event-item-badge{margin-left:auto;padding:3px 10px;border-radius:var(--pill);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:rgba(239,68,68,.15);color:var(--red);border:1px solid rgba(239,68,68,.3)}.event-item-badge--today{background:rgba(96,165,250,.12);color:#60a5fa;border-color:rgba(96,165,250,.3);animation:none}.event-item-badge--new{background:rgba(52,211,153,.14);color:#34d399;border-color:rgba(52,211,153,.35);animation:none}.event-card-count,.event-item-count{color:var(--subtle)}.event-last-added{font-size:.8rem;color:var(--subtle)}.picker-empty{text-align:center;color:var(--muted);padding:40px 0;font-size:.95rem}.event-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:20px;margin:8px 0 16px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px 20px;margin-top:14px}.event-grid .picker-empty{grid-column:1/-1;padding:24px 0}.event-card{display:block;text-decoration:none;color:inherit;min-width:0}.event-card-cover{position:relative;aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:var(--surface-1);border:1px solid var(--surface-2);transition:border-color .2s}.event-card-cover img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .35s,transform .35s}.event-card-cover img.loaded{opacity:1}.event-card-cover img.event-card-provided{object-fit:cover}.event-card:hover .event-card-cover{border-color:var(--surface-3)}.event-card:hover .event-card-cover img{transform:scale(1.03)}.event-card-cover--empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--surface-1),var(--surface-2))}.event-card-emoji{font-size:2.4rem;filter:grayscale(55%);opacity:.8}.event-countdown{--countdown-fade:220ms;position:absolute;inset:0;container-type:inline-size;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 32%,#262c34,#12161b);color:#c4cad2;pointer-events:none}.event-countdown::before{content:'';position:absolute;inset:10px;border:1px solid #505863;border-radius:5px;box-shadow:inset 0 0 0 3px #161b21}.event-countdown-display{position:relative;width:84%;text-align:center}.event-countdown-heading{margin-bottom:7cqw;font-size:clamp(11px, 3cqw, 14px);font-weight:600;letter-spacing:.17em}.event-countdown-clock{display:grid;grid-template-columns:1fr .18fr 1fr .18fr 1fr;align-items:start;column-gap:3%}.event-countdown-pair{display:flex;gap:4%}.event-countdown-digit{position:relative;width:48%;aspect-ratio:40/72}.event-countdown-segment{position:absolute;width:70%;height:9.722222%;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--rotation,0deg))}.event-countdown-light::before,.event-countdown-segment::before{content:'';position:absolute;inset:0;clip-path:polygon(0 50%,12.5% 0,87.5% 0,100% 50%,87.5% 100%,12.5% 100%);background:var(--accent)}.event-countdown-segment::before{opacity:.0375}.event-countdown-light{position:absolute;inset:0;opacity:0;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--accent), transparent 45%)) drop-shadow(0 0 5px color-mix(in srgb, var(--accent), transparent 78%));transition:opacity var(--countdown-fade) ease-in-out}.event-countdown-segment[data-lit=true] .event-countdown-light{opacity:1}.event-countdown-unit{margin-top:1.5cqw;font-size:11px;letter-spacing:.12em;color:#aeb7c3}.event-countdown-colon{align-self:start;display:flex;flex-direction:column;align-items:center;gap:4cqw;padding-top:5cqw}.event-countdown-colon i{position:relative;display:block;width:1cqw;height:1cqw;min-width:3px;min-height:3px}.event-countdown-colon i::after,.event-countdown-colon i::before{content:'';position:absolute;inset:0;background:var(--accent);border-radius:1px}.event-countdown-colon i::before{opacity:.0375}.event-countdown-colon i::after{opacity:0;box-shadow:0 0 2px color-mix(in srgb,var(--accent),transparent 45%),0 0 5px color-mix(in srgb,var(--accent),transparent 78%);transition:opacity var(--countdown-fade) ease-in-out}.event-countdown-colon[data-lit=true] i::after{opacity:1}.event-countdown-schedule{margin-top:6cqw;min-height:1.5em;font-size:clamp(11px, 2.8cqw, 13px);color:#b8c1cd;line-height:1.5}#gallery-waiting{width:calc(100% - 32px);max-width:680px;margin:24px auto}#gallery-waiting[hidden],.event-countdown-clock[hidden]{display:none}.event-countdown--gallery{position:relative;width:100%;min-height:220px;aspect-ratio:2/1;border-radius:12px;overflow:hidden}.event-countdown--days .event-countdown-clock{grid-template-columns:var(--countdown-days-width,1fr) .18fr 1fr .18fr 1fr .18fr 1fr}.event-countdown--days .event-countdown-digit{flex:1;min-width:0;width:auto}.event-countdown--days .event-countdown-colon{padding-top:3cqw;gap:2.5cqw}.event-countdown--waiting .event-countdown-heading{margin-bottom:12px;font-size:clamp(16px, 3.5cqw, 22px);line-height:1.4;letter-spacing:normal}.event-countdown--waiting .event-countdown-schedule{margin-top:0}.gallery-waiting-message{padding:60px 16px;text-align:center;color:var(--subtle)}@media (prefers-reduced-motion:reduce){#lightbox-img-full,.event-countdown-colon i::after,.event-countdown-light{transition:none}.event-countdown-colon i::after{opacity:1}}.event-card-badge{position:absolute;top:10px;left:10px}.event-card-info{padding:10px 4px 0;text-align:center}.event-card-name{font-size:.95rem;font-weight:600;letter-spacing:.01em}.event-card-date{font-size:.78rem;color:var(--subtle);margin-top:3px}.event-card--hero .event-card-cover{border-radius:12px}.event-card--hero .event-card-name{font-size:1.15rem}.event-card.active-event .event-card-cover{border-color:rgba(239,68,68,.6);animation:2s ease-in-out infinite live-border-pulse}.event-card--from .event-card-cover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent),0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}.event-filter{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0 2px;--filter-control-h:28px}.event-filter-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.event-search{background:var(--surface-1);border:1px solid var(--surface-2);color:var(--fg);border-radius:var(--pill);padding:6px 14px;font-size:.85rem;width:min(320px,100%);outline:0}.event-search:focus{border-color:var(--surface-3)}.event-search::placeholder{color:var(--muted)}.coverage-request{text-align:center;margin:28px 0 8px;color:var(--dim);font-size:.9rem}.coverage-request a,.coverage-request-link{color:var(--accent);text-decoration:none;font-weight:600}.coverage-request a:hover,.coverage-request-link:hover{text-decoration:underline}.picker-empty .coverage-request-link{display:inline-block;margin-top:10px}.event-grid-more{text-align:center;margin:20px 0 6px}.event-grid-more-btn{background:var(--surface-1);border:1px solid var(--surface-2);color:var(--dim);border-radius:var(--pill);padding:10px 22px;font-size:.85rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.event-grid-more-btn:hover{background:var(--surface-2);color:var(--fg)}@media (max-width:767px){.event-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px 10px}.event-card-name{font-size:.85rem}.event-card-date{font-size:.72rem}}.ui-dl-btn{position:absolute;bottom:8px;right:8px;background-color:rgba(16,185,129,.9);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;text-decoration:none;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:background-color .2s,transform .1s;backdrop-filter:blur(4px);pointer-events:auto}.ui-dl-btn:hover{background-color:#10b981;transform:translateY(-2px)}.ui-dl-btn:active{transform:translateY(0)}.ui-dl-btn.is-processing,.ui-dl-btn.is-processing:hover{background-color:rgba(39,39,42,.92);color:#fff;cursor:default;transform:none}.ui-dl-btn.is-unavailable{background-color:rgba(63,63,70,.9);color:rgba(255,255,255,.85);cursor:default}.ui-dl-btn.is-unavailable:hover{background-color:rgba(63,63,70,.95);transform:none}.save-all-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 auto 14px;padding:0 12px}.save-all-btn{background-color:rgba(16,185,129,.9);color:#fff;border:none;border-radius:var(--pill);padding:9px 18px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s}.save-all-btn:hover:not(:disabled){background-color:#10b981}.save-all-btn:disabled{opacity:.6;cursor:progress}.save-secondary-btn{background:0 0;color:var(--dim);border:1px solid var(--surface-3);border-radius:var(--pill);padding:8px 16px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s}.save-secondary-btn:hover:not(:disabled){color:var(--fg);border-color:var(--surface-4)}.save-secondary-btn:disabled{opacity:.5;cursor:default}.save-all-status{color:var(--dim);font-size:.85rem;flex-basis:100%;text-align:center}.save-all-status:empty,body.view-personal .search-container,body.view-personal .search-toggle-btn,body.view-purchased .photo-wrapper.is-purchased:not(.is-downloaded) .purchased-badge{display:none}.photo-wrapper.is-downloaded .purchased-badge{color:var(--dim);border-color:var(--surface-3);background:rgba(9,9,11,.78)}body.purch-selecting .quick-add-btn,body.purch-selecting .ui-dl-btn{display:none}body.purch-selecting .photo-wrapper{cursor:pointer}.photo-wrapper.purch-picked .photo-card{outline:rgba(16,185,129,.95) solid 3px;outline-offset:-3px}.photo-wrapper.purch-picked::after{content:'✓';position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:rgba(16,185,129,.95);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:11}.save-menu{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1100}.save-menu.active{display:block}.save-menu-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--surface-1);border-radius:16px 16px 0 0;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;animation:.18s ease-out save-menu-up}@keyframes save-menu-up{from{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}.save-menu-title{font-size:.85rem;font-weight:600;color:var(--dim);padding:0 4px 10px;border-bottom:1px solid var(--surface-3);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-menu-sheet button{display:block;width:100%;text-align:left;background:0 0;border:none;color:var(--fg);font-family:inherit;font-size:1rem;font-weight:600;padding:12px 4px;cursor:pointer;border-radius:8px}.save-menu-sheet button:active{background:var(--surface-2)}.save-menu-sheet button:disabled{color:var(--subtle);cursor:default}.save-menu-sheet button span{display:block;font-size:.8rem;font-weight:400;color:var(--subtle);margin-top:2px}.save-menu-footer{color:var(--subtle);font-size:.78rem;padding:8px 4px 0;border-top:1px solid var(--surface-3);margin-top:6px}.save-menu-footer:empty{display:none}.site-footer{text-align:center;margin-top:28px;font-size:12px;color:var(--muted);line-height:1.5;padding-bottom:max(env(safe-area-inset-bottom,0px),var(--cart-clearance))}.site-footer a{color:var(--subtle);text-decoration:underline}.site-footer a:hover{color:var(--fg)}.set-filter-btn.purchased-pill{color:#10b981;border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.05)}.set-filter-btn.purchased-pill:hover{background:rgba(16,185,129,.15);color:#10b981}.set-filter-btn.purchased-pill.active{background:#10b981;border-color:#10b981;color:#fff}.set-filter-btn.finals-pill{color:#b45309;border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08);font-weight:600}@media (prefers-color-scheme:dark){.set-filter-btn.finals-pill{color:#fbbf24}}:root[data-theme=dark] .set-filter-btn.finals-pill{color:#fbbf24}:root[data-theme=light] .set-filter-btn.finals-pill{color:#b45309}.set-filter-btn.finals-pill:hover{background:rgba(245,158,11,.18)}.set-filter-btn.finals-pill.active{background:#f59e0b;border-color:#f59e0b;color:#1c1917}.set-filter-btn.person-filter-pill,.set-filter-btn.person-filter-pill.active{background:#6366f1;border-color:#6366f1;color:#fff;cursor:default;opacity:1}.set-filter-btn.person-filter-pill:disabled{opacity:1}.lightbox-face-overlay{position:absolute;pointer-events:none;z-index:156;transition:opacity .35s;opacity:1;--badge-counter-scale:1}.lightbox-face-overlay.faces-idle{opacity:.55}.lightbox-face-overlay.faces-hidden{display:none}.lightbox-face-overlay .face-badge,.lightbox-face-overlay .face-badge-bbox{pointer-events:auto}.face-badge{position:absolute;transform:translate(-50%,-50%) scale(var(--badge-counter-scale));transform-origin:center center;display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 3px;background:rgba(17,17,20,.72);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;font:inherit;font-size:.85rem;line-height:1;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.45);transition:background .15s,border-color .15s,transform .1s;max-width:60%}.face-badge:focus-visible,.face-badge:hover{background:#6366f1;border-color:#fff;outline:0}.face-badge:active{transform:translate(-50%,-50%) scale(calc(var(--badge-counter-scale) * .96))}.face-badge-inner{width:32px;height:32px;border-radius:50%;background:rgba(99,102,241,.25);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.face-badge-img{width:100%;height:100%;object-fit:cover;display:block}.face-badge-fallback{font-size:.9rem;font-weight:600;color:#fff}.face-badge-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.face-badge-bbox{position:absolute;border:2px solid rgba(255,255,255,0);border-radius:8px;box-shadow:0 0 0 0 rgba(99,102,241,0);transition:border-color .15s,box-shadow .15s;pointer-events:none}.face-badge-bbox.active{border-color:rgba(255,255,255,.9);box-shadow:0 0 0 6px rgba(99,102,241,.28)}.lightbox-admin-style{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px 4px;font-size:.85rem;color:var(--dim)}.lightbox-admin-style label{color:var(--dim)}.lightbox-admin-style select{background:rgba(255,255,255,.08);color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px;font:inherit;min-width:160px}.lightbox-admin-style button{padding:4px 12px;font-size:.85rem}.lightbox-admin-style button:disabled{opacity:.4;cursor:not-allowed}@media (orientation:landscape) and (max-height:500px){#lightbox{padding:env(safe-area-inset-top,0) calc(72px + env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);flex-direction:row}#lightbox-zoom-container{height:100%;max-height:100%;margin-bottom:0}#lightbox-zoom-container #lightbox-img-frame{box-shadow:none}.lightbox-below-image,.lightbox-counter-overlay,.swipe-hint{display:none}.face-badge{padding:2px 8px 2px 2px;font-size:.75rem;gap:5px}.face-badge-inner{width:24px;height:24px}.face-badge-label{max-width:90px}.lightbox-controls{position:absolute;top:50%;right:calc(8px + env(safe-area-inset-right,0px));transform:translateY(-50%);flex-direction:column;width:auto;max-width:none;gap:0;padding:0;z-index:157}.lightbox-controls .lb-icon-btn{padding:8px 10px;min-width:52px;opacity:.75}.lightbox-controls .lb-icon-btn span{font-size:9px}}@media (pointer:coarse){.event-grid-more-btn,.event-search{min-height:44px}.btn.btn-sm,.header-back-btn,.order-review-promo-form button,.quick-add-btn,.set-filter-btn,.sort-toggle,.title-share-btn{min-width:44px;min-height:44px}.header-back-btn,.quick-add-btn,.title-share-btn{width:44px;height:44px}.title-actions,.title-lead{min-width:96px}.admin-set-delete-btn{min-width:38px;min-height:44px}.search-input{min-height:44px;padding-right:46px}.filter-row{--search-collapsed-w:44px}.search-clear-btn{width:40px;height:40px;right:2px}.event-section-toggle{min-height:44px}}@media (prefers-reduced-motion:reduce){.save-menu-sheet{animation:none}.face-badge,.face-badge-bbox,.lightbox-face-overlay{transition:none}*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}#lightbox-img.is-loading{filter:blur(8px);animation:1s ease-in-out infinite alternate lightbox-loading-pulse}@keyframes lightbox-loading-pulse{0%{opacity:.3}100%{opacity:.7}}.fc-password-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}.fc-password-overlay.active{display:flex}.fc-password-card{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:16px;padding:28px 28px 24px;max-width:380px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.6)}.fc-password-card h2{margin:0 0 6px;font-size:20px;color:var(--fg)}.fc-password-card p{margin:0 0 18px;color:var(--dim);font-size:14px}.fc-password-form{display:flex;gap:8px}.fc-password-input{flex:1;background:var(--surface-2);color:var(--fg);border:1px solid var(--surface-3);border-radius:8px;padding:10px 12px;font-size:15px;outline:0}.fc-password-input:focus{border-color:var(--accent)}.fc-password-submit{background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}.fc-password-submit:hover:not(:disabled){background:var(--accent-hover)}.fc-password-submit:disabled{opacity:.6;cursor:wait}.fc-password-error{margin-top:12px;min-height:18px;color:var(--red);font-size:13px}.fc-password-card p.fc-signedlink-msg{color:var(--fg);margin:0 0 10px}.fc-password-card p.fc-password-hint{font-size:13px;margin:0}.admin-set-actions-btn{letter-spacing:1px}.admin-set-actions-btn:hover{background:var(--surface-3);border-color:var(--surface-3);color:var(--fg)}.admin-select-toggle.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}body.is-selecting .admin-delete-btn,body.is-selecting .admin-hide-btn,body.is-selecting .quick-add-btn{display:none}body.is-selecting .photo-wrapper{cursor:pointer}.photo-wrapper.admin-picked .photo-card{outline:3px solid var(--accent);outline-offset:-3px}.photo-wrapper.admin-picked::after{content:'✓';position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:21;pointer-events:none}.admin-bulk-bar{position:fixed;bottom:-140px;left:0;right:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--accent);padding:10px 16px calc(10px + env(safe-area-inset-bottom));transition:bottom .3s cubic-bezier(.16, 1, .3, 1);z-index:201}.admin-bulk-bar.active{bottom:var(--cart-clearance,0)}.admin-bulk-count{font-weight:700;font-size:.95rem;margin-right:4px}.admin-bulk-bar .btn-ghost{background:0 0;border:1px solid var(--surface-3);color:var(--dim)}.admin-bulk-bar .btn-ghost:hover{color:var(--fg);border-color:var(--fg)}.admin-bulk-danger{background:var(--red,#ef4444);color:#fff}.set-move-sub{margin:0 0 4px;color:var(--dim);font-size:.85rem}.set-move-select{width:100%;padding:9px 10px;border-radius:6px;background:var(--surface-2);color:var(--fg);border:1px solid var(--surface-3);font-size:.9rem}.set-move-warn{margin:12px 0 0;padding:10px 12px;border-radius:6px;border-left:3px solid #d4a857;background:rgba(212,168,87,.12);color:#d4a857;font-size:.8rem}.set-move-warn[hidden]{display:none}.set-move-note{margin:12px 0 0;font-size:.75rem;color:var(--subtle)}.set-move-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.set-move-actions .btn{flex:1 1 auto}.set-actions-menu{position:fixed;z-index:300;min-width:220px;background:var(--surface-1);border:1px solid var(--surface-3);border-radius:10px;box-shadow:0 18px 36px rgba(0,0,0,.5);padding:6px}.set-actions-title{padding:6px 10px 8px;font-size:.75rem;color:var(--subtle);text-transform:uppercase;letter-spacing:.5px;overflow-wrap:anywhere}.set-actions-menu button{display:block;width:100%;text-align:left;background:0 0;border:0;color:var(--fg);padding:8px 10px;border-radius:6px;font:inherit;font-size:.85rem;cursor:pointer}.set-actions-menu button span{display:block;font-size:.72rem;color:var(--subtle);margin-top:2px}.set-actions-menu button:hover{background:var(--surface-2)}.set-actions-menu button.danger:hover{background:var(--red,#ef4444);color:#fff}.set-actions-menu button.danger:hover span{color:rgba(255,255,255,.85)}