/* ════════════════════════════════════════════════════════
   Dream Line · 共用樣式表 styles.css
   結構：
     0. 基礎重置與變數
     1. 分類顏色（五大領域）
     2. 【共用】頂部列 / 報頭 / 章節標題 / 卡片
     3. 【共用】底部導航 / 頁尾 / 彈窗
     ─────────────────────────────────────
     A. 【行動頁 action.html】專屬
     B. 【時間頁 schedule.html】專屬
     C. 【目標頁 target.html】專屬
     D. 【登入頁 index.html】專屬
   ════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════
   0. 基礎重置與變數
   ════════════════════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}

:root{
  /* 底色 / 卡片 */
  --bg:#faf7f2;--bg-soft:#f5f0e8;--card:#fefcfa;
  /* 文字深淺 */
  --ink:#3d3a42;--ink-soft:#7a7582;--ink-faint:#a8a3b0;
  /* 線條 */
  --line:#ece5dc;--line-soft:#f3ede4;
  /* 主題色 */
  --accent:#c89fa8;--accent-soft:#fadadd;--gold:#c9a961;
  --warm:#e8a888;--warm-soft:#ffe5d4;--rose:#f5d6e0;--danger:#d98b8b;
  /* 圓角 */
  --radius:18px;--radius-sm:12px;
  /* 陰影 */
  --shadow-sm:0 1px 3px rgba(61,58,66,.04);
  --shadow:0 4px 20px rgba(61,58,66,.06);
  --shadow-lg:0 12px 40px rgba(61,58,66,.12);
}

/* 全頁背景：暖米色 + 三角落柔光漸層 */
html,body{
  background:var(--bg);
  background-image:
    radial-gradient(at 5% 5%,rgba(250,218,221,.35) 0,transparent 45%),
    radial-gradient(at 95% 8%,rgba(214,232,245,.35) 0,transparent 45%),
    radial-gradient(at 50% 100%,rgba(212,241,228,.3) 0,transparent 50%);
  background-attachment:fixed;
  color:var(--ink);
  font-family:'Inter','Noto Serif TC',-apple-system,sans-serif;
  font-size:15px;line-height:1.55;min-height:100vh;
}
body{padding-bottom:96px}                 /* 預留底部導航高度 */
.app{max-width:460px;margin:0 auto;padding:0 18px}   /* 手機版置中容器 */


/* ════════════════════════════════════════════════════════
   1. 分類顏色（五大領域）
   --c 主色 / --cs 淺底 / --ct 深字
   ════════════════════════════════════════════════════════ */
.cat-health{--c:#a8d5ba;--cs:#d4f1e4;--ct:#1e4a3a}   /* 健康 綠 */
.cat-wealth{--c:#d4b86a;--cs:#fbf0c4;--ct:#5a4a1e}   /* 財富 金 */
.cat-career{--c:#9cc5e8;--cs:#d6e8f5;--ct:#1e3a5f}   /* 事業 藍 */
.cat-bond  {--c:#e0a0b8;--cs:#f5d6e0;--ct:#7a4a52}   /* 關係 粉 */
.cat-growth{--c:#b8a8d8;--cs:#e6dff5;--ct:#3d2a52}   /* 成長 紫 */


/* ════════════════════════════════════════════════════════
   2. 【共用】頂部列 / 報頭 / 章節標題 / 卡片
   ════════════════════════════════════════════════════════ */

/* ── 頂部列 topbar ──────────────────────── */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px}
.brand{display:flex;align-items:center;gap:10px}
.brand .mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--warm));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:16px}
.brand .nm{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;font-weight:600}
.brand .nm em{color:var(--accent)}
.brand .zh{font-family:'Noto Serif TC',serif;font-size:9px;color:var(--ink-faint);letter-spacing:3px;margin-top:1px}

/* 語言切換鈕（頂部右側） */
.lang-pill{font-family:'Playfair Display',serif;font-style:italic;font-size:12px;color:var(--accent);background:var(--card);border:1px solid var(--line);padding:6px 13px;border-radius:14px;cursor:pointer;letter-spacing:1px}
/* 修改紀錄鈕（目標頁） */
.histbtn{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);padding:6px 12px;border-radius:14px;cursor:pointer}

