/* ============================================================
   crypi.css — cRyPi assistant (cRyPtO sMaRt)
   All selectors scoped under #crypi-widget so nothing on the
   site is affected. Pairs with /js/crypi.js.
   ============================================================ */
#crypi-widget, #crypi-widget *{ box-sizing:border-box; }
#crypi-widget{ font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif; -webkit-font-smoothing:antialiased; }

#crypi-launch{ position:fixed; right:24px; bottom:20px; width:72px; height:82px; z-index:99998;
  border:none; background:transparent; padding:0; cursor:pointer; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
#crypi-launch svg{ width:100%; height:100%; display:block; }
#crypi-launch:hover{ transform:scale(1.05); }
#crypi-launch:focus-visible{ outline:2px solid #36c9ff; outline-offset:4px; border-radius:50%; }

#crypi-panel{ position:fixed; right:28px; bottom:28px; width:384px; max-width:calc(100vw - 28px);
  height:586px; max-height:calc(100vh - 44px); z-index:99999;
  background:rgba(255,255,255,.88); backdrop-filter:blur(34px) saturate(150%); -webkit-backdrop-filter:blur(34px) saturate(150%);
  border:1px solid rgba(255,255,255,.7); border-radius:26px; overflow:hidden;
  box-shadow:0 50px 90px -28px rgba(11,23,48,.5), 0 0 0 1px rgba(13,38,89,.04);
  display:flex; flex-direction:column; transform-origin:bottom right;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), opacity .35s ease; }
#crypi-panel.cp-hidden{ transform:translateY(18px) scale(.92); opacity:0; pointer-events:none; }

#crypi-widget .cp-head{ position:relative; padding:18px 20px 16px; color:#fff; flex-shrink:0;
  background:linear-gradient(150deg,#0b1730 0%,#0d2659 70%,#133a82 100%); }
#crypi-widget .cp-head::after{ content:""; position:absolute; right:-40px; top:-50px; width:170px; height:170px;
  border-radius:50%; background:radial-gradient(circle,rgba(54,201,255,.32),transparent 68%); }
#crypi-widget .cp-head-row{ display:flex; align-items:center; gap:12px; position:relative; z-index:1; }
#crypi-widget .cp-head-orb{ width:46px; height:46px; flex-shrink:0; }
#crypi-widget .cp-head-orb svg{ width:100%; height:100%; display:block; }
#crypi-widget .cp-name{ font-size:17px; font-weight:600; letter-spacing:-.01em; line-height:1.1; margin:0; }
#crypi-widget .cp-sub{ font-size:12px; font-weight:400; color:#acc6f0; margin:3px 0 0; display:flex; align-items:center; gap:7px; }
#crypi-widget .cp-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0;
  background:radial-gradient(circle at 34% 28%,#fff 0%,#9eecff 26%,#36c9ff 58%,#0c86c4 100%);
  box-shadow:0 0 8px rgba(54,201,255,.85), inset 0 -1.5px 2px rgba(2,40,70,.45), inset 0 1px 1px rgba(255,255,255,.5);
  animation:cp-beat 2.6s ease-in-out infinite; }
@keyframes cp-beat{ 0%,100%{ box-shadow:0 0 5px rgba(54,201,255,.6), inset 0 -1.5px 2px rgba(2,40,70,.45), inset 0 1px 1px rgba(255,255,255,.5); transform:scale(.95); }
  50%{ box-shadow:0 0 13px rgba(54,201,255,1), inset 0 -1.5px 2px rgba(2,40,70,.45), inset 0 1px 1px rgba(255,255,255,.5); transform:scale(1.05); } }
#crypi-widget .cp-close{ position:absolute; top:16px; right:16px; z-index:2; width:30px; height:30px; border-radius:50%;
  border:none; background:rgba(255,255,255,.12); color:#fff; font-size:18px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s; }
#crypi-widget .cp-close:hover{ background:rgba(255,255,255,.24); }

#crypi-widget .cp-body{ flex:1; overflow-y:auto; padding:22px 18px 8px; display:flex; flex-direction:column; gap:13px; }
#crypi-widget .cp-body::-webkit-scrollbar{ width:6px; }
#crypi-widget .cp-body::-webkit-scrollbar-thumb{ background:#cdd8e8; border-radius:3px; }
#crypi-widget .cp-row{ display:flex; gap:9px; align-items:flex-end; max-width:88%; }
#crypi-widget .cp-row.cp-me{ align-self:flex-end; flex-direction:row-reverse; max-width:80%; }
#crypi-widget .cp-av{ width:30px; height:30px; flex-shrink:0; }
#crypi-widget .cp-av svg{ width:100%; height:100%; display:block; }
#crypi-widget .cp-bubble{ font-size:14px; line-height:1.5; padding:11px 14px; border-radius:16px; letter-spacing:-.005em; }
#crypi-widget .cp-row.cp-bot .cp-bubble{ background:#fff; color:#1a1d23; border-bottom-left-radius:5px;
  box-shadow:0 4px 14px rgba(13,38,89,.07); border:1px solid rgba(13,38,89,.05); }
