/* Bureo M1 design system — GENERATED by docs/ux/m1-system/build-kit.mjs from the M1 study's own CSS (docs/ux/chat-studies/mix/M1);
   do not edit the generated part: change the study (or kit-extra.css for app-only components) and rebuild. Spec: docs/ux/m1-system.md.
   Kit marker: every class starts with "k-"; the kit's base rules apply inside .k-m1. 393 study rules. */
html.b-m1{--k-font:'Outfit','Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --k-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --k-r-sm:10px;--k-r-md:14px;--k-r-lg:20px;--k-r-xl:28px;--k-r-pill:999px;
  --k-bg:#E8EAED;--k-surface:#FFFFFF;--k-surface-2:#F5F6F7;--k-surface-3:#EEF0F2;
  --k-chat:#111113;--k-chat-2:#1D1D20;--k-chat-3:#2A2A2F;
  --k-text:#0B0B0C;--k-text-2:#5E636A;--k-text-3:#6B7076;
  --k-on-chat:#F4F5F6;--k-on-chat-2:#9A9EA3;
  --k-line:#E6E8EB;--k-line-strong:#D3D6DA;
  --k-accent:#D8F500;--k-accent-ink:#0B0B0C;--k-accent-soft:#F1FBB8;
  --k-ok:#1E9E5A;--k-ok-ink:#167A45;--k-ok-soft:#E3F5EA;
  --k-warn:#E8642C;--k-warn-ink:#B4461A;--k-warn-soft:#FDEBE2;
  --k-info:#3A6FF2;--k-info-ink:#2550C8;--k-info-soft:#E6EDFE;
  --k-focus:#0B0B0C;--k-mark-2:#0B0B0C;
  --k-shadow-1:0 1px 2px rgba(11,11,12,.06),0 1px 1px rgba(11,11,12,.04);
  --k-shadow-2:0 12px 32px -12px rgba(11,11,12,.22);
  --k-shadow-3:0 24px 64px -20px rgba(11,11,12,.35);
  --k-ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;}
html.b-m1[data-theme="dark"]{--k-bg:#0A0A0B;--k-surface:#151517;--k-surface-2:#1E1E21;--k-surface-3:#242428;--k-chat:#0F0F11;--k-chat-2:#1A1A1D;--k-chat-3:#26262B;
  --k-text:#F2F3F5;--k-text-2:#B4B8BE;--k-text-3:#959AA1;--k-line:#26262A;--k-line-strong:#34343A;
  --k-accent-soft:#2B3200;--k-ok-soft:#0F2A1B;--k-warn-soft:#3A1E12;--k-info-soft:#14203F;
  --k-ok-ink:#4CC685;--k-warn-ink:#FF9461;--k-info-ink:#86A6FF;--k-focus:#D8F500;--k-mark-2:#F2F3F5;
  --k-shadow-2:0 12px 32px -12px rgba(0,0,0,.7);--k-shadow-3:0 24px 64px -20px rgba(0,0,0,.8);color-scheme:dark}
