.home-idle-preview__name { color:inherit; text-decoration:none; cursor:pointer; }
.home-idle-preview__name:hover { text-decoration:underline; text-underline-offset:3px; }
.home-idle-preview__name:focus-visible,.home-idle-preview__viewport:focus-visible { outline:2px solid #222; outline-offset:3px; }
.home-idle-preview__viewport { cursor:zoom-in; }
.home-idle-image-viewer:not([open]) { display:none; }
.home-idle-image-viewer[open] { box-sizing:border-box; position:fixed; inset:0; z-index:11000; width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; display:grid; grid-template-rows:minmax(0,1fr) auto; border:0; background:#000; color:#fff; }
.home-idle-image-viewer::backdrop { background:rgba(0,0,0,.8); }
.home-idle-image-viewer__close { position:absolute; top:calc(14px + env(safe-area-inset-top)); right:16px; z-index:1; width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; background:transparent; color:#fff; font-size:20px; cursor:pointer; }
.home-idle-image-viewer__stage { min-width:0; min-height:0; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.home-idle-image-viewer__stage::-webkit-scrollbar { display:none; }
.home-idle-image-viewer__slide { box-sizing:border-box; position:relative; flex:0 0 100%; min-width:0; min-height:0; padding:70px 0 16px; display:flex; align-items:center; justify-content:center; scroll-snap-align:center; }
.home-idle-image-viewer__slide img { display:block; max-width:95%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.home-idle-image-viewer__previous,.home-idle-image-viewer__next { position:absolute; top:50%; z-index:1; width:42px; height:42px; border:0; border-radius:50%; background:rgba(0,0,0,.5); color:#fff; cursor:pointer; transform:translateY(-50%); }
.home-idle-image-viewer__previous { left:12px; }
.home-idle-image-viewer__next { right:12px; }
.home-idle-image-viewer__previous[hidden],.home-idle-image-viewer__next[hidden] { display:none; }
.home-idle-image-viewer__counter { position:absolute; top:80px; left:5%; z-index:1; padding:6px 9px; border-radius:4px; background:rgba(0,0,0,.62); color:#fff; font-size:12px; line-height:1; }
.home-idle-image-viewer__similar { position:absolute; right:5%; bottom:calc(92px + env(safe-area-inset-bottom)); z-index:1; display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:0; border-radius:5px; background:rgba(0,0,0,.7); color:#fff; font-size:13px; text-decoration:none; white-space:nowrap; }
.home-idle-image-viewer__download { box-sizing:border-box; width:90%; min-height:48px; margin:0 auto calc(22px + env(safe-area-inset-bottom)); padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:.5px solid #fff; border-radius:7px; background:transparent; color:#fff; font-size:14px; font-weight:300; text-decoration:none; }
.home-idle-image-viewer__close:focus-visible,.home-idle-image-viewer__download:focus-visible,.home-idle-image-viewer__previous:focus-visible,.home-idle-image-viewer__next:focus-visible,.home-idle-image-viewer__notice button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.home-idle-image-viewer__similar:focus-visible { outline:0; text-decoration:underline; text-underline-offset:3px; }
.home-idle-image-viewer__notice[hidden] { display:none; }
.home-idle-image-viewer__notice { position:absolute; inset:0; z-index:2; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.72); }
.home-idle-image-viewer__notice>div { box-sizing:border-box; width:min(100%,360px); padding:24px; border:1px solid rgba(255,255,255,.5); border-radius:8px; background:rgba(16,16,16,.96); color:#fff; text-align:center; box-shadow:0 12px 36px rgba(0,0,0,.4); }
.home-idle-image-viewer__notice p { margin:0 0 18px; color:#fff !important; font-size:15px; font-weight:500; line-height:1.55; }
.home-idle-image-viewer__notice button { min-width:90px; min-height:42px; border:.5px solid #fff; border-radius:6px; background:transparent; color:#fff; font-size:14px; cursor:pointer; }
@media(max-width:600px) { .home-idle-image-viewer__previous,.home-idle-image-viewer__next { display:none; } }
