/* ---------- 阅读（第 3 版）：一张纸；问一句和异议写在页边。读的时候只留纸上这一套返回 ---------- */
.sheet{position:fixed;right:0;top:var(--top);bottom:0;z-index:20;background:var(--paper);color:var(--paper-ink);box-shadow:-40px 0 90px rgba(0,0,0,.5),-1px 0 0 var(--line);transform:translateX(40px);opacity:0;pointer-events:none;visibility:hidden;transition:transform .42s var(--ease),opacity .32s var(--ease),visibility 0s linear .42s;display:flex}
[data-look="day"] .sheet{box-shadow:-1px 0 0 var(--line),-24px 0 60px rgba(20,20,20,.08)}
.sheet.on{transform:none;opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}
.sheet.classic{left:50%;right:auto;transform:translateX(-50%) translateY(12px);border-radius:18px 18px 0 0;top:calc(var(--top) + 12px);box-shadow:var(--shadow),0 0 0 1px var(--line)}
.sheet.classic.on{transform:translateX(-50%)}
body.reading .crumbs,body.reading .legend,body.reading .tools,body.reading .since,body.reading .hint{display:none}
.sh-in{flex:1 1 auto;overflow:auto;padding:0 0 160px}
.sh-top{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:10px;padding:10px 24px;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);font-size:var(--f2)}
.sh-top .back{margin:0}
.sh-top .crumb{flex:1 1 auto;min-width:0;margin:0}
.doc{max-width:1000px;padding:44px 56px 0 72px}
.doc .kline{margin-bottom:10px;display:flex;gap:8px;align-items:center}
.doc h1{font:500 var(--f6)/1.42 var(--serif);margin:4px 0 14px;max-width:660px}
.doc .meta{font-size:var(--f1);color:var(--ink3);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:36px}
.doc .meta a{color:var(--ink2)}
.doc .meta .ail{color:var(--ink2)}
.want{max-width:640px;margin:-12px 0 30px;padding:12px 16px;border-radius:var(--r-s);background:var(--fill);font-size:var(--f3);line-height:1.75}
.want .lab{display:block;font-size:var(--f1);color:var(--q);margin-bottom:2px}
.want .wst{display:block;font-size:var(--f1);color:var(--ink3);margin-top:6px}
.body{position:relative}
.para{position:relative;max-width:980px;padding-right:310px}
.para p{margin:0 0 1.2em;font:400 var(--f4)/2 var(--serif);max-width:640px}
.rev{max-width:640px;margin:-6px 0 1.3em;padding:10px 14px;border-radius:var(--r-s);background:var(--fill);font-size:var(--f3);line-height:1.75;color:var(--ink)}
.rev .lab{display:block;font-size:var(--f1);color:var(--ink3);margin-bottom:2px}
.para .mg{position:absolute;left:668px;top:0;width:236px;z-index:2;display:flex;flex-direction:column;gap:10px;padding-top:6px}
.body .ph{font:400 var(--f3) var(--sans);color:var(--ink3)}
mark.dq{background:none;color:inherit;border-bottom:1.5px dotted color-mix(in srgb,var(--warn) 70%,transparent);cursor:pointer;padding-bottom:1px;transition:background .2s}
mark.dq.qa{border-bottom-color:color-mix(in srgb,var(--q) 70%,transparent)}
mark.dq:hover,mark.dq.on{background:color-mix(in srgb,var(--warn) 12%,transparent)}
mark.dq.qa:hover,mark.dq.qa.on{background:color-mix(in srgb,var(--q) 12%,transparent)}
.mk{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--warn) 50%,transparent);padding:2px 0 2px 12px;color:var(--ink2);transition:box-shadow var(--dur)}
.mk .n{font-size:var(--f1);color:var(--warn)}
.mk .q{font-size:var(--f2);color:var(--ink3);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mk.qa{box-shadow:inset 2px 0 0 color-mix(in srgb,var(--q) 50%,transparent)}.mk.qa .n{color:var(--q)}
.mk:hover,.mk.on{box-shadow:inset 2px 0 0 var(--warn)}.mk.qa:hover,.mk.qa.on{box-shadow:inset 2px 0 0 var(--q)}
.mk.on .q{color:var(--ink2)}
.plus{width:28px;height:28px;border-radius:50%;background:var(--fill);color:var(--ink3);font-size:15px;line-height:28px;opacity:0;transition:opacity .2s}
.para:hover .plus,.plus:focus-visible{opacity:1}
@media (hover:none){.plus{opacity:.8}}
/* 展开的讨论放在这一段下面，把后面的推开，不盖住别的 */
.dthread{margin:4px 0 24px;max-width:640px;border-radius:var(--r-l);padding:16px 18px;background:var(--paper2);font-size:var(--f3);line-height:1.7;animation:jyfade .25s var(--ease)}
[data-look="day"] .dthread{box-shadow:0 0 0 1px var(--line)}
.de{padding:2px 0}
.de.rp{margin:12px 0 0;padding:12px 0 0 14px;box-shadow:inset 1px 0 0 var(--line2)}
.de.gone,.cm.gone{color:var(--ink3);font-size:var(--f2);font-style:italic}
.dh{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.dh .pl{color:var(--ink);font-size:var(--f2);font-weight:500}
.au{font-size:var(--f1);color:var(--ink2);background:var(--fill);border-radius:5px;padding:0 6px}
.st{display:inline-flex;align-items:center;gap:5px;font-size:var(--f1);line-height:20px;color:var(--ink2)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st.neg{color:var(--warn)}.st.add{color:var(--fol)}.st.pos{color:var(--ok)}.st.q{color:var(--q)}
.chg{font-size:var(--f1);color:var(--ok)}
.ver{font-size:var(--f1);color:var(--ink3);background:var(--fill);border-radius:5px;padding:0 6px}
.gov{margin-left:auto}
.dq3{font-size:var(--f2);color:var(--ink2);margin:0 0 8px;padding-left:10px;box-shadow:inset 2px 0 0 var(--line2)}
.dv{margin:6px 0;color:var(--ink)}
.dv .lab{display:block;font-size:var(--f1);color:var(--ink3);margin-bottom:1px}
.dv.faint{color:var(--ink2)}
.dv a{text-decoration:underline;text-underline-offset:3px}
.da{display:flex;gap:16px;margin-top:10px;font-size:var(--f2);flex-wrap:wrap}
.da button,.da a{color:var(--ink2)}
.da button:hover,.da a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dform{border-radius:var(--r-l);padding:16px 16px 14px;background:var(--paper2);margin-top:12px}
[data-look="day"] .dform{box-shadow:0 0 0 1px var(--line)}
.dform .dq2{font-size:var(--f2);color:var(--ink3);margin-bottom:12px;line-height:1.6}
.dform .dq2 b{font-weight:400;color:var(--ink)}
.dform .radios{margin-bottom:10px}
.dform .field{margin-bottom:12px}
.dform .field textarea,.dform .field input{font-size:var(--f3);padding:9px 11px;min-height:0}
/* 选中一句：两个按钮在选区下方，主按钮实底 */
.margin-float{position:absolute;display:none;z-index:6;gap:6px;padding:5px;border-radius:12px;background:var(--panel2);box-shadow:var(--shadow),0 0 0 1px var(--line)}
.margin-float.on{display:flex;animation:jyfade var(--dur) var(--ease)}
.margin-float.form{right:24px;left:auto!important;width:360px;top:120px!important;position:fixed;display:block;padding:0;background:none;box-shadow:none}
.margin-float.form .dform{margin:0;background:var(--panel2);box-shadow:var(--shadow),0 0 0 1px var(--line)}
.dhint{font-size:var(--f2);color:var(--ink3);margin:6px 0 32px;max-width:640px}
.next{max-width:640px;margin:12px 0 34px}
.next h4,.comments h4{font:400 var(--f1) var(--sans);color:var(--ink3);margin:0 0 10px}
/* 评论：和往来里的聊天用同一套头像、名字和时间 */
.comments{max-width:640px;padding-top:28px;margin-top:12px;box-shadow:inset 0 1px 0 var(--line)}
.cm{display:flex;gap:12px;padding:16px 0;box-shadow:inset 0 -1px 0 var(--line);font-size:var(--f3);line-height:1.75}
.cm-b{flex:1 1 auto;min-width:0}
.cm .ch2{font-size:var(--f1);color:var(--ink3);margin-bottom:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cm .ch2 a{color:var(--ink);font-size:var(--f2);font-weight:500}
.cm.rp{box-shadow:none;padding:12px 0 0}
.cm.rp.helped .ct{box-shadow:inset 2px 0 0 color-mix(in srgb,var(--ok) 60%,transparent);padding-left:10px}
.cm .rpl{margin-top:8px;display:inline-block}
.cform{display:flex;gap:10px;align-items:flex-end;margin-top:14px}
.cform textarea{flex:1;border:1px solid transparent;border-radius:var(--r-l);background:var(--fill);padding:10px 14px;font-size:var(--f3);resize:vertical;min-height:46px}
.cform textarea:focus{border-color:var(--line2);background:var(--paper2)}
.cform.sm{margin-top:10px}.cform.sm textarea{min-height:38px;font-size:var(--f2)}
body.reading .card{display:none}
/* 纸比 1000 窄的时候（笔记本常见的 1180～1366 宽）：正文收窄一点，页边的问一句、异议还在纸里，不出横向滚动条、不被切掉 */
.sh-in{container-type:inline-size}
@media (min-width:1101px){@container (max-width:984px){
  .doc{padding-left:48px;padding-right:24px}
  .para{padding-right:0}
  .para p,.rev,.dthread{max-width:min(562px,calc(100% - 268px))}
  .para .mg{left:auto;right:0}
}}
@media (max-width:1100px){.sheet{left:0;width:auto!important}.sheet.classic{left:0;transform:none;border-radius:0}.sheet.classic.on{transform:none}.doc{padding:28px 22px 0}.para{padding-right:0}.para .mg{position:static;width:auto;flex-direction:row;flex-wrap:wrap;margin:-6px 0 16px}.mk{box-shadow:none;border-bottom:1.5px dotted var(--warn);padding:0 0 2px}.mk.qa{border-bottom-color:var(--q)}.margin-float.form{left:10px!important;right:10px;width:auto;top:auto!important;bottom:74px;max-height:70vh;overflow:auto}}
@media (max-width:760px){.sheet{bottom:calc(58px + env(safe-area-inset-bottom))}.doc h1{font-size:25px}.para p{font-size:17px;line-height:1.95}.sh-top{padding:8px 12px;flex-wrap:wrap}.sh-top .crumb{display:none}.cform textarea{font-size:16px}}

/* ---------- 经典：同一张天的文字版 ---------- */
.classic{max-width:1240px;padding-top:18px}
.c-head{display:flex;align-items:center;gap:12px;font-size:var(--f2);margin-bottom:22px;flex-wrap:wrap}
.c-head .back{margin:0}
.c-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:48px}
.c-grid.solo{grid-template-columns:minmax(0,1fr)}
.c-idx{position:sticky;top:18px;align-self:start;display:flex;flex-direction:column;gap:2px}
.c-idx a{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:10px;color:var(--ink2);font-size:var(--f3)}
.c-idx a:hover{background:var(--hover);color:var(--ink);text-decoration:none}
.c-idx a.on{color:var(--ink);background:var(--hover)}
.c-idx .nm{flex:1 1 auto}
.c-idx .me,.dotme{color:var(--acc);font-size:10px}
.c-idx-sep{height:1px;background:var(--line);margin:10px}
.c-idx-dir{font-size:var(--f1);color:var(--ink3);letter-spacing:.06em;padding:12px 11px 2px}
.c-inds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:18px 0 6px}
.c-atlas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin-top:30px}
.c-reg{border-top:1px solid var(--line);padding-top:18px}
/* 新目录：有几个区的大方向，在它的区前面写一行方向名 */
.c-dirh{grid-column:1/-1;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:14px 0 -16px}
.c-dirh .nm{font:500 var(--f3) var(--sans);color:var(--ink3);letter-spacing:.08em}
.c-dirh .bl{font-size:var(--f2);color:var(--ink3)}
.c-rn{display:block;font:500 var(--f5) var(--serif);letter-spacing:.03em;color:var(--ink)}
.c-rb{font-size:var(--f2);color:var(--ink2);margin:6px 0 12px}
.c-kl{display:flex;flex-wrap:wrap;gap:6px 16px}
.c-kl a{font-size:var(--f3);color:var(--ink2)}
.c-kl a.me{color:var(--acc-ink)}
.c-kws{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:26px}
.c-kw{border-top:1px solid var(--line);padding:18px 0 22px}
.c-kh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.c-kn{font:500 var(--f4) var(--serif);color:var(--ink);letter-spacing:.02em}
.c-kb{font-size:var(--f2);color:var(--ink2);margin:4px 0 12px}
.c-ss{display:flex;flex-direction:column;gap:7px}
.c-ss a{font-size:var(--f3);color:var(--ink);line-height:1.6}
.c-cols{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;margin-top:22px}
.c-sline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.c-sline a{font-size:var(--f2);padding:6px 12px;border-radius:var(--r-s);background:var(--fill);color:var(--ink2);display:inline-flex;align-items:center;transition:background var(--dur),color var(--dur)}
.c-sline a:hover{text-decoration:none;color:var(--ink);background:var(--fill2)}
.c-sline a.on{background:var(--fill2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink3)}
.c-sline a.on .qm{border-color:var(--ink)}
.c-sort{display:flex;gap:16px;align-items:center;font-size:var(--f2);margin-bottom:6px}
.c-sort button{color:var(--ink3)}.c-sort button.on{color:var(--ink)}
.c-sort span{margin-right:auto}
.c-side .sec:first-child{margin-top:0}
@media (max-width:1000px){.c-grid{grid-template-columns:1fr;gap:18px}.c-idx{position:static;flex-direction:row;flex-wrap:wrap}.c-idx a{padding:5px 10px}.c-idx-sep{display:none}.c-cols{grid-template-columns:1fr}.c-atlas,.c-kws{grid-template-columns:1fr}}

/* ---------- 写 ---------- */
.w-kind{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 8px}
.w-kind .lb{grid-column:1/-1;font-size:var(--f2);color:var(--ink2)}
.w-kind .lb b{color:var(--warn);font-weight:400;margin-left:4px}
.kopt{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--r-l);cursor:pointer;background:var(--paper);box-shadow:0 0 0 1px transparent;transition:box-shadow var(--dur),background var(--dur)}
.kopt:hover{background:var(--paper2)}
.kopt input{position:absolute;opacity:0}
.kopt:focus-within{outline:2px solid var(--acc);outline-offset:2px}
.kopt .k1{font:500 var(--f4) var(--serif)}
.kopt .k2{font-size:var(--f2);color:var(--ink3)}
.kopt.on{box-shadow:0 0 0 1.5px var(--ink)}
.w-kind .err{grid-column:1/-1}
.w-form{margin-top:18px}
.w-ti{width:100%;border:0;border-bottom:1px solid var(--line2);background:transparent;font:500 26px/1.5 var(--serif);padding:8px 0}
.w-ti:focus{border-bottom-color:var(--ink3)}
.w-want{margin-top:14px}
.w-body,.w-prev{width:100%;min-height:46vh;border:0;border-radius:0;background:transparent;margin-top:14px;padding:12px 0 18px;font:400 var(--f4)/2 var(--serif);color:var(--ink);resize:vertical}
.w-body:focus{outline:none}
.w-body::placeholder{color:var(--ink3)}
.w-find{margin-top:10px;width:320px;max-width:100%;height:38px;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);padding:0 12px;font-size:var(--f2)}
.w-find:focus{border-color:var(--line2)}
/* 这篇在回答哪个问题：问题是空心圈，勾上变实心；最多两条。候选、答案是一行输入 */
.w-qs{display:flex;flex-direction:column;gap:2px;margin:10px 0 6px}
.w-qs>.faint{font-size:var(--f1);margin-bottom:2px}
.qopt{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:36px;padding:7px 10px;border-radius:var(--r-s);font-size:var(--f2);color:var(--ink2);cursor:pointer;line-height:1.55}
.qopt::before{content:'';flex:0 0 auto;width:9px;height:9px;margin-top:6px;border-radius:50%;border:1.3px solid var(--ink2)}
.qopt:hover{background:var(--fill);color:var(--ink)}
.qopt input{position:absolute;opacity:0;width:1px;height:1px}
.qopt:focus-within{outline:2px solid var(--acc);outline-offset:2px}
.qopt.on{color:var(--ink);background:var(--fill)}
.qopt.on::before{background:var(--ink2)}
.w-cq,.w-ck{margin-top:8px}
.w-cq input,.w-ck input,.w-ans input{width:100%;max-width:520px;height:38px;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);padding:0 12px;font-size:var(--f2)}
.w-cq input:focus,.w-ck input:focus,.w-ans input:focus{border-color:var(--line2)}
.w-ans{margin-top:14px}
.w-ags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}
.w-ags>.faint{flex:1 1 100%;font-size:var(--f1)}
.c-ags{margin:4px 0 18px;max-width:760px}
/* 管主题：一条候选一块：上面一行是挂在哪、几篇、原帖；中间是原话；下面是能做的事 */
.cu-sec{max-width:880px}
.cus{display:flex;flex-direction:column}
.cu{border-top:1px solid var(--line);padding:16px 0 18px;display:flex;flex-direction:column;gap:8px}
.cu-m{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:var(--f1)}
.cu-k{color:var(--ink2)}
.cu-t{font:500 var(--f4) var(--serif);color:var(--ink);line-height:1.5}
.cu-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cu-a select{height:32px;width:300px;max-width:100%;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);color:var(--ink);padding:0 10px;font-size:var(--f2)}
.cu-a select:focus{border-color:var(--line2)}
.cu-list{white-space:pre-wrap;background:var(--fill);border-radius:var(--r-s);padding:12px 14px;font-size:var(--f2);color:var(--ink2)}
/* 10-04 站内小改：从内测反馈来的候选——一个小标“来源：内测反馈”，后面是那条反馈（能点回去）、状态、几个赞；这句话已经搜得到时提醒一句 */
.cu-src{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2);font-size:var(--f1);white-space:nowrap}
.cu-fb .lk{font-size:var(--f1)}
.cu-al{margin:-2px 0 0;font-size:var(--f1);color:var(--ink3)}
/* 阅读页：它在答哪个问题、作者的答案 */
.doc .qa{display:flex;flex-direction:column;gap:4px;margin:14px 0 22px;font-size:var(--f2);color:var(--ink2);line-height:1.6}
.doc .qa .lab{color:var(--ink3);margin-right:10px}
.doc .qa a{color:var(--ink2);display:inline-block;padding:4px 0}
.doc .qa .sep{color:var(--ink4);margin:0 8px}
.linkish{display:inline-flex;align-items:center;min-height:26px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink4);font-size:var(--f1)}
/* 正文上面一行小工具：怎么写、预览 */
.w-tools{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:var(--f1);color:var(--ink3)}
.w-tools .linkish{padding:0 4px}
.w-tools+.w-body,.w-tools+.w-body+.w-prev{margin-top:2px}
.w-pub{font-size:var(--f2);color:var(--ink2);margin-top:8px}.w-pub .lab{color:var(--ink3);margin-right:8px}
/* 发出去一直在底下：写长了不用滚回去找；左边写清哪些会公开、草稿存没存上 */
.wrap.w-page{padding-bottom:0}
.w-else{margin-top:26px}
.w-bar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px -20px 0;padding:14px 20px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line)}
.w-bar-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.w-bar .w-pub{margin:0;font-size:var(--f1);color:var(--ink2)}
.w-st{font-size:var(--f1);color:var(--ink3)}
.w-bar .err{margin:0}
.w-bar .err:empty{display:none}
@media (max-width:760px){.w-kind{grid-template-columns:1fr}.wrap.w-page{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.w-bar{bottom:calc(58px + env(safe-area-inset-bottom));margin:20px -16px 0;padding:10px 16px;gap:12px}body:has(.w-bar) .tw{display:none}}

/* ---------- 工作台（第 3 版）：左栏 + 这件事 + 窗。一件事一屏：下一步是全页最大的字；左边材料，右边本子 ---------- */
.bench{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - var(--top))}
.bench.side-mini{grid-template-columns:64px minmax(0,1fr)}
.bench.side-hidden{grid-template-columns:0 minmax(0,1fr)}
.bench.win-on{grid-template-columns:252px minmax(0,1fr) 340px}
.bench.side-mini.win-on{grid-template-columns:64px minmax(0,1fr) 340px}
.bench.side-hidden.win-on{grid-template-columns:0 minmax(0,1fr) 340px}
.b-rail{padding:16px 10px 16px;position:sticky;top:0;align-self:start;height:calc(100vh - var(--top));display:flex;flex-direction:column;gap:2px;overflow:auto;background:var(--bg2);box-shadow:1px 0 0 var(--line)}
.b-top{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px 10px}
.b-title{font:500 var(--f4)/1.3 var(--serif)}
.b-title:hover{text-decoration:none}
.b-new{padding:0 0 6px}
.b-new input{width:100%;height:36px;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);padding:0 12px;font-size:var(--f2)}
.b-new input:focus{border-color:var(--line2);background:var(--paper)}
.b-sec{display:flex;flex-direction:column;gap:2px;margin:8px 0 6px}
.b-lab{font-size:var(--f1);color:var(--ink3);padding:4px 10px}
.b-job{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--r-s);color:var(--ink);transition:background var(--dur)}
.b-job .bj{font-size:var(--f2);line-height:1.45;font-weight:500}
.b-job .bn{font-size:var(--f1);color:var(--ink3);line-height:1.45}
.b-item{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:var(--r-s);font-size:var(--f2);color:var(--ink2);text-align:left;width:100%;transition:background var(--dur),color var(--dur)}
.b-item .i{color:var(--ink3)}
.b-item span:first-of-type{flex:1 1 auto;min-width:0}
.b-item .c{font-size:var(--f1);color:var(--ink3)}
.b-job:hover,.b-item:hover{background:var(--hover);text-decoration:none;color:var(--ink)}
.b-job.on,.b-item.on{background:var(--fill2);color:var(--ink)}
.b-item.on .i{color:var(--ink)}
.b-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:12px;box-shadow:0 -1px 0 var(--line)}
.b-hide{color:var(--ink3)}
.b-rail.mini{padding:16px 8px}.b-rail.mini .b-title,.b-rail.mini .b-new,.b-rail.mini .b-lab,.b-rail.mini .bn,.b-rail.mini .b-item span,.b-rail.mini .b-item .c{display:none}
.b-rail.mini .b-top{justify-content:center;padding:2px 0 10px}
.b-rail.mini .b-job{align-items:center;padding:10px 0}.b-rail.mini .b-job .bj{font-size:0}.b-rail.mini .b-job .bj::first-letter{font-size:var(--f3)}
.b-rail.mini .b-item{justify-content:center;padding:0;position:relative}.b-rail.mini .b-item .unread{position:absolute;right:2px;top:0}
.b-show{position:fixed;left:12px;top:calc(var(--top) + 12px);z-index:6;background:var(--glass)!important;box-shadow:0 0 0 1px var(--line)}
.b-main{padding:28px 40px 120px;min-width:0}
.j-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.j-ctx{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:2px}
.j-ti{width:100%;border:0;border-radius:var(--r-s);background:transparent;font:500 var(--f3)/1.5 var(--sans);padding:4px 8px;margin-left:-8px;color:var(--ink2)}
.j-ti:hover{background:var(--hover)}.j-ti:focus{background:var(--fill);color:var(--ink)}
.j-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.savest{font-size:var(--f1);color:var(--ink3)}
.j-last{font-size:var(--f1);color:var(--ink3);margin:0}
.j-next{display:block;margin:18px 0 6px;cursor:text}
.j-next .lab{display:inline-flex;align-items:center;gap:7px;font-size:var(--f1);color:var(--acc-ink);margin-bottom:6px}
.j-next .lab::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}
.j-next textarea{display:block;width:100%;border:0;background:transparent;font:500 var(--f6)/1.35 var(--serif);color:var(--ink);resize:none;overflow:hidden;padding:0;min-height:1.35em}
.j-next textarea:focus{outline:none}
.j-next textarea::placeholder{color:var(--ink4)}
.j-focus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;margin-top:30px}
.j-reader{display:flex;flex-direction:column;min-width:0}
.j-tabs{display:flex;gap:4px 26px;box-shadow:inset 0 -1px 0 var(--line);flex-wrap:wrap;align-items:flex-end}
.j-tabs button{font-size:var(--f2);color:var(--ink3);padding:4px 0 11px;border-radius:0;text-align:left;max-width:260px;transition:color var(--dur),box-shadow var(--dur)}
.j-tabs button:hover{color:var(--ink)}
.j-tabs button .w{display:block;font-size:var(--f1);color:var(--ink3)}
.j-tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.dotupd{color:var(--acc);font-size:9px;vertical-align:2px}
.j-addm{margin-left:auto;display:inline-flex!important;align-items:center;gap:6px;font-size:var(--f1)!important;color:var(--ink3)!important}
.j-rbody{padding:26px 0 0;font:400 var(--f3)/1.95 var(--serif);flex:1 1 auto}
.j-rbody h3{font-size:var(--f5);margin:4px 0 6px;font-weight:500}
.j-rbody .meta{font:400 var(--f1) var(--sans);margin-bottom:16px}
.j-rbody .upd{font:400 var(--f2)/1.7 var(--sans);background:var(--acc-soft);border-radius:var(--r-s);padding:10px 12px;margin-bottom:16px;color:var(--ink)}
.j-rfoot{display:flex;gap:16px;align-items:center;padding:14px 0;margin-top:18px;box-shadow:inset 0 1px 0 var(--line);font-size:var(--f1)}
.j-note{display:flex;flex-direction:column;gap:10px}
.j-note>.lab{font-size:var(--f1);color:var(--ink3);margin-top:2px}
.j-note textarea#jnotes{width:100%;min-height:300px;border:0;border-radius:0;background:transparent;padding:2px 0 2px 18px;font:400 var(--f3)/1.9 var(--serif);resize:vertical;color:var(--ink);box-shadow:inset 1px 0 0 var(--line2);transition:box-shadow var(--dur)}
.j-note textarea#jnotes:focus{box-shadow:inset 2px 0 0 var(--acc)}
/* 10-08 本子“复制全部” */
.j-note .nt-copy{display:flex;justify-content:flex-end}
.j-drawer{border-radius:0;background:none;padding:0;box-shadow:inset 0 1px 0 var(--line)}
.j-drawer>summary{list-style:none;display:flex;align-items:center;gap:8px;height:48px;cursor:pointer;font-size:var(--f2);color:var(--ink2)}
.j-drawer>summary::-webkit-details-marker{display:none}
.j-drawer>summary .i{transition:transform var(--dur)}
.j-drawer[open]>summary .i{transform:rotate(90deg)}
.j-drawer[open]{padding-bottom:14px}
.j-tries{display:flex;flex-direction:column;gap:8px;font-size:var(--f2);margin-bottom:10px}
.j-try{display:flex;gap:12px;line-height:1.6}.j-try .faint{flex:0 0 auto;min-width:64px}
.j-addtry{display:flex;gap:8px}
.j-addtry input{flex:1;height:36px;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);padding:0 12px;font-size:var(--f2)}
.j-addtry input:focus{border-color:var(--line2)}
.draft{border-radius:0;padding:2px 0 2px 16px;background:none;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--q) 45%,transparent);font-size:var(--f2);line-height:1.75;margin:4px 0 16px}
.draft .dh{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}
.draft .tag{font-size:var(--f1);color:var(--q)}
.draft .chk{margin:8px 0;padding-left:18px;font-size:var(--f1);color:var(--ink2)}
.draft .chk li.ok{color:var(--ok)}.draft .chk li.miss{color:var(--warn)}.draft .chk li.loose{color:var(--ink3)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
.cmp .paper{border-radius:var(--r-l);background:var(--paper);padding:18px 22px;font:400 var(--f3)/1.9 var(--serif);max-height:76vh;overflow:auto}
.cmp select{margin-bottom:12px;font-size:var(--f2);border:0;border-radius:var(--r-s);background:var(--fill);padding:6px 10px}
.b-empty{max-width:640px;margin:12vh auto 0;text-align:center}
.b-empty h2{font-size:var(--f5);font-weight:500}
.b-empty .none-g{margin:0 auto 6px;width:56px;height:34px}
.b-empty .j-ti{text-align:center;background:var(--fill);margin-top:22px;width:100%;height:48px;font-size:var(--f4)}
.b-win{position:sticky;top:0;height:calc(100vh - var(--top));display:flex;flex-direction:column;background:var(--bg);box-shadow:-1px 0 0 var(--line)}
.b-win .w-top{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 8px 16px;font-size:var(--f1);color:var(--ink3)}
.b-win .w-sky{position:relative;height:260px;flex:0 0 auto;box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}
.b-win .w-sky canvas{position:absolute;left:0;top:0}
.b-win .w-q{padding:10px 12px}
.b-win .w-q input{width:100%;height:36px;border:1px solid transparent;border-radius:var(--r-s);background:var(--fill);padding:0 12px;font-size:var(--f2)}
.b-win .w-q input:focus{border-color:var(--line2)}
.b-win .w-res{flex:1 1 auto;padding:0 12px 20px}
.w-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:9px 2px;border-top:1px solid var(--line);font-size:var(--f2)}
.w-row .t{min-width:0}
.pkg{padding-left:22px;font-size:var(--f3);line-height:1.7}
.pkg li{margin:8px 0}
.omit{margin-top:14px;padding:12px 14px;border-radius:var(--r-s);background:var(--fill);font-size:var(--f2)}
.omit h4{margin:0 0 6px;font:400 var(--f1) var(--sans);color:var(--ink3)}
.omit ul{margin:0;padding-left:18px;color:var(--ink2)}
.rights{display:flex;gap:8px;align-items:flex-start;margin-top:16px;font-size:var(--f2)}
.rights input{margin-top:5px;accent-color:var(--ink)}
/* 10-07 W1 资料包第二步：每一条的完整文字原样列出（长的在框里滚动，不截断） */
.modal .pkg{list-style:none;padding-left:0}
.pkg .pv-blk{margin:8px 0 0}
.pkg .pv-blk .lab,.pkg .pv-src .lab{display:block;font-size:var(--f1);color:var(--ink3)}
.pkg .pv-txt{margin:4px 0 0;padding:10px 12px;max-height:46vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--fill);border-radius:var(--r-s);font:400 var(--f1)/1.7 var(--mono)}
.pkg .pv-src{margin:8px 0 0;font-size:var(--f2);color:var(--ink2)}
.pkg .pv-url{font:400 var(--f1)/1.5 var(--mono);color:var(--ink3);word-break:break-all}
.pkg .pv-meta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;font-size:var(--f1);color:var(--ink2)}
.pkg .pv-meta dt{color:var(--ink3)}
.pkg .pv-meta dd{margin:0;word-break:break-word}
.pkg .pv-omit{margin:6px 0 0;padding-left:18px;font-size:var(--f1);color:var(--ink3)}
.modal .exs{margin-top:14px}
.modal .exs h4{margin:0 0 6px}
/* 10-07 W2 实测：原样摘几项，完整记录在原生结果页 */
.tc-facts{color:var(--ink2)}
.tc-native{display:block;margin-top:8px;font-size:var(--f1)}
.pkgmd{width:100%;height:280px;border:0;border-radius:var(--r-s);background:var(--fill);padding:12px 14px;font:400 var(--f1)/1.7 var(--mono);resize:vertical}
/* 往来（第 3 版）：照成熟聊天软件的骨架——左边以人为主的对话列表，右边对话，输入条固定在底部 */
.b-main.chat{padding:0;height:calc(100vh - var(--top));overflow:hidden}
.t-wrap{display:grid;grid-template-columns:344px minmax(0,1fr);height:100%;min-height:0}
.t-list{display:flex;flex-direction:column;min-height:0;box-shadow:1px 0 0 var(--line);background:var(--bg);z-index:1}
.t-head{padding:20px 16px 8px}
.t-h1{font:500 var(--f5)/1.3 var(--serif);margin:0 0 14px 4px}
.t-find{position:relative;display:flex;align-items:center}
.t-find .i{position:absolute;left:11px;color:var(--ink3);pointer-events:none}
.t-find input{width:100%;height:36px;border-radius:var(--r-s);border:1px solid transparent;background:var(--fill);padding:0 12px 0 34px;font-size:var(--f2)}
.t-find input:focus{border-color:var(--line2);background:var(--paper)}
.t-tabs{display:flex;gap:2px;margin-top:10px;flex-wrap:wrap}
.t-items{flex:1 1 auto;min-height:0;padding:2px 8px 20px}
.t-item{display:flex;gap:12px;align-items:center;padding:10px;border-radius:12px;color:var(--ink);transition:background var(--dur)}
.t-item:hover{background:var(--hover);text-decoration:none}
.t-item.on{background:var(--fill2)}
.t-item>.av{width:46px;height:46px}
.t-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.t-l1{display:flex;align-items:center;gap:5px;min-width:0}
.t-nm{font-size:var(--f3);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-l1 .i{color:var(--ink3)}
.t-tm{margin-left:auto;flex:0 0 auto;font-size:var(--f1);color:var(--ink3);padding-left:10px}
.t-l2{display:flex;align-items:center;gap:8px;min-width:0}
.t-pv{flex:1 1 auto;min-width:0;font-size:var(--f2);color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-kd{color:var(--ink3)}
.t-kd::after{content:"·";margin:0 5px}
.t-item.un .t-nm{color:var(--ink)}
.t-item.un .t-pv{color:var(--ink2)}
.t-item.un .t-tm{color:var(--acc-ink)}
.t-empty{padding:28px 12px;color:var(--ink2);font-size:var(--f3)}
.t-empty p{font-size:var(--f2);color:var(--ink3);margin:8px 0 0;line-height:1.7}
.t-conv{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:var(--bg2)}
.t-none{margin:auto;max-width:360px;text-align:center;color:var(--ink2);padding:24px}
.t-none .i{color:var(--ink3);width:40px;height:40px}
.t-none p{margin:10px 0 0}
.t-none .faint{font-size:var(--f2);line-height:1.7}
.c-top{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 20px;background:var(--bg);box-shadow:0 1px 0 var(--line);z-index:1}
.c-back{display:none!important}
.c-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.c-id .ti{font-size:var(--f3);font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-id .w{font-size:var(--f1);color:var(--ink3);display:flex;align-items:center;gap:5px}
.c-acts{display:flex;gap:2px;margin-left:auto;align-items:center}
.c-acts .menu{top:42px}
.c-on{display:flex;align-items:center;gap:10px;margin:12px 20px 0;padding:9px 12px;border-radius:var(--r-s);background:var(--fill);font-size:var(--f2);color:var(--ink2);align-self:stretch}
.c-on:hover{background:var(--fill2);text-decoration:none;color:var(--ink)}
.c-on .i{color:var(--ink3)}
.c-on-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-msgs{flex:1 1 auto;min-height:0;padding:10px 20px 16px;display:flex;flex-direction:column;gap:3px;overflow:auto}
.msg{display:flex;gap:10px;align-items:flex-start;max-width:min(680px,84%)}
.msg.first{margin-top:14px}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg-av{width:32px;flex:0 0 auto}
.msg-av .av{width:32px;height:32px}
.msg-col{display:flex;flex-direction:column;min-width:0;align-items:flex-start}
.msg.me .msg-col{align-items:flex-end}
.msg .who{font-size:var(--f1);color:var(--ink3);margin:0 0 5px 2px}
.msg .who a{color:var(--ink2)}
.bub{padding:9px 14px;border-radius:16px;background:var(--paper2);font-size:var(--f3);line-height:1.65;color:var(--ink);word-break:break-word;max-width:100%}
[data-look="day"] .bub{background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.msg:not(.me).first .bub{border-top-left-radius:6px}
.msg.me .bub{background:var(--acc-soft)}
[data-look="day"] .msg.me .bub{box-shadow:none}
.msg.me.first .bub{border-top-right-radius:6px}
.msg.helped .bub{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 55%,transparent)}
.bub .dv{margin:2px 0}
.bub .dv .st{margin-right:8px}
.bact{display:flex;gap:2px;max-height:0;overflow:hidden;opacity:0;transition:opacity .15s,max-height .15s}
.msg:hover .bact,.msg:focus-within .bact{max-height:40px;opacity:1;margin-top:3px}
.bact button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:7px;font-size:var(--f1);color:var(--ink3)}
.bact button:hover{background:var(--hover);color:var(--ink)}
.bact .tm{display:inline-flex;align-items:center;height:28px;padding:0 6px;font-size:var(--f1);color:var(--ink3)}
.bub:focus{outline:none}.msg:focus-within .bub{box-shadow:0 0 0 1px var(--line2)}
.c-say{padding:10px 20px 16px;background:var(--bg);box-shadow:0 -1px 0 var(--line)}
/* 输入条 .c-bar / .c-send / .c-scope 在 app.css 的共用件里：评论和聊天用同一个 */
.c-say .note{margin:0 0 8px}
/* 日子：连着几条是同一天的，只在最前面写一次（今天、昨天、周几、几月几日） */
.c-day{align-self:center;margin:16px 0 8px;padding:2px 11px;border-radius:var(--r-pill);background:var(--fill);font-size:var(--f1);line-height:22px;color:var(--ink3)}
/* 新消息从这里开始 */
.c-new{display:flex;align-items:center;gap:12px;margin:14px 0 6px;font-size:var(--f1);color:var(--acc-ink)}
.c-new::before,.c-new::after{content:"";flex:1 1 auto;height:1px;background:color-mix(in srgb,var(--acc) 30%,transparent)}
@media (max-width:760px){
  .b-main.chat{height:calc(100vh - var(--top) - 58px - env(safe-area-inset-bottom))}
  body:has(.b-main.chat) .b-rail,body:has(.b-main.chat) .tw{display:none}
  .t-wrap{grid-template-columns:minmax(0,1fr)}
  .t-wrap.has-sel .t-list{display:none}
  .t-wrap:not(.has-sel) .t-conv{display:none}
  .c-back{display:inline-flex!important;margin-left:-8px}
  .c-top{padding:8px 10px}
  .c-on{margin:10px 12px 0}
  .c-msgs{padding:8px 12px 12px}
  .msg{max-width:92%}
  .c-say{padding:8px 10px 10px}
  .c-bar textarea{font-size:16px}
  .t-head{padding:14px 12px 6px}
}
.d-mine{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 44px;margin-top:18px}
.d-mine h3{font-size:var(--f5);font-weight:500;margin:0 0 10px}
.d-mine .row{align-items:center}
.d-mine .row.gone{color:var(--ink3)}
.d-mine .empty{padding:2px 0 8px}
.d-sig{width:100%;height:220px;display:block}
.d-mine .none{padding-top:8px}
.b-main .lede+.grid2{margin-top:22px}
/* 先放着的：左边是什么，右边“放进”哪一件事（写名字），或者拿走 */
.loose{margin-top:24px;box-shadow:inset 0 1px 0 var(--line)}
.lz{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;align-items:center;padding:18px 2px;box-shadow:inset 0 -1px 0 var(--line)}
.lzl{min-width:0}
.lzk{margin-bottom:4px}
.lzt{display:block;font:400 var(--f4)/1.5 var(--serif);color:var(--ink)}
.lzm{font-size:var(--f1);color:var(--ink3);margin-top:4px}
.lza{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;max-width:440px}
.lza .lab{font-size:var(--f1);color:var(--ink3);margin-right:2px}
.lza .lk{margin-left:8px}
@media (max-width:760px){.lz{grid-template-columns:minmax(0,1fr)}.lza{justify-content:flex-start}.lza .chip{height:36px}.lza .lk{display:inline-flex;align-items:center;min-height:36px;padding:0 6px}}
/* 空间（设置）：左边表单，右边你的星座 */
.sp-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start}
.sp-grid .sets{margin-top:26px}
.sp-sig{margin:26px 0 0;position:sticky;top:24px}
.sp-sig .d-sig{height:300px;border-radius:var(--r-l);background:var(--paper)}
[data-look="day"] .sp-sig .d-sig{box-shadow:0 0 0 1px var(--line)}
.sp-sig figcaption{margin-top:8px}
@media (max-width:1000px){.sp-grid{grid-template-columns:minmax(0,1fr);gap:24px}.sp-sig{position:static}}
@media (max-width:1180px){.bench.win-on{grid-template-columns:64px minmax(0,1fr) 320px}.bench.win-on .b-rail{padding:16px 8px}.bench.win-on .b-rail .b-title,.bench.win-on .b-rail .b-new,.bench.win-on .b-rail .b-lab,.bench.win-on .b-rail .bn,.bench.win-on .b-rail .b-item span{display:none}}
@media (max-width:1000px){.j-focus{grid-template-columns:1fr}.bench.win-on{grid-template-columns:0 minmax(0,1fr)}.bench.win-on .b-rail{display:none}.b-win{position:fixed;right:0;top:var(--top);bottom:0;width:min(360px,92vw);z-index:25;box-shadow:var(--shadow)}.t-wrap{grid-template-columns:300px minmax(0,1fr)}}
@media (max-width:760px){.t-wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.bench,.bench.side-mini{grid-template-columns:64px minmax(0,1fr)}.bench .b-rail.full{padding:16px 8px}.bench .b-rail.full .b-title,.bench .b-rail.full .b-new,.bench .b-rail.full .b-lab,.bench .b-rail.full .bn,.bench .b-rail.full .b-item span{display:none}.bench .b-rail.full .b-item{justify-content:center;padding:0}.d-mine{grid-template-columns:1fr}.cmp{grid-template-columns:1fr}.b-main{padding:20px 18px 120px}.b-main.chat{padding:0}}
@media (max-width:760px){.bench,.bench.side-mini,.bench.side-full{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start}.b-rail,.bench .b-rail.full{position:static;height:auto;flex-direction:row;flex-wrap:nowrap;overflow:auto;box-shadow:inset 0 -1px 0 var(--line);padding:8px 10px!important;gap:4px}.b-rail .b-sec{flex-direction:row;margin:0;flex:0 0 auto}.b-rail .b-lab,.b-rail .bn,.b-top,.b-new,.b-hide{display:none!important}.b-rail .b-job{flex:0 0 auto;max-width:200px;padding:6px 10px}.b-rail .b-job .bj{font-size:var(--f2)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.b-rail .b-item,.bench .b-rail.full .b-item{flex:0 0 auto;width:auto;justify-content:flex-start;padding:0 10px}.b-rail .b-item span,.bench .b-rail.full .b-item span{display:inline!important}.b-rail .b-foot{flex-direction:row;margin:0;padding:0;box-shadow:none;flex:0 0 auto}.b-main{padding:18px 16px 140px}.j-next textarea{font-size:24px}}

/* ---------- 市集（第 3 版）：三个馆，同一种卡片和列表，靠内容区分；每个馆一个克制的记号 ---------- */
.m-halls{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.m-hall{display:flex;flex-direction:column;gap:8px;min-height:320px;padding:26px 24px 20px;border-radius:var(--r-l);color:var(--ink);background:var(--paper);transition:background var(--dur)}
[data-look="day"] .m-hall{box-shadow:0 0 0 1px var(--line)}
.m-hall:hover{text-decoration:none;background:var(--paper2)}
.h-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--fill);color:var(--ink2);flex:0 0 auto}
.m-hall .h-mark{margin-bottom:8px}
.m-hall .dn{font-size:var(--f5);font-weight:500;line-height:1.3}
.m-hall p{margin:0;font-size:var(--f2);color:var(--ink2);line-height:1.7}
.m-peek{display:flex;flex-direction:column;margin-top:14px;border-top:1px solid var(--line)}
.m-peek .pk{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--f2)}
.m-peek .pn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.m-peek .pv{flex:0 0 auto;font-weight:500;color:var(--ink)}
.m-hall .go{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:4px;font-size:var(--f2);color:var(--ink2)}
.m-hall:hover .go{color:var(--ink)}
.h-head{padding:4px 0 22px;margin-bottom:22px;box-shadow:inset 0 -1px 0 var(--line)}
.h-head .back{margin-bottom:12px}
.h-top{display:flex;gap:16px;align-items:flex-start}
.h-name{font-size:var(--f6);font-weight:500;line-height:1.3}
.h-purpose{font-size:var(--f3);color:var(--ink2);margin:6px 0 16px}
.h-acts{display:flex;gap:10px;flex-wrap:wrap;margin-left:56px}
.money{margin-top:16px}
/* 同一种卡片：商品、悬赏、想法 */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:10px}
.mcard{display:flex;flex-direction:column;border-radius:var(--r-l);overflow:hidden;color:var(--ink);background:var(--paper);transition:background var(--dur),transform var(--dur)}
[data-look="day"] .mcard{box-shadow:0 0 0 1px var(--line)}
.mcard:hover{text-decoration:none;background:var(--paper2)}
.ph{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;aspect-ratio:4/3;background:linear-gradient(160deg,var(--fill2),var(--fill));color:var(--ink4)}
.ph .i{width:28px;height:28px;color:var(--ink3);opacity:.6}
.ph .phl{font:400 var(--f1) var(--serif);color:var(--ink3);max-width:80%;text-align:center}
/* 星图封面：深一点的底，中间一点点光，线和背景的星跟着字的颜色走 */
.ph.cv{display:block;color:var(--ink2);background:radial-gradient(ellipse at 50% 52%,color-mix(in srgb,var(--new) 9%,transparent),transparent 62%),linear-gradient(170deg,var(--bg2),var(--bg));overflow:hidden}
[data-look="day"] .ph.cv{background:radial-gradient(ellipse at 50% 52%,color-mix(in srgb,var(--new) 7%,transparent),transparent 62%),linear-gradient(170deg,var(--paper2),var(--bg2))}
.ph.cv svg{position:absolute;inset:0;width:100%;height:100%}
.mc-b{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
.mc-t{font-size:var(--f4);line-height:1.45;font-weight:500}
.mc-p{font:500 var(--f3) var(--sans);color:var(--ink)}
.mc-m{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:var(--f1);color:var(--ink3);min-width:0}
.mc-m>span:not(.av){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-m .av{width:22px;height:22px}
.mc-r{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px}
.bcard .mc-b{padding-top:18px}
.bc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bcard .amt{font-size:var(--f5);font-weight:500;line-height:1.25}
.bcard.done .amt,.bcard.done .mc-t{color:var(--ink2)}
.icard .iw{font-size:var(--f2);color:var(--ink2);line-height:1.6;display:flex;gap:8px}
.icard .iw .faint{flex:0 0 auto}
.m-form{margin:0 0 26px;max-width:680px}
.shop-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding:24px 26px;border-radius:var(--r-l);background:var(--paper)}
[data-look="day"] .shop-head{box-shadow:0 0 0 1px var(--line)}
.goods{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:22px}
.good{border-radius:var(--r-l);overflow:hidden;background:var(--paper);display:flex;flex-direction:column;gap:6px;padding:0 0 16px}
[data-look="day"] .good{box-shadow:0 0 0 1px var(--line)}
.good>*:not(.ph){margin:0 16px}
.good .ph{margin-bottom:8px}
.good .gn{font-size:var(--f4);font-weight:500}
.good .gp{font:500 var(--f5) var(--sans)}
.good .btn{align-self:flex-start}
.stars{color:var(--ink2)}
.roll{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rl{display:grid;grid-template-columns:36px 120px minmax(0,1fr) minmax(0,.8fr) 90px;gap:14px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--line);color:var(--ink)}
.rl:hover{background:var(--hover);text-decoration:none}
.rl .rn{font-size:var(--f3);font-weight:500}
.rl .rt{font-size:var(--f3)}
.rl .rk{font-size:var(--f1);color:var(--ink3)}
.rl .ro{font-size:var(--f1);color:var(--ink3);text-align:right}.rl .ro.on{color:var(--ok)}
.m-bhead{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.m-paybox{border-radius:var(--r-l);padding:18px 22px;min-width:200px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:var(--paper)}
[data-look="day"] .m-paybox{box-shadow:0 0 0 1px var(--line)}
.m-pay{font:500 var(--f4) var(--sans);color:var(--ink)}
.m-pay.big{font-size:30px;margin:4px 0}
.m-meta{font-size:var(--f2);color:var(--ink2);margin:6px 0 12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.m-st{display:inline-flex;align-items:center;gap:5px;font-size:var(--f1);white-space:nowrap}
.m-st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.m-st.open{color:var(--ok)}.m-st.mid{color:var(--fol)}.m-st.done{color:var(--ink3)}
.m-sigbox{border-radius:var(--r-l);padding:10px 14px;width:280px;background:var(--paper)}
.cap{font-size:var(--f1);text-align:center}
.row.ap.on{background:var(--acc-soft);border-radius:var(--r-s);padding:10px 12px}
.flow{margin-top:16px}
.askbar{margin:18px 0 8px;max-width:640px}
@media (max-width:900px){.m-halls{grid-template-columns:1fr}.m-hall{min-height:0}.m-bhead,.shop-head{flex-direction:column}.rl{grid-template-columns:36px 1fr auto}.rl .rk,.rl .rt{display:none}.h-acts{margin-left:0}}

/* ---------- 前沿、实测 ---------- */
.f-list .li{padding:18px 0}
.f-row .kws{margin-top:10px}
.t-table{width:100%;border-collapse:collapse;font-size:var(--f3)}
.t-table th{text-align:left;font-weight:400;font-size:var(--f1);color:var(--ink3);padding:8px 10px;border-bottom:1px solid var(--line2)}
.t-table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.t-table.exam tr.bad td{color:var(--warn)}
.t-table.exam tr.ok td:first-child{color:var(--ok)}
.exam-score{display:flex;align-items:center;gap:16px;margin:18px 0}
.exam-score .big{font:500 var(--f5) var(--serif)}
.crit{margin:0;padding-left:20px;line-height:1.9}
.lock{color:var(--ink2)}
.t-res{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--paper);margin-bottom:12px}
.t-res.mine{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.t-rh{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}
.t-rh .how{font:500 var(--f4) var(--serif)}
.t-dl{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px 12px;margin:0 0 8px;font-size:var(--f2)}
.t-dl dt{color:var(--ink3)}.t-dl dd{margin:0}
.t-runs{font-size:var(--f2)}.t-runs .lab{font-size:var(--f1);color:var(--ink3)}
.t-runs ol{margin:4px 0;padding-left:22px;color:var(--ink2)}
.t-score{font-size:var(--f3);font-weight:500;margin-top:6px}
.t-model h5{font:500 var(--f3) var(--sans);margin:16px 0 8px}
.bnt{color:var(--ink2)}
.bnt-box{margin-top:16px}
@media (max-width:760px){.t-dl{grid-template-columns:auto 1fr}}
/* ---------- 10-04 实测（顶栏单独一个“实测”）：首页上面的“拿一道题测几个模型”、卡片、按主题分组；一次实测里几家并排 ---------- */
.tlaunch{margin:0 0 44px;padding:22px 24px 20px;border-radius:var(--r-card);background:var(--paper);box-shadow:0 0 0 1px var(--line2);max-width:880px}
.tl-h{display:flex;align-items:center;gap:10px;font-size:var(--f5);font-weight:500;line-height:1.35;margin:0 0 4px}
.tl-h .i{width:22px;height:22px;color:var(--ink2)}
.tl-d{margin:0 0 18px;color:var(--ink2);font-size:var(--f2)}
.tlaunch .field{margin-bottom:16px}
.tlaunch .field textarea{min-height:0}
.tl-mat{margin:-6px 0 14px}
.tl-mat summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;color:var(--ink2);font-size:var(--f2);list-style:none}
.tl-mat summary::-webkit-details-marker{display:none}
.tl-mat summary:hover{color:var(--ink)}
.tl-mat[open] summary{margin-bottom:8px}
.tl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:0 24px;align-items:start}
.tl-fams label{gap:6px}
.tl-fams label .i{width:15px;height:15px}
.tl-kf .kws{margin-top:0;min-height:30px;align-items:center}
.tl-kf .w-find{width:100%;max-width:none}
.tl-kf .note{margin:6px 0 0}
.tl-kf .note:empty{display:none}
.tl-go{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.tl-go .note{margin:0;flex:1 1 300px}
.tlaunch .err:empty{display:none}
.ts-sec{margin:0 0 40px}
.ts-sh{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
.ts-sh h2{font:500 20px/1.4 var(--serif);margin:0}
.ts-sh a,.ts-sh .faint{font-size:14px}
.ts-sh a{color:var(--ink2)}
.ts-sec .listhead{margin:6px 0 12px}
.tcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tcard{display:flex;flex-direction:column;gap:8px;padding:16px 18px 14px;border-radius:var(--r-card);background:var(--paper);box-shadow:0 0 0 1px var(--line);color:var(--ink);text-decoration:none;transition:box-shadow var(--dur),background var(--dur)}
.tcard:hover{text-decoration:none;box-shadow:0 0 0 1px var(--line2),0 8px 22px rgba(20,20,20,.06)}
.tcard.is-mine{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 42%,transparent)}
.tcard>*{flex-shrink:0}
.tc-ti{font-size:var(--f4);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-f{font-size:var(--f2);color:var(--ink2);line-height:1.55}
.tc-f .lab,.tg-row .lab{color:var(--ink3);margin-right:6px}
.tc-m{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ink3)}
.tc-m .av{width:22px;height:22px}
.tc-k{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:2px}
.tgrps{columns:2;column-gap:44px}
.tgrp{break-inside:avoid;margin:0 0 26px}
.tg-h{display:flex;align-items:baseline;gap:8px;font:500 var(--f3)/1.4 var(--sans);margin:0;padding:0 0 8px;border-bottom:1px solid var(--line2)}
.tg-h .n{font-size:13px;font-weight:400;color:var(--ink3)}
.tg-row{display:flex;flex-direction:column;gap:3px;padding:12px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.tg-row:hover{text-decoration:none;background:var(--hover)}
.tg-row .t{font:400 var(--f3)/1.5 var(--serif)}
.tg-row .m{font-size:13px;color:var(--ink3);line-height:1.6}
.tt-head{margin:0 0 26px}
.tt-head .ph1{margin-bottom:10px}
.tt-warn{color:var(--warn);font-size:var(--f2);margin:0 0 10px}
.tk-row{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin:8px 0 0}
.tk-row .lab{font-size:13px;color:var(--ink3)}
.tk-row .kws{margin:0}
.tk-row .lk{display:inline-flex;align-items:center;min-height:30px;padding:0 4px;font-size:var(--f2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink4)}
.tk-row .tk-auto{font-size:13px}
.tk-row .w-find{margin:0;width:220px;height:34px}
.tk-acts{display:inline-flex;gap:8px}
.tq{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0 40px;padding:4px 24px 22px;border-radius:var(--r-card);background:var(--fill);margin:0 0 36px}
.tq .sec{margin-top:18px}
.tq-task{margin:0;font-size:var(--f3);line-height:1.8;white-space:pre-wrap}
.tq-mat{margin:0;font-size:var(--f2);line-height:1.8;color:var(--ink2);white-space:pre-wrap}
.tq .long{max-height:14.5em;overflow:auto;padding-right:6px}
.tq .crit{margin:0}
.tc-sec{margin:0 0 36px}
.tc-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:0 0 14px}
.tc-t{font:500 20px/1.4 var(--serif);margin:0 auto 0 0}
.tc-t .faint{font:400 14px/1.4 var(--sans)}
.tc-acts{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.tc-ph{margin:0 0 14px;padding:10px 14px;border-radius:var(--r-s);background:var(--fill);font-size:var(--f2);color:var(--ink2);line-height:1.7}
.tc-ph b{font-weight:500;color:var(--ink);margin-left:4px}
.tc-scroll{overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 10px;margin:0 -2px}
.tc-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(250px,1fr));column-gap:14px;row-gap:0}
.tc-grid.one{grid-template-columns:minmax(0,1fr)}
.tc-col{display:grid;grid-template-rows:subgrid;row-gap:0;min-width:0;padding:2px 18px 8px;border-radius:var(--r-card);background:var(--paper);box-shadow:0 0 0 1px var(--line2);scroll-snap-align:start}
.tc-col.is-mine{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent)}
.tc-col.pend{background:transparent;box-shadow:none;border:1px dashed var(--line2)}
.tc-cell{min-width:0;padding:12px 0;border-top:1px solid var(--line)}
.tc-cell:first-child{border-top:0}
.tc-cell .lab{display:block;margin-bottom:4px;font-size:12.5px;letter-spacing:.03em;color:var(--ink3)}
.tc-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.tc-n{font-size:var(--f4);font-weight:500;line-height:1.4}
.tc-by{flex-basis:100%;font-size:13px;color:var(--ink3)}
.tc-cond{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.6;color:var(--ink2)}
.tc-cond .tc-e{display:flex;flex-direction:column;gap:2px}
.tc-disc{color:var(--ink3)}
.tc-runs{margin:0;padding-left:20px;font-size:var(--f2);line-height:1.7}
.tc-phbox{padding:12px 14px;border:1px dashed var(--line2);border-radius:var(--r-s);font-size:var(--f2);line-height:1.7;color:var(--ink2)}
.tc-phn{display:block;margin-top:8px;font-size:12.5px;color:var(--ink3)}
.tc-v{display:block;font-size:var(--f2);line-height:1.6}
b.tc-v{font-size:var(--f3);font-weight:500}
.tc-e+.tc-e{margin-top:8px}
.tc-eh{display:block;font-size:12.5px;color:var(--ink3)}
.tc-res .btn{margin-top:10px}
.tc-swipe{display:none}
.tb-box{max-width:560px;margin:0 0 30px}
.tt-end{margin-top:30px}
.tt-end .lk{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:var(--f2);color:var(--warn)}
.tf-crow{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:10px;align-items:center;margin:0 0 8px;font-size:var(--f2);color:var(--ink2)}
.tf-crow input{width:100%;border:1px solid transparent;background:var(--fill);border-radius:var(--r-s);padding:8px 10px;font-size:var(--f2)}
.tf-crow input:focus{border-color:var(--line2);background:var(--paper)}
/* 10-04 站内小改：每一栏底下两个按钮（贴上结果 / 贴链接）；链接卡（写清打开的是别人的网站）；逐条自评的小标（做到绿、部分半圆、没做到橙，圆点加字，不只靠颜色）；
   贴结果的表里一行一条标准：标准 | 做到 部分 没做到 不评 | 一句话；讨论里的链接 */
