*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#06060a;--surf:rgba(12,12,22,.85);--surf2:#12121c;
  --bord:rgba(255,255,255,.08);--bord2:rgba(255,255,255,.14);
  --txt:#f0f0f8;--muted:rgba(255,255,255,.52);--dim:rgba(255,255,255,.28);
  --accent:#6366f1;--acl:#818cf8;--acd:rgba(99,102,241,.2);
  --c-accent:var(--accent);
  --green:#34d399;--danger:#f87171;
  --ease:cubic-bezier(.16,1,.3,1);
}
[data-theme="light"]{
  --bg:#f3f3fa;--surf:rgba(255,255,255,.88);--surf2:#fff;
  --bord:rgba(0,0,0,.08);--bord2:rgba(0,0,0,.14);
  --txt:#0f0f1a;--muted:rgba(0,0,0,.6);--dim:rgba(0,0,0,.38);
  --accent:#4f46e5;--acl:#3730a3;--acd:rgba(79,70,229,0.08);
  --c-accent:var(--accent);
}
html,body{height:100%;font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--txt);transition:background .3s,color .3s}

/* ── Ambient background ── */
.bg-glob{position:fixed;inset:-30%;z-index:0;pointer-events:none;filter:blur(90px) saturate(150%);opacity:.35}
.bg-glob-l{position:absolute;width:50vw;height:50vw;background:#6366f1;border-radius:50%;top:0;left:10%;animation:bfloat 25s ease-in-out infinite alternate}
.bg-glob-r{position:absolute;width:40vw;height:40vw;background:#8b5cf6;border-radius:50%;bottom:10%;right:5%;animation:bfloat 30s ease-in-out infinite alternate-reverse}
[data-theme="light"] .bg-glob{opacity:.12}
@keyframes bfloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(5%,8%) scale(1.08)}}

