
/* the search INPUT carried its own 1px border and 16px radius, so it drew a second
   pill inside the search field's own pill — she asked for that removed */
#page-life-lens .ll-srch input{
  border:0 !important; border-radius:0 !important; box-shadow:none !important; outline:none;
  /* fill the search pill so the whole bar is the tap area, not an 18px sliver */
  align-self:stretch; min-height:44px;
}
/* the view toggle was 40px while it did nothing; now that it switches views it
   needs a real target */
#page-life-lens .ll-vbtn{ min-height:44px !important; }

/* Grid / Timeline / Map views */
#page-life-lens .llv-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#page-life-lens .llv-card{
  background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9); border-radius:20px;
  padding:16px 18px; backdrop-filter:blur(6px); box-shadow:0 8px 26px rgba(22,34,47,.08);
  text-align:left;
}
#page-life-lens .llv-t{ margin:0; font-family:'Playfair Display',Georgia,serif; font-size:1.05rem; font-weight:700;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
#page-life-lens .llv-m{ margin:5px 0 0; font-size:.78rem;
  color:#4A5260 !important; -webkit-text-fill-color:#4A5260 !important; }
#page-life-lens .llv-n{ margin:9px 0 0; font-size:.86rem; line-height:1.55; font-style:italic;
  color:#2B3340 !important; -webkit-text-fill-color:#2B3340 !important; }
#page-life-lens .llv-mood{ display:inline-block; margin-top:9px; font-size:.7rem; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:5px 11px;
  background:#EFEAF8; color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }

#page-life-lens .llv-tl{ list-style:none; margin:0; padding:0;
  background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.9); border-radius:22px;
  padding:8px 20px; backdrop-filter:blur(6px); }
#page-life-lens .llv-tl li{ display:flex; gap:16px; padding:14px 0; border-top:1px solid rgba(22,34,47,.08); }
#page-life-lens .llv-tl li:first-child{ border-top:0; }
#page-life-lens .llv-d{ flex:none; width:88px; font-size:.76rem; font-weight:800;
  color:#4A5260 !important; -webkit-text-fill-color:#4A5260 !important; }

#page-life-lens .llv-place{
  display:flex; align-items:center; gap:14px; padding:14px 18px; margin-bottom:10px;
  background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9); border-radius:18px;
  backdrop-filter:blur(6px);
}
#page-life-lens .llv-pin{ width:42px; height:42px; border-radius:14px; flex:none; display:grid;
  place-items:center; background:#EFEAF8; font-size:1.1rem; }
#page-life-lens .llv-count{ margin-left:auto; font-size:.8rem; font-weight:800;
  color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }
#page-life-lens .llv-note{ margin:14px 0 0; font-size:.82rem; line-height:1.6;
  color:#4A5260 !important; -webkit-text-fill-color:#4A5260 !important; }
@media (max-width:1024px){ #page-life-lens .llv-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){
  #page-life-lens .llv-grid{ grid-template-columns:minmax(0,1fr); }
  #page-life-lens .llv-tl li{ flex-direction:column; gap:3px; }
  #page-life-lens .llv-d{ width:auto; }
}

/* ---- timeline rows: photo | tags | share | details ---- */
#page-life-lens .llv-row{ align-items:flex-start; gap:14px; }
#page-life-lens .llv-th{
  flex:none; width:64px; height:64px; border-radius:16px; overflow:hidden;
  display:grid; place-items:center; font-size:1.35rem;
}
#page-life-lens .llv-th img{ width:100%; height:100%; object-fit:cover; display:block; }
#page-life-lens .llv-rb{ flex:1; min-width:0; }
#page-life-lens .llv-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
#page-life-lens .llv-tag{
  font-size:.68rem; font-weight:800; letter-spacing:.04em; border-radius:999px;
  padding:4px 10px; background:#EFEAF8;
  color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important;
}
#page-life-lens .llv-acts{ flex:none; display:flex; align-items:center; gap:8px; }
#page-life-lens .llv-ic{
  width:44px; height:44px; border-radius:50%; cursor:pointer; display:grid; place-items:center;
  background:rgba(255,255,255,.9) !important; border:1px solid rgba(22,34,47,.12);
}
#page-life-lens .llv-ic svg{ width:19px; height:19px; fill:none; stroke:#5C4A93;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#page-life-lens .llv-ic:hover{ background:#fff !important; border-color:#6E5AA6; }
#page-life-lens .llv-det{
  min-height:44px; padding:10px 16px; border-radius:999px; cursor:pointer;
  font-family:inherit; font-size:.8rem; font-weight:800;
  background:rgba(255,255,255,.9) !important; border:1px solid rgba(22,34,47,.12);
  color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important;
}
#page-life-lens .llv-det:hover{ background:#fff !important; border-color:#6E5AA6; }
#page-life-lens .llv-ic:focus-visible,
#page-life-lens .llv-det:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }

