html:has(dialog.pv[open]){overflow:hidden}.pv{color:#fff;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.pv::backdrop{background:#140e30f0}.pv[open]{animation:pv-in .28s var(--out-ease) both}.pv[open]::backdrop{animation:.28s linear both pv-fade}@keyframes pv-in{0%{opacity:0}}@keyframes pv-fade{0%{opacity:0}}.pv-stage{touch-action:pan-y;place-items:center;padding:72px 88px 40px;display:grid;position:absolute;inset:0}.pv-fig{max-width:100%;max-height:100%;animation:pv-photo .32s var(--out-ease) both;justify-items:center;gap:14px;margin:0;display:grid}@keyframes pv-photo{0%{opacity:0;transform:scale(.97)}}.pv-fig img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:14px;width:auto;max-width:min(100%,1600px);height:auto;max-height:calc(100dvh - 170px);display:block;box-shadow:0 30px 80px #00000059}.pv-cap{max-width:60ch;font:400 15px/1.5 var(--fb);text-align:center;color:#ffffffdb;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;display:flex}.pv-cap a{color:var(--sun);text-underline-offset:3px;font-weight:500;text-decoration:underline}.pv-bar{padding:calc(14px + env(safe-area-inset-top,0px)) 18px 14px 24px;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.pv-bar>*{pointer-events:auto}.pv-count{font:600 15px/1 var(--fd);font-variant-numeric:tabular-nums;color:#fffc}.pv-btn{color:#fff;cursor:pointer;width:48px;height:48px;transition:background .15s linear, transform .15s var(--out-ease);background:#ffffff24;border:0;border-radius:999px;place-items:center;display:grid}.pv-btn:hover{background:#ffffff3d}.pv-btn:active{transform:scale(.94)}.pv-btn:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.pv-btn svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.pv-nav{margin-top:-24px;position:absolute;top:50%}.pv-prev{left:20px}.pv-next{right:20px}@media (max-width:760px){.pv-stage{padding:64px 12px 92px}.pv-fig img{border-radius:10px;max-height:calc(100dvh - 200px)}.pv-nav{top:auto;bottom:calc(22px + env(safe-area-inset-bottom,0px));margin:0}.pv-prev{left:calc(50% - 60px)}.pv-next{right:calc(50% - 60px)}}@media (prefers-reduced-motion:reduce){.pv[open],.pv[open]::backdrop,.pv-fig{animation:none}}.ph-rail__head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.ph-rail__nav{flex:none;gap:10px;display:flex}.ph-rail__btn{background:var(--card);width:48px;height:48px;color:var(--ink);box-shadow:var(--shadow-warm);cursor:pointer;transition:transform .2s var(--spring), opacity .2s linear;border:0;border-radius:999px;place-items:center;display:grid}.ph-rail__btn:hover:not(:disabled){transform:translateY(-2px)}.ph-rail__btn:disabled{opacity:.35;cursor:default}.ph-rail__btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.ph-rail__btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.ph-rail__track{--pad:max(24px, calc((100% - 1192px) / 2));--h:clamp(230px, 26vw, 380px);padding:6px var(--pad) 26px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none;gap:16px;margin:22px 0 0;list-style:none;display:flex;overflow-x:auto}.ph-rail__track::-webkit-scrollbar{display:none}.ph-rail__track li{height:var(--h);aspect-ratio:var(--r);scroll-snap-align:start;flex:none;max-width:88vw}.ph-rail__track button{cursor:zoom-in;width:100%;height:100%;transition:transform .35s var(--spring);background:0 0;border:0;padding:0;display:block}.ph-rail__track button:hover{transform:translateY(-5px)rotate(-.6deg)}.ph-rail__track li:nth-child(2n) button:hover{transform:translateY(-5px)rotate(.6deg)}.ph-rail__track button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.ph-rail__track img{object-fit:contain;filter:drop-shadow(0 16px 18px #231a4f38);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:14px;width:100%;height:100%;display:block}@media (max-width:760px){.ph-rail__track{--pad:16px;--h:240px;gap:12px}.ph-rail__nav{display:none}}@media (prefers-reduced-motion:reduce){.ph-rail__track button,.ph-rail__btn{transition:none}}
