/* KMind 宇宙交互 V17 · 无边框 BORDERLESS — the universe view's chrome, rewritten so the sky stays in front.
   Loaded after universe.css, imm.css and the KMind sheets; everything here is scoped to the universe view.
   - No boxes. Panels have no outline and no corner ticks: they are soft fields of dark (夜间) or pale (白昼) glass that fade
     into the sky at their edges (a wide soft halo of the same colour), so the stars run right up to the text.
   - One line of light at most: a horizon-like hairline that fades out at both ends, on top of a panel or under a heading.
   - Buttons are text and icons. Hover: the text lights up and a short line of light appears under it.
     On: the accent colour and a small dot. Primary actions keep a soft-filled glowing pill.
   - Dialogs (the core's #dialog) float in the middle of a dimmed sky; their option grids become lists of quiet rows.
   - Fields are a single underline. Mono capitals stay for captions.
   No backdrop blur on anything large: the 3D sky moves every frame and would have to be blurred again each time. */

body{--cz-bg:rgba(var(--k-bg-rgb),.94);--cz-solid:rgba(var(--k-bg-rgb),.975);--cz-bg2:rgba(var(--k-bg-rgb),.78);--cz-halo:rgba(var(--k-bg-rgb),.62);--cz-glow:rgba(var(--k-acc-rgb),.35);--cz-line:rgba(var(--k-acc-rgb),.16);
  --cz-rule:linear-gradient(90deg,rgba(var(--k-acc-rgb),0),rgba(var(--k-acc-rgb),.42) 22%,rgba(var(--k-acc-rgb),.42) 78%,rgba(var(--k-acc-rgb),0));
  --cz-rule-soft:linear-gradient(90deg,rgba(var(--k-acc-rgb),0),rgba(var(--k-acc-rgb),.14) 15%,rgba(var(--k-acc-rgb),.14) 85%,rgba(var(--k-acc-rgb),0))}
html[data-theme=night] body{--cz-bg:rgba(7,10,16,.93);--cz-solid:rgba(8,11,17,.975);--cz-bg2:rgba(7,10,16,.7);--cz-halo:rgba(5,7,12,.6);--cz-glow:rgba(70,140,255,.5);--cz-line:rgba(140,180,255,.14);
  --cz-rule:linear-gradient(90deg,rgba(120,170,255,0),rgba(120,170,255,.5) 22%,rgba(120,170,255,.5) 78%,rgba(120,170,255,0));
  --cz-rule-soft:linear-gradient(90deg,rgba(120,170,255,0),rgba(120,170,255,.14) 15%,rgba(120,170,255,.14) 85%,rgba(120,170,255,0))}

/* ---------- the frame: no corner brackets, a softer edge fade ---------- */
#kmu::after{display:none}
#kmu-fade{opacity:.55}

/* ---------- the top line: floating words and glyphs ---------- */
#kmu-switch,#kmu-umenu,.kmu-seg2,.kmu-back,#kmu .km-view-switch{border-color:transparent!important;background:transparent!important;box-shadow:none!important}
#kmu-switch,#kmu-umenu{backdrop-filter:none;-webkit-backdrop-filter:none}
#kmu-switch:hover,#kmu-umenu:hover,.kmu-tb:hover,.kmu-back:hover,#kmu .km-view-switch:hover{background:transparent!important;color:var(--k-acc)!important;text-shadow:0 0 12px var(--cz-glow)}
#kmu-switch:hover .kmu-sw-name{color:var(--k-acc)}
.kmu-tb:hover{border-color:transparent}
.kmu-tb:hover svg,#kmu-umenu:hover svg,#kmu .km-view-switch:hover svg{filter:drop-shadow(0 0 5px var(--cz-glow))}
.kmu-seg2 button{border:0;background:transparent;color:var(--k-ink2);position:relative}
.kmu-seg2 button.on{background:transparent!important;box-shadow:none!important;color:var(--k-acc)}
.kmu-seg2 button.on::after,.kmu-back.on::after{content:"";position:absolute;left:50%;bottom:-3px;width:4px;height:4px;border-radius:50%;background:var(--k-acc);box-shadow:0 0 8px var(--cz-glow);transform:translateX(-50%)}
.kmu-sw-mark{border-radius:50%;box-shadow:0 0 14px var(--cz-glow)}
.kmu-back{color:var(--k-acc)}

/* ---------- the planet bar: a floating line of words over a soft dark field ---------- */
#kmu .kmu-bar{border:0!important;border-radius:0;padding:6px 18px 8px 14px;backdrop-filter:none;-webkit-backdrop-filter:none;
  background:radial-gradient(ellipse 60% 120% at 30% 50%,var(--cz-bg2),transparent 72%)!important}
#kmu .kmu-bar::after{content:"";position:absolute;left:10px;right:30%;bottom:2px;height:1px;background:var(--cz-rule-soft)}
#kmu .kmu-bar .kmu-meta{border-right:0;padding-right:4px}
#kmu .kmu-pill{border:0!important;background:transparent!important;box-shadow:none!important;position:relative;border-radius:0}
#kmu .kmu-pill:hover{color:var(--k-acc);text-shadow:0 0 12px var(--cz-glow)}
#kmu .kmu-pill:hover::after{content:"";position:absolute;left:8px;right:8px;bottom:1px;height:1px;background:var(--k-acc);box-shadow:0 0 8px var(--cz-glow)}
#kmu .kmu-pill.kmu-primary{color:var(--k-acc);text-shadow:0 0 14px var(--cz-glow)}
#kmu .kmu-pill.kmu-primary::before{content:"";position:absolute;inset:3px 2px;border-radius:999px;background:radial-gradient(ellipse at 50% 60%,rgba(var(--k-acc-rgb),.18),rgba(var(--k-acc-rgb),0) 75%);z-index:-1}
html[data-theme=night] #kmu .kmu-pill.kmu-primary{color:#CFE0FF}
#kmu .kmu-bar-sep{background:var(--cz-line)}
#kmu .kmu-barpop,#kmu .kmu-pop,#kmu .kmu-menu{border:0!important;border-radius:14px;backdrop-filter:none;-webkit-backdrop-filter:none;
  background:var(--cz-bg)!important;box-shadow:0 0 34px 18px var(--cz-halo)!important}