/* ── Header ── */
.hdr{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.5rem;height:60px;
  min-height: 60px !important;
  max-height: 60px !important;
  flex-wrap: nowrap !important;
  background:rgba(6,6,10,.82);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--bord);
  transition:background .3s;
}
[data-theme="light"] .hdr{background:rgba(243,243,250,.88)}
.hdr-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}
.hdr-logo img{width:32px;height:32px;object-fit:contain}
.hdr-logo span{font:800 1.05rem/1 'Inter',sans-serif;letter-spacing:-.02em;background:linear-gradient(135deg,#f0f0ff,#a5b4fc 60%,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
[data-theme="light"] .hdr-logo span{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text}
.hdr-right{display:flex;align-items:center;gap:.35rem}
.ibtn{width:34px;height:34px;border-radius:8px;border:1px solid var(--bord);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.ibtn:hover{color:var(--txt);border-color:var(--bord2);background:rgba(255,255,255,.05)}
[data-theme="light"] .ibtn:hover{background:rgba(0,0,0,.04)}
.post-hdr-btn{
  display:inline-flex;align-items:center;gap:.38rem;
  padding:.4rem .9rem;border-radius:8px;
  background:var(--accent);border:none;color:#fff;
  font:600 .78rem 'Inter',sans-serif;cursor:pointer;transition:opacity .15s;
  text-decoration:none;
}
.post-hdr-btn:hover{opacity:.88}
@media(max-width:600px){
  .post-hdr-btn #t-post-btn{display:none}
  .post-hdr-btn{padding:.4rem .6rem}
  .hdr-logo span{display:none}
}

/* ── Guest banner ── */
#guestBanner{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.38rem 2.5rem;
  background:rgba(99,102,241,.07);border-bottom:1px solid rgba(99,102,241,.16);
  font:500 .7rem 'Inter',sans-serif;color:var(--muted);
  position:relative;z-index:99;
}
#guestBanner a{color:var(--acl);font-weight:700;text-decoration:none}
#guestBanner button{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.85rem;line-height:1;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}

/* ── Shell layout ── */
.shell{
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:calc(100vh - 60px);
  max-width:1200px;
  margin:0 auto;
  position:relative;z-index:1;
}
@media(max-width:900px){.shell{grid-template-columns:1fr}}

/* ── Sidebar ── */
.sidebar{
  border-right:1px solid var(--bord);
  padding:1.5rem 1.1rem;
  display:flex;flex-direction:column;gap:1.25rem;
  position:sticky;top:60px;height:calc(100vh - 60px);
  overflow-y:auto;
}
@media(max-width:900px){.sidebar{display:none}}

.sidebar-section-lbl{font:700 .62rem 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:.45rem}
.fchips{display:flex;flex-direction:column;gap:.25rem}
.fchip{
  display:flex;align-items:center;gap:.5rem;
  padding:.42rem .65rem;border-radius:8px;border:1px solid transparent;
  font:500 .8rem 'Inter',sans-serif;color:var(--muted);background:transparent;
  cursor:pointer;transition:.15s;text-align:left;
}
.fchip:hover{color:var(--txt);background:var(--bord)}
.fchip.on{background:var(--acd);border-color:rgba(99,102,241,.3);color:var(--acl)}
.fchip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dot-today{background:#f87171}
.dot-week{background:#fbbf24}
.dot-month{background:#60a5fa}
.dot-flex{background:var(--dim)}
.dot-seek{background:#34d399}
.dot-offer{background:#a78bfa}

/* ── Mobile filter bar ── */
.mobile-filters {
  display: none;
  gap: 0.45rem;
  padding: 0.65rem 1rem;
  overflow-x: auto;
  scrollbar-width: none;
  border-bottom: 1px solid var(--bord);
  position: sticky;
  top: 60px;
  z-index: 99;
  background: rgba(6, 6, 10, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background 0.3s, border-color 0.3s;
}
@media(max-width:900px){.mobile-filters{display:flex}}
.mobile-filters::-webkit-scrollbar{display:none}

.mfchip {
  padding: 0.38rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  font: 600 0.75rem 'Inter', sans-serif;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  transition: all 0.2s var(--ease);
  white-space: nowrap;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.mfchip:hover {
  color: var(--txt);
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-0.5px);
}
.mfchip.on {
  background: var(--acd);
  border-color: rgba(99, 102, 241, 0.45);
  color: var(--acl);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.15);
}

[data-theme="light"] .mobile-filters {
  background: rgba(243, 243, 250, 0.85);
}
[data-theme="light"] .mfchip {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.06);
}
[data-theme="light"] .mfchip:hover {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.15);
}
[data-theme="light"] .mfchip.on {
  border-color: rgba(79, 70, 229, 0.4);
  box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.1);
}

/* ── Feed ── */
.feed{
  padding:1.5rem;
  display:flex;flex-direction:column;gap:1rem;
  min-height:0;
  min-width:0;
  overflow-x:hidden;
}
@media(max-width:600px){.feed{padding:1rem .75rem}}

/* ── My intents bar ── */
.mine-filter-link{
  display:flex;align-items:center;gap:.45rem;width:100%;
  padding:.4rem .5rem;border-radius:8px;border:none;
  background:transparent;color:var(--muted);
  font:500 .8rem 'Inter',sans-serif;cursor:pointer;transition:.14s;text-align:left;
  margin-bottom:.5rem;
}
.mine-filter-link:hover{color:var(--txt);background:rgba(255,255,255,.04)}
.mine-filter-link.mine-active{color:var(--acl);background:rgba(99,102,241,.1)}
.mine-badge{
  margin-left:auto;
  background:rgba(99,102,241,.2);color:var(--acl);
  font:600 .65rem 'Inter',sans-serif;
  padding:.08rem .38rem;border-radius:10px;min-width:18px;text-align:center;
}

/* ── Intent card ── */
.intent-card{
  background:var(--surf);
  border:1px solid var(--bord);
  border-radius:16px;
  padding:1.1rem 1.25rem;
  display:flex;flex-direction:column;gap:.75rem;
  transition:border-color .18s,box-shadow .18s;
  cursor:default;
  position:relative;
  overflow:hidden;
}
.intent-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(350px circle at var(--mouse-x,-200px) var(--mouse-y,-200px),
      rgba(255,255,255,.035),transparent 65%);
  pointer-events:none;
}
[data-theme="light"] .intent-card::after{
  background:radial-gradient(350px circle at var(--mouse-x,-200px) var(--mouse-y,-200px),
      rgba(99,102,241,.03),transparent 65%);
}
/* "Hoy" cards get a subtle left accent */
.intent-card:has(.ic-urgency-today){
  border-left:2px solid rgba(248,113,113,.45);
}
.intent-card:hover{
  border-color:var(--acl);
  box-shadow:0 0 20px rgba(99,102,241,.12),0 0 0 1px rgba(99,102,241,.2) inset;
}
[data-theme="light"] .intent-card:hover{
  border-color:var(--accent);
  box-shadow:0 6px 24px rgba(99,102,241,.08);
}

/* Card top row */
.ic-top{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.ic-badge{
  padding:.2rem .52rem;border-radius:4px;
  font:700 .6rem/1 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;
  flex-shrink:0;
}
.ic-badge-seeking{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);color:#34d399}
.ic-badge-offering{background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.25);color:#a78bfa}
.ic-badge-exploring{background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.25);color:#60a5fa}
.ic-urgency{
  padding:.18rem .48rem;border-radius:999px;
  font:600 .62rem/1 'Inter',sans-serif;
  display:inline-flex;align-items:center;gap:.28rem;
}
.ic-urgency-today{background:rgba(248,113,113,.1);color:#f87171}
.ic-urgency-this_week{background:rgba(251,191,36,.1);color:#fbbf24}
.ic-urgency-this_month{background:rgba(96,165,250,.1);color:#60a5fa}
.ic-urgency-flexible{background:rgba(255,255,255,.06);color:var(--dim)}
.ic-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.ic-expires{font:500 .62rem 'Inter',sans-serif;color:var(--dim);margin-left:auto}

/* Card title */
.ic-title{font:700 1rem/1.35 'Inter',sans-serif;letter-spacing:-.02em;color:var(--txt)}

/* Card description */
.ic-desc{font:400 .84rem/1.52 'Inter',sans-serif;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Skills */
.ic-skills{display:flex;gap:.25rem;flex-wrap:wrap}
.ic-skill{padding:.18rem .48rem;border-radius:4px;font:600 .62rem/1 'Inter',sans-serif;background:rgba(255,255,255,.05);border:1px solid var(--bord);color:var(--muted)}
[data-theme="light"] .ic-skill{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.07)}

/* Meta row */
.ic-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font:500 .72rem 'Inter',sans-serif;color:var(--dim)}
.ic-meta-item{display:inline-flex;align-items:center;gap:.25rem}

/* Footer */
.ic-foot{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--bord);padding-top:.75rem}
[data-theme="light"] .ic-foot{border-top-color:rgba(0,0,0,.06)}
.ic-person{display:flex;align-items:center;gap:.45rem;flex:1;min-width:0}
.ic-ava{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:700 .6rem 'Inter',sans-serif;color:#fff;
  flex-shrink:0;overflow:hidden;
}
.ic-ava img{width:100%;height:100%;object-fit:cover;display:block}
.ic-pname{font:600 .75rem/1.2 'Inter',sans-serif;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ic-pmeta{font:500 .62rem/1 'Inter',sans-serif;color:var(--dim)}
.ic-respond-btn{
  padding:.4rem .95rem;border-radius:8px;
  background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);
  color:var(--acl);font:600 .78rem 'Inter',sans-serif;
  cursor:pointer;transition:.15s;white-space:nowrap;flex-shrink:0;
}
.ic-respond-btn:hover{background:rgba(99,102,241,.28);border-color:rgba(99,102,241,.5)}
.ic-owner-btn{
  display:inline-flex;align-items:center;gap:.3rem;
  padding:.4rem .75rem;border-radius:8px;
  font:600 .75rem 'Inter',sans-serif;cursor:pointer;transition:.15s;white-space:nowrap;flex-shrink:0;
}
.ic-edit-btn{background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);color:#818cf8}
.ic-edit-btn:hover{background:rgba(99,102,241,.2);border-color:#6366f1;color:#a5b4fc}
.ic-view-responses-btn{display:flex;align-items:center;gap:.35rem;width:100%;margin-top:.5rem;padding:.38rem .7rem;background:rgba(255,255,255,.03);border:1px solid var(--bord);border-radius:8px;color:var(--muted);font:500 .75rem Inter,sans-serif;cursor:pointer;transition:.14s}
.ic-view-responses-btn:hover{border-color:rgba(99,102,241,.4);color:var(--txt)}
.ic-fulfill-btn{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:#34d399}
.ic-fulfill-btn:hover{background:rgba(52,211,153,.2);border-color:#34d399}
.ic-archive-btn{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);color:rgba(251,191,36,.9)}
.ic-archive-btn:hover{background:rgba(251,191,36,.16);border-color:#fbbf24;color:#fbbf24}
.ic-unarchive-btn{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25);color:var(--acl)}
.ic-unarchive-btn:hover{background:rgba(99,102,241,.18);border-color:var(--acl)}
.ic-delete-btn{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:rgba(239,68,68,.8)}
.ic-delete-btn:hover{background:rgba(239,68,68,.16);border-color:#ef4444;color:#ef4444}

/* ── Empty / Loading ── */
.feed-empty{
  text-align:center;padding:3rem 1rem;color:var(--dim);
  display:flex;flex-direction:column;align-items:center;gap:.75rem;
}
.feed-empty svg{opacity:.3}
.feed-loading{text-align:center;padding:2rem;color:var(--dim);font:500 .85rem 'Inter',sans-serif}

/* ── Modals ── */
.modal-backdrop{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.65);backdrop-filter:blur(6px);
  display:none;align-items:flex-end;justify-content:center;padding:0 0 1.5rem;
}
.modal-backdrop.open{display:flex}
@media(min-width:600px){.modal-backdrop{align-items:center;padding:1.5rem}}
.modal-box{
  background:#0d0d18;border:1px solid var(--bord2);
  border-radius:22px 22px 12px 12px;
  width:100%;max-width:520px;
  max-height:90vh;overflow-y:auto;
  padding:1.5rem 1.5rem 2rem;
  animation:slideUp .3s var(--ease) both;
}
[data-theme="light"] .modal-box{background:#fff}
@media(min-width:600px){.modal-box{border-radius:18px}}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.modal-title{font:800 1.05rem/1.2 'Inter',sans-serif;letter-spacing:-.02em}
.modal-close{background:none;border:none;color:var(--dim);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;border-radius:6px;transition:.14s}
.modal-close:hover{color:var(--txt);background:var(--bord)}

/* Form */
.form-field{margin-bottom:1rem}
.form-label{display:block;font:600 .78rem 'Inter',sans-serif;color:var(--muted);margin-bottom:.38rem}
.form-input,.form-textarea,.form-select{
  width:100%;padding:.62rem .85rem;
  background:rgba(255,255,255,.04);border:1px solid var(--bord);
  border-radius:10px;color:var(--txt);font:500 .88rem 'Inter',sans-serif;
  transition:border-color .15s;outline:none;
}
[data-theme="light"] .form-input,[data-theme="light"] .form-textarea,[data-theme="light"] .form-select{background:rgba(0,0,0,.03)}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:rgba(99,102,241,.5)}
.form-textarea{resize:vertical;min-height:90px;line-height:1.5}
.form-select{appearance:none;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.form-hint{font:400 .72rem 'Inter',sans-serif;color:var(--dim);margin-top:.3rem}
.form-urgency-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}
.urgency-chip{padding:.3rem .7rem;border-radius:7px;border:1px solid var(--bord);font:600 .72rem 'Inter',sans-serif;color:var(--muted);background:transparent;cursor:pointer;transition:.14s}
.urgency-chip.sel{background:var(--acd);border-color:rgba(99,102,241,.35);color:var(--acl)}
.submit-btn{
  width:100%;padding:.75rem;border-radius:12px;margin-top:.5rem;
  background:var(--accent);border:none;color:#fff;
  font:700 .9rem 'Inter',sans-serif;cursor:pointer;transition:opacity .15s;
}
.submit-btn:hover{opacity:.88}
.submit-btn:disabled{opacity:.45;cursor:not-allowed}
.form-status{text-align:center;font:500 .8rem 'Inter',sans-serif;margin-top:.5rem;min-height:1.2rem}

/* ── Bottom tab nav (mobile) ── */
.tabnav{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;
  background:rgba(6,6,10,.92);backdrop-filter:blur(16px);
  border-top:1px solid var(--bord);
  height:58px;display:none;align-items:center;justify-content:space-around;
  padding:0 .5rem;
}
@media(max-width:900px){.tabnav{display:flex}}
[data-theme="light"] .tabnav{background:rgba(243,243,250,.94)}
.tabitem{
  display:flex;flex-direction:column;align-items:center;gap:.18rem;
  color:var(--dim);text-decoration:none;font:500 .58rem 'Inter',sans-serif;
  padding:.4rem .7rem;border-radius:8px;background:none;border:none;cursor:pointer;
  transition:.14s;-webkit-tap-highlight-color:transparent;
}
.tabitem:hover{color:rgba(255,255,255,.7)}
[data-theme="light"] .tabitem:hover{color:rgba(0,0,0,.6)}
.tabitem.active{color:var(--acl)}
@media(min-width:901px){.tabnav{display:none}}

/* ── Response panel (small inline) ── */
.response-panel{
  background:rgba(255,255,255,.025);border:1px solid var(--bord);
  border-radius:12px;padding:.85rem 1rem;
  display:none;flex-direction:column;gap:.6rem;margin-top:.25rem;
}
.response-panel.open{display:flex}
.response-input{
  width:100%;padding:.52rem .75rem;
  background:rgba(255,255,255,.05);border:1px solid var(--bord2);
  border-radius:8px;color:var(--txt);font:400 .84rem 'Inter',sans-serif;
  outline:none;transition:border-color .15s;resize:none;min-height:60px;
}
.response-input:focus{border-color:rgba(99,102,241,.45)}
.response-send-btn{
  align-self:flex-end;padding:.38rem .85rem;border-radius:7px;
  background:var(--accent);border:none;color:#fff;
  font:600 .78rem 'Inter',sans-serif;cursor:pointer;transition:opacity .14s;
}
.response-send-btn:hover{opacity:.85}
.response-cancel{background:none;border:none;color:var(--dim);font:500 .72rem 'Inter',sans-serif;cursor:pointer;align-self:flex-start}

/* ── Share ── */
.ic-share-btn{
  width:30px;height:30px;border-radius:7px;border:1px solid var(--bord);
  background:transparent;color:var(--dim);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.14s;flex-shrink:0;
}
.ic-share-btn:hover{color:var(--txt);border-color:var(--bord2);background:rgba(255,255,255,.05)}
[data-theme="light"] .ic-share-btn:hover{background:rgba(0,0,0,.04)}
.ic-share-panel{margin-top:-.25rem}
.share-panel-inner{
  display:flex;gap:.35rem;flex-wrap:wrap;
  padding:.6rem .75rem;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--bord);
}
[data-theme="light"] .share-panel-inner{background:rgba(0,0,0,.03)}
.share-opt{
  display:inline-flex;align-items:center;gap:.38rem;
  padding:.3rem .65rem;border-radius:7px;
  font:600 .72rem 'Inter',sans-serif;text-decoration:none;
  cursor:pointer;transition:.14s;border:1px solid var(--bord);background:transparent;
}
.share-wa{color:#25d366;border-color:rgba(37,211,102,.25)}
.share-wa:hover{background:rgba(37,211,102,.1)}
.share-li{color:#0a66c2;border-color:rgba(10,102,194,.25)}
.share-li:hover{background:rgba(10,102,194,.1)}
[data-theme="light"] .share-li{color:#0a66c2}
.share-tg{color:#24a1de;border-color:rgba(36,161,222,.25)}
.share-tg:hover{background:rgba(36,161,222,.1)}
.share-tw{color:#e7e9ea;border-color:rgba(231,233,234,.2)}
.share-tw:hover{background:rgba(231,233,234,.08)}
[data-theme="light"] .share-tw{color:#0f1419;border-color:rgba(15,20,25,.2)}
.share-native{color:var(--c-accent);border-color:rgba(99,102,241,.3)}
.share-native:hover{background:rgba(99,102,241,.12)}
.share-copy{color:var(--muted);border-color:var(--bord)}
.share-copy:hover{color:var(--txt);background:rgba(255,255,255,.06)}
[data-theme="light"] .share-copy:hover{background:rgba(0,0,0,.04)}

/* ── Load More Trigger ── */
.load-more-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 0;
  min-height: 50px;
}
.load-more-btn {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--bord);
  color: var(--muted);
  padding: 0.5rem 1.25rem;
  border-radius: 10px;
  font: 600 0.82rem 'Inter', sans-serif;
  cursor: pointer;
  transition: all 0.15s;
}
.load-more-btn:hover {
  color: var(--txt);
  border-color: var(--bord2);
  background: rgba(255, 255, 255, 0.06);
}

/* ── GPS Status Banner ── */
.gps-status-banner {
  display: none;
  align-items: center;
  gap: .65rem;
  padding: .75rem 1rem;
  border-radius: 8px;
  font: 500 .78rem/1.4 'Inter', sans-serif;
  margin-bottom: 1.25rem;
  transition: all .25s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  z-index: 10;
}
.gps-status-banner.inactive {
  display: flex;
  background: rgba(99, 102, 241, 0.04);
  border: 1px solid rgba(99, 102, 241, 0.18);
  color: var(--acl, #a5b4fc);
}
.gps-status-banner.active {
  display: flex;
  background: rgba(52, 211, 153, 0.05);
  border: 1px solid rgba(52, 211, 153, 0.3);
  color: #34d399;
}
.gps-status-banner strong {
  font-weight: 700;
}

/* ── Mobile Filter Divider ── */
.mf-divider {
  width: 1px;
  height: 16px;
  background: var(--bord);
  flex-shrink: 0;
  margin: 0 0.25rem;
  align-self: center;
}

/* ── Feed Header & Search ── */
.feed-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .feed-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 480px;
}
.search-icon {
  position: absolute;
  left: 0.85rem;
  color: var(--dim);
  pointer-events: none;
}
#feedSearch {
  width: 100%;
  padding: 0.6rem 2.2rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--bord);
  border-radius: 10px;
  color: var(--txt);
  font: 500 0.88rem 'Inter', sans-serif;
  outline: none;
  transition: all 0.2s ease;
}
#feedSearch:focus {
  border-color: rgba(99, 102, 241, 0.5);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.15);
}
#clearSearchBtn {
  position: absolute;
  right: 0.75rem;
  background: none;
  border: none;
  color: var(--dim);
  cursor: pointer;
  font-size: 0.9rem;
  padding: 0.2rem;
  transition: color 0.15s;
}
#clearSearchBtn:hover {
  color: var(--txt);
}

.feed-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Sort tabs capsule */
.sort-tabs {
  display: flex;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--bord);
  border-radius: 10px;
  padding: 0.2rem;
}
.sort-tab {
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--muted);
  cursor: pointer;
  font: 600 0.78rem 'Inter', sans-serif;
  padding: 0.38rem 0.8rem;
  transition: all 0.15s ease;
}
.sort-tab:hover {
  color: var(--txt);
}
.sort-tab.active {
  background: var(--acd);
  color: var(--acl);
  border: 1px solid rgba(99, 102, 241, 0.18);
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
}

/* Focus mode button */
.focus-mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--bord);
  border-radius: 10px;
  color: var(--muted);
  cursor: pointer;
  font: 600 0.78rem 'Inter', sans-serif;
  padding: 0.4rem 0.85rem;
  transition: all 0.15s;
}
.focus-mode-btn:hover {
  color: var(--txt);
  border-color: var(--bord2);
  background: rgba(255, 255, 255, 0.06);
}
.focus-mode-btn.active {
  background: rgba(52, 211, 153, 0.1);
  border-color: rgba(52, 211, 153, 0.3);
  color: #34d399;
}