#crypi-widget .cp-row.cp-me .cp-bubble{ background:linear-gradient(140deg,#1c69d4,#1659bd); color:#fff;
  border-bottom-right-radius:5px; box-shadow:0 6px 16px rgba(28,105,212,.32); }
#crypi-widget .cp-link{ display:inline-flex; align-items:center; gap:5px; margin-top:9px; font-size:13px;
  font-weight:600; color:#1c69d4; text-decoration:none; }
#crypi-widget .cp-link:hover{ gap:8px; }
#crypi-widget .cp-anim{ animation:cp-up .45s cubic-bezier(.22,1,.36,1) both; }
@keyframes cp-up{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
#crypi-widget .cp-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:2px 2px 6px 40px; }
#crypi-widget .cp-chip{ font-family:inherit; font-size:13px; font-weight:500; color:#0d2659; background:#fff;
  border:1px solid #dbe3ee; padding:9px 14px; border-radius:20px; cursor:pointer; text-align:left;
  transition:all .22s cubic-bezier(.4,0,.2,1); }
#crypi-widget .cp-chip:hover{ border-color:#1c69d4; color:#1c69d4; transform:translateY(-2px); box-shadow:0 8px 18px -8px rgba(28,105,212,.5); }
#crypi-widget .cp-chip.cp-ghost{ color:#5d646e; background:rgba(255,255,255,.6); }
#crypi-widget .cp-chip.cp-ghost:hover{ color:#1c69d4; }

#crypi-widget .cp-foot{ flex-shrink:0; padding:12px 16px 8px; border-top:1px solid rgba(13,38,89,.06); }
#crypi-widget .cp-bar{ display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #dbe3ee;
  border-radius:24px; padding:6px 6px 6px 16px; transition:border-color .2s; }
#crypi-widget .cp-bar:focus-within{ border-color:#1c69d4; }
#crypi-widget .cp-bar input{ flex:1; border:none; outline:none; font-family:inherit; font-size:14px; color:#1a1d23; background:none; }
#crypi-widget .cp-bar input::placeholder{ color:#9aa6b6; }
#crypi-widget .cp-send{ width:36px; height:36px; flex-shrink:0; border:none; border-radius:50%; cursor:pointer;
  background:linear-gradient(140deg,#36c9ff,#1c69d4); color:#fff; font-size:16px;
  display:flex; align-items:center; justify-content:center; transition:transform .2s; }
#crypi-widget .cp-send:hover{ transform:scale(1.08); }
#crypi-widget .cp-note{ text-align:center; font-size:10.5px; color:#9aa6b6; margin-top:9px; }

/* orb internals */
#crypi-widget .cp-core{ transform-box:fill-box; transform-origin:center; animation:cp-core 4.6s ease-in-out infinite; }
@keyframes cp-core{ 0%,100%{ opacity:.5; transform:scale(.9); } 50%{ opacity:1; transform:scale(1.07); } }
#crypi-widget .cp-node{ transform-box:fill-box; transform-origin:center; animation:cp-node 2.8s ease-in-out infinite; }
@keyframes cp-node{ 0%,100%{ opacity:.45; transform:scale(.75); } 50%{ opacity:1; transform:scale(1.3); } }
#crypi-widget .cp-sheen{ transform-box:fill-box; animation:cp-sheen 7s ease-in-out infinite; }
@keyframes cp-sheen{ 0%{ transform:skewX(-15deg) translateX(-20px); } 55%,100%{ transform:skewX(-15deg) translateX(245px); } }
#crypi-widget .cp-floatb{ transform-box:fill-box; transform-origin:center; animation:cp-float 5s ease-in-out infinite; }
@keyframes cp-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
#crypi-widget .cp-oshadow{ transform-box:fill-box; transform-origin:center; animation:cp-shadow 5s ease-in-out infinite; }
@keyframes cp-shadow{ 0%,100%{ transform:scale(1); opacity:.32; } 50%{ transform:scale(.82); opacity:.18; } }

@media(max-width:480px){
  #crypi-panel{ right:0; left:0; bottom:0; width:100%; max-width:100%; height:86vh; border-radius:22px 22px 0 0; }
  #crypi-launch{ right:14px; bottom:12px; }
}
@media(prefers-reduced-motion:reduce){
  #crypi-widget *{ animation:none !important; transition:none !important; }
}