/* ── 報頭 masthead（雜誌式大標題）────────── */
.masthead{text-align:center;padding:12px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.masthead .date{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--ink-faint);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.masthead h1{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:38px;line-height:1.05;letter-spacing:-1px}
.masthead h1 em{color:var(--accent)}
.masthead .zh{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-soft);letter-spacing:6px;margin-top:6px;padding-left:6px}

/* ── 章節標題 section-title ───────────────── */
.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 12px;gap:10px}
.section-title .num{font-family:'Playfair Display',serif;font-style:italic;font-size:12px;color:var(--accent);letter-spacing:2px;margin-right:6px}
.section-title .en{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;font-weight:600}
.section-title .zh{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-faint);letter-spacing:2px;text-align:right}

/* ── 通用卡片 ───────────────────────────── */
.card{background:var(--card);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)}


/* ════════════════════════════════════════════════════════
   3. 【共用】底部導航 / 頁尾 / 彈窗外殼
   ════════════════════════════════════════════════════════ */

/* ── 頁尾 footer ────────────────────────── */
footer{text-align:center;padding:18px 0 6px;font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:var(--ink-faint);letter-spacing:2px}
footer .line{width:10px;height:1px;background:var(--line);margin:0 auto 10px}

/* ── 底部三頁導航 dock ──────────────────── */
.dock{position:fixed;bottom:0;left:0;right:0;max-width:460px;margin:0 auto;background:rgba(254,252,250,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;z-index:50;padding-bottom:env(safe-area-inset-bottom)}
.dock a{flex:1;padding:10px 0 12px;text-align:center;text-decoration:none;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;gap:3px}
.dock a.active{color:var(--accent)}        /* 當前頁高亮 */
.dock .ic{font-size:17px;line-height:1}
.dock .di{font-family:'Noto Serif TC',serif;font-size:11px;letter-spacing:1px}

/* ── 彈窗共用外殼 modal ─────────────────── */
.modal{position:fixed;inset:0;background:rgba(61,58,66,.45);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:998;padding:16px}
.modal.show{display:flex}
/* 置中型彈窗內容 */
.mbody{background:var(--card);border-radius:20px;padding:24px;max-width:400px;width:100%;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative}
.mtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;font-weight:600;margin-bottom:2px}
.msub{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-faint);margin-bottom:16px}
.mclose{position:absolute;top:14px;right:14px;background:none;border:none;font-size:18px;color:var(--ink-faint);cursor:pointer}


/* ════════════════════════════════════════════════════════
   A. 【行動頁 action.html】專屬
   ════════════════════════════════════════════════════════ */

