/* KMind 宇宙交互 V17 · the KMind layer's look inside 面板视图 (白昼 and 夜间 through the --k-* tokens, blue content).
   People are round, agents are rounded diamonds (the KMind mark: a diamond joined to a circle). */
.km-mark{width:2.1em;height:1.2em;flex:none;vertical-align:-.2em;overflow:visible}   /* V29: the brand's own mark, in its own colours (KM.MARK) */

/* ---- avatars: the shape rule ---- */
.avatar.km-av.km-agent{background:transparent!important;border-radius:0!important;overflow:visible;box-shadow:none}
.km-agent .km-shape{position:absolute;inset:0;background:var(--km-c,var(--k-acc));color:var(--k-on-acc);display:flex;align-items:center;justify-content:center;overflow:hidden;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.km-agent .km-shape svg{width:46%;height:46%}
.km-agent .km-shape b{font-weight:750;font-size:.92em}
.km-agent .km-shape img{width:100%;height:100%;object-fit:cover}
.km-av.km-human img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.km-av.km-human{border-radius:50%!important}
.km-gone{opacity:.42;filter:grayscale(1)}
.km-avbox{display:inline-flex;width:var(--s);height:var(--s);flex:none;position:relative;vertical-align:middle}
.km-avbox>.avatar{width:var(--s)!important;height:var(--s)!important;font-size:calc(var(--s) * .4)!important;min-width:0;margin:0}
.km-avbox>.avatar .dot{display:none}

/* ---- names ---- */
.km-tag{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border-radius:5px;font-size:10px;font-weight:650;line-height:16px;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.07);border:1px solid rgba(var(--k-acc-rgb),.2);vertical-align:1px;white-space:nowrap;letter-spacing:.02em}
.member .name .km-tag{margin-left:5px;font-size:9px;line-height:14px;padding:0 4px}
.km-mention{white-space:nowrap}

/* ---- titlebar ---- */
.km-mode-btn{margin:0}
/* V6 · the view switch: the same size, look and place in both views — far right of a 44px top band */
.app{grid-template-rows:44px minmax(0,1fr)!important}
.titlebar{height:44px!important}
.titlebar .tright{right:12px!important;gap:6px!important;align-items:center}
.km-view-switch{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:30px!important;width:118px;padding:0 12px!important;border-radius:999px!important;border:1px solid var(--k-acc)!important;background:var(--k-acc)!important;color:var(--k-on-acc)!important;font-size:12.5px!important;font-weight:650!important;white-space:nowrap;cursor:pointer;flex:none;margin:0!important;box-shadow:0 4px 14px rgba(var(--k-acc-rgb),.22)}
.km-view-switch:hover{background:var(--k-acc2)!important;border-color:var(--k-acc2)!important}
.km-view-switch svg{width:15px;height:15px;flex:none}
@media(max-width:700px){.km-view-switch{width:34px;padding:0!important}.km-view-switch span{display:none}}
body.kmu-phone .km-view-switch{width:34px;padding:0!important}
@media (max-width:700px){.km-strip .km-faces,.km-strip .km-human-chip{display:none}}
@media (max-width:900px){body:not(.km-u) .channelhead .searchbox{display:none}}
.titlebar .smallmark[data-km]{background:none;width:auto;border-radius:0}
.titlebar .smallmark .km-mark{width:24px;height:14px;vertical-align:-3px}

/* ---- the planet strip under a channel header ---- */
.km-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 16px;border-bottom:1px solid var(--line);background:linear-gradient(var(--k-tint),var(--k-bg2));font-size:12px;min-width:0}
.km-chip,.km-chip-btn{display:inline-flex;gap:5px;align-items:center;height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(var(--k-acc-rgb),.2);color:var(--k-ink);background:var(--k-bg);font-size:11.5px;white-space:nowrap;line-height:1;cursor:default}
.km-chip-btn{cursor:pointer}
.km-chip-btn:hover{border-color:var(--k-acc);background:var(--k-hover)}
.km-chip-btn b{font-weight:700;color:var(--k-acc)}
.km-chip .km-mark{width:19px;height:11px}
.km-human-chip{border-color:var(--k-amber-line);color:var(--k-amber-ink);background:var(--k-amber-bg);cursor:pointer}
.km-primary{background:var(--k-acc)!important;border-color:var(--k-acc)!important;color:var(--k-on-acc)!important}
.km-primary:hover{background:var(--k-acc2)!important}
.km-lv-public{color:var(--k-ink2);border-color:var(--k-line)}
.km-lv-core,.km-lv-roles,.km-lv-private{color:var(--k-acc2);background:var(--k-sel)}
.km-faces{display:inline-flex;align-items:center;padding-left:4px}
.km-faces button{margin-left:-3px;display:inline-flex;border-radius:4px}
.km-faces em{font-style:normal;font-size:11px;color:var(--muted);margin-left:4px}
.km-note{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}