:where(.k-m1) *{box-sizing:border-box}
:where(.k-m1){font-family:var(--k-font);background:var(--k-surface);color:var(--k-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
:where(.k-m1) button,:where(.k-m1) input,:where(.k-m1) textarea,:where(.k-m1) select{font:inherit;color:inherit}
:where(.k-m1) button{cursor:pointer}
:where(.k-m1) svg{flex:none}
:where(.k-m1) :focus-visible{outline:2px solid var(--k-focus);outline-offset:2px}
:is(.k-num,.m1k-num),.k-mono,:where(.k-m1) td.k-r,.k-r{font-variant-numeric:tabular-nums}
.k-mono{font-family:var(--k-mono);font-size:12px;letter-spacing:.02em}
.k-r{text-align:right}
.k-muted{color:var(--k-text-2)}
.k-faint{color:var(--k-text-3);font-size:13px}
.k-ok{color:var(--k-ok-ink)}
.k-warn{color:var(--k-warn-ink)}
:where(.k-m1) h1,:where(.k-m1) h2,:where(.k-m1) h3,:where(.k-m1) h4{margin:0;font-weight:500;letter-spacing:-.01em}
:where(.k-m1) p{margin:0}
:is(.k-grow,.m1k-grow){flex:1;min-width:0}
.k-row{display:flex;gap:10px;align-items:center}
:is(.k-ell,.m1k-ell){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.k-btn,.m1k-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--k-line-strong);background:var(--k-surface);border-radius:var(--k-r-pill);padding:8px 14px;font-size:14px;font-weight:500;white-space:nowrap;line-height:1.2}
:is(.k-btn,.m1k-btn):is(.k-pri,.m1c-pri){background:var(--k-accent);color:var(--k-accent-ink);border-color:transparent}
:is(.k-btn,.m1k-btn).k-ghost{border-color:transparent;background:none;color:var(--k-text-2)}
:is(.k-btn,.m1k-btn):is(.k-sm,.m1k-sm){padding:5px 11px;font-size:13px}
:is(.k-btn,.m1k-btn) svg{width:16px;height:16px}
.k-ib{width:34px;height:34px;display:inline-grid;place-items:center;border:0;background:none;border-radius:10px;color:var(--k-text-2);flex:none}
.k-ib:hover{background:var(--k-surface-3)}
.k-ib svg{width:19px;height:19px}
:is(.k-chip,.m1k-chip){display:inline-flex;align-items:center;gap:4px;border-radius:var(--k-r-pill);padding:2px 9px;font-size:12px;font-weight:500;background:var(--k-surface-3);color:var(--k-text-2);white-space:nowrap}
:is(.k-chip,.m1k-chip).k-ok{background:var(--k-ok-soft);color:var(--k-ok-ink)}
:is(.k-chip,.m1k-chip):is(.k-lime,.m1k-lime){background:var(--k-accent-soft);color:var(--k-text)}
.k-badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--k-r-pill);background:var(--k-accent);color:var(--k-accent-ink);font-size:11.5px;font-weight:600;display:inline-grid;place-items:center;line-height:1}
.k-kbd{font-family:var(--k-mono);font-size:11px;border:1px solid var(--k-line-strong);border-bottom-width:2px;border-radius:5px;padding:0 5px;color:var(--k-text-2);background:var(--k-surface)}
.k-av{width:30px;height:30px;line-height:1;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:600;background:var(--k-text);color:var(--k-surface);flex:none}
:is(.k-mark,.m1k-mark){width:26px;height:26px;flex:none}
:is(.k-mark,.m1k-mark) :is(.k-s1,.m1k-s1){fill:var(--k-accent)}
:is(.k-mark,.m1k-mark) :is(.k-s2,.m1k-s2){fill:var(--k-mark-2)}
:is(.k-eyebrow,.m1k-eyebrow){font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--k-text-3);font-weight:600}
.k-chat{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--k-surface)}
.k-thread{flex:1;overflow:auto;min-height:0;padding:8px 24px 24px}
.k-caret{display:inline-block;width:8px;height:16px;background:var(--k-text);vertical-align:-2px;margin-left:2px;border-radius:2px;animation:k-blink 1s steps(2) infinite}
@keyframes k-blink{50%{opacity:0}}
:is(.k-steps,.m1k-steps){border:1px solid var(--k-line);border-radius:var(--k-r-md);background:var(--k-surface);font-size:13.5px;overflow:hidden}
:is(.k-steps,.m1k-steps) summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;color:var(--k-text-2)}
:is(.k-steps,.m1k-steps) summary::-webkit-details-marker{display:none}
:is(.k-steps,.m1k-steps) summary :is(.k-chev,.m1k-chev){margin-left:auto;transition:transform .2s}
:is(.k-steps,.m1k-steps)[open] summary :is(.k-chev,.m1k-chev){transform:rotate(180deg)}
:is(.k-steps,.m1k-steps) ol{list-style:none;margin:0;padding:4px 12px 10px 12px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--k-line)}
:is(.k-steps,.m1k-steps) li{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;color:var(--k-text-2)}
:is(.k-steps,.m1k-steps) li :is(.k-tk,.m1k-tk){width:16px;height:16px;border-radius:50%;background:var(--k-ok-soft);color:var(--k-ok-ink);display:grid;place-items:center}
:is(.k-steps,.m1k-steps) li :is(.k-tk,.m1k-tk) svg{width:11px;height:11px}
:is(.k-steps,.m1k-steps) li.k-run :is(.k-tk,.m1k-tk){background:var(--k-accent-soft);color:var(--k-text)}
:is(.k-steps,.m1k-steps) li.k-run :is(.k-tk,.m1k-tk):after{content:"";width:8px;height:8px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:k-spin 1s linear infinite}
@keyframes k-spin{to{transform:rotate(360deg)}}
:is(.k-steps,.m1k-steps) li code{font-family:var(--k-mono);font-size:11.5px;color:var(--k-text-3)}
.k-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--k-line-strong);border-right-color:var(--k-text);animation:k-spin .9s linear infinite;display:inline-block}
.k-hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;gap:22px;min-height:0;overflow:auto}
:is(.k-cc,.m1k-cc){border:1px solid var(--k-line-strong);border-radius:var(--k-r-lg);background:var(--k-surface);overflow:hidden;box-shadow:var(--k-shadow-1)}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch){display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--k-line)}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) :is(.k-ic,.m1k-ic){width:32px;height:32px;border-radius:10px;background:var(--k-accent);color:var(--k-accent-ink);display:grid;place-items:center;flex:none}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) :is(.k-ic,.m1k-ic) svg{width:17px;height:17px}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) h4{font-size:15px;font-weight:600}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) p{font-size:12.5px;color:var(--k-text-3)}
:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts){display:grid;grid-template-columns:auto 1fr;font-size:13.5px}
:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt{padding:8px 0 8px 16px;color:var(--k-text-3);font-weight:600;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--k-line)}
:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dd{margin:0;padding:8px 16px 8px 14px;border-top:1px solid var(--k-line);min-width:0}
:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt:first-of-type,:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dd:first-of-type{border-top:0}
:is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv){display:grid;grid-template-columns:1fr auto;gap:3px 12px}
:is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv) span{color:var(--k-text-2)}
:is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv) b{font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
:is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv) b:is(.k-tot,.m1-cftot){font-size:16px;font-weight:600}
:is(.k-cc,.m1k-cc) .k-ed{background:var(--k-accent-soft);border-radius:5px;padding:0 5px}
:is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act){display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--k-line);flex-wrap:wrap;align-items:center;background:var(--k-surface-2)}
:is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act) :is(.k-who,.m1k-who){font-size:12px;color:var(--k-text-3);margin-left:auto}
:is(.k-lnk,.m1k-lnk){background:none;border:0;color:var(--k-text-2);text-decoration:underline;text-underline-offset:3px;font-size:12.5px;padding:0}
.k-only-phone{display:none!important}
@media (max-width:760px){
.k-only-phone{display:revert!important}
.k-no-phone{display:none!important}
.k-thread{padding:8px 14px 18px}
}
@media (prefers-reduced-motion:reduce){
:where(.k-m1) *{transition:none!important;animation:none!important}
}
@keyframes k-wv{to{transform:scaleY(.45)}}
.k-streaming :is(.k-steps,.m1k-steps) li.k-run{color:var(--k-text)}
:is(.k-orb,.m1k-orb){position:relative;width:64px;height:64px;flex:none}
:is(.k-orb,.m1k-orb) i{position:absolute;inset:0;border-radius:50%;filter:blur(10px);mix-blend-mode:normal;opacity:.9}
:is(.k-orb,.m1k-orb) i:nth-child(1){background:radial-gradient(circle at 35% 35%,#D8F500,transparent 65%);animation:k-orb1 7s ease-in-out infinite}
:is(.k-orb,.m1k-orb) i:nth-child(2){background:radial-gradient(circle at 65% 40%,#7FE3C8,transparent 60%);animation:k-orb2 9s ease-in-out infinite}
:is(.k-orb,.m1k-orb) i:nth-child(3){background:radial-gradient(circle at 50% 70%,#A9B8FF,transparent 60%);animation:k-orb3 11s ease-in-out infinite}
:is(.k-orb,.m1k-orb).k-think{width:28px;height:28px}
:is(.k-orb,.m1k-orb).k-think i{filter:blur(4px);animation-duration:2.4s,3s,3.6s}
@keyframes k-orb1{50%{transform:translate(8%,-10%) scale(1.15)}}
@keyframes k-orb2{50%{transform:translate(-12%,6%) scale(.9)}}
@keyframes k-orb3{50%{transform:translate(6%,12%) scale(1.1)}}
@media (prefers-reduced-motion:reduce){
:is(.k-orb,.m1k-orb) i,.k-wv i{animation:none}
}
html.b-m1{--ka-r:34px;--ka-pad:10px;--ka-in:calc(var(--ka-r) - var(--ka-pad) - 1px);
  --ka-font:'Inter','Inter Display','Outfit',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --ka-win:rgba(246,247,249,.62);--ka-edge:rgba(255,255,255,.7);--ka-canvas:#F3F4F6;--ka-card:#FFFFFF;--ka-side:rgba(255,255,255,.34);
  --ka-me:#E9EDFB;--ka-me-ink:#1E2A55;--ka-chip:#EFE9FB;--ka-chip-ink:#5B3FA8;--ka-soft:#E9EAEE;--ka-pill:#EEEFF2;
  --ka-room:linear-gradient(180deg,#D9DADC 0%,#C9CACD 58%,#A9AAAD 100%);
  --ka-shadow:0 40px 120px -40px rgba(20,22,30,.45),0 2px 0 rgba(255,255,255,.6) inset;}
html.b-m1[data-theme="dark"]{--ka-win:rgba(22,23,27,.62);--ka-edge:rgba(255,255,255,.08);--ka-canvas:#16171A;--ka-card:#202125;--ka-side:rgba(30,31,36,.4);
  --ka-me:#262B44;--ka-me-ink:#DCE2FF;--ka-chip:#2C2440;--ka-chip-ink:#CDBBFF;--ka-soft:#2A2B30;--ka-pill:#24252A;
  --ka-room:linear-gradient(180deg,#1E1F22 0%,#141517 60%,#0B0B0D 100%);--ka-shadow:0 40px 120px -40px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.06) inset}
:where(.k-m1){font-family:var(--ka-font);font-feature-settings:'cv11','ss01'}
.k-room{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--ka-room);display:flex;padding:44px 56px}
.k-room:before{content:"";position:absolute;inset:-10%;filter:blur(36px);opacity:.95;pointer-events:none;
  background:linear-gradient(100deg,transparent 6%,rgba(255,255,255,.55) 7% 15%,transparent 16% 22%,rgba(255,255,255,.45) 23% 34%,transparent 35%),
  radial-gradient(14% 22% at 88% 22%,rgba(170,205,30,.85),transparent 70%),radial-gradient(8% 30% at 92% 58%,rgba(150,185,30,.55),transparent 70%),
  radial-gradient(30% 10% at 55% 98%,rgba(40,70,170,.7),transparent 70%),radial-gradient(18% 30% at 6% 60%,rgba(255,255,255,.6),transparent 70%)}
html.b-m1[data-theme="dark"] .k-room:before{opacity:.35}
.k-win{position:relative;flex:1;min-width:0;display:flex;background:var(--ka-win);-webkit-backdrop-filter:blur(40px) saturate(1.4);backdrop-filter:blur(40px) saturate(1.4);border:1px solid var(--ka-edge);border-radius:var(--ka-r);box-shadow:var(--ka-shadow);padding:var(--ka-pad);gap:var(--ka-pad);overflow:hidden}
.k-bub{align-self:flex-end;max-width:72%;background:var(--ka-me);color:var(--ka-me-ink);padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5}
.k-result{display:flex;gap:14px;align-items:center;justify-content:center;padding:6px 0 4px}
.k-apill{display:flex;flex-direction:column;align-items:center;gap:8px}
.k-apill .k-ao{width:40px;height:40px;border-radius:50%;background:var(--ka-card);display:grid;place-items:center;box-shadow:0 6px 18px -8px rgba(20,22,30,.3)}
.k-apill .k-ao :is(.k-mark,.m1k-mark){width:18px;height:18px}
.k-apill .k-ps{display:flex;flex-direction:column;gap:2px;background:var(--ka-card);border-radius:999px;padding:6px;box-shadow:0 6px 18px -8px rgba(20,22,30,.3)}
.k-apill .k-ps button{width:30px;height:30px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:var(--k-text-2)}
.k-apill .k-ps button svg{width:15px;height:15px}
.k-apill .k-ps button.k-up{color:var(--k-ok)}
.k-fan{position:relative;width:300px;height:216px;flex:none}
.k-fan .k-fc{position:absolute;top:8px;width:200px;height:200px;border-radius:22px;background:var(--ka-card);box-shadow:0 18px 40px -20px rgba(20,22,30,.45);overflow:hidden;padding:14px;font-size:11px;display:flex;flex-direction:column;gap:6px}
.k-fan .k-fc.k-l{left:0;transform:rotate(-6deg) scale(.9);opacity:.85}
.k-fan .k-fc.k-r{right:0;transform:rotate(6deg) scale(.9);opacity:.85}
.k-fan .k-fc.k-m{left:50px;top:0;width:200px;height:216px;z-index:2;box-shadow:0 26px 50px -20px rgba(20,22,30,.5)}
.k-fc .k-ft{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--k-text-3)}
.k-fc b{font-size:13px;font-weight:600;color:var(--k-text)}
.k-fc .k-big{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:auto}
.k-fc :is(.k-tag,.m1k-tag){align-self:flex-start;background:var(--ka-chip);color:var(--ka-chip-ink);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:500}
.k-fc :is(.k-tag,.m1k-tag):is(.k-lime,.m1k-lime){background:var(--k-accent);color:var(--k-accent-ink)}
:is(.k-cc,.m1k-cc){border:0;border-radius:22px;background:var(--ka-card);box-shadow:0 18px 50px -26px rgba(20,22,30,.4)}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch),:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt,:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dd,:is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act){border-color:var(--ka-soft)}
:is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act){background:transparent}
:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) :is(.k-ic,.m1k-ic){border-radius:50%;background:var(--ka-chip);color:var(--ka-chip-ink)}
:is(.k-cc,.m1k-cc) :is(.k-btn,.m1k-btn):is(.k-pri,.m1c-pri){background:var(--k-text);color:var(--ka-card)}
:is(.k-cc,.m1k-cc) :is(.k-chip,.m1k-chip):is(.k-lime,.m1k-lime){background:var(--ka-chip);color:var(--ka-chip-ink)}
:is(.k-steps,.m1k-steps){background:transparent;border:0}
:is(.k-steps,.m1k-steps) summary{padding:0;font-size:13px}
:is(.k-steps,.m1k-steps) ol{border:0;padding:6px 0 0}
.k-segp{display:flex;background:var(--ka-soft);border-radius:999px;padding:3px;margin-bottom:10px}
.k-segp button{flex:1;border:0;background:none;border-radius:999px;padding:6px 0;font-size:13px;color:var(--k-text-3)}
.k-segp button[aria-pressed="true"]{background:var(--ka-card);color:var(--k-text);box-shadow:0 2px 8px -4px rgba(20,22,30,.3)}
.k-paper{max-width:600px;margin:6px auto 20px;background:var(--ka-card);border-radius:26px;box-shadow:0 20px 60px -30px rgba(20,22,30,.4);padding:30px 34px;position:relative;font-size:14px;line-height:1.6}
.k-paper h2{font-size:22px;font-weight:600;letter-spacing:-.02em}
.k-paper .k-selx{background:#EFE9FB;color:#2A1B5E;border-radius:3px;box-shadow:0 0 0 2px #EFE9FB}
html.b-m1[data-theme="dark"] .k-paper .k-selx{background:#3A2E5C;color:#F0EAFF;box-shadow:0 0 0 2px #3A2E5C}
.k-paper table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.k-paper td,.k-paper th{padding:7px 4px;border-bottom:1px solid var(--ka-soft);text-align:left}
.k-paper th{font-size:11px;color:var(--k-text-3);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.k-paper .k-r{text-align:right}
.k-pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;font-size:11.5px}
.k-pipe .k-pc{background:var(--ka-canvas);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:6px}
.k-pipe .k-pc h6{margin:0;font-size:11px;font-weight:600;color:var(--k-text-2);display:flex;justify-content:space-between}
.k-pipe .k-dl{background:var(--ka-card);border-radius:10px;padding:7px 8px;box-shadow:0 2px 6px -4px rgba(20,22,30,.3)}
.k-pipe .k-dl b{display:block;font-weight:500;font-size:12px}
.k-pipe .k-dl.k-hot{box-shadow:0 0 0 2px var(--k-accent)}
.k-mini2{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.k-mini2 td,.k-mini2 th{padding:6px 4px;border-bottom:1px solid var(--ka-soft)}
.k-mini2 .k-r{text-align:right}
@media (max-width:760px){
.k-room{padding:0}
.k-win{border-radius:0;padding:0;border:0}
.k-fan{transform:scale(.9);margin:0 -14px}
.k-result{gap:6px}
}
.k-fan .k-fc.k-l>*,.k-fan .k-fc.k-r>*{opacity:.28}
.k-fan .k-fc.k-l{left:8px}
.k-fan .k-fc.k-r{right:8px}
html.b-m1{--ka-font:var(--k-font);--km-chat:#FFFFFF;--km-work:#F6F5F3;
  --ka-room:linear-gradient(160deg,#FFFFFF 0%,#FDF3EC 38%,#F9E2D3 70%,#F4D6C6 100%)}
html.b-m1[data-theme="dark"]{--km-chat:#1B1C20;--km-work:#141518;--ka-room:linear-gradient(160deg,#17181B 0%,#1B1C20 50%,#222327 100%)}
:where(.k-m1){font-family:var(--k-font)}
.k-room{padding:22px 26px}
.k-room:before{background:radial-gradient(30% 40% at 92% 96%,rgba(255,170,130,.45),transparent 70%),radial-gradient(26% 30% at 4% 4%,rgba(255,255,255,.9),transparent 70%),radial-gradient(18% 22% at 88% 8%,rgba(216,245,0,.18),transparent 70%)}
.k-win{gap:0;min-height:0;--ka-win:rgba(255,255,255,.5)}
html.b-m1[data-theme="dark"] .k-win{--ka-win:rgba(24,24,28,.62)}
.k-nav{flex:none;width:var(--nav-w);min-width:0;display:flex;overflow:hidden;transition:width .22s var(--k-ease)}
.k-win.k-nav-off .k-nav{width:64px}
:is(.k-lbl,.m1k-lbl){transition:opacity .15s}
.k-nav-off .k-n1 :is(.k-lbl,.m1k-lbl),.k-nav-off .k-n1 :is(.k-mchats,.m1k-mchats){display:none}
.k-n1{flex-direction:column;gap:2px;padding:8px 4px 4px 4px}
.k-mbrand{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-size:17px;letter-spacing:-.01em;min-height:44px}
.k-mbrand :is(.k-mark,.m1k-mark){width:20px;height:20px;flex:none}
.k-tgl{border:0;background:none;color:var(--k-text-2);width:32px;height:32px;display:grid;place-items:center;border-radius:10px;flex:none}
.k-tgl:hover{background:var(--ka-card)}
.k-nav-off .k-n1 .k-mbrand{flex-direction:column;padding:4px 0 8px;gap:6px}
.k-mnew{display:flex;align-items:center;gap:10px;border:0;background:var(--ka-card);border-radius:14px;padding:8px 10px;font-size:14px;font-weight:500;box-shadow:0 6px 18px -10px rgba(20,22,30,.3);margin-bottom:4px;color:var(--k-text);white-space:nowrap}
.k-mnew>span:first-child{width:24px;height:24px;border-radius:50%;background:var(--k-accent);color:var(--k-accent-ink);display:grid;place-items:center;flex:none}
.k-nav-off .k-mnew{justify-content:center;padding:8px 0}
:is(.k-mi,.m1k-mi){display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:12px;padding:6px 10px;font-size:13.5px;color:var(--k-text);text-align:left;width:100%;min-height:32px;white-space:nowrap;position:relative}
:is(.k-mi,.m1k-mi) svg{color:var(--k-text-2);flex:none}
:is(.k-mi,.m1k-mi) :is(.k-ell,.m1k-ell){flex:1}
:is(.k-mi,.m1k-mi) small{color:var(--k-text-3);font-size:12px}
:is(.k-mi,.m1k-mi) .k-kbd{background:transparent}
:is(.k-mi,.m1k-mi)[aria-current]{background:var(--ka-card);box-shadow:0 4px 14px -8px rgba(20,22,30,.3)}
.k-nav-off :is(.k-mi,.m1k-mi){justify-content:center;padding:6px 0}
.k-nav-off :is(.k-mi,.m1k-mi) .k-badge{position:absolute;top:0;right:6px;min-width:16px;height:16px;font-size:10px;padding:0 4px}
.k-mgap{height:6px}
:is(.k-mh,.m1k-mh){padding:12px 10px 3px;font-size:10.5px;white-space:nowrap}
:is(.k-mchats,.m1k-mchats) :is(.k-mi,.m1k-mi){color:var(--k-text-2);padding:5px 10px;min-height:28px}
:is(.k-mchats,.m1k-mchats) :is(.k-mi,.m1k-mi)[aria-current]{color:var(--k-text)}
.k-mco{display:flex;align-items:center;gap:10px;padding:8px;border-radius:16px;background:rgba(255,255,255,.4);white-space:nowrap}
html.b-m1[data-theme="dark"] .k-mco{background:rgba(255,255,255,.04)}
.k-mco .k-av{width:32px;height:32px;border-radius:50%;background:var(--k-text);color:var(--ka-card);display:grid;place-items:center;font-size:11.5px;font-weight:600;flex:none}
.k-mco b{display:block;font-size:13px;font-weight:500}
.k-mco span{font-size:11.5px;color:var(--k-text-3)}
.k-nav-off .k-mco{background:none;justify-content:center;padding:4px 0}
.k-grip{flex:none;width:var(--ka-pad);display:grid;place-items:center;cursor:col-resize;border-radius:6px;touch-action:none}
.k-grip i{display:block;width:4px;height:40px;border-radius:999px;background:var(--k-line-strong);opacity:.75;transition:background .15s,height .15s}
.k-grip:hover i,.k-grip.k-drag i,.k-grip:focus-visible i{background:var(--k-text);height:64px;opacity:1}
.k-grip:focus-visible{outline:2px solid var(--k-focus);outline-offset:-1px}
.k-chat{flex:none;width:var(--chat-w);min-width:0;display:flex;flex-direction:column;background:var(--km-chat);border-radius:var(--ka-in);overflow:hidden;container-type:inline-size;transition:width .22s var(--k-ease);box-shadow:0 1px 0 rgba(20,22,30,.03)}
.k-no-work .k-chat{flex:1;width:auto}
.k-ctop{display:flex;align-items:center;gap:10px;padding:14px 16px 8px 20px;min-height:52px}
.k-ctop :is(.k-ct,.m1k-ct){font-size:14px;font-weight:500;min-width:0}
.k-tnav{display:flex;gap:2px}
.k-tnav button{border:0;background:none;padding:5px 9px;border-radius:999px;font-size:13px;color:var(--k-text-3)}
.k-tnav button[aria-current]{color:var(--k-text);font-weight:500;background:var(--ka-soft)}
.k-tnav:is(.k-sm,.m1k-sm) button{font-size:12.5px;padding:4px 9px}
:is(.k-ichip,.m1k-ichip){display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ka-soft);border-radius:10px;padding:4px 7px;font-size:12px;color:var(--k-text-2)}
@container (max-width:520px){
.k-ctop .k-tnav{display:none}
}
@container (max-width:380px){
.k-ctop :is(.k-ichip,.m1k-ichip):not(:last-child){display:none}
}
.k-mwm{display:flex;align-items:center;gap:6px;font-weight:600}
.k-mwm :is(.k-mark,.m1k-mark){width:18px;height:18px}
.k-thread{flex:1;min-height:0;overflow:auto}
:is(.k-tcol,.m1k-tcol){max-width:660px;margin:0 auto;padding:6px 22px 18px;display:flex;flex-direction:column;gap:16px}
.k-bub small{display:block;font-size:11px;opacity:.7;margin-top:2px;text-align:right}
:is(.k-amsg,.m1k-amsg){display:flex;flex-direction:column;gap:6px;min-width:0}
:is(.k-aw,.m1k-aw){display:flex;align-items:center;gap:8px;font-size:12.5px}
:is(.k-aw,.m1k-aw) :is(.k-mark,.m1k-mark){width:18px;height:18px}
:is(.k-aw,.m1k-aw) b{font-weight:600}
:is(.k-aw,.m1k-aw) span{color:var(--k-text-3)}
:is(.k-aw,.m1k-aw) :is(.k-orb,.m1k-orb).k-think{width:20px;height:20px}
:is(.k-ab,.m1k-ab){padding-left:26px;display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.55;min-width:0}
.k-tdiv{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--k-text-3)}
.k-tdiv:before,.k-tdiv:after{content:"";flex:1;height:1px;background:var(--ka-soft)}
.k-refs{display:flex;gap:6px;flex-wrap:wrap}
:is(.k-refc,.m1k-refc){display:inline-flex;align-items:center;gap:6px;border:0;background:var(--k-accent-soft);color:var(--k-text);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:500}
.k-cfoot{padding:8px 18px 16px;display:flex;flex-direction:column;gap:8px;align-items:center}
.k-pillc{display:flex;align-items:center;gap:6px;width:100%;max-width:640px;background:var(--ka-card);border:1px solid var(--ka-soft);border-radius:999px;padding:6px 6px 6px 8px;box-shadow:0 12px 32px -20px rgba(20,22,30,.35)}
.k-pillc .k-pt{flex:1;font-size:14px;color:var(--k-text-3);padding:0 4px}
.k-pillc .k-pt.k-typed{color:var(--k-text)}
.k-pillc .k-gh{color:var(--k-text-3)}
.k-pillc .k-ib{width:34px;height:34px;border-radius:50%;border:0;background:none;color:var(--k-text-2);display:grid;place-items:center;flex:none}
.k-pillc .k-go{width:34px;height:34px;border-radius:50%;border:0;background:var(--k-text);color:var(--ka-card);display:grid;place-items:center;flex:none}
.k-sugrow{display:flex;justify-content:center;width:100%}
:is(.k-sugc,.m1c-sugc){display:inline-flex;align-items:center;gap:6px;background:var(--k-accent-soft);color:var(--k-text);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:500;max-width:100%;min-width:0}
:is(.k-sugc,.m1c-sugc) svg{flex:none}
.k-chat :is(.k-cc,.m1k-cc){box-shadow:0 14px 40px -26px rgba(20,22,30,.45),0 0 0 1px var(--ka-soft)}
:is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv) .k-ed{background:var(--k-accent-soft);border-radius:4px;padding:0 4px}
:is(.k-hero2,.m1k-hero2){display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 0 8px}
:is(.k-hero2,.m1k-hero2) :is(.k-orb,.m1k-orb):is(.k-home,.m1k-home){width:76px;height:76px}
:is(.k-hero2,.m1k-hero2) :is(.k-orb,.m1k-orb):is(.k-home,.m1k-home) i{filter:blur(12px)}
:is(.k-hero2,.m1k-hero2) h1{font-size:40px;font-weight:300;letter-spacing:-.03em;color:var(--k-text-2);text-align:center}
:is(.k-starters,.m1k-starters){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:600px}
:is(.k-stc,.m1k-stc){display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid var(--ka-soft);background:var(--ka-card);border-radius:22px;padding:12px 14px 14px;text-align:left;color:var(--k-text);box-shadow:0 12px 30px -24px rgba(20,22,30,.4)}
:is(.k-stc,.m1k-stc)>b{font-size:15px;font-weight:500;margin-top:4px}
:is(.k-stc,.m1k-stc) small{font-size:12px;color:var(--k-text-3);line-height:1.35}
:is(.k-vis,.m1k-vis){align-self:stretch;height:58px;display:grid;place-items:center;position:relative}
:is(.k-vis,.m1k-vis).k-pen .k-pp{width:96px;height:28px;border-radius:8px;background:var(--ka-card);box-shadow:0 6px 16px -8px rgba(20,22,30,.35);position:relative}
:is(.k-vis,.m1k-vis).k-pen .k-pp:after{content:"";position:absolute;left:12px;right:22px;top:13px;height:2px;border-radius:2px;background:linear-gradient(90deg,#F7B267,#7FE3C8,#A9B8FF)}
:is(.k-vis,.m1k-vis).k-pen .k-ck{position:absolute;right:calc(50% - 56px);top:6px;width:14px;height:26px;border:solid;border-width:0 3px 3px 0;border-color:#D8B300;transform:rotate(38deg);border-radius:2px}
:is(.k-vis,.m1k-vis).k-orbs{display:flex;align-items:center;justify-content:center}
:is(.k-vis,.m1k-vis).k-orbs i{width:34px;height:34px;border-radius:50%;margin-left:-10px;box-shadow:0 0 0 2px var(--ka-card)}
:is(.k-vis,.m1k-vis).k-orbs i:nth-child(1){background:radial-gradient(circle at 30% 30%,#FFD1E8,#F06AA8);margin-left:0}
:is(.k-vis,.m1k-vis).k-orbs i:nth-child(2){background:radial-gradient(circle at 30% 30%,#FFE2B8,#F59D52)}
:is(.k-vis,.m1k-vis).k-orbs i:nth-child(3){background:radial-gradient(circle at 30% 30%,#9DB4FF,#2440C8)}
:is(.k-vis,.m1k-vis).k-orbs b{width:34px;height:34px;border-radius:50%;margin-left:-10px;background:var(--ka-card);box-shadow:0 0 0 2px var(--ka-card),0 4px 12px -6px rgba(20,22,30,.4);display:grid;place-items:center;font-size:11.5px}
:is(.k-vis,.m1k-vis):is(.k-btn,.m1k-btn) b{background:var(--k-text);color:var(--ka-card);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:500}
.k-chat .k-result{justify-content:flex-start}
.k-work{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--km-work);border-radius:var(--ka-in);overflow:hidden}
.k-wkh{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 16px;min-height:56px}
.k-wki{width:30px;height:30px;border-radius:10px;background:var(--ka-card);display:grid;place-items:center;flex:none;box-shadow:0 2px 8px -4px rgba(20,22,30,.3)}
.k-wt{min-width:0}
.k-wt b{display:block;font-size:14px;font-weight:500}
.k-wt small{display:block;font-size:12px;color:var(--k-text-3)}
.k-ibc{width:32px;height:32px;border-radius:50%;border:1px solid var(--ka-soft);background:var(--ka-card);color:var(--k-text-2);display:grid;place-items:center;flex:none;padding:0}
.k-wkb{flex:1;min-height:0;overflow:auto;padding:4px 16px 18px;display:flex;flex-direction:column;gap:10px}
.k-work.k-strip{flex:none;width:52px;align-items:center;padding:12px 0;gap:8px}
.k-sdiv{width:20px;height:1px;background:var(--ka-soft)}
.k-paper{margin:0 auto;width:100%;max-width:620px}
.k-prev{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:12.5px}
.k-dash{display:flex;flex-direction:column;gap:10px}
.k-dhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.k-ptabs{display:flex;gap:2px;background:var(--ka-card);border-radius:999px;padding:4px;box-shadow:0 4px 14px -10px rgba(20,22,30,.4)}
.k-ptabs button{border:0;background:none;border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--k-text-2)}
.k-ptabs button[aria-current]{background:var(--k-text);color:var(--ka-card)}
.k-segp:is(.k-sm,.m1k-sm){margin:0;width:190px}
.k-segp:is(.k-sm,.m1k-sm) button{padding:5px 0;font-size:12px}
.k-segp:is(.k-sm,.m1k-sm) button[aria-pressed="true"]{background:var(--k-text);color:var(--ka-card)}
.k-kts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.k-kt{position:relative;background:var(--ka-card);border-radius:20px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 30px -24px rgba(20,22,30,.45);min-width:0}
.k-kt .k-kh{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--k-text-2);padding-right:34px;white-space:nowrap}
.k-kic{width:22px;height:22px;border-radius:50%;background:var(--ka-soft);display:grid;place-items:center;color:var(--k-text);flex:none}
.k-kt b{font-size:26px;font-weight:300;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.k-kt em{font-style:normal;font-size:12px;color:var(--k-text-3)}
.k-kt em.k-ok{color:var(--k-ok-ink)}
.k-kt em.k-warn{color:var(--k-warn-ink)}
.k-kt.k-hero{background:var(--k-text);color:var(--ka-card);grid-row:span 2;justify-content:center}
.k-kt.k-hero b{font-size:36px}
.k-kt.k-hero .k-kh{color:inherit;opacity:.85}
.k-kt.k-hero .k-kic{background:rgba(255,255,255,.14);color:inherit}
.k-kt.k-hero em.k-ok{color:var(--k-accent)}
html.b-m1[data-theme="dark"] .k-kt.k-hero em.k-ok{color:#167A45}
html.b-m1[data-theme="dark"] .k-kt.k-hero .k-kic{background:rgba(0,0,0,.08)}
.k-ref{box-shadow:0 0 0 3px var(--k-accent),0 10px 30px -18px rgba(120,160,20,.6)!important}
.k-dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.k-card2{position:relative;background:var(--ka-card);border-radius:20px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0;box-shadow:0 10px 30px -24px rgba(20,22,30,.45)}
.k-card2.k-span2{grid-column:span 2}
.k-c2h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;padding-right:40px;min-height:30px}
.k-c2h b{font-weight:500}
.k-arr{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--ka-soft);background:var(--ka-card);color:var(--k-text);display:grid;place-items:center;padding:0}
.k-kt.k-hero .k-arr{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:inherit}
html.b-m1[data-theme="dark"] .k-kt.k-hero .k-arr{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12)}
.k-lgd{display:flex;gap:10px;font-size:11.5px;color:var(--k-text-2)}
.k-lgd span{display:inline-flex;align-items:center;gap:5px}
.k-lgd i{width:12px;height:12px;border-radius:4px;display:inline-block}
.k-lgd i.k-hi{background:var(--k-accent)}
.k-cbars{display:flex;align-items:stretch;gap:6px;height:112px;padding-top:24px}
.k-cbars:is(.k-sm,.m1k-sm){height:92px}
.k-cb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-width:0}
.k-cb small{font-size:10.5px;color:var(--k-text-3);text-align:center;font-family:var(--k-mono);white-space:nowrap}
.k-bx{display:block;height:var(--h);border-radius:9px;background:var(--ka-soft);position:relative;min-height:8px}
.k-bx.k-hi{background:var(--k-accent)}
.k-bx.k-fc,.k-split .k-fc,.k-lgd i.k-fc{background:repeating-linear-gradient(135deg,var(--k-line-strong) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1px var(--k-line-strong)}
.k-bx.k-fc.k-dk{background:repeating-linear-gradient(135deg,var(--k-text-2) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1px var(--k-text-2)}
.k-bx.k-ref{box-shadow:inset 0 0 0 1px var(--k-text-2),0 0 0 3px var(--k-accent)!important}
.k-bx em{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:600;background:var(--k-text);color:var(--ka-card);border-radius:999px;padding:2px 7px;white-space:nowrap;z-index:1}
.k-gauge{position:relative;text-align:center}
.k-gauge .k-g0,.k-gauge .k-g1{fill:none;stroke-width:5;stroke-linecap:round}
.k-gauge .k-g0{stroke:var(--ka-soft)}
.k-gauge .k-g1{stroke:var(--k-text)}
.k-gauge .k-gv{position:absolute;left:0;right:0;top:42px;display:flex;flex-direction:column;align-items:center}
.k-gauge .k-gv b{font-size:30px;font-weight:300;letter-spacing:-.03em;line-height:1}
.k-gauge .k-gv b small{font-size:14px}
.k-gauge .k-gv span{font-size:11.5px;color:var(--k-text-3)}
.k-gauge p{margin:6px 0 2px;font-size:12px}
.k-spill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 9px 3px 7px;font-size:11.5px;font-weight:500;background:var(--ka-canvas);color:var(--k-text-2);white-space:nowrap;border:1px solid var(--ka-soft)}
.k-spill i{width:7px;height:7px;border-radius:50%;background:var(--k-text-3);flex:none}
.k-spill.k-ok i{background:var(--k-ok)}
.k-spill.k-warn i{background:var(--k-warn)}
.k-spill.k-info i{background:var(--k-info)}
.k-spill:is(.k-lime,.m1k-lime){background:var(--k-accent-soft);color:var(--k-text);border-color:transparent}
.k-spill:is(.k-lime,.m1k-lime) i{background:var(--k-text)}
.k-dues{display:flex;flex-direction:column}
.k-du{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--ka-soft);font-size:13px;min-width:0}
.k-du:first-child{border-top:0}
.k-du .k-dd{font-family:var(--k-mono);font-size:11.5px;color:var(--k-text-2);width:44px;flex:none;white-space:nowrap}
.k-du small{font-size:11.5px;color:var(--k-text-3);font-variant-numeric:tabular-nums}
.k-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.k-fcol{display:flex;align-items:center;gap:10px;background:var(--ka-canvas);border-radius:16px;padding:10px 12px;min-width:0}
.k-fcol b{font-weight:500;font-size:13px;display:block}
.k-fcol small{font-size:11px;color:var(--k-text-3)}
.k-thumbs{position:relative;width:34px;height:34px;flex:none}
.k-thumbs i{position:absolute;bottom:0;left:6px;width:22px;height:28px;border-radius:5px;background:var(--ka-card);box-shadow:0 2px 6px -2px rgba(20,22,30,.35);background-image:linear-gradient(var(--ka-soft) 0 0),linear-gradient(var(--ka-soft) 0 0),linear-gradient(var(--ka-soft) 0 0);background-size:14px 2px,10px 2px,12px 2px;background-position:4px 7px,4px 12px,4px 17px;background-repeat:no-repeat}
.k-thumbs i:nth-child(1){transform:rotate(-14deg) translate(-5px,-2px)}
.k-thumbs i:nth-child(2){transform:rotate(10deg) translate(5px,-3px)}
.k-thumbs i:nth-child(3){background-color:var(--k-accent)}
.k-split{display:flex;gap:4px;height:10px}
.k-split i{border-radius:999px;background:var(--k-ok)}
.k-split i.k-info{background:var(--k-info)}
.k-rsum{display:flex;gap:8px;align-items:center;font-size:12.5px;flex-wrap:wrap}
.k-rtab{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.k-rtab th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--k-text-3);text-align:left;font-weight:600;padding:6px}
.k-rtab td{padding:8px 6px;border-top:1px solid var(--ka-soft);white-space:nowrap}
.k-rtab tr.k-hl td{background:var(--ka-canvas)}
.k-rtab tr.k-hl td:first-child{border-radius:10px 0 0 10px}
.k-rtab tr.k-hl td:last-child{border-radius:0 10px 10px 0}
.k-mini2 tr.k-tt td{font-weight:600}
:is(.k-lnk,.m1k-lnk){border:0;background:none;color:var(--k-text-2);text-decoration:underline;text-underline-offset:3px;font-size:12.5px;padding:0}
.k-pipe{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){
.k-room{padding:12px}
}
@media (max-width:760px){
.k-room{padding:0}
.k-win{padding:0;border:0;border-radius:0;position:relative}
.k-nav,.k-grip,.k-work.k-strip{display:none}
.k-chat{flex:1;width:auto;border-radius:0}
:is(.k-tcol,.m1k-tcol){padding:4px 14px 16px}
:is(.k-ab,.m1k-ab){padding-left:0}
:is(.k-hero2,.m1k-hero2){padding-top:10px}
:is(.k-hero2,.m1k-hero2) h1{font-size:30px}
:is(.k-starters,.m1k-starters){grid-template-columns:1fr;gap:8px}
:is(.k-stc,.m1k-stc){flex-direction:row;align-items:center;gap:12px;padding:10px 12px}
:is(.k-stc,.m1k-stc) :is(.k-vis,.m1k-vis){display:none}
:is(.k-stc,.m1k-stc)>b{margin:0;font-size:14px;white-space:nowrap}
.k-cfoot{padding:6px 10px 12px}
.k-work:not(.k-strip){position:absolute;left:8px;right:8px;bottom:74px;height:46%;z-index:5;border-radius:24px;box-shadow:0 -10px 40px -14px rgba(20,22,30,.45);border:1px solid var(--ka-soft)}
.k-work:not(.k-strip):before{content:"";display:block;width:40px;height:5px;border-radius:3px;background:var(--k-line-strong);margin:8px auto 0;flex:none}
.k-win:not(.k-no-work) .k-thread{padding-bottom:calc(46vh - 60px)}
.k-wkh{min-height:0;padding:6px 10px 6px 14px}
.k-kts{grid-template-columns:1fr 1fr}
.k-kt.k-hero{grid-column:span 2;grid-row:auto}
.k-kt.k-hero b{font-size:28px}
.k-dgrid{grid-template-columns:1fr}
.k-card2.k-span2{grid-column:auto}
.k-files{grid-template-columns:1fr}
.k-dhead .k-segp{display:none}
}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch){padding:10px 14px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) h4{font-size:14px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts){font-size:13px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt{padding:6px 0 6px 14px;font-size:10.5px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dd{padding:6px 14px 6px 12px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act){padding:10px 14px;flex-wrap:wrap;gap:6px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act) :is(.k-who,.m1k-who){flex-basis:100%;text-align:left;margin:0}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-kv,.m1k-kv){row-gap:2px}
@container (max-width:400px){
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts){grid-template-columns:1fr}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt{padding:8px 14px 0}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dd{border-top:0;padding:2px 14px 8px}
.k-chat :is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) :is(.k-chip,.m1k-chip){display:none}
}
@media (max-width:760px){
.k-cfoot{position:relative;z-index:6;background:var(--km-chat)}
.k-work:not(.k-strip){bottom:62px}
.k-ptabs{overflow:hidden;flex-wrap:nowrap;max-width:100%}
.k-kt .k-arr{display:none}
.k-kt .k-kh{padding-right:0}
}

/* ================= app-only components (docs/ux/m1-system/kit-extra.css, by hand, on the study tokens) ================= */
/* App-only kit components (not in the M1 study), written by hand on the study tokens; build-kit.mjs appends this file to app/m1-kit.css.
   Rule: anything the study has comes from the study; only what it lacks lives here, documented in docs/ux/m1-system.md. */
/* tokens the app's own layer uses (shell-m1.css, m1-board.js, the extras below), all derived from the study's tokens above */
html.b-m1{--k-tap:44px;--k-nav-w:252px;--k-chat-w:440px;--k-r-win:var(--ka-r);--k-pad:var(--ka-pad);--k-r-in:var(--ka-in);
  --k-ground:var(--ka-room);--k-glass:var(--ka-win);--k-edge:var(--ka-edge);--k-sh-win:var(--ka-shadow);--k-work:var(--km-work);--k-card:var(--ka-card);
  --k-soft:var(--ka-soft);--k-inv:var(--k-text);--k-on-inv:var(--ka-card);--k-me:var(--ka-me);--k-me-ink:var(--ka-me-ink);--k-hover:rgba(255,255,255,.7);
  --k-t-cap:12px;--k-t-xs:13px;--k-t-sm:14px;--k-t-md:15px;--k-t-base:16px;--k-lh-base:1.6;--k-t-lg:17px;--k-w-light:300;--k-w-reg:400;--k-w-med:500;--k-w-bold:600;
  --k-s1:2px;--k-s2:4px;--k-s3:6px;--k-s4:8px;--k-s5:10px;--k-s6:12px;--k-s7:14px;--k-s8:16px;--k-s9:20px;--k-s10:24px;--k-s12:32px;
  --k-r-xs:6px;--k-r-card:20px;--k-sh-1:0 10px 30px -24px rgba(20,22,30,.45);--k-sh-2:0 18px 50px -26px rgba(20,22,30,.40);--k-sh-3:0 30px 70px -20px rgba(20,22,30,.45);
  --k-scrim:rgba(11,11,12,.35);--k-d-fast:120ms;--k-d:200ms;--k-d-slow:320ms}
html.b-m1[data-theme="dark"]{--k-hover:rgba(255,255,255,.06);--k-scrim:rgba(0,0,0,.6);--k-sh-1:0 10px 30px -24px rgba(0,0,0,.8);--k-sh-2:0 18px 50px -26px rgba(0,0,0,.85);--k-sh-3:0 30px 70px -20px rgba(0,0,0,.9)}
@media (prefers-reduced-motion:reduce){html.b-m1{--k-d-fast:0ms;--k-d:0ms;--k-d-slow:0ms}}
/* logo chip: a bank / app / company mark (an <img> or initials on the brand colour: style="--k-logo:#1C3F94"). Works outside M1 too
   (the classic chat's onboarding buttons), so it carries fallbacks for every token */
/* neutral by default (owner: logos come only from the provider, never drawn): an <img> with the provider's logo URL inside, or an initial
   on --ka-soft until it loads; --k-logo is only for a provider-supplied colour */
.k-logo{--k-logo:var(--ka-soft,#E9EAEE);width:36px;height:36px;border-radius:var(--k-r-sm,10px);display:inline-grid;place-items:center;flex:none;overflow:hidden;background:var(--k-logo);color:var(--k-text-2,#5E636A);font-size:12px;font-weight:600;letter-spacing:-.01em;line-height:1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);vertical-align:middle}
.k-logo img{width:100%;height:100%;object-fit:contain;background:#FFFFFF}
.k-logo--round{border-radius:50%}
.k-logo--xs{width:18px;height:18px;font-size:8.5px;border-radius:5px}   /* inside a button (chat .ag-btn), next to its label */
.k-logo--sm{width:24px;height:24px;font-size:9.5px;border-radius:var(--k-r-xs,6px)}
.k-logo--lg{width:48px;height:48px;font-size:15px;border-radius:var(--k-r-md,14px)}
.k-logo--light{color:#0B0B0C}
/* a button that carries a logo chip (connect your bank): logo, name + line, chevron */
.k-logobtn{display:flex;align-items:center;gap:var(--k-s6);width:100%;min-height:56px;padding:var(--k-s5) var(--k-s6);border-radius:var(--k-r-md);border:1px solid var(--ka-soft);background:var(--ka-card);color:var(--k-text);font:inherit;text-align:left;cursor:pointer}
.k-logobtn:hover{border-color:var(--k-line-strong)}
.k-logobtn b{display:block;font-weight:var(--k-w-med);font-size:var(--k-t-md)}.k-logobtn small{display:block;font-size:var(--k-t-xs);color:var(--k-text-3)}
.k-logobtn>span:not(.k-logo){flex:1;min-width:0}
.k-logobtn::after{content:"›";color:var(--k-text-3);font-size:18px}


/* ---- form field ---- */
.k-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.k-field>label,.k-field-l{font-size:var(--k-t-sm);font-weight:var(--k-w-med);color:var(--k-text)}
.k-input{width:100%;min-height:42px;border:1px solid var(--ka-soft);border-radius:var(--k-r-md);background:var(--ka-card);color:var(--k-text);font:inherit;font-size:var(--k-t-base);padding:0 var(--k-s7);box-sizing:border-box}
textarea.k-input{padding:var(--k-s5) var(--k-s7);min-height:84px;resize:vertical}
.k-input::placeholder{color:var(--k-text-3)}
.k-input:focus{outline:none;border-color:var(--k-text);box-shadow:0 0 0 3px var(--ka-soft)}
.k-field small{font-size:var(--k-t-xs);color:var(--k-text-3)}
.k-field.is-err .k-input{border-color:var(--k-warn)}
.k-field.is-err small{color:var(--k-warn-ink)}
.k-check{display:flex;align-items:center;gap:var(--k-s4);font-size:var(--k-t-md);min-height:var(--k-tap)}
.k-check input{width:18px;height:18px;accent-color:var(--k-text)}

/* ---- wizard steps ---- */
.k-wiz{display:flex;flex-direction:column;gap:var(--k-s8)}
.k-wsteps{display:flex;gap:var(--k-s4);list-style:none;margin:0;padding:0;counter-reset:k}
.k-wsteps li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:var(--k-t-xs);color:var(--k-text-3);counter-increment:k;min-width:0}
.k-wsteps li::before{content:"";height:4px;border-radius:var(--k-r-pill);background:var(--ka-soft)}
.k-wsteps li.is-done::before{background:var(--k-text)}
.k-wsteps li[aria-current]{color:var(--k-text);font-weight:var(--k-w-med)}
.k-wsteps li[aria-current]::before{background:var(--k-accent)}
.k-wsteps li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-wiz-f{display:flex;gap:var(--k-s4);justify-content:space-between;align-items:center}

/* ---- states: empty / error / offline / loading ---- */
.k-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--k-s4);padding:var(--k-s10) var(--k-s8);color:var(--k-text)}
.k-state-ic{width:48px;height:48px;border-radius:50%;background:var(--ka-soft);color:var(--k-text-2);display:grid;place-items:center}
.k-state b{font-size:15px;font-weight:var(--k-w-med)}
.k-state p{margin:0;font-size:var(--k-t-md);color:var(--k-text-3);max-width:34ch;line-height:1.5}
.k-state--err .k-state-ic{background:var(--k-warn-soft);color:var(--k-warn-ink)}
.k-state--off .k-state-ic{background:var(--k-info-soft);color:var(--k-info-ink)}
.k-skel{display:block;height:12px;border-radius:var(--k-r-pill);background:linear-gradient(90deg,var(--ka-soft) 0 40%,var(--ka-canvas) 50%,var(--ka-soft) 60% 100%) 0 0/300% 100%;animation:k-sk 1.4s linear infinite}
@keyframes k-sk{to{background-position:-150% 0}}
@media (prefers-reduced-motion:reduce){.k-skel{animation:none}}
.k-banner{display:flex;align-items:center;gap:var(--k-s5);padding:var(--k-s4) var(--k-s7);border-radius:var(--k-r-md);background:var(--k-info-soft);color:var(--k-text);font-size:var(--k-t-md)}
.k-banner--warn{background:var(--k-warn-soft)}.k-banner--ok{background:var(--k-ok-soft)}

/* ---- sheet (phone work), drawer (phone menu), scrim ---- */
.k-sheet{background:var(--km-work);color:var(--k-text);border-radius:24px 24px 0 0;box-shadow:0 -20px 60px -20px rgba(20,22,30,.5);padding:0 var(--k-s7) max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;min-height:0}
.k-grab{display:flex;justify-content:center;align-items:center;width:100%;height:28px;border:0;background:none;cursor:pointer;padding:0;flex:none;touch-action:none}
.k-grab::before{content:"";width:40px;height:5px;border-radius:3px;background:var(--k-line-strong)}
.k-drawer{background:var(--km-work);color:var(--k-text);width:min(86vw,300px);box-shadow:20px 0 60px -30px rgba(20,22,30,.5);padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px}
.k-scrim{background:var(--k-scrim)}

/* ---- toast ---- */
.k-toast{display:inline-flex;align-items:center;gap:var(--k-s5);background:var(--k-text);color:var(--ka-card);border-radius:var(--k-r-pill);padding:var(--k-s4) var(--k-s4) var(--k-s4) var(--k-s8);font-size:var(--k-t-md);box-shadow:var(--k-sh-3);max-width:calc(100vw - 32px)}
.k-toast>span{flex:1;min-width:0}
.k-toast button{border:0;background:rgba(255,255,255,.14);color:inherit;border-radius:var(--k-r-pill);padding:6px 12px;font:inherit;font-size:var(--k-t-sm);font-weight:var(--k-w-med);cursor:pointer}
html.b-m1[data-theme="dark"] .k-toast button{background:rgba(0,0,0,.08)}
.k-toast--ok::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--k-accent);flex:none}


/* ---- declutter (owner rule 12.10 21:10, m1-system.md "Declutter"): the "Show more" disclosure and the phone table → list ---- */
/* <details class="k-more"><summary>Show 4 more</summary> … </details>: the rest of a list or card, closed by default; one quiet
   text line, no border, no chip: the chevron turns when open */
:is(.k-more,.m1k-more){margin:0}
:is(.k-more,.m1k-more)>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 2px;color:var(--k-text-2);font-size:var(--k-t-sm,13px);font-weight:500;cursor:pointer;border-radius:var(--k-r-pill,999px)}
:is(.k-more,.m1k-more)>summary::-webkit-details-marker{display:none}
:is(.k-more,.m1k-more)>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
:is(.k-more,.m1k-more)[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
:is(.k-more,.m1k-more)>summary:hover{color:var(--k-text)}
:is(.k-more,.m1k-more)>summary:focus-visible{outline:2px solid var(--k-accent);outline-offset:2px}
@media (max-width:860px){:is(.k-more,.m1k-more)>summary{min-height:var(--k-tap,44px)}}
/* phone list: a table becomes label + value rows (≤ 2 columns on a phone); the details open on tap.
   <ul class="k-rlist"><li><button type="button"><span><b>Counterparty</b><small>9 Oct · Invoice 2026-040</small></span><em>+640 €</em></button></li></ul> */
.k-rlist{list-style:none;margin:0;padding:0}
.k-rlist>li+li{border-top:1px solid var(--ka-soft)}
.k-rlist>li>button,.k-rlist>li>a{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--k-tap,44px);padding:8px 2px;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.k-rlist>li>*>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.k-rlist b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-rlist small{color:var(--k-text-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-rlist em{font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}

/* the app's own element rules must not reach inside the kit (found by the diff: app table{min-width:560px;font-size…}) */
:where(.k-m1) table{min-width:0;width:auto;font-size:inherit}

/* ---- file it with me (docs/ux/file-with-me.md §5): a guided filing, one step per screen, one main action ----
   <div class="k-fwm"> stage (work panel / phone sheet): .k-fwm-top (title, .k-fwm-sw, close) · ol.k-fwm-dots · article.k-fwm-card
   (.k-fwm-k step count, h2, .k-fwm-n big light numeral, p, details:is(.k-more,.m1k-more), the kind's own block, .k-fwm-go with ONE .k-fwm-pri and
   the .k-fwm-ext label) · .k-fwm-foot (‹ back, the alt link, "I'll do it later"). Blocks: .k-fwm-box (copy rows), .k-fwm-opts (pay
   choices), .k-fwm-drop + .k-fwm-file (receipt upload), .k-fwm-ask (the "what happened?" question), .k-fwm-done (filed ✓ / paid ✓).
   .k-fwm-step = the same card at chat size (variant A); .k-fwm-rem = the reminder card (Home, VAT board). One lime: the current dot. */
.k-fwm{display:flex;flex-direction:column;gap:var(--k-s8);min-height:100%;padding:var(--k-s6) var(--k-s9) var(--k-s10);color:var(--k-text);box-sizing:border-box}
.k-fwm-top{display:flex;align-items:center;gap:var(--k-s5);min-height:var(--k-tap);max-width:600px;width:100%;margin:0 auto}
.k-fwm-top>b{flex:1;min-width:0;font-weight:var(--k-w-med);font-size:var(--k-t-md);color:var(--k-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fwm-x{width:var(--k-tap);height:var(--k-tap);flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--k-text-2);cursor:pointer}
.k-fwm-x:hover{background:var(--ka-soft);color:var(--k-text)}
.k-fwm-sw{display:inline-flex;flex:none;padding:2px;border-radius:var(--k-r-pill);background:var(--ka-soft)}
.k-fwm-sw button{border:0;background:none;border-radius:var(--k-r-pill);padding:4px 11px;min-height:28px;font:inherit;font-size:var(--k-t-xs);color:var(--k-text-2);cursor:pointer}
.k-fwm-sw button[aria-pressed="true"]{background:var(--ka-card);color:var(--k-text);box-shadow:var(--k-sh-1)}
.k-fwm-dots{display:flex;justify-content:center;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.k-fwm-dots li{width:7px;height:7px;border-radius:var(--k-r-pill);background:var(--ka-soft);transition:width var(--k-d) ease,background var(--k-d) ease}
.k-fwm-dots li.is-done{background:var(--k-text-3)}
.k-fwm-dots li[aria-current]{width:22px;background:var(--k-accent)}
.k-fwm-card{width:100%;max-width:600px;margin:0 auto;box-sizing:border-box;background:var(--ka-card);border-radius:var(--k-r-in);box-shadow:var(--k-sh-1);padding:28px 30px 26px;display:flex;flex-direction:column;gap:var(--k-s6)}
.k-fwm-k{font-family:var(--k-mono);font-size:var(--k-t-xs);color:var(--k-text-3)}
.k-fwm-card h2{margin:0;font-size:24px;line-height:1.25;font-weight:var(--k-w-light);letter-spacing:-.02em;overflow-wrap:anywhere}
.k-fwm-n{font-size:48px;line-height:1;font-weight:200;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.k-fwm-card>p,.k-fwm-step>p{margin:0;font-size:var(--k-t-base);line-height:1.55;color:var(--k-text-2);text-wrap:pretty}
.k-fwm-card :is(.k-more,.m1k-more) p,.k-fwm-step :is(.k-more,.m1k-more) p{margin:6px 0 0;font-size:var(--k-t-sm);color:var(--k-text-2);white-space:pre-line;line-height:1.6}
.k-fwm-help{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.k-fwm-help button{border:1px solid var(--ka-soft);background:none;border-radius:var(--k-r-pill);padding:5px 12px;min-height:32px;font:inherit;font-size:var(--k-t-sm);color:var(--k-text);cursor:pointer}
.k-fwm-go{display:flex;flex-direction:column;align-items:flex-start;gap:var(--k-s4);margin-top:var(--k-s4)}
.k-fwm-pri{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--k-tap);padding:0 22px;border:0;border-radius:var(--k-r-pill);background:var(--k-text);color:var(--ka-card);font:inherit;font-size:15px;font-weight:var(--k-w-med);cursor:pointer;max-width:100%;text-align:center}
.k-fwm-pri:hover{opacity:.9}.k-fwm-pri:disabled{opacity:.35;cursor:default}
.k-fwm-pri:is(.k-sm,.m1k-sm){min-height:36px;padding:0 16px;font-size:var(--k-t-md)}
.k-fwm-pri svg{width:16px;height:16px;flex:none}
.k-fwm-ext{font-size:var(--k-t-xs);color:var(--k-text-3);overflow-wrap:anywhere}
.k-fwm-ext code{font-family:var(--k-mono);font-size:inherit;color:var(--k-text-2)}
.k-fwm-foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--k-s2) var(--k-s6);max-width:600px;width:100%;margin:0 auto}
.k-fwm-foot button,.k-fwm-q{border:0;background:none;color:var(--k-text-2);font:inherit;font-size:var(--k-t-sm);min-height:var(--k-tap);padding:0 6px;cursor:pointer;border-radius:var(--k-r-pill)}
.k-fwm-foot button:hover,.k-fwm-q:hover{color:var(--k-text)}
.k-fwm-foot .k-fwm-alt,.k-fwm-q.k-fwm-alt{color:var(--k-text);text-decoration:underline;text-decoration-color:var(--k-line-strong);text-underline-offset:3px}
.k-fwm-foot .k-fwm-later{margin-left:auto}
/* copy rows: box · label · value · copy */
.k-fwm-box{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.k-fwm-box li{display:grid;grid-template-columns:34px minmax(0,1fr) auto var(--k-tap);align-items:center;gap:var(--k-s5);min-height:var(--k-tap);padding:2px 4px 2px 10px;border-radius:var(--k-r-md);transition:background var(--k-d) ease}
.k-fwm-box li+li{margin-top:2px}
.k-fwm-box li>code{font-family:var(--k-mono);font-size:var(--k-t-sm);color:var(--k-text-3)}
.k-fwm-box li>span{font-size:var(--k-t-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fwm-box li>b{font-weight:var(--k-w-reg);font-variant-numeric:tabular-nums;font-size:var(--k-t-base);white-space:nowrap}
.k-fwm-box li.is-check>span,.k-fwm-box li.is-check>b{font-weight:var(--k-w-med)}
.k-fwm-box li.is-copied{background:var(--k-ok-soft)}
.k-fwm-copy{width:var(--k-tap);height:36px;border:0;border-radius:12px;background:var(--ka-soft);color:var(--k-text);display:grid;place-items:center;cursor:pointer}
.k-fwm-box li.is-copied .k-fwm-copy{background:none;color:var(--k-ok-ink)}
/* pay choices */
.k-fwm-opts{display:flex;flex-direction:column;gap:var(--k-s4);margin:0;padding:0;border:0;min-width:0}
.k-fwm-opts label{display:flex;gap:var(--k-s6);align-items:flex-start;padding:12px 14px;border-radius:var(--k-r-md);border:1px solid var(--ka-soft);cursor:pointer}
.k-fwm-opts label:has(input:checked){border-color:var(--k-text)}
.k-fwm-opts input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--k-text);flex:none}
.k-fwm-opts b{display:block;font-weight:var(--k-w-med);font-size:var(--k-t-md)}
.k-fwm-opts small{display:block;color:var(--k-text-2);font-size:var(--k-t-sm);line-height:1.5;margin-top:2px}
/* receipt upload */
.k-fwm-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--k-s4);min-height:112px;padding:var(--k-s8);border:1.5px dashed var(--k-line-strong);border-radius:var(--k-r-md);color:var(--k-text-2);font-size:var(--k-t-md);text-align:center;cursor:pointer}
.k-fwm-drop.is-over{border-color:var(--k-text);background:var(--ka-canvas)}
.k-fwm-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.k-fwm-file{display:flex;align-items:center;gap:var(--k-s5);padding:10px 12px;border-radius:var(--k-r-md);background:var(--ka-canvas);font-size:var(--k-t-md);min-width:0}
.k-fwm-file>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fwm-file small{color:var(--k-text-3);font-size:var(--k-t-xs);white-space:nowrap}
/* what was read from the receipt, for the person to confirm */
.k-fwm-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px var(--k-s6);margin:0;font-size:var(--k-t-sm)}
.k-fwm-kv dt{color:var(--k-text-3)}.k-fwm-kv dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* the "what happened?" question after the tax office opened */
.k-fwm-ask{display:flex;flex-direction:column;align-items:flex-start;gap:var(--k-s2)}
.k-fwm-ask .k-fwm-row{display:flex;flex-wrap:wrap;gap:0 var(--k-s4);margin-left:-6px}
.k-fwm-ask>small{color:var(--k-text-3);font-size:var(--k-t-sm);margin-bottom:var(--k-s2)}
/* filed ✓ / paid ✓ */
.k-fwm-done{display:flex;flex-direction:column;align-items:flex-start;gap:var(--k-s6)}
.k-fwm-ok{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--k-ok-soft);color:var(--k-ok-ink)}
.k-fwm-ok svg{width:26px;height:26px}
/* variant A: one step as a chat card */
.k-fwm-step{display:flex;flex-direction:column;gap:var(--k-s5);margin-top:var(--k-s4);padding:16px 18px;border-radius:var(--k-r-card);background:var(--ka-card);box-shadow:var(--k-sh-1);color:var(--k-text);max-width:440px;box-sizing:border-box}
.k-fwm-step header{display:flex;align-items:center;gap:var(--k-s4);min-width:0}
.k-fwm-step header .k-fwm-k{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fwm-step h3{margin:0;font-size:var(--k-t-lg);font-weight:var(--k-w-reg);line-height:1.3;letter-spacing:-.01em}
.k-fwm-step .k-fwm-n{font-size:34px}
.k-fwm-step>p{font-size:var(--k-t-md)}
.k-fwm-step .k-fwm-go{margin-top:0}
.k-fwm-step .k-fwm-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--k-s4);margin:-6px 0 -10px -6px}
.k-fwm-step.is-past{opacity:.55;pointer-events:none;box-shadow:none;padding-top:10px;padding-bottom:10px;gap:var(--k-s2)}
.k-fwm-step.is-past>p,.k-fwm-step.is-past .k-fwm-n,.k-fwm-step.is-past :is(.k-more,.m1k-more),.k-fwm-step.is-past .k-fwm-box,.k-fwm-step.is-past .k-fwm-file{display:none}
.k-fwm-step.is-past h3{font-size:var(--k-t-md)}
.k-fwm-step.is-past .k-fwm-q{display:none}
.k-fwm-step.is-past .k-fwm-go,.k-fwm-step.is-past .k-fwm-row,.k-fwm-step.is-past .k-fwm-opts,.k-fwm-step.is-past .k-fwm-drop,.k-fwm-step.is-past .k-fwm-ask,.k-fwm-step.is-past .k-fwm-sw{display:none}
/* the reminder: one slim card, the amount and the one action */
.k-fwm-rem{display:flex;align-items:center;gap:var(--k-s6);padding:12px 12px 12px 18px;border-radius:var(--k-r-card);background:var(--ka-card);box-shadow:var(--k-sh-1);color:var(--k-text);text-align:left;min-width:0;box-sizing:border-box}
.k-fwm-rem>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.k-fwm-rem b{font-weight:var(--k-w-med);font-size:var(--k-t-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fwm-rem small{color:var(--k-text-3);font-size:var(--k-t-sm)}
@media (max-width:860px){
  .k-fwm{padding:var(--k-s4) 16px var(--k-s9);gap:var(--k-s5)}   /* the sheet heads' 16 px gutter */
  .k-fwm-card{padding:20px 18px 18px;border-radius:var(--k-r-card);gap:var(--k-s5)}
  .k-fwm-card h2{font-size:21px}
  .k-fwm-n{font-size:40px}
  .k-fwm-pri{width:100%}
  .k-fwm-box li{grid-template-columns:28px minmax(0,1fr) auto var(--k-tap);gap:var(--k-s4);padding-left:6px}
  .k-fwm-sw button{min-height:var(--k-tap);padding:0 12px}
  .k-fwm-top{flex-wrap:wrap;row-gap:var(--k-s2)}.k-fwm-top>b{flex:1 1 calc(100% - 60px);white-space:normal}.k-fwm-x{order:1}.k-fwm-top>.k-spill,.k-fwm-top>.k-fwm-sw{order:2}
  .k-fwm-rem{flex-wrap:wrap}.k-fwm-rem .k-fwm-pri{width:100%}
  .k-fwm-help button{min-height:var(--k-tap)}
  .k-fwm-step header{flex-wrap:wrap;row-gap:var(--k-s2)}.k-fwm-step header .k-fwm-k{flex:1 1 100%}
}

/* ---------- action icons (S75, owner rule: big, important actions always carry an icon; docs/ux/m1-system.md "Action icons").
   One line set (BureoM1.icon(id): 24 grid, 1.7 stroke, currentColor), monochrome ink / grey in both themes, never lime ---------- */
.k-i{display:block;flex:none;width:20px;height:20px;stroke:currentColor;fill:none}
/* a starter: the glyph in a soft rounded tile on its left (a row) or in the art band's left (a card) */
:is(.k-stc,.m1k-stc){position:relative}
:is(.k-sti,.m1k-sti){display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:var(--ka-soft);color:var(--k-text)}
:is(.k-sti,.m1k-sti) .k-i{width:20px;height:20px}
:is(.k-stc,.m1k-stc)>:is(.k-sti,.m1k-sti){position:absolute;left:14px;top:23px;z-index:1}
:is(.k-stc,.m1k-stc)>:is(.k-sti,.m1k-sti)+:is(.k-vis,.m1k-vis){margin-left:46px}
/* a row: the tile sits close to the row edge (concentric with its 22 px corners), so the row stays ~48 px tall */
@media (max-width:760px){:is(.k-stc,.m1k-stc)>:is(.k-sti,.m1k-sti){position:static;border-radius:15px}:is(.k-stc,.m1k-stc):has(>:is(.k-sti,.m1k-sti)){padding:6px 12px 6px 6px}}
/* a primary button: the glyph before its label, in the label's colour */
:is(.k-btn,.m1k-btn)>.k-bi{width:17px;height:17px;margin-left:-2px;color:currentColor}
:is(.k-btn,.m1k-btn):is(.k-sm,.m1k-sm)>.k-bi{width:16px;height:16px;margin-left:-1px}

/* ================= the kit page (?shell=m1&kit=1, app/m1-kit.js); kp- = the page around the kit, not part of it ================= */
/* body must not become a scroll container (its own composited layer changes how the glass's backdrop-filter rasterises) */
html.m1-kitpage{overflow:auto!important;height:auto!important;background:var(--k-surface)!important}
html.m1-kitpage body{overflow:visible!important;height:auto!important;background:var(--k-surface)!important}
html.m1-kitpage body>:not(#m1Kit){display:none!important}
.kp{color:var(--k-text)}
.kp-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:44px;padding:0 16px;background:var(--k-surface);border-bottom:1px solid var(--k-line);font-size:13px;overflow-x:auto;scrollbar-width:none}
.kp-brand{display:flex;align-items:center;gap:6px;white-space:nowrap}.kp-brand b{font-weight:500}.kp-brand :is(.k-mark,.m1k-mark){width:18px;height:18px}
.kp-nav{display:flex;gap:2px;flex:1;min-width:0}.kp-nav a{color:var(--k-text-2);text-decoration:none;padding:4px 8px;border-radius:999px;white-space:nowrap}.kp-nav a:hover{background:var(--ka-soft);color:var(--k-text)}
.kp-seg{display:flex;background:var(--ka-soft);border-radius:999px;padding:2px}.kp-seg button{border:0;background:none;border-radius:999px;padding:3px 10px;font:inherit;color:var(--k-text-2);cursor:pointer}.kp-seg button[aria-pressed="true"]{background:var(--k-text);color:var(--ka-card)}
.kp-close{color:var(--k-text);white-space:nowrap}
.kp-seg,.kp-close,.kp-brand{flex:none}
/* phone: the screen links get their own row that scrolls sideways (they ran under Light / Dark and Close) */
@media (max-width:760px){.kp-top{flex-wrap:wrap;height:auto;padding:8px 12px;row-gap:6px}.kp-brand{flex:1;min-width:0}.kp-nav{order:3;flex:1 0 100%;overflow-x:auto;scrollbar-width:none}}
.kp-cap{display:flex;align-items:baseline;gap:10px;padding:10px 16px;font-size:13px;border-top:1px solid var(--k-line)}.kp-cap b{font-weight:500}.kp-cap span{color:var(--k-text-3)}
.kp-stage{height:100vh;display:flex;flex-direction:column}
.kp-h{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--k-text-3);margin-top:6px}
.kp-index{padding:16px}.kp-index h2{font-size:17px;margin:0 0 4px}.kp-index p{color:var(--k-text-2);font-size:13px;margin:0 0 10px}
.kp-idx{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}.kp-idx a{display:flex;justify-content:space-between;gap:6px;padding:4px 8px;border-radius:8px;background:var(--ka-canvas);color:inherit;text-decoration:none;font-size:12px}.kp-idx small{color:var(--k-text-3);font-size:var(--k-t-cap)}
.kp-load{padding:24px;color:var(--k-text-2)}

/* ================= HQ 25 (owner): body text 16 px, the same on phone and desk. The study's rules above keep their own px; these
   later rules move the readable text onto the size tokens (titles keep theirs). Nothing readable below 12 px.
   base 16 / 1.6: chat messages, body text, your bubbles, the composer · md 15: card rows, k-kv, list rows, sheet body ·
   sm 14: secondary lines, links, chips, starters, buttons · xs 13: meta, timestamps · cap 12: caps labels, tags ================= */
:where(.k-m1){font-size:var(--k-t-base);line-height:var(--k-lh-base)}
:is(.k-ab,.m1k-ab),:is(.k-amsg,.m1k-amsg) :is(.k-ab,.m1k-ab),.k-bub,.k-pillc .k-pt{font-size:var(--k-t-base);line-height:var(--k-lh-base)}
:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts),.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts),:is(.k-steps,.m1k-steps),:is(.k-mi,.m1k-mi),.k-c2h,.k-du,.k-mini2,.k-rtab,.k-rsum,.k-paper table,.k-mco b,.k-fcol b,.k-paper{font-size:var(--k-t-md)}
.k-faint,:is(.k-btn,.m1k-btn),:is(.k-btn,.m1k-btn):is(.k-sm,.m1k-sm),.k-fc b,:is(.k-steps,.m1k-steps) summary,.k-segp button,.k-segp:is(.k-sm,.m1k-sm) button,.k-tnav button,.k-tnav:is(.k-sm,.m1k-sm) button,.k-ptabs button,:is(.k-lnk,.m1k-lnk),:is(.k-refc,.m1k-refc),:is(.k-sugc,.m1c-sugc),
:is(.k-stc,.m1k-stc) small,:is(.k-chip,.m1k-chip),.k-prev,:is(.k-cc,.m1k-cc) :is(.k-cch,.m1k-cch) p,:is(.k-ichip,.m1k-ichip),.k-wt small,:is(.k-vis,.m1k-vis):is(.k-btn,.m1k-btn) b,.k-mnew,.k-ctop :is(.k-ct,.m1k-ct),.k-wt b{font-size:var(--k-t-sm)}
:is(.k-aw,.m1k-aw),.k-bub small,:is(.k-cc,.m1k-cc) :is(.k-act,.m1k-act) :is(.k-who,.m1k-who),.k-kt .k-kh,.k-kt em,.k-mco span,.k-lgd,.k-gauge .k-gv span,.k-pipe,.k-tdiv,.k-mono,:is(.k-steps,.m1k-steps) li code,.k-fcol small,:is(.k-mi,.m1k-mi) small,.k-fan .k-fc,.k-pipe .k-dl b,.k-du small,.k-du .k-dd{font-size:var(--k-t-xs)}
:is(.k-eyebrow,.m1k-eyebrow),:is(.k-mh,.m1k-mh),.k-fc .k-ft,.k-fc :is(.k-tag,.m1k-tag),.k-cb small,.k-rtab th,:is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt,.k-chat :is(.k-cc,.m1k-cc) :is(.k-parts,.m1k-parts)>dt,.k-spill,.k-badge,.k-paper th,.k-pipe .k-pc h6,.k-bx em,.k-kbd,.kp-h,.k-nav-off :is(.k-mi,.m1k-mi) .k-badge,:is(.k-vis,.m1k-vis).k-orbs b,.k-mco .k-av{font-size:var(--k-t-cap)}
/* HQ 27 (shell r5 review fix 3, S75): the phone fan is never scaled down (it took the 12 px labels to 10.8); it is 300 px wide,
   which fits a 390 px phone as it is */
@media (max-width:760px){.k-fan{transform:none;margin:0}}
/* HQ 27 fix 10 (S75): the kit page's phone study screens hold at 16 px: starter titles stay one line, pipeline names end in "…",
   a wide k-rtab keeps two columns, who + amount (date, match and status hide; the rows to check keep their k-hl band). The app's
   own screens already do this with k-rlist / m1-stc */
@media (max-width:760px){
  html.b-m1 .kp-stage :is(.k-stc,.m1k-stc)>b,html.b-m1 .kp-stage :is(.k-stc,.m1k-stc) small{display:block;max-width:100%;white-space:nowrap;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
  html.b-m1 .kp-stage :is(.k-stc,.m1k-stc) small{flex:1 1 0;min-width:0}
  .kp-stage .k-pipe .k-dl b,.kp-stage .k-pipe .k-dl span,.kp-stage .k-pipe .k-pc h6{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kp-stage .k-rtab{table-layout:fixed;width:100%}
  .kp-stage .k-rtab tr>:nth-child(n+4),.kp-stage .k-rtab tr>:first-child:nth-last-child(n+4){display:none}
  .kp-stage .k-rtab td,.kp-stage .k-rtab th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* HQ 25: a tile keeps a bottom inset under its last chip / pill (it ended 0–2 px under it at 16 px) */
.k-kt{padding-bottom:var(--k-s7)}
