dialog{padding:0;border:0;color:#eee;font-family:Arial,"Helvetica Neue","Microsoft YaHei",sans-serif}dialog::backdrop{background:#000d}dialog[open]{animation:dialog-enter .25s ease-out}body.modal-open,body.menu-open{overflow:hidden}
dialog button,dialog a{min-height:44px}dialog button:focus-visible,dialog a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
dialog .close-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff45;border-radius:4px;font-size:20px}
#lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;background:#161616;overflow:hidden}#lightbox[open]{display:grid;grid-template-rows:72px minmax(0,1fr) auto 70px 27px}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4%;border-bottom:1px solid #ffffff25}.cinema-brand{font-size:11px;letter-spacing:1px;color:#bbb}.lightbox-top>div{display:flex;align-items:center;gap:24px}.lightbox-top .text-link{font-size:13px;color:#eee}
.lightbox-stage{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:18px 76px;touch-action:pan-y}.lightbox-photo{position:relative;flex:none;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#161616}#lb-morph{position:absolute;inset:0;z-index:1;pointer-events:auto}#lb-morph canvas{display:block;width:100%;height:100%;opacity:0}#lb-morph.morph-ready canvas{opacity:1}#lb-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%;overflow:hidden;border-radius:9px}#lb-morph.morph-ready+#lb-fallback{opacity:0}.lightbox-photo #lb-crop{position:absolute;inset:0;overflow:hidden}.lightbox-photo #lb-crop.single-frame{transform:scale(1.07)}.lightbox-photo #lb-crop.single-frame img{position:absolute;width:100%;height:300%;object-fit:fill}.lightbox-photo #lb-crop.single-photo img{width:100%;height:100%;top:0;object-fit:contain}
.lb-arrow{position:absolute;z-index:4;top:calc(50% - 22px);display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff45;border-radius:4px;font-size:24px;background:#222c}.lb-arrow:hover,dialog .close-button:hover{background:#333}.lb-arrow.prev{left:2%}.lb-arrow.next{right:2%}
.lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 4%}.lightbox-meta>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:16px}.lightbox-meta h2{font-size:24px;letter-spacing:-.04em;font-weight:600}#lightbox-index{font-size:11px;color:#aaa}#lightbox-caption{grid-column:2;font-size:12px;color:#aaa;margin-top:5px}.lightbox-meta>a{display:flex;align-items:center;font-size:12px;color:#ccc;white-space:nowrap}
.lightbox-thumbs{display:flex;gap:10px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:4px 4% 10px}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumbs button{position:relative;flex:0 0 86px;width:86px;height:54px;opacity:.4;border:1px solid transparent;border-radius:4px;overflow:hidden}.lightbox-thumbs button.active,.lightbox-thumbs button:hover{opacity:1}.lightbox-thumbs button.active{border-color:#eee}.lightbox-thumbs .single-frame{inset:8px 0}.lightbox-thumbs .single-photo img{object-fit:contain}.lightbox-help{font-size:11px;line-height:25px;text-align:center;color:#aaa}
#contact-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:65px 40px 30px;border-radius:8px;background:#eee;color:#222;overflow:auto}#contact-dialog>.close-button{position:absolute;right:16px;top:16px;border-color:#bbb}#contact-dialog>.close-button:hover{background:#ddd}#contact-dialog>.eyebrow{font-size:11px;letter-spacing:1px;color:#555}#contact-title{font-size:44px;line-height:1.15;letter-spacing:-.04em;margin-top:24px;font-weight:600}.contact-dialog-copy{font-size:14px;line-height:1.8;margin-top:24px;color:#555}.primary-link{display:flex;align-items:center;justify-content:space-between;background:#222;color:#fff;padding:12px 24px;margin-top:28px;border-radius:8px;font-size:15px}.primary-link span{font-size:22px}.primary-link:hover{background:#000}.wechat-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 0 18px;border-bottom:1px solid #ccc}.wechat-line small{display:block;font-size:12px;color:#555;margin-bottom:5px}.wechat-line strong{font-size:23px;font-weight:500;user-select:all}.wechat-line button{font-size:13px}.contact-source{display:block;font-size:11px;color:#555;line-height:1.6;margin-top:13px}.copy-status{min-height:24px;font-size:12px;margin-top:12px}
.lightbox-photo #lb-crop.single-frame img{transform:none}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){#lightbox[open]{grid-template-rows:64px minmax(0,1fr) auto 62px 24px}.lightbox-top{padding:0 12px;gap:8px}.cinema-brand{max-width:70px;font-size:8px;letter-spacing:0;line-height:1.5}.lightbox-top>div{gap:10px}.lightbox-top .text-link{font-size:11px}.lightbox-stage{padding:10px 10px}.lb-arrow{top:auto;bottom:12px}.lb-arrow.prev{left:12px}.lb-arrow.next{right:12px}.lightbox-meta{padding:10px 16px;gap:12px}.lightbox-meta h2{font-size:20px}.lightbox-meta>div{column-gap:10px}#lightbox-index{font-size:10px}#lightbox-caption{font-size:10px;line-height:1.5}.lightbox-meta>a{font-size:10px}.lightbox-thumbs{padding:3px 16px 8px;gap:7px}.lightbox-thumbs button{flex-basis:62px;width:62px;height:48px}.lightbox-thumbs .single-frame{inset:10px 0}.lightbox-help{font-size:10px}#contact-dialog{padding:65px 25px 25px}#contact-title{font-size:37px}.contact-dialog-copy{font-size:13px}}
@media(max-height:450px){#lightbox[open]{grid-template-rows:56px minmax(0,1fr) auto 52px}.lightbox-stage{padding:6px 67px}.lightbox-meta{padding-top:6px;padding-bottom:4px}.lightbox-meta h2{font-size:18px}#lightbox-caption{font-size:10px}.lightbox-thumbs{padding-top:2px;padding-bottom:2px}.lightbox-thumbs button{height:44px}.lightbox-help{display:none}.lb-arrow{top:calc(50% - 22px);bottom:auto}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}
