/* 半句 · 设计系统 v3
   材质：暗室里的一叠纸。画布是暖黑玻璃，纸是唯一的高光面。
   圆角两档：24（所有面）/ 999（按钮与胶囊）。 */

:root{
  --ink:#F4EFE7;
  --ink-2:#C9BEB3;
  --ink-3:#9C938A;
  --ink-4:#7E766E;
  --surf:rgba(255,255,255,.055);
  --surf-2:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.08);
  --stroke-2:rgba(255,255,255,.14);
  --brand:#F2704B;
  --brand-soft:rgba(242,112,75,.16);
  --warn:#E0A93B;
  --danger:#F2685E;
  --ok:#8FBF9A;
  --paper:#F6F1E8;
  --ink-paper:#1B1815;
  --ink-paper-2:#5F574E;
  --vault:#070707;
  --r:14px;
  --pill:10px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --f-t1:24px;--f-t2:17px;--f-s:15px;--f-m:13px;--f-xs:12px;
  --sh-float:0 30px 80px rgba(0,0,0,.62);
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{margin:0;background:#070606;color:var(--ink);font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:inherit;color:inherit;line-height:inherit}
[hidden]{display:none!important}
button{border:0;background:none;cursor:pointer;padding:0}

/* ---------- 原型外壳 ---------- */
.chrome{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06)}
.chrome-title{font-size:var(--f-m);color:var(--ink-2);letter-spacing:.04em}
.chrome-btn{font-size:var(--f-m);color:var(--ink-2);padding:8px 14px;border-radius:var(--pill);background:var(--surf);border:1px solid var(--stroke)}
.stage{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:28px 20px 40px;
  background:
    radial-gradient(680px 420px at 18% 0%, rgba(242,112,75,.10), transparent 70%),
    radial-gradient(760px 520px at 88% 100%, rgba(120,140,160,.07), transparent 72%),
    #070606}

/* ---------- 手机 ---------- */
.phone{position:relative;width:390px;height:844px;border-radius:44px;overflow:hidden;display:flex;flex-direction:column;
  background:
    radial-gradient(420px 300px at 24% -8%, rgba(242,112,75,.16), transparent 68%),
    radial-gradient(520px 420px at 105% 8%, rgba(140,160,190,.10), transparent 70%),
    linear-gradient(180deg,#151311,#0C0B0A 42%,#0A0908);
  box-shadow:var(--sh-float), 0 0 0 1px rgba(255,255,255,.10), inset 0 0 0 1px rgba(255,255,255,.05)}
.phone.vault{background:radial-gradient(420px 320px at 50% -10%, rgba(242,112,75,.07), transparent 70%),#070707}
.statusbar{height:44px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:var(--f-xs);font-weight:600;color:rgba(255,255,255,.78);letter-spacing:.02em}
.sb-icons{font-size:12px;letter-spacing:2px;color:rgba(255,255,255,.55);line-height:1}

/* ---------- 屏 ---------- */
.screen{position:absolute;inset:44px 0 0;display:none;flex-direction:column;opacity:0;transform:translateY(6px)}
.screen.is-active{display:flex;opacity:1;transform:none;animation:enter 200ms var(--ease)}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- 头部 ---------- */
.hd{flex:none;height:60px;display:flex;align-items:center;gap:var(--s2);padding:0 20px}
.hd h1{font-size:var(--f-t1);font-weight:600;margin:0;letter-spacing:.01em}
.hd h2{font-size:var(--f-t2);font-weight:600;margin:0;color:var(--ink)}
.back{width:34px;height:34px;margin-left:-6px;border-radius:var(--pill);display:grid;place-items:center;font-size:17px;color:var(--ink-2);background:var(--surf)}
.back:active{background:var(--surf-2)}
.hd-act{margin-left:auto;font-size:var(--f-m);color:var(--brand);padding:7px 14px;border-radius:var(--pill);background:var(--brand-soft);border:1px solid rgba(242,112,75,.28)}
.hd-note{margin-left:auto;font-size:var(--f-m);color:var(--ink-3)}

/* ---------- 内容 ---------- */
.body{flex:1;overflow-y:auto;padding:var(--s2) 20px 120px;scrollbar-width:none}
.body::-webkit-scrollbar{display:none}
.ask{font-size:var(--f-m);color:var(--ink-3);margin:var(--s2) 0 var(--s4);letter-spacing:.02em}

.entries{display:flex;flex-direction:column;gap:10px}
.entry{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:0 18px;font-size:var(--f-s);font-weight:500;color:var(--ink);text-align:left;
  border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 6px 18px rgba(0,0,0,.22);
  transition:transform 140ms var(--ease),background 140ms var(--ease)}
.entry:active{transform:scale(.982);background:var(--surf-2)}
.ico{font-style:normal;font-size:15px;color:var(--ink-3)}

.daynote{margin:var(--s5) 0 0;padding-top:var(--s4);border-top:1px solid var(--stroke);font-size:var(--f-m);color:var(--ink-3);line-height:1.6}
.recent{margin-top:var(--s2);font-size:var(--f-m);color:var(--brand);padding:4px 0;text-align:left}

/* ---------- 底栏 ---------- */
.tabbar{position:absolute;left:14px;right:14px;bottom:22px;height:64px;display:flex;align-items:center;padding:0 6px;
  border-radius:var(--pill);background:rgba(28,26,24,.72);border:1px solid var(--stroke);
  -webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6);
  box-shadow:0 18px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08)}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;font-size:var(--f-xs);color:var(--ink-3);border-radius:var(--pill);transition:color 140ms var(--ease),transform 140ms var(--ease)}
.tab:active{transform:scale(.94)}
.tab .ti{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tab.is-on{color:var(--brand)}

/* ---------- 引文 ---------- */
.quote{margin-top:var(--s2);padding:var(--s4);border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke)}
.q-line{font-size:var(--f-s);line-height:1.6;color:var(--ink)}
.q-line b{color:var(--ink-3);font-weight:500;margin-right:var(--s2)}
.q-src{margin-top:var(--s2);font-size:var(--f-xs);color:var(--ink-3)}

