body:has(.moments-page){display:block;padding:0;align-items:stretch;justify-content:stretch}.moments-page{min-height:100vh;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.masthead{width:100%}.mast-inner{max-width:1200px;margin:0 auto;padding:0 48px}.mast-top-rule{height:4px;background:var(--c-text);margin-top:24px}.mast-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;position:relative}.mast-brand{font-size:11px;color:var(--c-text-muted);text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.mast-brand:hover{color:var(--c-text)}.mast-motto{position:absolute;left:50%;transform:translate(-50%);font-size:12px;color:var(--c-text-dim);letter-spacing:.08em;font-style:italic;pointer-events:none}.mast-links{display:flex;gap:16px}.mast-links a{font-size:11px;color:var(--c-text-dim);text-decoration:none;letter-spacing:.06em;text-transform:uppercase}.mast-links a:hover,.mast-link-active{color:var(--c-text)!important}.mast-bottom-rule{height:1px;background:var(--c-border)}.mast-lang-line{display:flex;justify-content:flex-end;padding:4px 0 8px}.page-header{border-bottom:1px solid var(--c-border);padding:48px 0}.header-inner{max-width:1200px;margin:0 auto;padding:0 48px}.page-title{font-size:36px;font-weight:800;color:var(--c-text);letter-spacing:-.03em;margin-bottom:8px}.page-desc{font-size:15px;color:var(--c-text-dim)}.content-section{padding:40px 0 60px}.content-inner{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;gap:48px;align-items:flex-start}.timeline-wrap{flex:1;min-width:0;max-width:720px}.date-header{font-size:13px;font-weight:600;color:var(--c-text-dim);padding:4px 0 12px;margin-top:8px;letter-spacing:.02em}.date-header:first-child{margin-top:0}.moment-item{position:relative;margin-bottom:16px;cursor:pointer}.moment-item:last-child{margin-bottom:24px}.moment-card{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:12px;padding:16px;transition:border-color .2s}.moment-item.expanded .moment-card{border-color:var(--accent)}.moment-card:hover{border-color:rgba(var(--accent-rgb),.5)}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.card-author{font-size:13px;font-weight:600;color:var(--c-text)}.card-time{font-size:12px;color:var(--c-text-dim);margin-left:auto;flex-shrink:0}.card-text{font-size:14px;color:var(--c-text);line-height:1.7;white-space:pre-wrap;word-break:break-word;margin-bottom:12px}.card-text.truncated{max-height:7.2em;overflow:hidden;position:relative}.card-text.truncated:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.4em;background:linear-gradient(transparent,var(--c-bg-alt));pointer-events:none}.text-expand-btn{display:none;font-size:13px;color:var(--accent);cursor:pointer;background:none;border:none;padding:0;margin-bottom:12px;font-family:inherit}.text-expand-btn:hover{text-decoration:underline}.card-text.truncated+.text-expand-btn{display:inline-block}.card-text a{color:var(--accent);text-decoration:none}.card-text a:hover{text-decoration:underline}.link-preview{display:flex;border:1px solid var(--c-border);border-radius:8px;overflow:hidden;margin-bottom:12px;text-decoration:none;color:var(--c-text);background:var(--c-bg);transition:border-color .15s;max-height:96px}.link-preview:hover{border-color:var(--accent)}.link-preview-image{width:96px;min-width:96px;height:96px;object-fit:cover;flex-shrink:0}.link-preview-body{padding:10px 14px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-width:0}.link-preview-title{font-size:13px;font-weight:600;color:var(--c-text);line-height:1.4;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-desc{font-size:12px;color:var(--c-text-dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.link-preview-domain{font-size:11px;color:var(--c-text-muted);margin-top:4px}.card-images{display:grid;gap:4px;margin-bottom:12px;border-radius:8px;overflow:hidden}.card-images.single{grid-template-columns:1fr}.card-images.triple{grid-template-columns:1fr 1fr 1fr}.card-images.multi{grid-template-columns:1fr 1fr}.card-img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--c-bg);cursor:pointer}.card-images.single .card-img{aspect-ratio:16/9;max-height:360px;object-fit:cover}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:zoom-out;opacity:0;transition:opacity .2s}.lightbox-overlay.active{opacity:1}.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #0006;cursor:default;transform:scale(.95);transition:transform .2s}.lightbox-overlay.active img{transform:scale(1)}.card-actions{display:flex;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--c-border)}.action-btn{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--c-text-dim);background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;transition:color .15s,background .15s;font-family:inherit}.action-btn:hover{color:var(--c-text);background:rgba(var(--c-overlay-rgb),.06)}.action-btn.liked{color:#e05d68}.action-btn svg{flex-shrink:0}.reactions-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}.reaction-bubble{display:inline-flex;align-items:center;gap:2px;font-size:12px;line-height:1;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;padding:3px 8px 3px 6px;cursor:pointer;transition:border-color .15s,background .15s;user-select:none}.reaction-bubble .reaction-emoji{line-height:0;display:inline-flex}.reaction-bubble .reaction-emoji img{pointer-events:none}.reaction-bubble .reaction-count{font-size:11px;font-weight:500;color:var(--c-text-dim);font-variant-numeric:tabular-nums}.reaction-bubble:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.04)}.reaction-bubble.reacted{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.reaction-bubble.reacted .reaction-count{color:var(--accent);font-weight:600}.card-expanded{display:none;padding-top:12px;margin-top:12px;border-top:1px solid var(--c-border)}.moment-item.expanded .card-expanded{display:block}.emoji-picker{display:flex;gap:2px;margin-bottom:16px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:8px;padding:4px;width:fit-content}.emoji-pick-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;padding:5px 6px;cursor:pointer;transition:background .12s,transform .1s;line-height:0}.emoji-pick-btn:hover{background:rgba(var(--c-overlay-rgb),.1);transform:scale(1.2)}.emoji-pick-btn img{pointer-events:none}.comments-list{margin-bottom:16px}.comment-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(var(--c-overlay-rgb),.04)}.comment-item:last-child{border-bottom:none}.comment-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-nick{font-size:13px;font-weight:600;color:var(--c-text)}.comment-time{font-size:11px;color:var(--c-text-dim);margin-left:6px}.comment-text{font-size:13px;color:var(--c-text);line-height:1.6;margin-top:4px;word-break:break-word}.comment-children{padding-left:42px}.comment-form{display:flex;flex-direction:column;gap:8px}.comment-form-row{display:flex;gap:8px}.comment-input{width:100%;background:var(--c-bg);border:1px solid var(--c-border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--c-text);font-family:inherit;resize:vertical;transition:border-color .15s;outline:none}.comment-input:focus{border-color:var(--accent)}.comment-input::placeholder{color:var(--c-text-dim)}.comment-submit{align-self:flex-end;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:inherit}.comment-submit:hover{opacity:.85}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.loader-wrap{display:flex;justify-content:center;padding:32px 0}.spinner{width:24px;height:24px;border:2px solid var(--c-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.end-message{text-align:center;padding:32px 0;font-size:13px;color:var(--c-text-dim)}.calendar-sidebar{width:280px;flex-shrink:0}.sidebar-sticky{position:sticky;top:24px}.calendar-card{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:12px;padding:16px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-month-label{font-size:14px;font-weight:700;color:var(--c-text);letter-spacing:.01em}.cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--c-text-dim);padding:4px;border-radius:6px;transition:color .15s,background .15s}.cal-nav-btn:hover{color:var(--c-text);background:rgba(var(--c-overlay-rgb),.06)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--c-text-muted);margin-bottom:4px;font-weight:500}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-day{aspect-ratio:1;display:flex;align-items:flex-end;justify-content:flex-start;font-size:11px;color:var(--c-text-dim);border-radius:3px;cursor:default;position:relative;transition:opacity .15s;overflow:hidden}.cal-day.empty{visibility:hidden}.cal-day.has-moments{cursor:pointer;background:rgba(var(--accent-rgb),.15);color:var(--accent);font-weight:600}.cal-day.has-moments:hover{opacity:.8}.cal-day.active{box-shadow:inset 0 0 0 2px var(--accent)}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:4px}.cal-day.today .cal-day-num{color:var(--accent);font-weight:700}.cal-day-num{position:relative;z-index:1;padding:2px 3px;line-height:1}.cal-day.has-image{background-size:cover;background-position:center;color:#fff;font-weight:700}.cal-day.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 60%)}.cal-day.has-image .cal-day-num{text-shadow:0 1px 3px rgba(0,0,0,.6)}.cal-day.has-image.today{box-shadow:inset 0 0 0 1.5px #fff}.cal-day.has-image.today .cal-day-num{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.cal-filter-info{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--c-border);font-size:12px;color:var(--c-text-dim)}.cal-clear-filter{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.cal-clear-filter:hover{text-decoration:underline}.author-compact{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:12px}.author-compact-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.author-compact-info{display:flex;flex-direction:column}.author-compact-name{font-size:13px;font-weight:600;color:var(--c-text);text-decoration:none}.author-compact-name:hover{color:var(--accent)}.author-compact-bio{font-size:11px;color:var(--c-text-muted)}.blog-footer{border-top:1px solid var(--c-border);padding:32px 0;margin-top:40px}.footer-inner{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-text-dim)}.footer-links{display:flex;gap:20px}.footer-links a{font-size:12px;color:var(--c-text-dim);text-decoration:none}.footer-links a:hover{color:var(--c-text)}@media(max-width:900px){.calendar-sidebar{display:none}.content-inner{padding:0 24px}.timeline-wrap{max-width:100%}}@media(max-width:768px){.mast-inner{padding:0 20px}.mast-motto,.mast-hide-mobile{display:none}.header-inner,.content-inner,.footer-inner{padding:0 20px}.page-title{font-size:28px}.page-header{padding:32px 0}.card-images.triple{grid-template-columns:1fr 1fr 1fr}.card-images.multi{grid-template-columns:1fr}}