/* Light Theme Overrides */
[data-theme="light"] #feedSearch {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(0, 0, 0, 0.1);
  color: #0f0f1a;
}
[data-theme="light"] #feedSearch:focus {
  background: #fff;
  border-color: rgba(79, 70, 229, 0.4);
  box-shadow: 0 0 10px rgba(79, 70, 229, 0.1);
}
[data-theme="light"] .sort-tabs {
  background: rgba(0, 0, 0, 0.02);
}
[data-theme="light"] .sort-tab.active {
  border-color: rgba(79, 70, 229, 0.2);
}
[data-theme="light"] .focus-mode-btn {
  background: rgba(0, 0, 0, 0.02);
}
[data-theme="light"] .focus-mode-btn:hover {
  background: rgba(0, 0, 0, 0.05);
}
[data-theme="light"] .focus-mode-btn.active {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.3);
  color: #059669;
}

/* Responsive Mobile Layout tweaks for Feed Header actions */
@media (max-width: 600px) {
  .feed-actions {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    flex-wrap: nowrap;
  }
  .sort-tabs {
    flex: 1;
    display: flex;
  }
  .sort-tab {
    flex: 1;
    padding: 0.38rem 0.2rem;
    text-align: center;
    font-size: 0.72rem;
  }
  .focus-mode-btn {
    flex-shrink: 0;
    padding: 0.4rem 0.65rem;
    font-size: 0.72rem;
  }
}

