/* ============================================================
   第十五阶段 · 改版层（冷白 + 描边）
   ------------------------------------------------------------
   为什么追加在最后、而不是回头逐条改：
   styles.css 一千五百行、186 个色值，逐条改必然漏。色值已经用脚本做过一次
   「暖色 → 冷色」的机械替换；这一层只管**形状与层级**——卡片去阴影、按钮收圆角、
   选中态从「整块填色」改成「浅底 + 主色字」。
   出问题把这一整段删掉，就回到改版前（备份在 _备份-改版前/）。
   ============================================================ */

/* ---------- 卡片：白底 + 1px 描边，阴影只留一档 ---------- */
.card,
.goal-tags-card,
.daily-item,
.sched-item,
.habit-card,
.habit-rec-card,
.ov-card,
.offline-pill,
.sched-pill{
  border:1px solid var(--c-line);
  box-shadow:var(--shadow-1);
}
.card,
.goal-tags-card{border-radius:var(--r-card)}
.daily-item,
.sched-item,
.habit-card,
.habit-rec-card,
.ov-card{border-radius:var(--r-row);box-shadow:none}

/* ---------- 字：六档，标题不再用 800 ---------- */
.page-title{font-size:var(--fs-20);font-weight:500;letter-spacing:-.01em}
.section-title{font-size:var(--fs-15);font-weight:600}
.page-sub{font-size:var(--fs-13);color:var(--c-ink-2)}

/* ---------- 页签：白底描边，选中是浅底 + 主色字（不是整块填绿） ---------- */
.sub-tabs{
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:12px;
  box-shadow:none;
  padding:3px;
}
.sub-tab{
  border-radius:9px;
  font-size:var(--fs-13);
  font-weight:500;
  color:var(--c-ink-2);
  transition:background .16s ease,color .16s ease;
}
.sub-tab.active{
  background:var(--c-accent-soft);
  color:var(--c-accent);
  font-weight:600;
  box-shadow:none;
}
.seg-period{background:var(--c-bg);border:1px solid var(--c-line)}
.seg-chip{border-radius:8px;font-weight:500;color:var(--c-ink-2)}
.seg-chip.active{background:var(--c-surface);color:var(--c-accent);font-weight:600;box-shadow:var(--shadow-1)}

/* ---------- 按钮 ---------- */
.primary-wide-btn{
  background:var(--c-accent);
  border-radius:var(--r-row);
  box-shadow:none;
  font-weight:600;
}
.primary-wide-btn:hover{background:var(--c-accent-dark);transform:none;box-shadow:none}
.ghost-action{background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-ink-2);font-weight:500;border-radius:var(--r-row)}
.ghost-action:hover{background:var(--c-bg)}
.ghost-wide-btn{border:1px solid var(--c-line);border-radius:var(--r-row);font-weight:500}

/* ---------- 底部导航（手机）：选中是浅底胶囊，不再整块染绿 ---------- */
.bottom-nav{
  background:var(--c-surface);
  border-top:1px solid var(--c-line);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.nav-btn{color:var(--c-ink-3);font-size:var(--fs-11);font-weight:400;border-radius:var(--r-row)}
.nav-btn:hover{background:var(--c-bg)}
.nav-btn.active{background:var(--c-accent-soft);color:var(--c-accent);font-weight:500}

/* ---------- 日期格 ---------- */
.day-chip{border:1px solid var(--c-line);border-radius:var(--r-row);box-shadow:none}
.day-chip.active{background:var(--c-accent);border-color:var(--c-accent)}
.day-chip.is-today:not(.active){border-color:rgba(63,107,87,.45);box-shadow:none}
.day-nav-btn{border:1px solid var(--c-line);box-shadow:none;border-radius:var(--r-row)}

/* ---------- 输入 ---------- */
.list-add-input,.sched-time{
  border:1px solid var(--c-line-strong);
  border-radius:var(--r-row);
  background:var(--c-surface);
}
.list-add-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(63,107,87,.12)}
.list-add-btn{border-radius:var(--r-row);font-weight:500}

