.site-modal{z-index:1000;cursor:zoom-out;background-color:#000;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1.5rem);padding:clamp(1rem,4vw,3rem);display:none;position:fixed;inset:0;overflow:hidden}.site-modal.active{display:flex}.site-modal[data-mode=content]{cursor:default}.site-modal[data-mode=content] .modal-stage,.site-modal[data-mode=content] .modal-prev,.site-modal[data-mode=content] .modal-next,.site-modal[data-mode=image] .modal-panel{display:none}.modal-stage{cursor:default;flex-direction:column;align-items:center;gap:.75rem;min-width:0;margin:0;display:flex}.modal-stage img{object-fit:contain;border:1px solid var(--line);width:auto;max-width:80vw;height:auto;max-height:82vh;box-shadow:0 0 40px #0009}.modal-caption{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:.15rem;display:flex}.modal-title{font-weight:700;font-size:var(--text-base)}.modal-panel{overscroll-behavior:contain;border:1px solid var(--line);width:min(1400px,100vw - 1.5rem);max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 2rem);color:var(--fg);cursor:default;scrollbar-width:none;-ms-overflow-style:none;background:#0d0d0d;padding:clamp(1.25rem,3vw,2rem);position:relative;overflow:auto}.modal-panel::-webkit-scrollbar{display:none}.site-modal:focus{outline:none}.modal-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff4d;flex:none;transition:background .2s,border-color .2s}.modal-btn:focus{outline:none}.modal-btn:focus-visible{outline-offset:2px;outline:1px solid #fff}@media (hover:hover) and (pointer:fine){.modal-btn:hover{background:var(--accent);border-color:var(--accent)}}.modal-btn[hidden]{display:none}.modal-prev,.modal-next{justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;line-height:1;display:flex}.modal-close{z-index:2;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}@media (max-width:768px){.modal-prev,.modal-next{display:none}}
