#photo-journal{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;background:#0c0d0d;color:#f4f1ea;overflow:hidden;color-scheme:dark}
#photo-journal[open]{display:flex;flex-direction:column;animation:journal-enter 200ms ease-out}#photo-journal.is-closing{animation:journal-exit 160ms ease-in forwards}#photo-journal::backdrop{background:#0c0d0d}
#photo-journal button{color:inherit;background:none}#photo-journal button:focus-visible,.journal-viewport:focus-visible{outline:2px solid #d4b992;outline-offset:3px}#photo-journal button:disabled{opacity:.3}
.journal-header{position:absolute;inset:0 0 auto;display:flex;justify-content:flex-end;padding:20px 28px;z-index:3;pointer-events:none}
#photo-journal .journal-close{pointer-events:auto;display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 15px;background:#101111e8;border:1px solid #ffffff25;border-radius:24px;font-size:12px}.journal-close>span{font-size:25px}.journal-close:hover{color:#d9b58a!important}
.journal-wall{position:absolute;inset:0;display:flex;flex-direction:column}.journal-viewport{flex:1;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain}.journal-surface{position:relative;width:100%;height:100%;overflow:hidden}
.journal-track{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);transform-origin:center;overflow:hidden;isolation:isolate}
.journal-belt{display:flex;width:max-content;height:100%;will-change:transform}.journal-repeat{display:flex;gap:3px;padding-right:3px;flex:none;height:100%;align-items:flex-start}.journal-column{display:flex;flex-direction:column;gap:3px;width:var(--column-width);flex:none}
.journal-photo{position:relative;display:block;width:100%;height:auto;aspect-ratio:var(--print-ratio,1.5);padding:0;border:0;--photo-radius:10px;border-radius:var(--photo-radius);isolation:isolate;cursor:zoom-in;flex:none;overflow:hidden;clip-path:inset(0 round var(--photo-radius))}
.journal-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#171919;transform:scale(1);transform-origin:center;transition:transform 280ms cubic-bezier(.22,1,.36,1)}.journal-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#080909;opacity:.55;pointer-events:none;transition:opacity 280ms cubic-bezier(.22,1,.36,1);z-index:1}.journal-photo:focus-visible::after{opacity:0}
.journal-photo:focus-visible img{transform:scale(1.075)}
@media(hover:hover) and (pointer:fine){.journal-photo:hover img{transform:scale(1.075)}.journal-photo:hover::after{opacity:0}}
.journal-footer{position:absolute;inset:auto 0 0;display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:18px 28px;z-index:6;pointer-events:none}.journal-footer button{pointer-events:auto}.journal-wall[inert] .journal-footer{visibility:hidden}
.journal-paging{display:flex;align-items:center;gap:12px;background:#0c0d0de6;border-radius:25px;padding:3px 5px}.journal-paging span{font-size:11px;color:#a9aca4;font-variant-numeric:tabular-nums}.journal-paging button{width:44px;height:44px;border:1px solid #ffffff22;border-radius:50%;font-size:18px}.journal-paging button:hover{background:#ffffff12!important}
#photo-journal .journal-room-shot{font-size:11px;color:#b1b5aa;min-height:44px;padding:8px 14px;background:#0c0d0de6;border-radius:22px}.journal-room-shot:hover{color:#f4f1ea!important}
.journal-detail{position:absolute;inset:0;z-index:2;overflow:auto;background:#101111;padding:86px 40px 32px;animation:journal-enter 180ms ease-out}.journal-to-wall{font-size:13px;min-height:44px;padding:8px 0;margin-bottom:12px}.journal-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:44px;align-items:center;max-width:1600px;margin:auto}.journal-detail figure{margin:0;min-width:0}.journal-full-image{display:block;width:100%;height:calc(100dvh - 245px);object-fit:contain}.journal-image-count{margin-top:14px;text-align:center;font-size:11px;color:#a0a59a;font-variant-numeric:tabular-nums}.journal-detail article{padding:16px 0}.journal-photo-series{font-size:12px;color:#bbaa94}.journal-detail h2{font-size:28px;line-height:1.4;font-weight:400;margin:14px 0 22px;text-wrap:balance}.journal-photo-description{font-size:14px;line-height:1.95;color:#b9bbb3;white-space:pre-line;margin-bottom:28px}.journal-detail dl{border-top:1px solid #ffffff15;padding-top:18px;font-size:12px}.journal-detail dl>div{display:flex;gap:18px;margin-bottom:12px}.journal-detail dt{color:#a0a59a}.journal-detail dd{margin:0;color:#b9bbb3}.journal-photo-demo{font-size:11px;color:#a0a59a}.journal-detail-nav{display:flex;justify-content:space-between;gap:16px;margin-top:28px}.journal-detail-nav button{min-height:44px;font-size:13px;padding:5px 0}
.photo-unavailable::before{content:'照片暂时无法加载';position:absolute;inset:40% 8px auto;font-size:12px;color:#b9bbb3}
@keyframes journal-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes journal-exit{to{opacity:0;transform:translateY(5px)}}
@media(max-width:760px){.journal-header{padding:16px 14px}#photo-journal .journal-close{padding:6px 10px;gap:7px;font-size:11px}.journal-footer{padding:14px}.journal-paging{gap:4px}.journal-paging span,.journal-room-shot{display:none}.journal-detail{padding:82px 20px max(28px,env(safe-area-inset-bottom))}.journal-detail-layout{grid-template-columns:1fr;gap:12px}.journal-full-image{height:auto;max-height:47dvh;min-height:160px}.journal-detail article{padding:12px 0}.journal-detail h2{font-size:24px;margin:10px 0 16px}.journal-photo-description{margin-bottom:20px}.journal-detail-nav{margin-top:18px}}
@media(hover:none){.journal-photo::after{opacity:.12}}
@media(prefers-reduced-motion:reduce){#photo-journal,#photo-journal *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.journal-detail h2,.journal-photo-description,.journal-detail dd{overflow-wrap:anywhere}