.tc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tc-res .tc-btns .btn{margin-top:0}
.tc-btns .btn .i{width:14px;height:14px;margin-right:4px}
.tc-self{flex-basis:100%;font-size:12.5px;color:var(--ink3)}
.tc-lkh{display:block;font-size:var(--f2);line-height:1.6;color:var(--ink2)}
.tlink{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:10px 12px;border-radius:var(--r-s);background:var(--fill);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.tlink:hover{text-decoration:none;background:var(--fill2);box-shadow:inset 0 0 0 1px var(--ink3)}
.tl-h{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--f2)}
.tl-h b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.tl-h .i{flex:0 0 auto;width:14px;height:14px;color:var(--ink3)}
.tl-n{font-size:var(--f2);line-height:1.5;color:var(--ink2)}
.tl-u{font-size:12.5px;line-height:1.5;color:var(--ink3);overflow-wrap:anywhere}
.tl-w{font-size:12px;line-height:1.5;color:var(--ink3)}
.tc-mk{display:inline-flex;align-items:center;gap:6px;margin:0 0 2px;font-size:13px;font-weight:500;white-space:nowrap}
.tc-mk::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.tc-mk.ok{color:var(--ok)}
.tc-mk.part{color:var(--ink2)}
.tc-mk.part::before{background:linear-gradient(90deg,currentColor 50%,transparent 50%);box-shadow:inset 0 0 0 1.4px currentColor}
.tc-mk.no{color:var(--warn)}
.tc-mk.no::before{background:none;box-shadow:inset 0 0 0 1.4px currentColor}
.tf-marks>.note{margin:-2px 0 10px}
.tf-mrow{display:grid;grid-template-columns:minmax(120px,.8fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:0 0 8px;font-size:var(--f2);color:var(--ink2)}
.tf-mk{flex-wrap:nowrap;gap:4px}
.tf-mk label{min-height:32px;padding:0 10px;font-size:var(--f1)}
.tf-mk label.on.ok{color:var(--ok);box-shadow:inset 0 0 0 1.5px var(--ok)}
.tf-mk label.on.no{color:var(--warn);box-shadow:inset 0 0 0 1.5px var(--warn)}
.field .tf-mrow input.tf-byc{padding:8px 10px;font-size:var(--f2)}
.tf-mksum{margin:6px 0 0}
.cm .ct a.ext{overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.cm .ct a.ext:hover{text-decoration-color:currentColor}
.cm .ct a.ext .i{width:12px;height:12px;margin-left:3px;vertical-align:-1px}
@supports not (grid-template-rows:subgrid){.tc-col{display:flex;flex-direction:column}}
[data-ui="v4"] [data-look="day"] :is(.tlaunch,.tcard,.tc-col:not(.pend)){background:#fffefb}
[data-ui="v4"][data-paper="dim"][data-look="night"] [data-look="day"] :is(.tlaunch,.tcard,.tc-col:not(.pend)){background:#ded8cc}
/* 实测的底色：白天很淡的灰绿（市集暖、前沿冷、空间灰紫，各不相同） */
[data-face="own"][data-look="day"] body[data-sec="tests"] :is(#page,#plate){--bg:#eff1e9}
@media (max-width:980px){.tcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.tgrps{columns:1}.tq{grid-template-columns:1fr;padding:2px 18px 18px;gap:0}}
@media (max-width:760px){
  .tlaunch{padding:18px 16px 16px}
  .tl-grid{grid-template-columns:1fr}
  /* 手机上一列：测哪几家 → 评分标准 → 挂在哪个主题 */
  .tl-col{display:contents}.tl-ff{order:1}.tl-cf{order:2}.tl-kf{order:3}
  .tl-go .btn{width:100%}
  .tcards{grid-template-columns:1fr}
  .tc-scroll{scroll-snap-type:x mandatory;margin:0 -18px;padding:2px 18px 10px;scroll-padding:0 18px}
  .tc-grid{grid-template-columns:repeat(var(--n),min(80vw,330px));column-gap:12px}
  .tc-grid.one{grid-template-columns:minmax(0,1fr)}
  .tc-swipe{display:block;margin:0;font-size:13px;color:var(--ink3)}
  .tk-row .w-find{width:100%}
  .tf-crow{grid-template-columns:1fr;gap:4px}
  .tf-mrow{grid-template-columns:1fr;gap:6px;margin-bottom:14px}}

/* 10-08 实测第 3 版：首页一列“动静”卡片（最上面一行是最近的新看头）；同一个人连着的收起来；还在等第一个实测的题收在最下面；
   发一道题单独一页；题目页刚发的题提醒出题人接着贴；栏头的小标（还想看 / 等人来测 / 出题人） */
.th-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.th-head .lede{max-width:640px}
.tn-list{display:flex;flex-direction:column;gap:12px;max-width:780px}
.tn-card{gap:6px}
.tn-card .tc-m b{font-weight:500;color:var(--ink2)}
.tn-ai{display:inline-block;padding:0 7px;border-radius:5px;background:var(--fill);color:var(--ink)}
.tc-c{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ink3)}
.tn-more,.tn-wait{max-width:780px}
.tn-more>summary,.tn-wait>summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;color:var(--ink2);font-size:var(--f2);list-style:none}
.tn-more>summary::-webkit-details-marker,.tn-wait>summary::-webkit-details-marker{display:none}
.tn-more>summary:hover,.tn-wait>summary:hover{color:var(--ink)}
.tn-more>summary::before,.tn-wait>summary::before{content:"+";display:inline-block;width:1.1em;color:var(--ink3)}
.tn-more[open]>summary::before,.tn-wait[open]>summary::before{content:"−"}
.tn-more[open]{display:flex;flex-direction:column;gap:12px}
.tn-wait{margin-top:28px}
.tn-wl{margin-top:6px}
.tn-empty{max-width:640px;padding:26px 24px;border-radius:var(--r-card);border:1px dashed var(--line2)}
.tn-empty h2{font:500 20px/1.4 var(--serif);margin:0 0 6px}
.tn-empty p{margin:0 0 14px;color:var(--ink2)}
.tn-draft{margin:0 0 18px;font-size:var(--f2);color:var(--ink2)}
.tl-wf input{width:100%}
.tt-launched{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:0 0 22px;padding:12px 16px;border-radius:var(--r-s);background:var(--acc-soft);color:var(--ink);font-size:var(--f2);line-height:1.7}
.tc-hint{margin:-6px 0 14px;font-size:13px;color:var(--ink3)}
.tc-want,.tc-q{display:inline-block;padding:0 7px;border-radius:999px;font-size:12px;line-height:1.7;background:var(--fill);color:var(--ink2);white-space:nowrap}
/* 原样贴的结果保留原来的换行（“原样”） */
.tc-runs li{white-space:pre-wrap;overflow-wrap:anywhere}
/* 手机上一列：你测了哪些 → 还想看谁来测 → 怎么算做到 → 挂到主题 */
@media (max-width:760px){.tl-ff{order:1}.tl-wf{order:2}.tl-cf{order:3}.tl-kf{order:4}}
/* ---------- 空间、标注 ---------- */
.s-head{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
.s-who{margin-bottom:14px}.s-who .av{background:var(--paper2)}.s-who .av.me{background:var(--acc-soft)}
.s-sig{border-radius:0;padding:0;background:none}
.s-acts{align-items:center}
.s-acts .dd .menu{left:0;right:auto;top:44px}
.s-cols{margin-top:34px;gap:44px}
.mk-layer{position:fixed;inset:0;z-index:60;pointer-events:none;display:none}
.mk-layer.on{display:block}
body.marking,body.marking *{cursor:crosshair!important}
.mk-pin{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--acc);color:var(--bg);font:500 11px/22px var(--sans);text-align:center;box-shadow:0 0 0 4px var(--acc-soft)}
.mk-box{position:fixed;z-index:70;width:280px;background:var(--panel2);border:1px solid var(--line2);border-radius:14px;padding:10px;box-shadow:var(--shadow);cursor:auto}
.mk-box textarea{width:100%;height:70px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:8px 10px;font-size:var(--f2);resize:none;margin-bottom:8px;cursor:text}
.mkbar{position:fixed;left:50%;top:calc(var(--top) + 8px);transform:translateX(-50%);z-index:65;display:none;gap:14px;align-items:center;background:var(--acc);color:var(--bg);border-radius:var(--r-pill);padding:7px 16px;font-size:var(--f2);white-space:nowrap}
.mkbar.on{display:flex}
.mkbar .faint{color:inherit;opacity:.8}
.mkbar button{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:900px){.s-head{grid-template-columns:1fr}.mkbar{top:auto;bottom:70px;flex-wrap:wrap;white-space:normal;width:calc(100% - 20px);border-radius:14px}}

/* ---------- 选读：几句原话，一段读法 ---------- */
.c-msgs.picking .pickrow{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.c-msgs.picking .pickrow input{margin-top:14px;width:16px;height:16px;accent-color:var(--ink);flex:0 0 auto}
.c-msgs.picking .pickrow .msg{flex:1 1 auto;max-width:none;flex-direction:row}
.c-msgs.picking .pickrow .msg .msg-col{align-items:flex-start}
.pickform{display:flex;flex-direction:column;gap:8px}
.pickform input{height:36px;border:1px solid var(--line2);border-radius:10px;background:var(--paper);padding:0 12px;font-size:var(--f2)}
.pickform .pk-ti{font:500 var(--f3) var(--serif)}
.picks{max-width:620px;margin:26px 0 0}
.picks h4{font:400 var(--f1) var(--sans);letter-spacing:.06em;color:var(--ink3);margin:0 0 10px}
.pickcard{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line2);border-radius:14px;margin-bottom:10px;background:var(--paper2);color:var(--ink)}
.pickcard:hover{text-decoration:none;border-color:var(--ink3)}
.pickcard .pt{font-size:var(--f4);font-weight:500}
.pickcard .pw{font-size:var(--f2);color:var(--ink2)}
.pickcard .faint{font-size:var(--f1)}
.pickbody{margin:24px 0;border-left:2px solid var(--line2);padding-left:18px;display:flex;flex-direction:column;gap:14px}
.pq .who{font-size:var(--f2);display:flex;gap:8px;align-items:center;margin-bottom:2px}
.pq .pt{font:400 17px/1.9 var(--serif)}
.pq.dim{opacity:.55}
.gap{align-self:flex-start;font-size:var(--f1);color:var(--ink3);border:1px dashed var(--line2);border-radius:var(--r-pill);padding:3px 12px}
.gap:hover{color:var(--ink2)}
.cm.rp.helped{border-left-color:color-mix(in srgb,var(--ok) 60%,transparent)}
.lk.more{margin:8px 0 0 18px;display:inline-block}
.comments h4 .lk{margin-left:12px;font-size:var(--f1)}

/* ---------- 原型：设计语言一页（用网站里真的零件摆出来） ---------- */
.g-page{max-width:1040px}
.g-nav{position:sticky;top:0;z-index:3;display:flex;gap:2px;flex-wrap:wrap;margin:24px -8px 0;padding:8px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 -1px 0 var(--line)}
.g-nav button{flex:0 0 auto;white-space:nowrap;height:32px;padding:0 12px;border-radius:var(--r-s);font-size:var(--f2);color:var(--ink2);transition:background var(--dur),color var(--dur)}
.g-nav button:hover{background:var(--hover);color:var(--ink)}
.g-sec{padding:48px 0 8px;scroll-margin-top:64px}
.g-h{font:500 var(--f5)/1.35 var(--serif);margin:0 0 8px}
.g-l{font-size:var(--f2);color:var(--ink2);margin:0 0 22px;max-width:700px;line-height:1.8}
.g-h3{font:400 var(--f1)/1.6 var(--sans);color:var(--ink3);margin:30px 0 12px}
.g-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.g-demo{max-width:560px}
.g-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-place{display:flex;flex-direction:column;gap:8px}
.g-place>b{font:500 var(--f4) var(--serif);margin-top:6px}
.g-pv{position:relative;height:190px;border-radius:var(--r-l);overflow:hidden}
.g-pv>svg{position:absolute;inset:0;width:100%;height:100%;color:var(--ink2)}
.g-pv.gsky{background:radial-gradient(ellipse at 55% 50%,color-mix(in srgb,var(--new) 10%,transparent),transparent 62%),linear-gradient(170deg,var(--bg2),var(--bg));box-shadow:inset 0 0 0 1px var(--line)}
.g-pv.paper{background:var(--paper);padding:20px 22px;color:var(--paper-ink)}
[data-look="day"] .g-pv.paper{box-shadow:0 0 0 1px var(--line)}
.g-pv.paper .g-pt{font:500 var(--f4)/1.5 var(--serif);margin:6px 0 8px}
.g-pv.paper p{margin:0;font:400 var(--f2)/1.9 var(--serif);color:var(--ink2)}
.g-pv.desk{background:linear-gradient(160deg,#10131c,#07080c);display:flex;align-items:center;justify-content:center}
[data-look="day"] .g-pv.desk{background:linear-gradient(160deg,var(--paper2),var(--bg2))}
.g-glass{width:210px;padding:6px;border-radius:var(--r-l);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow),0 0 0 1px var(--line)}
.g-glass .mi{display:flex;align-items:center;gap:12px;height:38px;padding:0 12px;border-radius:var(--r-s);font-size:var(--f2);color:var(--ink)}
.g-glass .mi:first-child{background:var(--hover)}
.g-glass .mi .i{color:var(--ink2)}.g-glass .mi .unread{margin-left:auto}
.g-type{display:flex;flex-direction:column;box-shadow:inset 0 1px 0 var(--line)}
.g-tr{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:baseline;padding:16px 0;box-shadow:inset 0 -1px 0 var(--line)}
.g-tk{font-size:var(--f1);color:var(--ink3);line-height:1.6}
.g-tk b{display:block;font:500 var(--f3) var(--sans);color:var(--ink2)}
.g-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 20px}
.g-sw{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center}
.g-chip{grid-row:1/span 3;width:44px;height:44px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line2)}
.g-sn{font-size:var(--f2);color:var(--ink);line-height:1.4}
.g-sw code{font:var(--f1)/1.4 var(--mono);color:var(--ink3)}
.g-su{font-size:var(--f1);color:var(--ink3);line-height:1.5}
.g-shapes{display:flex;flex-wrap:wrap;gap:22px}
.g-shape{display:flex;flex-direction:column;align-items:center;gap:10px;width:120px;font-size:var(--f1);color:var(--ink3);text-align:center;line-height:1.6}
.g-shape i{display:block;width:84px;height:44px;background:var(--fill2)}
.g-cards{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:18px}
.g-avs{gap:14px}
.g-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin-top:22px}
.g-ic{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px 10px;border-radius:var(--r-s);font:var(--f1) var(--mono);color:var(--ink3);transition:background var(--dur)}
.g-ic .i{width:22px;height:22px;color:var(--ink)}
.g-ic:hover{background:var(--hover)}
.g-rules{margin:0;padding-left:22px;font-size:var(--f3);line-height:2.05;color:var(--ink2);max-width:760px}
.g-rules li::marker{color:var(--ink3)}
@media (max-width:760px){.g-places{grid-template-columns:1fr}.g-tr{grid-template-columns:1fr;gap:4px}.g-cards{grid-template-columns:1fr}.g-nav{margin:18px -16px 0;padding:8px 16px;flex-wrap:nowrap;overflow-x:auto}}

/* ---------- 10-08 链接卡（两行）：标题用正文的字；下面一行“类型 · 来源”小字；右边一个按钮。手机上按钮一律挪到下面一行靠右（长短不一时不会有的在右、有的在下） ---------- */
.lc{margin:10px 0 14px;border-radius:12px;background:var(--fill);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.lc-row{display:flex;align-items:center;gap:12px;padding:11px 12px 11px 14px;min-width:0}
.lc-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.lc-ti{font:500 var(--f3)/1.5 var(--serif);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-meta{font-size:var(--f1);line-height:1.5;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-note{font-size:var(--f1);line-height:1.5;color:var(--ink3)}
.lc-go{flex:0 0 auto;white-space:nowrap;gap:5px}
.lc-go .i{width:14px;height:14px}
.lc-gone .lc-ti{color:var(--ink2)}
.lc-open{padding:0 14px 14px}
.lc-open img,.lc-open video{display:block;max-width:100%;height:auto;max-height:70vh;border-radius:8px;background:var(--fill2)}
.lc-open audio{display:block;width:100%}
.lc-cap{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:var(--f1);color:var(--ink3)}
.lc-err{margin:0;font-size:var(--f2);color:var(--ink2)}
.lc-exe{margin:10px 0 14px;padding:10px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);font-size:var(--f2);line-height:1.6;color:var(--ink2)}
.lc-exe code{word-break:break-all}
@media (max-width:760px){.lc-row{flex-wrap:wrap}.lc-txt{flex:1 1 100%}.lc-go{margin-left:auto}}

/* ---------- 10-08 收进本子：弹窗里把选中的那一句摆出来 ---------- */
.mbox .cq{margin:0 0 14px;padding:8px 12px;border-left:2px solid var(--acc);color:var(--ink2);font:400 var(--f2)/1.7 var(--serif)}

/* ---------- 10-08 分享按钮：实测题目页标题下面一个浅底小按钮；按钮里的图标和字之间留一点 ---------- */
.tt-share{margin:8px 0 2px}
[data-share]{gap:6px}
