body{padding-bottom:95px}.event-dock{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffaf5f5;border-top:1px solid #d9c7b8;box-shadow:0 -8px 30px #3e281013}.event-dock button{min-height:44px;border-radius:13px;padding:10px 18px;white-space:nowrap}.event-dock [aria-current=page]{background:#493327;color:#fff}.event-dock .dock-upload{background:#8a443c;color:white}.party-heart,.photo-like{display:inline-flex;align-items:center;justify-content:center;gap:8px}.party-heart svg,.photo-like svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}.party-heart{color:#b63750!important}.photo-like[aria-pressed=true]{color:#b63750;background:#ffe9ee}.photo-like[aria-pressed=true] svg{fill:currentColor}.social-actions{display:flex;gap:10px;margin-top:14px}.photo-social details{margin-top:12px}.photo-social summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-size:.9rem}.comment-list{max-height:240px;overflow:auto;overflow-wrap:anywhere}.photo-comment{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid #b9a18b40;font-size:.9rem}.photo-comment strong{font-size:.8rem}.photo-comment button{align-self:end;font-size:.75rem;padding:5px 9px;min-height:32px}.comment-form{display:flex;gap:8px;margin:10px 0}.comment-form input{width:100%;min-width:0}.comment-form button{flex-shrink:0}.wall-social{max-width:640px;margin:14px auto;text-align:left}.wall-social .social-actions{justify-content:center}.wall-social .comment-list{max-height:130px}.wall-social .comment-form{margin-bottom:0}#wall{position:relative}.floating-hearts{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:35}.floating-hearts>span{position:absolute;bottom:65px;left:var(--heart-x);color:#e64d72;animation:float-heart 2.4s ease-out forwards}.floating-hearts svg{width:42px;height:42px;fill:currentColor;stroke:#fff6;stroke-width:.7}.album-view-controls{display:flex;align-items:center;gap:8px;margin:20px 0}.album-view-controls span{font-size:.85rem;margin-right:auto}.album-view-controls [aria-pressed=true]{background:#493327;color:white}.gallery.album-list{display:flex!important;flex-direction:column!important}.album-list .media{display:grid;grid-template-columns:minmax(100px,220px) minmax(0,1fr)}.album-list .media>img{width:100%;height:220px;object-fit:contain;align-self:start}.copy-own-access{margin-left:auto;font-size:.85rem;padding:8px 12px}.grant-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.upload-queue{padding-left:22px;font-size:.85rem;max-height:240px;overflow:auto}.upload-queue li{padding:6px 0;overflow-wrap:anywhere}.upload-error{color:#a52b2b}#message.social-notice{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:60;background:#382820;color:white;max-width:min(620px,calc(100% - 24px));width:max-content;padding:14px 18px;border-radius:14px;box-shadow:0 5px 30px #0002;font-size:.95rem;line-height:1.4}#message.social-notice.feedback-error{background:#842f2b}#message:empty{display:none}.media img[role=button]{cursor:zoom-in}.media img:focus-visible{outline:3px solid #b63750;outline-offset:-3px}#generatedLink{display:none}#wall:fullscreen{overflow:auto;background:var(--bg,#f5eee4);padding:20px}#wall:fullscreen .wall-stage{max-height:65vh}#wall:fullscreen .floating-hearts{position:fixed}.event-dock[hidden]{display:none}
@keyframes float-heart{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translateY(-65vh) translateX(25px) rotate(15deg) scale(1.3)}}
@media(prefers-reduced-motion:reduce){.floating-hearts>span{animation:none;bottom:90px;opacity:.8}}
@media(max-width:650px){.event-dock{gap:6px;padding-left:8px;padding-right:8px}.event-dock button{font-size:.8rem;padding:9px 10px}.party-heart span{display:none}.album-list .media{grid-template-columns:100px minmax(0,1fr)}.album-list .media>img{height:130px}.album-list .media-body{padding:12px}.copy-own-access{font-size:.75rem;max-width:135px}.comment-form{flex-wrap:wrap}.comment-form input{flex:1;min-width:110px}.wall-social{padding:0 10px}body>header{flex-wrap:wrap}}