/* ── A-1 每日 Check-in 卡 ──────────────── */
.checkin{background:linear-gradient(135deg,var(--accent-soft) 0%,var(--rose) 100%);border:1px solid rgba(200,159,168,.3)}
.checkin .lbl{font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:#7a4a52;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.checkin .q{font-family:'Noto Serif TC',serif;font-size:14px;color:#5f3540;line-height:1.7}
.checkin textarea{width:100%;margin-top:10px;padding:10px 12px;border:1px solid rgba(200,159,168,.4);border-radius:10px;font-family:inherit;font-size:13px;background:rgba(255,255,255,.7);color:var(--ink);outline:none;resize:vertical;min-height:44px}
.checkin textarea:focus{background:#fff;border-color:var(--accent)}
.ck-saved{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:#7a4a52;text-align:right;height:14px;margin-top:4px}

/* ── A-2 整體執行率 圓環 ──────────────── */
.overall{display:flex;align-items:center;gap:18px}
.ring{width:88px;height:88px;flex-shrink:0}
.ring circle{fill:none;stroke-width:8;stroke-linecap:round}
.ring .bgc{stroke:var(--line)}
.ring .fgc{stroke:var(--accent);transition:stroke-dashoffset .6s ease}
.ring-wrap{position:relative}
.ring-val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-val .v{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;font-weight:600}
.ring-val .t{font-size:8px;color:var(--ink-faint);letter-spacing:1px}
.overall .meta .t1{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;font-weight:600}
.overall .meta .t2{font-size:11px;color:var(--ink-soft);margin-top:3px;line-height:1.6;font-family:'Noto Serif TC',serif}

/* ── A-3 分類標題列 ──────────────────── */
.cat-head{display:flex;align-items:center;gap:8px;margin:22px 0 10px}
.cat-dot{width:12px;height:12px;border-radius:4px;background:var(--c)}
.cat-head .en{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;font-weight:600}
.cat-head .zh{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-faint);letter-spacing:2px}

/* ── A-4 單一行動卡 + 打勾圓點 ────────── */
.act{background:var(--card);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:9px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-left:3px solid var(--c)}
.act .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.act .title{font-size:14px;font-weight:600;font-family:'Noto Serif TC',serif}
.act .goal-tag{font-size:10px;color:var(--ct);background:var(--cs);padding:2px 8px;border-radius:8px;display:inline-block;margin-top:5px;font-family:'Noto Serif TC',serif}
.act .freq{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft);white-space:nowrap}
.dots{display:flex;gap:7px;align-items:center;margin-top:11px;flex-wrap:wrap}
.dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--c);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;color:transparent;transition:.15s;flex-shrink:0}
.dot.on{background:var(--c);color:#fff}      /* 已完成 */
.dot:active{transform:scale(.88)}

/* ── A-5 雙軌進度卡（執行率 vs 成果）──── */
.goal-pg{background:var(--card);border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-top:3px solid var(--c)}
.goal-pg .gt{font-size:13px;font-weight:600;font-family:'Noto Serif TC',serif;display:flex;justify-content:space-between;align-items:center}
.goal-pg .gt .cz{font-size:10px;color:var(--ct);background:var(--cs);padding:2px 8px;border-radius:8px;font-weight:400}
.res-edit{font-family:'JetBrains Mono',monospace;font-size:11px;width:54px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;text-align:center;background:var(--bg-soft);color:var(--ink);outline:none}
.res-edit:focus{border-color:var(--c);background:#fff}
/* 洞察提示框（行動勤但成果落後等） */
.insight{margin-top:11px;font-size:11px;line-height:1.7;font-family:'Noto Serif TC',serif;padding:8px 10px;border-radius:9px}
.insight.warn{background:var(--warm-soft);color:#7a4a2e}   /* 警告 */
.insight.good{background:var(--cs);color:var(--ct)}        /* 良好 */
.insight.start{background:var(--bg-soft);color:var(--ink-soft)} /* 起步 */

/* ── 進度條（行動頁 + 目標頁共用）────── */
.barline{margin-top:11px}
.barline .lab{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-soft);margin-bottom:5px}
.barline .lab .ttl{font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.5px}
.barline .lab .src{color:var(--accent);font-family:'Noto Serif TC',serif;font-size:9px}
.barline .lab .num{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--ink)}
.bar{height:7px;background:var(--bg-soft);border-radius:6px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:6px;transition:width .5s ease}
.bar.exec i{background:var(--accent)}        /* 執行率：主題色 */
.bar.res i{background:var(--c)}              /* 成果：分類色 */


/* ════════════════════════════════════════════════════════
   B. 【時間頁 schedule.html】專屬
   ════════════════════════════════════════════════════════ */

/* ── B-1 草稿紙提示條 ──────────────────── */
.draft-note{background:linear-gradient(135deg,#e6dff5 0%,#d6e8f5 100%);border:1px solid rgba(184,168,216,.35);border-radius:var(--radius-sm);padding:12px 14px;font-family:'Noto Serif TC',serif;font-size:12px;color:#3d2a52;line-height:1.7;margin-bottom:14px}
.draft-note b{font-weight:600}

/* ── B-2 月曆 ─────────────────────────── */
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-head .mo{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;font-weight:600}
.cal-head .mo span{font-family:'Noto Serif TC',serif;font-size:12px;color:var(--ink-faint);margin-left:6px}
/* 分類色圖例 */
.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.legend .lg{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--ink-soft);font-family:'Noto Serif TC',serif}
.legend .lg i{width:9px;height:9px;border-radius:3px}
/* 星期列 */
.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:5px}
.dow div{text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:var(--ink-faint)}
/* 日期格 */
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cell{aspect-ratio:.82;border-radius:9px;border:1px solid var(--line-soft);background:var(--card);padding:4px 3px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}
.cell.empty{background:transparent;border:none;cursor:default}     /* 月初空格 */
.cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.cell .d{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-soft);margin-bottom:2px}
.cell.today .d{color:var(--accent);font-weight:600}
.chips{display:flex;flex-direction:column;gap:2px}
.chip{height:4px;border-radius:2px}        /* 當天行動小色條 */
.cell .more{font-size:8px;color:var(--ink-faint);margin-top:1px;font-family:'JetBrains Mono',monospace}

