.home-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;background:linear-gradient(145deg,#fffdf6,#f1f8f5)}.home-photo-grid .shot{aspect-ratio:4/3;min-width:0}.home-photo-grid .shot img{width:100%;height:100%;object-fit:cover}.home-photo-grid .shot .cap{opacity:1;transform:none;padding:22px 9px 8px}.home-photo-grid .shot .cap b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-content-empty,.home-forum-empty{padding:26px 20px;text-align:center;color:#7c9290;font-size:12px;line-height:1.7}.home-content-empty>span{display:block;font-size:34px;color:#86b2a0;margin-bottom:8px}.home-content-empty strong,.home-forum-empty strong{font:900 19px Nunito,sans-serif;color:#4a7766}.home-content-empty p,.home-forum-empty p{margin:9px auto 13px;max-width:420px}.home-forum-preview .last-post img{width:28px;height:28px;object-fit:cover;border-radius:7px}.home-forum-preview .last-post time{display:block;font-size:9px;color:#94a3ae}
.home-auth-dialog {
    width: min(430px, calc(100% - 24px));
    max-height: calc(100% - 24px);
    padding: 0;
    border: 1px solid #cde2df;
    border-radius: 10px;
    background: #fff;
    color: inherit;
    box-shadow: 0 16px 48px #263d4c45;
}
.home-auth-dialog::backdrop { background: #263d4c88; }
.home-auth-dialog .panel { margin: 0; border: 0; box-shadow: none; }
.home-auth-dialog .login-panel > .panel-heading { display: none; }
.home-auth-dialog [hidden] { display: none !important; }
.home-auth-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 19px 16px 17px 19px;
    border-bottom: 1px solid #dce9e5;
    background: linear-gradient(115deg, #e1f2ed, #fff2d8);
}
.home-auth-intro { display: flex; align-items: center; gap: 12px; min-width: 0; }
.home-auth-intro h2 { margin: 0; color: #365f6b; font: 800 22px/1.1 Nunito, Arial, sans-serif; }
.home-auth-intro p { margin: 4px 0 0; color: #526b73; font-size: 12px; }
.home-auth-badge {
    display: grid;
    place-items: center;
    flex: 0 0 37px;
    height: 37px;
    border: 2px solid white;
    border-radius: 9px;
    background: #2b746f;
    color: white;
    font-size: 19px;
    transform: rotate(-6deg);
    box-shadow: 0 2px 3px #365f6b24;
}
.home-auth-badge-mail { background: #f5d68d; color: #60451f; }
.home-auth-close {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #c6d9d5;
    border-radius: 50%;
    background: #fff;
    color: #365f6b;
    font: 500 21px/1 Arial, sans-serif;
    cursor: pointer;
}
.home-auth-close:hover { background: #e3f1ee; }
.home-auth-close:focus-visible { outline: 2px solid #2b746f; outline-offset: 2px; }
.home-auth-dialog .home-password-help { font-size: 12px; }

.home-birthday-card {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 9px;
    padding: 10px;
    border: 1px solid #ebdfc6;
    border-radius: 8px;
    background: radial-gradient(circle at 92% 18%, #fff1c6, transparent 45%), #fffaf0;
}
.home-birthday-avatar, .home-birthday-cake {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    height: 36px;
    border: 2px solid #fff;
    border-radius: 8px;
    background: #fae6b5;
    font-size: 18px;
    transform: rotate(-6deg);
}
.home-birthday-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.home-birthday-avatar span { position: absolute; right: -5px; bottom: -5px; font-size: 14px; }
.home-birthday-card strong { display: block; color: #405f70; overflow-wrap: anywhere; }
.home-birthday-card a { display: inline-block; margin-top: 4px; color: #2b746f; font-size: 11px; }
.home-birthday-empty { border-color: #dce9e8; background: linear-gradient(115deg, #f7f0df, #edf7f3); }
.home-birthday-empty p { margin: 3px 0 0; color: #536d78; font-size: 11px; }
