.diary-gallery{font-family:var(--bs-font-family);color:#fff;background:#20312e;border:1px solid #ffffff30;border-radius:20px;padding:0;width:min(1440px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);box-shadow:0 24px 80px #071a2070;overflow:hidden}
.diary-gallery::backdrop{background:#10251fe0;backdrop-filter:blur(6px)}
.diary-gallery [hidden]{display:none!important}
.diary-gallery button{font-family:var(--bs-font-family);font-size:16px;min-width:48px;min-height:48px;padding:10px 14px;border:1px solid #ffffff30;border-radius:14px;background:#213632e8;color:#fff;cursor:pointer;touch-action:manipulation}
.diary-gallery button:disabled{opacity:.4;cursor:default}
.diary-gallery button:focus-visible,.diary-gallery-stage:focus-visible{outline:3px solid #d9edbc;outline-offset:-4px}
.diary-gallery button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.diary-gallery-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
.diary-gallery-stage>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.diary-gallery-stage.is-zoomed{cursor:grab}
.diary-gallery-stage.is-zoomed:active{cursor:grabbing}
.diary-gallery-toolbar{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}
.diary-gallery-toolbar>div{display:flex;gap:8px;pointer-events:auto}
.diary-gallery-count{font-size:16px;font-weight:500;line-height:24px;padding:12px 16px;border:1px solid #ffffff30;border-radius:24px;background:#213632e8;white-space:nowrap}
.diary-gallery .diary-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:50%;background:#173630f5;border:1px solid #ffffff80;box-shadow:0 2px 8px #0004}
.diary-gallery .diary-gallery-arrow svg{width:26px;height:26px;stroke-width:2.6}
.diary-gallery [data-gallery=prev]{left:16px}
.diary-gallery [data-gallery=next]{right:16px}
.diary-gallery-meta{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;gap:12px;align-items:center;padding:0 0 0 16px;background:#172d28eb;border:1px solid #ffffff30;border-radius:14px;backdrop-filter:blur(8px)}
.diary-gallery-meta p{margin:10px 0;flex:1;min-width:0;font-size:16px;line-height:1.4;overflow-wrap:anywhere;color:#fff}
.diary-gallery-meta button{background:transparent;border:0;flex:none}
.diary-gallery-details{position:absolute;bottom:90px;right:16px;max-width:calc(100% - 32px);padding:14px 18px;border:1px solid #ffffff30;border-radius:14px;background:#172d28f5;font:400 16px/1.5 var(--bs-font-family);overflow-wrap:anywhere}
.diary-gallery-feedback{position:absolute;top:80px;left:16px;right:16px;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:8px}
.diary-gallery-feedback [role=status]:not(:empty){padding:10px 14px;border-radius:12px;background:#172d28ed;font:400 16px/1.5 var(--bs-font-family)}
.diary-gallery-feedback button{pointer-events:auto}
.diary-gallery-save{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100% - 48px));box-sizing:border-box;padding:22px;border-radius:18px;background:#fcfaf6;color:#243b30;box-shadow:0 12px 80px #0009}
.diary-gallery-save p{font:400 16px/1.5 var(--bs-font-family);margin:44px 0 16px}
.diary-gallery-save>button{margin:4px 0;max-width:100%}
.diary-gallery-save [data-gallery=save-close]{position:absolute;right:10px;top:8px;background:transparent;color:#243b30;border-color:#243b3030}
.diary-gallery-save [data-gallery=save-file]{background:transparent;color:#243b30;border-color:#243b3030}
.diary-gallery.controls-hidden [data-gallery-controls]{opacity:0;pointer-events:none;visibility:hidden}
#diaryView .diary-photo-card>button>.diary-photo-publisher{display:block;font-family:var(--bs-font-family);font-size:14px;line-height:1.4;font-weight:400;color:#526058;white-space:normal;overflow-wrap:anywhere;padding:8px 9px}
@media(max-width:600px){.diary-gallery{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.diary-gallery-toolbar{left:10px;right:10px;top:max(10px,env(safe-area-inset-top))}.diary-gallery-toolbar>div{gap:6px}.diary-gallery button{padding:10px;min-width:44px;min-height:44px}.diary-gallery-count{padding:10px 12px}.diary-gallery-meta{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding-left:12px}.diary-gallery [data-gallery=prev]{left:10px}.diary-gallery [data-gallery=next]{right:10px}.diary-gallery-details{right:10px;bottom:104px}.diary-gallery-feedback{top:70px}.diary-gallery-meta p{font-size:16px}}
.diary-upload-status{margin:12px 0 18px;padding:14px 16px;background:#f4f6f3;border-radius:10px;font-family:var(--bs-font-family);font-size:16px;font-weight:400;line-height:1.5;color:#243b30;min-width:0}
.diary-upload-status[hidden],.diary-upload-status [hidden]{display:none!important}
.diary-upload-status p{margin:0;font:inherit;overflow-wrap:anywhere}
.diary-upload-status progress{display:block;width:100%;height:8px;margin:10px 0;accent-color:#243b30}
.diary-upload-status #diaryUploadDetails:not(:empty){margin-top:6px}
.upload-btn:has(input:disabled){opacity:.55;cursor:wait}
