/* assistant */
.asst-scrim{position:fixed;inset:0;background:rgba(12,15,8,.5);z-index:34;opacity:0;pointer-events:none;transition:opacity .2s}
.asst-scrim.open{opacity:1;pointer-events:auto}
.asst{position:fixed;left:0;right:0;bottom:0;height:92%;z-index:35;background:var(--bg);border-radius:20px 20px 0 0;display:flex;flex-direction:column;transform:translateY(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s;max-width:720px;margin:0 auto;overflow:hidden}
.asst.open{transform:none}
.ahead{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 18px;background:var(--surface);border-bottom:1px solid var(--line2);flex:none}
.ahead .t{flex:1;min-width:0}
.ahead .t b{display:block;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:18px;line-height:1.2}
.ahead .t span{display:block;font-size:13px;color:var(--muted)}
.amark{width:36px;height:36px;border-radius:10px;background:var(--side);display:grid;place-items:center;flex:none}
.thread{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:88%;padding:11px 14px;border-radius:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.a{background:var(--surface);border:1px solid var(--line2);border-top-left-radius:4px;align-self:flex-start}
.msg.u{background:var(--accent);color:var(--accent-ink);border-top-right-radius:4px;align-self:flex-end}
.msg.note{align-self:center;background:transparent;color:var(--muted);font-size:13px;padding:2px 8px;text-align:center}
.typing{display:inline-flex;gap:5px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.4;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:.9}}
.starters{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}
.starter{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 16px;width:100%}
.starter:hover{border-color:var(--accent);background:var(--sel)}
.starter .si{width:40px;height:40px;border-radius:10px;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex:none}
.starter b{display:block;font-size:15px}
.starter span{display:block;font-size:13px;color:var(--muted)}
.ablock{align-self:stretch;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.ablock .bh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ablock .bh b{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:16px}
.ablock .bh span{font-size:13px;color:var(--muted)}
.pc{border:1px solid var(--line2);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;background:var(--bg)}
.pc.off{opacity:.5}
.pc.low{border-color:var(--tan)}
.pc > input[type=checkbox]{width:20px;height:20px;margin-top:9px;accent-color:var(--accent);flex:none}
.pc .pb{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.pc .ptitle{width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:6px 8px;margin-left:-8px;font-weight:700;font-size:15px;outline:none;color:var(--ink)}
.pc .ptitle:hover{border-color:var(--line)}
.pc .ptitle:focus{border-color:var(--accent);background:var(--surface)}
.pc .pchips{display:flex;gap:6px;flex-wrap:wrap}
.pc .pchips .chip{min-height:30px;font-size:13px;padding:0 10px}
.pc .psteps{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:2px;padding-left:2px}
.pc .psteps div{display:flex;align-items:center;gap:6px}
.pc .psteps button{border:0;background:transparent;color:var(--muted);padding:2px 4px;border-radius:6px}
.pc .psteps button:hover{color:var(--late)}
.pcheck{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--tan-ink);background:var(--tan-soft);border-radius:8px;padding:7px 10px}
.bfoot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:4px}
.fitem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--bg)}
.fitem .n{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px;display:grid;place-items:center;flex:none}
.fitem .tt{flex:1;min-width:0}
.fitem .tt b{display:block;font-size:14px}
.fitem .tt span{display:block;font-size:12px;color:var(--muted)}
.compose{flex:none;background:var(--surface);border-top:1px solid var(--line2);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.listening{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--late);font-weight:700;padding:0 4px 8px}
.listening i{width:9px;height:9px;border-radius:50%;background:var(--late);animation:blink 1s infinite}
.crow{display:flex;align-items:flex-end;gap:8px}
.crow textarea{flex:1;min-width:0;resize:none;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:11px 12px;font-size:16px;line-height:1.4;max-height:160px;outline:none;color:var(--ink)}
.crow textarea:focus{border-color:var(--accent)}
.micbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;flex:none}
.micbtn:hover{border-color:var(--accent)}
.micbtn.on{background:var(--late);border-color:var(--late);color:#fff;box-shadow:0 0 0 0 rgba(177,42,67,.5);animation:ring 1.4s infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(177,42,67,.45)}70%{box-shadow:0 0 0 10px rgba(177,42,67,0)}100%{box-shadow:0 0 0 0 rgba(177,42,67,0)}}
.sendbtn{width:44px;height:44px;border-radius:12px;flex:none;padding:0}
.qmic{width:38px;height:38px;border-radius:10px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;flex:none}
.qmic:hover{background:var(--sel);color:var(--accent)}
.onb{display:flex;gap:14px;align-items:center;background:var(--side);color:var(--side-ink);border-radius:16px;padding:16px 18px;margin-top:18px;flex-wrap:wrap}
.onb .ot{flex:1;min-width:220px}
.onb .ot b{display:block;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:18px}
.onb .ot span{display:block;font-size:14px;color:var(--side-muted);margin-top:2px}
.onb .btn.ghost{color:var(--side-muted)}
.onb .btn.ghost:hover{background:var(--side-hi);color:var(--side-ink)}
.suggest{margin-top:6px;color:var(--accent)!important;padding:0 8px!important}
@media (min-width:1024px){
  .asst{left:50%;top:50%;right:auto;bottom:auto;width:min(720px,92vw);height:min(780px,88vh);border-radius:20px;margin:0;transform:translate(-50%,-47%);opacity:0;pointer-events:none;box-shadow:var(--float)}
  .asst.open{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
  .starters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .side .navi.asstnav{color:var(--side-ink);margin-bottom:6px;border:1px solid rgba(255,255,255,.12)}
}