#kmu .kmu-pop-f{border-top:0;background:var(--cz-rule-soft) top/100% 1px no-repeat}
#kmu .kmu-pop-f button,#kmu .kmu-menu>button{border:0!important;background:transparent;border-radius:0}
#kmu .kmu-pop-f button:hover,#kmu .kmu-menu>button:hover,#kmu .kmu-uni:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.12),transparent 85%);color:var(--k-acc)}
#kmu .kmu-uni.cur{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.18),transparent 90%)}
#kmu .kmu-menu-op{border-bottom:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat}

/* ---------- the dock: a horizon of glyphs ---------- */
#kmu #kmu-dock{border:0!important;border-radius:0;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;padding:8px 18px 6px;
  background:radial-gradient(ellipse 55% 100% at 50% 100%,var(--cz-bg2),transparent 78%)!important}
#kmu #kmu-dock::before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:var(--cz-rule);opacity:.85}
#kmu .kmu-dock-sep{background:linear-gradient(transparent,var(--cz-line),transparent);height:36px}
#kmu .kmu-dock-agent,#kmu .kmu-dock-btn,#kmu .kmu-dock-ow{background:transparent!important;box-shadow:none!important;border-radius:0}
#kmu .kmu-dock-agent:hover,#kmu .kmu-dock-btn:hover,#kmu .kmu-dock-ow:hover{color:var(--k-acc)}
#kmu .kmu-dock-btn:hover svg,#kmu .kmu-dock-ow:hover svg{filter:drop-shadow(0 0 6px var(--cz-glow))}
#kmu .kmu-dock-agent:hover>span:not(.km-avbox){color:var(--k-acc)}
#kmu .kmu-dock-agent .km-avbox,#kmu .kmu-dock-agent>.avatar,#kmu .kmu-dock-agent>svg{transition:filter .15s,transform .15s}
#kmu .kmu-dock-agent:hover .km-avbox{filter:drop-shadow(0 0 8px var(--cz-glow));transform:translateY(-1px)}
#kmu .kmu-dock-add{border:0;border-radius:50%;background:radial-gradient(circle,rgba(var(--k-acc-rgb),.14),transparent 70%)}
#kmu .kmu-dock-add:hover{background:radial-gradient(circle,rgba(var(--k-acc-rgb),.3),transparent 72%);color:var(--k-acc);box-shadow:none}
/* on: the accent colour and a small dot of light under it */
#kmu .kmu-dock-btn.on,#kmu .kmu-dock-ow.on,#kmu .kmu-dock-agent.on,#kmu .kmu-dock-agent.on>span:not(.km-avbox){color:var(--k-acc)}
#kmu .kmu-dock-btn.on::after,#kmu .kmu-dock-ow.on::after,#kmu .kmu-dock-agent.on::after{content:"";position:absolute;left:50%;bottom:-3px;width:4px;height:4px;border-radius:50%;background:var(--k-acc);box-shadow:0 0 8px 1px var(--cz-glow);transform:translateX(-50%)}
#kmu .kmu-dock-agent.on .km-avbox{filter:drop-shadow(0 0 7px var(--cz-glow))}
/* V12 · the three views sit first in the dock; away from the whole universe, 总览 glows as the way back */
.kmu-dock-views{display:flex;align-items:center;gap:0;flex:none}
#kmu .kmu-dv{width:48px}
#kmu .kmu-dv.hint{color:var(--k-acc)}
#kmu .kmu-dv.hint svg{filter:drop-shadow(0 0 6px var(--cz-glow))}
#kmu .kmu-dv.hint::before{content:"";position:absolute;left:50%;top:2px;width:30px;height:30px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--k-acc-rgb),.2),rgba(var(--k-acc-rgb),0) 70%);animation:czBreath 2.6s ease-in-out infinite;pointer-events:none}
@keyframes czBreath{0%,100%{opacity:.45}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){#kmu .kmu-dv.hint::before{animation:none;opacity:.8}}
#kmu .kmu-dock-ow{display:flex;flex-direction:column;align-items:center;gap:3px;width:46px;padding:4px 2px 2px;border:0;color:var(--k-ink2);font-size:10.5px;font-weight:550;cursor:pointer;position:relative;flex:none}
#kmu .kmu-dock-ow .kmu-badge{position:absolute;top:0;right:6px}
#kmu #kmu-ow{border:0!important;border-radius:16px!important;background:var(--cz-bg)!important;box-shadow:0 0 40px 20px var(--cz-halo)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* ---------- windows: glass that fades into the sky ---------- */
#kmu .kmw{border:0!important;border-radius:16px;background:var(--cz-bg)!important;box-shadow:0 0 44px 22px var(--cz-halo)!important}
#kmu .kmw.kmw-top{box-shadow:0 0 52px 26px var(--cz-halo),0 0 90px rgba(var(--k-acc-rgb),.06)!important}
#kmu .kmw-head{border-bottom:0!important;background:var(--cz-rule-soft) bottom/100% 1px no-repeat!important}
#kmu .kmw-btn:hover{background:transparent;color:var(--k-acc);filter:drop-shadow(0 0 5px var(--cz-glow))}
#kmu .kmw-rz-se::after{border-color:var(--cz-line)}
#kmu .kmw.kmw-sheet{border-radius:18px 18px 0 0}
/* the chat window's own pieces: no inner boxes either — the core's grey panel behind the chat goes, the window's glass is the only ground */
#kmu .kmw-chat .workspace,#kmu .kmw-chat .body,#kmu .kmw-chat .chat,#kmu .kmw-chat .forum-wrap,#kmu .kmw-chat .forum-main,#kmu .kmw-chat .page-scroll,#kmu .kmw-chat .friends-layout,#kmu .kmw-chat .friends-list,#kmu .kmw-chat .channel-module-scroll{background:transparent!important;border:0!important}
#kmu .kmw-chat .thread-pane,#kmu .kmw-chat .topic-aside,#kmu .kmw-chat .activity{background:var(--cz-solid)!important;box-shadow:-24px 0 30px -6px var(--cz-halo)}
#kmu .kmw-chat .panehead{border-bottom:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat}
#kmu .kmw-chat .channelhead{border-bottom:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat}
#kmu .kmw-chat .composer{border:0;background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 -1px 0 rgba(var(--k-acc-rgb),.3);border-radius:12px 12px 4px 4px}
html[data-theme=night] #kmu .kmw-chat .composer{background:rgba(120,170,255,.06)}
#kmu .kmw-chat .composer:focus-within{box-shadow:inset 0 -1.5px 0 var(--k-acc),0 6px 18px -10px var(--cz-glow)}
#kmu .kmw-chat .message:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.06),transparent 80%)}
#kmu .kmw-chat .message-actions{border:0;border-radius:10px;background:var(--cz-bg);box-shadow:0 0 16px 6px var(--cz-halo)}
#kmu .kmw-chat .thread-pane,#kmu .kmw-chat .members,#kmu .kmw-chat .dm-profile,#kmu .kmw-chat .activity,#kmu .kmw-chat .topic-aside{border-left:0}
#kmu .kmw-chat .post-card,#kmu .kmw-chat .listcard,#kmu .kmw-chat .attachment,#kmu .kmw-chat .forum-searchbar{border-color:transparent;background:rgba(var(--k-acc-rgb),.045)}
#kmu .kmw-chat .post-card:hover{background:rgba(var(--k-acc-rgb),.09);border-color:transparent}
#kmu .kmw-chat .searchbox input{border:0;border-bottom:1px solid var(--cz-line);border-radius:0;background:transparent}
/* V12 · a planet's members: a sheet that slides over the right of the chat (the members button in its header, or 成员 under the planet) */
#kmu .kmw-chat.kmw-mem .members,#kmu .kmw-chat.kmw-mem .members[hidden]{display:flex!important;flex-direction:column;position:absolute;right:0;top:49px;bottom:0;z-index:6;width:min(270px,78%);padding:16px 10px;overflow:auto;
  background:var(--cz-solid)!important;box-shadow:-24px 0 30px -6px var(--cz-halo);border:0;animation:czIn .18s ease-out}
