.gallery-renderer{width:100%;container-type:inline-size}.gallery-stage{position:relative}.gallery-frame{position:absolute;margin:0;min-width:0}.gallery-image-button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in}.gallery-image-button img{display:block;width:100%;height:100%}.gallery-frame figcaption{font:12px/1.5 Arial,sans-serif;padding-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-more{display:block;margin:32px auto;padding:14px 26px;min-height:48px;background:transparent;color:inherit;border:1px solid}.gallery-technical{position:absolute;top:8px;left:8px;max-width:94%;font:11px/1.6 monospace;background:#fff;color:#111;padding:8px;pointer-events:none}.gallery-modes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.gallery-modes button{padding:10px 16px;min-height:44px;background:transparent;color:inherit;border:1px solid #806d4c}.gallery-modes button[aria-pressed=true]{background:#b49763;color:#111}.focal-canvas{position:relative;display:block;padding:0;border:0;width:100%;background:#111;cursor:crosshair}.focal-canvas img{display:block;width:100%;height:auto}.focal-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;background:#bd663c;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #111;pointer-events:none}.focal-editor{border:1px solid #ddd;padding:12px;margin:18px 0;min-width:0}.crop-editor p,.focal-editor p{font-size:12px;line-height:1.6}.focal-coordinates{display:flex;gap:16px;margin:10px 0}.focal-coordinates label{flex:1 1;min-width:0}.crop-editor{margin:18px 0}.crop-editor summary{min-height:44px;cursor:pointer}.crop-editor label{display:block;margin:12px 0}.crop-preview{overflow:hidden;position:relative;background:#111}.crop-preview img{width:100%;height:100%;object-fit:cover;display:block}.image-information{margin:20px 0;padding:12px;border:1px solid #ddd}.image-information summary{cursor:pointer;min-height:44px}.image-information dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px}.image-information dd{margin:0;overflow-wrap:anywhere}.privacy-control{font:12px Arial,sans-serif;background:transparent;color:inherit;border:0;min-height:44px;text-decoration:underline}.consent-panel{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:440px;z-index:2000;background:#f7f3e9;color:#25241f;padding:22px;border:1px solid #b0976a;box-shadow:0 4px 30px #0003;font:14px/1.6 Arial,sans-serif}.consent-panel button{min-height:44px;padding:10px;margin:4px;border:1px solid #786b51;background:transparent;color:#25241f}.consent-panel a{color:inherit}.privacy-page{max-width:760px;margin:80px auto;padding:24px;line-height:1.8}.mobile-studio-nav{display:none}.gallery-frame button:focus-visible,.gallery-modes button:focus-visible{outline:3px solid #bd8d40;outline-offset:4px}@media (max-width:599px){.gallery-frame figcaption{font-size:12px}.index{padding-inline:16px}.header{gap:16px;flex-wrap:wrap}.header nav{gap:18px}.intro-top{letter-spacing:.08em}.mobile-studio-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;border-top:1px solid #ddd;padding:8px 8px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-studio-nav a{min-height:44px;display:flex;align-items:center;color:#333}.studio{padding-bottom:90px}.studio-inspector{z-index:40!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}.consent-panel{font-size:13px}.lightbox-tools button{flex:1 1}.privacy-page{margin:20px auto}.close{top:max(12px,env(safe-area-inset-top))!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.gallery-stage--compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--column-gap);row-gap:var(--row-gap);height:auto!important;align-items:start}.gallery-stage--compact .gallery-frame{position:relative;left:auto!important;top:auto!important;width:auto!important}.gallery-stage--compact .gallery-image-button{height:auto!important;aspect-ratio:var(--desktop-ratio)}.gallery-stage--compact figcaption{height:var(--caption-height)}@container (max-width:999px){.gallery-stage--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width:599px){.gallery-stage--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-stage--compact .gallery-image-button{aspect-ratio:var(--mobile-ratio)}}