/* Shared portfolio type and colour, with a compact conversational rhythm. */
.ask-ninna,.ask-ninna *{box-sizing:border-box}
.ask-ninna{--ask-ink:var(--portfolio-ink,#242424);--ask-cyan:var(--portfolio-cyan,#00aeef);--ask-link:var(--portfolio-link,#006f9d);--ask-muted:#586b73;--ask-rule:#e4ebee;position:relative;z-index:90;font-family:Poppins,Arial,sans-serif;color:var(--ask-ink);-webkit-text-size-adjust:100%}
.ask-ninna button,.ask-ninna textarea{font-family:inherit}
.ask-ninna .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ask-ninna button{cursor:pointer}
.ask-ninna-trigger{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:92;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 20px;border:1px solid #173e50;border-radius:999px;background:#173e50;color:#fff;box-shadow:0 8px 24px rgba(24,59,72,.2),inset 0 1px rgba(255,255,255,.12);font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,box-shadow .2s,transform .2s}
.ask-ninna-trigger::before,.ask-ninna-trigger::after{content:"";position:absolute;inset:-5px;border-radius:inherit;pointer-events:none;opacity:0;animation:ask-ninna-invite 2.6s ease-out infinite}
.ask-ninna-trigger::before{border:3px solid rgba(0,174,239,.2);box-shadow:0 0 18px 5px rgba(0,174,239,.18)}
.ask-ninna-trigger::after{border:1px solid #00aeef;animation-delay:.25s}
.ask-ninna-trigger:hover{background:#234f63;box-shadow:0 12px 32px rgba(24,59,72,.23);transform:translateY(-2px)}
.ask-ninna-trigger:hover::before,.ask-ninna-trigger:hover::after,.ask-ninna-trigger:focus-visible::before,.ask-ninna-trigger:focus-visible::after{animation:none;opacity:0}
.ask-ninna-trigger:active{transform:translateY(0) scale(.98)}
.ask-ninna-trigger[aria-expanded="true"]{visibility:hidden}
.ask-ninna-trigger-mark{display:grid;place-items:center;width:22px;height:22px;flex:none;color:#8cdef8}
.ask-ninna-trigger-mark svg{display:block;width:22px;height:22px;fill:currentColor}
.ask-ninna [hidden]{display:none!important}
.ask-ninna-panel{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:92;display:flex;flex-direction:column;width:min(406px,calc(100vw - 32px));height:min(578px,calc(100dvh - 48px));min-height:0;overflow:hidden;border:1px solid #e0e9ed;border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(22,57,71,.18),0 3px 12px rgba(22,57,71,.06);animation:ask-ninna-open .24s cubic-bezier(.2,.7,.3,1)}
.ask-ninna-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:20px 18px 19px 24px;border-bottom:1px solid #edf1f3;background:#fff}
.ask-ninna-heading-wrap{display:flex;align-items:center;gap:10px;min-width:0}
.ask-ninna-symbol{display:grid;place-items:center;flex:none;width:24px;height:28px;color:#008bb7}
.ask-ninna-symbol svg{display:block;width:24px;height:24px;fill:currentColor}
.ask-ninna-heading{margin:0;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--ask-ink)}
.ask-ninna-subtext{margin:3px 0 0;color:#62727a;font-size:12px;line-height:1.5}
.ask-ninna-header-actions{display:flex;gap:2px;flex:none}
.ask-ninna-close,.ask-ninna-reset{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:#51656e;transition:background .18s,color .18s}
.ask-ninna-close svg,.ask-ninna-reset svg{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;fill:none}
.ask-ninna-close:hover,.ask-ninna-reset:hover{background:#f0f6f8;color:#173e50}
.ask-ninna-reset:disabled{opacity:.4;cursor:default}
.ask-ninna-log{display:flex;flex:1;flex-direction:column;gap:24px;min-height:0;padding:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5d8df transparent}
.ask-ninna-welcome{margin:auto 0;padding:9px 0 13px}
.ask-ninna-intro{margin:0 0 9px;color:var(--ask-ink);font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.025em;text-wrap:balance}
.ask-ninna-welcome-description{max-width:32ch;margin:0;color:#5a6c74;font-size:14px;line-height:1.65;text-wrap:pretty}
.ask-ninna-prompt-label{margin:26px 0 9px;color:#63767e;font-size:11px;font-weight:500;line-height:1.5}
.ask-ninna-suggestions{display:grid;gap:2px}
.ask-ninna-suggestion{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:45px;padding:10px 12px;border:0;border-radius:10px;background:#f5f9fa;color:#29444f;text-align:left;font-size:14px;font-weight:500;line-height:1.55;transition:background .18s,color .18s}
.ask-ninna-suggestion-arrow{flex:none;font-size:17px;font-weight:400;color:#6c929f;transition:transform .18s,color .18s}
.ask-ninna-suggestion:hover{background:#eaf5f9;color:var(--ask-link)}
.ask-ninna-suggestion:hover .ask-ninna-suggestion-arrow{color:var(--ask-link);transform:translate(2px,-2px)}
.ask-ninna-suggestion:active{background:#e0f1f7}
.ask-ninna-message{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%}
.ask-ninna-message[data-role="user"]{align-self:flex-end;max-width:89%}
.ask-ninna-message[data-role="assistant"]{align-self:flex-start;width:100%}
.ask-ninna-message-label{display:flex;align-items:center;gap:6px;color:#536c76;font-size:12px;line-height:1.5;font-weight:500}
.ask-ninna-message[data-role="assistant"] .ask-ninna-message-label::before{content:"✦";color:#008bb7;font-size:14px;line-height:1}
.ask-ninna-message[data-role="user"] .ask-ninna-message-label{align-self:flex-end}
.ask-ninna-bubble{margin:0;color:#283940;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.ask-ninna-bubble p{margin:0 0 13px;font:inherit;color:inherit}
.ask-ninna-bubble p:last-child,.ask-ninna-bubble ul:last-child,.ask-ninna-bubble ol:last-child{margin-bottom:0}
.ask-ninna-bubble ul,.ask-ninna-bubble ol{margin:0 0 13px;padding-left:19px;list-style:disc}
.ask-ninna-bubble ol{list-style:decimal}
.ask-ninna-bubble li{margin:0 0 6px;padding-left:2px;font:inherit;color:inherit}
.ask-ninna-bubble li:last-child{margin-bottom:0}
.ask-ninna-bubble strong{font-weight:600}
.ask-ninna-message[data-role="user"] .ask-ninna-bubble{padding:10px 14px;border-radius:16px 16px 4px 16px;background:#eef5f7;white-space:pre-wrap}
.ask-ninna-sources{display:grid;gap:2px;margin:7px 0 0;padding:10px 0 0;border-top:1px solid var(--ask-rule);list-style:none}
.ask-ninna-sources li{margin:0;padding:0;min-width:0}
.ask-ninna-sources a,.ask-ninna-sources li>span{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:44px;padding:7px 25px 7px 0;border:0;border-radius:0;background:transparent;color:var(--ask-link);text-decoration:none;font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.ask-ninna-sources a::after{content:'↗';position:absolute;right:3px;top:10px;font-size:16px;color:#5e8797}
.ask-ninna-sources a:hover .ask-ninna-source-title{text-decoration:underline;text-underline-offset:3px}
.ask-ninna-sources li>span{color:#61747c}
.ask-ninna-sources small{color:#627780;font-size:11px;font-weight:400;line-height:1.5}
.ask-ninna-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px;padding-top:16px;border-top:1px solid var(--ask-rule)}
.ask-ninna-followups-label{flex-basis:100%;margin:0 0 2px;color:#61747c;font-size:12px;line-height:1.5;font-weight:500}
.ask-ninna-followup{display:inline-flex;align-items:center;max-width:100%;min-height:44px;padding:9px 14px;border:1px solid #dce9ee;border-radius:22px;background:#f5fafb;color:#17475b;text-align:left;font-size:13px;font-weight:500;line-height:1.5;transition:border-color .18s,background .18s}
.ask-ninna-followup:hover{border-color:#8fcbdc;background:#eaf7fa}
.ask-ninna-followup:active{background:#def0f5}
.ask-ninna-retry{align-self:flex-start;min-height:44px;padding:8px 14px;border:1px solid #dce9ee;border-radius:22px;background:#f5fafb;color:#17475b;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.ask-ninna-retry:hover{border-color:#8fcbdc;background:#eaf7fa}
.ask-ninna-retry:focus-visible{outline:2px solid #1689b2;outline-offset:3px}
.ask-ninna-status{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;color:#4b606a;font-size:13px;line-height:1.5}
.ask-ninna-status::before{content:"✦";color:#008bb7;font-size:17px;animation:ask-ninna-pulse 1.2s ease-in-out infinite}
.ask-ninna-form{display:flex;align-items:end;gap:8px;flex:none;margin:0 16px 16px;padding:6px 7px 6px 13px;border:1px solid #dce6ea;border-radius:17px;background:#f7fafb;transition:border-color .18s,box-shadow .18s,background .18s}
.ask-ninna-form:focus-within{background:#fff;border-color:#1885a9;box-shadow:0 0 0 3px rgba(0,174,239,.08)}
.ask-ninna-input{display:block;flex:1;min-width:0;height:44px;min-height:44px;max-height:112px;resize:none;padding:10px 0;border:0;border-radius:0;background:transparent;color:var(--ask-ink);font-size:16px;line-height:24px;box-shadow:none;overflow-y:auto}
.ask-ninna-input::placeholder{color:#687b83;opacity:1}
.ask-ninna-send{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-bottom:0;padding:0;border:0;border-radius:12px;background:#173e50;color:#fff;transition:background .18s,transform .18s}
.ask-ninna-send:hover:not(:disabled){background:#006f9d;transform:translateY(-1px)}
.ask-ninna-send:active:not(:disabled){transform:translateY(0) scale(.96)}
.ask-ninna-send:disabled{background:#e5edef;color:#879ca5;cursor:default}
.ask-ninna-send svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ask-ninna :focus-visible{outline:2px solid var(--ask-link);outline-offset:3px}
body .ask-ninna .ask-ninna-input:focus,body .ask-ninna .ask-ninna-input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
@keyframes ask-ninna-open{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ask-ninna-pulse{50%{opacity:.4}}
@keyframes ask-ninna-invite{0%,12%,100%{opacity:0;transform:scale(.98)}28%{opacity:.85;transform:scale(1)}65%{opacity:0;transform:scale(1.18,1.32)}}
@media(max-width:640px){
 body.ask-ninna-mobile-open{overflow:hidden}
 .ask-ninna-trigger{right:18px;bottom:calc(18px + env(safe-area-inset-bottom))}
 body:is(.ask-ninna-compact,.ask-ninna-scrolled) .ask-ninna-trigger{right:18px;width:54px;min-width:54px;justify-content:center;padding:0;border-radius:18px}
 body:is(.ask-ninna-compact,.ask-ninna-scrolled) .ask-ninna-trigger>span:last-child{display:none}
 body.ask-ninna-footer-visible .ask-ninna-trigger{visibility:hidden;pointer-events:none}
 .ask-ninna-scrim:not([hidden]){position:fixed;inset:0;z-index:90;display:block;background:rgba(20,43,52,.23)}
 .ask-ninna-panel{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;height:min(578px,80dvh);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:22px}
 .ask-ninna-log{padding:22px}
 .ask-ninna-header{padding:17px 14px 17px 20px}
 .ask-ninna-form{margin:0 12px 12px}
 body.ask-ninna-keyboard-open .ask-ninna-panel{top:calc(var(--ask-visual-top,0px) + 8px);bottom:auto;height:calc(var(--ask-visual-height,100dvh) - 16px);max-height:calc(var(--ask-visual-height,100dvh) - 16px);border-radius:18px}
 body.ask-ninna-keyboard-open .ask-ninna-header{padding-block:11px}
 body.ask-ninna-keyboard-open .ask-ninna-subtext{display:none}
 body.ask-ninna-keyboard-open .ask-ninna-log{padding-block:12px}
 body.ask-ninna-keyboard-open .ask-ninna-form{margin-bottom:8px}
}
@media(max-width:360px){body .ask-ninna-trigger{right:12px;width:54px;min-width:54px;justify-content:center;padding:0;border-radius:18px}body .ask-ninna-trigger>span:last-child{display:none}}
@media(max-height:510px){.ask-ninna-panel{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.ask-ninna-header{padding-block:10px}.ask-ninna-log{padding-block:14px}.ask-ninna-welcome{padding:0}.ask-ninna-prompt-label{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.ask-ninna-panel,.ask-ninna-trigger,.ask-ninna-trigger::before,.ask-ninna-trigger::after,.ask-ninna-suggestion,.ask-ninna-suggestion-arrow,.ask-ninna-followup,.ask-ninna-send,.ask-ninna-close,.ask-ninna-reset,.ask-ninna-status::before{animation:none;transition:none}}
