.shv-sharepage{min-height:100vh;display:flex;flex-direction:column;background:var(--shv-bg);color:var(--shv-text)}
.shv-header--share{position:sticky}
.shv-sharebrand{display:grid;gap:2px}.shv-sharebrand strong{font-size:15px;line-height:1.3}.shv-sharebrand span{font-size:12px;color:var(--shv-muted)}
.shv-sharehero{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:18px 16px 10px}.shv-sharehero h1{margin:0;font-size:28px;line-height:1.1}.shv-sharehero p{margin:8px 0 0;color:var(--shv-muted)}.shv-shareactions{display:flex;gap:8px;flex-wrap:wrap}
.shv-sharepanel{margin:0 16px 14px}.shv-sharestats{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--shv-muted)}.shv-subnav{padding:0 16px 12px}.shv-sharefooter{padding:0 16px 16px;color:var(--shv-muted);font-size:12px}
@media (max-width:720px){.shv-sharehero{padding:16px 12px 10px;align-items:flex-start;flex-direction:column}.shv-sharepanel{margin-left:12px;margin-right:12px}.shv-subnav,.shv-sharefooter{padding-left:12px;padding-right:12px}}


/* v0.4.2 share page control fixes */
.shv-shareactions .shv-btn,
.shv-subnav .shv-btn,
.shv-photo-card__actions .shv-btn{height:30px;padding:0 10px;border-radius:9px;font-size:12px}
.shv-shareactions{align-items:center}
.shv-chiprow{display:flex;gap:6px;flex-wrap:wrap}
.shv-chiprow form{margin:0}
.shv-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:1px solid var(--shv-border);border-radius:5px;background:var(--shv-surface-2);color:var(--shv-muted);font-size:11px;line-height:1;cursor:pointer}
.shv-chip__icon{font-size:14px}
.shv-chip:hover{background:var(--shv-hover);color:var(--shv-text)}
.shv-chip.is-active{font-weight:700;color:var(--shv-text)}
.shv-chip.is-favorite,.shv-chip.is-pending{background:rgba(255,92,140,.12);border-color:rgba(255,92,140,.24);color:#d94d73}
.shv-chip.is-ok,.shv-chip.is-confirmed{background:var(--shv-accent-soft);border-color:rgba(127,191,0,.25);color:#557f00}
.shv-chip.is-ng{background:var(--shv-danger-soft);border-color:rgba(209,67,67,.25);color:var(--shv-danger)}
.shv-photo-card__body{gap:8px}
.shv-photo-card__thumb{border-bottom:1px solid var(--shv-border)}
.shv-photo-grid--share{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.shv-sharehero h1{font-size:32px}
@media (max-width:720px){.shv-shareactions .shv-btn,.shv-photo-card__actions .shv-btn{height:28px;font-size:11px;padding:0 8px}.shv-chip{height:24px;font-size:10px}}


/* v0.4.4 share page hotfix + ui refinements */
.shv-sharehead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--shv-border);background:var(--shv-surface)}
.shv-sharehead__brand{display:flex;align-items:center;gap:12px;min-width:0}.shv-sharehead__meta{display:grid;gap:2px;min-width:0}.shv-sharehead__meta strong{font-size:15px;line-height:1.2}.shv-sharehead__meta span{font-size:12px;color:var(--shv-muted)}.shv-sharehead__actions{display:flex;align-items:center;gap:8px}
.shv-sharebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px}.shv-shareactions{display:flex;gap:6px;flex-wrap:wrap}.shv-sharepanel--meta{padding-top:0}.shv-sharestats{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--shv-muted)}
.shv-photo-card--share .shv-photo-card__body{gap:8px}.shv-photo-card--share .shv-photo-card__actions .shv-btn{height:28px;padding:0 9px;border-radius:5px;font-size:11px}.shv-chip{border-radius:5px;height:24px;padding:0 7px;font-size:10px}.shv-chip--readonly{display:inline-flex;align-items:center;text-decoration:none}
.shv-sharepage .shv-btn,.shv-sharepage .shv-iconbtn{border-radius:5px}.shv-sharepage .shv-panel,.shv-sharepage .shv-foldertile,.shv-sharepage .shv-photo-card{border-radius:5px}
@media (max-width:720px){.shv-sharehead,.shv-sharebar{padding-left:12px;padding-right:12px}.shv-sharehead{align-items:flex-start;flex-direction:column}.shv-sharebar{align-items:flex-start;flex-direction:column}.shv-sharehead__actions,.shv-shareactions{width:100%}}


