/* 备忘录管理 #/memo-manager */
#page-memo-manager{
  --mm-bg-page:#f5f3f0;--mm-bg-card:#ffffff;--mm-card-radius:14px;--mm-card-radius-sm:10px;
  --c-gold:#FFB800;--c-gold-soft:#FFF1C9;--c-gold-deep:#E89A00;--c-cream:#FFEFC2;--c-stroke:#5C3D17;
  --c-blue:#3B82F6;--c-blue-bg:rgba(59,130,246,0.04);--c-accent:#4A9E8E;--c-red:#E84C3D;--c-orange:#E8813B;--c-orange-bg:rgba(232,129,59,0.06);
  --c-s:#B0AEA5;--c-t:#c8c6c0;--divider:#f0ede8;--card-shadow:0 1px 3px rgba(0,0,0,0.04);
  --text-p:#2c2c2c;--text-s:var(--c-s);--text-t:var(--c-t);--safe-bottom:env(safe-area-inset-bottom,16px);
  --bg-page:var(--mm-bg-page);--bg-card:var(--mm-bg-card);--card-radius:var(--mm-card-radius);--card-radius-sm:var(--mm-card-radius-sm);
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
  background:linear-gradient(180deg,#FFFBF0 0%,var(--mm-bg-page) 100px,var(--mm-bg-page) 100%);
  min-height:100%;padding-bottom:calc(80px + var(--safe-bottom));
  font-family:var(--font);color:var(--text-p);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
}

/* ============================================
   备忘录 v2 — 带日期提醒的轻量备忘录
   
   核心理念：每一条信息 = 标题 + 详情 + 可选提醒
   极简原则：列表不拥挤，提醒用颜色区分紧急度
   品牌 VI 对齐今日焦点
   ============================================ */

/* Nav */
#page-memo-manager .nav{position:sticky;top:0;z-index:100;height:48px;background:rgba(255,251,240,0.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid transparent;transition:border-color 0.2s;}
#page-memo-manager .nav.scrolled{border-bottom-color:var(--divider);}
#page-memo-manager .nav-back{width:32px;height:32px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-s);border-radius:8px;margin-left:-6px;}
#page-memo-manager .nav-back svg{width:20px;height:20px;}
#page-memo-manager .nav-title{font-size:17px;font-weight:600;color:var(--text-p);letter-spacing:0.02em;position:absolute;left:50%;transform:translateX(-50%);}
#page-memo-manager .nav-today-hint{font-size:11px;color:var(--c-red);font-weight:500;display:none;align-items:center;gap:3px;}

/* ============================================
   Content
   ============================================ */
#page-memo-manager .content{padding:6px 14px 14px;display:flex;flex-direction:column;gap:8px;}

/* ============================================
   今天提醒条（有今日提醒时出现）
   ============================================ */
#page-memo-manager .today-alert{
  background:linear-gradient(135deg,rgba(232,76,61,0.06),rgba(232,76,61,0.02));
  border:1px solid rgba(232,76,61,0.1);
  border-radius:var(--card-radius-sm);
  padding:10px 14px;display:none;align-items:center;gap:8px;
}
#page-memo-manager .today-alert.show{display:flex;}
#page-memo-manager .today-alert-dot{width:6px;height:6px;border-radius:50%;background:var(--c-red);flex-shrink:0;animation:pulse 2s infinite;}

#page-memo-manager .today-alert-text{font-size:13px;color:var(--text-p);flex:1;line-height:1.4;}
#page-memo-manager .today-alert-text strong{color:var(--c-red);}

/* ============================================
   分类标签
   ============================================ */
#page-memo-manager .filter-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none;-ms-overflow-style:none;}
#page-memo-manager .filter-strip::-webkit-scrollbar{display:none;}
#page-memo-manager .filter-chip{font-size:12px;padding:5px 13px;border-radius:16px;border:1px solid var(--divider);background:transparent;color:var(--text-s);font-family:var(--font);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all 0.2s;}
#page-memo-manager .filter-chip.active{background:var(--text-p);color:white;border-color:var(--text-p);}
#page-memo-manager .filter-chip:active{transform:scale(0.95);}

/* ============================================
   备忘录列表
   ============================================ */
#page-memo-manager .memo-card{background:var(--bg-card);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;}

#page-memo-manager .memo-item{padding:15px 16px;border-bottom:1px solid var(--divider);cursor:pointer;position:relative;transition:background 0.12s;display:flex;align-items:flex-start;gap:12px;}
#page-memo-manager .memo-item:last-child{border-bottom:none;}
#page-memo-manager .memo-item:active{background:rgba(0,0,0,0.015);}
#page-memo-manager .memo-item.copied{background:rgba(59,130,246,0.03);}

/* 图标 */
#page-memo-manager .memo-icon{width:38px;height:38px;border-radius:10px;background:rgba(0,0,0,0.025);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;margin-top:1px;}

