.pulse-float{position:fixed;inset:0;z-index:2200;pointer-events:none;color:#f4f7f5;--pulse-x:calc(100vw - 190px);--pulse-y:calc(100vh - 118px);--pulse-safe-top:96px}
body:has(.pulse-float) .app-main{padding-bottom:140px}
.pulse-launcher{pointer-events:auto;position:fixed;left:var(--pulse-x);top:max(var(--pulse-y),var(--pulse-safe-top));width:166px;height:62px;display:grid;grid-template-columns:46px 1fr 8px;align-items:center;gap:10px;padding:7px 12px 7px 7px;border:1px solid rgba(255,255,255,.16);border-radius:19px;background:rgba(10,17,15,.64);color:#f3f6f4;box-shadow:0 18px 55px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);cursor:grab;user-select:none;touch-action:none;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.pulse-launcher:hover{border-color:rgba(218,187,112,.38);box-shadow:0 22px 65px rgba(0,0,0,.27),0 0 28px rgba(218,187,112,.08)}.pulse-launcher:active,.pulse-launcher.is-dragging{cursor:grabbing;transform:scale(.985)}.pulse-launcher[aria-expanded=true]{border-color:rgba(218,187,112,.42)}
.pulse-launcher-portrait{width:46px;height:46px;overflow:hidden;border:1px solid rgba(222,190,111,.3);border-radius:15px;background:#070c0b}.pulse-launcher-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 13%;opacity:.82;filter:saturate(.75)}
.pulse-launcher-copy{min-width:0;display:grid;text-align:left}.pulse-launcher-copy strong{font-size:.8rem;letter-spacing:.02em}.pulse-launcher-copy small{margin-top:1px;color:rgba(235,241,237,.55);font-size:.58rem;letter-spacing:.04em}.pulse-launcher-signal{width:7px;height:7px;border-radius:50%;background:#dabe70;box-shadow:0 0 14px rgba(218,190,112,.85);animation:pulseSignal 3.8s ease-in-out infinite}
.pulse-panel{pointer-events:auto;position:fixed;left:var(--pulse-panel-x,calc(100vw - 440px));top:var(--pulse-panel-y,calc(100vh - 690px));width:min(410px,calc(100vw - 28px));height:min(620px,var(--pulse-panel-max-height,calc(100vh - 108px)));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(145deg,rgba(12,19,17,.66),rgba(7,12,11,.51));box-shadow:0 34px 100px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.075);backdrop-filter:blur(30px) saturate(138%);-webkit-backdrop-filter:blur(30px) saturate(138%);opacity:0;visibility:hidden;transform:translateY(14px) scale(.975);transform-origin:bottom right;transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .28s}
.pulse-panel.is-open{opacity:1;visibility:visible;transform:none}.pulse-panel:before{content:"";position:absolute;inset:-35% 30% 65% -25%;border-radius:50%;background:radial-gradient(circle,rgba(215,187,117,.09),transparent 68%);pointer-events:none}
.pulse-panel-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.075)}.pulse-panel-identity,.pulse-panel-tools{display:flex;align-items:center;gap:9px}.pulse-panel-identity>span:last-child{display:grid}.pulse-panel-identity strong{font-size:.79rem;letter-spacing:.025em}.pulse-panel-identity small{margin-top:2px;color:rgba(234,240,236,.57);font-size:.59rem;white-space:nowrap}
.pulse-miniature{position:relative;width:39px;height:39px;flex:0 0 39px;overflow:hidden;border:1px solid rgba(222,190,111,.25);border-radius:13px;background:#070c0b}.pulse-state-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 13%;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.8s ease}.pulse-visual[data-pulse-state=idle] .pulse-state-idle,.pulse-visual[data-pulse-state=error] .pulse-state-idle,.pulse-visual[data-pulse-state=confirmation] .pulse-state-thinking,.pulse-visual[data-pulse-state=thinking] .pulse-state-thinking,.pulse-visual[data-pulse-state=action] .pulse-state-thinking,.pulse-visual[data-pulse-state=answered] .pulse-state-answered,.pulse-visual[data-pulse-state=success] .pulse-state-answered{opacity:.83;transform:scale(1)}.pulse-visual[data-pulse-state=thinking] .pulse-state-thinking,.pulse-visual[data-pulse-state=action] .pulse-state-thinking{animation:pulseThink 5s ease-in-out infinite}
.pulse-panel-tools>a{color:inherit;text-decoration:none}.pulse-balance{display:grid;justify-items:end;line-height:1}.pulse-balance b{font-size:.72rem}.pulse-balance small{margin-top:3px;color:rgba(235,241,237,.48);font-size:.5rem;text-transform:uppercase;letter-spacing:.08em}.pulse-panel-tools button,.pulse-panel-tools .pulse-history-link{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);color:#eef3f0}.pulse-panel-tools svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.pulse-conversation{position:relative;z-index:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:17px;padding:28px 20px 22px;scrollbar-width:thin;scrollbar-color:rgba(218,190,112,.23) transparent}.pulse-conversation article{display:grid;grid-template-columns:23px minmax(0,1fr);gap:10px;align-items:start;animation:pulseMessageIn .72s cubic-bezier(.2,.7,.2,1) both}.pulse-conversation article>span{width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(218,190,112,.25);border-radius:8px;color:#dbc27d;font-size:.5rem;font-weight:900;letter-spacing:.04em;background:rgba(255,255,255,.025)}.pulse-conversation p{max-width:92%;margin:0;padding:1px 0;color:rgba(243,247,244,.9);font-size:.78rem;line-height:1.68;white-space:pre-line;text-shadow:0 1px 18px rgba(0,0,0,.28)}.pulse-conversation article.user{align-self:flex-end;grid-template-columns:1fr;max-width:88%;text-align:right}.pulse-conversation article.user>span{display:none}.pulse-conversation article.user p{max-width:100%;color:#ead69e}.pulse-conversation article:nth-last-child(1){animation-delay:.05s}
.pulse-load-more{position:sticky;top:-18px;z-index:4;align-self:center;padding:7px 11px;border:1px solid rgba(218,190,112,.2);border-radius:999px;background:rgba(10,17,15,.78);color:#dfca91;font-size:.57rem;font-weight:800;backdrop-filter:blur(12px);cursor:pointer}.pulse-load-more[hidden]{display:none}.pulse-history-loader{display:flex;align-items:center;justify-content:center;gap:9px;margin:auto;color:rgba(235,241,237,.55);font-size:.62rem}.pulse-history-loader[hidden]{display:none}.pulse-history-loader i{width:13px;height:13px;border:1px solid rgba(218,190,112,.25);border-top-color:#dbc27d;border-radius:50%;animation:pulseHistorySpin .8s linear infinite}
.pulse-inline-action{display:inline-flex!important;margin-top:9px!important;padding:7px 10px!important;border:1px solid rgba(222,190,111,.27)!important;border-radius:10px!important;background:rgba(218,190,112,.08)!important;color:#e7cf91!important;backdrop-filter:blur(10px);font-size:.66rem!important}
.pulse-ask{position:relative;z-index:2;display:grid;grid-template-columns:36px minmax(0,1fr) 43px;gap:7px;margin:0 13px;padding:6px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.045);box-shadow:0 14px 35px rgba(0,0,0,.12);backdrop-filter:blur(14px);transition:border-color .2s,background .2s}.pulse-ask:focus-within{border-color:rgba(218,190,112,.4);background:rgba(255,255,255,.065)}.pulse-ask textarea{min-width:0;min-height:43px;max-height:112px;resize:none;padding:11px 9px;border:0;outline:0;background:transparent;color:#f5f7f6;font:inherit;font-size:.76rem;line-height:1.45}.pulse-ask textarea::placeholder{color:rgba(231,238,233,.4)}.pulse-ask button{display:grid;place-items:center;border:1px solid rgba(221,190,112,.35);border-radius:12px;background:rgba(218,190,112,.12);color:#ecd797;transition:.2s}.pulse-ask button:hover{background:rgba(218,190,112,.2);transform:translateY(-1px)}.pulse-ask svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}.pulse-ask .pulse-attach{align-self:end;width:36px;height:43px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:rgba(238,243,240,.7)}.pulse-staged-file{grid-column:1/-1;display:grid;grid-template-columns:34px minmax(0,1fr) 27px;align-items:center;gap:9px;padding:8px 9px;border:1px solid rgba(218,190,112,.2);border-radius:12px;background:rgba(218,190,112,.065)}.pulse-staged-file[hidden]{display:none}.pulse-staged-file>span{display:grid;place-items:center;width:34px;height:30px;border-radius:8px;background:rgba(218,190,112,.12);color:#e7cf91;font-size:.47rem;font-weight:900;letter-spacing:.08em}.pulse-staged-file>div{display:grid;min-width:0}.pulse-staged-file strong{overflow:hidden;color:#f0e4c4;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.pulse-staged-file small{margin-top:2px;color:rgba(235,241,237,.48);font-size:.52rem}.pulse-ask .pulse-staged-file button{width:27px;height:27px;padding:0;border-color:rgba(255,255,255,.08);background:transparent;color:rgba(238,243,240,.58);font-size:1rem}.pulse-panel.is-file-dragging:after{content:"Drop file here · it will stay staged until you send an instruction";position:absolute;inset:10px;z-index:20;display:grid;place-items:center;padding:2rem;border:1px dashed rgba(234,204,129,.65);border-radius:20px;background:rgba(9,15,13,.9);color:#ecd797;font-size:.72rem;font-weight:800;line-height:1.5;text-align:center;backdrop-filter:blur(18px);pointer-events:none}
.pulse-ask:has(textarea:disabled){border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025);box-shadow:none}.pulse-ask textarea:disabled{cursor:not-allowed;color:rgba(235,241,237,.38)}.pulse-ask button:disabled{cursor:not-allowed;border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:rgba(235,241,237,.22);transform:none}.pulse-recharge-note{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 16px 0;padding:9px 11px;border:1px solid rgba(218,190,112,.19);border-radius:12px;background:rgba(218,190,112,.065);color:rgba(243,247,244,.7);font-size:.6rem;line-height:1.4}.pulse-recharge-note[hidden]{display:none}.pulse-recharge-note a{flex:0 0 auto;color:#ead18e;font-weight:800;text-decoration:none}.pulse-recharge-note small{color:rgba(243,247,244,.48);font-size:.56rem;text-align:right}
.pulse-cost-note{position:relative;z-index:2;margin:9px 17px 13px;color:rgba(229,236,231,.4);font-size:.54rem;line-height:1.4}
.pulse-confirm{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:1rem;background:rgba(4,8,7,.66);backdrop-filter:blur(10px)}.pulse-confirm>div{width:min(460px,100%);padding:1.5rem;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(16,23,21,.87);color:#eef3f0;box-shadow:0 30px 90px rgba(0,0,0,.38);backdrop-filter:blur(25px)}.pulse-confirm h3{margin:.4rem 0}.pulse-confirm p{color:rgba(232,239,234,.66)}.pulse-confirm footer{display:flex;gap:.6rem;justify-content:flex-end;margin-top:18px}.pulse-confirm button{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.05);color:#eef3f0;font-weight:800}.pulse-confirm .confirm{border-color:rgba(218,190,112,.35);background:rgba(218,190,112,.16);color:#ecd797}
@keyframes pulseSignal{0%,100%{opacity:.55;box-shadow:0 0 8px rgba(218,190,112,.45)}50%{opacity:1;box-shadow:0 0 18px rgba(218,190,112,.95)}}@keyframes pulseThink{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.14)}}@keyframes pulseMessageIn{from{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes pulseHistorySpin{to{transform:rotate(360deg)}}
@media(max-width:640px){.pulse-launcher{width:58px;height:58px;grid-template-columns:1fr;padding:6px;border-radius:18px}.pulse-launcher-portrait{width:44px;height:44px;margin:auto}.pulse-launcher-copy,.pulse-launcher-signal{display:none}.pulse-panel{width:calc(100vw - 20px);height:min(620px,var(--pulse-panel-max-height,calc(100dvh - 104px)));border-radius:22px}.pulse-conversation{padding:22px 16px 18px}.pulse-cost-note{margin-bottom:11px}}
@media(prefers-reduced-motion:reduce){.pulse-launcher-signal,.pulse-state-image,.pulse-conversation article{animation:none!important;transition:none!important}}
.pulse-panel-tools button,.pulse-panel-tools .pulse-history-link{cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.pulse-panel-tools button:hover,.pulse-panel-tools .pulse-history-link:hover{border-color:rgba(218,190,112,.32);background:rgba(218,190,112,.09);color:#ecd797}.pulse-panel-tools svg{stroke-linecap:round;stroke-linejoin:round}
.pulse-ask{grid-template-columns:36px minmax(0,1fr) 36px 43px}
.pulse-ask .pulse-mic{align-self:end;width:36px;min-height:43px;cursor:pointer}
.pulse-ask .pulse-mic.is-listening{color:#fff2d1;background:rgba(218,190,112,.28);border-color:#dabe70;box-shadow:0 0 0 3px rgba(218,190,112,.12);animation:pulseVoiceGlow 1.8s ease-in-out infinite}
.pulse-voice-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 5px;color:#d4cebf;font-size:.68rem;line-height:1.45}
.pulse-voice-bar span{min-width:0;overflow-wrap:anywhere}
.pulse-voice-bar select{max-width:90px;flex:0 0 auto;padding:5px;border:1px solid rgba(218,190,112,.2);border-radius:8px;background:#1b211e;color:#e9dfc4;font:inherit}
.pulse-voice-privacy{grid-column:1/-1;padding:0 5px 3px;color:#b5bcb7;font-size:.64rem;line-height:1.5}
.pulse-voice-privacy summary{cursor:pointer}.pulse-voice-privacy small{display:block;margin-top:4px;font-size:inherit}
.pulse-ask textarea[readonly]{color:#ead69e}
@keyframes pulseVoiceGlow{50%{box-shadow:0 0 0 5px rgba(218,190,112,.06)}}
@media(max-width:380px){.pulse-ask{grid-template-columns:32px minmax(0,1fr) 32px 36px;gap:4px;margin-inline:9px}.pulse-ask .pulse-mic,.pulse-ask .pulse-attach{width:32px}.pulse-ask textarea{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.pulse-ask .pulse-mic.is-listening{animation:none}}