/* v0.4.6 shared header layout fix */
.shv-sharepage{background:var(--shv-bg);color:var(--shv-text)}
.shv-sharehead{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--shv-surface);border-bottom:1px solid var(--shv-border)}
.shv-sharehead__brand{display:flex;align-items:center;gap:12px;min-width:0}
.shv-sharehead__meta{display:grid;gap:2px;min-width:0}
.shv-sharehead__meta strong{font-size:14px;line-height:1.3;color:var(--shv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shv-sharehead__meta span{font-size:12px;line-height:1.4;color:var(--shv-muted)}
.shv-sharehead__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shv-sharebar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid var(--shv-border);background:var(--shv-bg)}
.shv-sharebar__primary{display:grid;gap:8px;min-width:0}
.shv-sharebar__primary h1{margin:0;font-size:30px;line-height:1.1;color:var(--shv-text)}
.shv-sharemeta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;line-height:1.5;color:var(--shv-muted)}
.shv-sharemeta span{display:inline-flex;align-items:center}
.shv-breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;line-height:1.5;color:var(--shv-muted)}
.shv-breadcrumbs a{color:var(--shv-text);text-decoration:none}
.shv-breadcrumbs a:hover{text-decoration:underline}
.shv-shareactions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center;flex:0 0 auto}
.shv-sharepanel{margin:0 16px 14px}
.shv-sharepage .shv-panel__head{padding:12px 14px}
.shv-sharepage .shv-panel__body{padding:14px}
@media (max-width: 960px){
  .shv-sharebar{flex-direction:column;align-items:stretch}
  .shv-shareactions{justify-content:flex-start}
}
@media (max-width: 720px){
  .shv-sharehead{padding:10px 12px;align-items:flex-start;flex-direction:column}
  .shv-sharehead__brand,.shv-sharehead__actions{width:100%}
  .shv-sharebar{padding:14px 12px}
  .shv-sharebar__primary h1{font-size:24px}
  .shv-sharepanel{margin-left:12px;margin-right:12px}
}


/* v0.4.9 share panel spacing alignment */
.shv-sharepanel{
  margin:var(--shv-panel-gap-y) 16px;
}
.shv-sharepanel:first-of-type{
  margin-top:var(--shv-panel-gap-y);
}
.shv-sharepage .shv-panel__head{
  padding:12px var(--shv-panel-pad-x);
}
.shv-sharepage .shv-panel__body{
  padding:var(--shv-panel-pad-y) var(--shv-panel-pad-x);
}
.shv-sharepage .shv-panel__body > * + *{
  margin-top:var(--shv-space-sm);
}
.shv-sharepage .shv-foldertiles,
.shv-sharepage .shv-photo-grid{
  margin:0;
}
@media (max-width: 720px){
  .shv-sharepanel{
    margin:var(--shv-space-sm) 12px;
  }
  .shv-sharepage .shv-panel__body{
    padding:var(--shv-space-sm);
  }
}

.shv-foldertile__subtitle{font-size:12px;line-height:1.45;color:var(--shv-muted);margin-top:2px}
.shv-detail-sharelist{display:grid;gap:10px}
.shv-detail-shareitem{padding:10px;border:1px solid var(--shv-border);border-radius:5px;background:var(--shv-surface-2)}
.shv-detail-shareitem__meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--shv-muted);margin-bottom:6px}
.shv-detail-shareitem__url{font-size:12px;line-height:1.55;word-break:break-all;margin-bottom:8px}
.shv-detail-shareitem__actions{display:flex;justify-content:flex-end;gap:6px}
.shv-log-controls{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:end}
.shv-log-filterform,.shv-log-limitform,.shv-log-clearform{display:grid;gap:6px}
.shv-log-limitform{grid-template-columns:1fr auto;align-items:end}
.shv-log-detail-cell{max-width:420px;white-space:normal;word-break:break-word;font-size:12px;line-height:1.55}
.shv-upload-progress{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--shv-border);border-radius:5px;background:var(--shv-surface-2)}
.shv-upload-progress__bar{height:8px;border-radius:5px;background:rgba(127,191,0,.12);overflow:hidden}
.shv-upload-progress__bar span{display:block;height:100%;width:0;background:var(--shv-accent);transition:width .18s ease}
.shv-upload-progress__meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--shv-muted)}
@media (max-width: 980px){.shv-log-controls{grid-template-columns:1fr}.shv-log-limitform{grid-template-columns:1fr}}