/* ── B-3 每週時間預算條 ──────────────── */
.wk{margin-bottom:11px;padding:13px 14px;background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)}
.wk .wtop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.wk .wname{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;font-weight:600}
.wk .wname span{font-family:'Noto Serif TC',serif;font-size:10px;color:var(--ink-faint);margin-left:5px}
.wk .wval{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600}
.wk .wval.over{color:var(--danger)}        /* 超出預算 紅 */
.wk .wval.ok{color:var(--ink-soft)}
.wbar{height:8px;background:var(--bg-soft);border-radius:6px;overflow:hidden;display:flex}
.wbar i{height:100%}
.wk .warn{margin-top:8px;font-size:11px;font-family:'Noto Serif TC',serif;color:#8a3a3a;background:#f8e0e0;padding:6px 9px;border-radius:8px;line-height:1.6}

/* ── B-4 底部彈出式 sheet（當天詳情）── */
.sheet{background:var(--card);border-radius:22px 22px 0 0;padding:22px 20px calc(28px + env(safe-area-inset-bottom));max-width:460px;width:100%;box-shadow:var(--shadow-lg);max-height:80vh;overflow-y:auto;align-self:flex-end}
.sh-title{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;font-weight:600;margin-bottom:2px}
.sh-sub{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-faint);margin-bottom:16px}
.ev{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px dashed var(--line-soft)}
.ev:last-child{border:none}
.ev .bar3{width:4px;align-self:stretch;border-radius:3px}
.ev .info{flex:1}
.ev .et{font-size:14px;font-weight:600;font-family:'Noto Serif TC',serif}
.ev .ec{font-size:10px;color:var(--ink-faint);font-family:'Noto Serif TC',serif;margin-top:2px}
.ev .em{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-soft)}
.sh-close{width:100%;margin-top:16px;padding:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;font-family:'Playfair Display',serif;font-style:italic;font-size:14px;color:var(--ink-soft);cursor:pointer}
.sh-empty{text-align:center;padding:24px 0;color:var(--ink-faint);font-family:'Playfair Display',serif;font-style:italic;font-size:13px}


/* ════════════════════════════════════════════════════════
   C. 【目標頁 target.html】專屬
   ════════════════════════════════════════════════════════ */

