/* ============================================================
   陪跑 V2.0 · 页面 12「今日小结与周报」专属样式
   数值照抄 UI定版_Codex/12_今日小结与周报.html
   （含定版末尾「Typography pass」的覆盖值：正文字号、trend 高度、stack 行高等）
   舞台：#app 已是 1600×900 固定层（absolute+居中+scale，overflow:hidden），
        本页 root 用 absolute 满铺 + grid，页面本身不滚动；
        只有 .p12-timeline / .p12-exlist / .p12-advice 这类局部区域允许 overflow-y:auto。
   选择器统一 p12- 前缀，避免与其他页面/design.css 的通用类名互相污染。
   ============================================================ */

/* ---------- 舞台与全局重置（定版 .app / body 的等价物） ---------- */
.p12{position:absolute;left:0;top:0;right:0;bottom:0;display:grid;grid-template-columns:254px 1fr;
  background:var(--cream);color:var(--ink);overflow:hidden;letter-spacing:0;
  font-family:var(--font,"HarmonyOS Sans SC","Microsoft YaHei",sans-serif);
  -webkit-font-smoothing:antialiased}
.p12 *{box-sizing:border-box}
.p12 button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent}
.p12 button:hover{filter:brightness(.985)}
.p12 button:active{transform:scale(.98)}
.p12 button:focus-visible{outline:3px solid rgba(237,174,63,.6);outline-offset:3px}
.p12 ::selection{background:#cde4d9;color:var(--deep)}

/* ---------- 左侧 rail（254px，深绿） ---------- */
.p12-rail{background:var(--deep);color:#fff;padding:26px 20px 22px;display:flex;flex-direction:column;min-height:0}
.p12-brand{height:54px;display:flex;align-items:center;gap:11px;padding:0 10px;font-size:21px;font-weight:800}
.p12-mark{width:38px;height:38px;border-radius:12px 21px 21px 21px;background:var(--coral);display:grid;place-items:center;font-size:16px}
.p12-back{margin-top:26px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:10px;
  background:rgba(255,255,255,.06);color:white;text-align:left;padding:0 13px;font-size:16px;font-weight:700}
.p12-railcopy{margin:34px 10px 0}
.p12-railcopy h1{font-size:28px;line-height:1.26;margin:0 0 13px}
.p12-railcopy p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.72);margin:0}
.p12-privacy{margin-top:auto;padding:17px 10px 0;border-top:1px solid rgba(255,255,255,.14);
  font-size:14px;line-height:1.65;color:rgba(255,255,255,.67)}

/* ---------- 主区：3 行网格（63px 标题 / 58px 标签与周切换 / 1fr 视图） ---------- */
.p12-main{padding:25px 30px 28px;min-width:0;min-height:0;display:grid;
  grid-template-rows:63px 58px 1fr;gap:16px}
.p12-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,55,47,.11)}
.p12-title h2{font-size:30px;margin:0 0 4px}
.p12-title p{font-size:16px;color:var(--ink2);margin:0}
.p12-date{font-size:14px;color:var(--muted)}