/* v0.5.1 share card background normalization */
.shv-sharepage .shv-photo-card__thumb{background:var(--shv-surface-2)}


.shv-chiprow--icononly{gap:8px}
.shv-chiprow--icononly form{margin:0}
.shv-ratebtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--shv-border);border-radius:5px;background:var(--shv-surface-2);color:var(--shv-muted);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.shv-ratebtn:hover{background:var(--shv-hover);color:var(--shv-text);transform:translateY(-1px)}
.shv-ratebtn:focus-visible{outline:2px solid rgba(127,191,0,.28);outline-offset:2px}
.shv-ratebtn__glyph{font-size:15px;line-height:1;font-weight:700}
.shv-ratebtn.is-active{font-weight:700}
.shv-ratebtn.is-favorite{background:rgba(255,92,140,.12);border-color:rgba(255,92,140,.24);color:#d94d73}
.shv-ratebtn.is-ok{background:var(--shv-accent-soft);border-color:rgba(127,191,0,.25);color:#557f00}
.shv-ratebtn.is-ng{background:var(--shv-danger-soft);border-color:rgba(209,67,67,.25);color:var(--shv-danger)}
.shv-shareactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.shv-shareactions .shv-ratebtn{width:34px;height:34px}
@media (max-width:720px){.shv-ratebtn{width:28px;height:28px}.shv-ratebtn__glyph{font-size:14px}.shv-shareactions .shv-ratebtn{width:30px;height:30px}}

.shv-ratebtn__icon{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.shv-ratebtn .shv-ico{font-size:18px}.shv-chiprow--icononly form{display:inline-flex}.shv-ratebtn{min-width:34px;min-height:34px}.shv-shareactions .shv-ratebtn{min-width:36px;min-height:36px}

/* v0.5.32 share gallery mobile UX */
.shv-header--share{position:sticky;top:0;z-index:40}
.shv-header--share .shv-header__left,.shv-header--share .shv-header__right{display:flex;align-items:center;gap:10px}
.shv-sharepage{background:var(--shv-bg);color:var(--shv-text)}
.shv-sharebar--simple{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 8px;border-bottom:1px solid var(--shv-border);background:var(--shv-bg)}
.shv-sharebar--simple .shv-sharebar__primary{display:grid;gap:6px;min-width:0}
.shv-sharebar--simple .shv-sharebar__primary h1{margin:0;font-size:28px;line-height:1.15;color:var(--shv-text)}
.shv-shareactions--bulk{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.shv-sharepanel--folders{margin-top:12px}
.shv-sharegallery{padding:10px 16px 16px}
.shv-photo-grid--share{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:8px}
.shv-photo-card--share{border:0;background:transparent;box-shadow:none;overflow:visible}
.shv-photo-card--share .shv-photo-card__thumb{position:relative;aspect-ratio:1/1;border:0;border-radius:5px;background:var(--shv-surface-2);overflow:hidden}
.shv-photo-card--share .shv-photo-card__thumb img{width:100%;height:100%;object-fit:cover}
.shv-photo-card--share .shv-photo-card__body,.shv-photo-card--share .shv-photo-card__actions,.shv-photo-card--share .shv-photo-card__name{display:none}
.shv-photo-card__overlaymark{position:absolute;right:7px;bottom:7px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:rgba(11,18,30,.86);box-shadow:0 6px 18px rgba(0,0,0,.24)}
.shv-photo-card__overlaymark .shv-ico{font-size:15px;color:#fff;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20}
.shv-photo-card__overlaymark.is-favorite{background:rgba(217,77,115,.92)}
.shv-photo-card__overlaymark.is-ok{background:rgba(85,127,0,.92)}
.shv-photo-card__overlaymark.is-ng{background:rgba(209,67,67,.92)}
.shv-ratebtn{background:transparent;border-color:transparent;color:var(--shv-muted)}
.shv-ratebtn:hover{background:rgba(127,141,153,.14);border-color:transparent;color:var(--shv-text);transform:none}
.shv-ratebtn.is-active,.shv-ratebtn.is-favorite,.shv-ratebtn.is-ok,.shv-ratebtn.is-ng{background:transparent}
.shv-ratebtn.is-favorite{color:#d94d73}
.shv-ratebtn.is-ok{color:#7fbf00}
.shv-ratebtn.is-ng{color:#ff6a6a}
.shv-ratebtn.is-active .shv-ico,.shv-ratebtn.is-favorite .shv-ico,.shv-ratebtn.is-ok .shv-ico,.shv-ratebtn.is-ng .shv-ico{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}
.shv-ratebtn--modal{border:1px solid var(--shv-border);background:var(--shv-surface-2)}
.shv-ratebtn--modal:hover{background:var(--shv-hover);border-color:var(--shv-border)}
.shv-modal__toolbar .shv-btn{height:40px}
.shv-modal__toolbar .shv-btn .shv-ico{font-size:18px}
@media (max-width:960px){
  .shv-sharebar--simple{flex-direction:column;align-items:stretch}
  .shv-shareactions--bulk{justify-content:flex-start}
}
@media (max-width:720px){
  .shv-header--share{padding:10px 12px}
  .shv-header--share .shv-header__right .shv-btn span:last-child{display:none}
  .shv-sharebar--simple{padding:12px 12px 6px}
  .shv-sharebar--simple .shv-sharebar__primary h1{font-size:22px}
  .shv-sharegallery{padding:8px 12px 14px}
  .shv-sharepanel{margin-left:12px;margin-right:12px}
  .shv-photo-grid--share{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}
  .shv-photo-card__overlaymark{right:5px;bottom:5px;width:20px;height:20px}
  .shv-photo-card__overlaymark .shv-ico{font-size:13px}
  .shv-ratebtn{width:36px;height:36px;min-width:36px;min-height:36px}
}


/* v0.5.33 share motion polish */
.shv-photo-card--share .shv-photo-card__thumb{
  transition:transform var(--shv-motion-fast,.16s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1));
}
.shv-photo-card--share .shv-photo-card__thumb.is-tapped{
  transform:scale(.988);
}
.shv-photo-card--share .shv-photo-card__thumb img{
  transition:
    transform var(--shv-motion-mid,.22s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1)),
    filter var(--shv-motion-mid,.22s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1));
  will-change:transform;
}
.shv-photo-card--share .shv-photo-card__thumb:hover img{
  transform:scale(1.02);
}
.shv-ratebtn,
.shv-ratebtn .shv-ico,
.shv-photo-card__overlaymark{
  transition:
    transform var(--shv-motion-fast,.16s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1)),
    color var(--shv-motion-fast,.16s) ease,
    background-color var(--shv-motion-fast,.16s) ease,
    border-color var(--shv-motion-fast,.16s) ease,
    box-shadow var(--shv-motion-fast,.16s) ease,
    opacity var(--shv-motion-fast,.16s) ease;
}
.shv-ratebtn.is-pressing{
  animation:shv-pop-soft var(--shv-motion-mid,.22s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1)) both;
}
.shv-ratebtn:active{
  transform:scale(.94);
}
.shv-ratebtn:hover .shv-ico,
.shv-ratebtn.is-active .shv-ico,
.shv-ratebtn.is-favorite .shv-ico,
.shv-ratebtn.is-ok .shv-ico,
.shv-ratebtn.is-ng .shv-ico{
  transform:scale(1.06);
}
.shv-photo-card__overlaymark{
  animation:shv-share-badge-in var(--shv-motion-mid,.22s) var(--shv-motion-ease,cubic-bezier(.22,.61,.36,1)) both;
}
@keyframes shv-share-badge-in{
  from{opacity:0;transform:translateY(4px) scale(.84)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  .shv-photo-card--share .shv-photo-card__thumb,
  .shv-photo-card--share .shv-photo-card__thumb img,
  .shv-ratebtn,
  .shv-ratebtn .shv-ico,
  .shv-photo-card__overlaymark{
    transition:none !important;
    animation:none !important;
  }
  .shv-photo-card--share .shv-photo-card__thumb:hover img{
    transform:none !important;
  }
}


.shv-sharefilterchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.shv-sharefilterchips .shv-chip{height:28px;padding:0 9px;font-size:11px}
.shv-sharefilterchips .shv-chip__icon{font-size:15px}
.shv-sharefilterchips .shv-chip__count{margin-left:5px;font-size:10px;opacity:.84}
.shv-sharefilterchips .shv-chip.is-active{font-weight:700;box-shadow:inset 0 0 0 1px rgba(127,191,0,.18)}
.shv-sharefilterchips .shv-chip:not(.is-active){background:var(--shv-surface-2)}
.shv-sharegallery{padding-bottom:10px}
.shv-modal__toolbar--share{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center;width:100%}
.shv-modal__toolbar--share .shv-modal__actionform{display:block;width:100%}
.shv-modal__toolbar--share .shv-ratebtn--modal,
.shv-modal__toolbar--share .shv-btn{width:100%;height:46px;justify-content:center}
.shv-modal__toolbar--share .shv-btn span:last-child{display:inline-flex}
@media (max-width:720px){
  .shv-sharefilterchips{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}
  .shv-sharefilterchips::-webkit-scrollbar{display:none}
  .shv-sharefilterchips .shv-chip{flex:0 0 auto;height:26px;padding:0 8px;font-size:10px}
  .shv-modal__dialog--media{width:min(100vw - 8px,1000px)}
  .shv-modal__dialog--media .shv-modal__close{top:10px;right:10px}
  .shv-modal__dialog--media .shv-modal__nav{top:auto;bottom:82px;transform:none}
  .shv-modal__dialog--media .shv-modal__nav--prev{left:10px}
  .shv-modal__dialog--media .shv-modal__nav--next{right:10px}
  .shv-modal__stage{padding:8px 14px 0;transition:transform .18s ease}
  .shv-modal__meta{padding:0 12px 78px;display:block}
  .shv-modal__counter{margin-top:6px}
  .shv-modal__footer{position:sticky;bottom:0;z-index:4;padding:0 calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:linear-gradient(to top,rgba(11,18,30,.98),rgba(11,18,30,.88) 72%,rgba(11,18,30,0))}
  .shv-modal__toolbar--share{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .shv-modal__toolbar--share .shv-ratebtn--modal,
  .shv-modal__toolbar--share .shv-btn{height:44px;padding:0}
  .shv-modal__toolbar--share .shv-btn span:last-child{display:none}
  .shv-modal__toolbar--share .shv-btn .shv-ico,
  .shv-modal__toolbar--share .shv-ratebtn--modal .shv-ico{font-size:19px}
}


/* v0.5.45 share mobile scroll performance */
.shv-sharepage{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
}
.shv-photo-card--share{
  content-visibility:auto;
  contain-intrinsic-size:160px 190px;
}
@media (max-width:720px){
  .shv-sharegallery,
  .shv-photo-grid--share,
  .shv-photo-card--share .shv-photo-card__thumb{
    touch-action:pan-y;
  }
  .shv-photo-card--share{
    contain-intrinsic-size:120px 140px;
  }
  .shv-photo-card--share .shv-photo-card__thumb,
  .shv-photo-card--share .shv-photo-card__thumb img,
  .shv-photo-card__overlaymark,
  .shv-ratebtn,
  .shv-ratebtn .shv-ico{
    transition:none !important;
    animation:none !important;
    will-change:auto !important;
  }
  .shv-photo-card--share .shv-photo-card__thumb:hover img,
  .shv-photo-card--share .shv-photo-card__thumb.is-tapped,
  .shv-ratebtn:active,
  .shv-ratebtn:hover .shv-ico,
  .shv-ratebtn.is-active .shv-ico,
  .shv-ratebtn.is-favorite .shv-ico,
  .shv-ratebtn.is-ok .shv-ico,
  .shv-ratebtn.is-ng .shv-ico{
    transform:none !important;
  }
}


/* v0.5.46 share page body scroll unlock */
body.shv-share-page{
  overflow-x:hidden;
  overflow-y:auto;
  min-height:100vh;
  min-height:100dvh;
  -webkit-overflow-scrolling:touch;
}


/* v0.5.47 share footer + branding icon refinement */
.shv-sharefooter.shv-admin-footer{
  margin-top:auto;
  justify-content:flex-end;
  padding-left:16px;
  padding-right:16px;
}
@media (max-width:720px){
  .shv-sharefooter.shv-admin-footer{
    padding-left:12px;
    padding-right:12px;
  }
}

/* v0.5.59 share dedicated viewer */
.shv-shareviewer{
  --shv-shareviewer-backdrop-opacity:.92;
  background:rgba(5,10,18,var(--shv-shareviewer-backdrop-opacity));
  padding:clamp(8px,2vw,18px);
}
.shv-shareviewer__dialog{
  position:relative;
  width:min(100%,1280px);
  max-width:min(100%,1280px);
  height:min(calc(100svh - 8px),94svh);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:10px;
  padding:clamp(12px,2vw,18px);
}
.shv-shareviewer__close,
.shv-shareviewer__nav{
  position:absolute;
  z-index:6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;
  background:rgba(9,14,22,.84);
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.shv-shareviewer__close:hover,
.shv-shareviewer__nav:hover{background:rgba(17,25,38,.96);border-color:rgba(255,255,255,.26)}
.shv-shareviewer__close{top:12px;right:12px}
.shv-shareviewer__nav{top:50%;transform:translateY(-50%)}
.shv-shareviewer__nav--prev{left:12px}
.shv-shareviewer__nav--next{right:12px}
.shv-shareviewer__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:0 54px 0 0;
}
.shv-shareviewer__caption{
  min-width:0;
  font-size:13px;
  line-height:1.5;
  color:#e8eef7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.shv-shareviewer__counter{font-size:12px;line-height:1.5;color:#c6d0dd;white-space:nowrap}
.shv-shareviewer__viewport{
  position:relative;
  min-height:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  scrollbar-width:none;
  border-radius:5px;
}
.shv-shareviewer__viewport::-webkit-scrollbar{display:none}
.shv-shareviewer__track{display:flex;height:100%;min-height:0}
.shv-shareviewer__slide{
  flex:0 0 100%;
  min-width:100%;
  min-height:100%;
  height:100%;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  display:grid;
  place-items:center;
}
.shv-shareviewer__frame{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:10px 46px;
}
.shv-shareviewer__img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center center;
  border-radius:5px;
  box-shadow:0 16px 40px rgba(0,0,0,.26);
  opacity:0;
  transition:opacity .18s ease;
  transform:translateZ(0);
}
.shv-shareviewer__slide.is-ready .shv-shareviewer__img,
.shv-shareviewer__slide.is-active .shv-shareviewer__img{opacity:1}
.shv-shareviewer__slide.is-loading .shv-shareviewer__frame::before{
  content:'';
  width:min(72vw,440px);
  height:min(54vh,440px);
  border-radius:5px;
  background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.10),rgba(255,255,255,.04));
  background-size:220% 100%;
  animation:shv-shareviewer-loading 1s linear infinite;
}
@keyframes shv-shareviewer-loading{from{background-position:200% 0}to{background-position:-20% 0}}
.shv-shareviewer__footer{
  padding:0 0 calc(4px + env(safe-area-inset-bottom,0px));
}
.shv-shareviewer[hidden],
.shv-shareviewer:not(.is-open){display:none}
@media (max-width:720px){
  .shv-shareviewer{padding:6px}
  .shv-shareviewer__dialog{height:min(calc(100svh - 4px),96svh);padding:10px;gap:8px}
  .shv-shareviewer__close{top:8px;right:8px;width:38px;height:38px}
  .shv-shareviewer__nav{top:auto;bottom:86px;transform:none;width:38px;height:38px}
  .shv-shareviewer__nav--prev{left:10px}
  .shv-shareviewer__nav--next{right:10px}
  .shv-shareviewer__top{padding-right:46px}
  .shv-shareviewer__caption{font-size:12px}
  .shv-shareviewer__frame{padding:6px 10px 4px}
  .shv-shareviewer__footer{
    position:sticky;
    bottom:0;
    z-index:4;
    background:linear-gradient(to top,rgba(11,18,30,.98),rgba(11,18,30,.88) 72%,rgba(11,18,30,0));
    padding:0 calc(6px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(6px + env(safe-area-inset-left,0px));
  }
}
@media (prefers-reduced-motion: reduce){
  .shv-shareviewer__viewport{scroll-behavior:auto}
  .shv-shareviewer__img,
  .shv-shareviewer__close,
  .shv-shareviewer__nav{transition:none !important;animation:none !important}
}
