:root{color-scheme:light;--paper: #f7f7f4;--panel: #ffffff;--ink: #1f2528;--muted: #64615b;--line: #ded8cd;--accent: #8a6732;--accent-hover: #5f4724;--accent-soft: #f1eadf;--control-border: rgba(138, 103, 50, .28);--shadow: 0 20px 58px rgba(31, 37, 40, .12);--fullscreen-backdrop-opacity: .42}:root[data-theme=dark]{color-scheme:dark;--paper: #101312;--panel: #171a1a;--ink: #f1eee7;--muted: #bbb3a5;--line: #39352f;--accent: #d1aa67;--accent-hover: #f0d49c;--accent-soft: #2a241b;--control-border: rgba(209, 170, 103, .32);--shadow: 0 20px 58px rgba(0, 0, 0, .24);--fullscreen-backdrop-opacity: .34}*{box-sizing:border-box}html{height:100%;background:var(--paper)}body{height:100%;margin:0;color:var(--ink);background:var(--paper);font-family:ui-serif,Georgia,Times New Roman,serif;overflow:hidden}button,a{color:inherit}.gallery{width:min(1440px,100%);height:100vh;height:100dvh;margin:0 auto;padding:clamp(10px,2vw,22px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.6vw,18px)}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.home-link,.counter,.control-button{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.home-link{width:max-content;min-height:40px;display:inline-flex;align-items:center;padding:0 14px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--control-border);border-radius:6px;font-size:.92rem;font-weight:700;text-decoration:none}.home-link:hover,.home-link:focus-visible,.control-button:hover,.control-button:focus-visible,.thumbnail-button:hover,.thumbnail-button:focus-visible{color:var(--accent-hover);border-color:currentColor}h1{margin:0;font-size:clamp(1.45rem,3.2vw,2.5rem);font-weight:400;line-height:1.05;text-align:center}.counter{justify-self:end;color:var(--muted);font-size:.98rem;font-weight:700}.viewer{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:10px}.stage{min-height:0;margin:0}.image-frame{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;padding:clamp(4px,1vw,10px);display:grid;place-items:center;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.image-frame:before{content:"";position:absolute;inset:0;z-index:0;display:none;background-image:var(--slide-backdrop);background-position:center;background-size:cover;filter:blur(32px) saturate(.9);opacity:var(--fullscreen-backdrop-opacity);transform:scale(1.08)}.image-frame img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:contain}.controls{--control-font-size: .94rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.control-button{min-width:48px;min-height:44px;padding:0 16px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--control-border);border-radius:6px;font-size:var(--control-font-size);font-weight:800;white-space:nowrap;cursor:pointer}.control-button[data-prev],.control-button[data-next]{width:48px;padding:0;font-size:1.35rem;line-height:1}.control-button[data-play]{width:118px}.control-button[data-fullscreen]{width:168px}.fullscreen-exit{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:5;display:none;align-items:center;min-width:64px;min-height:44px;padding:0 16px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 92%,transparent);border:1px solid var(--control-border);border-radius:6px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.94rem;font-weight:800;cursor:pointer;backdrop-filter:blur(12px)}.fullscreen-exit:hover,.fullscreen-exit:focus-visible{color:var(--accent-hover);border-color:currentColor}.thumbnail-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scroll-snap-type:x proximity}.thumbnail-button{flex:0 0 72px;width:72px;height:54px;padding:2px;background:var(--panel);border:1px solid var(--line);border-radius:6px;cursor:pointer;scroll-snap-align:center}.thumbnail-button[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 2px #8a67322e}.thumbnail-button img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}.gallery:fullscreen,.gallery.is-native-fullscreen,.gallery.is-fallback-fullscreen{width:100vw;max-width:none;min-width:0;padding:0;grid-template-rows:minmax(0,1fr);gap:0;overflow:hidden;background:var(--paper)}.gallery:fullscreen,.gallery.is-native-fullscreen{height:100vh;height:100dvh;min-height:0}.gallery.is-fallback-fullscreen{position:fixed;inset:0;z-index:1000;height:100vh;height:100dvh}.gallery:fullscreen .topbar,.gallery.is-native-fullscreen .topbar,.gallery.is-fallback-fullscreen .topbar{display:none}.gallery:fullscreen .viewer,.gallery.is-native-fullscreen .viewer,.gallery.is-fallback-fullscreen .viewer{width:100%;height:100%;grid-template-rows:minmax(0,1fr);gap:0;overflow:hidden}.gallery:fullscreen .stage,.gallery.is-native-fullscreen .stage,.gallery.is-fallback-fullscreen .stage{width:100vw;height:100vh;height:100dvh;overflow:hidden}.gallery:fullscreen .controls,.gallery:fullscreen .thumbnail-strip,.gallery.is-native-fullscreen .controls,.gallery.is-native-fullscreen .thumbnail-strip,.gallery.is-fallback-fullscreen .controls,.gallery.is-fallback-fullscreen .thumbnail-strip{display:none}.gallery:fullscreen .image-frame,.gallery.is-native-fullscreen .image-frame,.gallery.is-fallback-fullscreen .image-frame{width:100vw;height:100vh;height:100dvh;padding:0;border:0;border-radius:0;box-shadow:none}.gallery:fullscreen .image-frame:before,.gallery.is-native-fullscreen .image-frame:before,.gallery.is-fallback-fullscreen .image-frame:before{display:block}.gallery.is-fallback-fullscreen .fullscreen-exit{display:inline-flex}.gallery:fullscreen .fullscreen-exit,.gallery.is-native-fullscreen .fullscreen-exit{display:none}.gallery:fullscreen .image-frame img,.gallery.is-native-fullscreen .image-frame img,.gallery.is-fallback-fullscreen .image-frame img{object-fit:contain}@media(max-width:720px){.gallery{padding:10px}.controls{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.55fr) 48px;gap:8px}.control-button{min-width:0;width:100%;padding:0 10px}.thumbnail-button{flex-basis:62px;width:62px;height:48px}.control-button[data-prev],.control-button[data-next],.control-button[data-play],.control-button[data-fullscreen]{width:100%}}@media(max-width:360px){.controls{grid-template-columns:44px minmax(0,1fr) minmax(0,1.62fr) 44px;gap:6px}.control-button{padding:0 8px}}