/* ---------- 标签 + 周切换 ---------- */
.p12-tabs{display:flex;align-items:center;justify-content:space-between}
.p12-tabset{display:flex;gap:5px;padding:4px;background:rgba(23,55,47,.06);border-radius:12px}
.p12-tab{height:42px;border-radius:9px;background:transparent;padding:0 22px;font-size:16px;font-weight:700;color:var(--muted)}
.p12-tab.active{background:var(--paper);color:var(--ink);box-shadow:0 5px 16px rgba(41,64,54,.08)}
.p12-period{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.p12-period button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.p12-period button:disabled{opacity:.45;cursor:default}
.p12-period strong{color:var(--ink);font-weight:700}
.p12-range{font-style:normal;font-size:13px;color:var(--muted)}

/* ---------- 视图：week（1.07fr/.93fr × 274px+1fr） / today（1.1fr/.9fr） ---------- */
.p12-view{min-height:0;display:none}
.p12-view.active{display:grid}
.p12-week{grid-template-columns:1.07fr .93fr;grid-template-rows:274px 1fr;gap:16px}
.p12-today{grid-template-columns:1.1fr .9fr;gap:16px}

/* ---------- 卡片 ---------- */
.p12-panel{border-radius:15px;background:var(--paper);box-shadow:var(--shadow);padding:18px 20px;min-width:0;min-height:0}
.p12-panel.mint{background:var(--mint)}
.p12-panel.mist{background:var(--mist)}
.p12-panel.warm{background:#f5ead2}
.p12-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.p12-head h3{font-size:20px;margin:0}
.p12-head span{font-size:14px;color:var(--muted);text-align:right}

/* ---------- 三格指标 ---------- */
.p12-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px}
.p12-metric{padding:0 20px;border-left:1px solid rgba(23,55,47,.1)}
.p12-metric:first-child{padding-left:0;border:0}
.p12-metric strong{display:block;font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}
.p12-metric span{display:block;font-size:14px;color:var(--muted);margin-top:7px}
.p12-mtag{font-style:normal;font-size:13px;color:var(--muted);opacity:.85;margin-left:6px}

/* ---------- 柱状对比（只在两周都有真实数据时才画） ---------- */
.p12-trend{height:96px;margin-top:16px;display:flex;align-items:flex-end;gap:19px;border-bottom:1px solid rgba(23,55,47,.14)}
.p12-bar{flex:1;min-width:0;position:relative;background:#91b9ab;border-radius:6px 6px 0 0;transition:height .3s}
.p12-bar.prev{background:#c7d3ce}
.p12-bar span{position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);font-size:13px;color:var(--muted);white-space:nowrap}
.p12-trendnote{margin-top:22px;padding:16px;border:1px dashed #b7c4bd;border-radius:12px;color:var(--ink2);font-size:14px;line-height:1.7}

/* ---------- 右列 stack（170px + 88px） ---------- */
.p12-stack{display:grid;grid-template-rows:170px 88px;gap:16px;min-height:0}
.p12-stack .p12-panel{padding:14px 16px}
.p12-distribution{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px}
.p12-feel-list{display:grid;gap:11px;align-content:start}
.p12-feel{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;font-size:14px}
.p12-feel b{font-size:18px}
.p12-track{height:8px;background:rgba(23,55,47,.08);border-radius:4px;overflow:hidden}
.p12-fill{height:100%;background:var(--leaf);border-radius:4px}
.p12-thermo{border-left:1px solid rgba(23,55,47,.1);padding-left:20px}
.p12-thermo span{font-size:13px;color:var(--muted)}
.p12-thermo strong{display:block;font-size:18px;margin:7px 0}
.p12-thermo p{font-size:14px;line-height:1.55;color:var(--ink2);margin:0}
.p12-medal{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:center}
.p12-medal-icon{width:56px;height:56px;border-radius:50%;background:var(--amber);display:grid;place-items:center;font-weight:800;color:var(--ink)}
.p12-medal p{font-size:14px;line-height:1.55;color:var(--ink2);margin:6px 0 0}

/* ---------- 空态 ---------- */
.p12-empty{padding:28px;border:1px dashed #b7c4bd;border-radius:12px;color:var(--ink2);font-size:16px;line-height:1.7}

/* ---------- 敢说的真话（week 第 3 格，显式落在第 2 行第 1 列） ---------- */
.p12-truth{grid-row:2;padding:20px 24px;display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}
.p12-truth-mark{width:112px;height:112px;border-radius:28px 58px 58px 58px;background:var(--leaf);color:white;
  display:grid;place-items:center;text-align:center;font-size:16px;font-weight:800;line-height:1.3}
.p12-truth h3{font-size:24px;margin:0 0 11px}
.p12-truth p{font-size:16px;line-height:1.6;color:var(--ink2);margin:0}
.p12-truth small{display:block;margin-top:14px;color:var(--muted);font-size:14px}

/* ---------- 豁免记录（week 第 2 行第 2 列，长列表局部滚动） ---------- */
.p12-exempt{display:grid;grid-template-rows:auto minmax(0,1fr)}
.p12-exlist{margin-top:14px;overflow-y:auto;min-height:0}
.p12-exempt .p12-empty{margin-top:14px;align-self:start}
.p12-exrow{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid rgba(23,55,47,.08);font-size:14px}
.p12-exrow time{color:var(--muted);min-width:78px;font-variant-numeric:tabular-nums}
.p12-exrow b{font-weight:700}
.p12-exrow em{font-style:normal;color:var(--muted);margin-left:auto;text-align:right}

/* ---------- 今天的时间线（局部滚动） ---------- */
.p12-tl-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}
.p12-timeline{margin-top:16px;overflow-y:auto;min-height:0}
.p12-event{display:grid;grid-template-columns:72px 14px 1fr;gap:12px;min-height:74px}
.p12-event time{font-size:14px;color:var(--muted);padding-top:3px}
.p12-event i{width:10px;height:10px;border-radius:50%;background:var(--leaf);margin-top:5px;position:relative}
.p12-event:not(:last-child) i:after{content:"";position:absolute;top:14px;left:4px;width:1px;height:56px;background:#b7c8c0}
.p12-event strong{font-size:16px}
.p12-event p{font-size:14px;color:var(--ink2);margin:5px 0 0}

/* ---------- 今天右列：今天一眼 + 轻建议 ---------- */
.p12-todaycol{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;min-height:0}
.p12-note{margin-top:16px;padding:18px;background:var(--mint);border-radius:12px;font-size:15px;line-height:1.7;color:var(--ink2)}
.p12-todaycol .p12-panel.warm{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.p12-advice{font-size:16px;line-height:1.75;color:var(--ink2);margin:18px 0 0;overflow-y:auto;min-height:0}

/* ---------- 局部滚动条 ---------- */
.p12-timeline::-webkit-scrollbar,.p12-exlist::-webkit-scrollbar,.p12-advice::-webkit-scrollbar{width:8px}
.p12-timeline::-webkit-scrollbar-thumb,.p12-exlist::-webkit-scrollbar-thumb,.p12-advice::-webkit-scrollbar-thumb{background:rgba(23,55,47,.18);border-radius:4px}
.p12-timeline::-webkit-scrollbar-track,.p12-exlist::-webkit-scrollbar-track,.p12-advice::-webkit-scrollbar-track{background:transparent}

@media (prefers-reduced-motion:reduce){.p12 *{transition:none!important}}
