.yishu-public-albums { color: inherit; }
.yishu-public-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 28px; }
.yishu-public-card { display: flex; flex-direction: column; padding: 0; min-width: 0; text-align: left; color: inherit; font: inherit; background: transparent; border: 1px solid rgba(190,165,112,.22); border-radius: 16px; overflow: hidden; cursor: pointer; }
.yishu-public-card:focus-visible, .yishu-public-close:focus-visible, .yishu-public-retry:focus-visible, .yishu-public-app-link:focus-visible { outline: 2px solid #c6ab76; outline-offset: 4px; }
.yishu-public-cover { display: grid; place-items: center; aspect-ratio: 3/4; width: 100%; background: rgba(190,165,112,.06); overflow: hidden; }
.yishu-public-cover img { width: 100%; height: 100%; object-fit: contain; }
.yishu-public-caption { display: flex; flex-direction: column; gap: 8px; padding: 20px; overflow-wrap: anywhere; }
.yishu-public-eyebrow { font-size: 12px; letter-spacing: .12em; color: #c6ab76; }
.yishu-public-title { font-size: 20px; font-weight: 500; text-shadow: none; }
.yishu-public-count, .yishu-public-detail, .yishu-public-placeholder { font-size: 14px; line-height: 1.7; color: #aaa; }
.yishu-public-placeholder { padding: 24px; text-align: center; }
.yishu-public-status { text-align: center; color: #aaa; line-height: 1.7; }
.yishu-public-status:empty { display: none; }
.yishu-public-retry, .yishu-public-close { color: inherit; background: transparent; border: 1px solid rgba(190,165,112,.45); border-radius: 24px; padding: 10px 18px; font: inherit; cursor: pointer; }
.yishu-public-retry { margin: 12px auto 24px; }
.yishu-public-retry:not([hidden]) { display: block; }
.yishu-public-app { text-align: center; margin-top: 32px; }
.yishu-public-app a, .yishu-public-app-link { color: #d5bb86; text-underline-offset: 5px; }
.yishu-public-dialog { box-sizing: border-box; width: min(1000px,calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0 24px 24px; color: #eee; background: #151515; border: 1px solid rgba(190,165,112,.3); border-radius: 18px; overflow: auto; overscroll-behavior: contain; }
.yishu-public-dialog::backdrop { background: rgba(0,0,0,.7); }
.yishu-public-dialog-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; background: #151515; }
.yishu-public-dialog-header h3 { margin: 0; font-size: 22px; font-weight: 500; overflow-wrap: anywhere; text-shadow: none; }
.yishu-public-close { flex-shrink: 0; min-height: 44px; }
.yishu-public-detail { margin: 0 0 20px; }
.yishu-public-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 20px; }
.yishu-public-photo { min-width: 0; background: rgba(190,165,112,.04); border-radius: 8px; overflow: hidden; }
.yishu-public-photo img { display: block; width: 100%; height: auto; object-fit: contain; }
.yishu-public-app-link { display: inline-block; padding: 20px 0 0; line-height: 1.7; }
@media (max-width: 600px) {
  .yishu-public-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .yishu-public-caption { padding: 14px; gap: 6px; }
  .yishu-public-title { font-size: 17px; }
  .yishu-public-count { font-size: 12px; }
  .yishu-public-dialog { padding: 0 16px 20px; }
  .yishu-public-dialog-header { gap: 10px; padding: 16px 0; }
  .yishu-public-dialog-header h3 { font-size: 19px; }
  .yishu-public-photos { grid-template-columns: 1fr; }
}