/* ── Tags Cloud ── */

/* ── Focus Mode ── */
.focus-mode-container {
  background: rgba(13, 13, 24, 0.6);
  border: 1px solid var(--bord2);
  border-radius: 16px;
  padding: 1.5rem;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  animation: slideUp 0.35s var(--ease) both;
}
.focus-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.focus-counter {
  font: 700 0.8rem 'Inter', sans-serif;
  color: var(--acl);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.focus-exit-btn {
  background: transparent;
  border: 1px solid var(--bord);
  border-radius: 8px;
  color: var(--muted);
  cursor: pointer;
  font: 600 0.75rem 'Inter', sans-serif;
  padding: 0.35rem 0.75rem;
  transition: all 0.15s;
}
.focus-exit-btn:hover {
  color: var(--txt);
  border-color: var(--bord2);
  background: rgba(255, 255, 255, 0.04);
}
.focus-card-wrapper {
  display: flex;
  justify-content: center;
  perspective: 1000px;
}
.focus-card-wrapper .intent-card {
  width: 100%;
  max-width: 480px;
  border-color: rgba(99, 102, 241, 0.25);
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.08);
}
.focus-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.focus-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.65rem 1.5rem;
  border-radius: 12px;
  border: none;
  font: 700 0.85rem 'Inter', sans-serif;
  cursor: pointer;
  transition: all 0.18s ease;
  flex: 1;
  max-width: 180px;
}
.focus-action-btn.btn-pass {
  background: rgba(248, 113, 113, 0.12);
  border: 1px solid rgba(248, 113, 113, 0.25);
  color: #f87171;
}
.focus-action-btn.btn-pass:hover {
  background: rgba(248, 113, 113, 0.22);
  box-shadow: 0 4px 12px rgba(248, 113, 113, 0.12);
}
.focus-action-btn.btn-collaborate {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25);
}
.focus-action-btn.btn-collaborate:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* ── Mobile Geolocation Control Panel ── */
#mobileLocControl {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--bord);
  background: rgba(255, 255, 255, 0.02);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
