.photos-dome-page{width:100vw;height:100vh;overflow:hidden;background:var(--background-color,#060010)}.photos-header-row{margin-bottom:var(--spacing-xl)}.photos-title{text-align:center;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text-color);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);transition:color var(--transition-normal)}.photo-item-col{display:flex;justify-content:center}.photo-card{background-color:var(--card-background-color);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:all var(--transition-normal);width:100%;margin-bottom:var(--spacing-md);display:flex;flex-direction:column;border:1px solid var(--border-color);box-shadow:var(--shadow)}.photo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.photo-image-preview{width:100%;height:250px;object-fit:cover;display:block}.photo-date-overlay{position:absolute;bottom:0;left:0;width:100%;background:rgba(0,0,0,.6);color:#fff;padding:8px;font-size:.85rem;text-align:center;opacity:0;transition:opacity .3s ease}.photo-card:hover .photo-date-overlay{opacity:1}.custom-modal-image{max-width:90vw;max-height:80vh;height:auto;width:auto;border-radius:8px;display:block;margin:auto}.custom-modal-close-button{position:absolute;top:15px;right:15px;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.photo-modal-image{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;border-radius:6px;margin-bottom:15px}.photo-modal-info{text-align:center;width:100%;color:var(--text-color);transition:color .3s ease}.photo-modal-info p{margin-bottom:15px;font-size:.95rem}.photo-modal-info .download-button{background-color:var(--button-background-color);border-color:var(--button-background-color);color:var(--button-text-color);font-weight:var(--font-weight-bold);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-normal)}.photo-modal-info .download-button:hover{background-color:var(--button-hover-background-color);border-color:var(--button-hover-background-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.image-open-prompt{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translateX(-50%);background-color:var(--card-background-color);color:var(--text-color);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);z-index:100;font-size:var(--font-size-sm);transition:all var(--transition-normal);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.photos-count-footer{color:var(--text-color-secondary);font-weight:var(--font-weight-normal);text-align:center;margin-top:var(--spacing-lg);transition:color var(--transition-normal)}@media (max-width:1024px){.photos-title{font-size:var(--font-size-3xl);margin-bottom:var(--mobile-spacing-xl)}.photo-image-preview{height:200px}.photo-date-overlay{font-size:var(--font-size-sm);padding:var(--mobile-spacing-sm)}}@media (max-width:768px){.photos-header-row,.photos-title{margin-bottom:var(--mobile-spacing-lg)}.photos-title{font-size:var(--font-size-3xl)}.photo-card{margin-bottom:var(--mobile-spacing-md)}.photo-image-preview{height:180px}.photo-date-overlay{font-size:var(--font-size-sm);padding:var(--mobile-spacing-sm)}.photo-modal-image{max-height:60vh;margin-bottom:var(--mobile-spacing-md)}.photo-modal-info{padding:0 var(--mobile-spacing-md)}.photo-modal-info p{font-size:var(--font-size-sm);margin-bottom:var(--mobile-spacing-sm)}.photo-modal-info .download-button{padding:var(--mobile-spacing-sm) var(--mobile-spacing-lg);font-size:var(--font-size-sm);min-height:var(--touch-target-size-small)}.image-open-prompt{font-size:var(--font-size-sm);padding:var(--mobile-spacing-md) var(--mobile-spacing-lg);bottom:var(--mobile-spacing-md);left:var(--mobile-spacing-md);right:var(--mobile-spacing-md);transform:none;border-radius:var(--border-radius-small)}.photos-count-footer{font-size:var(--font-size-sm);margin-top:var(--mobile-spacing-lg)}}@media (max-width:576px){.photos-title{font-size:var(--font-size-2xl);margin-bottom:var(--mobile-spacing-md)}.photo-card{margin-bottom:var(--mobile-spacing-sm)}.photo-image-preview{height:160px}.photo-date-overlay{font-size:var(--font-size-xs);padding:var(--mobile-spacing-sm)}.photo-modal-image{max-height:50vh;margin-bottom:var(--mobile-spacing-sm)}.photo-modal-info{padding:0 var(--mobile-spacing-sm)}.photo-modal-info p{font-size:var(--font-size-sm);margin-bottom:var(--mobile-spacing-sm)}.photo-modal-info .download-button{font-size:var(--font-size-sm);width:100%}.image-open-prompt,.photo-modal-info .download-button{padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)}.image-open-prompt{font-size:var(--font-size-xs);bottom:var(--mobile-spacing-sm);left:var(--mobile-spacing-sm);right:var(--mobile-spacing-sm)}.photos-count-footer{font-size:var(--font-size-xs);margin-top:var(--mobile-spacing-md)}}@media (max-width:360px){.photos-title{font-size:var(--font-size-xl)}.photo-image-preview{height:140px}.photo-date-overlay{font-size:10px;padding:var(--mobile-spacing-xs)}.photo-modal-image{max-height:45vh}.image-open-prompt{font-size:10px;padding:var(--mobile-spacing-xs) var(--mobile-spacing-sm)}}.loader{width:16px;height:16px;border-radius:50%;display:block;margin:15px auto;position:relative;background:var(--text-color);box-shadow:-24px 0 var(--text-color),24px 0 var(--text-color);box-sizing:border-box;animation:shadowPulse 2s linear infinite}@keyframes shadowPulse{33%{background:var(--text-color);box-shadow:-24px 0 var(--link-hover-color),24px 0 var(--text-color)}66%{background:var(--link-hover-color);box-shadow:-24px 0 var(--text-color),24px 0 var(--text-color)}to{background:var(--text-color);box-shadow:-24px 0 var(--text-color),24px 0 var(--link-hover-color)}}.ant-modal-content{transition:background-color .3s ease,color .3s ease}.ant-modal-content,.ant-modal-header{background-color:var(--background-color)!important;color:var(--text-color)!important}.ant-modal-header{border-bottom:1px solid var(--text-color)!important;transition:background-color .3s ease,color .3s ease,border-bottom-color .3s ease}.ant-modal-close .ant-modal-close-x .anticon,.ant-modal-title{color:var(--text-color)!important;transition:color .3s ease}.ant-modal-footer{border-top:1px solid var(--text-color)!important;transition:border-top-color .3s ease}.ant-modal-footer .ant-btn-primary{background-color:var(--button-background-color)!important;border-color:var(--button-background-color)!important;color:var(--button-text-color)!important}.ant-modal-footer .ant-btn-primary:hover{background-color:var(--button-hover-background-color)!important;border-color:var(--button-hover-background-color)!important}.ant-modal-footer .ant-btn-default{background-color:transparent!important;border-color:var(--text-color)!important;color:var(--text-color)!important}.ant-modal-footer .ant-btn-default:hover{border-color:var(--link-hover-color)!important;color:var(--link-hover-color)!important}.sphere-root{position:relative;width:100%;height:100%;--radius:520px;--viewer-pad:72px;--circ:calc(var(--radius) * 3.14);--rot-y:calc((360deg / var(--segments-x)) / 2);--rot-x:calc((360deg / var(--segments-y)) / 2);--item-width:calc(var(--circ) / var(--segments-x));--item-height:calc(var(--circ) / var(--segments-y))}.sphere-root *{box-sizing:border-box}.item,.item__image,.sphere{transform-style:preserve-3d}main.sphere-main{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;background:transparent}.stage{width:100%;height:100%;display:grid;place-items:center;perspective:calc(var(--radius) * 2);perspective-origin:50% 50%;contain:layout paint size}.sphere{transform:translateZ(calc(var(--radius) * -1));will-change:transform}.overlay,.overlay--blur{position:absolute;inset:0;margin:auto;z-index:3;pointer-events:none}.overlay{background-image:radial-gradient(hsla(0,0%,92%,0) 65%,var(--overlay-blur-color,#060010) 100%)}.overlay--blur{-webkit-mask-image:radial-gradient(hsla(0,0%,92%,0) 70%,var(--overlay-blur-color,#060010) 90%);mask-image:radial-gradient(hsla(0,0%,92%,0) 70%,var(--overlay-blur-color,#060010) 90%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.item{width:calc(var(--item-width) * var(--item-size-x));height:calc(var(--item-height) * var(--item-size-y));top:-999px;bottom:-999px;left:-999px;right:-999px;margin:auto;transform-origin:50% 50%;transform:rotateY(calc(var(--rot-y) * (var(--offset-x) + ((var(--item-size-x) - 1) / 2)) + var(--rot-y-delta, 0deg))) rotateX(calc(var(--rot-x) * (var(--offset-y) - ((var(--item-size-y) - 1) / 2)) + var(--rot-x-delta, 0deg))) translateZ(var(--radius))}.item,.item__image{position:absolute;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .3s}.item__image{display:block;inset:10px;border-radius:var(--tile-radius,12px);background:transparent;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;pointer-events:auto;transform:translateZ(0)}.item__image:focus{outline:none}.item__image img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;filter:var(--image-filter,none)}.viewer{position:absolute;inset:0;z-index:20;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:var(--viewer-pad)}.viewer .frame{height:100%;aspect-ratio:1;border-radius:var(--enlarge-radius,32px);display:flex}@media (max-aspect-ratio:1/1){.viewer .frame{height:auto;width:100%}}.viewer .scrim{position:absolute;inset:0;z-index:10;background:rgba(0,0,0,.4);pointer-events:none;opacity:0;transition:opacity .5s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sphere-root[data-enlarging=true] .viewer .scrim{opacity:1;pointer-events:all}.viewer .enlarge{position:absolute;z-index:30;border-radius:var(--enlarge-radius,32px);overflow:hidden;transition:transform .5s ease,opacity .5s ease;transform-origin:top left;box-shadow:0 10px 30px rgba(0,0,0,.35)}.viewer .enlarge img{width:100%;height:100%;object-fit:cover}.sphere-root .enlarge-closing img,.viewer .enlarge img{filter:var(--image-filter,none)}.edge-fade{position:absolute;left:0;right:0;height:120px;z-index:5;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--overlay-blur-color,#060010))}.edge-fade--top{top:0;transform:rotate(180deg)}.edge-fade--bottom{bottom:0}.dg-scroll-lock{overflow:hidden}