/* AI幼儿教育智能体 · 家长端 v0.6 · 家长模式样式
   方向（2026-10-11，SM）：「这个UI太学术了，不容易推广」→ 暖色、圆角、大按钮、少文字、手机优先。
   家长模式 = 4 个入口：今天 / 记一次 / 小发现 / 设置。14 屏评审界面保留在「设置 → 评审模式」。 */
:root{
  --pm-bg:#F4F1EC; --pm-card:#FFFFFF; --pm-ink:#2C2C2B; --pm-sub:#7D7A75; --pm-line:#E6E5E3;
  --pm-brand:#2F7D5B; --pm-brand-soft:#E8F1EC; --pm-brand-line:#CFE3D8;
  --pm-warm:#FBEBDE; --pm-warm-ink:#B4652A; --pm-r:20px;
  --pm-font:"Noto Sans CJK SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
body[data-mode="parent"]{background:var(--pm-bg)}
body[data-mode="parent"] #reviewRoot{display:none}
body[data-mode="review"] #pmRoot{display:none}

#pmRoot{max-width:430px;margin:0 auto;background:var(--pm-card);height:100vh;height:100dvh;
  display:flex;flex-direction:column;overflow:hidden;color:var(--pm-ink);font-family:var(--pm-font);
  font-size:16px;line-height:1.6;border-left:1px solid var(--pm-line);border-right:1px solid var(--pm-line)}
.pm-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px 28px}
.pm-tabs{display:flex;border-top:1px solid var(--pm-line);background:#fff;padding-bottom:env(safe-area-inset-bottom)}
.pm-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 9px;
  font-size:12px;color:var(--pm-sub);background:none;border:none;font-family:var(--pm-font);cursor:pointer}
.pm-tab .ic{font-size:20px;line-height:1}
.pm-tab.on{color:var(--pm-brand);font-weight:650}

.pm-head{margin:0 0 18px}
.pm-h1{font-size:23px;font-weight:650;line-height:1.35;letter-spacing:.2px}
.pm-sub{font-size:14px;color:var(--pm-sub);margin-top:4px}
.pm-hero{background:var(--pm-brand-soft);border:1px solid var(--pm-brand-line);border-radius:var(--pm-r);
  padding:18px;margin-bottom:20px}