/* 内容区 */
#page-memo-manager .memo-body{flex:1;min-width:0;}
#page-memo-manager .memo-title{font-size:15px;color:var(--text-p);font-weight:500;line-height:1.4;word-break:break-all;margin-bottom:2px;}
#page-memo-manager .memo-preview{font-size:12px;color:var(--text-s);line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;}

/* 底部标签行 */
#page-memo-manager .memo-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#page-memo-manager .memo-type-tag{font-size:10px;color:var(--text-s);display:inline-flex;align-items:center;gap:3px;}
#page-memo-manager .memo-type-dot{width:4px;height:4px;border-radius:50%;background:var(--c-accent);opacity:0.5;}

/* 提醒标签 */
#page-memo-manager .memo-remind-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:8px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;}
#page-memo-manager .memo-remind-tag.urgent{background:rgba(232,76,61,0.08);color:var(--c-red);}
#page-memo-manager .memo-remind-tag.soon{background:var(--c-orange-bg);color:var(--c-orange);}
#page-memo-manager .memo-remind-tag.later{background:rgba(0,0,0,0.03);color:var(--text-s);}
#page-memo-manager .memo-remind-tag.recur{background:rgba(255,184,0,0.1);color:var(--c-gold-deep);}

/* 操作按钮 */
#page-memo-manager .memo-actions{display:flex;align-items:flex-start;gap:2px;flex-shrink:0;}
#page-memo-manager .memo-action{width:28px;height:28px;border-radius:7px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-t);transition:all 0.12s;}
#page-memo-manager .memo-action:active{background:rgba(0,0,0,0.06);color:var(--text-p);}
#page-memo-manager .memo-action.edit:active{color:var(--c-blue);}
#page-memo-manager .memo-action.delete:active{color:var(--c-red);}
#page-memo-manager .memo-action svg{width:14px;height:14px;}

/* 空状态 */
#page-memo-manager .empty-state{text-align:center;padding:44px 24px 36px;}
#page-memo-manager .empty-icon{font-size:40px;opacity:0.3;margin-bottom:12px;}
#page-memo-manager .empty-title{font-size:16px;color:var(--text-p);font-weight:500;margin-bottom:4px;}
#page-memo-manager .empty-hint{font-size:13px;color:var(--text-s);line-height:1.6;}

/* 底部添加行 */
#page-memo-manager .add-row{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;color:var(--text-t);transition:all 0.12s;}
#page-memo-manager .add-row:active{background:rgba(0,0,0,0.015);color:var(--text-s);}
#page-memo-manager .add-row-icon{width:38px;height:38px;border-radius:10px;border:1.5px dashed var(--text-t);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.12s;}
#page-memo-manager .add-row:active .add-row-icon{border-color:var(--text-s);}
#page-memo-manager .add-row-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;}
#page-memo-manager .add-row-text{font-size:14px;}

/* 动画 */

#page-memo-manager .memo-item{animation:itemIn 0.3s ease both;}
#page-memo-manager .memo-item:nth-child(1){animation-delay:0s}
#page-memo-manager .memo-item:nth-child(2){animation-delay:0.03s}
#page-memo-manager .memo-item:nth-child(3){animation-delay:0.06s}
#page-memo-manager .memo-item:nth-child(4){animation-delay:0.09s}
#page-memo-manager .memo-item:nth-child(5){animation-delay:0.12s}
#page-memo-manager .memo-item:nth-child(6){animation-delay:0.15s}

/* ============================================
   Composer 面板
   ============================================ */
#page-memo-manager .composer-overlay{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,0.22);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity 0.3s;}
#page-memo-manager .composer-overlay.show{opacity:1;pointer-events:auto;}
#page-memo-manager .composer-panel{position:fixed;bottom:0;left:0;right:0;z-index:401;background:white;border-radius:20px 20px 0 0;padding:22px 18px;padding-bottom:calc(12px + var(--safe-bottom));box-shadow:0 -4px 24px rgba(0,0,0,0.1);transform:translateY(100%);transition:transform 0.32s cubic-bezier(0.16,1,0.3,1);max-height:85dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#page-memo-manager .composer-panel.show{transform:translateY(0);}
#page-memo-manager .composer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
#page-memo-manager .composer-title{font-size:16px;font-weight:600;color:var(--text-p);}
#page-memo-manager .composer-close{width:32px;height:32px;border-radius:16px;background:var(--bg-page);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-s);}

