:root{--bg-base:#fdf6f0;--bg-card:#fff;--accent-primary:#ff6f61;--accent-secondary:#6c5ce7;--text-primary:#2b2118;--text-muted:#9c8f82;--font-display:"Fraunces", Georgia, serif;--font-body:"Be Vietnam Pro", system-ui, sans-serif}[data-theme=dark]{--bg-base:#1a1614;--bg-card:#241e1a;--accent-primary:#ff8a7a;--accent-secondary:#8b7ef0;--text-primary:#f5ebe6;--text-muted:#b8a89a}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body)}.threads-page-wrap{max-width:720px;margin:0 auto;padding:40px 20px 80px}.threads-page-wrap .page-hero p{white-space:nowrap}.threads-feed-wrap{flex-direction:column;gap:20px;display:flex}.threads-filter-bar{margin-bottom:8px}.filter-chips-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-chip{background:var(--bg-card);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;border:1.5px dashed #9c8f8259;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .25s}.filter-chip:hover{color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.filter-chip.active{background:var(--accent-primary);color:#fff;border-style:solid;border-color:#0000;box-shadow:0 4px 14px #ff6f614d}.threads-feed-container{flex-direction:column;gap:28px;display:flex}.thread-chain-group{background:var(--bg-card);border:1.5px dashed #9c8f824d;border-radius:28px 12px;flex-direction:column;gap:0;padding:14px 0;display:flex;box-shadow:0 12px 32px #2b21180f,0 2px 8px #ff6f610a}.thread-chain-group .thread-card{box-shadow:none;border:none;border-radius:0}.thread-card{background-color:var(--bg-card);border:1.5px dashed #9c8f8240;border-radius:28px 12px;gap:16px;padding:24px 28px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #2b21180f,0 2px 8px #ff6f610a}.thread-card:before{content:"";border-style:solid;border-width:0 16px 16px 0;border-color:transparent var(--bg-base) transparent transparent;z-index:3;position:absolute;top:0;right:0;box-shadow:-2px 2px 4px #2b211814}.thread-card:hover{border-color:#ff6f6166;transform:translateY(-4px)rotate(.8deg);box-shadow:0 18px 42px #2b21181a,0 4px 14px #ff6f611f}.thread-line{background:var(--text-muted);opacity:.3;z-index:1;width:2px;position:absolute;top:68px;bottom:-28px;left:48px}.thread-line.line-last{display:none}.thread-card-left{z-index:2;flex-shrink:0;position:relative}.author-avatar-stamp{background:var(--bg-base);border:2px dashed #ff6f6173;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.4rem;transition:transform .25s;display:flex;transform:rotate(-4deg);box-shadow:0 4px 10px #2b211814}.thread-card:hover .author-avatar-stamp{transform:rotate(3deg)scale(1.05)}.thread-card-body{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.post-header-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.meta-left{align-items:center;gap:8px;display:flex}.meta-right{align-items:center;gap:6px;display:flex}.author-name{font-family:var(--font-display);color:var(--accent-primary);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.post-time-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.post-badge{border-radius:999px;padding:3px 10px;font-size:.73rem;font-weight:700;transition:transform .2s}.post-badge:hover{transform:scale(1.06)rotate(-2deg)}.badge-location{color:var(--accent-secondary);background:#6c5ce714;border:1px solid #6c5ce733}.badge-mood{color:var(--accent-primary);background:#ff6f6114;border:1px solid #ff6f6133}.post-content-text{font-family:var(--font-body);color:var(--text-primary);word-break:break-word;white-space:pre-line;font-size:.94rem;line-height:1.65}.post-media-grid{border-radius:18px;gap:3px;width:100%;margin-top:4px;overflow:hidden;box-shadow:0 4px 16px #2b211814}.img-grid-1{aspect-ratio:4/3;grid-template-columns:1fr;width:100%;display:grid}.img-grid-2{aspect-ratio:4/3;grid-template-rows:1fr;grid-template-columns:1fr 1fr;width:100%;display:grid}.img-grid-3{aspect-ratio:4/3;grid-template-rows:1fr;grid-template-columns:1.2fr 1fr;width:100%;display:grid}.grid-large-left{width:100%;height:100%}.grid-stacked-right{grid-template-rows:1fr 1fr;gap:3px;width:100%;height:100%;display:grid}.img-grid-4{aspect-ratio:4/3;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:100%;display:grid}.post-img-item{cursor:pointer;background:var(--bg-base);width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.post-img-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.post-img-item:hover img{transform:scale(1.05)}.img-more-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:var(--font-display);background:linear-gradient(135deg,#6c5ce773 0%,#6c5ce7d9 100%);justify-content:center;align-items:center;gap:6px;font-size:1.6rem;font-weight:700;transition:opacity .3s;display:flex;position:absolute;inset:0}.post-img-item:hover .img-more-overlay{opacity:.9}.post-card-actions{justify-content:flex-end;align-items:center;margin-top:6px;display:flex}.btn-like-heart{background:var(--bg-base);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;border:1.5px solid #9c8f824d;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:700;transition:all .25s;display:inline-flex;box-shadow:0 2px 6px #2b21180a}.btn-like-heart:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.btn-like-heart.liked{color:var(--accent-primary);background:#ff6f611f;border-color:#ff6f6159;box-shadow:0 2px 10px #ff6f6126}.btn-like-heart.pop-anim{animation:.25s cubic-bezier(.175,.885,.32,1.275) heartPop}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.image-lightbox{z-index:99999;opacity:0;justify-content:center;align-items:center;transition:opacity .3s;display:none;position:fixed;inset:0}.image-lightbox.open{opacity:1}.lightbox-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a1614eb;position:absolute;inset:0}.lightbox-content{z-index:2;justify-content:center;align-items:center;width:auto;max-width:90vw;height:auto;max-height:90vh;display:flex;position:relative}.lightbox-img-wrapper{flex-direction:column;justify-content:center;align-items:center;max-width:90vw;max-height:85vh;transition:width .3s,height .3s;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:14px;width:auto;max-width:90vw;height:auto;max-height:80vh;transition:max-width .3s,max-height .3s,transform .3s;display:block;box-shadow:0 16px 48px #00000080}.lightbox-counter{font-family:var(--font-body);color:#fffc;background:#ffffff1f;border-radius:999px;margin-top:12px;padding:4px 14px;font-size:.82rem;font-weight:700}.lightbox-nav-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:5;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.8rem;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-btn:hover{background:#ffffff40;transform:translateY(-50%)scale(1.1)}.nav-prev{left:16px}.nav-next{right:16px}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.8rem;position:absolute;top:-50px;right:0}.threads-loading{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:.95rem}.threads-empty-card{background:var(--bg-card);text-align:center;border:1.5px dashed #9c8f824d;border-radius:28px 12px;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex;box-shadow:0 12px 32px #2b21180f}.threads-empty-card .empty-icon{margin-bottom:4px;font-size:3rem}.threads-empty-card h3{font-family:var(--font-display);color:var(--accent-primary);font-size:1.2rem;font-weight:700}.threads-empty-card p{color:var(--text-muted);max-width:420px;font-size:.85rem;line-height:1.55}@media (width<=600px){.threads-page-wrap{padding:24px 14px 60px}.thread-card{border-radius:22px 10px;padding:20px 18px}.nav-prev{left:4px}.nav-next{right:4px}}
