.article-image-viewer-wrap .article-hero img,.article-image-viewer-wrap .article-body img{cursor:zoom-in;transition:opacity .15s}.article-image-viewer-wrap .article-hero img:hover,.article-image-viewer-wrap .article-body img:hover{opacity:.85}.image-viewer-overlay{z-index:1100;-webkit-tap-highlight-color:transparent;background:#000;justify-content:center;align-items:center;animation:.2s imageViewerIn;display:flex;position:fixed;inset:0}@keyframes imageViewerIn{0%{opacity:0}to{opacity:1}}.image-viewer-close{z-index:1110;color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:1rem;right:1rem}.image-viewer-close:hover{background:#ffffff40}.image-viewer-img-wrap{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;max-width:96vw;max-height:92vh;display:flex}.image-viewer-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:4px;max-width:96vw;max-height:92vh;animation:.25s imageViewerZoomIn}@keyframes imageViewerZoomIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.image-viewer-caption{text-align:center;color:#ffffffe0;-webkit-backdrop-filter:blur(8px);pointer-events:none;background:#0000008c;border-radius:8px;max-width:80%;padding:.45rem 1rem;font-size:.82rem;line-height:1.4;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.image-viewer-counter{color:#fff9;font-size:.72rem;font-family:var(--font-mono,"JetBrains Mono", monospace);letter-spacing:1.5px;pointer-events:none;position:absolute;top:1.25rem;left:50%;transform:translate(-50%)}.image-viewer-arrow{z-index:1110;color:#ffffffbf;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-viewer-arrow:hover{color:#fff;background:#fff3}.image-viewer-arrow svg{stroke-width:2.5px;fill:none;stroke:currentColor;width:20px;height:20px}.image-viewer-prev{left:1rem}.image-viewer-next{right:1rem}.image-viewer-overlay[data-single=true] .image-viewer-arrow,.image-viewer-overlay[data-single=true] .image-viewer-counter{display:none}@media (max-width:768px){.image-viewer-img-wrap,.image-viewer-img{max-width:98vw;max-height:88vh}.image-viewer-arrow{width:40px;height:40px}.image-viewer-prev{left:.5rem}.image-viewer-next{right:.5rem}.image-viewer-caption{max-width:92%;font-size:.75rem;bottom:.75rem}}@media (max-width:480px){.image-viewer-arrow{width:38px;height:38px;top:auto;bottom:3.5rem;transform:none}.image-viewer-prev{left:1.25rem}.image-viewer-next{right:1.25rem}.image-viewer-caption{padding:.35rem .75rem;bottom:.5rem}}
.article-gallery{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;margin-bottom:.25rem;position:relative;overflow:hidden}.article-gallery:hover{border-color:#dc143c4d}.article-gallery-track{width:100%;position:relative;overflow:hidden}.article-gallery-slide{opacity:0;visibility:hidden;z-index:1;transition:opacity .6s,visibility .6s;position:absolute;inset:0}.article-gallery-slide.active{opacity:1;visibility:visible;z-index:2;position:relative}.article-gallery-image{aspect-ratio:16/9;object-fit:cover;cursor:zoom-in;width:100%;height:auto;transition:transform 7s;display:block}.article-gallery-slide.active .article-gallery-image{transform:scale(1.05)}.article-gallery-cutline{color:var(--text-secondary,#8888a0);font-size:.78rem;font-style:italic;font-family:var(--font-mono,"JetBrains Mono"), monospace;background:var(--bg-card);border-top:1px solid var(--border);margin:0;padding:.5rem 1rem .35rem;line-height:1.4}.article-gallery-arrow{z-index:5;color:#ffffffb3;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:48px;padding:0;transition:background .2s,color .2s;display:flex;position:absolute;top:0;bottom:0}.article-gallery-arrow:hover{color:#fff;background:#00000059}.article-gallery-arrow--prev{border-radius:16px 0 0;left:0}.article-gallery-arrow--next{border-radius:0 16px 0 0;right:0}.article-gallery-nav{background:var(--bg-card);border-top:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.article-gallery-dots{gap:.5rem;display:flex}.article-gallery-dot{border:2px solid var(--text-secondary);cursor:pointer;opacity:.5;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;transition:all .25s}.article-gallery-dot:hover{opacity:.8}.article-gallery-dot.active{opacity:1;background:#dc143c;border-color:#dc143c;transform:scale(1.15)}.article-gallery-progress{background:var(--border);border-radius:3px;flex:1;height:3px;margin-left:1.5rem;overflow:hidden}.article-gallery-progress-bar{background:linear-gradient(90deg,#dc143c,#ff4d6d);width:0%;height:100%;animation:7s linear forwards gallery-progress}@keyframes gallery-progress{0%{width:0%}to{width:100%}}@media (max-width:1024px){.article-gallery-image{aspect-ratio:16/9}}@media (max-width:768px){.article-gallery-image{aspect-ratio:16/10}.article-gallery-nav{padding:.5rem .75rem}.article-gallery-cutline{padding:.4rem .75rem .25rem;font-size:.72rem}.article-gallery-arrow{width:36px}.article-gallery-arrow svg{width:16px;height:16px}}@media (max-width:480px){.article-gallery-image{aspect-ratio:4/3}.article-gallery-cutline{padding:.35rem .6rem .2rem;font-size:.68rem}.article-gallery-arrow{width:32px}}
