:root{--bg:#fff;--surface:#fff;--border:#00000029;--border-soft:#00000012;--text:#111;--text-dim:#666;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font:14px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a,input,dialog{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:1px solid}.demo{min-height:100vh;min-height:100dvh}.load-state{min-height:100vh;color:var(--text-dim);text-align:center;place-content:center;gap:.75rem;font-size:.85rem;display:grid}.load-state p{margin:0}.load-state button{color:var(--text);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;justify-self:center;padding:0;text-decoration:underline}.intro-dialog{overscroll-behavior:contain;border:1px solid var(--border);background:var(--bg);width:min(32rem,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--text);box-shadow:none;border-radius:0;padding:0;overflow:auto}.intro-dialog::backdrop{background:#ffffffeb}.intro-dialog-content{padding:clamp(1.25rem,4vw,2rem)}.intro-dialog h1{margin:0 0 1rem;font-size:1rem;font-weight:500}.intro-dialog p{color:var(--text-dim);margin:0}.intro-dialog p+p{margin-top:.75rem}.intro-dialog form{margin-top:1.25rem}.intro-dialog button{color:var(--text);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.intro-dialog button:hover{color:var(--text-dim)}.stack-gallery{border:1px solid var(--border);background:var(--bg);width:min(70rem,100vw - 3rem);max-width:none;height:min(51.25rem,100dvh - 3rem);max-height:none;color:var(--text);box-shadow:none;border-radius:0;padding:0;overflow:hidden}.stack-gallery::backdrop{background:#ffffffeb}.stack-gallery-layout{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.stack-gallery-header{z-index:1;border-bottom:1px solid var(--border);background:var(--bg);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;min-height:52px;padding:.5rem .75rem;display:grid}.stack-gallery-header h2{font-variant-numeric:tabular-nums;justify-self:start;margin:0;font-size:.85rem;font-weight:500}.stack-gallery-navigation{align-items:center;gap:4px;display:flex}.stack-gallery-close-form{justify-self:end}.stack-gallery-navigation button{width:36px;padding-left:0;padding-right:0;font-size:1rem;line-height:1}.stack-gallery-header button{min-height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:0;padding:0 .5rem}.stack-gallery-header button:not(:disabled):hover,.stack-gallery-header button:focus-visible{color:var(--text);background:0 0}.stack-gallery-header button:disabled{opacity:.34;cursor:default}.stack-gallery-header button:focus-visible{outline-offset:1px;outline:1px solid}.stack-gallery-close{text-underline-offset:.18em;text-decoration:underline}.stack-gallery-grid{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-rows:max-content;align-content:start;gap:2px;min-height:0;padding:2px;display:grid;overflow-y:auto}.stack-gallery-item{aspect-ratio:1;background:var(--border-soft);border-radius:0;margin:0;position:relative;overflow:hidden}.stack-gallery-item img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.control-bar{z-index:20;min-height:calc(52px + env(safe-area-inset-top));padding:calc(4px + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 4px max(1rem, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);align-items:center;gap:1rem;display:grid;position:sticky;top:0}.back-link{min-height:36px;color:var(--text-dim);text-underline-offset:.18em;justify-self:start;align-items:center;padding:0;font-size:.8rem;text-decoration:underline;display:inline-flex}.back-link:hover,.back-link:focus-visible{color:var(--text)}.tightness-control{width:clamp(20rem,52vw,36rem);color:var(--text-dim);grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:.75rem;font-size:.75rem;display:grid}.tightness-control input{appearance:none;cursor:ew-resize;direction:rtl;background:0 0;width:100%;height:38px;margin:0}.tightness-control input::-webkit-slider-runnable-track{background:var(--border);border:0;border-radius:0;height:1px}.tightness-control input::-webkit-slider-thumb{appearance:none;background:#0000007a;border:0;border-radius:0;width:28px;height:16px;margin-top:-7.5px}.tightness-control input::-moz-range-track{background:var(--border);border:0;border-radius:0;height:1px}.tightness-control input::-moz-range-thumb{background:#0000007a;border:0;border-radius:0;width:28px;height:16px}.tightness-control input:focus-visible{outline-offset:2px;border-radius:0;outline:1px solid}.group-summary{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end;font-size:.75rem}.photo-grid{padding:2px max(2px, env(safe-area-inset-right)) calc(2px + env(safe-area-inset-bottom)) max(2px, env(safe-area-inset-left));grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:2px;display:grid}.mobile-grid-spacer{display:none}.photo-tile{aspect-ratio:1;background:var(--border-soft);border:0;border-radius:0;min-width:0;padding:0;display:block;position:relative;overflow:hidden}.photo-tile img{z-index:2;border-radius:inherit;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-stack{cursor:pointer;touch-action:manipulation;overflow:hidden}.photo-stack img{width:calc(100% - var(--pile-depth));height:calc(100% - var(--pile-depth))}.photo-stack:hover img{filter:brightness(.94)}.photo-stack:focus-visible{z-index:3;outline-offset:-1px;outline:1px solid}.pile-sheet{top:var(--pile-offset);left:var(--pile-offset);width:calc(100% - var(--pile-depth));height:calc(100% - var(--pile-depth));background:var(--bg);pointer-events:none;border:1px solid #00000047;border-radius:0;position:absolute}.cluster-count{right:calc(var(--pile-depth) + 6px);bottom:calc(var(--pile-depth) + 6px);z-index:3;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;background:#ffffffe0;border:0;border-radius:0;padding:2px 4px;font-size:.7rem;line-height:1.2;position:absolute}@media (max-width:720px){.stack-gallery{border:0;border-radius:0;width:100vw;height:100dvh;margin:0;inset:0}.stack-gallery-layout{grid-template-rows:minmax(0,1fr) auto}.stack-gallery-header{min-height:calc(52px + env(safe-area-inset-bottom));padding:4px max(10px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--border);border-bottom:0;grid-row:2;gap:8px}.stack-gallery-header button{min-height:44px}.stack-gallery-navigation button{width:44px}.stack-gallery-close{min-width:44px;padding-left:0;padding-right:0}.stack-gallery-grid{padding:calc(1px + env(safe-area-inset-top)) max(1px, env(safe-area-inset-right)) 1px max(1px, env(safe-area-inset-left));grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.control-bar{min-height:calc(96px + env(safe-area-inset-bottom));padding:2px max(12px, env(safe-area-inset-right)) calc(2px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--border);border-bottom:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:0 10px;position:fixed;inset:auto 0 0}.back-link{min-height:44px;padding:0}.group-summary{grid-area:1/2;font-size:10.5px}.tightness-control{grid-area:2/1/auto/-1;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;width:100%;font-size:11px}.tightness-control input{touch-action:none;height:48px}.tightness-control input::-webkit-slider-thumb{width:36px;height:24px;margin-top:-11.5px}.tightness-control input::-moz-range-thumb{width:36px;height:24px}.photo-grid{min-height:100dvh;padding-bottom:calc(99px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));align-content:end}.mobile-grid-spacer{order:0;display:block}.photo-tile{order:var(--mobile-order)}.cluster-count{right:calc(var(--pile-depth) + 2px);bottom:calc(var(--pile-depth) + 2px);padding:1px 3px;font-size:.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
/*$vite$:1*/