/* 「我的关注」页 watch.html 的样式。v3（2026-09-30）：三组看板（待研究 / 待决定 / 等位置），行右侧两列
   （市值、关注后），名字下第二行是叙事一句话；Mac 可拖拽换组，手机三组纵向排列。
   口径正本：插件交互重做改动清单 §1–§8（统一口径）；布局归工程，设计席可整体重写。
   token 逐字抄自 docs/今天值得看-v10-final.css（看板页的 CSS 内联进 index.html，本页拿不到，只能抄一份）；
   看板那份改了 token，这里要跟着改。
   CSP（public/_headers）只放行本站样式与 Google Fonts：本文件不许 @import 别处的样式。 */
:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --l0:oklch(16% .048 278);
  --l1:oklch(21.5% .052 278);
  --l2:oklch(27% .055 278);
  --l3:oklch(41% .05 278);
  --hair:oklch(100% 0 0/.10);
  --t1:oklch(97% .012 278);
  --t2:oklch(76% .03 278);
  --t3:oklch(58% .032 278);
  --up:oklch(81% .20 152); --down:oklch(72% .23 25); --note:oklch(82% .16 80);
  --s-1:12px; --s0:15px; --s1:19px; --s2:24px; --s3:30px; --s4:37px;
  --r:18px; --r-sm:11px;
  --sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;
  --latin:"Inter","Noto Sans SC","PingFang SC",system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
  /* 「已到位」胶囊：蓝底白字（改动清单 §5 条 22 不用金色）。看板现有的蓝只有图例 .legend b.hot 的
     oklch(72% .20 256)，白字在上面约 2.5:1，不到 4.5:1，所以用 #2563eb（白字 5.17:1）。 */
  --reached:#2563eb;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --l0:oklch(96.5% .015 85); --l1:oklch(99.2% .008 85); --l2:oklch(100% 0 0); --l3:oklch(87% .02 85);
  --hair:oklch(25% .04 278/.12);
  --t1:oklch(24% .03 278); --t2:oklch(48% .032 278); --t3:oklch(64% .03 278);
  --up:oklch(50% .18 152); --down:oklch(52% .22 25); --note:oklch(55% .14 72);
}}
:root[data-theme="light"]{
  --l0:oklch(96.5% .015 85); --l1:oklch(99.2% .008 85); --l2:oklch(100% 0 0); --l3:oklch(87% .02 85);
  --hair:oklch(25% .04 278/.12);
  --t1:oklch(24% .03 278); --t2:oklch(48% .032 278); --t3:oklch(64% .03 278);
  --up:oklch(50% .18 152); --down:oklch(52% .22 25); --note:oklch(55% .14 72);
}

/* 链色：头像底色 + 链标签底/字（设计会话给的定值表；色相与看板链色表 .c-* 的 --h 一致，差 ≤3°，
   2026-09-30 执行员按 OKLCH 换算核过）。两套主题同一组值。 */
