.page-module__E0kJGG__layout{height:100vh;display:flex;position:fixed;inset:0;overflow:hidden}.page-module__E0kJGG__sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);scrollbar-width:none;flex-direction:column;align-items:center;height:100vh;padding:24px 0;display:flex;overflow-y:auto}.page-module__E0kJGG__timelineTrack{flex-direction:column;align-items:center;gap:4px;display:flex}.page-module__E0kJGG__timelineItem{flex-direction:column;align-items:center;width:100%;display:flex}.page-module__E0kJGG__yearLabel{font-family:var(--font-geist),system-ui,sans-serif;color:var(--fg);letter-spacing:.04em;cursor:pointer;opacity:.35;background:0 0;border:none;align-self:center;padding:10px 0 6px;font-size:11px;font-weight:600;transition:opacity .2s}.page-module__E0kJGG__yearLabel:hover,.page-module__E0kJGG__yearLabel.page-module__E0kJGG__activeYear{opacity:1}.page-module__E0kJGG__monthDot{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:6px 0;display:flex;position:relative}.page-module__E0kJGG__dot{background:#00000026;border-radius:50%;width:5px;height:5px;transition:all .2s}.page-module__E0kJGG__monthDot:hover .page-module__E0kJGG__dot{background:#00000080;transform:scale(1.4)}.page-module__E0kJGG__monthDot.page-module__E0kJGG__active .page-module__E0kJGG__dot{background:#000;transform:scale(1.6);box-shadow:0 0 6px #00000026}.page-module__E0kJGG__monthLabel{font-family:var(--font-geist),system-ui,sans-serif;color:var(--fg);opacity:.8;white-space:nowrap;pointer-events:none;letter-spacing:.03em;font-size:11px;font-weight:500;position:absolute;left:16px}.page-module__E0kJGG__wall{scroll-behavior:smooth;flex:1;padding:16px 20px 80px;overflow-y:auto;padding-left:6px!important}.page-module__E0kJGG__section{margin-bottom:32px}.page-module__E0kJGG__sectionTitle{color:var(--fg-muted);letter-spacing:.03em;margin-bottom:12px;font-size:13px;font-weight:500}.page-module__E0kJGG__grid{columns:3 280px;column-gap:10px}.page-module__E0kJGG__photoCard{cursor:pointer;break-inside:avoid;background:#0000000f;border-radius:6px;margin-bottom:10px;position:relative;overflow:hidden}.page-module__E0kJGG__lightbox{z-index:100;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;animation:.2s page-module__E0kJGG__fadeIn;display:flex;position:fixed;inset:0}@keyframes page-module__E0kJGG__fadeIn{0%{opacity:0}to{opacity:1}}.page-module__E0kJGG__lightboxImg{object-fit:contain;cursor:default;border-radius:4px;max-width:90vw;max-height:90vh}.page-module__E0kJGG__lightboxClose{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:32px;line-height:1;transition:opacity .2s;position:absolute;top:16px;right:20px}.page-module__E0kJGG__lightboxClose:hover{opacity:1}.page-module__E0kJGG__lightboxDownload{color:#fff;cursor:pointer;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;bottom:24px;right:24px}.page-module__E0kJGG__lightboxDownload:hover{background:#ffffff40}.page-module__E0kJGG__lightboxDownload svg{width:20px;height:20px}.page-module__E0kJGG__photo{object-fit:cover;background:#00000008;width:100%;height:100%;display:block}@media (max-width:640px){.page-module__E0kJGG__sidebar{width:52px;min-width:52px}.page-module__E0kJGG__grid{columns:2 200px}.page-module__E0kJGG__monthLabel{left:12px}}.page-module__E0kJGG__loading,.page-module__E0kJGG__empty{width:100%;height:100vh;color:var(--fg-muted);font-size:15px;font-family:var(--font-geist),system-ui,sans-serif;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.page-module__E0kJGG__uploadLink{color:var(--fg);font-weight:500;transition:opacity .2s}.page-module__E0kJGG__uploadLink:hover{opacity:.6}.page-module__E0kJGG__skeleton{break-inside:avoid;background:#0000000f;border-radius:6px;margin-bottom:10px;animation:1.5s ease-in-out infinite page-module__E0kJGG__pulse}@keyframes page-module__E0kJGG__pulse{0%,to{opacity:1}50%{opacity:.4}}.page-module__E0kJGG__photoCard img{transition:opacity .3s}