[data-theme="light"] #mobileLocControl {
  background: rgba(0, 0, 0, 0.015);
}

/* ── Range Slider Inputs ── */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,.15);
  outline: none;
  accent-color: var(--accent,#6366f1);
  cursor: pointer;
  transition: background .15s;
}
[data-theme="light"] input[type="range"] {
  background: rgba(0,0,0,.18);
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--accent,#6366f1);
  cursor: pointer;
  box-shadow: 0 0 0 3px rgba(99,102,241,.2);
  transition: transform .1s;
}
input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); }
input[type="range"]::-moz-range-track {
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,.15);
}
[data-theme="light"] input[type="range"]::-moz-range-track {
  background: rgba(0,0,0,.18);
}
input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: none;
  background: var(--accent,#6366f1);
  cursor: pointer;
}

/* ── Skeleton cards ──────────────────────────────── */
@keyframes skShimmer {
  0%   { background-position: -400px 0; }
  100% { background-position:  400px 0; }
}
.sk {
  background: linear-gradient(90deg,
    rgba(255,255,255,.04) 25%,
    rgba(255,255,255,.1)  50%,
    rgba(255,255,255,.04) 75%
  );
  background-size: 800px 100%;
  animation: skShimmer 1.4s ease-in-out infinite;
}
.skeleton-card {
  opacity: 1;
  animation: skFadeIn .25s ease both;
}
@keyframes skFadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.intent-card.loaded {
  animation: cardFadeIn .35s cubic-bezier(.16,1,.3,1) both;
}
@keyframes cardFadeIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

