.kra-fab{position:fixed;bottom:24px;right:24px;z-index:900;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--gd),var(--gd2));color:#000;font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;padding:14px 22px;border:none;border-radius:100px;cursor:pointer;box-shadow:0 8px 32px rgba(184,145,42,.45);transition:transform .2s,box-shadow .2s}
.kra-fab:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(184,145,42,.6)}
.kra-fab .kra-pulse{width:8px;height:8px;border-radius:50%;background:#000;position:relative}
.kra-fab .kra-pulse::after{content:'';position:absolute;inset:-4px;border-radius:50%;background:rgba(0,0,0,.35);animation:kraPulse 1.8s infinite}
@keyframes kraPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@media(max-width:620px){.kra-fab{bottom:16px;right:16px;padding:12px 18px;font-size:12px}}
.kra-overlay{position:fixed;inset:0;z-index:1000;background:rgba(3,7,15,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.kra-overlay.open{display:flex;opacity:1}
.kra-modal{width:100%;max-width:520px;height:min(680px,90vh);background:var(--nv2);border:1px solid var(--b);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.7);transform:translateY(12px);transition:transform .25s}
.kra-overlay.open .kra-modal{transform:translateY(0)}
.kra-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--b);background:var(--nv3);flex-shrink:0}
.kra-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--gd),var(--gd2));display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.kra-htext{flex:1;min-width:0}
.kra-htitle{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;color:var(--tx);letter-spacing:-.01em}
.kra-hstatus{font-size:11px;color:var(--gr);display:flex;align-items:center;gap:5px;margin-top:1px}
.kra-hdot{width:6px;height:6px;border-radius:50%;background:var(--gr);box-shadow:0 0 8px var(--gr)}
.kra-close{background:none;border:none;color:var(--mu);font-size:22px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s}
.kra-close:hover{color:var(--tx)}
.kra-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.kra-body::-webkit-scrollbar{width:6px}.kra-body::-webkit-scrollbar-thumb{background:var(--b);border-radius:3px}
.kra-msg{display:flex;gap:10px;max-width:92%;animation:kraFade .3s ease}
@keyframes kraFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.kra-msg.bot{align-self:flex-start}
.kra-msg.user{align-self:flex-end;flex-direction:row-reverse}
.kra-bub{padding:12px 15px;border-radius:14px;font-size:13.5px;line-height:1.55;font-weight:300;color:var(--tx)}
.kra-msg.bot .kra-bub{background:var(--nv3);border:1px solid var(--b);border-top-left-radius:4px}
.kra-msg.user .kra-bub{background:linear-gradient(135deg,var(--gd),var(--gd2));color:#000;font-weight:500;border-top-right-radius:4px}
.kra-bub strong{font-weight:700;color:var(--gd2)}
.kra-msg.user .kra-bub strong{color:#000}
.kra-bub em{font-style:normal;color:var(--gr);font-weight:600}
.kra-typing{display:flex;gap:4px;padding:14px 16px;background:var(--nv3);border:1px solid var(--b);border-radius:14px;border-top-left-radius:4px;width:fit-content}
.kra-typing span{width:7px;height:7px;border-radius:50%;background:var(--mu);animation:kraBounce 1.3s infinite}
.kra-typing span:nth-child(2){animation-delay:.2s}.kra-typing span:nth-child(3){animation-delay:.4s}
@keyframes kraBounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}
.kra-opts{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.kra-opt{text-align:left;background:var(--nv3);border:1px solid var(--b);color:var(--tx);font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:500;padding:12px 15px;border-radius:10px;cursor:pointer;transition:all .15s;line-height:1.4}
.kra-opt:hover{border-color:rgba(184,145,42,.5);background:rgba(184,145,42,.08);transform:translateX(2px)}
.kra-file{background:linear-gradient(160deg,rgba(184,145,42,.12),rgba(184,145,42,.03));border:1px solid rgba(184,145,42,.35);border-radius:14px;padding:18px;margin-top:2px}
.kra-file-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(184,145,42,.2)}
.kra-file-t{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;color:var(--gd2);letter-spacing:-.01em}
.kra-file-badge{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gr);background:var(--gr2);border:1px solid rgba(0,186,124,.25);border-radius:100px;padding:4px 10px}
.kra-op{display:flex;align-items:flex-start;gap:11px;padding:9px 0}
.kra-op-ic{width:26px;height:26px;border-radius:7px;background:var(--nv3);border:1px solid var(--b);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.kra-op-txt{flex:1;min-width:0}
.kra-op-name{font-size:13px;font-weight:600;color:var(--tx)}
.kra-op-desc{font-size:11.5px;color:var(--mu);font-weight:300;line-height:1.4;margin-top:1px}
.kra-op-val{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--gd2);white-space:nowrap}
.kra-total{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:14px;border-top:1px solid rgba(184,145,42,.25)}
.kra-total-l{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.kra-total-v{font-family:'IBM Plex Mono',monospace;font-size:24px;font-weight:600;color:#fff}
.kra-calc{background:var(--nv3);border:1px solid var(--b);border-radius:12px;padding:16px;margin-top:2px}
.kra-calc-row{margin-bottom:14px}
.kra-calc-row:last-child{margin-bottom:0}
.kra-calc-lbl{display:flex;justify-content:space-between;font-size:12px;color:var(--mu);margin-bottom:8px}
.kra-calc-lbl b{color:var(--tx);font-family:'IBM Plex Mono',monospace}
.kra-range{width:100%;-webkit-appearance:none;height:5px;border-radius:3px;background:var(--b);outline:none}
.kra-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gd2);cursor:pointer;box-shadow:0 2px 8px rgba(184,145,42,.5)}
.kra-range::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--gd2);cursor:pointer}
.kra-calc-out{text-align:center;padding:14px;background:linear-gradient(135deg,rgba(184,145,42,.1),transparent);border-radius:10px;margin-top:6px}
.kra-calc-out .l{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.kra-calc-out .v{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--gd2);margin-top:4px}
.kra-success{text-align:center;padding:24px 12px;animation:kraFade .4s ease}
.kra-success-ic{width:64px;height:64px;border-radius:50%;background:var(--gr2);border:2px solid var(--gr);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;animation:kraPop .5s cubic-bezier(.2,1.4,.5,1)}
@keyframes kraPop{from{transform:scale(0)}to{transform:scale(1)}}
.kra-success h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--tx);margin-bottom:8px}
.kra-success h3 em{font-style:italic;color:var(--gd2)}
.kra-success p{font-size:13.5px;color:var(--mu);font-weight:300;line-height:1.6;max-width:340px;margin:0 auto 20px}
.kra-foot{flex-shrink:0;padding:14px 20px;border-top:1px solid var(--b);background:var(--nv3)}
.kra-cta{display:block;width:100%;text-align:center;background:linear-gradient(135deg,var(--gd),var(--gd2));color:#000;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:700;padding:15px;border:none;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .15s;text-decoration:none}
.kra-cta:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(184,145,42,.5)}
.kra-restart{display:block;width:100%;text-align:center;background:none;border:none;color:var(--mu);font-size:12px;font-weight:500;padding:10px;cursor:pointer;margin-top:4px;transition:color .15s}
.kra-restart:hover{color:var(--tx)}
.kra-disc{font-size:10px;color:var(--mu2);text-align:center;line-height:1.5;padding:10px 20px 4px}
.kra-graph-note{font-size:10px;color:var(--bl2);text-align:center;padding:6px 20px 0;opacity:.7}
