/* Crypi 2 — isolated styles; no global element overrides. */
#crypi-agent{--ca-ink:#142334;--ca-muted:#657583;--ca-line:#dce4e7;--ca-teal:#1c69d4;--ca-paper:#fbfaf7;font:15px/1.6 system-ui,-apple-system,'Noto Sans Bengali','Noto Sans Devanagari',sans-serif;color:var(--ca-ink)}
#crypi-agent *,#crypi-agent *::before,#crypi-agent *::after{box-sizing:border-box}
#crypi-agent button,#crypi-agent select,#crypi-agent textarea{font:inherit}
#crypi-agent button{cursor:pointer;border:0}
#crypi-agent button:disabled{cursor:wait;opacity:.5}
#crypi-agent button:focus-visible,#crypi-agent a:focus-visible,#crypi-agent select:focus-visible,#crypi-agent textarea:focus-visible{outline:3px solid #1c69d4;outline-offset:3px}
#crypi-agent [hidden]{display:none!important}
#crypi-agent svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#crypi-agent .ca-launch{position:fixed;bottom:22px;right:24px;z-index:99980;display:flex;align-items:center;gap:12px;padding:7px 18px 7px 7px;border-radius:48px;background:#0d2659;color:#fff;box-shadow:0 10px 30px #051c3533;transition:transform .2s}
#crypi-agent .ca-launch:hover{transform:translateY(-3px)}
#crypi-agent .ca-launch small{display:block;font-size:11px;color:#bcd8d8;line-height:1.3}
#crypi-agent .ca-face{width:54px;height:54px;border-radius:50%;background-color:#09172a;background-image:url('/images/crypi/expressions.png');background-size:400% 200%;background-position:var(--fx,0%) var(--fy,0%);flex-shrink:0}
#crypi-agent .ca-panel{position:fixed;z-index:100020;right:22px;bottom:22px;width:448px;height:min(760px,calc(100dvh - 44px));max-width:calc(100vw - 28px);display:flex;flex-direction:column;background:var(--ca-paper);border:1px solid #d9e3e4;border-radius:26px;box-shadow:0 24px 90px #0a223540;overflow:hidden;animation:ca-enter .24s ease-out}
#crypi-agent .ca-panel.ca-wide{width:min(760px,calc(100vw - 44px))}
#crypi-agent .ca-header{padding:17px 19px 12px;display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--ca-line);flex-shrink:0;background:#fffdf9}
#crypi-agent .ca-identity{flex:1;min-width:0}#crypi-agent .ca-name{font-size:22px;font-weight:700;letter-spacing:-.6px;line-height:1.15}
#crypi-agent .ca-subtitle{font-size:11px;color:var(--ca-muted);letter-spacing:.2px}
#crypi-agent .ca-icon{width:44px;height:44px;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;background:transparent;border-radius:12px;color:var(--ca-ink)}
#crypi-agent .ca-icon:hover{background:#eaf0ef}
#crypi-agent .ca-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 17px;gap:10px;border-bottom:1px solid var(--ca-line);flex-shrink:0}
#crypi-agent .ca-tabs{display:flex;padding:3px;background:#eaf0ee;border-radius:12px;gap:3px}
#crypi-agent .ca-tab{padding:5px 16px;min-height:44px;border-radius:9px;background:transparent;color:var(--ca-muted);font-size:13px;font-weight:600}
#crypi-agent .ca-tab[aria-selected=true]{background:#fff;color:var(--ca-teal);box-shadow:0 1px 4px #152d3510}
#crypi-agent select{border:1px solid var(--ca-line);background:#fffdf9;border-radius:10px;padding:6px;color:var(--ca-ink);font-size:12px;max-width:125px;min-height:44px}
#crypi-agent .ca-stage{background:#09172a;position:relative;min-height:220px;text-align:center;overflow:hidden;flex-shrink:0}
#crypi-agent .ca-stage .ca-face{width:244px;height:244px;border-radius:0;margin:-4px auto -18px;animation:ca-breathe 5s ease-in-out infinite;transform-origin:50% 90%}
#crypi-agent .ca-stage::after{content:'';position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(transparent,#09172a);pointer-events:none}
#crypi-agent .ca-stage .ca-state{position:absolute;z-index:1;bottom:12px;left:0;right:0;color:#d4e6e8;font-size:12px}
#crypi-agent .ca-wave{height:20px;display:flex;justify-content:center;align-items:center;gap:4px;margin:0 auto 7px}
#crypi-agent .ca-wave i{width:3px;height:calc(3px + var(--level,0)*18px);border-radius:3px;background:#7fb7ff;transition:height .1s}
#crypi-agent .ca-wave i:nth-child(2n){height:calc(3px + var(--level,0)*11px)}
#crypi-agent .ca-stage[data-state=thinking] .ca-face{animation:ca-think 4s ease-in-out infinite}
#crypi-agent .ca-messages{padding:20px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}
#crypi-agent .ca-welcome{text-align:left;margin:7px 0 25px}
#crypi-agent .ca-eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:var(--ca-teal);font-weight:700}
#crypi-agent .ca-welcome h2{font-size:29px;line-height:1.18;letter-spacing:-1px;font-weight:600;margin:12px 0;color:var(--ca-ink)}
#crypi-agent .ca-welcome p{font-size:13px;color:var(--ca-muted);margin:0 0 20px}
#crypi-agent .ca-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#crypi-agent .ca-suggestions button{text-align:left;background:#fff;padding:12px;border:1px solid var(--ca-line);border-radius:13px;font-size:12px;color:var(--ca-ink);min-height:62px;transition:border-color .2s}
#crypi-agent .ca-suggestions button:hover{border-color:var(--ca-teal)}
#crypi-agent .ca-message{margin:0 0 19px;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
#crypi-agent .ca-message[data-role=user]{margin-left:35px;background:#e7effc;border-radius:17px 17px 4px 17px;padding:12px 15px}
#crypi-agent .ca-message[data-role=assistant]{margin-right:4px}
#crypi-agent .ca-msg-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--ca-teal);font-weight:700;margin-bottom:6px}
#crypi-agent .ca-msg-body{white-space:pre-wrap}
#crypi-agent .ca-msg-body a,#crypi-agent .ca-sources a{color:var(--ca-teal);text-decoration:underline;text-underline-offset:3px}
#crypi-agent .ca-msg-body pre{white-space:pre-wrap;background:#eaf0ee;padding:12px;border-radius:10px;font-size:12px;overflow:auto}
#crypi-agent .ca-table-wrap{overflow:auto}#crypi-agent table{border-collapse:collapse;font-size:12px;width:100%;white-space:normal}
#crypi-agent td,#crypi-agent th{border:1px solid var(--ca-line);padding:7px;text-align:left}
#crypi-agent .ca-sources{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
#crypi-agent .ca-sources a{display:block;border:1px solid var(--ca-line);border-radius:8px;padding:4px 8px;font-size:11px;text-decoration:none;max-width:100%;background:white}
#crypi-agent .ca-msg-actions{display:flex;gap:3px;margin-top:5px;flex-wrap:wrap}
#crypi-agent .ca-msg-actions button{background:transparent;color:var(--ca-muted);font-size:11px;padding:5px 9px;min-height:44px;border-radius:8px}
#crypi-agent .ca-msg-actions button:hover{background:#eaf0ee}
#crypi-agent .ca-status{padding:0 20px;font-size:12px;min-height:23px;color:var(--ca-teal);flex-shrink:0}
#crypi-agent .ca-notice{font-size:12px;padding:10px 14px;margin:10px 16px 0;border-radius:10px;background:#fff0d8;color:#614719;flex-shrink:0}
#crypi-agent .ca-footer{padding:8px 15px 11px;border-top:1px solid var(--ca-line);background:#fffdf9;flex-shrink:0}
#crypi-agent .ca-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
#crypi-agent .ca-tools button{font-size:11px;background:transparent;color:var(--ca-muted);min-height:44px;padding:3px 8px;border-radius:8px}
#crypi-agent .ca-compose{display:flex;align-items:flex-end;gap:3px;border:1px solid #c7d7d7;border-radius:17px;padding:6px;background:white}
#crypi-agent textarea{border:0;outline:none;resize:none;min-width:0;flex:1;min-height:40px;max-height:110px;padding:9px 5px;line-height:1.5;font-size:14px;background:transparent;color:var(--ca-ink)}
#crypi-agent .ca-compose textarea:focus-visible{outline:0}
#crypi-agent .ca-send{background:var(--ca-teal);color:white;border-radius:12px}
#crypi-agent .ca-mic[aria-pressed=true]{background:#f9dddd;color:#952525}
#crypi-agent .ca-privacy{font-size:10px;text-align:center;color:var(--ca-muted);margin:7px 0 0}
#crypi-agent .ca-privacy a{color:inherit}
#crypi-agent .ca-attachment{display:flex;align-items:center;gap:8px;font-size:11px;background:#eaf0ee;padding:4px 8px;border-radius:9px;margin:6px 0}
#crypi-agent .ca-attachment span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#crypi-agent .ca-new-below{align-self:center;position:absolute;bottom:180px;z-index:3;background:var(--ca-teal);color:#fff;border-radius:16px;padding:6px 12px;font-size:11px}
#crypi-agent .ca-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes ca-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ca-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012) translateY(-1px)}}
@keyframes ca-think{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.2deg)}}
@media(max-width:600px){#crypi-agent .ca-panel,#crypi-agent .ca-panel.ca-wide{left:0;right:0;bottom:auto;top:var(--ca-top,0px);width:100%;max-width:none;height:var(--ca-height,100dvh);border-radius:0;border:0}#crypi-agent .ca-launch{bottom:16px;right:14px}#crypi-agent .ca-header{padding-top:max(12px,env(safe-area-inset-top))}#crypi-agent .ca-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}#crypi-agent .ca-expand{display:none}#crypi-agent .ca-stage{min-height:190px}#crypi-agent .ca-stage .ca-face{width:218px;height:218px}#crypi-agent .ca-messages{padding:17px}#crypi-agent .ca-welcome h2{font-size:28px}}
@media(max-height:650px){#crypi-agent .ca-stage{min-height:125px}#crypi-agent .ca-stage .ca-face{width:150px;height:150px}#crypi-agent .ca-stage .ca-state{bottom:4px}#crypi-agent .ca-wave{display:none}}
@media(prefers-reduced-motion:reduce){#crypi-agent *,#crypi-agent *::before,#crypi-agent *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#crypi-agent.ca-inactive .ca-face{animation-play-state:paused!important}

@media(max-height:540px){#crypi-agent .ca-stage{display:none}#crypi-agent .ca-notice{max-height:55px;overflow:auto}#crypi-agent .ca-header{padding:6px 12px}#crypi-agent .ca-toolbar{padding:3px 12px}}

/* The on-screen keyboard changes visualViewport even when CSS media height does not. */
#crypi-agent .ca-panel.ca-compact .ca-stage{display:none}
#crypi-agent .ca-panel.ca-compact .ca-messages{min-height:0;padding:10px 14px}
#crypi-agent .ca-panel.ca-compact .ca-header{padding:6px 12px}
#crypi-agent .ca-panel.ca-compact .ca-header .ca-face{width:40px;height:40px}
#crypi-agent .ca-panel.ca-compact .ca-toolbar{padding:3px 12px}
#crypi-agent .ca-panel.ca-compact .ca-notice{max-height:36px;overflow:auto;margin-top:4px;padding:5px 10px}
#crypi-agent .ca-stage .ca-face{background-repeat:no-repeat;clip-path:inset(6px 0 0)}

/* Keep the composer inside the visible area, with room for the conversation. */
@media(max-width:600px){
 #crypi-agent textarea{font-size:16px}
 #crypi-agent .ca-panel.ca-compact .ca-tools,#crypi-agent .ca-panel.ca-compact .ca-privacy{display:none}
 #crypi-agent .ca-panel.ca-compact .ca-footer{padding:6px 10px max(6px,env(safe-area-inset-bottom))}
 #crypi-agent .ca-panel.ca-compact .ca-subtitle{display:none}
 #crypi-agent .ca-panel.ca-compact .ca-status:empty{display:none}
 #crypi-agent .ca-panel.ca-compact .ca-toolbar{padding:2px 10px}
 #crypi-agent .ca-panel.ca-compact textarea{max-height:72px}
 #crypi-agent .ca-panel.ca-compact .ca-new-below{bottom:90px}
 #crypi-agent .ca-panel.ca-compact .ca-welcome{margin:0}
 #crypi-agent .ca-panel.ca-compact .ca-welcome h2{font-size:22px}
}

/* One fixed overlay; the composer stays in its last row while the log scrolls. */
#crypi-agent.ca-open{position:fixed;inset:0;z-index:100020;isolation:isolate}
@media(max-width:600px){
 #crypi-agent.ca-open{top:var(--ca-top,0px);bottom:auto;height:var(--ca-height,100dvh);overflow:hidden}
 #crypi-agent.ca-open .ca-panel,#crypi-agent.ca-open .ca-panel.ca-wide{position:absolute;inset:0;height:100%;max-height:100%;min-height:0;animation:none}
 #crypi-agent .ca-panel.ca-compact .ca-toolbar{display:none}
 #crypi-agent .ca-panel.ca-compact .ca-header .ca-face{width:34px;height:34px}
 #crypi-agent .ca-panel.ca-compact .ca-attachment{margin:0 0 4px;padding:0 6px;font-size:10px}
 #crypi-agent .ca-panel.ca-compact .ca-status{padding:0 12px;min-height:19px}
 #crypi-agent .ca-footer{margin-top:auto;min-width:0}
}

/* Agent release 7: visible viewport on every device width. */
#crypi-agent.ca-open{top:var(--ca-top,0px);bottom:auto;height:var(--ca-height,100dvh);overflow:hidden}
#crypi-agent.ca-open .ca-panel{position:absolute;max-height:calc(100% - 24px);height:min(760px,calc(100% - 24px));bottom:12px}
#crypi-agent .ca-panel.ca-compact .ca-tools,#crypi-agent .ca-panel.ca-compact .ca-privacy,#crypi-agent .ca-panel.ca-compact .ca-toolbar,#crypi-agent .ca-panel.ca-compact .ca-subtitle{display:none}
#crypi-agent .ca-panel.ca-compact .ca-footer{padding:6px 10px max(6px,env(safe-area-inset-bottom))}
#crypi-agent .ca-panel.ca-compact textarea{max-height:72px}
#crypi-agent .ca-panel.ca-compact .ca-new-below{bottom:90px}
#crypi-agent .ca-panel.ca-compact .ca-status:empty{display:none}
#crypi-agent .ca-notice{max-height:86px;overflow:auto}
#crypi-agent .ca-attachment span{white-space:normal;max-height:42px;overflow:auto}
#crypi-agent .ca-msg-body h1,#crypi-agent .ca-msg-body h2,#crypi-agent .ca-msg-body h3,#crypi-agent .ca-msg-body h4{font-size:16px;line-height:1.4;margin:14px 0 7px;color:var(--ca-ink)}
#crypi-agent .ca-msg-body p{margin:0 0 10px;white-space:pre-wrap}
#crypi-agent .ca-msg-body ul,#crypi-agent .ca-msg-body ol{padding-left:23px;margin:8px 0 12px;white-space:normal}
#crypi-agent .ca-msg-body li{margin:4px 0}
#crypi-agent .ca-coverage{font-size:11px;border:1px solid var(--ca-line);padding:8px 10px;border-radius:9px;margin:8px 0;background:white}
#crypi-agent .ca-coverage summary{cursor:pointer;color:var(--ca-teal)}
#crypi-agent .ca-coverage p{margin:5px 0 0}
#crypi-agent .ca-edit{font-size:11px;background:transparent;color:var(--ca-muted);padding:6px 0;min-height:36px}
#crypi-agent[data-state=listening] .ca-header .ca-face{box-shadow:0 0 0 3px #7fb7ff55}
#crypi-agent .ca-stage[data-state=researching] .ca-face,#crypi-agent .ca-stage[data-state=searching] .ca-face{animation:ca-think 4s ease-in-out infinite}
#crypi-agent .ca-stage[data-state=speaking] .ca-face{animation:ca-speak 3.5s ease-in-out infinite}
@keyframes ca-speak{0%,100%{transform:rotate(-.5deg) translateY(0)}50%{transform:rotate(.7deg) translateY(-2px)}}
@media(max-width:600px){#crypi-agent.ca-open .ca-panel{height:100%;max-height:100%;bottom:0}}
@media(pointer:coarse){#crypi-agent textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){#crypi-agent .ca-stage .ca-face{animation:none!important}}

/* Keep the mobile launcher compact and clear of the Telegram join bar. */
@media(max-width:768px){
 #crypi-agent .ca-launch{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:8px;padding:5px 14px 5px 5px;min-height:54px}
 #crypi-agent .ca-launch .ca-face{width:44px;height:44px}
 #crypi-agent .ca-launch small{display:none}
 body.tg-bar-space #crypi-agent .ca-launch{bottom:calc(var(--cs-tg-bar-height,calc(72px + env(safe-area-inset-bottom,0px))) + 12px)}
}