#kmu .kmw-chat.kmw-mem .dm-profile{display:block!important;position:absolute;right:0;top:49px;bottom:0;z-index:6;width:min(260px,78%);background:var(--cz-solid)!important;box-shadow:-24px 0 30px -6px var(--cz-halo)}
#kmu .kmw-chat.kmw-mem .channelhead [data-action="members"]{color:var(--k-acc);filter:drop-shadow(0 0 5px var(--cz-glow))}
#kmu .kmw-chat .members .roster-context{border:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat;padding-bottom:10px;margin-bottom:6px}
#kmu .kmw-chat .members .member{border-radius:0}
#kmu .kmw-chat .members .member:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.1),transparent 85%)}
@keyframes czIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}

/* ---------- cards inside windows ---------- */
#kmu .kmu-gal-meta{border:0;background:var(--cz-rule-soft) top/100% 1px no-repeat,var(--cz-rule-soft) bottom/100% 1px no-repeat}
#kmu .kmu-gal-meta>div{border-left:0}
#kmu .kmu-gal-planets span{border:0;background:rgba(var(--k-acc-rgb),.07);border-radius:999px}
#kmu .kmu-gal-go{border:0;border-radius:999px;background:linear-gradient(90deg,var(--k-acc),var(--k-acc2));box-shadow:0 0 22px var(--cz-glow)}
#kmu .kmu-btn{border-color:transparent!important;background:rgba(var(--k-acc-rgb),.07)!important;border-radius:999px!important}
#kmu .kmu-btn:hover{background:rgba(var(--k-acc-rgb),.16)!important;color:var(--k-acc)!important}
#kmu .kmu-btn.kmu-primary{background:linear-gradient(90deg,var(--k-acc),var(--k-acc2))!important;color:var(--k-on-acc)!important;box-shadow:0 0 18px var(--cz-glow)}
#kmu .kmu-sec{border:0!important;background:var(--cz-rule-soft) bottom/100% 1px no-repeat}
#kmu .kmu-st,#kmu .kmu-dm-row{border:0!important}
#kmu .kmu-st-go:hover,#kmu .kmu-dm:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.1),transparent 85%)!important}

/* ---------- dialogs: content floating in a dimmed sky ---------- */
body #dialog.modal{border:0;border-radius:22px;background:var(--cz-solid);color:var(--k-ink);padding:30px 34px 28px;
  box-shadow:0 0 70px 40px var(--cz-halo),0 0 160px 40px rgba(var(--k-acc-rgb),.06)}
