/* Ask ACONT: conversation-first workspace. Shared ACONT tokens, no extra framework. */
#ask-acont { --ask-paper:#fff; --ask-ink:#18342f; --ask-muted:#566b65; --ask-line:#dbe5e0; --ask-soft:#f2f6f3; position:fixed; right:24px; bottom:22px; z-index:80; color:var(--ask-ink); font:14px/1.65 'Plus Jakarta Sans',sans-serif; }
.dark #ask-acont { --ask-paper:#11221f; --ask-ink:#edf7f1; --ask-muted:#aec3b9; --ask-line:#355048; --ask-soft:#1c322b; }
#ask-acont[hidden],#ask-acont [hidden] { display:none!important; }
#ask-acont * { box-sizing:border-box; }
#ask-acont button { font:inherit; cursor:pointer; transition:background-color .15s ease; }
#ask-open { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 18px; border:1px solid #23695d; border-radius:12px; background:#125c50; color:#fff; font-weight:700; box-shadow:0 4px 16px #14392b24; }
#ask-open:hover { background:#0c493f; }
#ask-open::before { display:none; }
.ask-open-icon { display:flex; width:22px; height:22px; }
.ask-open-icon svg { width:100%; height:100%; }
#ask-panel { position:absolute; right:0; bottom:60px; width:min(460px,calc(100vw - 48px)); height:min(680px,calc(100dvh - 104px)); max-height:calc(100dvh - 104px); padding:0; overflow:hidden; border:1px solid var(--ask-line); border-radius:18px; background:var(--ask-paper); box-shadow:0 16px 56px #10291f29; }
#ask-panel:not([hidden]) { display:flex; flex-direction:column; }
#ask-panel header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; background:var(--ask-paper); border-bottom:1px solid var(--ask-line); }
#ask-panel header strong { font-size:17px; letter-spacing:-.02em; }
.ask-subtitle { font-size:12px; color:var(--ask-muted); margin-top:2px; }
#ask-close { display:grid; place-items:center; flex:none; width:40px; height:40px; padding:0; border:1px solid var(--ask-line); border-radius:10px; color:var(--ask-muted); background:transparent; font-size:24px!important; }
#ask-close:hover { background:var(--ask-soft); }
#ask-panel .ask-body { min-height:0; flex:1; display:flex; flex-direction:column; overflow:hidden; }
#ask-panel label { display:block; margin:0; }
#ask-candidate-label { padding:12px 22px; font-size:12px; font-weight:600; background:var(--ask-soft); }
#ask-panel input,#ask-panel textarea { width:100%; border:1px solid var(--ask-line); border-radius:10px; background:var(--ask-paper); color:var(--ask-ink); font:inherit; padding:10px 12px; }
#ask-panel input { margin-top:5px; }
#ask-messages { flex:1; min-height:0; max-height:none; overflow-y:auto; padding:20px 22px 8px; overscroll-behavior:contain; scrollbar-gutter:stable; }
#ask-messages:empty { flex:0; padding:0; }
#ask-empty { flex:1; min-height:0; overflow:auto; padding:28px 24px; }
#ask-empty h2 { font-size:23px; line-height:1.35; letter-spacing:-.035em; margin:10px 0; font-weight:700; }
#ask-empty p { margin:0 0 16px; color:var(--ask-muted); }
#ask-empty .ask-eyebrow { font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--ask-muted); }
#ask-empty button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; padding:13px 14px; margin-top:10px; border:1px solid var(--ask-line); border-radius:10px; background:var(--ask-paper); color:var(--ask-ink); font-size:13px; }
#ask-empty button:hover { background:var(--ask-soft); border-color:#438b76; }
.ask-chat-row { display:flex; margin-bottom:22px; }
.ask-chat-row--user { justify-content:flex-end; }
.ask-chat-bubble { max-width:100%; min-width:0; }
.ask-chat-bubble--user { max-width:90%; background:var(--ask-soft); padding:12px 15px; border-radius:12px 12px 3px 12px; }
.ask-chat-label { font-size:11px; font-weight:700; color:var(--ask-muted); margin-bottom:6px; }
#ask-messages .ask-chat-text p { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 0 10px; padding:0; background:transparent!important; color:var(--ask-ink)!important; border:0; }
.ask-chat-list { margin:8px 0 12px; padding-left:22px; }
ol.ask-chat-list { list-style:decimal; } ul.ask-chat-list { list-style:disc; }
.ask-chat-list li { padding-left:3px; margin-bottom:8px; overflow-wrap:anywhere; }
#ask-form { flex:none; padding:16px 22px 18px; border-top:1px solid var(--ask-line); background:var(--ask-paper); display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px; }
.ask-question-label { display:block; font-size:11px; font-weight:600; margin-bottom:6px; color:var(--ask-muted); }
#ask-question { min-height:72px; max-height:140px; resize:vertical; font-size:14px; line-height:1.5; }
#ask-question::placeholder { color:var(--ask-muted); opacity:1; }
#ask-send { min-height:44px; max-width:120px; padding:11px 16px; border:0; border-radius:10px; background:#125c50; color:#fff; font-weight:700; font-size:12px; }
#ask-send:hover { background:#0c493f; }
#ask-send:disabled { cursor:wait; background:#526c61; }
#ask-acont :focus-visible { outline:3px solid #39937d!important; outline-offset:3px!important; }
@media (max-width:767px) { #ask-acont { right:12px; bottom:12px; } #ask-panel { position:fixed; inset:auto 8px 72px; width:auto; height:calc(100dvh - 88px); max-height:calc(100dvh - 88px); border-radius:14px; } #ask-panel header { padding:16px; } #ask-messages { padding:18px 16px 6px; } #ask-form { padding:12px 16px; } #ask-question,#ask-panel input { font-size:16px; } #ask-empty { padding:24px 20px; } }
@media (prefers-reduced-motion:reduce) { #ask-acont * { transition:none!important; scroll-behavior:auto!important; } }
