.memory-flow-section{margin-top:0;}
    .memory-flow-panel{
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:16px;
    }
    .memory-summary-row{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
      margin-bottom:16px;
    }
    .memory-summary-item{
      min-width:0;
      border-left:2px solid #111;
      padding:2px 0 2px 9px;
    }
    .memory-summary-label{
      display:block;
      font-family:var(--mono);
      font-size:9px;
      color:var(--muted2);
      font-weight:900;
      letter-spacing:0.5px;
      line-height:1.2;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .memory-summary-value{
      display:block;
      margin-top:5px;
      font-family:var(--mono);
      font-size:13px;
      color:#111;
      font-weight:900;
      letter-spacing:-0.2px;
      line-height:1.25;
      white-space:nowrap;
    }
    .memory-chart-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin:6px 0 8px;
    }
    .memory-chart-title{
      font-family:var(--mono);
      font-size:10px;
      color:var(--muted2);
      font-weight:900;
      letter-spacing:0.5px;
      text-transform:uppercase;
    }
    .memory-year-select{
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      padding:5px 24px 5px 10px;
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
      color:#111;
      appearance:none;
      outline:none;
      cursor:pointer;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 8px center;
    }
    .memory-chart{
      width:100%;
      height:170px;
      border-radius:14px;
      background:linear-gradient(to bottom, transparent 0%, transparent 24%, rgba(0,0,0,0.035) 24.5%, transparent 25%, transparent 49%, rgba(0,0,0,0.035) 49.5%, transparent 50%, transparent 74%, rgba(0,0,0,0.035) 74.5%, transparent 75%);
      overflow:hidden;
    }
    .memory-chart.locked-flow{
      filter:blur(3px);
      opacity:.55;
      cursor:pointer;
    }
    .memory-chart svg{width:100%;height:100%;display:block;}
    .memory-axis-label{
      fill:#9a9a9a;
      font-family:var(--mono);
      font-size:9px;
      font-weight:900;
    }

    .memory-point-label{
      fill:#777;
      font-family:var(--mono);
      font-size:8.5px;
      font-weight:900;
      letter-spacing:-0.1px;
    }
    .memory-active-label{
      fill:#111;
      font-size:9px;
    }
    .memory-line{fill:none;stroke:#111;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}
    .memory-dot{fill:#111;stroke:#fff;stroke-width:2;}
    .memory-empty{
      height:120px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-family:var(--mono);
      font-size:10px;
      color:var(--muted2);
      font-weight:900;
      letter-spacing:0.5px;
    }

    .memory-recall-section{margin-top:34px;}
    .memory-mini-list{
      border-top:1px solid var(--line);
      background:#fff;
    }
    .memory-mini-row{
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
      padding:13px 2px;
      border-bottom:1px solid var(--line);
      cursor:pointer;
      user-select:none;
      -webkit-tap-highlight-color:transparent;
    }
    .memory-mini-row:active{transform:translateY(1px);}
    .memory-mini-kicker{
      display:block;
      font-family:var(--mono);
      font-size:9px;
      color:var(--muted2);
      font-weight:900;
      letter-spacing:0.5px;
      line-height:1.25;
      text-transform:uppercase;
    }
    .memory-mini-title{
      display:block;
      margin-top:4px;
      font-size:13px;
      font-weight:600;
      color:#111;
      line-height:1.4;
      word-break:keep-all;
    }
    .memory-mini-title.qn-preview{
      display:-webkit-box;
      -webkit-line-clamp:3;
      -webkit-box-orient:vertical;
      overflow:hidden;
      white-space:normal;
      line-height:1.45;
      word-break:break-word;
    }
    .memory-mini-arrow{
      font-family:var(--mono);
      font-size:14px;
      color:var(--muted2);
      font-weight:900;
    }
    .memory-more-row{
      padding:13px 2px;
      border-bottom:1px solid var(--line);
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
      letter-spacing:0.5px;
      color:#111;
      cursor:pointer;
      user-select:none;
      -webkit-tap-highlight-color:transparent;
    }
    .memory-more-row:active{transform:translateY(1px);}


    .memory-section-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .memory-section-head .section-label{
      margin-bottom:0;
    }
    .memory-controls{
      display:flex;
      align-items:center;
      gap:7px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .memory-select,
    .memory-date-input{
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      padding:5px 24px 5px 10px;
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
      color:#111;
      appearance:none;
      outline:none;
      cursor:pointer;
      min-height:26px;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 8px center;
    }
    .memory-date-input{
      width:118px;
      padding-right:8px;
      background-image:none;
    }
    .memory-mini-list .empty{
      border:none;
      border-radius:0;
      padding:8px 2px;
      background:transparent;
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
      color:var(--muted2);
      letter-spacing:0.5px;
    }

    .pagination{
      display:flex;
      align-items:center;
      gap:6px;
      flex-wrap:wrap;
      margin-top:14px;
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
    }
    .page-btn{
      min-width:26px;
      height:26px;
      padding:0 8px;
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      color:#111;
      cursor:pointer;
      font-family:var(--mono);
      font-size:10px;
      font-weight:900;
      line-height:24px;
      text-align:center;
    }
    .page-btn.on{
      border-color:#111;
      background:#111;
      color:#fff;
    }
    .page-btn:active{transform:translateY(1px);}
    .page-ellipsis{
      color:var(--muted2);
      padding:0 2px;
    }
    .recall-open-btn{
      position:absolute;
      right:16px;
      bottom:14px;
      width:30px;
      height:30px;
      border:none;
      border-radius:0;
      background:transparent;
      color:#fff;
      font-family:var(--mono);
      font-size:13px;
      font-weight:900;
      line-height:1;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      z-index:3;
      opacity:.88;
      padding:0;
    }
    .recall-open-btn:hover{opacity:1;}
    .recall-open-btn:active{transform:translateY(1px);}

    

/* Season memory grouped view */
.memory-mini-list .library-row{
  display:grid;
  grid-template-columns:28px 1fr auto 14px;
  align-items:center;
  gap:12px;
  padding:14px 2px;
  border-bottom:1px solid var(--line);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.memory-mini-list .library-row:active{transform:translateY(1px);}

/* Season Memories month summary */
.memory-sub-back{
  border:none;
  background:transparent;
  padding:0 2px 12px;
  margin:0;
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  color:var(--muted);
  letter-spacing:.8px;
  cursor:pointer;
}
.memory-mini-list .library-row.disabled{
  opacity:.38;
  cursor:default;
}
.memory-mini-list .library-row.disabled:active{
  transform:none;
}

/* Season Memories mirror view */
.season-month-mirror{
  margin-top:16px;
}
.season-month-mirror:first-child{
  margin-top:0;
}
.season-year-group{
  margin-top:12px;
}
.season-year-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:3px 2px 7px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  color:#111;
  text-transform:uppercase;
}
.season-year-count{
  color:var(--muted2);
}
.season-year-records{
  border-top:1px solid var(--line);
}
.season-more-btn{
  width:100%;
  display:block;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:12px 2px;
  text-align:left;
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  color:#111;
  cursor:pointer;
  text-transform:uppercase;
}
.season-more-btn:active{transform:translateY(1px);}

/* On This Day mirror view */
.otd-year-group{
  margin-top:16px;
}
.otd-year-group:first-child{
  margin-top:0;
}
.otd-year-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:3px 2px 7px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  color:#111;
  text-transform:uppercase;
}
.otd-year-count{
  color:var(--muted2);
}
.otd-year-records{
  border-top:1px solid var(--line);
}
.otd-year-pagination{
  margin:10px 0 4px;
}

/* On This Day category rows */
.memory-mini-list .library-folder-icon{
  width:28px;
  height:28px;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
}
.memory-mini-list .library-folder-icon svg{
  width:20px;
  height:20px;
  display:block;
}
.memory-mini-list .library-title{
  font-size:18px;
  font-weight:700;
  letter-spacing:-.2px;
  color:#111;
}
.memory-mini-list .library-count{
  font-family:var(--mono);
  font-size:14px;
  font-weight:900;
  color:var(--muted2);
}
.memory-mini-list .library-arrow{
  font-size:22px;
  line-height:1;
  color:var(--muted2);
  font-weight:900;
}
.otd-rm-cell-row .memory-mini-arrow{
  font-family:var(--mono);
  font-size:14px;
  color:#111;
}


/* Patch: align OTD/Season category rows with Archive Index ALL rows */
.memory-mini-list .library-row{
  grid-template-columns:28px 1fr auto 14px;
  gap:12px;
  padding:14px 2px;
  border-bottom:1px solid var(--line);
}
.memory-mini-list .folder-icon{
  width:18px;
  height:18px;
  display:block;
  margin:0 auto;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2V17a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7.5z'/%3E%3C/svg%3E");
  opacity:.9;
}
.memory-mini-list .library-name,
.memory-mini-list .library-title{
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:-.2px;
  color:#111;
  min-width:0;
  word-break:keep-all;
}
.memory-mini-list .library-count{
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted2);
  font-weight:900;
  white-space:nowrap;
}
.memory-mini-list .library-arrow,
.otd-rm-cell-row .memory-mini-arrow{
  font-family:var(--mono);
  font-size:14px;
  line-height:1;
  color:var(--muted2);
  font-weight:900;
  text-align:right;
}


/* Patch: subtle focus marker for Reflection Monthly grid cells opened from On This Day */
.rm-grid-cell-focus{
  animation: rmGridCellFocus 2.2s ease-out 1;
  outline:1px solid rgba(17,17,17,.22);
  outline-offset:2px;
  border-radius:10px;
}
@keyframes rmGridCellFocus{
  0%{background:rgba(17,17,17,.08);}
  55%{background:rgba(17,17,17,.045);}
  100%{background:transparent;}
}

/* Patch v12: focus target can be the grid cell wrapper or the textarea/input itself */
textarea.rm-grid-cell-focus,
input.rm-grid-cell-focus,
[contenteditable="true"].rm-grid-cell-focus{
  animation: rmGridCellFocus 2.6s ease-out 1;
  outline:1px solid rgba(17,17,17,.28) !important;
  outline-offset:2px;
  border-radius:8px;
}