/* ---- the mother planet's sidebar: your agents ---- */
.km-side{margin-bottom:2px}
.km-cat .category-label{cursor:default}
.km-agent-row{display:flex;align-items:center;border-radius:6px;margin:1px 0}
.km-agent-row:hover,.km-agent-row.active{background:var(--hover)}
.km-agent-row.active{background:var(--selected)}
.km-agent-open{flex:1;display:flex!important;gap:10px;align-items:center;text-align:left;padding:5px 8px;min-width:0;background:none}
.km-agent-open>span:not(.avatar):not(.dm-badge){min-width:0;display:flex;flex-direction:column;flex:1}
.km-agent-open b{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-agent-open small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-more{opacity:0;width:26px;height:26px;margin-right:4px;flex:none}
.km-agent-row:hover .km-more,.km-agent-row.active .km-more{opacity:1}
.km-side-actions{display:flex;flex-direction:column;gap:1px;margin:4px 0 2px}
.km-side-actions .utility{display:flex;gap:8px;align-items:center}
.km-invite-row{display:flex!important;gap:9px;align-items:center;width:100%;text-align:left;padding:8px 9px;margin:6px 0;border-radius:8px;border:1px dashed rgba(var(--k-acc-rgb),.4);background:var(--k-tint);color:var(--k-ink)}
.km-invite-row .km-mark{width:26px;height:15px}
.km-invite-row span{display:flex;flex-direction:column;min-width:0}
.km-invite-row b{font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-invite-row small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- profile: the agent section ---- */
.km-profile-agent{margin:12px 0 4px;padding:12px;border:1px solid rgba(var(--k-acc-rgb),.18);border-radius:10px;background:var(--k-bg2)}
.km-pa-row{display:flex;flex-wrap:wrap;gap:6px}
.km-pa-does{margin:10px 0 2px;font-size:13px;color:var(--text);display:flex;flex-direction:column;gap:2px}
.km-pa-does small{color:var(--muted);font-size:11.5px}
.km-pa-st{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:12.5px;min-width:0}
.km-pa-st span{color:var(--muted);white-space:nowrap}
.km-pa-st b{font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-pa-st em{font-style:normal;font-size:11px;color:var(--k-acc);white-space:nowrap}
.km-pa-st .outline{margin:0;padding:3px 8px;font-size:11px}
.km-agent-profile .avatar{background:transparent}
.avatar.km-agent{border-color:transparent!important}

/* ---- dialogs ---- */
.km-mini{margin-top:0!important;padding:4px 10px!important;font-size:11px!important}
.km-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px}
.km-icon-grid label{cursor:pointer}
.km-icon-grid input,.km-swatches input{position:absolute;opacity:0;pointer-events:none}
.km-icon-grid span{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;border:1px solid var(--k-fline);background:var(--k-bg);color:var(--k-ink2)}
.km-icon-grid input:checked+span{background:var(--k-acc);border-color:var(--k-acc);color:var(--k-on-acc)}
.km-icon-grid input:focus-visible+span{outline:2px solid var(--k-acc);outline-offset:2px}
.km-checks{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12.5px;color:var(--text)}
.km-checks label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.km-checks i{width:10px;height:10px;border-radius:50%;display:inline-block}
.km-checks small{color:var(--muted);font-size:10.5px}
.km-choices{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto;padding-right:2px}
.km-choices label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--k-fline);border-radius:8px;background:var(--k-bg);cursor:pointer}
.km-choices label:has(input:checked){border-color:var(--k-acc);background:var(--k-hover)}
.km-choices span{display:flex;flex-direction:column;gap:2px;min-width:0}
.km-choices b{font-size:13px;font-weight:600}
.km-choices small{font-size:11px;color:var(--muted)}
.km-choices .km-off{opacity:.5;cursor:not-allowed}
.km-hub{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding-right:2px}
.km-hub-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--k-fline);border-radius:10px;background:var(--k-bg);flex-wrap:wrap}
.km-hub-row.km-locked{background:var(--k-tint)}
.km-hub-row.km-locked .km-hub-ic{color:var(--k-dim)}
.km-hub-ic{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--k-sel);color:var(--k-acc)}
.km-hub-main{flex:1;min-width:180px;display:flex;flex-direction:column;gap:3px}
.km-hub-main b{font-size:13px;font-weight:650}
.km-hub-main small{font-size:11px;color:var(--muted)}
.km-hub-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.km-hub-roles i,.km-hub-roles em{font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--k-fline);color:var(--k-ink3);background:var(--k-bg)}
.km-hub-roles em{border-style:dashed;color:var(--k-dim)}
.km-hub-roles em.ok{border-style:solid;border-color:rgba(var(--k-acc-rgb),.35);color:var(--k-acc);background:var(--k-hover)}
.km-hub-edit{flex-basis:100%;font-size:12px}
.km-hub-edit summary,.km-add summary{cursor:pointer;color:var(--k-acc);font-size:12px;font-weight:600}
.km-hub-edit form{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding-top:8px}
.km-hub-edit label{display:inline-flex;gap:5px;align-items:center}
.km-hub-edit .form-note{flex-basis:100%;margin:0}
.km-add{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.km-tpls{display:flex;flex-direction:column;gap:10px;max-height:56vh;overflow:auto;padding-right:2px}
.km-tpl{border:1px solid var(--k-fline);border-radius:10px;padding:12px;background:var(--k-bg)}
.km-tpl header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.km-tpl header b{font-size:14px;font-weight:650}
.km-tpl header small{color:var(--muted);font-size:11px;flex:1}
.km-tpl>p{margin:6px 0 8px;font-size:12px;color:var(--secondary)}
.km-slot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}
.km-slot>span{display:flex;flex-direction:column;min-width:96px}
.km-slot b{font-size:12.5px;font-weight:600}
.km-slot small{font-size:10.5px;color:var(--muted)}
.km-slot .field{width:auto;flex:1;min-width:150px;padding:6px 8px}
.km-tpl .footer-actions .primary{margin-top:8px}
.km-slot-rows{display:flex;flex-direction:column;gap:6px}
.km-slot-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 58px 30px;gap:6px;align-items:center}
.km-slot-row .field{padding:7px 8px}
.km-swatches{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.km-swatches label{cursor:pointer;display:inline-flex}
.km-swatches span{width:26px;height:26px;border-radius:50%;display:block;box-shadow:inset 0 0 0 2px rgba(var(--k-bg-rgb),.6)}
.km-swatches input:checked+span{outline:2px solid var(--k-acc);outline-offset:2px}
.km-custom-color input{width:30px;height:28px;border:0;padding:0;background:none;cursor:pointer}
.km-av-preview{display:flex;justify-content:center;padding:4px 0 8px}
.km-topics{display:flex;flex-direction:column;gap:6px}
.km-topic{display:flex!important;gap:10px;align-items:center;text-align:left;padding:9px 10px;border:1px solid var(--k-fline);border-radius:9px;background:var(--k-bg);width:100%}
.km-topic:hover{border-color:var(--k-acc);background:var(--k-hover)}
.km-topic span:not(.km-avbox){display:flex;flex-direction:column;min-width:0}
.km-topic b{font-size:13px;font-weight:600}
.km-topic small{font-size:11px;color:var(--muted)}
.km-invite{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.km-invite>.km-mark{width:44px;height:25px}
.km-invite p{margin:0;font-size:14px;display:flex;flex-direction:column;gap:2px}
.km-invite p small{color:var(--muted);font-size:12px}
.km-invite code{font-size:12px;padding:3px 8px;border-radius:6px;background:var(--k-sel);color:var(--k-acc2)}
.form-error.km-err{color:var(--k-danger);font-size:12px;margin:8px 0 0}

/* narrow screens (the discord view on a phone): the planet strip scrolls sideways, the switch keeps only its icon */
@media(max-width:700px){.km-strip{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:6px 10px}.km-strip::-webkit-scrollbar{display:none}.km-mode-btn span{display:none}.km-mode-btn{padding:0 7px!important;margin-right:3px}}

/* the page's own type (embedded, SIL OFL): Inter Tight for Latin, IBM Plex Sans SC for Chinese */
:root{--font:"Inter Tight","Plex SC",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}

.km-pa-k{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:4px;background:var(--k-sel);color:var(--k-acc);flex:none}
.km-tag-own{background:var(--k-acc);color:var(--k-on-acc);border-color:var(--k-acc)}

/* portraits */
.km-portrait{display:block;width:100%;height:100%}
.km-agent .km-shape .km-portrait{width:100%;height:100%}
.km-human .km-portrait{border-radius:50%}
.km-portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}
.km-portrait-grid label{cursor:pointer;display:flex;justify-content:center}
.km-portrait-grid input{position:absolute;opacity:0;pointer-events:none}
.km-tile{display:block;width:42px;height:42px;background:var(--km-c);overflow:hidden}
.km-tile.circ{border-radius:50%}
.km-tile.dia{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.km-portrait-grid input:checked+.km-tile{outline:2px solid var(--k-acc);outline-offset:2px}
.km-portrait-grid input:checked+.km-tile.dia{filter:drop-shadow(0 0 0 var(--k-acc)) drop-shadow(0 0 3px rgba(var(--k-acc-rgb),.9))}

/* the core's community bars, folded into the 管理 menu */
.km-folded{display:none!important}
.km-menu{position:fixed;z-index:3500;min-width:180px;padding:5px;border-radius:10px;background:var(--k-bg);border:1px solid var(--k-line);box-shadow:0 16px 40px rgba(var(--k-sh),.18);display:flex;flex-direction:column;gap:2px}
.km-menu[hidden]{display:none}
.km-menu-item{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:7px;border:0;background:none;color:var(--k-ink);font-size:12.5px;cursor:pointer}
.km-menu-item:hover{background:var(--k-hover);color:var(--k-acc)}
.km-more-btn::after{content:'';display:inline-block;width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translate(-2px,-1px);margin-left:2px}
.km-theme-btn{color:var(--muted)}

/* the image upload: a quiet button instead of the browser's own file field */
.km-file{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:8px;border:1px dashed var(--k-line2,var(--k-line));color:var(--k-ink2);font-size:12.5px;font-weight:600;cursor:pointer;position:relative}
.km-file:hover{border-color:var(--k-acc);color:var(--k-acc)}
.km-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
/* the direct-messages search: a quiet field, not a heading */
.serverhead>.dm-search{height:30px;padding:0 10px;border-radius:7px;background:var(--k-tint);border:1px solid var(--k-line);font-size:12.5px;font-weight:500;color:var(--k-mute)}
.serverhead>.dm-search:hover{color:var(--k-ink2)}
/* 发现 · universes */
.km-uni-cover{display:grid;place-items:center;background:radial-gradient(120% 120% at 20% 10%,rgba(var(--k-acc-rgb),.95),rgba(var(--k-acc-rgb),.55) 55%,rgba(var(--k-acc-rgb),.25))!important}
.km-uni-cover span{font-size:34px;font-weight:750;color:#fff;letter-spacing:.02em}
.km-uni-card p small{display:block;margin-top:4px;font:500 9.5px/1.4 "JetBrains Mono",monospace;letter-spacing:.12em;color:var(--k-dim);text-transform:uppercase}
.km-uni-card .foot>span{color:var(--k-mute);font-size:11.5px}
.km-uni-new{margin-top:20px}
#dialog form[data-kmform] .form-grid+.form-grid,#dialog form[data-kmform] .form-grid+label{margin-top:12px}
.km-del{color:var(--k-danger)!important}
.km-del:hover{background:var(--k-danger)!important;color:#fff!important;border-color:var(--k-danger)!important}

/* V7 · orbit colours: a dot before each orbit's name, its planets' # marks, and the colour picker (both views) */
.km-orbit-dot{width:16px;height:16px;flex:none;display:inline-grid;place-items:center;padding:0;margin:0 1px 0 -3px;border:0;border-radius:50%;background:none;cursor:default}
.km-orbit-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--km-oc,var(--k-acc));box-shadow:0 0 0 2.5px color-mix(in srgb,var(--km-oc,var(--k-acc)) 16%,transparent);transition:transform .15s}
button.km-orbit-dot{cursor:pointer}
button.km-orbit-dot:hover::before,button.km-orbit-dot:focus-visible::before{transform:scale(1.3)}
button.km-orbit-dot:focus-visible{outline:2px solid var(--k-acc);outline-offset:1px}
.km-orbit-list [data-action="channel"] .hash{color:var(--km-oc);opacity:.78}
.km-orbit-list [data-action="channel"]:hover .hash,.km-orbit-list [data-action="channel"].active .hash{opacity:1}
.km-orbit-pop{min-width:0;width:232px;padding:10px 10px 9px;gap:0}
.km-op{display:flex;flex-direction:column;gap:9px}
.km-op-head{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:12px;color:var(--k-ink)}
.km-op-head b{font-weight:650;flex:none}
.km-op-head span{color:var(--k-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-op-sw{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.km-sw{width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--sw);cursor:pointer;justify-self:center;box-shadow:inset 0 0 0 1px rgba(var(--k-sh),.08);transition:transform .12s}
button.km-sw:hover{transform:scale(1.12)}
.km-sw[aria-pressed="true"],.km-sw.on{box-shadow:0 0 0 2px var(--k-bg),0 0 0 3.5px var(--sw)}
.km-op-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:8px;border-top:1px solid var(--k-line)}
.km-op-own,.km-op-def{position:relative;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px 0 4px;border:1px solid var(--k-line);border-radius:999px;background:none;color:var(--k-ink2);font-size:12px;cursor:pointer;white-space:nowrap}
.km-op-own:hover,.km-op-def:not(:disabled):hover{border-color:var(--k-acc);color:var(--k-acc)}
.km-op-own .km-sw,.km-op-def .km-sw{width:16px;height:16px;cursor:inherit}
.km-op-own .km-sw:not(.on){background:conic-gradient(#1450E8,#8733C4,#CF4237,#B06800,#0A7DB0,#1450E8)}
.km-op-own input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}
.km-op-def:disabled{opacity:.45;cursor:default}
.km-op-def:disabled .km-sw{box-shadow:inset 0 0 0 1px rgba(var(--k-sh),.08)}
.lc-category-row h3{display:flex;align-items:center;gap:6px}
.lc-category-row .km-orbit-dot{margin:0}
.km-orbit-btn{display:inline-flex;align-items:center;gap:6px}
.km-orbit-btn::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--km-oc)}
.km-op-inline{margin:2px 0 10px;padding:10px 12px;border:1px solid var(--k-line);border-radius:10px;background:var(--k-bg2);max-width:300px}

/* V8 · who is who: whose agent (the owner's initial on a small circle at the diamond's corner), roles next to names, your own role */
.km-owner{position:absolute;right:-4px;bottom:-4px;z-index:2;width:46%;height:46%;min-width:13px;min-height:13px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 9px/1 'Plex SC','Inter Tight',sans-serif;font-style:normal;box-shadow:0 0 0 1.5px var(--k-bg);pointer-events:none}
.km-avbox .km-owner{font-size:calc(var(--s) * .24)}
.km-role{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border-radius:5px;font-size:10px;font-weight:650;line-height:16px;color:var(--k-ink2);border:1px solid var(--k-line);vertical-align:1px}
.km-role-owner,.km-role-host{color:var(--k-amber-ink);background:var(--k-amber-bg);border-color:var(--k-amber-line)}
.member .name .km-role{margin-left:5px;font-size:9px;line-height:14px;padding:0 4px}
.km-myrole{margin-left:2px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:650;line-height:19px;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.09);white-space:nowrap}
.userbar .user small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* V9 · the model behind an agent: a picker in the agent's form, a chip wherever the agent is shown */
.km-llm-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-llm-chip::before{content:"";flex:none;width:6px;height:6px;border-radius:1.5px;transform:rotate(45deg);background:var(--k-acc);opacity:.75}
.km-chip.km-llm-chip{color:var(--k-ink2)}
.km-llm{position:relative}
.km-llm-now{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--k-fline);background:var(--k-bg);border-radius:8px;padding:8px 12px;color:var(--text);min-height:46px}
.km-llm-now:hover,.km-llm-now[aria-expanded=true]{border-color:var(--k-acc)}
.km-llm-now>svg{flex:none;color:var(--k-mute)}
.km-llm-now[aria-expanded=true]>svg{transform:rotate(180deg)}
.km-llm-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.km-llm-name b{font-size:13.5px;font-weight:650;color:var(--k-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-llm-name small{font-size:11px;color:var(--k-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-llm em{flex:none;font-style:normal;font-size:10.5px;line-height:16px;color:var(--k-acc);border:1px solid rgba(var(--k-acc-rgb),.3);border-radius:9px;padding:0 6px}
.km-llm-panel{margin-top:6px;border:1px solid var(--k-fline);border-radius:10px;background:var(--k-bg);overflow:hidden}
.km-llm-search{padding:8px;border-bottom:1px solid var(--k-line2)}
.km-llm-search .field{padding:7px 10px;font-size:12.5px}
.km-llm-list{max-height:min(300px,42dvh);overflow:auto;padding:2px 6px 8px;overscroll-behavior:contain}
.km-llm-sec{font:600 10px/1 "JetBrains Mono",monospace;letter-spacing:.14em;color:var(--k-dim);padding:14px 6px 4px}
.km-llm-maker>span{display:flex;gap:6px;align-items:baseline;font-size:11.5px;font-weight:650;color:var(--k-ink3);padding:7px 8px 3px}
.km-llm-maker>span small{font-weight:400;font-size:10.5px;color:var(--k-dim)}
.km-llm-opt{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:6px 8px;border-radius:6px;font-size:13px;color:var(--text);min-height:32px}
.km-llm-opt b{flex:1;min-width:0;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-llm-opt:hover,.km-llm-opt:focus-visible{background:var(--k-hover);outline:none}
.km-llm-opt.on{background:var(--k-sel)}
.km-llm-opt.on b{color:var(--k-acc);font-weight:650}
.km-llm-tag{flex:none;font-style:normal;font-size:10px;line-height:16px;color:var(--k-mute);border:1px solid var(--k-line2);border-radius:4px;padding:0 5px}
.km-llm-tag.o{color:var(--k-ink2);border-color:rgba(var(--k-acc-rgb),.22)}
.km-llm-custom{display:flex;gap:6px;padding:4px 8px}
.km-llm-custom .field{flex:1;padding:6px 10px;font-size:12.5px}
.km-llm-custom .outline{flex:none}
.km-llm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;border-top:1px solid var(--k-line2);font-size:11.5px;color:var(--k-mute)}
.km-llm-setdef{font-size:12px;color:var(--k-acc);padding:4px 8px;border-radius:6px}
.km-llm-setdef:hover{background:var(--k-hover)}
.km-llm-setdef:disabled{opacity:.4;cursor:default;background:none}
/* V9 · put-back core functions: the universe menu's extras, 发现's public universes and ways back in, the DM list's footer */
.servermenu button.km-menu-danger{color:var(--k-danger)}
.servermenu button.km-menu-danger:hover{background:var(--k-danger);color:#fff}
.km-pub-title{margin-top:30px}
.km-pub-card .discover-cover{background:linear-gradient(135deg,rgba(var(--k-acc-rgb),.08),rgba(var(--k-acc-rgb),.02));border:1px dashed rgba(var(--k-acc-rgb),.3)}
.km-discover-more{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--k-line2)}
.km-discover-more .outline{display:inline-flex;align-items:center;gap:7px}
.km-dm-more{display:flex;flex-direction:column;gap:2px;margin:14px 0 4px;padding-top:10px;border-top:1px solid var(--k-line2)}
.km-dm-link{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 11px;border-radius:6px;color:var(--muted);font-size:13px;text-align:left}
.km-dm-link:hover{background:var(--hover);color:var(--text)}
/* V9 · voice planets in 面板视图: the room's people are the core's own row */
.km-llm-side{display:flex;flex-direction:column;gap:2px;margin:10px 0 0}
.km-llm-side .km-llm-chip{font-size:12.5px;font-weight:650;color:var(--k-ink)}
.km-llm-side small{font-size:11px;color:var(--k-mute);padding-left:11px}

/* V10 · 资产中枢 | 知识中枢 — the two hubs of a planet, on either side of its terminator line (day | night) */
.km-hub-tabs{position:relative;display:grid;grid-template-columns:1fr 18px 1fr;align-items:stretch;margin:0 0 12px;border:1px solid var(--k-fline);border-radius:12px;overflow:hidden;
  background:linear-gradient(90deg,var(--k-bg) 0%,var(--k-bg) 46%,rgba(10,22,60,.07) 54%,rgba(10,22,60,.16) 100%)}
.km-hub-tab{display:flex;align-items:center;gap:8px;padding:10px 12px;border:0;background:transparent;color:var(--k-ink2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;min-height:42px;text-align:left}
.km-hub-tab span{flex:1}
.km-hub-tab b{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.04em;color:var(--k-dim)}
.km-hub-tab.on{color:var(--k-acc)}
.km-hub-tab.on b{color:var(--k-acc)}
.km-hub-tab:hover{color:var(--k-acc)}
.km-hub-tab:focus-visible{outline:2px solid var(--k-acc);outline-offset:-3px}
.km-hub-tabs::after{content:"";position:absolute;bottom:0;height:2px;width:calc(50% - 9px);left:0;background:var(--k-acc);transition:left .25s ease}
.km-hub-tabs.km-hub-knowledge::after{left:calc(50% + 9px)}
/* the terminator: a bowed hairline between day and night, with a tick at each end */
.km-term{position:relative;display:block}
.km-term::before{content:"";position:absolute;top:-2px;bottom:-2px;left:3px;width:12px;border-left:1px solid rgba(var(--k-acc-rgb),.55);border-radius:50%/50%;transform:scaleX(1)}
.km-term::after{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(var(--k-acc-rgb),.6) 0 4px,transparent 4px calc(100% - 4px),rgba(var(--k-acc-rgb),.6) calc(100% - 4px))}
html[data-theme=night] .km-hub-tabs{background:linear-gradient(90deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.05) 46%,rgba(0,0,0,.2) 54%,rgba(0,0,0,.42) 100%)}
.km-chip-btn.km-hub-knowledge,.kmu-pill.km-hub-knowledge{background-image:linear-gradient(90deg,transparent,rgba(10,22,60,.06))}

/* V10 · 成员排序: by role group (the core's) or by owner (each person with the agents they made) */
.km-msort{display:flex;align-items:center;gap:2px;margin:2px 8px 8px;padding:2px;border:1px solid var(--k-fline);border-radius:8px;font-size:11.5px}
.km-msort span{color:var(--k-dim);padding:0 6px 0 4px;flex:none}
.km-msort button{flex:1;height:24px;border:0;border-radius:6px;background:none;color:var(--k-ink2);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.km-msort button:hover{color:var(--k-acc)}
.km-msort button.on{background:var(--k-sel);color:var(--k-acc)}
.member-directory .km-msort{max-width:320px;margin:0 0 12px}
.km-owner-head{color:var(--k-ink2)!important}
.member.km-msort-agent{padding-left:18px;position:relative}
.member.km-msort-agent::before{content:"";position:absolute;left:9px;top:-4px;bottom:50%;width:6px;border-left:1px dashed var(--k-fline);border-bottom:1px dashed var(--k-fline);border-bottom-left-radius:4px}

/* V13 · 插件 PLUGINS in the 资产中枢, and what an agent carries (its full card). Both looks through the --k-* tokens. */
.km-hub-sec{font-size:10.5px;font-weight:650;letter-spacing:.1em;color:var(--k-dim);margin:6px 2px 0}
.km-hub-sec:first-child{margin-top:0}
.km-hub-plug .km-hub-ic{background:linear-gradient(135deg,rgba(var(--k-acc-rgb),.16),rgba(var(--k-acc-rgb),.05))}
.km-plug-k{font-style:normal;font-size:10px;font-weight:650;margin-left:7px;padding:1px 7px;border-radius:999px;color:var(--k-acc);background:var(--k-hover);vertical-align:1px}
.km-carry{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}
.km-carry-h{font-size:10.5px;font-weight:650;letter-spacing:.08em;color:var(--k-dim);margin:6px 0 2px}
.km-carry-row{display:flex;align-items:center;gap:9px;padding:5px 0;min-width:0}
.km-carry-row+.km-carry-row{border-top:1px solid var(--line)}
.km-carry-ic{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--k-sel);color:var(--k-acc)}
.km-carry-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.km-carry-main b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-carry-main small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-carry-row.km-locked .km-carry-ic{color:var(--k-dim);background:var(--k-tint)}
.km-carry-row.km-locked b{color:var(--k-dim)}
.km-carry-x{flex:none;width:24px;height:24px;border-radius:7px;border:0;background:transparent;color:var(--k-dim);font-size:15px;line-height:1;cursor:pointer}
.km-carry-x:hover{background:var(--k-hover);color:var(--k-acc)}
.km-carry-add>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--k-acc);padding:6px 0;list-style:none}
.km-carry-add>summary::-webkit-details-marker{display:none}
.km-carry-pick{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto}
.km-carry-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;font-size:12.5px}
.km-carry-opt:hover{background:var(--k-hover)}
.km-carry-opt svg{color:var(--k-acc);flex:none}
.km-carry-opt span{display:flex;flex-direction:column;min-width:0}
.km-carry-opt small{font-size:10.5px;color:var(--muted)}