/* ---- detail sheet ---- */
.llv-sheet-bg{
  position:fixed; inset:0; background:rgba(22,34,47,.48); z-index:200000;
  display:flex; align-items:center; justify-content:center; padding:18px;
  height:100vh; height:100dvh; overflow-y:auto;
}
.llv-sheet{
  background:#fff; border-radius:24px; width:100%; max-width:560px; padding:24px;
  max-height:calc(100vh - 44px); max-height:calc(100dvh - 44px); overflow-y:auto;
  font-family:'Nunito',system-ui,sans-serif;
}
.llv-sh-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.llv-sh-t{ margin:0; font-family:'Playfair Display',Georgia,serif; font-size:1.4rem; font-weight:700;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
.llv-x{ width:44px; height:44px; flex:none; border-radius:50%; cursor:pointer; font-size:1.1rem;
  background:#fff; border:1px solid rgba(22,34,47,.14);
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
.llv-sh-n{ margin:14px 0 0; font-size:1rem; line-height:1.6; font-style:italic;
  color:#2B3340 !important; -webkit-text-fill-color:#2B3340 !important; }
.llv-dl{ margin:16px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.llv-dl dt{ font-size:.64rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }
.llv-dl dd{ margin:3px 0 0; font-size:.9rem;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
.llv-sh-badge{ margin:14px 0 0; display:inline-block; font-size:.66rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; border-radius:999px; padding:5px 12px;
  background:#EFEAF8; color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }
.llv-sh-f{ display:flex; gap:9px; flex-wrap:wrap; margin-top:18px; }
.llv-btn{ min-height:44px; padding:11px 18px; border-radius:999px; cursor:pointer;
  font-family:inherit; font-size:.83rem; font-weight:800;
  background:#fff !important; border:1px solid rgba(22,34,47,.14);
  color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; }
.llv-btn--p{ background:#6E5AA6 !important; border-color:#6E5AA6 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
.llv-btn:focus-visible,.llv-x:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
@media (max-width:640px){
  #page-life-lens .llv-row{ flex-direction:row !important; flex-wrap:wrap; }
  #page-life-lens .llv-acts{ width:100%; justify-content:flex-start; margin-top:4px; }
  .llv-dl{ grid-template-columns:minmax(0,1fr); }
  .llv-sheet-bg{ padding:0; align-items:flex-end; }
  .llv-sheet{ max-width:none; border-radius:24px 24px 0 0; }
}

/* ---- food moments ---- */
#page-life-lens .llv-foodbar{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:16px;
  background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9);
  border-radius:22px; padding:18px 22px; backdrop-filter:blur(6px);
}
#page-life-lens .llv-fb-t{ flex:1 1 260px; min-width:0; font-weight:800; font-size:1rem;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
#page-life-lens .llv-fb-t span{ display:block; margin-top:4px; font-weight:400; font-size:.86rem;
  line-height:1.55; color:#414B5A !important; -webkit-text-fill-color:#414B5A !important; }
#page-life-lens .llv-none{ margin:0; font-size:.92rem;
  color:#414B5A !important; -webkit-text-fill-color:#414B5A !important; }
.llv-sh-sub{ margin:10px 0 16px; font-size:.9rem; line-height:1.55;
  color:#414B5A !important; -webkit-text-fill-color:#414B5A !important; }
.llv-f{ margin-bottom:14px; }
.llv-lbl{ display:block; font-size:.64rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:7px;
  color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }
.llv-in,.llv-ta{ width:100%; border:1.5px solid #E5E1DA; border-radius:14px; padding:12px 15px;
  font-family:inherit; font-size:.94rem; background:#FDFCFA; color:#16222F; min-height:46px; }
.llv-ta{ min-height:88px; resize:vertical; }
.llv-in:focus,.llv-ta:focus{ outline:none; border-color:#6E5AA6; background:#fff; }
.llv-err{ margin:6px 0 0; font-size:.8rem; font-weight:700;
  color:#A4453A !important; -webkit-text-fill-color:#A4453A !important; }
.llv-opts{ display:flex; flex-wrap:wrap; gap:7px; }
.llv-opt{ cursor:pointer; font-family:inherit; font-size:.78rem; font-weight:700;
  border-radius:999px; padding:9px 14px; min-height:44px;
  background:#fff !important; border:1px solid #E5E1DA;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }
.llv-opt:hover{ background:#F6F2FB !important; border-color:#6E5AA6; }
.llv-opt[aria-pressed="true"]{ background:#6E5AA6 !important; border-color:#6E5AA6 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
.llv-opt:focus-visible{ outline:3px solid #CF9E3F; outline-offset:2px; }
.llv-recipe{ margin:14px 0 0; background:#F7F5F1; border:1px solid #E5E1DA; border-radius:16px; padding:14px 16px; }
.llv-recipe b{ display:block; font-size:.64rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:7px;
  color:#5C4A93 !important; -webkit-text-fill-color:#5C4A93 !important; }
.llv-recipe pre{ margin:0; font-family:inherit; font-size:.9rem; line-height:1.6;
  white-space:pre-wrap; word-break:break-word;
  color:#16222F !important; -webkit-text-fill-color:#16222F !important; }

/* share composer */
.llv-hint{ margin:9px 0 0; font-size:.8rem; line-height:1.55;
  color:#4A5260 !important; -webkit-text-fill-color:#4A5260 !important; }
.llv-opt.is-req{ background:#EFEAF8 !important; border-color:#C9BCE6 !important;
  color:#4C3F73 !important; -webkit-text-fill-color:#4C3F73 !important; }
.llv-opt[disabled]{ opacity:.5; cursor:not-allowed; }