body #dialog.modal::backdrop{background:radial-gradient(ellipse at 50% 45%,rgba(var(--k-bg-rgb),.18),rgba(var(--k-bg-rgb),.5) 85%)}
html[data-theme=night] body #dialog.modal::backdrop{background:radial-gradient(ellipse at 50% 45%,rgba(2,4,8,.3),rgba(2,4,8,.66) 85%)}
body #dialog.modal::before{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:var(--cz-rule)}
body #dialog .modal-title{font-weight:650;letter-spacing:.02em;color:var(--k-ink)}
body #dialog .modal-sub{color:var(--k-dim);font-size:12px}
body #dialog .close{border:0;background:transparent;color:var(--k-mute);border-radius:50%}
body #dialog .close:hover{color:var(--k-acc);background:transparent;filter:drop-shadow(0 0 6px var(--cz-glow))}
/* option grids (会话操作, 宇宙菜单 …): quiet rows instead of tiles */
body #dialog .lc-hub-grid{gap:0 26px}
body #dialog .lc-hub-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0;padding:13px 26px 13px 4px;text-align:left;position:relative;color:var(--k-ink);font-weight:550;
  background-image:var(--cz-rule-soft)!important;background-size:100% 1px!important;background-position:bottom!important;background-repeat:no-repeat!important;transition:color .15s,padding-left .15s}
body #dialog .lc-hub-card::after{content:"›";position:absolute;right:6px;top:50%;transform:translateY(-52%);color:var(--k-dim);font-size:17px;transition:color .15s,right .15s}
body #dialog .lc-hub-card:hover{color:var(--k-acc);padding-left:10px;text-shadow:0 0 14px var(--cz-glow)}
body #dialog .lc-hub-card:hover::after{color:var(--k-acc);right:2px}
body #dialog .lc-hub-card:hover::before{content:"";position:absolute;left:0;top:30%;bottom:30%;width:2px;border-radius:2px;background:var(--k-acc);box-shadow:0 0 8px var(--cz-glow)}
/* lists, cards and choices in dialogs: no outlines */
body #dialog .listcard,body #dialog .choice-row,body #dialog .km-choices label,body #dialog .km-hub-row,body #dialog .km-tpl,body #dialog .setting-row{border-color:transparent!important;background:rgba(var(--k-acc-rgb),.04)!important;border-radius:12px}
body #dialog .choice-row:has(input:checked),body #dialog .km-choices label:has(input:checked){background:rgba(var(--k-acc-rgb),.12)!important;box-shadow:inset 2px 0 0 var(--k-acc)}
body #dialog .setting-row{background:transparent!important;border-radius:0;background-image:var(--cz-rule-soft)!important;background-size:100% 1px!important;background-position:bottom!important;background-repeat:no-repeat!important}
body #dialog .settings-menu{border-right:0;background:linear-gradient(transparent,var(--cz-line),transparent) right/1px 100% no-repeat}
body #dialog .settings-menu button.active,body #dialog .settings-menu button:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.14),transparent 90%);color:var(--k-acc)}
body #dialog .tag,body #dialog .chip{border-color:transparent;background:rgba(var(--k-acc-rgb),.08)}
/* fields: one underline */
body #dialog .field,body #dialog select.field,body #dialog textarea.field{border:0!important;border-bottom:1px solid var(--cz-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:2px}
body #dialog textarea.field{background:rgba(var(--k-acc-rgb),.035)!important;border-radius:10px 10px 0 0!important;padding:10px}
body #dialog .field:focus{outline:none!important;border-bottom-color:var(--k-acc)!important;box-shadow:0 8px 14px -12px var(--cz-glow)!important}
body #dialog .field-label,body #dialog .section-label{letter-spacing:.12em;color:var(--k-dim)}
/* buttons in dialogs */
body #dialog button.primary,body #dialog .primary{border:0;border-radius:999px;background:linear-gradient(90deg,var(--k-acc),var(--k-acc2));color:var(--k-on-acc);box-shadow:0 0 22px var(--cz-glow)}
body #dialog .secondary,body #dialog .outline{border:0!important;border-radius:999px;background:rgba(var(--k-acc-rgb),.08)!important;color:var(--k-ink2)}
body #dialog .secondary:hover,body #dialog .outline:hover{background:rgba(var(--k-acc-rgb),.16)!important;color:var(--k-acc)}
body #dialog .danger{border:0;border-radius:999px}
body #dialog .profile-modal-person{border-radius:10px;padding:6px 8px}
body #dialog .profile-modal-person:hover{background:linear-gradient(90deg,rgba(var(--k-acc-rgb),.1),transparent 85%)}
body #dialog .form-note{color:var(--k-dim)}
body #dialog hr{border:0;height:1px;background:var(--cz-rule-soft)}
/* the profile dialog: its banner melts into the panel */
body #dialog.profile-dialog .profile-banner{border-radius:22px 22px 0 0;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
body #dialog .profile-box{background:rgba(var(--k-acc-rgb),.05);border:0}
/* the core's toast: a line of light, not a box */
body .toast{border:0;border-radius:999px;background:var(--cz-bg);box-shadow:0 0 28px 12px var(--cz-halo);color:var(--k-ink)}

/* ---------- the immersive view follows the same rules: editors are glass fields, the caption and the controls float ---------- */
#kmu .imm-top{border:0!important;border-radius:0;background:radial-gradient(ellipse 65% 150% at 25% 0%,var(--cz-bg2),transparent 72%)!important;box-shadow:none!important}
#kmu .imm-top::after{content:"";position:absolute;left:0;right:40%;bottom:0;height:1px;background:var(--cz-rule-soft)}
#kmu .imm-exit{border:0;border-radius:999px;background:rgba(var(--k-acc-rgb),.1)}
#kmu .imm-exit:hover{background:rgba(var(--k-acc-rgb),.2);box-shadow:0 0 16px var(--cz-glow)}
#kmu .imm-panel{border:0!important;border-radius:16px;background:var(--cz-bg)!important;box-shadow:0 0 40px 20px var(--cz-halo)!important}
#kmu .imm-panel.big{background:var(--cz-solid,rgba(var(--k-bg-rgb),.98))!important}   /* V15: one result opened large is solid: nothing shows through it */
#kmu .imm-panel.active{box-shadow:0 0 40px 20px var(--cz-halo),0 0 60px rgba(var(--k-acc-rgb),.22)!important}
#kmu .imm-panel.done{box-shadow:0 0 40px 20px var(--cz-halo),0 0 50px rgba(224,134,0,.18)!important}
#kmu .imm-panel>header,#kmu .imm-tb{border-bottom:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat}
#kmu .imm-kind{border:0;border-radius:999px;background:rgba(var(--k-acc-rgb),.08)}
#kmu .imm-page,#kmu .imm-slide,#kmu .imm-tree,#kmu .imm-vprev{border-color:transparent!important;border-radius:10px;background:rgba(var(--k-acc-rgb),.035)}
#kmu .imm-thumbs b{border-color:transparent;border-radius:6px;background:rgba(var(--k-acc-rgb),.06)}
#kmu .imm-thumbs b.cur{box-shadow:0 0 0 1.5px var(--k-acc),0 0 10px var(--cz-glow)}
#kmu .imm-note{border:0;border-radius:14px;background:radial-gradient(120% 140% at 0% 50%,rgba(224,134,0,.12),rgba(var(--k-bg-rgb),.96) 60%)!important;box-shadow:0 0 22px 8px var(--cz-halo)}   /* V15: the same soft warm glow as the cards that wait for you, no hard edge */