/* ── Profile settings dropdown ── */
.hdr{overflow:visible !important}
.profile-menu{position:relative}
.profile-dropdown{
  display:none;
  position:absolute;top:calc(100% + 8px);right:0;min-width:230px;
  background:var(--surf2);border:1px solid var(--bord2);
  border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.45);
  overflow:hidden;z-index:9999;
}
.profile-dropdown.pd-open{
  display:block;
  animation:skFadeIn .15s cubic-bezier(.16,1,.3,1) both;
}
.pd-user{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid var(--bord)}
.pd-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--accent);
  color:#fff;font:700 .88rem 'Inter',sans-serif;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pd-info{overflow:hidden;min-width:0}
.pd-name{font:600 .85rem 'Inter',sans-serif;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-email{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-actions{padding:.4rem}
.pd-item{
  display:flex;align-items:center;gap:.6rem;width:100%;
  padding:.55rem .75rem;border:none;background:none;
  color:var(--txt);font:500 .82rem 'Inter',sans-serif;
  border-radius:9px;cursor:pointer;text-align:left;text-decoration:none;
  transition:background .12s;
}
.pd-item:hover{background:rgba(255,255,255,.07)}
[data-theme="light"] .pd-item:hover{background:rgba(0,0,0,.05)}
.pd-item.danger{color:var(--danger)}
.pd-item svg{flex-shrink:0;opacity:.65}
.pd-sep{height:1px;background:var(--bord);margin:.3rem .5rem}

/* ── Change password modal ── */
.cpw-field{margin-bottom:.85rem}
.cpw-label{font:600 .78rem 'Inter',sans-serif;color:var(--muted);display:block;margin-bottom:.38rem;letter-spacing:.02em;text-transform:uppercase}
.cpw-input-wrap{position:relative;display:flex;align-items:center}
.cpw-input-wrap .form-input{flex:1;padding-right:2.4rem}
.cpw-eye{position:absolute;right:.6rem;background:none;border:none;cursor:pointer;color:var(--muted);padding:.2rem;display:flex;align-items:center;transition:color .15s}
.cpw-eye:hover{color:var(--txt)}
