.bai-trigger{display:inline-flex;align-items:center;gap:9px;border:0;background:#161c1d;color:white;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;padding:13px 21px;border-radius:11px;cursor:pointer;margin:13px 0;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:transform .2s,background .2s}
.bai-trigger:hover{background:#333b3d;transform:translateY(-1px);color:white}.bai-sparkle{color:#b7eec7;font-size:20px}
.bai-overlay[hidden],.bai-stage[hidden]{display:none!important}
.bai-overlay{position:fixed;inset:0;z-index:2147482000;background:rgba(9,12,16,.56);backdrop-filter:blur(5px);display:flex;justify-content:flex-end;align-items:stretch;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1a2224}
body.bai-modal-open{overflow:hidden}
.bai-overlay *{box-sizing:border-box}
.bai-panel{width:min(480px,100vw);height:100%;overflow:auto;background:#fff;box-shadow:-28px 0 65px rgba(0,0,0,.14);outline:0;animation:bai-in .25s ease-out}
@keyframes bai-in{from{transform:translateX(30px);opacity:.7}to{transform:none;opacity:1}}
.bai-head{display:flex;justify-content:space-between;align-items:flex-start;padding:27px 28px 21px;border-bottom:1px solid #edf0f0;gap:12px}
.bai-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#70847c}.bai-head h2{font-size:25px;letter-spacing:-.8px;margin:5px 0 2px;color:#1a2224;font-weight:750;line-height:1.2}.bai-head h2 span{color:#69af79}.bai-head p{font-size:13px;color:#77807e;margin:4px 0 0}
.bai-close{border:1px solid #e6ebea!important;background:white!important;width:36px;height:36px;border-radius:50%!important;color:#364342!important;font-size:26px!important;line-height:1!important;cursor:pointer;padding:0!important}
.bai-stage{padding:28px 28px 32px;text-align:center}.bai-step{display:flex;align-items:center;justify-content:center;gap:10px;color:#607f70;font-weight:800;font-size:12px;letter-spacing:1px}.bai-step-line{height:1px;width:39px;background:#d7e3dc}
.bai-product{margin:25px auto 16px;display:flex;align-items:center;justify-content:center;min-height:125px;max-height:180px}.bai-product img{width:auto;max-width:65%;max-height:170px;object-fit:contain;border-radius:12px;border:1px solid #eee}
.bai-stage h3{font-size:20px;line-height:1.3;margin:13px 0 8px;letter-spacing:-.45px;font-weight:700;color:#192225}.bai-stage p{font-size:13px;color:#6d7776;line-height:1.7;margin:9px 0 20px}
.bai-choose{display:flex!important;align-items:center;justify-content:center;gap:8px;background:#17201e;color:white!important;border-radius:30px;margin:18px 0 8px;cursor:pointer;padding:15px 18px;font-weight:700;font-size:14px}.bai-choose span{font-size:19px;line-height:1}.bai-file-info{font-size:12px;color:#69766f;min-height:20px;word-break:break-word}
.bai-consent{display:flex!important;gap:9px;text-align:left;font-size:12px;font-weight:400;color:#52615a;line-height:1.5;margin:20px 0}.bai-consent input{margin:2px 0 0;accent-color:#294b3d;min-width:16px;width:16px;height:16px}
.bai-primary,.bai-secondary{display:inline-flex!important;align-items:center;justify-content:center;border-radius:11px!important;min-height:47px;padding:12px 16px!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;cursor:pointer!important;line-height:1.2!important}.bai-primary{background:#151d1b!important;color:white!important;border:1px solid #151d1b!important;width:100%}.bai-primary:disabled{opacity:.4;cursor:not-allowed!important}.bai-secondary{background:white!important;color:#26352e!important;border:1px solid #d7e1d9!important}
.bai-stage p.bai-disclaimer{font-size:11px;color:#98a19e;line-height:1.65;margin:14px 0}
.bai-anim{height:220px;display:flex;align-items:center;justify-content:center;gap:13px}.bai-anim span{width:17px;height:17px;background:#b4daba;border-radius:50%;animation:bai-pulse 1.1s infinite ease-in-out}.bai-anim span:nth-child(2){animation-delay:.16s}.bai-anim span:nth-child(3){animation-delay:.32s}@keyframes bai-pulse{0%,70%,100%{transform:scale(.65);opacity:.45}40%{transform:scale(1.3);opacity:1}}
.bai-result-label{font-size:11px;color:#527f60;letter-spacing:1.7px;font-weight:800;margin-bottom:14px}.bai-result-label span{font-size:18px}.bai-result-image{background:#f7f8f7;border-radius:14px;padding:8px;max-height:490px;overflow:hidden}.bai-result-image img{display:block;max-height:470px;width:100%;object-fit:contain;border-radius:9px}.bai-result p{margin:12px 0 18px!important}.bai-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.bai-link{width:auto!important}.bai-product-link{display:inline-block;margin-top:17px;font-size:14px;font-weight:700;text-decoration:underline;color:#315640}
.bai-error-sign{height:54px;width:54px;border-radius:50%;display:grid;place-items:center;background:#fceded;color:#b42d38;font-size:27px;font-weight:700;margin:25px auto 16px}
@media(max-width:600px){.bai-overlay{background:white}.bai-panel{width:100%;box-shadow:none}.bai-head{padding:20px 20px 17px}.bai-stage{padding:24px 20px 36px}.bai-result-image{max-height:60vh}.bai-result-image img{max-height:57vh}}
/* v0.1.2: first-class local customer image preview */
.bai-upload-intro h3{margin-top:18px}.bai-upload-intro p{margin-bottom:13px}
.bai-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-items:stretch;margin:16px auto 14px}
.bai-compare-card{min-width:0;min-height:162px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:1px solid #e5eae7;background:#f8faf8;border-radius:16px;padding:9px 7px}
.bai-mini-label{font-size:10px;color:#627a6a;font-weight:800;letter-spacing:1.25px;margin:3px auto 6px}
.bai-compare-card .bai-product{margin:0;max-height:145px;min-height:110px;width:100%;display:flex;align-items:center;justify-content:center}
.bai-compare-card .bai-product img{max-height:138px;max-width:95%;border:0;border-radius:9px}
.bai-photo-frame{display:flex;align-items:center;justify-content:center;width:100%;min-height:110px;max-height:145px}
.bai-photo-frame img{display:block;max-height:138px;max-width:100%;width:auto;object-fit:contain;border-radius:9px;box-shadow:0 2px 12px #d4dbd5}
.bai-compare-grid:has(.bai-preview-card[hidden]){grid-template-columns:1fr}
.bai-compare-grid:has(.bai-preview-card[hidden]) .bai-compare-card{max-width:190px;width:100%;justify-self:center}
.bai-photo-drop{border:1.5px dashed #cfdbd2;border-radius:16px;padding:8px;background:#fbfdfb;transition:background .2s,border-color .2s}
.bai-photo-drop.bai-dragging{background:#e9f5ed;border-color:#6f9f7d}
.bai-photo-drop .bai-choose{margin:3px 0 5px}.bai-stage p.bai-drop-caption{font-size:11px;color:#82958a;margin:4px 0 3px}
.bai-file-info{margin-top:9px;line-height:1.45}.bai-file-info.bai-file-error{color:#b42318}
.bai-remove-photo{display:block;min-height:27px;border:0!important;background:none!important;color:#687e71!important;text-decoration:underline!important;cursor:pointer;font-size:12px!important;padding:3px 10px!important;margin:3px auto 0!important}
.bai-compare-grid:has(.bai-preview-card[hidden])~.bai-remove-photo{display:none}
.bai-notice{display:flex;flex-direction:column;gap:5px;text-align:left;background:#e9f4ec;border:1px solid #cce4d1;border-radius:12px;margin:16px 0 10px;padding:12px 14px;color:#28523a;font-size:12px;line-height:1.5}
.bai-notice strong{font-size:11px;letter-spacing:.7px}.bai-notice[hidden]{display:none!important}
.bai-result-mock{margin:0 0 12px}.bai-go-hint{font-size:11px!important;color:#799284!important;margin:7px 0 0!important}
.bai-processing-pair{display:flex;align-items:center;justify-content:center;gap:15px;margin:-10px auto 12px;max-width:330px}
.bai-processing-pair>div{width:120px;height:136px;border:1px solid #e6ece8;border-radius:14px;background:#f7faf8;display:grid;place-items:center;padding:5px;overflow:hidden}
.bai-processing-pair img{max-width:100%;max-height:100%;object-fit:contain;border-radius:9px}.bai-processing-arrow{font-size:25px;color:#76ae8b}
@media(max-width:600px){.bai-compare-grid{gap:8px}.bai-compare-card{min-height:135px}.bai-compare-card .bai-product,.bai-photo-frame{min-height:100px;max-height:120px}.bai-compare-card .bai-product img,.bai-photo-frame img{max-height:115px}.bai-photo-drop{padding:6px}}
.bai-preview-card[hidden]{display:none!important}

/* v0.1.3: direct camera capture, responsive on desktop and mobile. */
.bai-camera-panel[hidden],.bai-native-camera[hidden]{display:none!important}
.bai-photo-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:stretch}
.bai-photo-drop .bai-choose{margin:3px 0 5px!important;border-radius:13px!important;min-height:49px;padding:12px 9px!important;font-size:13px!important;white-space:nowrap}
.bai-camera-button{display:flex!important;gap:7px;align-items:center;justify-content:center;min-height:49px!important;border:1px solid #cfdbd2!important;border-radius:13px!important;background:white!important;color:#20392b!important;font-size:13px!important;font-weight:700!important;padding:12px 8px!important;cursor:pointer!important;margin:3px 0 5px!important;line-height:1.35!important;text-align:center}
.bai-camera-button:hover,.bai-camera-button:focus-visible{background:#eef7f0!important;border-color:#87b998!important;color:#1c4f2a!important}
.bai-camera-panel{border:1px solid #dce6df;border-radius:15px;margin:13px 0 10px;padding:12px;background:#f6faf7;box-shadow:0 4px 18px rgba(22,51,29,.06)}
.bai-camera-heading{display:flex;align-items:flex-start;gap:4px;flex-direction:column;text-align:left;margin-bottom:9px;color:#223f30}
.bai-camera-heading strong{font-size:14px}.bai-camera-heading span{font-size:11px;color:#67786e;line-height:1.5}
.bai-camera-view{background:#15221c;border-radius:12px;overflow:hidden;position:relative;min-height:180px;max-height:min(49vh,460px);display:flex;align-items:center;justify-content:center}
.bai-camera-view video{display:block;width:100%;height:auto;max-height:min(49vh,460px);object-fit:contain;background:#15221c}
.bai-camera-view video.bai-camera-mirrored{transform:scaleX(-1)}
.bai-stage p.bai-camera-status{font-size:12px;line-height:1.5;margin:9px 0;color:#42594a;min-height:18px}
.bai-stage p.bai-camera-status.bai-camera-error{color:#a52323}
.bai-camera-actions{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:7px}
.bai-camera-actions button,.bai-native-camera{border-radius:10px!important;min-height:42px!important;cursor:pointer!important;padding:9px 6px!important;line-height:1.3!important;font-weight:700!important;font-size:12px!important}
.bai-camera-snapshot{background:#19251e!important;color:white!important;border:1px solid #19251e!important}
.bai-camera-snapshot:disabled{opacity:.42!important;cursor:not-allowed!important}
.bai-camera-control,.bai-native-camera{background:white!important;color:#2e4535!important;border:1px solid #ccdbcf!important}
.bai-native-camera{display:block;width:100%;margin-top:10px!important}
@media(max-width:410px){.bai-photo-choices{grid-template-columns:1fr}.bai-photo-drop .bai-choose,.bai-camera-button{margin:2px 0!important}.bai-camera-actions{grid-template-columns:1fr 1fr}.bai-camera-snapshot{grid-column:1/-1}}
@media(max-width:600px){.bai-camera-view,.bai-camera-view video{max-height:43vh}.bai-camera-panel{padding:10px}}

/* v0.2.0 owner branding and purchase CTA */
.bai-trigger{background:var(--bai-primary,#182723)!important}.bai-trigger:hover{filter:brightness(1.15)}
.bai-sparkle,.bai-head h2 span{color:var(--bai-accent,#68b47d)!important}
.bai-primary,.bai-choose,.bai-camera-snapshot{background:var(--bai-primary,#182723)!important;border-color:var(--bai-primary,#182723)!important}
.bai-brand-logo{max-height:42px;max-width:150px;object-fit:contain;margin-bottom:9px}
.bai-purchase{display:block!important;margin:14px auto 0!important}
.bai-purchase[hidden],.bai-brand-logo[hidden]{display:none!important}
form.cart.bai-cart-highlight{outline:3px solid var(--bai-accent,#68b47d);outline-offset:9px;border-radius:9px}

/* White-label color controls from the frontend dashboard. */
.bai-trigger,.bai-choose,.bai-camera-button,.bai-camera-snapshot,.bai-primary,.bai-photo-choices .bai-upload-button{background:var(--bai-primary,#182723)!important;border-color:var(--bai-primary,#182723)!important}
.bai-trigger:hover,.bai-camera-button:hover{filter:brightness(1.12)}
.bai-sparkle,.bai-head h2 span,.bai-result-label,.bai-step,.bai-eyebrow{color:var(--bai-accent,#68b47d)!important}
.bai-consent input,.bai-camera-view input{accent-color:var(--bai-accent,#68b47d)}
.bai-primary:disabled{opacity:.4}

/* Owner-defined visual watermark on preview, not exported/burned into result file. */
.bai-watermark-wrap{position:relative}.bai-owner-watermark{position:absolute;z-index:3;right:16px;bottom:16px;color:#fff;background:rgba(12,25,19,.48);padding:7px 12px;font-size:12px;letter-spacing:.04em;font-weight:800;border-radius:7px;backdrop-filter:blur(3px);pointer-events:none;max-width:80%;overflow-wrap:anywhere;text-align:center}
.bai-owner-watermark[data-position="top-left"]{left:16px;right:auto;top:16px;bottom:auto}.bai-owner-watermark[data-position="top-right"]{top:16px;bottom:auto}.bai-owner-watermark[data-position="bottom-left"]{left:16px;right:auto}
/* 0.3.1: maintain a contrasting camera button after global white-label color overrides. */
.bai-overlay .bai-photo-choices #bai-open-camera,
.bai-overlay .bai-photo-choices #bai-open-camera:hover,
.bai-overlay .bai-photo-choices #bai-open-camera:focus-visible{
 background:#f5fcf7!important;color:#153c2b!important;-webkit-text-fill-color:#153c2b!important;
 border:2px solid #628b70!important;box-shadow:inset 0 0 0 1px #fff,0 2px 5px rgba(18,48,33,.08)!important;
 opacity:1!important;filter:none!important;font-weight:800!important;
}
.bai-overlay .bai-photo-choices #bai-open-camera:hover,
.bai-overlay .bai-photo-choices #bai-open-camera:focus-visible{background:#e5f7e9!important;outline:2px solid #7cba91!important;outline-offset:2px!important}
.bai-overlay .bai-photo-choices #bai-open-camera span{color:#245a3d!important;-webkit-text-fill-color:#245a3d!important;font-size:18px!important}