/* ---------- 模型相关：一律柔紫（系统算出来的一律茶青） ---------- */
.ai-review{border-radius:var(--r-card)}
.ai-run{
  color:var(--c-model);
  border:1px solid rgba(107,91,210,.28);
  background:rgba(107,91,210,.05);
}
.ai-run:hover{background:rgba(107,91,210,.12)}
.ai-note-ok{color:var(--c-model)}
.ai-text{border-left:2px solid rgba(107,91,210,.45)}
.ai-text-local{border-left-style:dotted;border-left-color:var(--c-line-strong)}
.ai-sub,.ai-hint,.ai-note{color:var(--c-ink-2)}
.plan-item input{accent-color:var(--c-accent)}

/* ---------- 顶部的条：与页面同底色，靠 1px 线分隔 ---------- */
.storage-banner{background:#fff8ee;border-bottom:1px solid rgba(180,120,40,.20)}
.multi-banner,.day-banner{box-shadow:none}

/* ============================================================
   桌面端（≥1024）：左侧栏 + 主区；≥1180 再加右侧轨
   ------------------------------------------------------------
   手机端结构一个字不动——底部五项导航是拇指够得着的地方。
   桌面上把同一条 <nav> 竖过来当侧栏，不复制一份导航。
   ============================================================ */
@media (min-width:1024px){
  .app-container{flex-direction:row;align-items:stretch}

  .bottom-nav{
    order:0;
    flex:0 0 220px;
    width:220px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    padding:16px 12px;
    border-top:none;
    border-right:1px solid var(--c-line);
    min-height:0;
    z-index:5;
  }
  .bottom-nav::before{content:none}
  .nav-btn{
    flex:0 0 auto;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:10px;
    padding:9px 12px;
    border-radius:var(--r-row);
    font-size:var(--fs-13);
  }
  .nav-btn .nav-mark{display:flex;align-items:center}
  .nav-btn .nav-mark svg{width:18px;height:18px}
  .nav-btn.active{font-weight:600}

  .page-content{order:1;flex:1 1 auto;min-width:0}
  .board-page,.today-page,.stats-page,.weekly-page,.me-page{max-width:1000px;margin:0 auto}
}

/* ---------- 右侧轨：今日速览 / 声景 / 回找 ---------- */
.rail{display:none}

@media (min-width:1180px){
  .rail{
    order:2;
    flex:0 0 248px;
    width:248px;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:18px 14px;
    border-left:1px solid var(--c-line);
    background:var(--c-surface-2);
    overflow-y:auto;
    position:relative;
  }
  .rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .rail-toggle{
    position:static;
    width:auto;height:auto;
    padding:0;
    border:none;border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--c-ink-3);
    font-size:var(--fs-12);
    line-height:1.4;
  }
  .rail-toggle:hover{color:var(--c-accent);border-color:transparent}
  .app-container.rail-off .rail{
    display:flex;
    flex:0 0 40px;
    width:40px;
    padding:16px 0;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  /* 收起后只剩一条竖排的窄边。声景的两个词跟着进来，竖着排——收起之后还能操作。 */
  .app-container.rail-off .rail > :not(.rail-head):not(.rail-sound){display:none}
  .app-container.rail-off .rail-label{display:none}
  .app-container.rail-off .rail-toggle{writing-mode:vertical-rl;letter-spacing:.12em}
  .app-container.rail-off .rail-sound{
    align-items:center;
    padding:10px 0 0;
    border-top:none;
  }
  .app-container.rail-off .rail-sound .rail-text,
  .app-container.rail-off .rail-sound .rail-mix-bars{display:none}
  .app-container.rail-off .rail-sound-acts{
    flex-direction:row;
    align-items:flex-start;
    gap:6px;
    margin-top:0;
  }
  .app-container.rail-off .rail-act{
    writing-mode:vertical-rl;
    letter-spacing:.04em;
    text-align:center;
  }
}
.rail-card{
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:var(--r-card);
  padding:13px 14px;
}
.rail-label{font-size:var(--fs-11);color:var(--c-ink-3);letter-spacing:.02em}
.rail-value{
  margin-top:4px;
  font-size:24px;
  font-weight:600;
  color:var(--c-ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.rail-sub{margin-top:2px;font-size:var(--fs-11);color:var(--c-ink-2)}
.rail-bar{margin-top:10px;height:4px;border-radius:2px;background:var(--c-line);overflow:hidden}
.rail-bar i{display:block;height:100%;width:0;border-radius:2px;background:var(--c-accent);transition:width .3s ease}
.rail-text{margin-top:6px;font-size:var(--fs-12);color:var(--c-ink);line-height:1.5}
.rail-sound .rail-text{margin-top:8px}
/* 混音竖条：一条轨一根，条高就是这一轨的音量。只读，不在右栏拖。 */
.rail-mix-bars{
  display:flex;
  align-items:flex-end;
  gap:3px;
  height:24px;
  margin-top:8px;
  overflow:hidden;
}
.rail-mix-bars[hidden]{display:none}
.rail-mix-bar{
  display:block;
  width:3px;
  min-height:2px;
  border-radius:1px;
  background:var(--c-accent);
  opacity:.5;
}
.rail-mix-bars.is-off .rail-mix-bar{background:var(--c-ink-3);opacity:.4}
.rail-sound-acts{display:flex;gap:16px;margin-top:8px}
.rail-act{
  margin:0;
  padding:0;
  border:none;
  background:none;
  width:auto;
  color:var(--c-ink-3);
  font-size:var(--fs-12);
  font-weight:400;
  text-align:left;
}
.rail-act:hover{color:var(--c-ink)}
.rail-act:disabled{opacity:.4;cursor:default}
.rail-btn{
  margin-top:10px;
  width:100%;
  padding:8px 10px;
  border-radius:var(--r-row);
  border:1px solid var(--c-line);
  background:var(--c-surface);
  color:var(--c-ink-2);
  font-size:var(--fs-12);
  font-weight:500;
  text-align:left;
}
.rail-btn:disabled{opacity:.45;cursor:default}
.rail-btn:hover{background:var(--c-bg);color:var(--c-accent);border-color:var(--c-line-strong)}
.rail-hint{margin-top:auto;padding:10px 2px 0;font-size:var(--fs-11);color:var(--c-ink-3);line-height:1.6}

/* ============================================================
   桌面端细节修正
   ------------------------------------------------------------
   1) 固定挂件要让开右栏：.tea-sheet-btn / .flash-note-trigger / .fab-add
      都是 position:fixed，右栏占 248px，不让开会压在它上面。
   2) 专注页在桌面上居中，别贴着顶；宽度从 330 放到 360。
   3) 优先级色条从「整条鲜红」收到 3px 淡色，参照图里没有这种重色块。
   ============================================================ */
@media (min-width:1180px){
  .tea-sheet-btn{right:calc(248px + 14px);background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-1);color:var(--c-accent)}
  .flash-note-trigger{right:calc(248px + 20px)}
  .fab-add{right:calc(248px + 18px)}
  .app-container.rail-off .tea-sheet-btn{right:calc(40px + 14px)}
  .app-container.rail-off .flash-note-trigger{right:calc(40px + 20px)}
  .app-container.rail-off .fab-add{right:calc(40px + 18px)}
}
@media (min-width:1024px){
  .focus-page{justify-content:center;padding:24px 24px 32px}
  .focus-container{max-width:400px;gap:28px}
  .mode-switch{background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-1);backdrop-filter:none;-webkit-backdrop-filter:none}
  .mode-chip.active{background:var(--c-accent);color:#fff;box-shadow:none}
}

/* 优先级：只留一条 3px 的细边，颜色降饱和 */
.block[data-priority="high"]{border-left-color:rgba(192,57,43,.55)}
.block[data-priority="medium"]{border-left-color:rgba(186,117,23,.5)}
.block[data-priority="low"]{border-left-color:rgba(55,138,221,.45)}
.task-option[data-priority="high"] .task-option-bar{background:rgba(192,57,43,.55)}
.task-option[data-priority="medium"] .task-option-bar{background:rgba(186,117,23,.5)}
.task-option[data-priority="low"] .task-option-bar{background:rgba(55,138,221,.45)}

/* ============================================================
   图标：线性 SVG 取代彩色 emoji
   ------------------------------------------------------------
   导航本来就是线稿（stroke 1.5），页签与列头却还是 emoji ——
   彩色方块一多，界面就不「简」了。文案一个字没改，只换了图标。
   ============================================================ */
.sub-ico svg,
.ico svg{
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sub-ico svg{width:16px;height:16px}
.ico svg{width:16px;height:16px}
.ico{
  display:inline-flex;
  align-items:center;
  vertical-align:-3px;
  margin-right:7px;
  color:var(--c-ink-3);
}
.sub-tab.active .ico,
.sub-tab.active .sub-ico{color:var(--c-accent)}
@media (min-width:900px){
  .today-page .sub-ico,
  .stats-page .sub-ico{
    display:inline-flex;
    align-items:center;
    color:var(--c-ink-3);
    margin-right:8px;
  }
}
.goal-tags-head .ico,
.pipeline-header .ico,
.board-sched-title .ico{color:var(--c-ink-3)}

/* ---------- 卡片快捷按钮：图标改成线稿，优先级用一枚实心小圆 ---------- */
.quick-btn svg{
  width:13px;height:13px;
  display:inline-block;
  vertical-align:-2px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick-btn .qdot circle{fill:currentColor;stroke:none}
.quick-pri.pri-high{color:#c0392b}
.quick-pri.pri-medium{color:#b4751a}
.quick-pri.pri-low{color:#2f6fb5}
.quick-pri.pri-none{color:var(--c-ink-3)}

/* ---------- 茶渍色带：从墨色改成主色（深浅＝当天强度） ---------- */
.tea-stain i{background:var(--c-accent);opacity:var(--d, .08)}
.tea-stain i{opacity:calc(var(--d, .08) * .72)}

/* ============================================================
   壳与折叠。规则写在 设计-壳与折叠.md，改这里之前先改那份。
   ============================================================ */
.nav-brand,.nav-group-head,.nav-foot{display:none}
@media (max-width:1023px){
  .nav-primary,.nav-foot{display:contents}
  #nav-find{display:none}
  .nav-btn{min-height:44px;padding:8px 2px}
  #nav-focus{order:1}
  #nav-board{order:2}
  #nav-stats{order:3}
  #nav-me{order:4}
}
@media (min-width:1024px){
  .bottom-nav{padding:18px 14px 14px}
  .nav-brand{
    display:block;
    padding:4px 12px 18px;
    font-size:var(--fs-15);
    font-weight:600;
    letter-spacing:.04em;
    color:var(--c-ink);
  }
  .nav-primary,.nav-foot{display:flex;flex-direction:column;gap:2px}
  .nav-primary .nav-btn{padding:11px 12px;font-size:var(--fs-15)}
  .nav-foot{margin-top:auto;padding-top:12px}
  .nav-quiet{color:var(--c-ink-3);font-size:var(--fs-13)}
  .nav-btn.active{background:var(--c-accent-soft);color:var(--c-ink);font-weight:500}
  .nav-btn.active .nav-mark{color:var(--c-accent)}
}

.fold{margin:0 0 12px}
.fold-head{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:var(--r-card);
  color:var(--c-ink);
  font-size:var(--fs-13);
  font-weight:500;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.fold.is-open > .fold-head,
.fold.is-open > .fold-head-row .fold-head{border-bottom-left-radius:0;border-bottom-right-radius:0}
.fold-title{color:var(--c-ink)}
.fold-sum{
  flex:1;
  min-width:0;
  color:var(--c-ink-3);
  font-weight:400;
  font-size:var(--fs-12);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fold-act{margin-left:auto;color:var(--c-ink-3);font-weight:400;font-size:var(--fs-12)}
.fold-body{
  border:1px solid var(--c-line);
  border-top:none;
  border-radius:0 0 var(--r-card) var(--r-card);
  background:var(--c-surface);
  padding:4px 12px 12px;
}
.fold-body[hidden]{display:none}
.fold-head-row{display:flex;align-items:center;gap:8px}
.fold-head-row .fold-head{flex:1;width:auto}
.fold-head-row .ghost-action,.fold-head-row .add-btn{flex:0 0 auto}
.fold-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  padding:12px 14px;
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:var(--r-card);
}
.fold-inline{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  flex:1;
}
.pipeline .fold-body,.soundscape .fold-body,.records-compact .fold-body{border:none;background:transparent;padding:0 0 8px}
.fold-head.sub-tab,
.fold-head.sub-tab.active{
  flex:none;
  width:100%;
  background:var(--c-surface);
  color:var(--c-ink);
  font-weight:500;
  box-shadow:none;
  text-align:left;
}
.sub-layout-flat{flex-direction:column}
.duration-fold-arrow,
.duration-fold[aria-expanded="true"] .duration-fold-arrow{transform:none}
.sched-preview{display:none}
.nav-mark svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nav-group-head.fold-head{
  width:100%;
  background:transparent;
  border:none;
  border-radius:0;
  padding:4px 12px 6px;
  color:var(--c-ink-3);
  font-size:var(--fs-11);
  font-weight:400;
  letter-spacing:.08em;
  box-shadow:none;
}
.nav-group-head .fold-title{color:var(--c-ink-3);font-weight:400}
.duration-fold .fold-act{color:var(--c-ink-3);font-size:var(--fs-12);font-weight:400}

.now-stage{margin:10px 2px 4px}
.task-dock{margin:0;width:100%}
.task-dock-bar{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:4px 8px 4px 12px;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:14px;
}
.task-dock-field{position:relative;flex:1;min-width:0;height:32px}
.task-dock-field input{
  width:100%;
  height:32px;
  padding:0;
  border:none;
  background:transparent;
  color:var(--c-ink);
  font-size:var(--fs-13);
}
.task-dock-field input:focus{outline:none}
.task-dock-field input::placeholder{color:var(--c-ink-3)}
.task-dock-current{
  display:none;
  position:absolute;
  left:0;right:0;top:0;bottom:0;
  align-items:center;
  color:var(--c-accent);
  font-size:var(--fs-13);
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
.task-dock.has-task:not(.has-draft) .task-dock-field:not(:focus-within) .task-dock-current{display:flex}
.task-dock.has-task:not(.has-draft) .task-dock-field:not(:focus-within) input::placeholder{color:transparent}
.task-dock .task-clear{
  width:auto;height:auto;padding:0 2px;
  border:none;border-radius:0;background:none;box-shadow:none;
  color:var(--c-ink-3);font-size:13px;
}
.task-dock .task-clear:hover{background:none;color:#c0392b}
.task-dock-pick{
  flex:none;
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border:none;border-radius:8px;background:none;
  color:var(--c-ink-3);font-size:18px;line-height:1;
}
.task-dock-pick:hover{background:var(--c-accent-soft);color:var(--c-ink)}
.now-compose{
  display:flex;
  align-items:baseline;
  gap:12px;
  border-bottom:1px solid var(--c-line);
}
.now-compose:focus-within{border-bottom-color:var(--c-ink-3)}
.now-compose input{
  flex:1;
  min-width:0;
  height:34px;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  color:var(--c-ink);
  font-size:var(--fs-15);
}
.now-compose input:focus{outline:none}
.now-compose input::placeholder{color:var(--c-ink-3)}
.now-compose-act{
  flex:0 0 auto;
  height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  color:var(--c-ink-3);
  font-size:var(--fs-12);
  font-weight:400;
}
.now-compose-act:hover{color:var(--c-ink)}
.pipeline-now .now-compose{margin:0 16px;padding-top:2px}
.now-stage-list{display:flex;flex-direction:column;margin-top:2px}
.now-stage-list:empty{display:none}
.now-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 2px;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--c-line);
  border-radius:0;
}
.now-row.is-current{background:var(--c-accent-soft);border-bottom-color:transparent;border-radius:8px;padding-left:8px;padding-right:8px}
.now-handle{
  flex:0 0 auto;
  color:var(--c-ink-3);
  cursor:grab;
  touch-action:none;
  user-select:none;
  letter-spacing:-2px;
}
.now-text{
  flex:1;
  min-width:0;
  padding:0;
  border:none;
  background:none;
  color:var(--c-ink);
  font-size:var(--fs-13);
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.now-del{
  flex:0 0 auto;
  margin-left:4px;
  padding:0;
  border:none;
  background:none;
  color:var(--c-ink-3);
  font-size:var(--fs-12);
  font-weight:400;
}
.now-del:hover{color:var(--c-ink-2)}
.now-del:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* ============================================================
   改版二 · 收编（规则写在 设计改版-收编.md）
   ------------------------------------------------------------
   这一轮不动配色、字体、圆角——已有主题，背景与强调色保持原样。
   只收三件事：同一件事被说了两遍、少了那一个主动作、输入还套着盒子。
   ============================================================ */

/* ---------- 1. 侧栏：一颗小圆点在浅底上又标了一次选中 ---------- */
.nav-btn::after{content:none;display:none}

/* ---------- 2. 侧栏唯一的主动作「记一条」 ----------
   一行、撑满栏宽、不是卡片。用描边而不是实心/浅底：
   选中项已经是浅底铺满一行，两行一样的绿会分不清谁在说「当前」、谁在说「可以点」。 */
.nav-act{display:none}
@media (min-width:1024px){
  .nav-act{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    padding:9px 12px;
    margin:0 0 12px;
    border:1px solid rgba(63,107,87,.22);
    border-radius:var(--r-row);
    background:var(--c-surface);
    color:var(--c-accent);
    font-size:var(--fs-13);
    font-weight:500;
    text-align:left;
    transition:background .16s ease,border-color .16s ease;
  }
  .nav-act:hover{background:var(--c-accent-soft);border-color:rgba(63,107,87,.32)}
  .nav-act .nav-mark{width:18px;height:18px;display:flex;align-items:center}
  .nav-act .nav-mark svg{width:18px;height:18px}
  /* 桌面侧栏有「记一条」之后，专注页那颗浮动灯泡是第二个入口 → 收起。
     手机没有侧栏，灯泡留着，它仍是手机上唯一的随手记入口。 */
  .flash-note-trigger{display:none}
}

/* ---------- 3. 看板：一页只留一颗实心 ----------
   四颗实心绿圆散在四个卡片头上，看不出哪颗是这一页的主动作。
   「当前需要完成的」是本来的入口，留实心；其余收成安静的字形 + 。 */
.add-btn{
  width:28px;
  height:28px;
  background:transparent;
  color:var(--c-ink-3);
  border:none;
  border-radius:var(--r-row);
  box-shadow:none;
  font-size:17px;
  font-weight:400;
  transition:background .16s ease,color .16s ease;
}
.add-btn:hover{background:var(--c-accent-soft);color:var(--c-accent);transform:none;box-shadow:none}
.add-btn[data-add="now"]{background:var(--c-accent);color:#fff;box-shadow:none}
.add-btn[data-add="now"]:hover{background:var(--c-accent-dark);color:#fff}

/* ---------- 4. 日程输入不套盒子 ----------
   跟看板 .now-compose 同一套：一条发丝线，右边一个词。 */
#pane-schedule .list-add-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:14px;
  padding:0 0 2px;
  border-bottom:1px solid var(--c-line);
}
#pane-schedule .list-add-row:focus-within{border-bottom-color:var(--c-ink-3)}
#pane-schedule .list-add-input{
  flex:1;
  min-width:0;
  padding:10px 0;
  border:none;
  border-radius:0;
  background:transparent;
  font-size:var(--fs-15);
}
#pane-schedule .list-add-input:focus{border:none;box-shadow:none;outline:none}
#pane-schedule .list-add-btn{
  flex:0 0 auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  color:var(--c-ink-3);
  font-size:var(--fs-12);
  font-weight:400;
}
#pane-schedule .list-add-btn:hover{background:none;color:var(--c-ink)}
#pane-schedule .sched-time{
  width:72px;
  padding:6px 4px;
  border:1px solid var(--c-line);
  border-radius:8px;
  background:transparent;
  font-size:var(--fs-12);
  font-variant-numeric:tabular-nums;
  color:var(--c-ink-2);
}
.day-line{flex-wrap:wrap}
.day-line .fold-title{flex:1 1 8em}
.day-line .ghost-action{
  background:none;
  border:none;
  padding:0;
  box-shadow:none;
  color:var(--c-ink-3);
  font-weight:400;
  font-size:var(--fs-12);
}
.day-line .ghost-action:hover{background:none;color:var(--c-ink)}

/* ---------- 5. 日期条 ----------
   桌面在日期下面横着一条滚动条；两头两个 32×52 的白底方块比日期格还抢眼。 */
.day-strip{scrollbar-width:none;-ms-overflow-style:none}
.day-strip::-webkit-scrollbar{display:none;height:0;width:0}
.day-nav-btn{
  width:24px;
  height:44px;
  background:transparent;
  border:none;
  border-radius:8px;
  box-shadow:none;
  color:var(--c-ink-3);
  font-size:15px;
  font-weight:400;
}
.day-nav-btn:hover{background:transparent;color:var(--c-accent)}
.day-chip .d-n{font-weight:600}

/* ---------- 6. 右栏：三张卡合成一块 ----------
   每组三截：标题、一句事实、一个词。组间一条发丝线，不是三张描边卡。
   那条 4px 进度条删了——「5 盏 · 完成 4 盏」已经说完。 */
@media (min-width:1180px){
  .rail{gap:0;padding:18px 16px}
  .rail-head{padding-bottom:2px}
  .rail-block{padding:14px 0;border-top:1px solid var(--c-line)}
  .rail-block:first-of-type{padding-top:8px;border-top:none}
  .rail-block .rail-text{margin-top:4px}
  .rail-act-open{margin-top:2px;color:var(--c-ink-2)}
  .rail-act-open:hover{color:var(--c-accent)}
  .rail-hint{
    margin-top:0;
    padding:14px 2px 0;
    border-top:1px solid var(--c-line);
  }
}

/* ---------- 7. 「我的」页：12 个彩色 emoji → 同一套线稿 ----------
   36px 的浅绿底方块也去掉：12 个绿方块铺下来，主色就不再是「点」了。 */
.me-row-icon{
  width:36px;
  height:36px;
  border-radius:0;
  background:none;
  color:var(--c-ink-3);
  font-size:0;
}
.me-row-icon svg{
  width:19px;
  height:19px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.danger-card .me-row-icon{color:var(--c-danger)}
.danger-clear-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.danger-clear-btn svg{
  width:15px;height:15px;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}

/* ---------- 8. 洞察卡的「样本少」收声 ----------
   它是边界声明，不是重点：仍然在，但不抢标题。 */
.insight-low{
  font-size:10px;
  color:var(--c-ink-3);
  opacity:1;
  letter-spacing:.04em;
}