/* ── C-1 願景宣言卡 ──────────────────── */
.vision{background:linear-gradient(135deg,#fff 0%,var(--accent-soft) 120%);border:1px solid rgba(200,159,168,.3);position:relative}
.vision .vlbl{font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.vision .vtext{font-family:'Noto Serif TC',serif;font-size:17px;line-height:1.8;font-weight:500}
.vision .vedit{position:absolute;top:16px;right:16px;font-size:12px;color:var(--ink-soft);background:rgba(255,255,255,.7);border:1px solid var(--line);width:30px;height:30px;border-radius:50%;cursor:pointer}

/* ── C-2 SMART 教學卡 ─────────────────── */
.smart-help{background:linear-gradient(135deg,var(--bg-soft) 0%,#e6dff5 130%);border:1px dashed rgba(184,168,216,.5);border-radius:var(--radius-sm);padding:14px;margin-bottom:14px}
.smart-help .sh-t{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;font-weight:600;color:#3d2a52;margin-bottom:9px}
.smart-help .ex{font-family:'Noto Serif TC',serif;font-size:12px;line-height:1.7;margin-bottom:7px}
.smart-help .bad{color:#a06060}.smart-help .bad b{color:#8a3a3a}     /* 反面示範 */
.smart-help .good{color:#3a6a4a}.smart-help .good b{color:#1e4a3a}   /* 正面示範 */

/* ── C-3 目標卡 ──────────────────────── */
.cat-block{margin-bottom:8px}
.goal{background:var(--card);border-radius:var(--radius-sm);padding:15px;margin-bottom:10px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-top:3px solid var(--c)}
.goal .gtop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.goal .gtitle{font-size:15px;font-weight:600;font-family:'Noto Serif TC',serif;line-height:1.4}
.goal .gedit{font-size:12px;color:var(--ink-faint);cursor:pointer;background:none;border:none;flex-shrink:0;padding:2px 4px}
.goal .smart{font-size:12px;color:var(--ink-soft);font-family:'Noto Serif TC',serif;line-height:1.7;margin-top:6px;padding:8px 10px;background:var(--bg-soft);border-radius:8px}
.goal .meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.goal .mtag{font-size:10px;color:var(--ct);background:var(--cs);padding:3px 9px;border-radius:8px;font-family:'Noto Serif TC',serif}
.bars{margin-top:11px}
/* 達成行動清單 */
.acts{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-soft)}
.acts .alab{font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:var(--ink-faint);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.act-chip{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line-soft);font-size:13px;font-family:'Noto Serif TC',serif}
.act-chip:last-child{border:none}
.act-chip .af{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft)}

/* ── C-4 每季檢視卡 ──────────────────── */
.review{background:linear-gradient(135deg,var(--warm-soft) 0%,var(--accent-soft) 130%);border:1px solid rgba(232,168,136,.3)}
.review .rt{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;font-weight:600;color:#7a4a2e;margin-bottom:4px}
.review .rs{font-family:'Noto Serif TC',serif;font-size:11px;color:#8a6a4e;margin-bottom:12px}
.rq{font-family:'Noto Serif TC',serif;font-size:13px;color:#5f3a1e;line-height:1.7;padding:9px 0;border-bottom:1px dashed rgba(232,168,136,.4);display:flex;gap:8px}
.rq:last-child{border:none}
.rq .n{font-family:'Playfair Display',serif;font-style:italic;color:var(--warm);flex-shrink:0}

/* ── C-5 編輯 / 歷史 彈窗內欄位 ──────── */
.fld{margin-bottom:12px}
.fld label{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--ink-soft);letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:6px}
.fld input,.fld textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;background:var(--bg-soft);color:var(--ink);outline:none}
.fld input:focus,.fld textarea:focus{border-color:var(--accent);background:#fff}
.fld textarea{resize:vertical;min-height:60px}
.macts{display:flex;gap:8px;margin-top:8px}
.btn-cancel{flex:1;padding:11px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;cursor:pointer;color:var(--ink-soft);font-family:'Playfair Display',serif;font-style:italic;font-size:13px}
.btn-save{flex:1;padding:11px;background:linear-gradient(135deg,var(--accent) 0%,#d4a8b1 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;font-family:'Playfair Display',serif;font-style:italic;font-size:13px;font-weight:600}
/* 修改紀錄列 */
.hist{padding:11px 0;border-bottom:1px dashed var(--line-soft);font-size:13px;font-family:'Noto Serif TC',serif}
.hist:last-child{border:none}
.hist .ht{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-faint);margin-bottom:3px}


/* ════════════════════════════════════════════════════════
   D. 【登入頁 index.html】專屬
   ════════════════════════════════════════════════════════ */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.login-wrap{width:100%;max-width:360px;text-align:center;position:relative}
/* 右上角語言鈕 */
.lang-corner{position:absolute;top:-8px;right:0;font-family:'Playfair Display',serif;font-style:italic;font-size:12px;color:var(--accent);background:var(--card);border:1px solid var(--line);padding:6px 13px;border-radius:14px;cursor:pointer;letter-spacing:1px}
/* 品牌標誌 */
.login-mark{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--warm));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:28px;margin:0 auto 16px;box-shadow:var(--shadow)}
.login-brand{font-family:'Playfair Display',serif;font-style:italic;font-size:30px;font-weight:600}
.login-brand em{color:var(--accent)}
.login-zh{font-family:'Noto Serif TC',serif;font-size:11px;color:var(--ink-faint);letter-spacing:6px;margin-top:4px}
.login-tag{font-family:'Noto Serif TC',serif;font-size:13px;color:var(--ink-soft);margin:14px 0 26px;line-height:1.7}
/* 登入卡 */
.login-card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);border:1px solid var(--line-soft);text-align:left}
.login-card .fld input{text-align:center;letter-spacing:1px}
.login-card #lgPw{letter-spacing:8px;font-family:'JetBrains Mono',monospace;font-size:18px}   /* 4 位數字密碼 */
.login-err{color:var(--danger);font-family:'Noto Serif TC',serif;font-size:12px;text-align:center;min-height:16px;margin-bottom:6px}
.login-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--accent) 0%,var(--warm) 130%);color:#fff;border:none;border-radius:12px;cursor:pointer;font-family:'Playfair Display',serif;font-style:italic;font-size:15px;font-weight:600;letter-spacing:.5px}
.login-foot{font-family:'Playfair Display',serif;font-style:italic;font-size:10px;color:var(--ink-faint);letter-spacing:2px;margin-top:24px}