/* 新增 / 编辑记忆（memory.js renderMemoryForm）：列表卡片预览 + 信纸 + 类别 / 氛围与标签 / 读取方式 + 底部固定按钮 */
#memory-form-body{--af-paper:#fdfaf3;--af-paper-line:rgba(150,120,80,.22);--af-paper-frame:rgba(180,150,110,.28);--af-paper-ink:#5e4b33;--af-chip-line:rgba(150,120,80,.28)}
.mm-form.af{padding:6px 16px 28px}
.af-pv{margin-top:6px;padding:14px 14px 16px;border-radius:24px;background:color-mix(in srgb,var(--mm-card) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 55%,transparent)}
.af-pv-h{font-size:12px;font-weight:600;letter-spacing:1px;color:var(--mm-ad);margin:0 2px 12px}
.af-pv-card{display:block;pointer-events:none}
.af-pv-card .mm-uc{margin:0;width:100%}
.af-pv-card.untitled .mm-uc b,.af-pv-card.untitled .mm-uc .tx>b{color:var(--mm-ink2)}

/* the letter */
.af-letter{position:relative;margin-top:20px;padding:24px 22px 20px;background:var(--af-paper);border-radius:6px;border:1px solid var(--af-paper-frame);box-shadow:0 20px 36px -22px rgba(90,70,130,.55)}
.af-letter::before{content:"";position:absolute;inset:8px;border:1px solid var(--af-paper-frame);border-radius:3px;pointer-events:none}
.af-clip{position:absolute;top:-18px;left:28px;width:24px;height:58px;stroke:#9a86bf;stroke-width:1.6;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s;pointer-events:none}
.af-clip svg{width:100%;height:100%}
.af-ribbon{position:absolute;top:-6px;right:26px;width:18px;height:44px;background:#c9867a;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;pointer-events:none}
.af-letter.pin .af-clip,.af-letter.fav .af-ribbon{opacity:1;transform:none}
.af-date{position:relative;display:flex;justify-content:flex-end}
.af-letter.fav .af-date{padding-right:34px}
#v-memory .af-date-in{height:auto;border:0;background:transparent;padding:0;font-size:13px;color:var(--af-paper-ink)}
.af-date .xl-date-field{border:0!important;background:transparent!important;padding:4px 0!important;min-height:0!important;height:auto!important;box-shadow:none!important;color:var(--af-paper-ink)!important;font-size:13px!important;border-bottom:1px dashed var(--af-paper-line)!important;border-radius:0!important}
.af-date .xl-date-field svg{width:14px;height:14px;margin-left:6px;opacity:.7}
.af-to{position:relative;margin-top:14px}
.af-to>b{font-size:16px;font-weight:600;color:var(--mm-ink)}
.af-who-hint{margin:4px 0 0;font-size:12px;color:var(--mm-ink2)}
.af-title{display:block;width:100%;box-sizing:border-box;margin-top:22px;height:44px;border:0;border-bottom:1.5px solid var(--af-paper-line);background:transparent;padding:0;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--mm-ink);text-align:center;outline:none}
.af-title::placeholder,.af-body::placeholder{color:var(--ink2);opacity:1}
.af-body{display:block;width:100%;text-indent:2em;box-sizing:border-box;margin-top:18px;min-height:224px;border:0;resize:none;padding:0;font-family:var(--font-display);font-size:16px;line-height:32px;color:var(--mm-ink);background:repeating-linear-gradient(180deg,transparent 0 31px,var(--af-paper-line) 31px 32px);outline:none}
.af-letter .mm-entries{margin-top:16px}
.af-sign{margin:14px 4px 0;text-align:right;font-size:14px;color:var(--af-paper-ink)}

/* the cards below */
.af-card{margin-top:14px;padding:16px 18px 18px;border-radius:22px;background:var(--mm-card);box-shadow:0 10px 22px -18px rgba(90,70,130,.6)}
.af-letter+.af-card{margin-top:18px}
.af-h{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mm-ink2);margin-bottom:12px}
.af-h small{font-size:11.5px}
.af-sep{height:1px;margin:18px 0 16px;background:var(--mm-line)}
.af-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.af-cat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 10px;border-radius:16px;text-align:left;font-family:inherit;cursor:pointer;border:1.5px solid var(--mm-line);background:transparent;color:var(--mm-ink)}
.af-cat.on{border-color:var(--mm-a);background:color-mix(in srgb,var(--mm-a) 8%,transparent)}
.af-cat i{font-style:normal;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:600}
.af-cat.c-chat i{background:#d8e6f1;color:#36556f}.af-cat.c-together i{background:#f8d9cf;color:#7d3f2c}.af-cat.c-mine i{background:#ece6f4;color:#54437e}
.af-cat b{font-size:13px;font-weight:600}
.af-cat small{font-size:11px;line-height:1.45;color:var(--mm-ink2)}
.af-read{padding:16px 0 4px}
.af-read .af-h{padding:0 18px;margin-bottom:4px}
.af-row{display:flex;align-items:center;gap:12px;padding:12px 18px}
.af-row+.af-row{border-top:1px solid var(--mm-line)}
.af-row>span{flex:1;display:flex;flex-direction:column;gap:2px}
.af-row b{font-size:15px;font-weight:600;color:var(--mm-ink)}
.af-row small{font-size:12px;color:var(--mm-ink2)}

/* fixed footer */
.af-foot{flex:none;display:flex;gap:10px;padding:12px 16px calc(14px + var(--sab,0px));background:color-mix(in srgb,var(--mm-paper) 92%,transparent);box-shadow:0 -10px 24px -18px rgba(90,70,130,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.af-foot button{height:48px;border-radius:24px;font-size:15px}
.af-foot .mm-ghost{flex:1}
.af-foot .mm-pill{flex:2;font-weight:600}

/* dark: the paper turns to a warm dark sheet; the mood colours become tints */
:root[data-theme="dark"] #memory-form-body{--af-paper:#24201f;--af-paper-line:rgba(230,205,160,.16);--af-paper-frame:rgba(230,205,160,.16);--af-paper-ink:#dccbaa;--af-chip-line:rgba(230,205,160,.22)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) #memory-form-body{--af-paper:#24201f;--af-paper-line:rgba(230,205,160,.16);--af-paper-frame:rgba(230,205,160,.16);--af-paper-ink:#dccbaa;--af-chip-line:rgba(230,205,160,.22)}}
:root[data-theme="dark"] .af-cat i{filter:saturate(.8) brightness(.85)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .af-cat i{filter:saturate(.8) brightness(.85)}}
@media(prefers-reduced-motion:reduce){.af-clip,.af-ribbon{transition:none}}
.af-foot .mm-pill{border:0;background:var(--mm-ad);color:#fff;box-shadow:0 10px 20px -12px var(--mm-ad)}
.af-foot .mm-ghost{border:0;background:var(--mm-ap);color:var(--mm-ad)}
:root[data-theme="dark"] .af-foot .mm-pill{background:color-mix(in srgb,var(--mm-a) 72%,#1a1720);color:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .af-foot .mm-pill{background:color-mix(in srgb,var(--mm-a) 72%,#1a1720);color:#fff}}

/* 氛围：统一心情的颜色（--m = 分类色或自定义色） */
.af-h .af-more{border:0;background:transparent;padding:4px 0;font:inherit;font-size:12.5px;color:var(--mm-ad);cursor:pointer}
.af-moods,.af-md-row{display:flex;flex-wrap:wrap;gap:8px}
.af-mood{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px 0 12px;border-radius:18px;border:0;background:color-mix(in srgb,var(--m) 10%,var(--mm-card));color:var(--mm-ink);font-family:inherit;font-size:13.5px;cursor:pointer}
.af-mood i{width:10px;height:10px;border-radius:50%;flex:none;background:var(--m)}
.af-mood.on{background:color-mix(in srgb,var(--m) 26%,var(--mm-card));box-shadow:inset 0 0 0 1.5px var(--m);font-weight:600}
/* 全部心情（居中弹窗） */
.af-md{max-height:min(640px,86vh);display:flex;flex-direction:column}
.af-md-body{overflow-y:auto;margin:4px -4px 0;padding:0 4px;scrollbar-width:none}
.af-md-body::-webkit-scrollbar{display:none}
.af-md-cat+.af-md-cat{margin-top:16px}
.af-md-ch{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.af-md-ch i{width:10px;height:10px;border-radius:50%;background:var(--m);align-self:center}
.af-md-ch b{font-size:14px;font-weight:600;color:var(--mm-ink)}
.af-md-ch small{font-size:11.5px;color:var(--mm-ink2)}
.af-md-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;margin-top:16px;border-radius:22px;border:1.5px dashed color-mix(in srgb,var(--mm-a) 50%,transparent);background:transparent;color:var(--mm-ad);font-family:inherit;font-size:14px;cursor:pointer}
.af-md-add [data-icon],.af-md-add svg{width:16px;height:16px}
.af-md-new{margin-top:16px;padding-top:14px;border-top:1px solid var(--mm-line);display:flex;flex-direction:column;gap:8px}
.af-md-new[hidden]{display:none}
.af-md-l{font-size:12px;color:var(--mm-ink2)}
.af-md-in{height:42px;border:0;border-radius:14px;background:color-mix(in srgb,var(--mm-a) 8%,var(--mm-card));padding:0 14px;font-family:inherit;font-size:15px;color:var(--mm-ink);outline:none}
.af-md-in::placeholder{color:var(--ink2);opacity:1}
.af-md-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.af-md-seg button{height:36px;border-radius:12px;border:1.5px solid var(--mm-line);background:transparent;color:var(--mm-ink);font-family:inherit;font-size:13px;cursor:pointer}
.af-md-seg button.on{border-color:var(--mm-a);background:color-mix(in srgb,var(--mm-a) 12%,transparent);font-weight:600}
.af-md-acts{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.af-md-acts button{height:40px;padding:0 18px;border-radius:20px;font-size:14px}
.af-md-acts .mm-pill{border:0;background:var(--mm-ad);color:#fff}
.af-md-acts .mm-pill:disabled{opacity:.45}
.af-md-add[hidden]{display:none}

/* 致：圆形头像一排，名字在下；选中的一圈主题色描边 + 右下角勾 */
.af-who{display:flex;gap:12px;overflow-x:auto;margin:12px 0 0;padding:4px 2px 6px;scrollbar-width:none}
.af-who::-webkit-scrollbar{display:none}
.af-who button{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:58px;padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer}
.af-ring{position:relative;width:52px;height:52px;box-sizing:border-box;border-radius:50%;padding:3px;box-shadow:0 0 0 1px var(--af-chip-line);transition:box-shadow .15s}
.af-ring .mm-av,.af-ring .af-all{width:46px!important;height:46px!important;border-radius:50%!important;font-size:18px!important;display:grid;place-items:center}
.af-all{background:linear-gradient(135deg,#b6a6d0,#8e7bb0);color:#fff;font-weight:600}
.af-who button.on .af-ring{box-shadow:0 0 0 2px var(--mm-a)}
.af-who button.on .af-ring::after{content:"";position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;border:2px solid var(--af-paper);background:var(--mm-ad) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/10px no-repeat}
.af-nm{font-size:12px;color:var(--mm-ink2);white-space:nowrap;max-width:58px;overflow:hidden;text-overflow:ellipsis}
.af-who button.on .af-nm{color:var(--mm-ink);font-weight:600}
.af-cat i svg{width:15px;height:15px;stroke-width:2}
.af-all svg{width:20px;height:20px;stroke-width:1.8}
:root[data-theme="dark"] .af-md-acts .mm-pill{background:color-mix(in srgb,var(--mm-a) 72%,#1a1720);color:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .af-md-acts .mm-pill{background:color-mix(in srgb,var(--mm-a) 72%,#1a1720);color:#fff}}

/* 保存失败 / 正文过长的提示：留在原页面，颜色与删除按钮同一组 */
.af-err{margin:6px 4px 0;font-size:12.5px;line-height:1.5;color:#a65a55}
.af-err[hidden]{display:none}
.af-err-foot{margin:0;padding:6px 20px 0}
.nb2-fail{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 12px 4px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--mm-ap) 55%,transparent)}
.nb2-fail .mm-bnote{margin:0;padding:0}
.nb2-fail .mm-chip-btn{flex:none}
.mm-note-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.5;color:var(--mm-ink2)}
.mm-note-row .mm-chip-btn{flex:none}
