/* KMind 宇宙交互 V18 (V19: edgeless) · 卡片 CARDS (src/kmind/cards.js). One look for every card, whatever the backend designs,
   in both views and every skin: no frames. A card is a pane of glass lit from its top-left by its tone; blocks sit on faint layers
   of light (--k-layer-rgb), told apart by spacing and tint, never by lines. Numbers and small labels are mono. Amber means a person:
   a card waiting for one has an amber state. The card measures itself (container kmcard) and stacks when narrow. */
:root{--km-con:#5A3FD6;--km-con-rgb:90,63,214;--km-mod:#4B5565;--km-mod-rgb:75,85,101}
html[data-theme=night]{--km-con:#A898FF;--km-con-rgb:168,152,255;--km-mod:#AAB5C7;--km-mod-rgb:170,181,199}
.km-card{--tc:var(--k-acc);--tc-rgb:var(--k-acc-rgb);--L:var(--k-layer-rgb);container:kmcard/inline-size;position:relative;isolation:isolate;margin:8px 0 4px;max-width:600px;border-radius:16px;border:1px solid var(--k-edge);overflow:hidden;
  background:radial-gradient(130% 90% at 0% 0%,rgba(var(--tc-rgb),.13),transparent 52%),linear-gradient(180deg,rgba(var(--L),.075),rgba(var(--L),.028) 62%),rgba(var(--k-bg-rgb),.84);
  color:var(--k-ink);font-size:13.5px;line-height:1.55;box-shadow:0 30px 60px -38px rgba(var(--k-sh),.95),0 2px 8px -4px rgba(var(--k-sh),.3);
  backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);user-select:text;-webkit-user-select:text}
.km-card::before{content:"";position:absolute;left:10%;right:18%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--tc-rgb),.9) 30%,rgba(var(--tc-rgb),.25) 75%,transparent);pointer-events:none}
.km-card::after{content:"";position:absolute;left:4%;top:-26px;width:46%;height:52px;background:radial-gradient(closest-side,rgba(var(--tc-rgb),.22),transparent);filter:blur(6px);pointer-events:none;z-index:-1}
.km-card.km-tone-amber{--tc:var(--k-amber);--tc-rgb:var(--k-amber-rgb)}
.km-card.km-tone-danger{--tc:var(--k-danger);--tc-rgb:var(--k-danger-rgb)}
.km-card.km-tone-ok{--tc:var(--k-ok);--tc-rgb:var(--k-ok-rgb)}
.km-card.km-tone-muted{--tc:var(--k-mute);--tc-rgb:var(--k-mute-rgb)}
.km-card :is(button,input):focus-visible{outline:0;box-shadow:var(--k-focus)}
/* the head: icon, the kind (zh + EN small capitals), the title, the state */
.km-card-hd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px 10px}
.km-card-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--tc);background:radial-gradient(circle at 32% 26%,rgba(var(--tc-rgb),.36),rgba(var(--tc-rgb),.1) 62%,rgba(var(--tc-rgb),.05));box-shadow:0 0 22px -6px rgba(var(--tc-rgb),.6)}
.km-card-tt{min-width:0;display:flex;flex-direction:column;gap:1px}
.km-card-tt small{display:flex;align-items:baseline;gap:0;font-size:11.5px;color:var(--k-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-card-tt small i{font:500 9.5px/1 var(--k-mono);font-style:normal;letter-spacing:.16em;margin-left:6px;color:var(--k-dim)}
.km-card-tt small span::before{content:"·";margin:0 6px;color:var(--k-dim)}
.km-card-tt small i+span::before,.km-card-tt small>span:first-child::before{content:"";margin:0}
.km-card-tt small i+span{margin-left:8px}
.km-card-tt b{font-size:15px;font-weight:650;color:var(--k-ink);line-height:1.35;letter-spacing:.01em}
.km-card-st{--sc:var(--k-dim);--sc-rgb:var(--k-mute-rgb);display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 11px 0 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--k-ink2);background:rgba(var(--sc-rgb),.12)}
.km-card-st i{width:6px;height:6px;border-radius:50%;background:var(--sc);box-shadow:0 0 8px rgba(var(--sc-rgb),.9)}
.km-card-st em{font:600 9.5px/1 var(--k-mono);font-style:normal;letter-spacing:.12em;color:var(--k-danger);margin-right:2px}
.km-card-running .km-card-st{--sc:var(--k-acc);--sc-rgb:var(--k-acc-rgb);color:var(--k-acc)}
.km-card-running .km-card-st i{animation:km-card-pulse 1.4s ease-in-out infinite}
.km-card-waiting .km-card-st,.km-card-open .km-card-st{--sc:var(--k-amber);--sc-rgb:var(--k-amber-rgb);color:var(--k-amber-ink)}
.km-card-done .km-card-st{--sc:var(--k-acc);--sc-rgb:var(--k-acc-rgb);color:var(--k-ink2)}
.km-card-failed .km-card-st{--sc:var(--k-danger);--sc-rgb:var(--k-danger-rgb);color:var(--k-danger)}
.km-card-closed .km-card-st,.km-card-expired .km-card-st{color:var(--k-mute)}
.km-pri-urgent .km-card-st em{animation:km-card-pulse 1.4s ease-in-out infinite}
@keyframes km-card-pulse{50%{opacity:.3;transform:scale(.72)}}
.km-card-bd{display:flex;flex-direction:column;gap:12px;padding:2px 16px 14px}
.km-card-bd:empty{display:none}
/* blocks */
.km-cb-cap{margin-bottom:-6px;font:600 10px/1.4 var(--k-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--k-dim)}
.km-cb-text{margin:0;color:var(--k-ink2);white-space:pre-line}
.km-clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent)}
.km-cb-more{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:-6px;padding:2px 8px 2px 0;font-size:12px;color:var(--k-acc)}
.km-cb-more:hover{color:var(--k-ink)}
.km-cb-more svg{transition:transform .2s}
.km-cb-more[aria-expanded=true] svg{transform:rotate(180deg)}
.km-cb-steps>.km-cb-more,.km-cb-tl>.km-cb-more,.km-cb-check>.km-cb-more{margin:2px 0 0 27px}
.km-cb-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 12px;border-radius:11px;font-size:12.5px;color:var(--k-ink2);background:rgba(var(--L),.06)}
.km-cb-note svg{flex:none;margin-top:3px;color:var(--k-mute)}
.km-cb-note.km-tone-acc{background:rgba(var(--k-acc-rgb),.1)}.km-cb-note.km-tone-acc svg{color:var(--k-acc)}
.km-cb-note.km-tone-amber{background:rgba(var(--k-amber-rgb),.1);color:var(--k-amber-ink)}.km-cb-note.km-tone-amber svg{color:var(--k-amber)}
.km-cb-note.km-tone-danger{background:rgba(var(--k-danger-rgb),.1)}.km-cb-note.km-tone-danger svg{color:var(--k-danger)}
.km-cb-note.km-tone-ok{background:rgba(var(--k-ok-rgb),.1)}.km-cb-note.km-tone-ok svg{color:var(--k-ok)}
.km-cb-sec{display:flex;align-items:center;gap:10px;margin:4px 0 -4px;font-size:12px;font-weight:650;letter-spacing:.06em;color:var(--k-ink2)}
.km-cb-sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--L),.16),transparent 70%)}
.km-cb-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;margin:0}
.km-cb-fields div{padding:8px 11px;border-radius:11px;background:rgba(var(--L),.055)}
.km-cb-fields dt{font-size:11px;color:var(--k-mute)}
.km-cb-fields dd{margin:2px 0 0;font-weight:600;color:var(--k-ink);font-variant-numeric:tabular-nums}
.km-cb-fields .km-tone-danger dd{color:var(--k-danger)}.km-cb-fields .km-tone-amber dd{color:var(--k-amber-ink)}.km-cb-fields .km-tone-acc dd,.km-cb-fields .km-tone-ok dd{color:var(--k-acc)}
.km-cb-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px}
.km-cb-metrics div{position:relative;display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:12px;background:radial-gradient(120% 100% at 0% 0%,rgba(var(--k-acc-rgb),.08),transparent 60%),rgba(var(--L),.05)}
.km-cb-metrics b{font:650 19px/1.2 var(--k-mono);letter-spacing:-.01em;color:var(--k-ink);font-variant-numeric:tabular-nums}
.km-cb-metrics b small{font-size:11px;font-weight:500;margin-left:2px;color:var(--k-mute)}
.km-cb-metrics span{font-size:11.5px;color:var(--k-mute)}
.km-cb-metrics .km-tone-danger b{color:var(--k-danger)}.km-cb-metrics .km-tone-amber b{color:var(--k-amber)}.km-cb-metrics .km-tone-acc b{color:var(--k-acc)}
.km-delta{position:absolute;top:9px;right:10px;display:inline-flex;align-items:center;gap:3px;font:600 10.5px/1 var(--k-mono);font-style:normal;color:var(--k-acc)}
.km-delta.dn{color:var(--k-danger)}
.km-cb-people{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.km-cb-lbl{font-size:11.5px;color:var(--k-mute);margin-right:2px}
.km-cb-who{--sd-rgb:var(--L);display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px 0 4px;border-radius:999px;background:rgba(var(--L),.07);color:var(--k-ink);font-size:12.5px;transition:background .15s}
.km-cb-who:hover{background:rgba(var(--L),.13)}
.km-cb-who b{font-weight:600}
.km-cb-who em,.km-cb-turn b em{font:600 9.5px/16px var(--k-mono);font-style:normal;letter-spacing:.1em;padding:0 6px;border-radius:6px}
.km-side-pro{--sd:var(--k-acc);--sd-rgb:var(--k-acc-rgb)}.km-side-con{--sd:var(--km-con);--sd-rgb:var(--km-con-rgb)}.km-side-mod,.km-side-neutral{--sd:var(--km-mod);--sd-rgb:var(--km-mod-rgb)}
.km-cb-who.km-side-pro em,.km-cb-who.km-side-con em,.km-cb-who.km-side-mod em,.km-cb-turn b em{color:var(--sd);background:rgba(var(--sd-rgb),.14)}
/* a debate: a lit bar per round, rounds as layers, each turn washed with its side's light */
.km-cb-rounds{display:flex;flex-direction:column;gap:6px}
.km-cb-rbar{display:flex;gap:6px;margin-bottom:2px}
.km-cb-rbar i{flex:1;height:2px;border-radius:2px;background:rgba(var(--L),.16)}
.km-cb-rbar i.on{background:var(--k-acc);box-shadow:0 0 8px rgba(var(--k-acc-rgb),.75)}
.km-cb-rbar i.run{background:rgba(var(--k-acc-rgb),.55);animation:km-card-pulse 1.4s ease-in-out infinite}
.km-cb-round{border-radius:13px;transition:background .2s}
.km-cb-round.open{background:rgba(var(--L),.045)}
.km-cb-rh{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border-radius:13px;color:var(--k-ink2);font-size:12.5px;text-align:left}
.km-cb-round:not(.open) .km-cb-rh:hover{background:rgba(var(--L),.05)}
.km-cb-rn{font:600 10px/18px var(--k-mono);letter-spacing:.06em;padding:0 6px;border-radius:6px;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.12)}
.km-cb-rh small{margin-left:auto;color:var(--k-mute)}
.km-cb-rh svg{transition:transform .2s;transform:rotate(-90deg);color:var(--k-mute)}
.km-cb-round.open .km-cb-rh svg{transform:none}
.km-cb-turns{display:flex;flex-direction:column;gap:8px;padding:2px 10px 12px}
.km-cb-turn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.km-cb-turn>div{padding:8px 12px;border-radius:4px 13px 13px 13px;background:linear-gradient(90deg,rgba(var(--sd-rgb),.16),rgba(var(--L),.05) 42%)}
.km-cb-turn b{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:var(--k-ink)}
.km-cb-turn p{margin:3px 0 0;color:var(--k-ink2)}
.km-cb-typing>div{--sd-rgb:var(--L)}
.km-cb-typing p{display:flex;gap:4px;height:18px;align-items:center}
.km-cb-typing p i{width:5px;height:5px;border-radius:50%;background:var(--k-dim);animation:km-card-dot 1.1s ease-in-out infinite}
.km-cb-typing p i:nth-child(2){animation-delay:.15s}.km-cb-typing p i:nth-child(3){animation-delay:.3s}
@keyframes km-card-dot{40%{transform:translateY(-3px);background:var(--k-acc)}}
/* a conclusion: the brightest layer in the card */
.km-cb-verdict{padding:12px 14px 13px;border-radius:14px;background:radial-gradient(120% 150% at 0% 0%,rgba(var(--k-acc-rgb),.24),rgba(var(--k-acc-rgb),.07) 52%,rgba(var(--L),.04));box-shadow:0 18px 36px -26px rgba(var(--k-acc-rgb),.8)}
.km-cb-vh{display:flex;align-items:center;gap:8px;color:var(--k-acc);font-size:12px;flex-wrap:wrap}
.km-cb-vh>b{font-weight:700;letter-spacing:.04em}
.km-cb-vh>b i{font:500 9.5px/1 var(--k-mono);font-style:normal;letter-spacing:.16em;margin-left:6px;color:rgba(var(--k-acc-rgb),.75)}
.km-cb-vh>span{display:inline-flex;align-items:center;gap:6px;color:var(--k-ink2);margin-left:2px}
.km-cb-sure{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-style:normal;font-size:11px;color:var(--k-mute)}
.km-cb-sure i{width:46px;height:3px;border-radius:3px;background:rgba(var(--L),.18);overflow:hidden;position:relative}
.km-cb-sure i::after{content:"";position:absolute;inset:0;width:calc(var(--p)*100%);background:var(--k-acc);box-shadow:0 0 6px rgba(var(--k-acc-rgb),.9)}
.km-cb-sure b{font:600 11.5px/1 var(--k-mono);color:var(--k-ink)}
.km-cb-verdict>p{margin:7px 0 0;font-weight:600;color:var(--k-ink);font-size:14px}
.km-cb-verdict ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;color:var(--k-ink2);font-size:12.5px}
.km-cb-verdict li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline}
.km-cb-verdict li i{font:600 10.5px/1 var(--k-mono);font-style:normal;color:var(--k-acc)}
/* a poll: rows of light, the bar glows */
.km-cb-options{display:flex;flex-direction:column;gap:5px}
.km-cb-opt{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(60px,1fr) 42px 72px;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:12px;text-align:left;color:var(--k-ink);background:rgba(var(--L),.05);transition:background .15s}
button.km-cb-opt:hover{background:rgba(var(--L),.1)}
.km-cb-opt.mine{background:rgba(var(--k-acc-rgb),.13)}
.km-cb-opt.win{background:radial-gradient(120% 140% at 0% 0%,rgba(var(--k-acc-rgb),.2),rgba(var(--k-acc-rgb),.06))}
.km-cb-ot{display:flex;align-items:center;gap:7px;min-width:0}
.km-cb-ot b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-cb-ot em{font:600 10px/16px var(--k-mono);font-style:normal;letter-spacing:.06em;color:var(--k-on-acc);background:var(--k-acc);padding:0 6px;border-radius:6px}
.km-cb-ot em.mine{color:var(--k-acc);background:rgba(var(--k-acc-rgb),.16)}
.km-cb-obar,.km-cb-pbar{display:block;height:4px;border-radius:4px;background:rgba(var(--L),.13);overflow:hidden}
.km-cb-obar i,.km-cb-pbar i{display:block;height:100%;width:calc(var(--p)*100%);border-radius:inherit;background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.5),var(--k-acc));box-shadow:0 0 8px rgba(var(--k-acc-rgb),.6);transition:width .5s}
.km-cb-on{font:600 12.5px/1 var(--k-mono);text-align:right;color:var(--k-ink2);font-variant-numeric:tabular-nums}
.km-cb-on small{font-size:10px;color:var(--k-mute);margin-left:1px}
.km-cb-ov{display:flex;justify-content:flex-end}
.km-cb-ov>span{margin-left:-4px}
/* steps: nodes on a fading rail */
.km-cb-steps,.km-cb-check,.km-cb-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.km-cb-steps li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:4px 0;color:var(--k-ink2)}
.km-cb-steps li:not(:last-of-type)::after{content:"";position:absolute;left:8.5px;top:21px;bottom:-5px;width:1px;background:linear-gradient(180deg,rgba(var(--L),.28),rgba(var(--L),.06))}
.km-cb-steps li.km-st-done:not(:last-of-type)::after{background:linear-gradient(180deg,rgba(var(--k-acc-rgb),.7),rgba(var(--k-acc-rgb),.15))}
.km-cb-steps i{align-self:start;margin-top:3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(var(--L),.45) 0 2.5px,rgba(var(--L),.08) 3px)}
.km-cb-steps .km-st-done i{background:var(--k-acc);color:var(--k-on-acc);box-shadow:0 0 10px rgba(var(--k-acc-rgb),.6)}
.km-cb-steps .km-st-done>span{color:var(--k-mute)}
.km-cb-steps .km-st-run i{background:rgba(var(--k-acc-rgb),.16);box-shadow:0 0 14px rgba(var(--k-acc-rgb),.55)}
.km-cb-steps .km-st-run i::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--k-acc);box-shadow:0 0 6px var(--k-acc);animation:km-card-pulse 1.2s ease-in-out infinite}
.km-cb-steps .km-st-run>span{color:var(--k-ink);font-weight:600}
.km-cb-steps .km-st-fail i{background:var(--k-danger);color:#fff}
.km-cb-steps small,.km-cb-tl time{font:500 10.5px/1.4 var(--k-mono);color:var(--k-dim);white-space:nowrap}
.km-cb-check li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;padding:3px 0;color:var(--k-ink2)}
.km-cb-check svg{margin-top:3px;color:var(--k-dim)}
.km-cb-check li.done svg{color:var(--k-acc);filter:drop-shadow(0 0 4px rgba(var(--k-acc-rgb),.6))}
.km-cb-check li.done span{color:var(--k-mute)}
.km-cb-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"bar pct" "lbl lbl";gap:4px 12px;align-items:center}
.km-cb-progress .km-cb-pbar{grid-area:bar}
.km-cb-progress small{grid-area:lbl;font-size:11.5px;color:var(--k-mute)}
.km-cb-progress em{grid-area:pct;font:600 12px/1 var(--k-mono);font-style:normal;color:var(--k-acc);font-variant-numeric:tabular-nums}
.km-cb-pbar.run i{width:35%;animation:km-card-run 1.3s ease-in-out infinite}
@keyframes km-card-run{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
/* a timeline: time · node · what happened */
.km-cb-tl li{position:relative;display:grid;grid-template-columns:44px 14px minmax(0,1fr);gap:8px;align-items:baseline;padding:4px 0;color:var(--k-ink2)}
.km-cb-tl time{text-align:right}
.km-cb-tl li>i{align-self:start;margin-top:6px;width:7px;height:7px;border-radius:50%;justify-self:center;background:rgba(var(--L),.5)}
.km-cb-tl li:not(:last-of-type)::after{content:"";position:absolute;left:58.5px;top:18px;bottom:-6px;width:1px;background:linear-gradient(180deg,rgba(var(--L),.24),rgba(var(--L),.05))}
.km-cb-tl li.km-tone-danger>i{background:var(--k-danger);box-shadow:0 0 8px rgba(var(--k-danger-rgb),.8)}
.km-cb-tl li.km-tone-amber>i{background:var(--k-amber);box-shadow:0 0 8px rgba(var(--k-amber-rgb),.8)}
.km-cb-tl li.km-tone-acc>i,.km-cb-tl li.km-tone-ok>i{background:var(--k-acc);box-shadow:0 0 8px rgba(var(--k-acc-rgb),.8)}
.km-cb-tl b{color:var(--k-ink);font-weight:600}
/* a table: no rules, rows of light, numbers right and mono */
.km-cb-table{display:flex;flex-direction:column;gap:5px}
.km-cb-tw{overflow-x:auto;border-radius:11px;background:rgba(var(--L),.035)}
.km-cb-tw table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.km-cb-tw th{padding:8px 11px 6px;font:600 10px/1.3 var(--k-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k-dim);white-space:nowrap;background:rgba(var(--L),.05)}
.km-cb-tw td{padding:7px 11px;color:var(--k-ink2);vertical-align:top}
.km-cb-tw tbody tr:nth-child(even) td{background:rgba(var(--L),.035)}
.km-cb-tw td.num{font-family:var(--k-mono);font-size:12px;color:var(--k-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.km-cb-table>small,.km-cb-table>.km-cb-more{font-size:11.5px;color:var(--k-mute);margin-top:0}
.km-cb-table>.km-cb-more{color:var(--k-acc)}
/* compare: things side by side; the best lit, the one you pick glows */
.km-cb-compare{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px}
.km-cb-cmp{display:flex;flex-direction:column;gap:6px;padding:11px 12px 12px;border-radius:14px;background:rgba(var(--L),.05);transition:background .2s,box-shadow .2s}
.km-cb-cmp[role=button]{cursor:pointer}
.km-cb-cmp[role=button]:hover{background:rgba(var(--L),.09)}
.km-cb-cmp.best{background:radial-gradient(130% 110% at 0% 0%,rgba(var(--k-acc-rgb),.14),transparent 60%),rgba(var(--L),.05)}
.km-cb-cmp.sel{background:radial-gradient(130% 110% at 0% 0%,rgba(var(--k-acc-rgb),.3),rgba(var(--k-acc-rgb),.08) 70%);box-shadow:0 0 28px -10px rgba(var(--k-acc-rgb),.85)}
.km-cb-cmp:focus-visible{outline:0;box-shadow:var(--k-focus)}
.km-cb-cmph{display:flex;align-items:center;gap:7px;min-width:0}
.km-cb-cmph b{font-weight:650;color:var(--k-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-cb-cmph em{flex:none;font:600 9.5px/16px var(--k-mono);font-style:normal;letter-spacing:.08em;padding:0 6px;border-radius:6px;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.14)}
.km-cb-cmp>small{font-size:11.5px;color:var(--k-mute);margin-top:-3px}
.km-cb-score{display:flex;align-items:center;gap:8px}
.km-cb-score i{flex:1;height:3px;border-radius:3px;background:rgba(var(--L),.15);position:relative;overflow:hidden}
.km-cb-score i::after{content:"";position:absolute;inset:0;width:calc(var(--p)*100%);background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.5),var(--k-acc));box-shadow:0 0 6px rgba(var(--k-acc-rgb),.7)}
.km-cb-score b{font:600 12px/1 var(--k-mono);color:var(--k-ink)}
.km-cb-cmp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--k-ink2)}
.km-cb-cmp li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:5px;align-items:start}
.km-cb-cmp li svg{margin-top:3px}
.km-cb-cmp ul.pro svg{color:var(--k-acc)}.km-cb-cmp ul.con svg{color:var(--km-con)}
/* a chart, drawn from plain series */
.km-cb-chart{position:relative;margin:0;padding:10px 12px 8px;border-radius:12px;background:rgba(var(--L),.04)}
.km-cb-chart svg{display:block;width:100%;height:112px;overflow:visible}
.km-ch-spark svg{height:40px}
.km-cb-chart .km-ch-line{fill:none;stroke:var(--k-acc);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(var(--k-acc-rgb),.7))}
.km-cb-chart .km-ch-line.km-ch-s1{stroke:var(--km-con);filter:drop-shadow(0 0 4px rgba(var(--km-con-rgb),.7))}
.km-cb-chart svg>*{stroke:none}
.km-ch-area{fill:rgba(var(--k-acc-rgb),.1);stroke:none}
.km-cb-chart .km-ch-dot{fill:none;stroke:var(--k-acc);stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(var(--k-acc-rgb),.9))}.km-cb-chart .km-ch-dot.km-ch-s1{stroke:var(--km-con)}
.km-cb-chart .km-ch-bar{fill:rgba(var(--k-acc-rgb),.75)}.km-cb-chart .km-ch-bar.km-ch-s1{fill:rgba(var(--km-con-rgb),.75)}
.km-cb-chart .km-ch-mark{stroke:rgba(var(--k-danger-rgb),.75);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.km-ch-plot{position:relative}
.km-ch-max{position:absolute;top:-3px;left:0;font:500 10px/1 var(--k-mono);color:var(--k-dim)}
.km-ch-mk{position:absolute;right:0;transform:translateY(-130%);font:500 10px/1.2 var(--k-mono);font-style:normal;color:var(--k-danger);white-space:nowrap}
.km-ch-x,.km-ch-legend{display:flex;justify-content:space-between;gap:10px;margin-top:5px;font:500 10px/1.2 var(--k-mono);color:var(--k-dim)}
.km-ch-legend{justify-content:flex-start;gap:14px}
.km-ch-legend span{display:inline-flex;align-items:center;gap:5px}
.km-ch-legend i{width:10px;height:2px;border-radius:2px;background:var(--k-acc)}
.km-ch-legend i.km-ch-s1{background:var(--km-con)}
.km-cb-code{margin:0;padding:10px 12px;border-radius:11px;max-height:220px;overflow:auto;background:rgba(var(--k-sh),.22);font:12px/1.55 var(--k-mono);color:var(--k-ink2);white-space:pre}
html:not([data-theme=night]) .km-cb-code{background:rgba(var(--L),.06)}
.km-cb-quote{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;margin:0;padding:2px 0;color:var(--k-ink2)}
.km-cb-quote>svg{color:var(--tc);margin-top:3px}
.km-cb-quote span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--k-mute)}
.km-cb-quote p{margin:3px 0 0}
.km-cb-refs{display:flex;flex-wrap:wrap;gap:6px}
.km-cb-ref{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;color:var(--k-ink2);background:rgba(var(--L),.07)}
.km-cb-ref svg{color:var(--k-acc)}
.km-cb-unknown{margin:0;font-size:12.5px;color:var(--k-mute)}
.km-cb-unknown i{font:500 10px/1 var(--k-mono);font-style:normal;letter-spacing:.1em;margin-right:7px;color:var(--k-dim)}
/* answers: a lit primary, the others as glass */
.km-card-ac{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 16px 12px}
.km-card-act{display:inline-flex;align-items:center;gap:6px}
.km-card-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 15px;border-radius:999px;font-size:13px;font-weight:600;color:var(--k-ink2);background:rgba(var(--L),.1);transition:box-shadow .15s,background .15s,color .15s,transform .1s}
.km-card-btn:hover:not(:disabled){color:var(--k-ink);background:rgba(var(--k-acc-rgb),.16)}
.km-card-btn:active:not(:disabled){transform:translateY(1px)}
.km-card-btn.km-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--k-acc) 86%,#fff),var(--k-acc));color:var(--k-on-acc);box-shadow:0 10px 24px -12px rgba(var(--k-acc-rgb),.95),0 0 18px -6px rgba(var(--k-acc-rgb),.6)}
.km-card-btn.km-primary:hover:not(:disabled){color:var(--k-on-acc);background:var(--k-acc);box-shadow:0 10px 24px -12px rgba(var(--k-acc-rgb),.95),0 0 26px -4px rgba(var(--k-acc-rgb),.8)}
.km-card-btn.km-danger{color:var(--k-danger);background:rgba(var(--k-danger-rgb),.1)}
.km-card-btn.km-danger:hover:not(:disabled){color:var(--k-danger);background:rgba(var(--k-danger-rgb),.18)}
.km-card-btn.confirm{color:var(--k-on-acc);background:var(--k-danger);box-shadow:0 0 22px -6px rgba(var(--k-danger-rgb),.9)}
.km-card-btn.busy svg{animation:km-card-spin .8s linear infinite}
@keyframes km-card-spin{to{transform:rotate(360deg)}}
.km-card-btn:disabled{opacity:.42;cursor:not-allowed}
.km-card-btn.busy:disabled{opacity:.75;cursor:progress}
.km-card-step{display:inline-flex;align-items:center;height:32px;border-radius:999px;background:rgba(var(--L),.1);padding:0 4px}
.km-card-step button{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--k-ink2)}
.km-card-step button:hover:not(:disabled){background:rgba(var(--k-acc-rgb),.16);color:var(--k-ink)}
.km-card-step button:disabled{opacity:.35}
.km-card-step b{min-width:18px;text-align:center;font:600 13px/1 var(--k-mono);color:var(--k-ink)}
.km-card-step small{color:var(--k-mute);margin:0 7px 0 2px;font-size:11.5px}
.km-card-pick{display:inline-flex;align-items:center;gap:2px;height:32px;padding:3px;border-radius:999px;background:rgba(var(--L),.08)}
.km-card-pick button{height:26px;padding:0 11px;border-radius:999px;font-size:12.5px;color:var(--k-ink2);transition:background .15s,box-shadow .15s}
.km-card-pick button:hover:not(:disabled){color:var(--k-ink)}
.km-card-pick button.on{color:var(--k-ink);background:rgba(var(--k-acc-rgb),.24);box-shadow:0 0 14px -4px rgba(var(--k-acc-rgb),.75)}
.km-card-in{height:32px;border-radius:999px;border:0;background:rgba(var(--L),.09);color:var(--k-ink);padding:0 14px;min-width:160px;font:inherit;font-size:13px}
.km-card-in:focus{outline:0;box-shadow:var(--k-focus)}
.km-card-wait{margin-left:auto;font-size:11.5px;color:var(--k-mute)}
.km-card-ft{display:flex;align-items:center;gap:10px;padding:0 16px 12px;font-size:11.5px;color:var(--k-mute);min-height:6px}
.km-card-ac+.km-card-ft{padding-top:2px}
.km-card-from{display:inline-flex;align-items:center;gap:4px;min-width:0}
.km-card-from>span:not(:last-child){margin-right:-6px}
.km-card-from>span:last-child{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-card-log{display:inline-flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}
.km-card-log time{font:500 10.5px/1 var(--k-mono);color:var(--k-dim)}
article.message.km-card-flash .km-card{animation:km-card-flash 1.5s ease-out}
@keyframes km-card-flash{0%{box-shadow:0 0 0 2px rgba(var(--k-acc-rgb),.5),0 0 40px rgba(var(--k-acc-rgb),.5)}100%{box-shadow:0 0 0 2px rgba(var(--k-acc-rgb),0),0 0 40px rgba(var(--k-acc-rgb),0)}}
/* narrow (the universe's chat window, a phone): columns stack */
@container kmcard (max-width:460px){
  .km-card-hd{gap:10px;padding:13px 13px 9px}.km-card-bd{padding:2px 13px 13px}.km-card-ac{padding:4px 13px 11px}.km-card-ft{padding:0 13px 11px}
  .km-cb-compare{grid-template-columns:minmax(0,1fr)}
  .km-cb-opt{grid-template-columns:minmax(0,1fr) 56px 38px}.km-cb-ov{display:none}
  .km-cb-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.km-cb-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .km-cb-metrics>div:last-child:nth-child(odd){grid-column:1/-1}   /* an odd one out takes the whole row, not half of it */
  .km-cb-metrics .km-delta{position:static;margin-top:3px}   /* the change sits under its name, not over a long value */
  .km-card-wait{margin-left:0;width:100%}.km-card-log{max-width:48%}
  .km-card-st{padding:0 9px 0 8px}
}
@container kmcard (max-width:340px){.km-card-hd{grid-template-columns:auto minmax(0,1fr)}.km-card-st{grid-column:1/-1;justify-self:start}.km-cb-tl li{grid-template-columns:38px 12px minmax(0,1fr)}.km-cb-tl li:not(:last-of-type)::after{left:49.5px}}
/* glows and motion follow the visual effects (src/kmind/fx.js) */
body.fx-off-uiGlow .km-card-btn.km-primary,body.fx-off-uiGlow .km-card-btn.km-primary:hover,body.fx-off-uiGlow .km-card-ic,body.fx-off-uiGlow .km-cb-verdict,body.fx-off-uiGlow .km-cb-cmp.sel{box-shadow:none!important}
body.fx-off-uiGlow .km-card::after{display:none}
body.fx-off-uiGlow .km-cb-chart :is(.km-ch-line,.km-ch-dot){filter:none}
body.fx-off-ui .km-card *,body.fx-off-ui .km-card{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.km-card *{animation:none!important}}
/* in 动态: a card waiting for you, as one line */
.km-ow-card-need .km-ow-av{display:grid;place-items:center}
.km-ow-pri{font:600 9.5px/16px var(--k-mono);font-style:normal;letter-spacing:.1em;padding:0 6px;margin-left:6px;border-radius:6px;color:var(--k-danger);background:rgba(var(--k-danger-rgb),.14);vertical-align:2px}
/* the card button in the composer, and its menu */
.km-card-tool{color:var(--k-ink2)}
.km-card-tool:hover{color:var(--k-acc)}
.km-card-menu{position:fixed;z-index:60;min-width:190px;padding:6px;border-radius:16px;background:linear-gradient(180deg,rgba(var(--k-layer-rgb),.08),rgba(var(--k-layer-rgb),.03)),rgba(var(--k-bg-rgb),.94);border:1px solid var(--k-edge);box-shadow:0 26px 50px -22px rgba(var(--k-sh),.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.km-card-menu[hidden]{display:none}
.km-card-menu-h{display:flex;align-items:baseline;gap:8px;padding:6px 10px 6px}
.km-card-menu-h b{font-size:13px;color:var(--k-ink)}
.km-card-menu-h span{font:500 9.5px/1 var(--k-mono);letter-spacing:.16em;color:var(--k-dim)}
.km-card-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:9px;color:var(--k-ink2);font-size:13.5px;text-align:left}
.km-card-menu button:hover:not(:disabled){background:rgba(var(--k-acc-rgb),.12);color:var(--k-ink)}
.km-card-menu button:disabled{opacity:.4}
.km-cf .km-cf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.km-cf-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px 3px 4px;border-radius:999px;background:rgba(var(--k-layer-rgb),.07);box-shadow:inset 0 0 0 1px var(--k-edge2);cursor:pointer;font-size:13px;color:var(--k-ink2);transition:background .15s,box-shadow .15s}
.km-cf-chip:hover{background:rgba(var(--k-layer-rgb),.12)}
.km-cf-chip input{position:absolute;opacity:0;pointer-events:none}
.km-cf-chip:has(input:checked){color:var(--k-ink);background:rgba(var(--k-acc-rgb),.22);box-shadow:0 0 16px -5px rgba(var(--k-acc-rgb),.8)}
html:not([data-theme=night]) .km-cf-chip:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--k-acc)}
.km-cf-chip:has(input:focus-visible){box-shadow:var(--k-focus)}
.km-cf-row{display:flex;align-items:center;gap:14px;margin-top:6px}
.km-cf-step{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 4px;border-radius:999px;background:rgba(var(--k-layer-rgb),.09);box-shadow:inset 0 0 0 1px var(--k-edge2)}
.km-cf-step button{width:26px;height:26px;border-radius:50%}
.km-cf-step button:hover{background:var(--k-hover);color:var(--k-acc)}
.km-cf-step b{min-width:16px;text-align:center;font-family:var(--k-mono)}
.km-cf textarea.field{resize:vertical;min-height:84px}
@media(max-width:520px){.km-card{max-width:none}}
/* V18 · 动态's “等你决定”: each line is the brief, opened it shows the details (a card whole, a request's mail, a question) */
.km-ow-nwrap{display:flex;flex-direction:column}
.km-ow-nt{cursor:pointer;border-radius:8px;outline-offset:2px}
.km-ow-nt:hover b{color:var(--k-acc)}
.km-ow-nchev svg{transition:transform .2s}
.km-ow-nwrap.open .km-ow-nchev svg{transform:rotate(180deg)}
.km-ow-nwrap.open>.km-ow-need{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}
.km-ow-nx{margin:4px 2px 8px 2px;padding:0 0 0 42px;animation:km-ow-nx .18s ease-out}
.km-ow-nx .km-card{margin:2px 0 0;max-width:none}
@keyframes km-ow-nx{from{opacity:0;transform:translateY(-4px)}}
.km-ow-nd{padding:11px 13px;border-radius:13px;background:linear-gradient(180deg,rgba(var(--k-layer-rgb),.07),rgba(var(--k-layer-rgb),.03)),rgba(var(--k-bg-rgb),.6);box-shadow:inset 0 0 0 1px var(--k-edge2);font-size:13px;color:var(--k-ink2)}
.km-ow-nd-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--k-mute)}
.km-ow-nd-h b{color:var(--k-ink);font-weight:650}
.km-ow-nd-h time{margin-left:auto;font:500 10.5px/1 var(--k-mono);color:var(--k-dim)}
.km-ow-nd p{margin:7px 0 0;line-height:1.55;color:var(--k-ink)}
.km-ow-nd-att{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.km-ow-nd-att span,.km-ow-nd-at{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--k-ink2)}
.km-ow-nd-att span{padding:3px 10px;border-radius:999px;background:rgba(var(--k-layer-rgb),.08)}
.km-ow-nd-at{margin-top:8px;color:var(--k-mute)}
@media(max-width:520px){.km-ow-nx{padding-left:0}}
body.fx-off-ui .km-ow-nx{animation:none}
