/* Generated by build/render.py. The dock, the walkthrough and the
   assistant, for the half of the product that does not load site.css.
   Edit render.py, never this file. */
:root{
  color-scheme:light;
  /* ground and surfaces */
  --ground:#f9f9f9;
  --sunk:#f2f2f3;
  --surface:#ffffff;
  --raised:#fbfbfb;
  /* ink */
  --ink-4:#0000000a;
  --ink-5:#0000000d;
  --ink-8:#00000014;
  --ink-12:#0000001f;
  --ink-16:#00000029;
  --ink-20:#00000033;
  --ink-32:#26262652;
  --ink-48:#2626267a;
  --ink-56:#2626268f;
  --ink-64:#262626a3;
  --ink-72:#262626b8;
  --ink-88:#262626e0;
  --ink-strong:#262626;
  /* hairlines */
  --border-faint:#ededed;
  --border-muted:#e4e4e4;
  --border-loud:#d6d6d6;
  /* heat: the brand and the action */
  --heat-4:#dd6d210a;
  --heat-8:#dd6d2114;
  --heat-12:#dd6d211f;
  --heat-16:#dd6d2129;
  --heat-20:#dd6d2133;
  --heat-40:#dd6d2166;
  --heat-90:#dd6d21e6;
  --heat-100:#dd6d21;
  /* status: meaning, never decoration */
  --ok:#1a9e4b;
  --pending:#b8860b;
  --fail:#d13b2e;
  --info:#2a6dfb;
  /* type */
  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"Geist Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* layout */
  --container:1112px;
  --radius:10px;
  --radius-lg:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ── the dock and the walkthrough ────────────────────────────────────
   Bottom right, out of the way of the rail and the content, and fixed so it
   is reachable from anywhere in a long page. */
.dock{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:8px}
.dock-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;
  border:0;border-radius:999px;background:var(--surface);color:var(--ink-64);
  box-shadow:0 0 0 1px var(--border-muted),0 6px 20px -8px #00000026;
  font-family:var(--font);font-size:13px;cursor:pointer;transition:color .15s ease}