/* 图标选择 */
#page-memo-manager .composer-section{margin-bottom:16px;}
#page-memo-manager .composer-label{font-size:11px;color:var(--text-s);font-weight:500;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px;}
#page-memo-manager .composer-icon-row{display:flex;gap:5px;flex-wrap:wrap;}
#page-memo-manager .composer-icon-opt{width:34px;height:34px;border-radius:8px;border:1.5px solid transparent;background:rgba(0,0,0,0.02);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all 0.12s;}
#page-memo-manager .composer-icon-opt.selected{border-color:var(--c-blue);background:var(--c-blue-bg);}
#page-memo-manager .composer-icon-opt:active{transform:scale(0.9);}

/* 输入 */
#page-memo-manager .composer-input, #page-memo-manager .composer-textarea{width:100%;border:none;background:var(--bg-page);border-radius:10px;padding:12px 14px;font-size:15px;font-family:var(--font);color:var(--text-p);outline:none;}
#page-memo-manager .composer-input{line-height:1.5;}
#page-memo-manager .composer-textarea{line-height:1.65;resize:none;min-height:64px;}
#page-memo-manager .composer-input::placeholder, #page-memo-manager .composer-textarea::placeholder{color:var(--text-t);font-size:14px;}

/* 类型选择 */
#page-memo-manager .composer-type-row{display:flex;gap:5px;flex-wrap:wrap;}
#page-memo-manager .composer-type-opt{font-size:11px;padding:5px 12px;border-radius:14px;border:1px solid var(--divider);background:white;color:var(--text-s);font-family:var(--font);cursor:pointer;transition:all 0.12s;}
#page-memo-manager .composer-type-opt.selected{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-bg);}
#page-memo-manager .composer-type-opt:active{transform:scale(0.95);}

/* ============================================
   提醒设置区
   ============================================ */
#page-memo-manager .remind-toggle-row{display:flex;align-items:center;justify-content:space-between;}
#page-memo-manager .remind-toggle-label{font-size:13px;color:var(--text-p);font-weight:500;display:flex;align-items:center;gap:5px;}
#page-memo-manager .remind-toggle-label svg{width:15px;height:15px;color:var(--c-orange);}

/* 开关 */
#page-memo-manager .toggle-switch{width:44px;height:26px;border-radius:13px;background:var(--divider);position:relative;cursor:pointer;transition:background 0.25s;flex-shrink:0;}
#page-memo-manager .toggle-switch.on{background:var(--c-blue);}
#page-memo-manager .toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 2px rgba(0,0,0,0.12);transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);}
#page-memo-manager .toggle-switch.on::after{transform:translateX(18px);}

/* 提醒详情区 */
#page-memo-manager .remind-detail{overflow:hidden;max-height:0;transition:max-height 0.35s ease,opacity 0.25s;opacity:0;}
/* 日历展开后远超 400px；过小会裁掉「重复 / 标签」 */
#page-memo-manager .remind-detail.show{max-height:1200px;opacity:1;margin-top:12px;padding-bottom:8px;}

/* 快捷日期按钮 */
#page-memo-manager .remind-quick{display:flex;gap:6px;margin-bottom:10px;}
#page-memo-manager .remind-quick-btn{font-size:11px;padding:6px 12px;border-radius:14px;border:1px solid var(--divider);background:white;color:var(--text-p);font-family:var(--font);cursor:pointer;transition:all 0.12s;white-space:nowrap;}
#page-memo-manager .remind-quick-btn:active{border-color:var(--c-blue);color:var(--c-blue);}
#page-memo-manager .remind-quick-btn.active{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-bg);}

/* 日历网格 */
#page-memo-manager .calendar-popup{display:none;background:var(--bg-page);border-radius:12px;padding:12px;margin-bottom:10px;}
#page-memo-manager .calendar-popup.show{display:block;}
#page-memo-manager .cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
#page-memo-manager .cal-month{font-size:13px;font-weight:600;color:var(--text-p);}
#page-memo-manager .cal-nav{width:28px;height:28px;border-radius:14px;border:none;background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-s);font-size:14px;}
#page-memo-manager .cal-nav:active{background:var(--divider);}
#page-memo-manager .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px;}
#page-memo-manager .cal-day-label{font-size:10px;color:var(--text-t);padding:4px 0;}
#page-memo-manager .cal-day{font-size:13px;padding:6px 0;border-radius:8px;cursor:pointer;color:var(--text-p);transition:all 0.1s;position:relative;}
#page-memo-manager .cal-day:active{background:var(--divider);}
#page-memo-manager .cal-day.empty{pointer-events:none;}
#page-memo-manager .cal-day.today{font-weight:700;color:var(--c-blue);}
#page-memo-manager .cal-day.selected{background:var(--c-blue);color:white;font-weight:600;}
#page-memo-manager .cal-day.selected.today{color:white;}
#page-memo-manager .cal-day.other-month{color:var(--text-t);}
#page-memo-manager .cal-day.has-memo::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--c-gold);}
#page-memo-manager .cal-day.selected.has-memo::after{background:white;}