/* ---------- phone ---------- */
body.kmu-phone #kmu #kmu-dock{padding:6px 10px}
body.kmu-phone #kmu .kmu-dv span,body.kmu-phone #kmu .kmu-dock-ow span{display:none}
body.kmu-phone #kmu .kmu-dv,body.kmu-phone #kmu .kmu-dock-ow{width:36px}
#kmu .imm-speed{border:0}
.kmu-hist{display:inline-flex;gap:0;flex:none;margin-left:2px}
.kmu-hist .kmu-tb{width:24px;color:var(--k-mute)}
body.kmu-phone .kmu-hist{display:none}
/* the activity panel (动态): rows without boxes; what needs you keeps an amber edge of light */
:is(#kmu,.km-ow-host) .km-ow-row{border:0!important;border-radius:10px}
:is(#kmu,.km-ow-host) .km-ow-need,:is(#kmu,.km-ow-host) .km-ow-row.need{border:0!important;border-radius:16px;background:radial-gradient(120% 140% at 0% 50%,rgba(224,134,0,.12),rgba(224,134,0,.035) 55%,transparent 85%)!important;box-shadow:none!important}   /* V15: a soft warm glow, no hard edge; V18: the same in 面板视图's 动态 */
:is(#kmu,.km-ow-host) .km-ow-need .km-ow-av{position:relative}
:is(#kmu,.km-ow-host) .km-ow-need .km-ow-av::after{content:"";position:absolute;left:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#E08600;box-shadow:0 0 0 2px var(--cz-solid,var(--k-bg)),0 0 8px rgba(224,134,0,.6)}
:is(#kmu,.km-ow-host) .km-ow-no,:is(#kmu,.km-ow-host) .km-ow-ic{border:0!important;background:rgba(var(--k-acc-rgb),.08)!important}
:is(#kmu,.km-ow-host) .km-ow-ok{border-radius:999px;box-shadow:0 0 14px var(--cz-glow)}
/* phone: the dock is icons only, so your agents keep room */
body.kmu-phone #kmu .kmu-dock-btn span,body.kmu-phone #kmu .kmu-dv span,body.kmu-phone #kmu .kmu-dock-ow span{display:none}
body.kmu-phone #kmu .kmu-dock-btn,body.kmu-phone #kmu .kmu-dv,body.kmu-phone #kmu .kmu-dock-ow{width:32px}
body.kmu-phone #kmu .kmu-dock-add,body.kmu-phone #kmu .kmu-dock-add+.kmu-dock-sep{display:none}
body.kmu-phone #kmu .kmu-dock-agents{min-width:110px}
/* the call you are in, in the dock: a soft glowing capsule, no outline (same size as before) */
#kmu .kmu-dock-call{border-color:transparent;border-radius:999px;background:radial-gradient(ellipse at 50% 50%,rgba(var(--k-acc-rgb),.16),rgba(var(--k-acc-rgb),.05) 80%)}

/* V14 · exploring: the open windows (chat, cards, DMs) and the activity panel step aside, so the sky has the whole screen.
   They keep their state and come back as they were when you leave 探索; a galaxy's own card stays. */
body.km-u.kmu-exploring #kmu .kmw:not(.kmw-galaxy),body.km-u.kmu-exploring #kmu #kmu-ow{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(10px) scale(.985);transition:opacity .35s,transform .35s,visibility 0s .35s}
body.km-u #kmu .kmw{transition:opacity .35s,transform .35s}

/* V14 · right-click menus (both views; src/kmind/ctx.js): a small pane of glass, rows of words, one soft line between groups */
#km-ctx{position:fixed;z-index:2147483000;min-width:200px;max-width:300px;padding:6px;border-radius:14px;background:var(--cz-solid);box-shadow:0 0 0 1px rgba(var(--k-acc-rgb),.06),0 18px 50px -12px rgba(var(--k-sh),.35),0 0 40px 14px var(--cz-halo);font:13px/1.3 var(--font,inherit);color:var(--k-ink);animation:kmCtxIn .14s ease-out}
#km-ctx[hidden]{display:none!important}
#km-ctx .km-ctx-h{padding:6px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:.08em;color:var(--k-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#km-ctx button{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;position:relative}
#km-ctx button svg,#km-ctx .km-ctx-gap{width:15px;height:15px;flex:none;color:var(--k-acc);opacity:.85}
#km-ctx button span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#km-ctx button em{font-style:normal;font-size:11px;color:var(--k-dim)}
#km-ctx button:hover,#km-ctx button:focus-visible{background:rgba(var(--k-acc-rgb),.09);color:var(--k-acc);outline:none}
#km-ctx button:hover::before,#km-ctx button:focus-visible::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--k-acc);box-shadow:0 0 8px var(--cz-glow)}
#km-ctx button[disabled]{opacity:.4;cursor:default}
#km-ctx .km-ctx-danger{color:var(--k-danger)}
#km-ctx .km-ctx-sep{display:block;height:1px;margin:5px 8px;background:var(--cz-rule-soft)}
@keyframes kmCtxIn{from{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:none}}

/* V14 · an agent at work — in the dock and 我的智能体 (V34: along its diamond frame, src/kmind/kmind.css · .km-wk), bars in 动态 (KM.work; demo tasks: src/kmind/demo.js) */
@property --wp{syntax:'<number>';inherits:true;initial-value:0}
#kmu .kmu-dock-agent{position:relative}
.km-agent-row{position:relative}
.km-work-tag{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--cz-acc,#6FA8FF);margin-right:5px;padding:0 5px;border-radius:6px;background:color-mix(in srgb,var(--cz-acc,#6FA8FF) 14%,transparent)}
.km-ow-t{position:relative}
.km-ow-bar{display:block;height:2px;margin:3px 0 2px;border-radius:2px;background:rgba(127,140,170,.18);overflow:hidden;position:relative}
.km-ow-bar::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--wp));background:linear-gradient(90deg,var(--cz-acc,#6FA8FF),color-mix(in srgb,var(--cz-acc,#6FA8FF) 55%,#fff));transition:transform .9s ease}
.km-ow-bar-run::after{transform:none;width:30%;animation:kmuWorkRun 1.6s ease-in-out infinite}
@keyframes kmuWorkRun{from{transform:translateX(-100%)}to{transform:translateX(330%)}}
.km-demo-chip{font-style:normal;font-size:9.5px;font-weight:600;letter-spacing:.04em;padding:0 5px;border-radius:5px;color:#B97A00;background:rgba(224,134,0,.13);border:1px dashed rgba(224,134,0,.45);flex:none}
/* V24: the sample work (src/kmind/demo.js) is not marked in the interface; the chip stays in the markup for whoever connects the backend */
.km-demo-chip{display:none!important}
@media (prefers-reduced-motion:reduce){.km-ow-bar-run::after{animation:none}}
.message-meta .km-demo-chip{margin-left:6px;align-self:center}
body.km-u .channelhead .km-en{display:none}
#kmu .kmu-hit{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}   /* V14: on touch screens the finger holds, drags and turns here, not the page */
#kmu .kmu-bar{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}   /* V14: what does not fit fades out (it scrolls) */

/* ---------- V16 · the chat filling the screen (最大化): no handles, no dragging; the planet bar, the dock and 动态 step aside ---------- */
#kmu .kmw.kmw-maxed{background:var(--cz-solid)!important;border-radius:18px}
#kmu .kmw.kmw-maxed .kmw-rz{display:none}
#kmu .kmw.kmw-maxed .kmw-head{cursor:default}
#kmu .kmw-maxb[aria-pressed="true"]{color:var(--k-acc)}
body.kmu-chatmax #kmu-dock,body.kmu-chatmax #kmu-bar,body.kmu-chatmax #kmu-ow,body.kmu-chatmax .kmu-barpop{display:none!important}
body.kmu-phone #kmu .kmw-chat.kmw-sheet.kmw-maxed{top:52px;bottom:22px;height:auto;border-radius:16px}
#kmu .kmu-pill.kmu-ico{padding:0 6px;margin-left:-4px}

/* ---------- V17 · many agents: the row has a set width and slides; your own order, with a mark where a dragged agent lands ---------- */
#kmu .kmu-dock-agents{max-width:min(468px,calc(100vw - 560px));scroll-snap-type:x proximity;scroll-behavior:smooth;position:relative}
#kmu .kmu-dock-agents .kmu-dock-agent{scroll-snap-align:start}
#kmu .kmu-dock-agents.kmu-ordering{scroll-snap-type:none;scroll-behavior:auto}
#kmu .kmu-dock-agents.kmu-ov-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 26px);mask-image:linear-gradient(90deg,transparent,#000 26px)}
#kmu .kmu-dock-agents.kmu-ov-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}
#kmu .kmu-dock-agents.kmu-ov-l.kmu-ov-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 26px),transparent)}
#kmu .kmu-dock-scroll{display:grid;place-items:center;width:20px;height:44px;flex:none;padding:0;border:0;border-radius:6px;background:transparent;color:var(--k-dim);cursor:pointer;transition:color .15s,opacity .15s}
#kmu .kmu-dock-scroll[hidden]{display:none}
#kmu .kmu-dock-scroll:hover:not(:disabled){color:var(--k-acc)}
#kmu .kmu-dock-scroll:disabled{opacity:.28;cursor:default}
#kmu .kmu-dock-agent.kmu-ins-l::before,#kmu .kmu-dock-agent.kmu-ins-r::before{content:"";position:absolute;top:4px;bottom:4px;width:2px;border-radius:2px;background:var(--k-acc);box-shadow:0 0 8px var(--cz-glow);z-index:2}
#kmu .kmu-dock-agent.kmu-gdrag{opacity:.42;transform:translateY(-3px);transition:opacity .15s,transform .15s}   /* V34: dragging a leader, its group goes with it */
#kmu .kmu-dock-agent.kmu-ins-l::before{left:-1px}
#kmu .kmu-dock-agent.kmu-ins-r::before{right:-1px}
body.kmu-phone #kmu .kmu-dock-agents{max-width:none;flex:1}
body.kmu-phone #kmu .kmu-dock-scroll{display:none}

/* ---------- V17 · 动态 with many agents: group them, fold a group, see who shares which planets ---------- */
.km-ow-tools{display:flex;align-items:center;gap:8px;margin:-2px 0 2px;min-width:0}
/* V24 · 只看这颗星球: one switch under 动态's head (both views) */
.km-ow-filter{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 6px}
.km-ow-only,.km-ow-imm{display:inline-flex;align-items:center;gap:6px;max-width:100%;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-only em{font-style:normal;font-weight:500;color:var(--k-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-ow-only:hover,.km-ow-imm:hover{color:var(--k-acc)}
.km-ow-only.on,.km-ow-imm.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)}
.km-ow-only.on em{color:var(--k-acc)}
.km-ow-gb{display:inline-flex;align-items:center;gap:1px;padding:2px;border-radius:999px;background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px var(--k-line);overflow-x:auto;scrollbar-width:none;min-width:0;flex:0 1 auto}
.km-ow-gb::-webkit-scrollbar{display:none}
.km-ow-gb button{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:var(--k-ink2);font:inherit;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.km-ow-gb button svg{opacity:.7;flex:none}
.km-ow-gb button:hover{color:var(--k-acc)}
.km-ow-gb button.on{background:var(--k-bg);color:var(--k-acc);font-weight:600;box-shadow:0 1px 3px rgba(var(--k-sh),.14),inset 0 0 0 1px rgba(var(--k-acc-rgb),.22)}
.km-ow-gb button.on svg{opacity:1}
.km-ow-rel{display:inline-flex;align-items:center;gap:5px;height:28px;margin-left:auto;padding:0 12px;flex:none;border:0;border-radius:999px;color:var(--k-acc);font:inherit;font-size:12px;font-weight:600;cursor:pointer;
  background:radial-gradient(ellipse 80% 120% at 30% 50%,rgba(var(--k-acc-rgb),.16),rgba(var(--k-acc-rgb),.05) 80%);box-shadow:inset 0 0 0 1px rgba(var(--k-acc-rgb),.28);transition:box-shadow .15s,background .15s}
.km-ow-rel:hover{box-shadow:inset 0 0 0 1px var(--k-acc),0 0 14px var(--cz-glow)}
.km-ow-grp{position:sticky;top:-12px;z-index:2;margin:6px -6px 0;padding:0 6px;background:linear-gradient(var(--cz-solid,var(--k-bg)) 70%,transparent)}
.km-ow-rows.km-ow-grouped .km-ow-grp:first-child{margin-top:0}
.km-ow-gh{display:flex;align-items:center;gap:7px;width:100%;height:30px;padding:0 4px;border:0;background:var(--cz-rule-soft) bottom/100% 1px no-repeat;color:var(--k-ink);font:inherit;text-align:left;cursor:pointer}
.km-ow-gh>svg{flex:none;color:var(--k-dim);transition:transform .2s}
.km-ow-grp.fold .km-ow-gh>svg{transform:rotate(-90deg)}
.km-ow-gh b{font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.km-ow-gh small{font:500 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;color:var(--k-dim);text-transform:uppercase;white-space:nowrap}
.km-ow-gh em{margin-left:auto;font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;font-style:normal;color:var(--k-dim);padding:3px 7px;border-radius:999px;background:rgba(var(--k-acc-rgb),.07)}
.km-ow-gbusy{display:inline-flex;align-items:center;gap:4px;font:600 10.5px/1 "JetBrains Mono",ui-monospace,monospace;font-style:normal;color:var(--k-acc)}
.km-ow-gbusy::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--k-acc);box-shadow:0 0 6px var(--cz-glow)}
.km-ow-gh:hover b{color:var(--k-acc)}
body.fx-off-en .km-ow-gh small{display:none}
body.kmu-phone .km-ow-gb button span{display:none}
body.kmu-phone .km-ow-gb button.on span{display:inline}

/* ---------- V17 · 关系: a simplified planets view of where your agents meet (src/universe/relations.js) ---------- */
.km-rel-sub{margin-left:8px;font-size:11px;font-weight:500;color:var(--k-dim)}
.km-rel{display:flex;flex-direction:column;min-height:100%}
.km-rel-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:12px;padding:10px 14px 8px;background:linear-gradient(var(--cz-solid,var(--k-bg)) 75%,transparent)}
.km-rel-seg{display:inline-flex;gap:1px;padding:2px;border-radius:999px;background:rgba(var(--k-acc-rgb),.05);box-shadow:inset 0 0 0 1px var(--k-line)}
.km-rel-seg button{height:26px;padding:0 13px;border:0;border-radius:999px;background:transparent;color:var(--k-ink2);font:inherit;font-size:12px;cursor:pointer}
.km-rel-seg button:hover{color:var(--k-acc)}
.km-rel-seg button.on{background:var(--k-bg);color:var(--k-acc);font-weight:600;box-shadow:0 1px 3px rgba(var(--k-sh),.14),inset 0 0 0 1px rgba(var(--k-acc-rgb),.22)}
.km-rel-sum{margin-left:auto;font:500 11px/1 "JetBrains Mono","Plex SC",monospace;color:var(--k-dim)}
.km-rel-stage{position:relative;flex:none;margin:0 6px 10px}
.km-rel-svg{position:absolute;left:0;top:0;overflow:visible}
.km-rel-ring{fill:none;stroke:rgba(var(--k-acc-rgb),.22);stroke-width:1;stroke-dasharray:2 4}
.km-rel-ring2{fill:none;stroke:rgba(var(--k-acc-rgb),.07);stroke-width:1}
.km-rel-link{fill:none;stroke:var(--c);stroke-width:1.2;stroke-opacity:.32;transition:stroke-opacity .2s,stroke-width .2s}
.km-rel-halo{fill:var(--c);fill-opacity:.12;transition:fill-opacity .2s}
.km-rel-dot{stroke:rgba(var(--k-bg-rgb),.9);stroke-width:1.2}
.km-rel-pl{cursor:pointer}
.km-rel-stage.hot .km-rel-link{stroke-opacity:.06}
.km-rel-stage.hot .km-rel-link.lit{stroke-opacity:.95;stroke-width:2}
.km-rel-stage.hot .km-rel-pl{opacity:.25;transition:opacity .2s}
.km-rel-stage.hot .km-rel-pl.lit{opacity:1}
.km-rel-stage.hot .km-rel-pl.lit .km-rel-halo{fill-opacity:.3}
.km-rel-u{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;max-width:120px;pointer-events:none;text-align:center}
.km-rel-u b{font-size:11.5px;font-weight:650;color:var(--k-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.km-rel-u small{font:500 9.5px/1 "JetBrains Mono","Plex SC",monospace;color:var(--k-dim)}
.km-rel-pn{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:0;border-radius:999px;background:rgba(var(--k-bg-rgb),.72);color:var(--k-ink2);font:inherit;font-size:11px;white-space:nowrap;cursor:pointer;transition:color .15s,opacity .2s}
.km-rel-pn.r{transform:translate(var(--o),-50%)}
.km-rel-pn.l{transform:translate(calc(-100% - var(--o)),-50%)}
.km-rel-pn.t{transform:translate(-50%,calc(-100% - var(--o)))}
.km-rel-pn.b{transform:translate(-50%,var(--o))}
.km-rel-pn b{font-weight:600;color:var(--c)}
.km-rel-pn em{font:600 9.5px/1 "JetBrains Mono",monospace;font-style:normal;color:var(--k-dim)}
.km-rel-pn:hover b{text-decoration:underline;text-underline-offset:2px}
.km-rel-stage.hot .km-rel-pn{opacity:.3}
.km-rel-stage.hot .km-rel-pn.lit{opacity:1}
.km-rel-gl{position:absolute;left:12px;font:500 9.5px/1 "JetBrains Mono","Plex SC",monospace;letter-spacing:.06em;color:var(--k-dim);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.km-rel-a{position:absolute;left:6px;width:172px;transform:translateY(-50%);display:flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 4px;border:0;border-radius:10px;background:transparent;color:var(--k-ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s,opacity .2s}
.km-rel-a b{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.km-rel-a em{font:600 10px/1 "JetBrains Mono",monospace;font-style:normal;color:var(--k-dim);padding:3px 6px;border-radius:999px;background:rgba(var(--k-acc-rgb),.07)}
.km-rel-a:hover,.km-rel-a.lit{background:radial-gradient(ellipse 90% 100% at 20% 50%,rgba(var(--k-acc-rgb),.14),transparent 85%)}
.km-rel-a.none{opacity:.42}
.km-rel-stage.hot .km-rel-a{opacity:.3}
.km-rel-stage.hot .km-rel-a.lit{opacity:1}
.km-rel-empty{position:absolute;left:200px;right:20px;top:40px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 10px;color:var(--k-dim);text-align:center}
.km-rel-empty b{font-size:13px;color:var(--k-ink2)}
.km-rel-empty small{font-size:12px}
.kmw-rel .kmw-body{overflow:auto}
#kmu .kmw.kmw-rel{background:var(--cz-solid)!important}

/* ---------- V22 · 一个标题栏 ONE HEAD: open, the chat window's own header (# planet, its tools) is the window's head; the window's
   minimize / maximize buttons sit at its right end. Collapsed, the window's title comes back (the header is hidden with the body).
   Dragging and double-clicking the header's empty part move and maximize the window (win.js o.grip). Not on a phone (the sheet keeps its handle). ---------- */
body:not(.kmu-phone) #kmu .kmw-chat:not(.kmw-collapsed)>.kmw-head{position:absolute;top:0;right:0;left:auto;height:49px;padding:0 8px 0 4px;gap:2px;z-index:7;background:none!important;border:0!important}
body:not(.kmu-phone) #kmu .kmw-chat:not(.kmw-collapsed)>.kmw-head>.kmw-ic,body:not(.kmu-phone) #kmu .kmw-chat:not(.kmw-collapsed)>.kmw-head>.kmw-title{display:none}
body:not(.kmu-phone) #kmu .kmw-chat:not(.kmw-collapsed) .workspace>.channelhead{padding-right:66px;cursor:grab}
body:not(.kmu-phone) #kmu .kmw-chat.kmw-maxed .workspace>.channelhead{cursor:default}
body:not(.kmu-phone) #kmu .kmw-chat.kmw-active .workspace>.channelhead{cursor:grabbing}
/* the start of a planet channel: its name is already in the head right above; the topic and its settings stay */
#kmu .kmw-chat .channel-intro-small:has(p) h2{display:none}
#kmu .kmw-chat .channel-intro-small:has(p) p{margin-top:0}
/* a planet forum: 开放 / 已关闭 / 全部 share a line with the sort, the layout and the tags (two lines of controls, not three) */
#kmu .kmw-chat .forum-main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}
#kmu .kmw-chat .forum-top{display:contents}
#kmu .kmw-chat .forum-searchbar{grid-column:1/-1;grid-row:1;margin:14px 13px 0}
#kmu .kmw-chat .lc-forum-tabs{grid-column:1;grid-row:2;align-self:start;margin:13px 0 6px 13px;padding:0;flex-wrap:nowrap}
#kmu .kmw-chat .forum-filters{grid-column:2;grid-row:2;align-self:start;padding:12px 13px 6px 10px}
#kmu .kmw-chat .forum-list{grid-column:1/-1;grid-row:3}
/* V33 · the dock: one cluster per group (a small gap and a hairline where the next group starts); a moon's name in the bar */
#kmu .kmu-dock-agent.kmu-gstart{margin-left:9px}
#kmu .kmu-dock-agent.kmu-gstart:not(.kmu-ins-l):not(.kmu-ins-r)::before{content:"";position:absolute;left:-5px;top:9px;height:26px;width:1px;background:rgba(127,140,170,.32);pointer-events:none}
#kmu .kmu-gname{display:inline-flex;align-items:center}
#kmu .kmu-st-g .kmu-st-go{align-items:center}
#kmu .kmu-st-g .km-g-dia{margin:0 6px 0 4px}