.dock-btn:hover{color:var(--ink-strong);box-shadow:0 0 0 1px var(--border-loud),0 8px 24px -8px #00000033}
.dock-btn .ico{width:17px;height:17px;flex:none}
.dock-search{width:40px;padding:0;justify-content:center;background:var(--heat-100);color:#fff}
.dock-search:hover{color:#fff;filter:brightness(1.07)}
@media(max-width:720px){.dock-btn span{display:none}.dock-btn{width:40px;padding:0;justify-content:center}}

.tour-veil{position:fixed;inset:0;z-index:200;display:none}
.tour-veil.on{display:block}
.tour-spot{position:absolute;border-radius:10px;
  box-shadow:0 0 0 9999px #26262673,0 0 0 2px var(--heat-100);
  transition:top .2s var(--ease),left .2s var(--ease),width .2s var(--ease),height .2s var(--ease)}
.tour-tip{position:fixed;z-index:201;display:none;width:320px;background:var(--surface);
  border-radius:var(--radius-lg);padding:16px 18px 14px;
  box-shadow:0 0 0 1px var(--border-muted),0 20px 50px -20px #00000040}
.tour-tip.on{display:block}
.tour-count{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-32);margin-bottom:6px}
.tour-tip h3{font-size:15px;line-height:20px;margin:0 0 6px;color:var(--ink-strong)}
.tour-tip p{font-size:13px;line-height:19px;color:var(--ink-64);margin:0 0 14px}
.tour-btns{display:flex;align-items:center;gap:8px}
.tour-gap{flex:1}
.tour-btns button{border:0;border-radius:7px;padding:6px 12px;font-family:var(--font);
  font-size:12.5px;cursor:pointer;background:var(--sunk);color:var(--ink-64)}
.tour-btns button:hover{color:var(--ink-strong)}
.tour-btns .tour-next{background:var(--heat-100);color:#fff}
.tour-btns .tour-next:hover{color:#fff;filter:brightness(1.07)}
@media(max-width:560px){.tour-tip{width:calc(100vw - 24px);left:12px!important}}

/* ── the assistant panel ──────────────────────────────────────────────
   Fixed to the right on every page rather than a column on one. Above 1200px
   the body is padded by its width so nothing is covered: a marketing page with
   its right third behind a panel is worse than no panel. Below that it slides
   over, which is the only thing that fits. */
:root{--asst-w:400px}
.asst{position:fixed;top:0;right:0;bottom:0;width:var(--asst-w);max-width:100vw;z-index:90;
  display:flex;flex-direction:column;background:var(--surface);
  border-left:1px solid var(--border-faint);box-shadow:-20px 0 44px -30px #00000038;
  transform:translateX(100%);visibility:hidden;
  transition:transform .22s var(--ease),visibility .22s var(--ease)}
.asst.on{transform:none;visibility:visible}
@media(min-width:1200px){
  body.asst-on{padding-right:var(--asst-w)}
  body.asst-on .dock{right:calc(var(--asst-w) + 18px)}
}
.asst-top{flex:none;display:flex;align-items:center;gap:8px;height:52px;padding:0 14px;
  border-bottom:1px solid var(--border-faint)}
.asst-top h2{margin:0;font-size:13.5px;font-weight:500;color:var(--ink-strong)}
.asst-top .dot{width:7px;height:7px;border-radius:50%;background:var(--heat-100);flex:none}
.asst-top .label{margin:0 0 0 auto}
.asst-x{flex:none;width:26px;height:26px;border:0;border-radius:7px;background:none;
  color:var(--ink-48);cursor:pointer;display:grid;place-items:center}
.asst-x:hover{background:var(--ink-4);color:var(--ink-strong)}
.asst-x svg{width:13px;height:13px}
.asst-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:14px}
.asst-msg{font-size:13.5px;line-height:21px}
.asst-msg p{margin:0 0 9px}
.asst-msg p:last-child{margin:0}
.asst-msg.you{align-self:flex-end;max-width:86%;padding:9px 12px;border-radius:12px 12px 4px 12px;
  background:var(--heat-8);color:var(--ink-strong)}
.asst-msg.it{color:var(--ink-88)}
.asst-msg.it b{font-weight:500;color:var(--ink-strong)}
.asst-msg.it code{font-family:var(--mono);font-size:12px;background:var(--sunk);
  border-radius:5px;padding:1px 5px}
.asst-note{font-family:var(--mono);font-size:11px;color:var(--ink-48)}
.asst-note a{color:var(--heat-100)}
.asst-fail{font-size:12.5px;color:var(--fail)}
.asst-hello{font-size:13px;line-height:20px;color:var(--ink-56)}
.asst-eg{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.asst-eg button{border:0;border-radius:999px;padding:5px 10px;background:var(--sunk);
  box-shadow:0 0 0 1px var(--border-faint);font-family:var(--font);font-size:12px;
  color:var(--ink-64);cursor:pointer;text-align:left}
.asst-eg button:hover{color:var(--heat-100);box-shadow:0 0 0 1px var(--heat-40)}
/* The offer, for an account without the assistant. */
.asst-offer{padding:6px 2px}
.asst-lock{width:34px;height:34px;border-radius:10px;background:var(--heat-8);
  color:var(--heat-100);display:grid;place-items:center;margin-bottom:14px}
.asst-lock svg{width:17px;height:17px}
.asst-offer h3{margin:0 0 8px;font-size:15px;font-weight:500;color:var(--ink-strong)}
.asst-offer p{margin:0 0 10px;font-size:13px;line-height:20px;color:var(--ink-64)}
.asst-offer .asst-plan{font-family:var(--mono);font-size:11.5px;color:var(--ink-48)}
.asst-offer .asst-plan b{color:var(--ink-strong);font-weight:450}
.asst-offer .btn{margin-top:4px}
.asst-alt{display:block;margin-top:12px;font-size:12.5px;color:var(--ink-48);
  text-decoration:none}
.asst-alt:hover{color:var(--heat-100)}

.asst-foot{flex:none;border-top:1px solid var(--border-faint);padding:10px 12px 12px}
.asst-foot textarea{width:100%;padding:9px 11px;border:0;border-radius:10px;
  background:var(--raised);box-shadow:0 0 0 1px var(--border-muted);resize:none;
  font-family:var(--font);font-size:13.5px;line-height:20px;color:var(--ink-strong)}
.asst-foot textarea:focus{outline:0;box-shadow:0 0 0 1px var(--heat-100)}
.asst-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.asst-row .fine{font-family:var(--mono);font-size:10px;color:var(--ink-32)}
.asst-row .btn{margin-left:auto}
.asst-busy{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);
  font-size:11px;color:var(--ink-48)}
.asst-busy i{width:5px;height:5px;border-radius:50%;background:var(--heat-100);
  animation:asst-pulse 1s var(--ease) infinite}
@keyframes asst-pulse{0%,100%{opacity:.25}50%{opacity:1}}
/* An anonymous visitor has no session and nothing to ask about. */
.app.anon .dock-asst{display:none}