/* 重复选项 */
#page-memo-manager .remind-repeat-row{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap;}
#page-memo-manager .remind-repeat-opt{font-size:11px;padding:4px 10px;border-radius:12px;border:1px solid var(--divider);background:white;color:var(--text-s);font-family:var(--font);cursor:pointer;white-space:nowrap;transition:all 0.12s;}
#page-memo-manager .remind-repeat-opt.selected{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-bg);}
#page-memo-manager .remind-repeat-opt:active{transform:scale(0.95);}

/* 提醒标签 */
#page-memo-manager .remind-label-row{display:flex;gap:5px;margin-top:8px;}
#page-memo-manager .remind-label-opt{font-size:10px;padding:3px 8px;border-radius:10px;border:1px solid var(--divider);background:white;color:var(--text-s);font-family:var(--font);cursor:pointer;transition:all 0.12s;}
#page-memo-manager .remind-label-opt.selected[data-label="birthday"]{border-color:#e8813b;color:#e8813b;background:rgba(232,129,59,0.06);}
#page-memo-manager .remind-label-opt.selected[data-label="anniversary"]{border-color:#e84c3d;color:#e84c3d;background:rgba(232,76,61,0.06);}
#page-memo-manager .remind-label-opt.selected[data-label="event"]{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-bg);}

/* 操作按钮 */
#page-memo-manager .composer-actions{display:flex;gap:10px;margin-top:14px;padding-top:14px;padding-bottom:calc(8px + var(--safe-bottom));border-top:1px solid var(--divider);position:sticky;bottom:0;background:#fff;z-index:2;}
#page-memo-manager .composer-send{flex:1;padding:13px;border-radius:10px;background:var(--text-p);color:white;border:none;font-size:15px;font-weight:500;font-family:var(--font);cursor:pointer;}
#page-memo-manager .composer-send:active{background:#1a1a1a;}
#page-memo-manager .composer-delete{padding:13px 18px;border-radius:10px;background:transparent;color:var(--c-red);border:1px solid rgba(232,76,61,0.2);font-size:14px;font-family:var(--font);cursor:pointer;display:none;}
#page-memo-manager .composer-delete.show{display:block;}
#page-memo-manager .composer-delete:active{background:rgba(232,76,61,0.04);}

/* ============================================
   确认弹窗
   ============================================ */
#page-memo-manager .confirm-overlay{position:fixed;inset:0;z-index:450;background:rgba(0,0,0,0.3);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity 0.25s;}
#page-memo-manager .confirm-overlay.show{opacity:1;pointer-events:auto;}
#page-memo-manager .confirm-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.9);z-index:451;background:white;border-radius:16px;padding:24px 20px 18px;width:calc(100vw - 60px);max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,0.15);opacity:0;transition:all 0.25s cubic-bezier(0.16,1,0.3,1);}
#page-memo-manager .confirm-dialog.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
#page-memo-manager .confirm-title{font-size:16px;font-weight:600;color:var(--text-p);margin-bottom:8px;text-align:center;}
#page-memo-manager .confirm-text{font-size:13px;color:var(--text-s);text-align:center;line-height:1.5;margin-bottom:20px;}
#page-memo-manager .confirm-text strong{color:var(--text-p);}
#page-memo-manager .confirm-btns{display:flex;gap:10px;}
#page-memo-manager .confirm-btn{flex:1;padding:11px;border-radius:10px;font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;border:none;text-align:center;}
#page-memo-manager .confirm-btn.cancel{background:var(--bg-page);color:var(--text-p);}
#page-memo-manager .confirm-btn.danger{background:var(--c-red);color:white;}
#page-memo-manager .confirm-btn:active{transform:scale(0.96);}

/* FAB */
#page-memo-manager .fab{position:fixed;bottom:calc(20px + var(--safe-bottom));right:18px;width:50px;height:50px;border-radius:25px;background:var(--text-p);color:white;border:none;display:flex;align-items:center;justify-content:center;z-index:150;box-shadow:0 4px 16px rgba(0,0,0,0.14);cursor:pointer;transition:transform 0.2s cubic-bezier(0.16,1,0.3,1);}
#page-memo-manager .fab:active{transform:scale(0.92);}
#page-memo-manager .fab svg{width:22px;height:22px;}

/* 隐藏类 */
#page-memo-manager .hidden{display:none!important;}

@keyframes mm-pulse{0%,100%{opacity:1}50%{opacity:0.4}}
#page-memo-manager .today-alert-dot{animation:mm-pulse 2s infinite;}
#page-memo-manager .mm-toast{position:fixed;bottom:calc(100px + var(--safe-bottom));left:50%;transform:translateX(-50%) translateY(12px);background:rgba(44,44,44,0.92);color:#fff;font-size:13px;padding:8px 16px;border-radius:20px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:500;white-space:nowrap;}
#page-memo-manager .mm-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