.pm-hero h3{margin:0 0 6px;font-size:18px;font-weight:650}
.pm-hero p{margin:0 0 14px;font-size:14px;color:#4A6A58;line-height:1.6}
.pm-btn{display:block;width:100%;min-height:52px;border-radius:16px;background:var(--pm-brand);color:#fff;
  border:none;font-size:16.5px;font-weight:600;font-family:var(--pm-font);letter-spacing:.3px;cursor:pointer;
  padding:12px 16px}
.pm-btn.ghost{background:#fff;color:var(--pm-brand);border:1.5px solid var(--pm-brand)}
.pm-btn.dim{opacity:.55}
.pm-sec{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 10px}
.pm-sec h4{margin:0;font-size:15px;font-weight:650}
.pm-sec span{font-size:12.5px;color:var(--pm-sub)}
.pm-act{border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:15px;display:flex;gap:13px;align-items:center}
.pm-em{font-size:32px;line-height:1}
.pm-actbody{flex:1;min-width:0}
.pm-t{font-size:16px;font-weight:600;margin:0 0 4px}
.pm-m{font-size:13.5px;color:var(--pm-sub);margin:0;line-height:1.55}
.pm-mini{margin-left:auto;background:var(--pm-brand-soft);color:var(--pm-brand);border:none;border-radius:12px;
  padding:10px 13px;font-size:14px;font-weight:600;font-family:var(--pm-font);white-space:nowrap;flex:0 0 auto;cursor:pointer}
.pm-tip{background:var(--pm-warm);color:var(--pm-warm-ink);border-radius:14px;padding:11px 14px;font-size:13.5px;
  line-height:1.6;margin-top:12px}
.pm-flash{background:var(--pm-brand-soft);color:var(--pm-brand);border:1px solid var(--pm-brand-line);
  border-radius:14px;padding:11px 14px;font-size:14px;margin-bottom:16px;line-height:1.6}
.pm-empty{border:1px dashed var(--pm-line);border-radius:16px;padding:18px;color:var(--pm-sub);font-size:14.5px;text-align:center}
.pm-label{font-size:14.5px;font-weight:600;margin:22px 0 10px}
.pm-chips{display:flex;flex-wrap:wrap;gap:8px}
.pm-chip{border:1px solid var(--pm-line);border-radius:13px;padding:10px 13px;font-size:14.5px;background:#fff;
  color:var(--pm-ink);font-family:var(--pm-font);cursor:pointer;min-height:44px}
.pm-chip.on{border-color:var(--pm-brand);background:var(--pm-brand-soft);color:var(--pm-brand);font-weight:600}
.pm-opt{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--pm-line);border-radius:16px;
  padding:12px 15px;margin-bottom:9px;font-size:16px;min-height:56px;background:#fff;color:var(--pm-ink);
  font-family:var(--pm-font);text-align:left;cursor:pointer}
.pm-opt.on{border:2px solid var(--pm-brand);background:var(--pm-brand-soft)}
.pm-em2{font-size:22px;line-height:1}
.pm-note{width:100%;border:1px dashed var(--pm-line);border-radius:16px;padding:13px;font-size:15px;
  font-family:var(--pm-font);color:var(--pm-ink);line-height:1.6;resize:vertical}
.pm-input{width:100%;border:1px solid var(--pm-line);border-radius:14px;padding:12px 14px;font-size:15.5px;
  font-family:var(--pm-font);color:var(--pm-ink);background:#fff;min-height:48px}
.pm-fine{font-size:12.5px;color:var(--pm-sub);line-height:1.7;margin:12px 0 0}
.pm-find{border:1px solid var(--pm-line);border-radius:16px;padding:14px 15px;margin-bottom:11px}
.pm-d{font-size:12.5px;color:var(--pm-sub);margin:0 0 5px}
.pm-q{font-size:16px;font-weight:600;margin:0 0 8px;line-height:1.5}
.pm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.pm-tag{font-size:12.5px;border-radius:999px;padding:3px 10px;border:1px solid var(--pm-line);background:#fff;color:var(--pm-sub)}
.pm-tag.ok{background:var(--pm-brand-soft);color:var(--pm-brand);border-color:var(--pm-brand-line);font-weight:600}
.pm-tag.warn{background:var(--pm-warm);color:var(--pm-warm-ink);border-color:#F0DCC4}
.pm-note-txt{font-size:14.5px;line-height:1.6;margin:0 0 6px}
.pm-rn{font-size:12.5px;color:var(--pm-sub);line-height:1.6}
.pm-link{background:none;border:none;color:var(--pm-brand);font-size:13px;font-family:var(--pm-font);
  padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pm-field{margin-bottom:20px}
.pm-field > label{display:block;font-size:14.5px;font-weight:600;margin-bottom:9px}
.pm-list{border:1px solid var(--pm-line);border-radius:16px;overflow:hidden}
.pm-li{display:block;width:100%;text-align:left;background:#fff;border:none;border-bottom:1px solid var(--pm-line);
  padding:15px 16px;font-size:15.5px;font-family:var(--pm-font);color:var(--pm-ink);cursor:pointer;min-height:52px}
.pm-li:last-child{border-bottom:none}
.pm-li.danger{color:#9B2C2C}
@media print{
  .pm-tabs{display:none}
  #pmRoot{height:auto;max-width:none;border:none}
  .pm-body{overflow:visible}
}

/* v0.6.1：首次设置（进度条 · 步骤 · 底部操作行） */
.pm-progress{height:6px;border-radius:99px;background:#EFEDE9;overflow:hidden;margin:4px 0 0}
.pm-bar{height:100%;background:var(--pm-brand);border-radius:99px;transition:width .2s}
.pm-stepnum{font-size:13px;color:var(--pm-sub);margin:8px 0 16px}
.pm-setuprow{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:10px}

/* v0.6.2：封面（为什么做这个 / 有什么用）+ 每次打开的画面与一句话 */
.pm-cover{padding-top:6px}
.pm-scene{margin-bottom:16px;line-height:0}
.pm-scene svg{width:100%;height:auto;display:block;border-radius:16px}
.pm-covertitle{font-size:26px;font-weight:700;letter-spacing:.5px;margin:0 0 6px}
.pm-coversub{font-size:15.5px;color:#4A6A58;line-height:1.6;margin:0 0 20px}
.pm-coverblock{border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:15px 17px;margin-bottom:12px}
.pm-coverblock h5{margin:0 0 8px;font-size:15px;font-weight:650;color:var(--pm-brand)}
.pm-coverblock ul{margin:0;padding-left:18px}
.pm-coverblock li{font-size:14.5px;line-height:1.7;margin-bottom:7px;color:#3A3A38}
.pm-coverblock li:last-child{margin-bottom:0}
.pm-encourage{border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:12px;margin-bottom:18px}
.pm-scene-sm{line-height:0;margin-bottom:9px}
.pm-scene-sm svg{width:100%;height:auto;display:block;border-radius:12px}
.pm-enc-line{font-size:15px;line-height:1.6;color:#3A3A38;padding:0 3px 2px}

/* v0.6.6：活动清单 → 子清单 → 一屏一问 → 核对保存 */
.pm-flowmeta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px;color:#706d68;margin:0 0 9px}
.pm-flowtrack{height:5px;background:#efede9;border-radius:8px;margin-bottom:22px;overflow:hidden}
.pm-flowtrack span{display:block;height:100%;background:var(--pm-brand);border-radius:8px}
.pm-flowquestion h2{font-size:21px;line-height:1.5;margin:0 0 8px;font-weight:650}
.pm-flowquestion p{font-size:14px;line-height:1.6;margin:0 0 20px;color:#706d68}
.pm-flowgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pm-flowchoice,.pm-flowopt{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;background:#fff;border:1px solid var(--pm-line);border-radius:14px;padding:14px 16px;color:var(--pm-ink);font-family:var(--pm-font);font-size:16px;line-height:1.5;text-align:left;cursor:pointer}
.pm-flowopt{margin-bottom:10px;justify-content:space-between}
.pm-flowopt.on{background:var(--pm-brand-soft);border-color:var(--pm-brand);box-shadow:inset 0 0 0 1px var(--pm-brand)}
.pm-flowemoji{font-size:24px;line-height:1}
.pm-arrow,.pm-flowmark{margin-left:auto;color:var(--pm-brand);font-size:22px}
.pm-flowprimary{margin-top:18px}
.pm-btn:disabled{opacity:.5;cursor:not-allowed}
.pm-flowactions{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0 6px}
.pm-flowactions .pm-link{min-height:44px;font-size:14px}
.pm-flowreview{border:1px solid var(--pm-line);border-radius:16px;padding:4px 16px}
.pm-flowactivity{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:650;padding:12px 0}
.pm-flowrow{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border-top:1px solid var(--pm-line);padding:13px 0;font-size:15px;line-height:1.6}
.pm-flowrow .pm-link{flex-shrink:0;font-size:14px;min-height:44px;padding:8px 0}
.pm-flowqsmall{font-size:14px;color:#706d68;margin:0 0 4px}
.pm-flowextra{margin:20px 0}
.pm-flowextra summary,.pm-savedfacts summary{color:var(--pm-brand);font-size:14px;cursor:pointer;min-height:44px;padding:10px 0}
.pm-flowextra textarea{margin-top:8px}
.pm-savedfacts{margin:8px 0}
.pm-savedfact{font-size:14px;line-height:1.6;border-top:1px solid var(--pm-line);padding:10px 0}
.pm-flowchoice:focus-visible,.pm-flowopt:focus-visible{outline:3px solid #2783de;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.pm-flowtrack span{transition:none}}
@media print{.pm-savedfacts>div{display:block!important}}

.pm-flowgrid .pm-flowchoice{position:relative;flex-direction:column;align-items:flex-start;min-height:84px;gap:6px;padding:12px}
.pm-flowgrid .pm-flowchoice>span:nth-child(2){padding-right:16px}
.pm-flowgrid .pm-flowchoice .pm-arrow{position:absolute;right:12px;bottom:9px}
