:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1a;--gallery-bg:#1a1a1a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#0f1014;--border:#2e303a;--accent:#c084fc;--gallery-bg:#1a1a1a}}#root{flex-direction:column;min-height:100svh;display:flex}body{margin:0}.lightbox{z-index:1000;box-sizing:border-box;background:#000000eb;justify-content:center;align-items:center;padding:60px 20px;animation:.18s ease-out lb-fade;display:flex;position:fixed;inset:0}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox__figure{justify-content:center;align-items:center;max-width:100%;max-height:100%;margin:0;display:flex}.lightbox__img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 120px);animation:.18s ease-out lb-pop;display:block}@keyframes lb-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lightbox__close{color:#fff;cursor:pointer;z-index:2;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;line-height:1;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.lightbox__close:hover{background:#ffffff40}.lightbox__nav{color:#fff;cursor:pointer;z-index:2;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#ffffff40}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}.lightbox__counter{color:#ffffffb3;font-variant-numeric:tabular-nums;font-size:14px;font-family:var(--mono);text-align:center;flex-direction:column;gap:4px;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.lightbox__filename{color:#ffffff73;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width<=640px){.lightbox{padding:70px 8px 50px}.lightbox__nav{width:40px;height:40px;font-size:26px}.lightbox__nav--prev{left:6px}.lightbox__nav--next{right:6px}.lightbox__close{width:40px;height:40px;font-size:24px;top:10px;right:10px}}.gallery{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;width:100%;margin:0;padding:16px 112px;list-style:none;display:grid}.gallery__item{aspect-ratio:1;background:var(--gallery-bg,#1a1a1a);margin:0;overflow:hidden}.gallery__btn{cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:relative;overflow:hidden}.gallery__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.gallery__img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gallery__btn:hover .gallery__img{transform:scale(1.05)}.gallery__btn:active .gallery__img{transform:scale(.97)}@media (width<=640px){.gallery{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 20px}}@media (width>=641px) and (width<=1024px){.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:12px 32px}}.page{background:var(--bg);min-height:100svh;color:var(--text);flex-direction:column;display:flex}.page__header{text-align:center;border-bottom:1px solid var(--border);padding:48px 24px 28px}.page__title{letter-spacing:-1px;color:var(--text-h);margin:0 0 8px;font-size:42px;font-weight:600}.page__subtitle{color:var(--text);margin:0;font-size:15px}.page__footer{text-align:center;border-top:1px solid var(--border);color:var(--text);padding:24px;font-size:13px}@media (width<=640px){.page__header{padding:32px 16px 20px}.page__title{font-size:32px}.page__subtitle{font-size:14px}}