/* ---------- 讲解 ---------- */
.note{margin-top:var(--s4)}
.note p{font-size:var(--f-s);line-height:1.72;color:var(--ink-2);margin:0 0 var(--s3)}
.note b{color:var(--ink);font-weight:600}

/* ---------- 草稿：唯一高光面 ---------- */
.drafts{margin-top:var(--s5);display:flex;flex-direction:column;gap:10px}
.draft{position:relative;padding:var(--s4);border-radius:var(--r);background:var(--paper);color:var(--ink-paper);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.draft-h{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}
.pill-tag{font-size:var(--f-xs);font-weight:600;color:#8A3A22;background:rgba(242,112,75,.18);padding:3px 9px;border-radius:var(--pill)}
.draft-when{margin-left:auto;font-size:var(--f-xs);color:var(--ink-paper-2)}
.draft-t{margin:0;font-size:var(--f-s);line-height:1.7;color:var(--ink-paper)}
.draft-a{display:flex;gap:var(--s2);margin-top:var(--s4)}
.draft-fold{height:44px;border-radius:var(--r);border:1px dashed var(--stroke-2);color:var(--ink-3);font-size:var(--f-m)}
.draft-fold:active{background:var(--surf)}

/* ---------- 按钮 ---------- */
.btn-primary{width:100%;height:50px;border-radius:var(--pill);font-size:var(--f-s);font-weight:600;color:#221109;
  background:linear-gradient(180deg,#FF8A63,#EF6440);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 10px 26px rgba(242,112,75,.30);
  transition:transform 140ms var(--ease),filter 140ms var(--ease)}
.btn-primary:active{transform:scale(.985);filter:brightness(.96)}
.btn-primary:disabled{background:var(--surf);color:var(--ink-3);box-shadow:none}
.btn-primary.sm{height:38px;width:auto;padding:0 18px;font-size:var(--f-m)}
.btn-ghost{height:36px;padding:0 16px;border-radius:var(--pill);font-size:var(--f-m);color:var(--ink);background:var(--surf);border:1px solid var(--stroke)}
.btn-ghost:active{background:var(--surf-2)}
.draft .btn-ghost{color:var(--ink-paper);background:rgba(27,24,21,.06);border-color:rgba(27,24,21,.14)}
.btn-ghost.danger{color:var(--danger);border-color:rgba(242,104,94,.4)}
.btn-ghost.wide{width:100%;height:46px}

/* ---------- 表单 ---------- */
.field-label{display:block;font-size:var(--f-xs);color:var(--ink-3);margin:var(--s2) 0}
.field{width:100%;min-height:92px;padding:14px 16px;border-radius:var(--r);font-size:var(--f-s);line-height:1.7;color:var(--ink);background:var(--surf);border:1px solid var(--stroke);resize:none}
.field:focus{outline:none;border-color:rgba(242,112,75,.5);background:var(--surf-2)}
.field-line{width:100%;height:50px;padding:0 16px;border-radius:var(--r);font-size:var(--f-s);line-height:1.6;color:var(--ink);background:var(--surf);border:1px solid var(--stroke)}
.field-line:focus{outline:none;border-color:rgba(242,112,75,.5);background:var(--surf-2)}
#s-profile .btn-primary{margin-top:var(--s6)}
.counts{display:flex;gap:var(--s4);font-size:var(--f-m);color:var(--ink-3);margin:var(--s4) 0 var(--s3)}

/* ---------- 风险 ---------- */
.risk{margin-top:var(--s4);padding:var(--s4);border-radius:var(--r);background:rgba(224,169,59,.08);border:1px solid rgba(224,169,59,.26)}
.risk-h{font-size:var(--f-m);font-weight:600;color:var(--warn);margin:0 0 var(--s2)}
.risk p{font-size:var(--f-m);line-height:1.7;color:var(--ink-2);margin:0 0 var(--s2)}
.risk p:last-child{margin:0}

/* ---------- 复盘 ---------- */
.stat{display:flex;align-items:baseline;gap:var(--s2)}
.stat-n{font-size:44px;font-weight:600;letter-spacing:.01em;color:var(--ink)}
.stat-l{font-size:var(--f-m);color:var(--ink-3)}
.note-p{font-size:var(--f-s);line-height:1.72;color:var(--ink-2)}
.save-card{margin-top:var(--s5);padding:var(--s4);border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke);display:flex;align-items:center;gap:var(--s3)}
.save-card p{margin:0;font-size:var(--f-s);color:var(--ink)}

/* ---------- 导入 ---------- */
.drop{display:block;padding:var(--s5) var(--s4);border-radius:var(--r);border:1px dashed var(--stroke-2);background:var(--surf);text-align:center}
.drop b{display:block;font-size:var(--f-s);color:var(--ink);margin-bottom:var(--s2)}
.drop span{font-size:var(--f-m);color:var(--ink-3);line-height:1.6}
#pickImgs{margin-top:var(--s4)}
#confirmCards{display:flex;flex-direction:column;gap:10px;margin-top:var(--s4)}
.cf{display:grid;grid-template-columns:auto 1fr;gap:0 var(--s4);align-items:start;padding:16px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(18px);color:var(--ink);box-shadow:none}
.cf:not(:has(.cf-imm)){grid-template-columns:1fr}
.cf+.cf{margin-top:10px}
.cf-bd{min-width:0}
.cf-t{font-size:var(--f-s);font-weight:600;line-height:1.6;color:var(--ink);margin:0 0 4px}
.cf-src{font-size:var(--f-xs);line-height:1.6;color:var(--ink-3);margin:0}
.cf-a{grid-column:1/-1;display:flex;gap:8px;margin-top:14px}
.cf-a button{height:36px;padding:0 16px;border-radius:var(--pill);font-size:var(--f-m);background:rgba(255,255,255,.06);color:var(--ink);border:1px solid rgba(255,255,255,.14)}

/* ---------- Wiki ---------- */
.wcard{position:relative;padding:16px 18px;border-radius:var(--r);background:var(--paper);color:var(--ink-paper);box-shadow:0 8px 24px rgba(0,0,0,.34)}
.wbar{display:none}
.wbar.ok{background:#7FA383}.wbar.warn{background:#C9922F}.wbar.danger{background:#C2604F}
.wc-body{display:block;text-align:left;width:100%}
.wc-t{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:17px;font-weight:500;line-height:1.65;color:var(--ink-paper);margin:0 0 5px}
.wc-d{font-size:13px;line-height:1.7;color:var(--ink-paper-2);margin:0 0 11px}
.wc-m{display:flex;align-items:center;gap:8px;font-size:12px;color:#8A8078}
.chip{font-style:normal;font-size:12px;line-height:1;padding:5px 9px;border-radius:var(--pill);background:rgba(0,0,0,.05);color:#5F574E}
.chip.ok{background:rgba(88,130,96,.14);color:#47694F}
.chip.warn{background:rgba(178,126,36,.15);color:#8A6117}
.chip.danger{background:rgba(168,72,56,.13);color:#8E4335}
.entry-title{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:22px;font-weight:500;line-height:1.6;color:var(--ink-paper);margin:0 0 var(--s2)}

/* ---------- 分段 ---------- */
.seg{display:flex;gap:4px;padding:4px;border-radius:var(--pill);background:var(--surf);border:1px solid var(--stroke);margin-top:var(--s3)}
.seg-i{flex:1;height:36px;border-radius:var(--pill);font-size:var(--f-m);color:var(--ink-2);background:transparent;transition:background 140ms var(--ease),color 140ms var(--ease)}
.seg-i.is-on{background:linear-gradient(180deg,#FF8A63,#EF6440);color:#221109;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.seg-3 .seg-i.is-on[data-scope="public"]{background:#6E9B77;color:#08130B}
.seg-3 .seg-i.is-on[data-scope="never"]{background:#CF6B5A;color:#1B0806}
.hint{margin-top:var(--s3);font-size:var(--f-m);line-height:1.6;color:var(--ink-3)}
.meta-row{display:flex;justify-content:space-between;padding:var(--s3) 0;border-bottom:1px solid var(--stroke);font-size:var(--f-m);color:var(--ink-2)}
.meta-row span:last-child{color:var(--ink)}

/* ---------- 设置 ---------- */
.row{width:100%;height:60px;display:flex;align-items:center;gap:var(--s3);font-size:var(--f-s);color:var(--ink);border-bottom:1px solid var(--stroke);text-align:left}
.row span{flex:1}
.row i{font-style:normal;color:var(--ink-3);font-size:17px}

/* ---------- 树洞 ---------- */
.v-line{max-width:78%;padding:11px 15px;border-radius:var(--r);border-bottom-left-radius:8px;font-size:var(--f-s);line-height:1.7;background:var(--surf);color:var(--ink);margin-bottom:10px;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.v-line.me{margin-left:auto;background:rgba(242,112,75,.22);border-bottom-left-radius:var(--r);border-bottom-right-radius:8px;color:#FFE9DF}
.v-input{flex:none;margin:0 14px 26px;height:52px;border-radius:var(--pill);padding:0 18px;background:rgba(255,255,255,.07);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.v-input input{width:100%;height:100%;background:none;border:0;outline:none;font-size:var(--f-s);color:var(--ink)}
.v-input input::placeholder{color:var(--ink-3)}
.v-send{width:56px;height:36px;border-radius:var(--pill);background:var(--brand-soft);color:var(--brand);border:1px solid rgba(242,112,75,.3)}
.v-clear{margin:0 20px var(--s4);font-size:var(--f-xs);color:var(--ink-3);padding:6px 0}

/* ---------- 账本 ---------- */
.ledger{display:flex;flex-direction:column;gap:10px;margin-top:var(--s4)}
.lg{padding:var(--s4);border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke)}
.lg-h{display:flex;align-items:center;gap:var(--s2);font-size:var(--f-xs);color:var(--ink-3)}
.lg-h b{color:var(--ink-2);font-weight:500}
.lg-st{margin-left:auto;color:var(--ok)}
.lg-st.rev{color:var(--danger)}
.lg-t{margin:var(--s2) 0 var(--s1);font-size:var(--f-s);line-height:1.65;color:var(--ink)}
.lg-src{font-size:var(--f-xs);color:var(--ink-3)}

/* ---------- 弹层 ---------- */
.sheet-wrap{position:absolute;inset:0;z-index:30;display:flex;align-items:flex-end;background:rgba(6,5,4,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.sheet{width:100%;padding:var(--s4) 20px 30px;border-radius:var(--r);background:rgba(30,27,25,.96);border-top:1px solid var(--stroke-2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);animation:up 240ms var(--ease)}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.sheet-t{font-size:var(--f-t2);font-weight:600;margin:0 0 var(--s2)}
.sheet-p{font-size:var(--f-m);line-height:1.7;color:var(--ink-2);margin:0 0 var(--s4)}
.sheet-a{display:flex;gap:var(--s2)}
.sheet-a .btn-primary{flex:1}
.sheet-a .btn-ghost{flex:none}

/* ---------- toast ---------- */
.toast{position:absolute;left:50%;top:84px;z-index:40;transform:translateX(-50%);padding:10px 18px;border-radius:var(--pill);font-size:var(--f-m);color:var(--ink);white-space:nowrap;
  background:rgba(40,36,33,.86);border:1px solid var(--stroke-2);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:enter 160ms var(--ease)}

/* ---------- 平板预览 ---------- */
.tablet{display:none;flex-direction:column;align-items:center}
body[data-view="tablet"] .phone{display:none}
body[data-view="tablet"] .tablet{display:flex}
.tab-os{position:relative;width:1000px;height:600px;border-radius:var(--r);overflow:hidden;
  background:radial-gradient(600px 400px at 20% 10%, rgba(242,112,75,.10), transparent 70%),radial-gradient(700px 500px at 90% 90%, rgba(120,140,160,.08), transparent 72%),#0A0908;
  border:1px solid var(--stroke);box-shadow:var(--sh-float)}
.tab-wall{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.04),transparent 60%)}
.tab-win{position:absolute;left:305px;top:50px;width:390px;height:500px;border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,#171513,#0C0B0A);border:1px solid var(--stroke-2);box-shadow:var(--sh-float)}
.tab-win-bar{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:var(--f-m);color:var(--ink-2);border-bottom:1px solid var(--stroke)}
.tab-win-bar .dots{font-size:12px;letter-spacing:3px;color:var(--ink-3);line-height:1}
.tab-win-body{position:relative;height:calc(100% - 40px)}
.mini .ask{margin-bottom:var(--s3)}
.mini .entry{min-height:52px;font-size:var(--f-m)}
.tab-cap{margin-top:var(--s3);font-size:var(--f-m);color:var(--ink-3)}

/* 品牌主张行 */
.brandline{margin:2px 0 20px;font-size:13px;color:var(--brand);letter-spacing:.06em}
.drop p{margin:0 0 8px}
.drop p:last-child{margin:0}

/* 状态栏 */
.sb-status{display:flex;align-items:center;gap:7px}
.sb-bars{display:flex;align-items:flex-end;gap:2px}
.sb-bars i{display:block;width:3px;border-radius:var(--pill);background:currentColor;opacity:.8;font-style:normal}
.sb-bat{display:block;width:22px;height:11px;padding:1.5px;border:1px solid rgba(255,255,255,.45);border-radius:var(--pill)}
.sb-bat i{display:block;height:100%;width:74%;border-radius:var(--pill);background:rgba(255,255,255,.85)}

/* 首页：进行中的一段 */
.now{margin-top:var(--s5);padding:var(--s4);border-radius:var(--r);background:var(--paper);color:var(--ink-paper);box-shadow:0 14px 34px rgba(0,0,0,.44)}
.now-h{display:flex;align-items:center;gap:var(--s2)}
.ava{width:30px;height:30px;flex:none;border-radius:var(--pill);display:grid;place-items:center;font-size:var(--f-xs);font-weight:600;color:var(--paper);background:#3B342C}
.now-n{font-size:var(--f-s);font-weight:600;color:var(--ink-paper)}
.now-t{font-size:var(--f-xs);color:var(--ink-paper-2)}
.now-h .pill-tag{margin-left:auto}
.now-q{margin:var(--s4) 0 var(--s1);font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:17px;line-height:1.6;color:var(--ink-paper)}
.now-c{margin:0 0 var(--s4);font-size:var(--f-m);line-height:1.6;color:var(--ink-paper-2)}
.now .btn-primary{width:auto;padding:0 18px;box-shadow:none}

/* 修正 */
.wc-t,.wc-d,.wc-m{display:block}
.v-input{display:flex;align-items:center;gap:var(--s2)}
.v-input input{flex:1}
.v-line.me{background:rgba(242,112,75,.30);color:#FFEDE4}
.v-day{text-align:center;font-size:var(--f-xs);color:var(--ink-3);margin:var(--s1) 0 var(--s4)}
.brandline{color:rgba(242,112,75,.92);font-size:12px}
.wcard{display:block;width:100%}
.brandline{color:var(--ink-3)}
.now .pill-tag{background:rgba(27,24,21,.07);color:var(--ink-paper-2)}
.ledger-link{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--stroke);width:100%;text-align:left;font-size:var(--f-m);color:var(--ink-3);line-height:1.6}
.draft-a .btn-primary{width:auto;padding:0 18px;height:36px;font-size:var(--f-m)}
.shots{flex:none;display:flex;align-items:flex-start;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px var(--s4) 2px;margin:0 -2px;scrollbar-width:none}
.shots::-webkit-scrollbar{display:none}
.shot{position:relative;flex:0 0 auto;margin:0;scroll-snap-align:start;width:96px;height:124px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:var(--surf);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(12,10,9,.62);color:#fff;font-size:13px;line-height:24px;text-align:center;padding:0}
.shot-add{flex:0 0 auto;width:96px;height:124px;border-radius:20px;border:1px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);color:var(--ink-3);font-size:22px}
.shot-n{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.6;color:#F6F1E8;background:rgba(12,10,9,.58);backdrop-filter:blur(8px)}
.cf-imm{width:56px;height:72px;border-radius:14px;object-fit:cover;display:block;border:0;float:none;margin:0}
/* ---------- 对话详情 ---------- */
.chat-hd{flex:none;height:64px;display:flex;align-items:center;gap:var(--s3);padding:0 16px;
  background:rgba(22,20,18,.72);-webkit-backdrop-filter:blur(28px) saturate(1.5);backdrop-filter:blur(28px) saturate(1.5);
  border-bottom:1px solid var(--stroke);position:relative;z-index:2}
.chat-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chat-who b{font-size:var(--f-t2);font-weight:600;color:var(--ink);line-height:1.6}
.chat-who span{font-size:var(--f-xs);color:var(--ink-3);line-height:1.6}
.chat-body{flex:1;overflow-y:auto;padding:var(--s4) 16px 8px;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s2);scrollbar-width:none}
.chat-body::-webkit-scrollbar{display:none}
.chat-day{align-self:center;font-size:var(--f-xs);color:var(--ink-3);margin:var(--s2) 0 var(--s1);letter-spacing:.04em}
.msg{display:flex;gap:var(--s2);align-items:flex-end;max-width:84%}
.msg p{margin:0;padding:11px 15px;font-size:var(--f-s);line-height:1.65;color:var(--ink);
  border-radius:20px;background:var(--surf-2);border:1px solid var(--stroke);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.msg.in p{border-bottom-left-radius:7px;border-top-left-radius:20px}
.msg-ava{flex:none;width:26px;height:26px;border-radius:var(--pill);display:grid;place-items:center;
  font-size:var(--f-xs);color:#E9DFD2;background:#3B342C;margin-bottom:2px}
.msg.out{align-self:flex-end;flex-direction:row-reverse}
.msg.out p{border-bottom-right-radius:7px;border-top-right-radius:20px;
  background:rgba(242,112,75,.15);border-color:rgba(242,112,75,.22);color:#FFE7DC}
.msg.ai{flex-direction:column;align-items:flex-end;gap:6px}
.msg.ai p{background:rgba(242,112,75,.15);border-color:rgba(242,112,75,.22);border-bottom-right-radius:7px;color:#FFE7DC}
.msg-ai{align-self:flex-end;font-size:var(--f-xs);color:#FFB79E;letter-spacing:.02em;padding:5px 11px;border-radius:var(--pill);background:rgba(242,112,75,.12);border:1px solid rgba(242,112,75,.18)}
.quick-row{flex:none;display:flex;gap:var(--s2);padding:var(--s2) 16px;overflow-x:auto;scrollbar-width:none}
.quick-row::-webkit-scrollbar{display:none}
.quick{flex:none;height:34px;padding:0 14px;border-radius:var(--pill);font-size:var(--f-m);color:var(--ink-2);
  background:var(--surf);border:1px solid var(--stroke-2);transition:transform 140ms var(--ease),background 140ms var(--ease)}
.quick:active{transform:scale(.96);background:var(--surf-2)}
.composer{flex:none;display:flex;align-items:center;gap:var(--s2);margin:0 12px 14px;padding:7px 7px 7px 10px;height:54px;
  border-radius:var(--pill);background:rgba(28,26,24,.86);border:1px solid var(--stroke-2);
  -webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 12px 28px rgba(0,0,0,.4)}
.composer input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:var(--f-s);line-height:1.6;outline:none}
.composer input::placeholder{color:var(--ink-3)}
.cmp-btn{flex:none;width:34px;height:34px;border-radius:var(--pill);display:grid;place-items:center;
  font-size:18px;color:var(--ink-2);background:var(--surf)}
#phone:has(#s-chat.is-active) .tabbar{display:none}

.chat-hd .back{font-size:22px;line-height:1;padding-bottom:2px}
.chat-hd .hd-act{display:flex;align-items:center;gap:6px;font-size:var(--f-xs);color:var(--ink-2);
  background:var(--surf);border-color:var(--stroke-2);padding:6px 12px}
.chat-hd .hd-act::before{content:'';width:6px;height:6px;border-radius:var(--pill);background:var(--ok)}

/* ---------- 首页重排 ---------- */
.hd-home{height:auto;align-items:flex-end;padding:8px 20px 4px}
.hd-id{display:flex;flex-direction:column;gap:2px}
.brand{margin:0;font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:30px;font-weight:600;line-height:1.6;color:var(--ink)}
.brandline{font-size:var(--f-xs);color:var(--ink-3);line-height:1.6}
.entries{background:var(--surf);border:1px solid var(--stroke);border-radius:var(--r);overflow:hidden;
  -webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.28);gap:0;margin-bottom:var(--s4)}
.entry{background:transparent;border:0;border-radius:0;box-shadow:none;min-height:58px;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.entry+.entry{border-top:1px solid var(--stroke)}
.entry:active{background:var(--surf-2);transform:none}
.ico{font-size:16px;line-height:1;color:var(--ink-3)}
.ledger-link{padding:0 0 var(--s2)}
.hd-home{align-items:center}
.stats{display:flex;gap:var(--s2);margin:var(--s2) 0 var(--s4)}
.stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:14px var(--s3);border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.stat b{display:block;font-size:22px;font-weight:600;line-height:1.6;color:var(--ink);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:2px;font-size:var(--f-xs);color:var(--ink-3);line-height:1.6}

.hd-stack{height:auto;align-items:center;padding:6px 20px 14px}
.hd-sub{font-size:12px;color:var(--ink-3);line-height:1.6}
.hd h1{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:26px;font-weight:600;letter-spacing:0}
.review-banner{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 var(--s4);padding:13px 16px;
  border-radius:var(--r);text-align:left;background:rgba(242,112,75,.10);border:1px solid rgba(242,112,75,.22)}
.rb-n{flex:none;width:26px;height:26px;border-radius:var(--pill);display:grid;place-items:center;
  font-size:12px;font-weight:600;color:#FFD9CB;background:rgba(242,112,75,.28)}
.rb-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink);line-height:1.6}
.rb-t em{font-style:normal;font-size:12px;color:var(--ink-3)}
.rb-a{flex:none;font-size:12px;color:#FFB79E}

.more-link{width:100%;margin:var(--s3) 0 var(--s5);padding:10px 0;font-size:12px;color:var(--ink-3)}
.hd-note{font-size:12px}

.msg-ai.thinking{color:var(--ink-3);background:var(--surf);border-color:var(--stroke);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}

.quote{padding:12px 16px;margin-bottom:var(--s4);border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke)}
.quote-n{display:block;font-size:12px;color:var(--ink-3);line-height:1.6;margin-bottom:4px}
.quote p{margin:0;font-size:var(--f-s);line-height:1.65;color:var(--ink-2)}
.draft-why{margin:0 0 12px;font-size:12px;line-height:1.6;color:#8A8078}
.draft-why::before{content:'·';margin-right:6px;color:#C9922F}
.btn-primary.sm{width:auto;padding:0 18px;height:38px;font-size:13px;border-radius:var(--pill)}
.btn-ghost.sm{flex:none;width:auto;padding:0 18px;height:38px;font-size:13px;border-radius:var(--pill)}
/* 回一句：纸上按钮与风险块 */
.draft .btn-primary{height:38px;padding:0 18px;font-size:13px;border-radius:var(--pill);
  background:var(--brand);box-shadow:none;color:#1B120E;font-weight:600}
.draft .btn-primary:active{transform:scale(.96);filter:brightness(.94)}
.risk{background:var(--surf);border:1px solid var(--stroke);border-radius:var(--r);padding:15px 16px}
.risk-h{display:flex;align-items:center;gap:7px;color:#E8C687}
.risk-h::before{content:'';width:6px;height:6px;border-radius:var(--pill);background:var(--warn);flex:none}
#s-reply .hd-act{color:var(--ink-2);background:var(--surf);border-color:var(--stroke-2)}

.row-danger span{color:var(--danger)}
.me-foot{margin:var(--s4) 0 0;font-size:12px;line-height:1.7;color:var(--ink-3)}
.me-ava{box-shadow:none;background:rgba(242,112,75,.18);border:1px solid rgba(242,112,75,.26);color:#FFD9CB}

.v-body{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s2);padding-bottom:var(--s3)}
.v-line.me{background:rgba(255,255,255,.07);border:1px solid var(--stroke);color:var(--ink)}
.v-line{background:transparent;border:1px solid var(--stroke-2);color:var(--ink-2)}
.hd-dark .hd-act{color:var(--ink-3);background:transparent;border-color:var(--stroke)}
.hd-dark .hd-act:active{color:var(--ink)}
#s-vault .v-send{background:var(--brand);color:#1B120E;border-color:transparent;font-weight:600}

.lg-day{margin:var(--s3) 0 var(--s2);font-size:12px;color:var(--ink-3);line-height:1.6}
.lg-day:first-child{margin-top:0}
.lg-mode{font-size:12px;line-height:1;padding:5px 8px;border-radius:var(--pill);color:var(--ink-2);background:rgba(255,255,255,.06)}
.lg-src{cursor:pointer;color:#C9A87A}
.withdraw{display:block;margin:var(--s3) 0 0 auto;padding:8px 14px;font-size:12px;color:var(--danger);background:transparent;border:1px solid rgba(242,104,94,.24);border-radius:var(--pill);width:auto}
.lg-foot{margin:var(--s3) 0 0;font-size:12px;line-height:1.7;color:var(--ink-3)}

.drop{padding:var(--s5) var(--s4);gap:10px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:var(--r);border:1px dashed var(--stroke-2);background:rgba(255,255,255,.03)}
.drop b{font-size:17px;font-weight:600;color:var(--ink);line-height:1.6}
.drop span{font-size:13px;color:var(--ink-3);line-height:1.7}
.drop .btn-primary{margin-top:var(--s3);width:auto;padding:0 26px;height:44px;font-size:15px;border-radius:var(--pill);box-shadow:none}
.privacy{margin:var(--s3) 0 var(--s5);font-size:12px;line-height:1.7;color:var(--ink-3);text-align:center}
#s-import .body{display:flex;flex-direction:column;justify-content:center;padding-bottom:12vh}

.seg-i.is-on{background:#1B1815;color:var(--paper)}
.delete-line{display:block;width:100%;margin:var(--s5) 0 0;padding:12px;font-size:13px;color:var(--ink-3);background:transparent;border:0}
.delete-line:active{color:var(--danger)}
#s-wiki-detail .hd-act{color:var(--ink-2);background:var(--surf);border-color:var(--stroke)}
.screen-dark .seg-i.is-on{background:rgba(255,255,255,.92);color:#15120F}
.screen-dark .paper{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5), 0 12px 30px rgba(0,0,0,.35)}

.draft .draft-why{color:var(--ink-3)}
.draft .draft-why::before{color:var(--brand)}
.q-who{color:var(--ink-3);font-weight:600;margin-right:6px}
.save-card{display:flex;flex-direction:column;gap:var(--s3)}
.save-card p{margin:0}
.save-card .draft-a{display:flex;gap:10px;align-items:stretch}
.save-card .btn-primary{flex:1;width:auto;white-space:nowrap}
.save-card .btn-ghost{flex:none;width:auto;padding:0 22px;white-space:nowrap}
#s-review .stat{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:14px 16px;border-radius:var(--r);background:var(--surf);border:1px solid var(--stroke)}
#s-review .stat-n{font-size:12px;font-weight:400;color:var(--ink-3);letter-spacing:0}
#s-review .stat-l{font-size:17px;font-weight:600;color:var(--ink);line-height:1.6}
.screen-dark .btn-primary{box-shadow:0 6px 18px rgba(242,112,75,.18)}
.drafts-extra{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s2)}
.drafts-extra[hidden]{display:none}
.draft .draft-why{color:#8A7F71}
.drafts-extra .draft .draft-a .btn-ghost{flex:1}

#s-wiki .body{padding-bottom:104px}
#s-wiki .review-banner{margin-bottom:var(--s3)}

/* 记忆卡：纸面层次 + 更大标题，卡片之间靠留白不靠线 */
#s-wiki .wcard{padding:18px 20px;border-radius:26px;box-shadow:0 10px 26px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.55)}
#s-wiki .wcard+.wcard{margin-top:12px}
#s-wiki #wikiList{display:flex;flex-direction:column}
#s-wiki .wc-t{font-size:18px;line-height:1.7;margin-bottom:6px}
#s-wiki .wc-d{font-size:13px;margin-bottom:13px;color:#7C7268}
#s-wiki .wc-m{font-size:12px;gap:9px}
#s-wiki .chip{white-space:nowrap}

/* 顶栏模式胶囊：玻璃感 + 档位小圆点，不做第二个主按钮 */
.hd-act{color:var(--ink-2);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);padding:8px 14px;backdrop-filter:blur(8px);display:inline-flex;align-items:center;gap:7px}

#gearChip[data-gear="L3"]::before{background:var(--warn)}
#gearChip[data-gear="L4"]::before{background:var(--danger)}
#gearChip[data-gear="L1"]::before{background:var(--ink-3)}

#s-wingman .hd-stack{padding-bottom:6px}
#s-wingman .brandline{margin-bottom:12px}
#s-wingman .now{margin-top:var(--s4)}


.reply-hint{margin:var(--s5) 0 0;text-align:center;font-size:13px;line-height:1.7;color:var(--ink-4)}

#gearChip::before{content:'';width:6px;height:6px;border-radius:var(--pill);background:var(--ok);flex:none}
#gearChip{display:inline-flex;align-items:center;gap:7px}

/* 我：玻璃分组卡 + 纸片选中态 */
#s-me .me-hd{display:flex;align-items:center;gap:14px;margin:2px 20px 18px;padding:0;background:none;border:0;border-radius:0}
#s-me .me-ava{width:44px;height:44px;flex:none;border-radius:12px;background:#1D1915;color:var(--ink-2);font-size:17px;font-weight:600;display:grid;place-items:center;box-shadow:none}
#s-me .me-name{font-size:17px;font-weight:600;line-height:1.6}
#s-me .me-s{font-size:12px;color:var(--ink-3);line-height:1.6;margin-top:2px}
#s-me .me-s b{font-weight:600;color:var(--ink-2)}
#s-me .me-go{margin-left:auto;font-size:15px;color:var(--ink-4)}
#s-me .body{padding-top:var(--s3)}
#s-me .field-label{margin-bottom:10px}
#s-me .seg{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:3px;border-radius:12px;gap:2px}
#s-me .seg-i{height:36px;border-radius:9px;font-size:14px;color:var(--ink-2);background:transparent;border:0}
#s-me .seg-i.is-on{background:var(--paper);color:var(--ink-paper);box-shadow:none}
#s-me .hint{margin:12px 2px var(--s4)}
#s-me .row{height:auto;min-height:54px;margin:0;padding:15px 0;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;background:none;font-size:15px}
#s-me .row i{font-style:normal;font-size:13px;color:var(--ink-3)}
#s-me .row-danger{border-bottom-color:rgba(194,96,79,.22);color:var(--danger)}
#s-me .me-foot{margin-top:var(--s4);text-align:center;font-size:12px;color:var(--ink-4)}

#s-ledger .lg-src{font-size:12px;line-height:1.7;color:#8A7F71}
#s-ledger .lg-mode{font-size:12px;padding:2px 9px;border-radius:var(--pill);background:rgba(255,255,255,.09);color:var(--ink-2);letter-spacing:0}
#s-ledger .lg-foot{font-size:12px;line-height:1.75;color:var(--ink-4)}

/* 导入：竖屏空态居中，玻璃虚线卡，图标用 CSS 画 */
#s-import .body{display:flex;flex-direction:column;justify-content:flex-start;padding-top:0;padding-bottom:80px}
#s-import .drop{width:100%;border-radius:28px;padding:30px 22px 26px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.035)}
#s-import .drop-ico{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);margin-bottom:16px;position:relative}
#s-import .drop-ico::before{content:'';position:absolute;left:13px;top:16px;width:26px;height:20px;border-radius:5px;border:1.5px solid rgba(255,255,255,.5)}
#s-import .drop-ico::after{content:'';position:absolute;left:24px;top:9px;width:8px;height:5px;border-radius:3px 3px 0 0;background:rgba(255,255,255,.5)}
#s-import .drop .btn-primary{margin-top:18px}
#s-import .privacy{margin-top:16px;text-align:left;font-size:12px;line-height:1.8;color:var(--ink-4);padding:0 4px}

#s-import #confirmCards{display:flex;flex-direction:column;gap:12px}
#s-import .cf{background:rgba(255,255,255,.055);border-radius:22px;padding:16px;border:1px solid rgba(255,255,255,.10);box-shadow:none;backdrop-filter:blur(18px)}
#s-import .cf-t{font-size:16px;font-weight:600;line-height:1.6;color:#F4EDE3;margin:0 0 4px}
#s-import .cf-d{font-size:12px;line-height:1.7;color:#9C9288;margin:0 0 12px}
#s-import .cf .btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.16);color:#EDE5DA;height:36px;padding:0 16px}
#s-import .cf .btn-primary.sm{background:var(--brand);color:#1B120E;box-shadow:none}
#s-import .cf .btn-ghost.yes{background:var(--brand);color:#1B120E;border-color:var(--brand);box-shadow:none;font-weight:600}
#s-import .cf .btn-ghost.yes.done{background:transparent;font-weight:400;color:#9C9288;border-color:rgba(255,255,255,.16)}
#s-import .body{padding-bottom:60px}

/* 复盘：一张卡一段，底部给出这轮的位置 */
#s-review .body{padding-top:var(--s3);padding-bottom:28px}
#s-review .rv-card{margin:0 0 12px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075)}
#s-review .rv-meta{margin:0 0 8px;font-size:12px;line-height:1.6;color:var(--ink-4)}
#s-review .rv-h{margin:0 0 8px;font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:22px;line-height:1.65;color:var(--ink)}
#s-review .rv-p{margin:0;font-size:14px;line-height:1.8;color:var(--ink-2)}
#s-review .save-card{margin:var(--s3) 0 0;border-radius:24px}
#s-review .save-card p{font-size:14px;line-height:1.7}
#s-review .rv-foot{margin-top:var(--s4);display:flex;align-items:center;justify-content:space-between;gap:12px}
#s-review .rv-foot span{font-size:12px;line-height:1.7;color:var(--ink-4)}
#s-review .rv-foot .btn-ghost{flex:none;height:36px;font-size:13px}

#s-review .rv-trend{margin:var(--s3) 0 0;padding:14px 18px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:flex;align-items:baseline;gap:10px}
#s-review .rv-trend b{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:22px;color:var(--ink);line-height:1}
#s-review .rv-trend span{font-size:12px;line-height:1.7;color:var(--ink-3)}

/* 树洞：对话贴底、气泡按内容收窄、发送键回到中性 */
#s-vault .body{display:flex;flex-direction:column;justify-content:flex-end;padding-top:0;padding-bottom:16px;gap:0}
#s-vault .v-log{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;padding-bottom:8px}
#s-vault .v-line{width:fit-content;max-width:78%;padding:12px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:var(--ink);font-size:15px;line-height:1.75;margin-bottom:12px}
#s-vault .v-line.me{margin-left:auto;border-bottom-right-radius:8px;background:rgba(242,112,75,.16);border-color:rgba(242,112,75,.22);color:#FFE7DC}
#s-vault .v-line:not(.me){border-bottom-left-radius:8px}
#s-vault .v-input{margin:0 16px 20px;height:52px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
#s-vault .v-send{width:38px;height:38px;border-radius:var(--pill);background:rgba(255,255,255,.10);color:var(--ink);border:1px solid rgba(255,255,255,.12);font-size:15px}
#s-vault .v-time{font-size:12px;text-align:center;color:var(--ink-4);margin:0 0 14px}

/* 档位提示紧贴主按钮上方：动手前一刻知道现在谁在发 */
#s-reply .gear-line{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;font-size:12px;line-height:1.7;color:var(--ink-4)}
#s-reply .gear-line b{color:var(--ink-2);font-weight:500}
#s-reply .gear-line span{width:5px;height:5px;border-radius:50%;background:var(--ink-4);flex:none;margin-top:7px}
#s-reply .gear-line[data-gear="L3"] span,#s-reply .gear-line[data-gear="L4"] span{background:var(--brand)}

/* 回复状态：一条状态行，四种结局 */
.reply-state{
  display:flex;align-items:center;gap:8px;margin:12px 2px 14px;
  font-size:12.5px;line-height:1.6;color:var(--ink-2);
  animation:stateIn .22s ease-out both;
}
.reply-state .dot{width:6px;height:6px;border-radius:3px;background:var(--ink-3);flex:0 0 auto;margin-top:7px}
.reply-state[data-kind="confirm"] .dot{background:var(--brand)}
.reply-state[data-kind="sent"] .dot{background:#4E8F6A}
.reply-state[data-kind="blocked"] .dot{background:var(--warn)}
.reply-state[data-kind="sent"]{color:var(--ink)}
@keyframes stateIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reply-state{animation:none}}
.reply-state .state-act{
  margin-left:auto;height:26px;padding:0 12px;border-radius:999px;
  border:1px solid var(--stroke-2);background:rgba(255,255,255,.06);
  color:var(--ink);font-size:12px;line-height:1;
}
.reply-state .state-act:disabled{opacity:.5}
.reply-state[data-kind="withdrawn"] .dot{background:var(--ink-3)}
#drafts-reply.is-sent .draft-a .btn-primary{display:none}
#shotList[hidden]{display:none}
.cf{flex:none}

/* 首页：人物条、场景胶囊、记忆计数条 */
.me-strip{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;margin:0 0 20px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid var(--stroke);text-align:left;transition:background 140ms var(--ease),transform 140ms var(--ease)}
.me-strip:active{transform:scale(.985);background:rgba(255,255,255,.08)}
.me-strip-ava{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#1B120E;background:linear-gradient(150deg,#F08A63,#E4573C)}
.me-strip-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.me-strip-t b{font-size:15px;font-weight:600;color:var(--ink);line-height:1.6}
.me-strip-t i{font-style:normal;font-size:12px;line-height:1.6;color:var(--ink-3)}
.me-strip-go{flex:none;font-size:18px;line-height:1;color:var(--ink-4)}
.chips{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:2px 18px 6px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;height:44px;padding:0 20px;border-radius:var(--pill);background:rgba(255,255,255,.06);border:1px solid var(--stroke);color:var(--ink);font-size:var(--f-m);line-height:1.6;white-space:nowrap;transition:background 140ms var(--ease),transform 140ms var(--ease)}
.chip:active{transform:scale(.97);background:rgba(255,255,255,.12)}
.statbar{display:flex;margin-top:26px;padding:18px 0;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid var(--stroke)}
.statbar-i{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.statbar-i+.statbar-i{border-left:1px solid var(--stroke)}
.statbar-i b{font-size:24px;font-weight:600;line-height:1.6;color:var(--ink);font-variant-numeric:tabular-nums}
.statbar-i span{font-size:12px;line-height:1.6;color:var(--ink-3)}

#s-wingman .chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0;row-gap:10px}
#s-wingman .chip{height:42px;padding:0 18px}

/* ---------- v4 去 AI 味：暗面改实色、去毛玻璃、收窄圆角 ---------- */
.cf,.tabbar,.hd-act,.sheet,.v-input,.ledger-link,.me-strip,.statbar,.now,.chip,.seg,.sheet-wrap{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.cf,.me-strip,.statbar,.ledger-link,.seg{background:#14120F!important}
.chip{background:#17140F!important;border:1px solid rgba(255,255,255,.07)!important}
.tabbar{background:rgba(13,12,10,.94)!important;border:1px solid rgba(255,255,255,.07)!important}
.hd-act{background:#17140F!important;border:1px solid rgba(255,255,255,.08)!important}
.me-strip-ava{background:#1E1A16!important;color:var(--brand)!important}
.btn-primary,.btn-ghost,.chip,.seg-i{border-radius:10px!important}
.btn-primary{height:48px}
.btn-ghost{height:38px;border-color:rgba(255,255,255,.10)}
.sheet{border-radius:16px 16px 0 0!important;background:#181512!important}
.now{border-radius:12px}
.statbar-i b{font-size:22px;font-weight:500}
/* 去卡片汤：能靠排版说清的地方不套盒子 */
.me-strip{background:transparent!important;border:0!important;border-radius:0!important;padding:2px 0 6px!important}
.me-strip-ava{width:42px;height:42px;border-radius:11px!important;font-size:16px}
.me-strip-t b{font-size:15px;font-weight:600}
.statbar{background:transparent!important;border:0!important;border-top:1px solid rgba(255,255,255,.07)!important;border-bottom:1px solid rgba(255,255,255,.07)!important;border-radius:0!important;padding:16px 0!important}
.statbar-i+.statbar-i{border-left:1px solid rgba(255,255,255,.07)}
.statbar-i b{font-size:21px;font-weight:500}
.chip{height:38px!important;padding:0 14px!important;background:transparent!important;border:1px solid rgba(255,255,255,.13)!important;font-size:13px}
.now{border-radius:16px!important}
.now .btn-primary.sm{height:36px;border-radius:9px!important}
.tabbar{border-radius:18px!important}
/* now 卡：动作降为文字级，阴影减一档 */
.now{box-shadow:0 2px 10px rgba(0,0,0,.28)!important}
.now .btn-primary.sm{background:transparent!important;color:#C4462B!important;height:30px!important;padding:0!important;font-size:13px;font-weight:600}
.now .btn-primary.sm::after{content:"›";margin-left:4px}
.now-h{margin-bottom:2px}
.pill-tag{background:rgba(27,24,21,.06)!important;color:var(--ink-paper-2)!important;border:0!important}
.ledger-link{border-top:0!important;background:transparent!important;padding:14px 0 0!important;color:var(--ink-4)!important}
.me-strip-ava{background:#1C1814!important;color:var(--ink-2)!important}
/* 记忆列表：轻纸片，去掉糖块圆角 */
.wcard{border-radius:12px!important;padding:14px 16px!important;margin:0 0 8px!important;box-shadow:none!important}
.wc-t{font-size:16px!important;line-height:1.6!important;margin:0 0 3px!important;font-weight:600}
.wc-d{font-size:12px!important;line-height:1.6!important}
.wc-m{font-size:12px!important;margin-top:8px!important}
.wbar{width:2px!important;border-radius:2px}
.review-banner{border-radius:12px!important;border-color:rgba(255,255,255,.08)!important}
.tabbar{background:#0D0C0A!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