.cv-solana   {--av:#785492;--tagbg:#2b1d35;--tagfg:#ae9cbd}
.cv-bsc      {--av:#735a1f;--tagbg:#2c230e;--tagfg:#b0a388}
.cv-base     {--av:#135f71;--tagbg:#0e282f;--tagfg:#8babb4}
.cv-robinhood{--av:#3d6196;--tagbg:#172439;--tagfg:#92a6c3}
.cv-hyperevm {--av:#22756c;--tagbg:#0d2a26;--tagfg:#8aada8}
.cv-ethereum {--av:#64608a;--tagbg:#232232;--tagfg:#a3a2b9}
.cv-arbitrum {--av:#406c87;--tagbg:#162631;--tagfg:#92a8b7}
.cv-ink      {--av:#4a567b;--tagbg:#1f2332;--tagfg:#9da4b9}
.cv-arc      {--av:#875b38;--tagbg:#312013;--tagfg:#b89f8d}
.cv-stable   {--av:#636b42;--tagbg:#232616;--tagfg:#a2a892}
.cv-monad    {--av:#69486b;--tagbg:#2c1f2c;--tagfg:#b09eb1}
.cv-avalanche{--av:#855375;--tagbg:#301d29;--tagfg:#b79bad}
.cv-unichain {--av:#7e425a;--tagbg:#331c25;--tagfg:#bc9aa6}
.cv-other    {--av:#595a62;--tagbg:#232427;--tagfg:#a3a4a8}
/* 亮色主题的链标签（头像不变）：同色相，底 OKLCH 明度 92%、彩度 0.04，字明度 40%、彩度 ≤0.10（超出 sRGB 的
   逐条降彩度到色域内）；字/底对比度逐条核过，7.1–7.6:1。other 无彩（0.01 / 0.02）。 */
.cv-solana{--tagbg-l:#eddef9;--tagfg-l:#58366f}    /* 7.56:1 */
.cv-bsc{--tagbg-l:#f1e3c7;--tagfg-l:#5c4300}       /* 7.33:1 */
.cv-base{--tagbg-l:#c8ecf7;--tagfg-l:#055061}      /* 7.22:1 */
.cv-robinhood{--tagbg-l:#d5e6ff;--tagfg-l:#22477d} /* 7.32:1 */
.cv-hyperevm{--tagbg-l:#c8eee8;--tagfg-l:#01544d}  /* 7.09:1 */
.cv-ethereum{--tagbg-l:#e3e1ff;--tagfg-l:#463d7a}  /* 7.46:1 */
.cv-arbitrum{--tagbg-l:#cde9fd;--tagfg-l:#014d71}  /* 7.24:1 */
.cv-ink{--tagbg-l:#dae4ff;--tagfg-l:#33437d}       /* 7.38:1 */
.cv-arc{--tagbg-l:#fadfcb;--tagfg-l:#6c3803}       /* 7.48:1 */
.cv-stable{--tagbg-l:#e2e9cb;--tagfg-l:#444e02}    /* 7.17:1 */
.cv-monad{--tagbg-l:#f3dcf4;--tagfg-l:#623265}     /* 7.56:1 */
.cv-avalanche{--tagbg-l:#f8dbed;--tagfg-l:#6a2f58} /* 7.57:1 */
.cv-unichain{--tagbg-l:#fcdae6;--tagfg-l:#6f2d4a}  /* 7.59:1 */
.cv-other{--tagbg-l:#e3e4eb;--tagfg-l:#454753}     /* 7.27:1 */
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .chain{color:var(--tagfg-l);background:var(--tagbg-l)}}
:root[data-theme="light"] .chain{color:var(--tagfg-l);background:var(--tagbg-l)}

html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:inherit}
body{margin:0;background:var(--l0);color:var(--t1);font:var(--s0)/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.sheet-open{overflow:hidden}
a{color:inherit;text-decoration:none}
[hidden]{display:none !important}
button{font:inherit}
.page{max-width:1440px;margin:0 auto;padding:40px 32px 72px}

/* 页头：标题 + 「回看板」（与看板页头同一种安静胶囊） */
.head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.head h1{font-size:var(--s4);font-weight:700;line-height:1.15;margin:0;letter-spacing:-.01em}
.head .date{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:var(--s0);color:var(--t2)}
.back{appearance:none;border:1px solid var(--hair);background:var(--l1);color:var(--t2);font:inherit;font-size:var(--s-1);
  padding:5px 13px;border-radius:999px;cursor:pointer;white-space:nowrap}
.back:hover{background:var(--l2);color:var(--t1)}
.back:focus-visible{outline:2px solid var(--t2);outline-offset:2px}

.msg{margin:0 0 14px;font-size:var(--s-1);color:var(--t2)}
.gate{background:var(--l1);border:1px solid var(--hair);border-radius:var(--r);padding:26px 24px}
.gate h2{font-size:var(--s1);margin:0 0 6px}
.gate p{margin:0;color:var(--t2)}

/* ── 三组看板 ───────────────────────────────────────────── */
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.col{background:var(--l1);border:1px solid var(--hair);border-radius:var(--r);padding:16px 12px 8px;min-width:0;min-height:220px;
  transition:background .12s,border-color .12s}
.col.drop-hi{background:var(--l2);border-color:var(--note);box-shadow:inset 0 0 0 1px var(--note)}
.col h2{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:8px;margin:0 0 6px;padding:0 6px;
  font-size:var(--s1);font-weight:700;letter-spacing:-.01em}
.col h2 .n{font-family:var(--latin);font-size:var(--s0);font-weight:500;color:var(--t3);font-variant-numeric:tabular-nums}
/* 表头：与行里两列同宽、右对齐 */
.colhead{justify-self:end;display:grid;grid-template-columns:var(--wm) var(--wc);gap:var(--g);font-size:11px;font-weight:500;color:var(--t3);text-align:right}
.board{--wm:78px;--wc:66px;--g:10px;--av-w:34px}
.empty{margin:10px 6px 14px;font-size:var(--s-1);color:var(--t3)}
.list{list-style:none;margin:0;padding:0}

/* 一行 = 一个币 */
.item{position:relative;border-top:1px solid var(--hair);min-width:0}
.item:first-child{border-top-color:transparent}
.rm{display:grid;grid-template-columns:var(--av-w) minmax(0,1fr) var(--wm) var(--wc);gap:0 var(--g);align-items:center;
  padding:11px 6px;border-radius:12px;cursor:pointer;min-width:0}
.rm:hover{background:color-mix(in oklch,var(--l2) 70%,transparent)}
.rm.dg{-webkit-user-select:none;user-select:none}
body.is-dragging,body.is-dragging .rm{cursor:grabbing}
.rm:focus-visible{outline:2px solid var(--t2);outline-offset:-2px}
.item.dragging{opacity:.45}
body.is-dragging .rm:hover{background:transparent}
.item.flash{animation:flash 2s ease-out}
@keyframes flash{0%,55%{background:color-mix(in oklch,var(--note) 22%,transparent);box-shadow:inset 0 0 0 2px var(--note)}100%{background:transparent;box-shadow:inset 0 0 0 2px transparent}}

.av{width:var(--av-w);height:var(--av-w);border-radius:50%;background:var(--av);color:#fff;display:grid;place-items:center;
  font-family:var(--latin);font-weight:600;font-size:14px;line-height:1;user-select:none}
.nm{min-width:0}
.l1{display:flex;align-items:center;gap:7px;min-width:0}
/* 名字优先（与插件同规则）：名字至少露 8 个字符；空间不够时先收链标签（省略号），加入日期整段藏
   （watch.js fitRows：名字或链标签被截时给 .l1 加 .nodate）。.sym.long = 名字超 8 个字符。 */
/* .l1 不设 overflow:hidden：复制图标的 44×44 点击热区要伸出这一行上下（名字与链标签各自带省略号） */
.sym{font-family:var(--latin);font-weight:600;font-size:16px;line-height:1.25;letter-spacing:-.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.sym.long{min-width:min(100% - 34px,9em)}
.chain{font-family:var(--latin);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.5;
  color:var(--tagfg);background:var(--tagbg);padding:1px 6px;border-radius:5px;white-space:nowrap;
  flex:0 1000 auto;min-width:4em;overflow:hidden;text-overflow:ellipsis}
.added{font-family:var(--latin);font-size:11px;color:var(--t3);white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.l1.nodate .added{display:none}
/* 两行：头像跨两行居中；第二行（叙事一句 / 状态小字 + 行尾 ⌄）从名字那列一直跨到行尾（画布 J1） */
.rm.r2{grid-template-rows:auto auto;row-gap:2px}
.rm.r2>.av{grid-row:1 / 3}
.l2row{grid-column:2 / -1;display:flex;align-items:center;gap:8px;min-width:0;min-height:22px}
.l2{margin-top:2px;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l2row .l2{margin-top:0;flex:1 1 auto;min-width:0}
button.l2{appearance:none;border:0;background:none;padding:0;font-family:inherit;text-align:left;cursor:pointer;display:block}
button.l2:focus-visible{outline:2px solid var(--t2);outline-offset:2px;border-radius:4px}
.l2row .tg.l2{margin:0;cursor:pointer;flex-wrap:nowrap;overflow:hidden}
.l2.story{color:var(--t2)}
.l2.ustate{color:var(--t3);font-size:var(--s-1)}

/* 复制 CA：名字右边的图标，看得见的 18px，点击热区 44×44（负边距伸出去，不撑高这一行） */
.cpy{appearance:none;border:0;background:none;padding:0;width:44px;height:44px;margin:-12px -8px -12px -6px;flex:none;
  display:grid;place-items:center;cursor:pointer;color:var(--t3);position:relative;z-index:1;-webkit-tap-highlight-color:transparent}
.cpy .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cpy:hover{color:var(--t1)}
.cpy.done{color:var(--up)}
.cpy.done .ic{stroke-width:2.2}
.cpy:focus-visible{outline:2px solid var(--t2);outline-offset:-10px;border-radius:14px}
/* 行尾 ⌄：看得见的 28×22 小框，热区伸到 44 宽、32 高；展开时换 ⌃ 并加底色 */
.chev{appearance:none;border:0;background:none;padding:0 6px 0 0;width:44px;height:32px;margin:-5px -6px -5px -8px;flex:none;
  display:flex;align-items:center;justify-content:flex-end;cursor:pointer;color:var(--t3);-webkit-tap-highlight-color:transparent}
.chev-i{width:28px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;padding-right:2px}
.chev .ic{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chev:hover{color:var(--t1)}
.item.open .chev-i{background:var(--l2);color:var(--t2)}
.chev:focus-visible{outline:none}
.chev:focus-visible .chev-i{outline:2px solid var(--t2);outline-offset:1px}
.cliptmp{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;font-size:16px;border:0;padding:0}

/* 行情两列：右对齐、等宽数字 */
.mc,.cg{text-align:right;font-family:var(--latin);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:500}
.mc{color:var(--t1)}
.fdv{margin-left:3px;font-size:9.5px;font-weight:600;letter-spacing:.04em;color:var(--t3);vertical-align:1px}
.cg.up{color:var(--up)}
.cg.down{color:var(--down)}
.na{color:var(--t3);font-weight:400}
.mc.collecting{grid-column:span 2;color:var(--t3);font-family:var(--sans);font-size:var(--s-1);font-weight:400}
[data-tip]{cursor:help}
[data-tip]:focus-visible{outline:2px solid var(--t2);outline-offset:2px;border-radius:4px}

/* 名字下方附行：目标、最新随手记（与名字左对齐） */
.sub{margin:-6px 0 0;padding:0 6px 10px calc(6px + var(--av-w) + var(--g));min-width:0}
.sub p{margin:3px 0 0}
.tg{font-size:12.5px;color:var(--t2);display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;font-variant-numeric:tabular-nums}
.tg .gap{font-family:var(--latin)}
.tg .tv{font-family:var(--latin);color:var(--t1)}
.tg .unset{color:var(--t3)}
.reached{background:var(--reached);color:#fff;font-size:11.5px;font-weight:600;line-height:1.5;padding:0 8px;border-radius:999px;margin-right:4px}
.fix{appearance:none;border:0;background:none;padding:0;color:var(--note);cursor:pointer;font-size:12.5px;text-decoration:underline;text-underline-offset:2px}
.fix:focus-visible{outline:2px solid var(--note);outline-offset:2px;border-radius:3px}
.nt{font-size:13px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item.open .sub .nt{display:none}   /* 展开后随手记全部在下面，不重复最新一条 */
.nt .tm,.nlist .tm{font-family:var(--latin);color:var(--t3);margin-right:6px;font-variant-numeric:tabular-nums;font-size:11.5px}

/* 展开区 */
.ex{padding:2px 6px 14px calc(6px + var(--av-w) + var(--g));min-width:0}
/* 展开区右上角「收起 ⌃」小字按钮 */
.ex-top{display:flex;justify-content:flex-end;margin:-8px 0 0}
.fold{appearance:none;border:0;background:none;padding:8px 0 8px 14px;min-height:36px;display:inline-flex;align-items:center;gap:3px;cursor:pointer;
  font-family:var(--sans);font-size:12px;color:var(--t2);-webkit-tap-highlight-color:transparent}
.fold:hover{color:var(--t1)}
.fold .ic{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fold:focus-visible{outline:2px solid var(--t2);outline-offset:2px;border-radius:4px}
/* 第一排三颗（画布 J3）：去向（主按钮，金色描边）/ 复制 CA / 打开加入时的页面；窄屏字放不下就折成两行 */
.go{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:2px 0 12px}
.gbtn{appearance:none;box-sizing:border-box;min-height:40px;min-width:0;padding:4px 6px;border-radius:8px;background:var(--l2);
  border:1px solid var(--hair);color:var(--t1);font-family:var(--sans);font-size:12.5px;font-weight:500;line-height:1.25;
  display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;cursor:pointer;
  transition:background .12s,border-color .12s;-webkit-tap-highlight-color:transparent}
.gbtn:hover{background:var(--l3)}
.gbtn.primary{background:color-mix(in oklch,var(--note) 12%,transparent);border-color:color-mix(in oklch,var(--note) 55%,transparent);
  color:var(--note);font-weight:700}
.gbtn.primary:hover{background:color-mix(in oklch,var(--note) 20%,transparent)}
.gbtn .ic{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gbtn.done{color:var(--up)}
.gbtn:focus-visible{outline:2px solid var(--t2);outline-offset:2px}
.notes{margin-top:2px}
.nlist{list-style:none;margin:0 0 8px;padding:0}
.nlist li{font-size:13px;line-height:1.5;padding:3px 0;color:var(--t1);overflow-wrap:anywhere}
/* 删随手记（⑦）：每条末尾一个 ×。手机常驻、弱化色，看得见的 14px，点击热区 44×44：每条的行距撑到 44px，
   相邻两条的热区不重叠（只向右伸进留白）；多行的随手记 × 对齐第一行。
   宽屏（>700px）且有悬停的设备（Mac）悬停到那一条才出，键盘聚焦也出，行距回到原样；占位不变，出现时不挤字 */
.nlist li{display:flex;align-items:flex-start;gap:4px;padding:0}
.nlist .nx{flex:1;min-width:0;padding:12px 0}
.ndel{appearance:none;border:0;background:none;padding:0;width:44px;height:44px;margin:0 -14px 0 -6px;flex:none;
  display:grid;place-items:center;cursor:pointer;color:color-mix(in oklch,var(--t3) 75%,transparent);position:relative;
  -webkit-tap-highlight-color:transparent}
.ndel .ic{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ndel:hover{color:var(--t1)}
.ndel:focus-visible{outline:2px solid var(--t2);outline-offset:-12px;border-radius:14px}
@media (hover:hover) and (min-width:701px){
  .nlist li{padding:3px 0}
  .nlist .nx{padding:0}
  .ndel{visibility:hidden;width:28px;height:28px;margin:-3px -6px -3px 0}
  .nlist li:hover .ndel,.ndel:focus-visible{visibility:visible}
  .ndel:focus-visible{outline-offset:-4px;border-radius:6px}
}
.dim{margin:0 0 8px;font-size:var(--s-1);color:var(--t3)}
.nadd{display:flex;align-items:center;gap:8px}
.ninp{flex:1;min-width:0;background:var(--l0);border:1px solid var(--hair);border-radius:10px;color:var(--t1);
  font:inherit;font-size:14px;padding:7px 10px}
.ninp:focus{outline:2px solid color-mix(in oklch,var(--note) 60%,transparent);outline-offset:0}
.cnt{font-family:var(--latin);font-size:11px;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap}
.narr{margin-top:12px;min-width:0}
.nline{margin:0;font-weight:600;line-height:1.55;color:var(--t1)}
.nseg{margin:6px 0 0;font-size:13.5px;color:var(--t2);line-height:1.7;overflow-wrap:anywhere}
.nseg b{font-weight:600;color:var(--t1);margin-right:.5em}
.nseg.raw{white-space:pre-line}
.nwhen{margin:6px 0 0;font-size:11.5px;color:var(--t3)}
.nstate{margin:0;font-size:var(--s-1);color:var(--t2);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.nstate .hint{color:var(--t3)}
.acts{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}

.btn{font-family:var(--sans);font-size:var(--s-1);font-weight:600;background:var(--l2);border:1px solid var(--hair);color:var(--t1);cursor:pointer;
  padding:5px 12px;border-radius:999px;white-space:nowrap;transition:background .12s,color .12s,border-color .12s;flex:none;line-height:1.4}
.btn:hover{background:var(--l3)}
.btn:disabled{opacity:.55;cursor:default}
.btn.quiet{background:transparent;color:var(--t2)}
.btn.quiet:hover{background:var(--l2);color:var(--t1)}
.btn.drop .star{color:var(--note);margin-right:4px}
.btn.primary{background:var(--t1);color:var(--l0);border-color:var(--t1);padding:7px 22px;font-size:14px}
.btn.primary:hover{opacity:.88}
.btn.link{background:transparent;border-color:transparent;color:var(--t2);font-size:14px}
.btn.link:hover{color:var(--t1);background:transparent}
.btn:focus-visible{outline:2px solid var(--t2);outline-offset:2px}

.err{margin:0;padding:0 6px 10px calc(6px + var(--av-w) + var(--g));font-size:var(--s-1);color:var(--down)}

/* 已丢弃：默认收起，可以找回 */
.dropped{margin-top:18px;background:var(--l1);border:1px solid var(--hair);border-radius:var(--r);padding:6px 12px}
.dropped>summary{list-style:none;cursor:pointer;color:var(--t2);font-size:var(--s0);padding:9px 6px;display:flex;align-items:center;gap:8px}
.dropped>summary::-webkit-details-marker{display:none}
.dropped>summary::after{content:"";width:6px;height:6px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.dropped[open]>summary::after{transform:rotate(-135deg) translateY(1px)}
.dropped>summary:hover{color:var(--t1)}
.dropped>summary .n{font-family:var(--latin);color:var(--t3)}
.dropped .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 18px;padding-bottom:6px}
.item.gone .rm{grid-template-columns:var(--av-w) minmax(0,1fr) auto;cursor:default}
.item.gone .rm:hover{background:transparent}
.item.gone .av{opacity:.6}
.item.gone .sym{color:var(--t2);font-size:var(--s0)}
.dropped{--wm:78px;--wc:66px;--g:10px;--av-w:34px}

.foot{margin:18px 0 0;text-align:center;font-size:var(--s-1);color:var(--t3);font-variant-numeric:tabular-nums}

/* 悬停 / 点按提示 */
.tip{position:absolute;z-index:40;background:var(--t1);color:var(--l0);font-size:12px;line-height:1.45;padding:6px 10px;border-radius:8px;
  box-shadow:0 6px 20px oklch(0% 0 0/.25);pointer-events:none}
/* toast：已丢弃 · 撤销 */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:45;
  background:var(--t1);color:var(--l0);font-size:14px;padding:9px 16px;border-radius:999px;box-shadow:0 8px 28px oklch(0% 0 0/.3);white-space:nowrap}
.toast .tic{width:16px;height:16px;margin-right:6px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* 拖拽时跟着指针的小牌 */
.ghost{position:fixed;z-index:60;pointer-events:none;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:12px;
  background:var(--l2);border:1px solid var(--hair);box-shadow:0 10px 28px oklch(0% 0 0/.35);--av-w:26px}
.ghost .av{font-size:12px}
.ghost .sym{font-size:14px}
.toast .undo{appearance:none;border:0;background:none;color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}

/* 问位置的面板：Mac 居中，手机从底部升起 */
.sheet-bg{position:fixed;inset:0;z-index:50;background:oklch(0% 0 0/.45);display:flex;align-items:center;justify-content:center;padding:16px}
.sheet{width:min(420px,100%);background:var(--l1);border:1px solid var(--hair);border-radius:var(--r);padding:20px 20px 16px;
  box-shadow:0 18px 50px oklch(0% 0 0/.35)}
.sheet h2{margin:0;font-size:var(--s1)}
.sheet-coin{margin:2px 0 14px;font-size:var(--s-1);color:var(--t3);font-family:var(--latin)}
.fld{display:block;margin-top:10px}
.fld .lab{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--t2);margin-bottom:5px}
.fld .ref{font-family:var(--latin);color:var(--t3);font-variant-numeric:tabular-nums}
.fld input{width:100%;background:var(--l0);border:1px solid var(--hair);border-radius:10px;color:var(--t1);font:inherit;font-size:16px;padding:9px 12px}
.fld input:focus{outline:2px solid color-mix(in oklch,var(--note) 60%,transparent);outline-offset:0}
.ferr{margin:6px 0 0;font-size:13px;color:var(--down)}
.sheet .cnt{display:block;text-align:right;margin:4px 0 0;min-height:1em}
.sheet-acts{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}

/* ── 窄屏：三组纵向排列，不拖拽 ─────────────────────────── */
@media (max-width:920px){
  .page{padding:24px 16px 64px}
  .head{gap:10px;margin-bottom:12px}
  .head h1{font-size:var(--s3)}
  .board{grid-template-columns:minmax(0,1fr);gap:14px}
  .col{min-height:0;padding:14px 8px 6px}
  .sheet-bg{align-items:flex-end;padding:0}
  .sheet{width:100%;border-radius:var(--r) var(--r) 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
/* 390 宽：两列不折行；折叠掉链标签与加入日期（头像底色仍按链着色） */
@media (max-width:480px){
  .board,.dropped{--wm:70px;--wc:60px;--g:8px;--av-w:30px}
  .av{font-size:13px}
  .l1 .chain,.l1 .added{display:none}
  .item.gone .l1 .chain{display:inline}
  .mc,.cg{font-size:13.5px}
  .dropped .list{grid-template-columns:minmax(0,1fr)}
  /* 三颗按钮每颗约 90px：主按钮的外链小图标让位给字（「去 DexScreener」放不下） */
  .gbtn .ic{display:none}
  .gbtn{padding:4px}
}
@media (prefers-reduced-motion: reduce){.btn,.gbtn,.col,.dropped>summary::after{transition:none}.item.flash{animation:none;outline:2px solid var(--note)}}

/* ── 页壳之三：我的关注入口（看板 CSS 与 watch.css 共用这一段，两边逐字相同） ─────────
   窄屏（≤700px）底部固定标签栏；宽屏不显示底栏，看板页头换成 .watch 胶囊、关注页留「回看板」。
   颜色只用中性 token：当前页 --t1 + 600 字重 + 顶部 2px 指示线（--t1），其余 --t2。
   不用 --note：金色在看板上专指「口径降级」（第三态），导航不借。
   不用 --t3：亮色面上对 --l1 只有约 3.3:1，11px 的字读不清（09-22「灰色的字完全看不清」）。
   z-index 40：高于页面内容，低于 toast（45）与问位置面板（50）；与 .tip（40）同层，
   .tip 由脚本在点按时追加到 body 末尾、DOM 顺序在栏之后，所以提示压在栏上面。 */
.tabbar{display:none}
@media (max-width:700px){
  /* :root 已有 padding-bottom:env(safe-area-inset-bottom)，这里只补栏本身的 56px，合计 = 栏高 */
  body{padding-bottom:56px}
  /* 原来 72px / 64px 的页底留白是给主屏指示条让位的，现在栏替它让了，收到 32px */
  .page{padding-bottom:32px}
  /* scrollIntoView（关注页点到位提醒进来的滚动定位）与键盘聚焦滚动不把目标停在栏后面 */
  html{scroll-padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;
    height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);
    background:var(--l1);border-top:1px solid var(--hair)}
  .tabbar a{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    color:var(--t2);font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.2;letter-spacing:.02em;
    -webkit-tap-highlight-color:transparent}
  .tabbar svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .tabbar a[aria-current="page"]{color:var(--t1);font-weight:600}
  .tabbar a[aria-current="page"]::before{content:"";position:absolute;top:-1px;left:50%;width:28px;height:2px;margin-left:-14px;
    border-radius:0 0 2px 2px;background:var(--t1)}
  .tabbar a:focus-visible{outline:2px solid var(--t2);outline-offset:-4px;border-radius:10px}
  /* 窄屏下页头入口让给底栏：看板的 .watch 胶囊、关注页的「回看板」都不出 */
  .head .watch,.head .back{display:none}
  /* 关注页 toast（已丢弃 · 撤销）：原 bottom 24px 会压在栏上，上移一个栏高 */
  .toast{bottom:calc(56px + 16px + env(safe-area-inset-bottom,0px))}
  /* 关注页行内随手记输入框聚焦时收起栏：iOS 键盘弹出后固定在底部的元素会卡在键盘上沿或随滚动跳动。
     问位置面板（.sheet-bg，z 50）本身盖住整页，不用单独处理 */
  body:has(.ninp:focus) .tabbar{display:none}
}
