/* Blueprint widget — self-contained styles */
.bp-launcher{position:fixed;right:20px;bottom:20px;z-index:99998;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;background:var(--bp-brand,#1E5EFF);color:#fff;border-radius:999px;font:600 13.5px/1 -apple-system,Segoe UI,Roboto,Inter,sans-serif;box-shadow:0 10px 28px rgba(11,37,69,.22);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,padding .2s ease;-webkit-font-smoothing:antialiased;overflow:hidden;position:fixed}
.bp-launcher:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 36px rgba(11,37,69,.28)}
.bp-launcher svg{opacity:.95;position:relative;z-index:2}
.bp-launcher-label{position:relative;z-index:2}
.bp-launcher-pulse{position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent 60%);animation:bpPulseGlow 3s ease-in-out infinite}
@keyframes bpPulseGlow{0%,100%{opacity:.4}50%{opacity:.9}}
.bp-launcher:before{content:"";position:absolute;inset:-3px;border-radius:999px;border:2px solid var(--bp-brand,#1E5EFF);opacity:0;animation:bpRing 2.4s ease-out infinite}
@keyframes bpRing{0%{opacity:.6;transform:scale(.95)}100%{opacity:0;transform:scale(1.25)}}
.bp-modal-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(11,37,69,.5);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:bpFade .25s ease}
@keyframes bpFade{from{opacity:0}to{opacity:1}}
.bp-modal{width:100%;max-width:560px;max-height:92vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px rgba(11,37,69,.35);display:flex;flex-direction:column;font:14px/1.5 -apple-system,Segoe UI,Roboto,Inter,sans-serif;color:#1A1A1A;animation:bpSlide .35s cubic-bezier(.2,.8,.2,1)}
@keyframes bpSlide{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.bp-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #EEF1F6;background:#fff;flex:0 0 auto}
.bp-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0B2545,var(--bp-brand,#1E5EFF));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;animation:bpBreath 4s ease-in-out infinite}
@keyframes bpBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.bp-meta{flex:1;min-width:0}
.bp-name{font-weight:700;color:#0B2545;font-size:14px}
.bp-sub{color:#5C6B7A;font-size:12px}
.bp-close{background:none;border:0;font-size:22px;color:#5C6B7A;cursor:pointer;line-height:1;padding:4px 8px;border-radius:8px}
.bp-close:hover{background:#F4F6FA;color:#0B2545}
.bp-progress{height:3px;background:#EEF1F6;flex:0 0 auto}
.bp-progress-bar{height:100%;background:linear-gradient(90deg,var(--bp-brand,#1E5EFF),#5C8FFF,var(--bp-brand,#1E5EFF));background-size:200% 100%;width:0%;transition:width .45s cubic-bezier(.2,.8,.2,1);animation:bpShimmer 2.5s linear infinite}
@keyframes bpShimmer{from{background-position:0% 0}to{background-position:200% 0}}
.bp-textarea{width:100%;min-height:74px;padding:11px 13px;border:1.5px solid #E1E6EF;border-radius:12px;font:inherit;font-size:13.5px;color:#0B2545;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;resize:vertical;line-height:1.5}
.bp-textarea:focus{border-color:var(--bp-brand,#1E5EFF);box-shadow:0 0 0 3px rgba(30,94,255,.12)}
.bp-helper{font-size:11.5px;color:#5C6B7A;margin:6px 0 0;font-style:italic}
.bp-body{padding:20px 18px 12px;overflow-y:auto;flex:1 1 auto}
.bp-bubble{background:#F4F6FA;padding:12px 14px;border-radius:14px 14px 14px 4px;margin:0 0 8px;font-size:14px;color:#0B2545;line-height:1.5;animation:bpBubbleIn .4s cubic-bezier(.2,.8,.2,1);transform-origin:left bottom}
.bp-bubble strong{color:#0B2545}
@keyframes bpBubbleIn{from{transform:translateY(8px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.bp-bubble.confirm{background:linear-gradient(135deg,#EFF8F2,#E0F1E8);border-left:3px solid #1F8F5F}
.bp-typing{display:inline-flex;gap:4px;padding:12px 14px;background:#F4F6FA;border-radius:14px;margin:0 0 8px}
.bp-typing span{width:6px;height:6px;background:#5C6B7A;border-radius:50%;animation:bpDot 1.2s infinite ease-in-out}
.bp-typing span:nth-child(2){animation-delay:.15s}.bp-typing span:nth-child(3){animation-delay:.3s}
@keyframes bpDot{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}
.bp-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.bp-options.one{grid-template-columns:1fr}
.bp-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;background:#fff;border:1.5px solid #E1E6EF;border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .2s ease;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}
.bp-card:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--bp-brand,#1E5EFF);transform:scaleY(0);transform-origin:bottom;transition:transform .25s ease}
.bp-card:hover{border-color:var(--bp-brand,#1E5EFF);background:#F8FAFF;transform:translateY(-2px);box-shadow:0 6px 16px rgba(30,94,255,.08)}
.bp-card:hover:before{transform:scaleY(1)}
.bp-card.selected{border-color:var(--bp-brand,#1E5EFF);background:#EFF4FF;box-shadow:0 0 0 3px rgba(30,94,255,.15)}
.bp-card.selected:before{transform:scaleY(1)}
.bp-card.selected:after{content:"✓";position:absolute;right:10px;top:10px;width:20px;height:20px;background:var(--bp-brand,#1E5EFF);color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:bpPop .25s cubic-bezier(.2,.8,.2,1)}
@keyframes bpPop{from{transform:scale(0)}to{transform:scale(1)}}
.bp-card-label{font-weight:600;color:#0B2545;font-size:13px}
.bp-card-sub{font-size:11.5px;color:#5C6B7A}
.bp-input{width:100%;padding:12px 14px;border:1.5px solid #E1E6EF;border-radius:12px;font:inherit;font-size:14px;color:#0B2545;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}
.bp-input:focus{border-color:var(--bp-brand,#1E5EFF);box-shadow:0 0 0 3px rgba(30,94,255,.12)}
.bp-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#5C6B7A;margin-top:10px;cursor:pointer;line-height:1.4}
.bp-checkbox input{margin-top:2px;accent-color:var(--bp-brand,#1E5EFF)}
.bp-footer{padding:12px 18px 16px;border-top:1px solid #EEF1F6;background:#fff;flex:0 0 auto}
.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 18px;background:var(--bp-brand,#1E5EFF);color:#fff;border:0;border-radius:12px;font:600 14px/1 inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}
.bp-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(30,94,255,.28)}
.bp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.bp-btn-ghost{background:transparent;color:var(--bp-brand,#1E5EFF);border:1.5px solid #E1E6EF}
.bp-time{font-size:11.5px;color:#5C6B7A;text-align:center;margin-top:6px}
.bp-scan-list{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.bp-scan-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#F4F6FA;border-radius:10px;font-size:13px;color:#5C6B7A;transition:all .25s ease}
.bp-scan-row.done{background:#E8F8EE;color:#1F8F5F}
.bp-scan-row.active{background:#EFF4FF;color:#0B2545}
.bp-scan-row .bp-dot{width:14px;height:14px;border-radius:50%;border:2px solid #C9D1DC;flex:0 0 14px;position:relative}
.bp-scan-row.active .bp-dot{border-color:var(--bp-brand,#1E5EFF);border-top-color:transparent;animation:bpSpin .8s linear infinite}
.bp-scan-row.done .bp-dot{background:#1F8F5F;border-color:#1F8F5F}
.bp-scan-row.done .bp-dot:after{content:"";position:absolute;left:3px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@keyframes bpSpin{to{transform:rotate(360deg)}}
.bp-reveal{padding:4px}
.bp-headline{font:700 22px/1.25 Georgia,serif;color:#0B2545;margin:0 0 8px}
.bp-anchor{font-size:12.5px;color:#5C6B7A;margin:8px 0}
.bp-price{font:700 28px/1 -apple-system,Inter,sans-serif;color:#0B2545;margin:4px 0 16px;letter-spacing:-.5px}
.bp-price small{font-size:13px;font-weight:500;color:#5C6B7A;display:block;margin-top:4px}
.bp-section{margin:18px 0;padding:14px;background:#F8FAFF;border-radius:12px;border-left:3px solid var(--bp-brand,#1E5EFF)}
.bp-section h4{font:700 13px/1.3 inherit;color:#0B2545;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}
.bp-section ul{margin:0;padding:0 0 0 18px;font-size:13px;color:#1A1A1A;line-height:1.5}
.bp-section li{margin:4px 0}
.bp-edge{margin:18px 0;padding:18px;background:linear-gradient(135deg,#0B2545,#163A6B);color:#fff;border-radius:14px;border:1px solid #C8A24B}
.bp-edge h4{margin:0 0 8px;font:700 13px/1 inherit;color:#C8A24B;text-transform:uppercase;letter-spacing:.8px}
.bp-edge-title{font:700 17px/1.3 Georgia,serif;margin:0 0 8px}
.bp-edge-pitch{font-size:13.5px;line-height:1.5;opacity:.95}
.bp-edge-meta{font-size:12px;color:#C8A24B;margin-top:10px;font-style:italic}
.bp-edge-react{display:flex;gap:8px;margin-top:14px}
.bp-edge-react button{flex:1;padding:9px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;font:600 12px/1 inherit;cursor:pointer;transition:all .12s ease}
.bp-edge-react button:hover{background:rgba(255,255,255,.2)}
.bp-edge-react button.picked{background:#C8A24B;border-color:#C8A24B;color:#0B2545}
.bp-roi{margin:14px 0;padding:14px;background:#FFFBEC;border:1px solid #F0DEA5;border-radius:12px}
.bp-roi-title{font:700 11.5px/1 inherit;color:#8C6C20;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.bp-roi-amount{font:700 18px/1 -apple-system,Inter,sans-serif;color:#0B2545}
.bp-roi-note{font-size:11.5px;color:#5C6B7A;margin-top:4px}
.bp-cta-stack{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.bp-multi-actions{display:flex;gap:8px;margin-top:12px}
.bp-multi-actions .bp-btn-ghost{flex:0 0 auto;width:auto;padding:10px 16px}
.bp-skip{background:none;border:0;color:#5C6B7A;font-size:12px;cursor:pointer;text-decoration:underline;margin-top:8px}
.bp-error{padding:10px 12px;background:#FEEFEF;border:1px solid #F4C7C7;border-radius:10px;color:#8B1F1F;font-size:12.5px;margin-top:8px}
@media (max-width:480px){.bp-options{grid-template-columns:1fr}.bp-modal{max-height:96vh;border-radius:14px}.bp-launcher span{display:none}.bp-launcher{padding:14px;border-radius:50%}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