/* V14 · a universe's avatar: an uploaded picture, an emblem (line icon on a glow in an orbit colour), or its first character */
.km-uav{--uav:28px;width:var(--uav);height:var(--uav);flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:calc(var(--uav) * .32);overflow:hidden;position:relative;vertical-align:middle;line-height:1}
.km-uav-img img{width:100%;height:100%;object-fit:cover;display:block}
.km-uav-em{--uc:var(--k-acc);background:radial-gradient(120% 120% at 28% 22%,color-mix(in srgb,var(--uc) 62%,#FFFFFF) 0%,var(--uc) 46%,color-mix(in srgb,var(--uc) 62%,#05070C) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.km-uav-em::after{content:'';position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(255,255,255,.28);transform:rotate(-24deg) scaleY(.42)}
.km-uav-em svg{position:relative;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.km-uav-ch{background:linear-gradient(135deg,var(--k-acc),var(--k-acc2,var(--k-acc)));color:#FFFFFF;font-weight:700;font-size:calc(var(--uav) * .44)}
.rail .server.km-has-uav{padding:0;overflow:visible;background:transparent!important}   /* V15: the avatar is clipped, not the button, so the count sits on the corner instead of over the picture */
.rail .server.km-has-uav .km-uav-rail{width:100%;height:100%;border-radius:inherit;overflow:hidden;transition:border-radius .15s}
.rail .server.km-has-uav .km-uav-em svg{width:50%;height:50%}
.rail .server .lc-count{bottom:-6px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-width:2.5px;font-size:9px;line-height:1;z-index:2}
.rail .server.km-has-uav:hover .km-uav-rail,.rail .server.km-has-uav.active .km-uav-rail{filter:brightness(1.06)}
.km-uni-cover .km-uav{box-shadow:0 10px 30px -10px rgba(var(--k-acc-rgb),.5)}
.kmu-sw-mark .km-uav,.kmu-uni-mark .km-uav{width:100%;height:100%;border-radius:inherit}
.kmu-sw-mark:has(.km-uav),.kmu-uni-mark:has(.km-uav){background:transparent!important;padding:0;overflow:hidden}
/* the picker (creating and editing a universe) */
.km-uavp{display:flex;gap:14px;align-items:flex-start;margin:4px 0 12px}
.km-uavp-now{flex:none;padding:4px}
.km-uavp-grid{display:grid;grid-template-columns:repeat(9,34px);gap:6px}
.km-uavp-opt{width:34px;height:34px;padding:0;border:0;border-radius:11px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;color:var(--k-acc);font-weight:700}
.km-uavp-opt .km-uav{--uav:34px}
.km-uavp-opt:hover{transform:translateY(-1px)}
.km-uavp-opt.on{box-shadow:0 0 0 2px var(--k-bg),0 0 0 4px var(--k-acc)}
.km-uavp-up,.km-uavp-none{background:rgba(var(--k-acc-rgb),.08)}
.km-uavp-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media (max-width:560px){.km-uavp{flex-direction:column}.km-uavp-grid{grid-template-columns:repeat(6,34px)}}

/* ---- V16 · the mother planet keeps its mark whatever you call it: an orbit ring with one small moon round its icon ---- */
.rail .server.km-mother-rail{overflow:visible}
.rail .server.km-mother-rail::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.2px solid rgba(var(--k-acc-rgb),.38);pointer-events:none;
  background:radial-gradient(circle at 85.4% 14.6%,var(--k-acc) 0 3px,rgba(var(--k-acc-rgb),.25) 3.6px 5px,transparent 5.6px);animation:km-mother-orbit 24s linear infinite}
@keyframes km-mother-orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rail .server.km-mother-rail::after{animation:none}}
.km-mrename{display:grid;gap:6px}
.km-mrename-mark{display:flex;justify-content:center;padding:6px 0 12px}
.km-mother-ic{width:56px;height:56px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;
  background:linear-gradient(140deg,var(--k-acc),#5B8CF3);box-shadow:0 0 0 4px var(--k-bg),0 0 0 5.3px rgba(var(--k-acc-rgb),.55)}

/* ---- V16 · 文案模式 (Alt+W): the wording table's row for the text under the pointer ---- */
#km-wordlens{position:fixed;left:14px;bottom:30px;z-index:99999;width:min(380px,calc(100vw - 28px));padding:10px 12px;border-radius:12px;background:rgba(var(--k-bg-rgb,255,255,255),.96);
  border:1px solid rgba(var(--k-acc-rgb),.35);box-shadow:0 12px 34px rgba(10,30,90,.18);font:12px/1.5 var(--font,system-ui);color:var(--k-ink,#0A2F8F);pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#km-wordlens[hidden]{display:none}
#km-wordlens .kwl-row{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline}
#km-wordlens .kwl-row b{font:600 10px/1.6 "JetBrains Mono",monospace;letter-spacing:.08em;color:var(--k-acc)}
#km-wordlens code{font:12px/1.5 "JetBrains Mono","Plex SC",monospace;word-break:break-all;background:rgba(var(--k-acc-rgb),.07);border-radius:4px;padding:0 4px}
#km-wordlens i{color:var(--k-dim);font-style:normal}
#km-wordlens hr{border:0;border-top:1px solid rgba(var(--k-acc-rgb),.15);margin:6px 0}
#km-wordlens .kwl-tip{margin:4px 0 0;font-size:10.5px;color:var(--k-dim)}
#km-wordlens .kwl-ok{color:var(--k-acc)}
#km-wordlens-mark{position:fixed;z-index:99998;border:1.5px solid var(--k-acc);border-radius:4px;background:rgba(var(--k-acc-rgb),.06);pointer-events:none}
#km-wordlens-mark[hidden]{display:none}
body.km-wordlens-on,body.km-wordlens-on *{cursor:help!important}

/* ---------- V22 · style pass (both views) ----------
   · the open / closed / all tabs of a planet forum (and the other lifecycle tabs) take the accent, not the reference build's violet
   · a voice planet's people: tiles in the accent's glass; before you join they line up with the planet's name above them */
.workspace .lc-tabs button{border-radius:999px;background:transparent;color:var(--k-ink2);transition:background .15s,color .15s}
.workspace .lc-tabs button:hover{color:var(--k-acc);background:rgba(var(--k-acc-rgb),.06)}
.workspace .lc-tabs button.active{background:rgba(var(--k-acc-rgb),.13);color:var(--k-acc);font-weight:650}
.workspace .lc-voice-main>.voice-tiles{justify-content:flex-start}   /* before you join: under the planet's name, from the left; in the call the core centres them under 已连接 */
.workspace .voice-tile{background:rgba(var(--k-acc-rgb),.05);border-color:transparent;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.08)}
.workspace .voice-tile.self{border-color:transparent;box-shadow:inset 0 0 0 1.5px var(--k-acc),0 0 22px -8px rgba(var(--k-acc-rgb),.6)}

/* ------------------------------------------------------------------ V26 · fewer things on screen (product behaviour, not in Discord) */
/* a thin rule between groups in a menu */
.km-menu-sep,.kmu-menu-sep{display:block;height:1px;margin:5px 8px;background:var(--k-line,rgba(127,127,127,.2))}
.servermenu .km-menu-sep{margin:5px 4px}
.servermenu button{justify-content:flex-start!important;font-weight:550}
body .channels .servermenu button.secondary{border-radius:8px;color:var(--k-ink2,inherit)}
body .channels .servermenu button.secondary:not(:hover){background:none}
body .channels .servermenu button.secondary:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.14),transparent 90%);color:var(--k-acc)}
.km-menu-item{display:flex;align-items:center;gap:8px}
/* the chat's head: the search and ⋯. 帖子和讨论串, 置顶消息, 通知设置 and the member list open from ⋯ (src/kmind/ctx.js) */
.channelhead .toolbar [data-action="threads"],.channelhead .toolbar [data-action="channel-notify"],.channelhead .toolbar [data-action="pins"],.channelhead .toolbar [data-action="members"],html body #kmu .kmw-chat .channelhead .toolbar .ib[data-action="threads"],html body #kmu .kmw-chat .channelhead .toolbar .ib[data-action="channel-notify"],html body #kmu .kmw-chat .channelhead .toolbar .ib[data-action="pins"],html body #kmu .kmw-chat .channelhead .toolbar .ib[data-action="members"]{display:none!important}
.channelhead .toolbar .searchbox{order:-1}
@media (min-width:901px){body:not(.km-u) .channelhead .toolbar [data-action="lc-search"]{display:none!important}}
/* 收件箱 is in 动态 now; 活动, 浏览星球 and 成员 open from the universe's menu */
.titlebar [data-action="inbox"]{display:none!important}
.channel-scroll>.utility[data-action="events"],.channel-scroll>.utility[data-action="browse"],.channel-scroll>.utility[data-action="member-page"],.channel-scroll>.utility[data-action="member-page"]+.channel-rule{display:none!important}
/* the mic and the headphones only on a voice planet or in a call */
body:not(.km-voice-here) .userbar [data-action="mute"],body:not(.km-voice-here) .userbar [data-action="deafen"]{display:none!important}
/* the mother's member list starts folded (the member-list command in ⋯ opens it) */
body.km-at-mother:not(.km-u):not(.km-mother-members) .workspace .members{display:none!important}
/* a planet forum in 面板视图: 开放 / 已关闭 / 全部 share a line with the sort, the layout and the tags (as in the universe's chat window) */
body:not(.km-u) .forum-main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}
body:not(.km-u) .forum-top{display:contents}
body:not(.km-u) .forum-searchbar{grid-column:1/-1;grid-row:1;margin:23px 22px 0}
body:not(.km-u) .lc-forum-tabs{grid-column:1;grid-row:2;align-self:center;margin:14px 0 8px 22px;padding:0;flex-wrap:nowrap}
body:not(.km-u) .forum-filters{grid-column:2;grid-row:2;align-self:center;padding:14px 22px 8px 10px}
body:not(.km-u) .forum-list{grid-column:1/-1;grid-row:3}
/* 外观: the language as a row of choices above the skins */
.km-look-langs{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 14px}
.km-look-l{height:28px;padding:0 13px;border:0;border-radius:999px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--k-ink2);background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px var(--k-line)}
.km-look-l:hover{color:var(--k-acc)}
.km-look-l.on{color:var(--k-acc);background:rgba(var(--k-acc-rgb),.13);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.35)}
/* 动态: the 收件箱 chip and the 提到你 rows */
.km-ow-inbox{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px 0 9px;border:0;border-radius:999px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--k-ink2);background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px var(--k-line)}
.km-ow-inbox:hover{color:var(--k-acc)}
.km-ow-inbox b{min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:inline-grid;place-items:center;font-size:10px;color:#fff;background:var(--k-red,#e5484d)}
/* the universe's top bar: 轨道 / 星群 only in 总览 */
#kmu-layout[hidden]{display:none!important}

/* ------------------------------------------------------------------ V28 */
/* 动态's 沉浸视图 (the only one): plain when there is nothing to watch, blue when something is being made where it would open,
   filled while it is open */
.km-ow-filter .km-ow-imm{color:var(--k-ink)}
.km-ow-filter .km-ow-imm.live{color:var(--k-acc);background:rgba(var(--k-acc-rgb),.12);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.38)}
.km-ow-filter .km-ow-imm.on{color:#fff;background:var(--k-acc);box-shadow:0 6px 16px -8px rgba(var(--k-acc-rgb),.9)}
.km-ow-filter .km-ow-imm b{min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:inline-grid;place-items:center;font-size:10px;color:#fff;background:var(--k-acc)}
.km-ow-filter .km-ow-imm.on b{color:var(--k-acc);background:#fff}

/* ---- V33 · 小组: your agent wears its group's colour as a diamond frame (thicker for the leader); a group's mark; the leader's chip ---- */
.km-agent.km-g::before{content:"";position:absolute;inset:-16%;pointer-events:none;background:var(--km-g);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath transform='translate(3 3) scale(.94)' d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z' fill='none' stroke='%23000' stroke-width='4.2'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath transform='translate(3 3) scale(.94)' d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z' fill='none' stroke='%23000' stroke-width='4.2'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.km-agent.km-g-lead::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath transform='translate(3 3) scale(.94)' d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z' fill='none' stroke='%23000' stroke-width='9.6'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath transform='translate(3 3) scale(.94)' d='M42.3 8.6Q50 1 57.7 8.6L91.4 42.3Q99 50 91.4 57.7L57.7 91.4Q50 99 42.3 91.4L8.6 57.7Q1 50 8.6 42.3Z' fill='none' stroke='%23000' stroke-width='9.6'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* V34 · an agent at work: the progress runs along its diamond frame (KM.workMark / KM.workAvatar, src/kmind/ext.js). The frame is
   the track, quieter; the fill starts at the top corner and goes clockwise in the group's colour (the accent without a group),
   with a bright head; unknown progress is a short stroke going round; done, the frame fills, flashes and a ripple goes out. */
@property --wp{syntax:'<number>';inherits:true;initial-value:0}
@property --wkg{syntax:'<length>';inherits:false;initial-value:2.4px}
.km-agent{--wkc:var(--km-g,var(--cz-acc,var(--k-acc,#3B82FF)))}
.km-agent>.km-wk{position:absolute;left:-16%;top:-16%;width:132%;height:132%;overflow:visible;pointer-events:none;transition:--wp .9s cubic-bezier(.3,.6,.3,1);filter:drop-shadow(0 0 var(--wkg) color-mix(in srgb,var(--wkc) 65%,transparent))}
.km-wk path{fill:none;stroke:var(--wkc);stroke-linecap:round;stroke-linejoin:round}
.km-wk-t{stroke-width:4.2;opacity:.28}
.km-wk-f{stroke-width:6.2;stroke-dasharray:100 100;stroke-dashoffset:calc((1 - var(--wp)) * 100px)}
.km-wk-h{stroke-width:12;opacity:.42;stroke-dasharray:.001 99.999;stroke-dashoffset:calc(var(--wp) * -100px);animation:kmWkBeat 1.6s ease-in-out infinite}
.km-wk-c{stroke:#fff!important;stroke-width:5;stroke-dasharray:.001 99.999;stroke-dashoffset:calc(var(--wp) * -100px)}
.km-wk-p{stroke-width:3.2;opacity:0;transform-box:fill-box;transform-origin:center}
.km-g-lead .km-wk-t{stroke-width:9.6}
.km-g-lead .km-wk-f{stroke-width:9.6}
.km-g-lead .km-wk-h{stroke-width:17}
.km-g-lead .km-wk-c{stroke-width:7}
@keyframes kmWkBeat{50%{opacity:.16;stroke-width:17}}
/* not known yet: a short stroke going round, its head in front */
.km-wk-run .km-wk-f{stroke-dasharray:26 74;opacity:.75;animation:kmWkRun 2.2s linear var(--wkd,0s) infinite}
.km-wk-run .km-wk-h,.km-wk-run .km-wk-c{animation:kmWkRunH 2.2s linear var(--wkd,0s) infinite}   /* --wkd: drawn again, it carries on where it was */
@keyframes kmWkRun{from{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}
@keyframes kmWkRunH{from{stroke-dashoffset:-26px}to{stroke-dashoffset:-126px}}
/* done: the fill closes the frame, the frame flashes, a diamond ripple goes out, and the plain frame comes back as the marks fade */
.km-wk-done>.km-wk{transition:--wp .45s cubic-bezier(.4,0,.2,1);animation:kmWkGlow .7s ease .4s}
.km-wk-done .km-wk-h,.km-wk-done .km-wk-c{animation:kmWkOut .18s ease .42s forwards}
.km-wk-done .km-wk-f{animation:kmWkFlash .45s ease .42s,kmWkOut .4s ease .85s forwards}
.km-g-lead.km-wk-done .km-wk-f{animation:kmWkFlashL .45s ease .42s,kmWkOut .4s ease .85s forwards}
.km-wk-done .km-wk-t{animation:kmWkOut .4s ease .85s forwards}
.km-wk-done .km-wk-p{animation:kmWkPing .9s cubic-bezier(.2,.7,.3,1) .42s}
.km-agent.km-wk-done::before{animation:kmWkIn .4s ease .85s both}
@keyframes kmWkFlash{35%{stroke-width:9.4}}
@keyframes kmWkFlashL{35%{stroke-width:13.5}}
@keyframes kmWkGlow{35%{--wkg:7px}}
@keyframes kmWkPing{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.32)}}
@keyframes kmWkOut{to{opacity:0}}
@keyframes kmWkIn{from{opacity:0}to{opacity:1}}
/* while the work is drawn, it is the frame */
.km-agent.km-wk-on::before{opacity:0}
body.fx-off-work .km-agent>.km-wk{display:none}
body.fx-off-work .km-agent.km-wk-on::before{opacity:1}
@media (prefers-reduced-motion:reduce){.km-wk-h{animation:none}.km-wk-run .km-wk-f,.km-wk-run .km-wk-h,.km-wk-run .km-wk-c{animation:none}.km-wk-run .km-wk-h,.km-wk-run .km-wk-c{stroke-dashoffset:-26px}.km-wk-done .km-wk-p,.km-wk-done>.km-wk{animation:none}}
.km-g-dia{display:inline-block;flex:none;width:8px;height:8px;margin:0 7px 0 2px;transform:rotate(45deg);border-radius:2px;border:1.6px solid var(--g);background:color-mix(in srgb,var(--g) 24%,transparent);vertical-align:1px}
.km-lead-chip{display:inline-flex;align-items:center;flex:none;margin-left:6px;padding:0 5px;border-radius:5px;font-size:10px;font-style:normal;font-weight:650;line-height:16px;letter-spacing:0;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.1);vertical-align:1px}
.channel.km-g-ch .hash{color:var(--km-gc)}
.km-ow-gh .km-g-dia,.km-side-gh .km-g-dia{margin-left:0}
.km-pa-g{align-items:center}
.km-pa-g .km-g-dia{margin:0 4px 0 2px}
/* the form: 新建卫星 (a moon and its leader) */
.km-g-sws{display:flex;flex-wrap:wrap;gap:9px;margin:2px 0 6px}
.km-g-sw{position:relative;display:inline-flex;cursor:pointer}
.km-g-sw input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.km-g-sw span{display:block;width:24px;height:24px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(var(--k-sh),.12);transition:box-shadow .12s}
.km-g-sw input:checked+span{box-shadow:0 0 0 2px var(--k-bg,#fff),0 0 0 4px var(--sw)}
.km-g-sw input:focus-visible+span{outline:2px solid var(--k-acc);outline-offset:4px}
.km-g-lead{margin-top:14px;padding:12px 14px 6px;border-radius:12px;border:1px solid color-mix(in srgb,var(--g) 42%,var(--k-line));background:color-mix(in srgb,var(--g) 6%,transparent)}
.km-g-lead-h{display:flex;align-items:center;gap:9px;font-size:13px;margin:0 0 2px 2px}
.km-g-lead-h b{font-weight:650}
.km-g-lead-dia{width:13px;height:13px;transform:rotate(45deg);border-radius:3px;border:2.6px solid var(--g)}
.km-g-fixed{display:flex;align-items:center;height:38px;padding:0 10px;border:1px solid var(--k-line);border-radius:8px;font-size:14px}
.km-g-fixed b{font-weight:600}

/* V35 · 添加组员 (src/kmind/members.js): three kinds of member — a platform template, your computer, a third-party agent —
   and the key safe. One dialog, tabs on top; cards in two columns; the key safe in two panes. */
#dialog.km-am-dlg{width:min(860px,calc(100vw - 32px))}
.km-am-tabs{display:flex;gap:4px;margin:2px 0 14px;padding:3px;border-radius:12px;background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px var(--k-line)}
.km-am-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--k-ink2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.km-am-tabs button:hover{color:var(--k-acc)}
.km-am-tabs button.on{background:var(--k-bg);color:var(--k-acc);box-shadow:0 1px 2px rgba(var(--k-sh),.12),inset 0 0 0 1px rgba(var(--k-acc-rgb),.3)}
.km-am-tabs button:focus-visible{outline:2px solid var(--k-acc);outline-offset:2px}
.km-am-pane{min-height:240px}
.km-am-quota{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;font-size:12.5px;color:var(--k-ink2)}
.km-am-quota b{font-weight:650;color:var(--k-ink)}
.km-am-quota small{color:var(--k-dim);font-size:12px}
.km-am-dots{display:inline-flex;gap:3px}
.km-am-dots i{width:8px;height:8px;transform:rotate(45deg);border-radius:2px;background:rgba(var(--k-mute-rgb),.22)}
.km-am-dots i.on{background:var(--g,var(--k-acc))}
.km-am-link{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 10px;border:1px solid var(--k-line);border-radius:8px;background:transparent;color:var(--k-ink2);font:inherit;font-size:12px;cursor:pointer}
.km-am-link:hover{color:var(--k-acc);border-color:rgba(var(--k-acc-rgb),.45)}
.km-am-link:disabled{opacity:.45;cursor:default}
.km-am-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(58vh,560px);overflow:auto;padding:2px 2px 6px;margin:0 -2px}
.km-am-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--k-line);border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;transition:border-color .15s,background .15s}
.km-am-card:hover{border-color:rgba(var(--k-acc-rgb),.45);background:rgba(var(--k-acc-rgb),.03)}
button.km-am-card{cursor:pointer}
button.km-am-card:focus-visible{outline:2px solid var(--k-acc);outline-offset:2px}
.km-am-av.km-tile{width:42px;height:42px;flex:none;display:grid;place-items:center;color:#fff}
.km-am-av.km-tile svg{width:100%;height:100%}
.km-am-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.km-am-body>b{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--k-ink)}
.km-am-body p{margin:0;font-size:12.5px;line-height:1.5;color:var(--k-ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.km-am-fitline{font-size:11.5px;line-height:1.45;color:var(--k-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.km-am-body footer{display:flex;align-items:center;gap:6px;margin-top:6px}
.km-am-v,.km-am-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;background:rgba(var(--k-mute-rgb),.12);color:var(--k-dim);font:500 10.5px/1.5 var(--k-mono,ui-monospace),monospace}
.km-am-rec{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:6px;font-style:normal;font-size:10.5px;font-weight:600;color:var(--k-acc);background:rgba(var(--k-acc-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.28)}
.km-am-pick{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 8px;border:0;background:transparent;color:var(--k-acc);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:7px}
.km-am-pick:hover{background:rgba(var(--k-acc-rgb),.1)}
.km-am-pick:disabled{color:var(--k-dim);cursor:default;background:none}
.km-am-tile{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(var(--k-acc-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.25);color:var(--k-acc);font:700 13px/1 var(--k-mono,ui-monospace),monospace;letter-spacing:.02em}
.km-am-hero{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--k-line);border-radius:12px 12px 0 0}
.km-am-hero-ic{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(var(--k-acc-rgb),.08);color:var(--k-acc)}
.km-am-hero b{display:block;font-size:14.5px;font-weight:650;margin:1px 0 4px}
.km-am-hero p{margin:0;font-size:13px;line-height:1.55;color:var(--k-ink2)}
.km-am-dl{padding:14px 16px;border:1px solid var(--k-line);border-top:0;border-radius:0 0 12px 12px;background:rgba(var(--k-acc-rgb),.03)}
.km-am-dlrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.km-am-dlbtn{display:inline-flex;align-items:center;gap:8px;margin:0!important}
.km-am-os{padding:6px 10px;border:0;background:transparent;color:var(--k-ink2);font:inherit;font-size:13px;cursor:pointer;border-radius:8px}
.km-am-os:hover{color:var(--k-acc);background:rgba(var(--k-acc-rgb),.08)}
.km-am-file{display:block;margin-top:8px;color:var(--k-dim);font:12px/1.4 var(--k-mono,ui-monospace),monospace;overflow-wrap:anywhere}
.km-am-steps{list-style:none;counter-reset:s;margin:14px 0 6px;padding:0;display:grid;gap:8px}
.km-am-steps li{counter-increment:s;display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--k-ink)}
.km-am-steps li::before{content:counter(s);flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(var(--k-mute-rgb),.14);font:600 11.5px/1 var(--k-mono,ui-monospace),monospace;color:var(--k-ink2)}
.km-am-note{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--k-dim)}
.km-am-h{display:flex;align-items:center;gap:6px;margin:16px 0 8px;font-size:12.5px;font-weight:650;color:var(--k-ink2)}
.km-am-list{display:grid;gap:6px}
.km-am-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--k-line);border-radius:10px}
.km-am-row>span:not(.km-avbox):not(.km-am-tile){flex:1;min-width:0;display:flex;flex-direction:column}
.km-am-row b{font-size:13.5px;font-weight:600}
.km-am-row small{font-size:12px;color:var(--k-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-am-row .km-am-tile{width:32px;height:32px;border-radius:8px;font-size:11px}
.km-am-on{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:12px;color:var(--k-ok)}
.km-am-on::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.km-am-on.off{color:var(--k-dim)}
.km-am-on.off::before{box-shadow:none}
.km-am-miss{font-style:normal;font-size:11.5px;font-weight:600;color:var(--k-danger);padding:1px 7px;border-radius:6px;background:rgba(var(--k-danger-rgb),.1)}
.km-am-none{margin:0;font-size:12.5px;color:var(--k-dim)}
.km-am-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.km-am-bar .km-am-link{margin-left:0}
.km-am-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:rgba(var(--k-mute-rgb),.1);color:var(--k-ink2);font-size:12px}
.km-am-from{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.18)}
.km-am-from>span:not(.km-tile):not(.km-am-tile){flex:1;min-width:0;display:flex;flex-direction:column}
.km-am-from b{font-size:14px;font-weight:650}
.km-am-from small{font-size:12px;color:var(--k-dim)}
.km-am-from .km-am-av.km-tile{width:36px;height:36px}
.km-am-back{padding:4px 10px;border:1px solid var(--k-line);border-radius:8px;background:transparent;color:var(--k-ink2);font:inherit;font-size:12px;cursor:pointer}
.km-am-back:hover{color:var(--k-acc);border-color:rgba(var(--k-acc-rgb),.45)}
.km-am-own{gap:10px}
.km-am-own small{color:var(--k-dim);font-size:12px}
.km-am-keys,.km-am-creds{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.km-am-keys label,.km-am-creds>label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--k-line);border-radius:8px;font-size:12px;cursor:pointer;color:var(--k-ink2)}
.km-am-keys label:has(input:checked),.km-am-creds>label:has(input:checked){border-color:rgba(var(--k-acc-rgb),.5);background:rgba(var(--k-acc-rgb),.06);color:var(--k-ink)}
.km-am-keys label.km-am-fit{border-style:dashed}
.km-am-keys code,.km-am-creds code,.km-vault code,.km-am-keyline code{font:500 11.5px/1.4 var(--k-mono,ui-monospace),monospace;color:var(--k-ink)}
.km-am-keys small,.km-am-creds small{color:var(--k-dim);font-size:11px}
.km-am-keys .km-am-link{margin-left:0}
.km-am-newkey{flex-basis:100%;display:grid;gap:8px;margin-top:4px;padding:12px;border:1px dashed rgba(var(--k-acc-rgb),.4);border-radius:10px}
.km-am-src{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 10px;border-radius:10px;background:rgba(var(--k-mute-rgb),.07)}
.km-am-src b{font-size:13px;font-weight:650}
.km-am-src small{font-size:12px;color:var(--k-dim)}
.km-am-src em{margin-left:auto}
.km-am-keyline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 2px 0;color:var(--k-dim)}
.km-am-keyline code{padding:1px 6px;border-radius:5px;background:rgba(var(--k-mute-rgb),.1)}
.km-am-form .footer-actions{gap:8px}
/* 密钥保险箱 */
#dialog.km-vault-dlg{width:min(900px,calc(100vw - 32px))}
.km-vault-note{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--k-acc);border-radius:4px 10px 10px 4px;background:rgba(var(--k-acc-rgb),.06);font-size:12.5px;line-height:1.55;color:var(--k-ink2)}
.km-vault-note svg{flex:none;margin-top:2px;color:var(--k-acc)}
.km-vault{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:start}
.km-vault-add .km-am-h{margin-top:0}
.km-vault-form{display:grid;gap:8px}
.km-vault-vnote{color:var(--k-dim);font-size:12px;line-height:1.5}
.km-vault-name{display:flex;align-items:center;gap:6px}
.km-vault-name code{flex:none;padding:8px 10px;border-radius:8px;background:rgba(var(--k-mute-rgb),.1)}
.km-vault-name span{color:var(--k-dim)}
.km-vault-name .field{flex:1;min-width:0;margin:0}
.km-vault-val{position:relative}
.km-vault-val .field{width:100%;margin:0;padding-right:40px;font-family:var(--k-mono,ui-monospace),monospace}
.km-vault-val .ib{position:absolute;right:4px;top:50%;transform:translateY(-50%)}
.km-vault-save{display:flex;align-items:center;gap:10px;justify-content:space-between}
.km-vault-save small{color:var(--k-dim);font-size:12px}
.km-vault-save .primary{display:inline-flex;align-items:center;gap:6px;margin:0!important}
.km-vault-import{margin-top:14px;border:1px solid var(--k-line);border-radius:10px;padding:0 12px}
.km-vault-import summary{padding:10px 0;font-size:12.5px;font-weight:600;color:var(--k-ink2);cursor:pointer}
.km-vault-import form{display:grid;gap:8px;padding:0 0 12px}
.km-vault-import textarea{font:12px/1.5 var(--k-mono,ui-monospace),monospace;resize:vertical}
.km-vault-import .danger{justify-self:end;margin:0!important}
.km-vault-list{border-left:1px solid var(--k-line);padding-left:18px;min-height:240px;max-height:min(60vh,560px);overflow:auto}
.km-vault-tools{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.km-vault-tools .field{flex:1;margin:0}
.km-vault-tools .km-am-link{margin-left:0;white-space:nowrap}
.km-vault-grp{border:1px solid var(--k-line);border-radius:10px;margin:0 0 8px;overflow:hidden}
.km-vault-grp summary{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;font-size:13px}
.km-vault-grp summary::-webkit-details-marker{display:none}
.km-vault-grp summary svg{transition:transform .15s;color:var(--k-dim)}
.km-vault-grp:not([open]) summary svg{transform:rotate(-90deg)}
.km-vault-grp summary b{flex:1;font-weight:650}
.km-vault-grp summary em{font-style:normal;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px;border-radius:10px;background:rgba(var(--k-mute-rgb),.14);font-size:11px;color:var(--k-ink2)}
.km-vault-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--k-line);color:var(--k-dim)}
.km-vault-row code{color:var(--k-ink)}
.km-vault-row>small{color:var(--k-dim);font-size:11px;letter-spacing:.04em}
.km-vault-use{margin-left:auto;font-size:11.5px;color:var(--k-dim)}
.km-vault-row .ib{width:28px;height:28px}
.km-vault-del.km-sure{width:auto!important;padding:0 8px;gap:5px;display:inline-flex;align-items:center;color:var(--k-danger);background:rgba(var(--k-danger-rgb),.1);border-radius:7px;font-size:11.5px}
.km-vault-editf{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.km-vault-editf .field{margin:0;width:110px;flex:1;min-width:90px}
.km-vault-editf .field[type=password]{flex:2;font-family:var(--k-mono,ui-monospace),monospace}
.km-vault-editf .km-mini{margin:0!important}
/* a computer that is off: its agent fades */
.km-agent.km-off .km-shape{filter:grayscale(1);opacity:.5}
@media (max-width:720px){.km-am-grid{grid-template-columns:1fr}.km-vault{grid-template-columns:1fr}.km-vault-list{border-left:0;padding-left:0}.km-am-tabs button span{font-size:12px}}
