/* /compose — pick-your-weights configurator. Uses the site's own global tokens (--accent/--ink/--paper
   etc., so it themes with the page) + a few cm- realm hues. Everything namespaced cm-. */
.cm-wrap{
  --cm-coding:#c96442; --cm-home:#3f7d9a; --cm-self:#4f6f9a; --cm-hobby:#c99a3f; --cm-world:#2f7d72; --cm-ref:#8a5a8f;
  --cm-good:#2f7d72; --cm-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  max-width:1180px; margin:0 auto; padding:0 clamp(16px,4vw,40px) 70px; line-height:1.55;
}
@media (prefers-color-scheme:dark){.cm-wrap{--cm-home:#6cb2d0;--cm-self:#7f9fce;--cm-hobby:#e0b95f;--cm-world:#4fb0a0;--cm-ref:#b98cbe;--cm-good:#4fb0a0;--cm-coding:#e08159;}}
:root[data-theme="dark"] .cm-wrap{--cm-home:#6cb2d0;--cm-self:#7f9fce;--cm-hobby:#e0b95f;--cm-world:#4fb0a0;--cm-ref:#b98cbe;--cm-good:#4fb0a0;--cm-coding:#e08159;}
:root[data-theme="light"] .cm-wrap{--cm-home:#3f7d9a;--cm-self:#4f6f9a;--cm-hobby:#c99a3f;--cm-world:#2f7d72;--cm-ref:#8a5a8f;--cm-good:#2f7d72;--cm-coding:#c96442;}

.cm-wrap *{box-sizing:border-box;}
.cm-eyebrow{font-family:var(--cm-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);display:flex;align-items:center;gap:10px;margin:0 0 14px;}
.cm-eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);}
.cm-wrap h1{font-weight:800;letter-spacing:-.02em;text-wrap:balance;font-size:clamp(27px,4.4vw,44px);line-height:1.05;margin:0 0 13px;color:var(--ink);}
.cm-wrap h1 em{font-style:normal;color:var(--accent);}
.cm-lede{font-size:clamp(15px,1.5vw,17.5px);color:var(--body);max-width:64ch;margin:0;}
.cm-lede strong{color:var(--ink);font-weight:650;}

.cm-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:26px 0 4px;}
.cm-presets .lbl{font-family:var(--cm-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:2px;}
.cm-preset{font-family:var(--cm-mono);font-size:12px;padding:7px 14px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--body);cursor:pointer;transition:all .14s;}
.cm-preset:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-1px);}

.cm-board{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;margin-top:22px;align-items:start;}
@media (max-width:900px){.cm-board{grid-template-columns:1fr;}}

.cm-catalog{display:flex;flex-direction:column;gap:15px;}
.cm-realm{background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:14px 15px 13px;box-shadow:0 1px 2px rgba(60,45,25,.05);}
.cm-realm .rh{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.cm-realm .rh .sw{width:11px;height:11px;border-radius:3px;flex:none;}
.cm-realm .rh .rn{font-family:var(--cm-mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;color:var(--ink);}
.cm-realm .rh .rp{margin-left:auto;font-family:var(--cm-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}
.cm-pack-row{display:flex;flex-wrap:wrap;gap:7px;}
.cm-pack{font-size:12.5px;padding:6px 12px 6px 9px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .13s;font:inherit;user-select:none;}
.cm-pack .bx{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--muted);flex:none;display:grid;place-items:center;font-size:10px;color:transparent;transition:all .13s;}
.cm-pack .ct{font-family:var(--cm-mono);font-size:10px;color:var(--muted);}
.cm-pack:hover{border-color:var(--accent);}
.cm-pack[aria-pressed="true"]{border-color:var(--pick,var(--accent));background:color-mix(in srgb,var(--pick,var(--accent)) 13%,var(--card));}
.cm-pack[aria-pressed="true"] .bx{background:var(--pick,var(--accent));border-color:var(--pick,var(--accent));color:#fff;}
.cm-pack[aria-pressed="true"] .ct{color:var(--ink);}
.cm-pack.soon{opacity:.6;border-style:dashed;cursor:default;}
.cm-pack.soon:hover{border-color:var(--rule);}

/* the build panel */
.cm-panel{position:sticky;top:18px;background:var(--card);border:1px solid var(--rule);border-radius:18px;box-shadow:0 1px 2px rgba(60,45,25,.06),0 12px 34px rgba(80,55,25,.08);overflow:hidden;}
.cm-phead{background:var(--accent);color:#fff;padding:15px 18px;}
.cm-phead .t{font-family:var(--cm-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.9;}
.cm-phead .big{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:2px;}
.cm-phead .big small{font-size:14px;font-weight:600;opacity:.9;}
.cm-pbody{padding:16px 18px 18px;}
.cm-line{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--rule);}
.cm-line .k{font-family:var(--cm-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;width:74px;}
.cm-line .v{color:var(--ink);}
.cm-line .v.knows{color:var(--cm-good);font-weight:600;}
.cm-line .v.ab{color:var(--body);font-style:italic;}
.cm-cmd{font-family:var(--cm-mono);font-size:11.5px;background:var(--paper2,var(--paper));border:1px solid var(--rule);border-radius:9px;padding:10px 11px;margin:13px 0;color:var(--accent-deep);word-break:break-all;line-height:1.5;}
.cm-btns{display:flex;gap:8px;flex-wrap:wrap;}
.cm-btn{flex:1 1 auto;border:none;border-radius:10px;padding:11px 14px;font:inherit;font-weight:650;font-size:14px;cursor:pointer;transition:all .14s;}
.cm-btn.primary{background:var(--accent);color:#fff;}
.cm-btn.primary:hover{background:var(--accent-deep);}
.cm-btn.ghost{background:transparent;border:1px solid var(--rule);color:var(--body);flex:0 0 auto;}
.cm-btn.ghost:hover{border-color:var(--accent);color:var(--accent-deep);}
.cm-note{font-size:11.5px;color:var(--muted);margin:11px 0 0;text-align:center;}
.cm-note .day{color:var(--cm-good);font-weight:600;font-family:var(--cm-mono);}
.cm-empty{color:var(--muted);font-size:13px;font-style:italic;padding:6px 0 2px;}

.cm-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:11px;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:all .25s;z-index:99;max-width:calc(100vw - 32px);text-align:center;}
.cm-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.cm-foot{margin-top:36px;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px;max-width:74ch;}
.cm-foot strong{color:var(--body);}
@media (prefers-reduced-motion:reduce){.cm-wrap *{transition:none!important;}}

/* voice picker (single-select, in the build panel) */
.cm-voice{font-family:var(--cm-mono);font-size:11px;padding:3px 10px;margin-right:5px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--body);cursor:pointer;transition:all .12s}
.cm-voice:hover{border-color:var(--accent)}
.cm-voice.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent-deep);font-weight:600}
