.feed{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--content-width);margin:0 auto;width:100%;}.feed-stream{display:flex;flex-direction:column;gap:var(--space-3);overscroll-behavior-y:contain;}.post{position:relative;padding:var(--space-5);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 2px -1px rgba(12,30,38,0.05),0 8px 20px -12px rgba(12,30,38,0.08);transition:border-color 200ms var(--ease-out),box-shadow 300ms var(--ease-out),transform 180ms var(--ease-out);}.post::before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient( 180deg,color-mix(in srgb,var(--color-accent) 4%,transparent) 0%,transparent 100% );pointer-events:none;z-index:0;}.post>*{position:relative;z-index:1;}[data-theme="dark"] .post{border-color:color-mix(in srgb,var(--color-line) 85%,transparent);box-shadow:0 1px 2px -1px rgba(0,0,0,0.35),0 8px 20px -12px rgba(0,0,0,0.5);}[data-theme="dark"] .post::before{background:linear-gradient( 180deg,color-mix(in srgb,var(--color-accent) 7%,transparent) 0%,transparent 100% );}@media (hover:hover){.post:hover{border-color:var(--color-line-strong);box-shadow:0 1px 2px -1px rgba(12,30,38,0.08),0 18px 40px -20px rgba(12,30,38,0.18);}}[data-theme="dark"] .post:hover{box-shadow:0 1px 2px -1px rgba(0,0,0,0.45),0 18px 40px -20px rgba(0,0,0,0.65);}@media (hover:none){.post:active{transform:scale(0.995);transition-duration:90ms;}}.post-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:20px;}.post-head .avatar-sm{width:2.5rem;height:2.5rem;font-size:0.85rem;flex-shrink:0;margin-top:1px;}.post-head-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}.post-head-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-family:var(--font-body);font-size:0.9375rem;line-height:1.35;}.post-author{font-family:var(--font-display);font-weight:700;color:var(--color-ink);letter-spacing:-0.01em;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.post-meta{margin:0;display:flex;align-items:center;gap:6px;}.post-time{font-family:var(--font-body);font-size:0.8125rem;letter-spacing:-0.005em;color:var(--color-ink-faint);}.post-body{font-family:var(--font-body);font-size:clamp(0.9375rem,0.875rem + 0.3vw,1.0625rem);line-height:1.55;letter-spacing:-0.006em;color:var(--color-ink);word-wrap:break-word;overflow-wrap:anywhere;max-width:62ch;text-wrap:pretty;}.post-body p{margin:0;}.post-body p + p{margin-top:1em;}.post-body br + br{display:block;content:"";margin-top:0.35em;}.post-body strong{font-weight:700;color:var(--color-ink);}.post-body mark{background:color-mix(in srgb,#fbbf24 55%,transparent);color:inherit;padding:0.06em 0.28em;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;box-shadow:0 0 0 1px color-mix(in srgb,#fbbf24 25%,transparent) inset;}[data-theme="dark"] .post-body mark{background:color-mix(in srgb,#fbbf24 38%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,#fbbf24 18%,transparent) inset;}.post-images{margin:var(--space-5) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));background:color-mix(in srgb,var(--color-ink) 5%,transparent);isolation:isolate;}.post-images:not(:last-child){margin-bottom:0;}.post-image-cell{position:relative;overflow:hidden;background:color-mix(in srgb,var(--color-ink) 5%,transparent);cursor:zoom-in;}.post-image-cell img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none;transition:transform 700ms var(--ease-out);}@media (hover:hover){.post-image-cell:hover img{transform:scale(1.025);}}.post-images-1 .post-image-cell img{width:100%;height:auto;max-height:42rem;object-fit:cover;}.post-images-2{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;aspect-ratio:2 / 1;}.post-images-3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;aspect-ratio:3 / 1;}@media (max-width:480px){.post-images-3{aspect-ratio:3 / 1.15;}.post-images-1 .post-image-cell img{max-height:30rem;}}.feed-tail{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;min-height:44px;}.feed-load-more-btn{min-width:12rem;min-height:48px;padding:0.75rem 1.5rem;touch-action:manipulation;font-weight:600;}@media (hover:hover){.feed-load-more-btn:hover:not(:disabled):not(.is-loading){transform:translateY(-1px);}}.feed-load-more-btn:active:not(:disabled):not(.is-loading){transform:translateY(0) scale(0.98);}.feed-end{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:22rem;margin:0 auto;padding:var(--space-3) 0;}.feed-end-rule{flex:1;height:1px;background:var(--color-line);border-radius:var(--radius-full);}.feed-end-text{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--color-ink-faint);white-space:nowrap;}.feed-skeleton{display:flex;flex-direction:column;gap:var(--space-3);width:100%;}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);}.skeleton-head{display:flex;align-items:center;gap:var(--space-3);}.skeleton-avatar{width:1.9rem;height:1.9rem;border-radius:var(--radius-full);flex-shrink:0;background:var(--skeleton-bg);background-image:var(--skeleton-shine);background-size:200% 100%;animation:skeleton-shimmer 1400ms ease-in-out infinite;}.skeleton-meta{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;}.skeleton-body{display:flex;flex-direction:column;gap:8px;padding-top:var(--space-1);}.skeleton-line{height:10px;border-radius:4px;background:var(--skeleton-bg);background-image:var(--skeleton-shine);background-size:200% 100%;animation:skeleton-shimmer 1400ms ease-in-out infinite;}.skeleton-line-1{width:40%;height:11px;}.skeleton-line-2{width:25%;height:9px;}.skeleton-line-3{width:100%;}.skeleton-line-4{width:72%;}:root{--skeleton-bg:color-mix(in srgb,var(--color-ink) 8%,transparent);--skeleton-shine:linear-gradient( 90deg,transparent 0%,color-mix(in srgb,var(--color-ink) 6%,transparent) 50%,transparent 100% );}[data-theme="dark"]{--skeleton-bg:color-mix(in srgb,var(--color-ink) 14%,transparent);--skeleton-shine:linear-gradient( 90deg,transparent 0%,color-mix(in srgb,var(--color-ink) 10%,transparent) 50%,transparent 100% );}@keyframes skeleton-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}@media (prefers-reduced-motion:reduce){.skeleton-avatar,.skeleton-line{animation:none;}}.feed-empty{padding:var(--space-8) var(--space-5);text-align:center;background:var(--color-surface);border:1px dashed var(--color-line);border-radius:var(--radius-md);}.feed-empty-icon{width:3.5rem;height:3.5rem;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-warm-soft);color:var(--color-warm);display:inline-flex;align-items:center;justify-content:center;animation:feed-pulse 2600ms ease-in-out infinite;}.feed-empty-icon svg{width:28px;height:28px;}@keyframes feed-pulse{0%,100%{transform:scale(1);opacity:0.9;}50%{transform:scale(1.05);opacity:1;}}@media (prefers-reduced-motion:reduce){.feed-empty-icon{animation:none;}}.feed-empty h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin-bottom:var(--space-2);}.feed-empty p{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.55;color:var(--color-ink-soft);max-width:26rem;margin:0 auto;}.feed-empty a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;font-weight:500;}.feed-empty a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:3px;}@media (max-width:480px){.post-body{line-height:1.6;}}.feed-composer{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);border-radius:var(--radius-lg);box-shadow:0 1px 2px -1px rgba(12,30,38,0.05),0 6px 16px -10px rgba(12,30,38,0.08);user-select:none;cursor:default;margin-bottom:32px;}[data-theme="dark"] .feed-composer{border-color:color-mix(in srgb,var(--color-line) 85%,transparent);box-shadow:0 1px 2px -1px rgba(0,0,0,0.35),0 6px 16px -10px rgba(0,0,0,0.4);}.feed-composer .avatar-sm{width:2.25rem;height:2.25rem;font-size:0.8rem;flex-shrink:0;}.feed-composer-field{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);height:2.75rem;padding:0 0.75rem 0 1rem;background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-radius:var(--radius-full);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}.feed-composer-placeholder{flex:1;min-width:0;font-family:var(--font-body);font-size:0.9375rem;line-height:1.4;color:var(--color-ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}.feed-composer-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--color-accent);opacity:0.85;}.feed-composer-icon svg{width:100%;height:100%;display:block;}.feed-composer-post{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:2.5rem;padding:0 1.25rem;background:transparent;color:var(--color-ink);border:1px solid var(--color-line-strong);border-radius:var(--radius-full);font-family:var(--font-display);font-weight:700;font-size:0.875rem;letter-spacing:-0.005em;opacity:0.7;}@media (max-width:480px){.feed-composer{padding:var(--space-3) var(--space-4);gap:var(--space-2);}.feed-composer .avatar-sm{width:2rem;height:2rem;font-size:0.7rem;}.feed-composer-field{height:2.5rem;padding:0 0.6rem 0 0.85rem;}.feed-composer-placeholder{font-size:0.875rem;}.feed-composer-post{height:2.25rem;padding:0 0.9rem;font-size:0.8125rem;}}.unity-stories{position:relative;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);border-radius:var(--radius-lg);box-shadow:0 1px 2px -1px rgba(12,30,38,0.05),0 6px 16px -10px rgba(12,30,38,0.08);user-select:none;cursor:default;}[data-theme="dark"] .unity-stories{border-color:color-mix(in srgb,var(--color-line) 85%,transparent);box-shadow:0 1px 2px -1px rgba(0,0,0,0.35),0 6px 16px -10px rgba(0,0,0,0.4);}.unity-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);}.unity-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:0.9375rem;letter-spacing:-0.01em;color:var(--color-ink);}.unity-badge{flex-shrink:0;padding:3px 9px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-ink) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:0.5625rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;line-height:1;}[data-theme="dark"] .unity-badge{background:color-mix(in srgb,var(--color-ink) 12%,transparent);}.unity-rail{display:flex;gap:var(--space-4);overflow-x:auto;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0;}.unity-rail::-webkit-scrollbar{display:none;}.unity-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;width:4.5rem;}.unity-ring--preview{width:4.25rem;height:4.25rem;border-radius:50%;padding:0;background:transparent;border:1.5px dashed color-mix(in srgb,var(--color-line) 90%,transparent);display:flex;align-items:center;justify-content:center;opacity:0.7;}.unity-ring--preview .unity-inner{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-ink) 4%,transparent);color:var(--color-ink-faint);}.unity-ring--preview .unity-inner svg{width:1.5rem;height:1.5rem;display:block;opacity:0.7;}.unity-ring--add{width:4.25rem;height:4.25rem;border-radius:50%;padding:0;background:transparent;display:flex;align-items:center;justify-content:center;}.unity-ring--add .unity-inner{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border:1.5px dashed color-mix(in srgb,var(--color-accent-line) 70%,transparent);color:var(--color-accent);opacity:0.85;}.unity-ring--add .unity-inner svg{width:1.25rem;height:1.25rem;}.unity-label{font-family:var(--font-body);font-size:0.75rem;font-weight:500;letter-spacing:-0.005em;color:var(--color-ink-faint);line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.unity-item--preview .unity-label{opacity:0.6;}@media (max-width:480px){.unity-stories{padding:var(--space-3) var(--space-4) var(--space-4);}.unity-header{margin-bottom:var(--space-3);}.unity-title{font-size:0.875rem;}.unity-rail{gap:var(--space-3);}.unity-item{width:4rem;}.unity-ring--preview,.unity-ring--add{width:3.75rem;height:3.75rem;}.unity-ring--preview .unity-inner svg{width:1.25rem;height:1.25rem;}.unity-label{font-size:0.6875rem;}}.reaction-summary{display:flex;align-items:center;gap:12px;margin-top:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);}.reaction-summary[hidden]{display:none;}.reaction-summary-emojis{display:inline-flex;align-items:center;flex-shrink:0;gap:4px;}.reaction-summary-emoji{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--color-surface);border:1.5px solid var(--color-line);font-size:15px;line-height:1;margin-left:-10px;box-shadow:0 0 0 2px var(--color-surface),0 1px 2px -1px rgba(12,30,38,0.12);}.reaction-summary-emoji:first-child{margin-left:0;}.reaction-summary-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}[data-theme="dark"] .reaction-summary-emoji{border-color:color-mix(in srgb,var(--color-line) 100%,transparent);box-shadow:0 0 0 2px var(--color-surface),0 1px 3px -1px rgba(0,0,0,0.5);}.reaction-summary-text{appearance:none;background:transparent;border:none;padding:4px 8px;margin:-4px -8px;font-family:var(--font-body);font-size:0.875rem;line-height:1.4;color:var(--color-ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:color 180ms var(--ease-out),background 180ms var(--ease-out);}.reaction-summary-text:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reaction-bar{position:relative;display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-4);margin-left:var(--space-1);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--color-line) 70%,transparent);}.reaction-summary:not([hidden]) + .reaction-bar{margin-top:0;padding-top:var(--space-2);border-top:none;}.reaction-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px 6px 10px;font-family:var(--font-display);font-weight:600;font-size:0.875rem;color:var(--color-ink-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}[data-theme="dark"] .reaction-btn{border-color:color-mix(in srgb,var(--color-line) 100%,transparent);box-shadow:0 1px 2px -1px rgba(0,0,0,0.3);}.reaction-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:18px;line-height:1;flex-shrink:0;transition:transform 240ms var(--ease-spring);}.reaction-btn-icon svg{width:20px;height:20px;display:block;}.reaction-btn-count{font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-ink-soft);line-height:1;}.reaction-btn-count[hidden]{display:none;}.reaction-btn.is-active .reaction-btn-count,.reaction-btn--heart .reaction-btn-count{color:var(--color-danger);}.reaction-btn--wow .reaction-btn-count{color:var(--color-warm);}.reaction-btn--like .reaction-btn-count{color:var(--color-accent);}@media (hover:hover){.reaction-btn:hover{background:color-mix( in srgb,var(--color-ink) 3%,var(--color-surface) );border-color:color-mix(in srgb,var(--color-line) 100%,transparent);box-shadow:0 2px 6px -2px rgba(12,30,38,0.1);color:var(--color-ink);}.reaction-btn:hover .reaction-btn-icon{transform:scale(1.1);}}.reaction-btn:active{transform:scale(0.96);transition-duration:90ms;}.reaction-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reaction-btn.is-just-reacted .reaction-btn-icon{animation:reaction-pop 420ms var(--ease-spring);}@keyframes reaction-pop{0%{transform:scale(1);}40%{transform:scale(1.5);}70%{transform:scale(0.9);}100%{transform:scale(1);}}@media (prefers-reduced-motion:reduce){.reaction-btn.is-just-reacted .reaction-btn-icon{animation:none;}}.reaction-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;border:none;border-radius:50%;font-size:1.375rem;line-height:1;cursor:pointer;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background 160ms var(--ease-out),transform 240ms var(--ease-spring);}@media (hover:hover){.reaction-option:hover{background:color-mix(in srgb,var(--color-ink) 6%,transparent);transform:translateY(-4px) scale(1.15);}}.reaction-option:active{transform:scale(0.9);transition-duration:90ms;}.reaction-option:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reaction-btn--disabled,.reaction-btn--disabled:hover,.reaction-btn--disabled:active{cursor:not-allowed;transform:none;border-color:color-mix(in srgb,var(--color-line) 60%,transparent);box-shadow:none;color:var(--color-ink-faint);opacity:0.75;}.reaction-btn--disabled .reaction-btn-icon{color:var(--color-ink-faint);}.reaction-btn--disabled:hover .reaction-btn-icon{transform:none;}.reaction-btn-label{font-family:var(--font-display);font-weight:600;font-size:0.8125rem;color:inherit;line-height:1;}[data-theme="dark"] .reaction-btn--disabled,[data-theme="dark"] .reaction-btn--disabled:hover,[data-theme="dark"] .reaction-btn--disabled:active{background:transparent;border-color:color-mix(in srgb,var(--color-line) 70%,transparent);}@media (max-width:480px){.reaction-summary{gap:10px;padding-top:var(--space-1);margin-top:var(--space-3);}.reaction-summary-emoji{width:24px;height:24px;font-size:14px;margin-left:-9px;}.reaction-summary-text{font-size:0.8125rem;}.reaction-btn{min-height:36px;padding:6px 12px 6px 10px;font-size:0.8125rem;}.reaction-btn-icon{width:18px;height:18px;font-size:16px;}.reaction-btn-icon svg{width:18px;height:18px;}@media (max-width:380px){.reaction-btn--disabled .reaction-btn-label{display:none;}.reaction-btn--disabled{padding:6px 10px;}}}.reaction-picker{position:absolute;left:0;bottom:calc(100% + 12px);z-index:var(--z-dropdown);display:flex;align-items:center;gap:2px;padding:6px 8px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-full);box-shadow:0 1px 2px -1px rgba(12,30,38,0.08),0 12px 32px -16px rgba(12,30,38,0.24);opacity:0;transform:translateY(6px) scale(0.94);transform-origin:bottom left;transition:opacity 180ms var(--ease-out),transform 240ms var(--ease-spring);pointer-events:none;white-space:nowrap;}.reaction-picker[hidden]{display:none !important;}.reaction-picker::after{content:"";position:absolute;left:20px;top:100%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--color-surface);filter:drop-shadow(0 1px 0 var(--color-line));}.reaction-picker.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}[data-theme="dark"] .reaction-picker{box-shadow:0 1px 2px -1px rgba(0,0,0,0.5),0 12px 32px -16px rgba(0,0,0,0.7);}@media (max-width:480px){.reaction-picker{bottom:calc(100% + 10px);padding:5px 6px;}.reaction-picker::after{left:16px;border-left-width:5px;border-right-width:5px;border-top-width:6px;}}@media (max-width:480px){.reaction-btn-icon{width:16px;height:16px;font-size:14px;}.reaction-btn-icon svg{width:16px;height:16px;}.reaction-picker{padding:5px 6px;}.reaction-option{width:2.25rem;height:2.25rem;font-size:1.25rem;}}@media (prefers-reduced-motion:reduce){.reaction-picker{transition:opacity 140ms var(--ease-out);transform:none;}.reaction-picker.is-visible{transform:none;}.reaction-option:hover{transform:none;}}.reactions-modal{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:26rem;max-height:min(80vh,34rem);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 24px 60px -24px rgba(12,30,38,0.4);transform:translateY(12px) scale(0.97);opacity:0;transition:transform 300ms var(--ease-spring),opacity 220ms var(--ease-out);overflow:hidden;}.reactions-modal-overlay.is-visible .reactions-modal{transform:translateY(0) scale(1);opacity:1;}[data-theme="dark"] .reactions-modal{box-shadow:0 24px 60px -24px rgba(0,0,0,0.7);}.reactions-modal-header{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);touch-action:none;}.reactions-modal-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:-0.01em;color:var(--color-ink);}.reactions-modal-close{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:transparent;border:none;color:var(--color-ink-soft);cursor:pointer;padding:0;transition:background 180ms var(--ease-out),color 180ms var(--ease-out);}.reactions-modal-close svg{width:16px;height:16px;display:block;}@media (hover:hover){.reactions-modal-close:hover{background:color-mix(in srgb,var(--color-ink) 8%,transparent);color:var(--color-ink);}}.reactions-modal-close:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reactions-modal-tabs{display:flex;align-items:center;gap:4px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);overflow-x:auto;scrollbar-width:none;}.reactions-modal-tabs::-webkit-scrollbar{display:none;}.reactions-modal-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-full);font-family:var(--font-display);font-weight:600;font-size:0.8125rem;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;transition:background 180ms var(--ease-out),border-color 180ms var(--ease-out),color 180ms var(--ease-out);}.reactions-modal-tab-emoji{font-size:0.9375rem;line-height:1;}.reactions-modal-tab-count{font-variant-numeric:tabular-nums;opacity:0.75;}.reactions-modal-tab.is-active{color:var(--color-ink);background:var(--color-accent-soft);border-color:var(--color-accent-line);}.reactions-modal-tab.is-active .reactions-modal-tab-count{opacity:1;}@media (hover:hover){.reactions-modal-tab:hover:not(.is-active){background:color-mix(in srgb,var(--color-ink) 6%,transparent);color:var(--color-ink);}}.reactions-modal-tab:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reactions-modal-body{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3);min-height:5rem;}.reactions-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}.reactions-modal-item{display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-2);border-radius:var(--radius-sm);}@media (hover:hover){.reactions-modal-item:hover{background:color-mix(in srgb,var(--color-ink) 4%,transparent);}}.reactions-modal-name{flex:1;min-width:0;font-family:var(--font-display);font-weight:600;font-size:0.9375rem;letter-spacing:-0.005em;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.reactions-modal-reaction{flex-shrink:0;font-size:1.0625rem;line-height:1;}.reactions-modal-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-6) 0;}.reactions-modal-empty,.reactions-modal-error{margin:0;padding:var(--space-5) var(--space-3);text-align:center;font-family:var(--font-body);font-size:0.875rem;color:var(--color-ink-soft);}.reactions-modal-error{color:var(--color-danger);}@media (max-width:640px){.reactions-modal-overlay{align-items:flex-end;padding:0;}.reactions-modal{max-width:none;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(24px);}.reactions-modal-overlay.is-visible .reactions-modal{transform:translateY(0);}.reactions-modal-body{padding-bottom:calc(var(--space-3) + var(--safe-bottom));}}@media (prefers-reduced-motion:reduce){.reactions-modal-overlay,.reactions-modal{transition-duration:140ms;}.reactions-modal{transform:none;}}.post-modal{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:42rem;max-height:min(88vh,52rem);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 24px 60px -24px rgba(12,30,38,0.4);transform:translateY(16px) scale(0.97);opacity:0;transition:transform 320ms var(--ease-spring),opacity 240ms var(--ease-out);overflow:hidden;}.post-modal-overlay.is-visible .post-modal{transform:translateY(0) scale(1);opacity:1;}[data-theme="dark"] .post-modal{box-shadow:0 24px 60px -24px rgba(0,0,0,0.7);}.post-modal-handle{display:none;width:36px;height:4px;margin:8px auto 0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-ink) 18%,transparent);flex-shrink:0;touch-action:none;}.post-modal-header{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);flex-shrink:0;}.post-modal-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:-0.01em;color:var(--color-ink);max-width:calc(100% - 6rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.post-modal-close{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:transparent;border:none;color:var(--color-ink-soft);cursor:pointer;padding:0;transition:background 180ms var(--ease-out),color 180ms var(--ease-out);}.post-modal-close svg{width:16px;height:16px;display:block;}@media (hover:hover){.post-modal-close:hover{background:color-mix(in srgb,var(--color-ink) 8%,transparent);color:var(--color-ink);}}.post-modal-close:focus-visible{outline:none;box-shadow:var(--focus-ring);}.post-modal-body{flex:1;overflow-y:auto;padding:0 var(--space-4);min-height:5rem;}.post-modal-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8) 0;}.post-modal-error{margin:0;padding:var(--space-6) var(--space-3);text-align:center;font-family:var(--font-body);font-size:0.875rem;color:var(--color-danger);}.post-modal-body .post{padding:var(--space-4) 0;background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible;}.post-modal-body .post::before{display:none;}.post-modal-body .post:hover{border:none;box-shadow:none;}.post-modal-body .post-images{margin:var(--space-4) 0;border-radius:var(--radius-md);overflow:hidden;}.post-modal-footer{flex-shrink:0;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + var(--safe-bottom));background:var(--color-surface);border-top:1px solid var(--color-line);}.post-modal-comment{display:flex;align-items:center;gap:var(--space-3);}.post-modal-comment .avatar-sm{width:2.25rem;height:2.25rem;font-size:0.8rem;flex-shrink:0;}.post-modal-comment-field{flex:1;min-width:0;display:flex;align-items:center;height:2.75rem;padding:0 1.25rem;background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-radius:var(--radius-full);font-family:var(--font-body);font-size:0.9375rem;color:var(--color-ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;user-select:none;}.post-modal-comment-submit{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);border:none;cursor:not-allowed;padding:0;opacity:0.65;}.post-modal-comment-submit svg{width:18px;height:18px;display:block;}@media (max-width:640px){.post-modal-overlay{align-items:flex-end;justify-content:center;padding:0 !important;}.post-modal{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:92vh;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--color-line);border-left:none;border-right:none;border-bottom:none;transform:translateY(32px);}.post-modal-overlay.is-visible .post-modal{transform:translateY(0);}.post-modal-handle{display:block;}.post-modal-header{padding-top:var(--space-3);}.post-modal-body{padding:0 var(--space-3);}.post-modal-comment-field{height:2.5rem;font-size:0.875rem;}.post-modal-comment-submit{width:2.5rem;height:2.5rem;}}@media (prefers-reduced-motion:reduce){.post-modal-overlay,.post-modal{transition-duration:140ms;}.post-modal{transform:none;}}.reaction-bar--compact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);}.reaction-bar-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;}.reaction-bar--compact .reaction-summary{appearance:none;background:transparent;border:none;padding:4px 8px;margin:-4px -8px;display:inline-flex;align-items:center;gap:0;flex-shrink:0;cursor:pointer;border-radius:var(--radius-sm);transition:background 180ms var(--ease-out);}@media (hover:hover){.reaction-bar--compact .reaction-summary:hover{background:color-mix(in srgb,var(--color-ink) 6%,transparent);}}.reaction-bar--compact .reaction-summary:focus-visible{outline:none;box-shadow:var(--focus-ring);}.reaction-bar--compact .reaction-summary[hidden]{display:none;}.reaction-bar--compact .reaction-summary-emojis{padding-left:3px;}.reaction-bar--compact .reaction-summary-emoji{width:26px;height:26px;font-size:14px;margin-left:-9px;}.reaction-bar--compact .reaction-summary-emoji:first-child{margin-left:0;}.post-modal-comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);margin-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);text-align:center;}.post-modal-comments-empty p{margin:0;font-family:var(--font-body);font-size:0.9375rem;line-height:1.5;color:var(--color-ink-faint);}.post-modal-comments-empty strong{display:block;margin-bottom:4px;font-family:var(--font-display);font-weight:600;font-size:0.9375rem;color:var(--color-ink-soft);}.post-modal-body .post-body{font-size:clamp(1rem,0.9375rem + 0.3vw,1.125rem);line-height:1.7;letter-spacing:-0.01em;max-width:62ch;}.post-modal-body .post-body p + p{margin-top:1.15em;}.post-modal-body .post-body mark{background:color-mix(in srgb,#fbbf24 60%,transparent);padding:0.06em 0.28em;border-radius:5px;box-shadow:0 0 0 1px color-mix(in srgb,#fbbf24 30%,transparent) inset,0 1px 2px -1px color-mix(in srgb,#fbbf24 40%,transparent);}[data-theme="dark"] .post-modal-body .post-body mark{background:color-mix(in srgb,#fbbf24 40%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,#fbbf24 20%,transparent) inset,0 1px 2px -1px color-mix(in srgb,#fbbf24 25%,transparent);}@media (min-width:640px){.post-modal-body .post-body{letter-spacing:-0.01em;}.post-modal-body .post-body p + p{margin-top:1.25em;}.post-body{letter-spacing:-0.012em;}}@media (max-width:640px){.post{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:var(--space-5) var(--space-3);padding-bottom:var(--space-2);background:var(--color-surface);border:none;border-top:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-radius:0;box-shadow:none;}[data-theme="dark"] .post{border-top-color:color-mix( in srgb,var(--color-line) 75%,transparent );border-bottom-color:color-mix( in srgb,var(--color-line) 75%,transparent );box-shadow:none;}.post::before{display:none;}.post:hover{border:none;box-shadow:none;}.post-images{margin:var(--space-5) calc(-1 * var(--space-3)) calc(-1 * var(--space-5));border-radius:0;}.feed-stream{gap:var(--space-2);}.post-modal-body .post{margin-left:0;margin-right:0;padding:var(--space-4) var(--space-3);}}.post-body-wrap{position:relative;}.post-body-wrap.is-clamped .post-body{overflow:hidden;}.post-body-wrap.is-clamped::after{content:"";position:absolute;right:0;bottom:0;width:340px;height:1.65em;background:linear-gradient( to right,transparent 0%,color-mix(in srgb,var(--color-surface) 12%,transparent) 15%,color-mix(in srgb,var(--color-surface) 38%,transparent) 32%,color-mix(in srgb,var(--color-surface) 72%,transparent) 48%,color-mix(in srgb,var(--color-surface) 96%,transparent) 60%,var(--color-surface) 66%,var(--color-surface) 100% );pointer-events:none;z-index:1;}[data-theme="dark"] .post-body-wrap.is-clamped::after{background:linear-gradient( to right,transparent 0%,color-mix(in srgb,var(--color-surface) 20%,transparent) 15%,color-mix(in srgb,var(--color-surface) 50%,transparent) 32%,color-mix(in srgb,var(--color-surface) 82%,transparent) 48%,color-mix(in srgb,var(--color-surface) 98%,transparent) 60%,var(--color-surface) 66%,var(--color-surface) 100% );}.post-body-wrap.is-clamped .post-body-more{position:absolute;right:0;bottom:2px;margin:0;z-index:2;}.post-body-more::before{content:"…";margin-right:5px;font-weight:700;color:var(--color-ink-faint);letter-spacing:0.02em;}.post-body-more{appearance:none;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;margin:6px 0 2px;background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent);border-radius:var(--radius-full);font-family:var(--font-display);font-weight:700;font-size:0.6875rem;letter-spacing:0.01em;line-height:1.3;color:var(--color-accent);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background 180ms var(--ease-out),border-color 180ms var(--ease-out),transform 140ms var(--ease-out);}.post-body-more[hidden]{display:none;}@media (hover:hover){.post-body-more:hover{background:color-mix(in srgb,var(--color-accent) 16%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent);}}.post-body-more:active{transform:scale(0.97);transition-duration:90ms;}.post-body-more:focus-visible{outline:none;box-shadow:var(--focus-ring);}[data-theme="dark"] .post-body-more{background:color-mix(in srgb,var(--color-accent) 14%,transparent);border-color:color-mix(in srgb,var(--color-accent) 30%,transparent);}@media (hover:hover){[data-theme="dark"] .post-body-more:hover{background:color-mix(in srgb,var(--color-accent) 22%,transparent);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent);}}.post-modal-body .post-body-more{display:none !important;}.post-modal-body .post-body-wrap .post-body{max-height:none !important;overflow:visible;}.post-modal-body .post-body-wrap .post-body::after{display:none;}.guest-prompt{position:fixed;z-index:9600;display:flex;align-items:center;gap:var(--space-3);padding:10px 12px 10px 14px;max-width:280px;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-line) 90%,transparent);border-radius:var(--radius-md);box-shadow:0 1px 2px -1px rgba(12,30,38,0.08),0 12px 32px -16px rgba(12,30,38,0.24);opacity:0;transform:translateY(6px) scale(0.96);transform-origin:bottom center;transition:opacity 180ms var(--ease-out),transform 240ms var(--ease-spring);pointer-events:none;}.guest-prompt[hidden]{display:none !important;}.guest-prompt.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}[data-theme="dark"] .guest-prompt{box-shadow:0 1px 2px -1px rgba(0,0,0,0.5),0 12px 32px -16px rgba(0,0,0,0.7);}.guest-prompt-text{flex:1;min-width:0;font-family:var(--font-body);font-size:0.875rem;line-height:1.35;color:var(--color-ink-soft);}.guest-prompt-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:2rem;padding:0 0.9rem;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-full);font-family:var(--font-display);font-weight:700;font-size:0.8125rem;letter-spacing:-0.005em;text-decoration:none;transition:background 180ms var(--ease-out);}@media (hover:hover){.guest-prompt-cta:hover{background:color-mix(in srgb,var(--color-accent) 88%,black);}}.guest-prompt-cta:focus-visible{outline:none;box-shadow:var(--focus-ring);}.guest-prompt-arrow{position:absolute;width:0;height:0;pointer-events:none;}.guest-prompt-arrow,.guest-prompt[data-arrow="top"] .guest-prompt-arrow{bottom:-6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-surface);filter:drop-shadow(0 1px 0 var(--color-line));}.guest-prompt[data-arrow="bottom"] .guest-prompt-arrow{top:-6px;bottom:auto;border-left:6px solid transparent;border-right:6px solid transparent;border-top:none;border-bottom:6px solid var(--color-surface);filter:drop-shadow(0 -1px 0 var(--color-line));}@media (prefers-reduced-motion:reduce){.guest-prompt{transition:opacity 120ms var(--ease-out);transform:none;}.guest-prompt.is-visible{transform:none;}}.reaction-btn[data-share-btn].is-active{color:var(--color-accent);background:color-mix( in srgb,var(--color-accent) 8%,var(--color-surface) );}.reaction-btn[data-share-btn].is-active .reaction-btn-icon svg{stroke:var(--color-accent);stroke-width:2.4;}.reaction-btn[data-share-btn].is-active .reaction-btn-count{color:var(--color-accent);}.reaction-btn[data-share-btn]{position:relative;}.reaction-btn[data-share-btn].is-active::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1.5px var(--color-surface);animation:share-dot-in 320ms var(--ease-spring);}@keyframes share-dot-in{0%{transform:scale(0);opacity:0;}60%{transform:scale(1.4);opacity:1;}100%{transform:scale(1);opacity:1;}}.reaction-btn[data-share-btn].is-just-reacted .reaction-btn-icon{animation:share-pop 520ms var(--ease-spring);}@keyframes share-pop{0%{transform:scale(1) rotate(0deg);}40%{transform:scale(1.35) rotate(-12deg);}70%{transform:scale(0.92) rotate(4deg);}100%{transform:scale(1) rotate(0deg);}}@media (prefers-reduced-motion:reduce){.reaction-btn[data-share-btn].is-active::after{animation:none;}.reaction-btn[data-share-btn].is-just-reacted .reaction-btn-icon{animation:none;}}.reaction-btn[data-share-btn]{position:relative;transition:color 200ms var(--ease-out),background 200ms var(--ease-out),border-color 200ms var(--ease-out),box-shadow 220ms var(--ease-out),transform 140ms var(--ease-out);}.reaction-btn[data-share-btn].is-active{color:var(--color-accent);background:color-mix( in srgb,var(--color-accent) 10%,var(--color-surface) );}.reaction-btn[data-share-btn].is-active .reaction-btn-icon svg{stroke:var(--color-accent);stroke-width:2.4;}.reaction-btn[data-share-btn].is-active .reaction-btn-count{color:var(--color-accent);}.reaction-btn[data-share-btn].is-active::after{content:"";position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1.5px var(--color-surface),0 2px 4px -1px color-mix(in srgb,var(--color-accent) 50%,transparent);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-9'/%3E%3C/svg%3E"),linear-gradient(var(--color-accent),var(--color-accent));background-size:10px 10px,auto;background-position:center,center;background-repeat:no-repeat;animation:share-badge-in 420ms cubic-bezier(0.34,1.56,0.64,1);}@keyframes share-badge-in{0%{transform:scale(0) rotate(-60deg);opacity:0;}60%{transform:scale(1.25) rotate(8deg);opacity:1;}100%{transform:scale(1) rotate(0deg);opacity:1;}}.reaction-btn[data-share-btn].is-just-reacted{animation:share-btn-pop 520ms var(--ease-spring);}.reaction-btn[data-share-btn].is-just-reacted .reaction-btn-icon{animation:share-icon-pop 520ms var(--ease-spring);}@keyframes share-btn-pop{0%{transform:scale(1);}40%{transform:scale(1.06);}70%{transform:scale(0.98);}100%{transform:scale(1);}}@keyframes share-icon-pop{0%{transform:scale(1) translateY(0);}40%{transform:scale(1.25) translateY(-3px);}70%{transform:scale(0.94) translateY(0);}100%{transform:scale(1) translateY(0);}}@media (hover:hover){.reaction-btn[data-share-btn]:not(.is-active):hover{color:var(--color-accent);}.reaction-btn[data-share-btn].is-active:hover{background:color-mix( in srgb,var(--color-accent) 14%,var(--color-surface) );box-shadow:0 1px 0 0 color-mix(in srgb,var(--color-accent) 25%,transparent) inset,0 6px 16px -6px color-mix(in srgb,var(--color-accent) 55%,transparent);}}@media (prefers-reduced-motion:reduce){.reaction-btn[data-share-btn].is-active::after,.reaction-btn[data-share-btn].is-just-reacted,.reaction-btn[data-share-btn].is-just-reacted .reaction-btn-icon{animation:none;}}.post-modal-comments{padding:var(--space-4) 0 var(--space-6);border-top:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);}.comments-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);}.comments-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:0.9375rem;letter-spacing:-0.01em;color:var(--color-ink);}.comments-loading{display:flex;justify-content:center;padding:var(--space-5) 0;}.comments-error,.comments-empty p{margin:0;padding:var(--space-4) 0;text-align:center;font-family:var(--font-body);font-size:0.9375rem;line-height:1.5;color:var(--color-ink-faint);}.comments-error{color:var(--color-danger);}.comments-empty strong{display:block;margin-bottom:2px;font-weight:600;color:var(--color-ink-soft);}.comments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4);}.comment{display:flex;gap:var(--space-3);align-items:flex-start;}.comment-avatar{width:2rem;height:2rem;font-size:0.75rem;flex-shrink:0;overflow:hidden;}.comment-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}.comment-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}.comment-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.2;}.comment-author{font-family:var(--font-display);font-weight:700;font-size:0.875rem;letter-spacing:-0.005em;color:var(--color-ink);}.comment-verified{display:inline-flex;align-items:center;color:var(--color-warm);flex-shrink:0;}.comment-verified svg{width:12px;height:12px;}.comment-time{font-family:var(--font-body);font-size:0.75rem;color:var(--color-ink-faint);}.comment-delete{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-ink-faint);cursor:pointer;opacity:0.5;transition:opacity 160ms var(--ease-out),background 160ms var(--ease-out),color 160ms var(--ease-out);}@media (hover:hover){.comment:hover .comment-delete{opacity:1;}}@media (hover:none){.comment-delete{opacity:0.85;width:32px;height:32px;margin-top:-4px;margin-right:-4px;}}.comment-delete svg{width:13px;height:13px;}@media (hover:hover){.comment:hover .comment-delete{opacity:1;}.comment-delete:hover{background:var(--color-danger-soft);color:var(--color-danger);}}.comment-delete:focus-visible{outline:none;opacity:1;box-shadow:var(--focus-ring);}.comment-body{margin:0;font-family:var(--font-body);font-size:0.9375rem;line-height:1.5;color:var(--color-ink);word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;}.post-modal-comment{display:flex;align-items:flex-end;gap:var(--space-3);width:100%;margin:0;}.post-modal-comment-input{flex:1;min-width:0;height:2.75rem;padding:0 1.15rem;background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-radius:var(--radius-full);font-family:var(--font-body);font-size:max(16px,0.9375rem);line-height:1;color:var(--color-ink);outline:none;overflow:hidden;text-overflow:ellipsis;transition:border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out),background 180ms var(--ease-out);}.post-modal-comment-input::placeholder{color:var(--color-ink-faint);}.post-modal-comment-input:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--focus-ring);}.post-modal-comment-submit{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);border:none;cursor:pointer;padding:0;transition:background 180ms var(--ease-out),transform 140ms var(--ease-out),opacity 180ms var(--ease-out);}.post-modal-comment-submit svg{width:18px;height:18px;display:block;}.post-modal-comment-submit:disabled{opacity:0.4;cursor:not-allowed;}@media (hover:hover){.post-modal-comment-submit:not(:disabled):hover{background:color-mix(in srgb,var(--color-accent) 88%,black);}}.post-modal-comment-submit:not(:disabled):active{transform:scale(0.94);}.post-modal-comment-submit.is-loading{opacity:0.6;pointer-events:none;}.post-modal-comment-submit.is-loading svg{display:none;}.post-modal-comment-submit.is-loading::after{content:"";width:1.1em;height:1.1em;border:2px solid var(--color-on-accent);border-right-color:transparent;border-radius:50%;animation:comment-spin 640ms linear infinite;}@keyframes comment-spin{to{transform:rotate(360deg);}}.post-modal-comment--guest{width:100%;cursor:pointer;background:transparent;border:none;padding:0;}.post-modal-comment-field{flex:1;min-width:0;display:flex;align-items:center;height:2.75rem;padding:0 1.15rem;background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:0.9375rem;color:var(--color-ink-faint);}@media (prefers-reduced-motion:reduce){.post-modal-comment-submit.is-loading::after{animation-duration:1400ms;}}.post-modal-comment-submit.is-cooling{background:var(--color-warm);opacity:1;cursor:wait;}.post-modal-comment-submit.is-cooling::after{content:"";width:1.1em;height:1.1em;border:2px solid rgba(255,255,255,0.4);border-top-color:#ffffff;border-radius:50%;animation:comment-cooling-spin 900ms linear infinite;}.post-modal-comment-submit.is-cooling svg{display:none;}@keyframes comment-cooling-spin{to{transform:rotate(360deg);}}@media (prefers-reduced-motion:reduce){.post-modal-comment-submit.is-cooling::after{animation-duration:1800ms;}}.post-pending-badge{display:inline-flex;align-items:center;padding:2px 8px;background:color-mix(in srgb,var(--color-warm) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-warm) 30%,transparent);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--color-warm);margin-left:auto;align-self:flex-start;margin-top:2px;flex-shrink:0;}.composer-modal{max-width:600px;}.composer-body{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);}.composer-step{display:flex;flex-direction:column;gap:var(--space-4);}.composer-textarea{width:100%;min-height:120px;padding:var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1.125rem;line-height:1.6;color:var(--color-ink);resize:vertical;outline:none;}.composer-textarea:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--focus-ring);}.composer-actions-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);}.composer-image-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:600;font-size:0.875rem;color:var(--color-ink-soft);cursor:pointer;}.composer-image-btn svg{width:18px;height:18px;}.composer-previews{display:flex;gap:8px;flex-wrap:wrap;}.composer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-line);}.composer-count{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-ink-faint);}.composer-preview-mount{padding:0;border:none;}.composer-step[hidden]{display:none !important;}.composer-modal{max-width:600px;}.composer-body{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);}.composer-step{display:flex;flex-direction:column;gap:var(--space-4);}.composer-step[hidden]{display:none !important;}.composer-textarea{width:100%;min-height:120px;padding:var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1.125rem;line-height:1.6;color:var(--color-ink);resize:vertical;outline:none;}.composer-textarea:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--focus-ring);}.composer-upload-area{display:flex;flex-direction:column;gap:12px;padding:var(--space-4);background:var(--color-surface-2);border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);}.composer-upload-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}.composer-image-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:600;font-size:0.875rem;color:var(--color-ink);cursor:pointer;transition:all 0.2s;}.composer-image-btn:hover{background:var(--color-accent-soft);border-color:var(--color-accent-line);color:var(--color-accent);}.composer-image-btn svg{width:18px;height:18px;}.composer-upload-hint{font-family:var(--font-mono);font-size:0.6875rem;color:var(--color-ink-faint);text-align:right;line-height:1.3;}.composer-thumbnails-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}.composer-thumb{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-line);}.composer-thumb img{width:100%;height:100%;object-fit:cover;}.composer-thumb-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,0.6);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:background 0.2s;}.composer-thumb-remove:hover{background:rgba(220,38,38,0.9);}.composer-thumb-remove svg{width:12px;height:12px;}.composer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-line);}.composer-count{font-family:var(--font-mono);font-size:0.75rem;color:var(--color-ink-faint);}.composer-preview-mount{padding:0;background:transparent;border:none;}.post--preview::before{display:none !important;}.post--preview .post-images{margin:var(--space-4) 0 0 0 !important;border-radius:var(--radius-md);}.post--preview .post-body{font-size:1.0625rem;line-height:1.65;color:var(--color-ink);}.post--preview .post-head{margin-bottom:var(--space-3);}.post-options{position:relative;margin-left:8px;}.post-options-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:var(--color-ink-faint);cursor:pointer;transition:background 0.2s,color 0.2s;}.post-options-btn svg{width:20px;height:20px;pointer-events:none;}.post-options-btn:hover{background:color-mix(in srgb,var(--color-ink) 8%,transparent);color:var(--color-ink);}.post-options-menu{position:fixed;z-index:99999;width:180px;padding:6px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:options-fade-in 0.15s ease-out;}.post-options-menu[hidden]{display:none !important;}@keyframes options-fade-in{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}.post-options-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:var(--color-ink);text-align:left;cursor:pointer;transition:background 0.15s;}.post-options-item:hover{background:color-mix(in srgb,var(--color-ink) 5%,transparent);}.post-options-item svg{width:16px;height:16px;}.post-options-item--danger{color:var(--color-danger);}.post-options-item--danger svg{color:var(--color-danger);}.post-options-item--danger:hover{background:var(--color-danger-soft);}.admin-actions{display:flex;gap:12px;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);}.admin-actions .btn{flex:1;min-height:40px;}.post-rejected-badge{background:color-mix(in srgb,var(--color-danger) 15%,transparent);border-color:color-mix(in srgb,var(--color-danger) 30%,transparent);color:var(--color-danger);}@media (max-width:640px){body[data-page="feed"] .app-main{padding-top:0;}.feed-composer{border-top:none;margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));margin-bottom:var(--space-4);border-radius:0;border-left:none;border-right:none;border-top:none;border-bottom:1px solid color-mix(in srgb,var(--color-line) 55%,transparent);box-shadow:none;padding:var(--space-3) var(--space-3);}}