
.bp-app{--bp-bg:#10151c;--bp-card:#18212b;--bp-card2:#1e2935;--bp-text:#eef4f8;--bp-muted:#aeb9c5;--bp-line:#31404f;--bp-accent:#7de0bd;--bp-warn:#f4d77a;--bp-bad:#ff9c9c;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--bp-text);background:var(--bp-bg);border-radius:18px;overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.22)}
.bp-app *{box-sizing:border-box}.bp-shell{padding:18px}.bp-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:4px 2px 15px}.bp-header h2{margin:0;font-size:30px;line-height:1.05}.bp-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bp-muted);margin-bottom:5px}.bp-status{padding:8px 12px;border:1px solid var(--bp-line);border-radius:999px;color:var(--bp-accent);font-size:13px}
.bp-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--bp-line);padding-bottom:10px}.bp-tab{background:#141c25;border:1px solid var(--bp-line);color:var(--bp-muted);padding:9px 14px;border-radius:10px;cursor:pointer}.bp-tab.is-active{background:var(--bp-card2);color:var(--bp-text);border-color:#557083}
.bp-panel{display:none;padding-top:16px}.bp-panel.is-active{display:block}.bp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bp-grid-main{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr)}.bp-card{background:var(--bp-card);border:1px solid var(--bp-line);border-radius:14px;padding:15px}.bp-card h3{margin:0 0 10px}.bp-card p{color:var(--bp-muted)}
.bp-label,label{font-size:13px;color:var(--bp-muted)}select,input[type=text]{width:100%;background:#0e141b;color:var(--bp-text);border:1px solid var(--bp-line);border-radius:9px;padding:10px;margin-top:5px}.bp-file{display:block;margin:12px 0;border:1px dashed #486175;border-radius:11px;padding:12px;cursor:pointer;color:var(--bp-text)}.bp-file input{display:block;margin-top:8px;width:100%}.bp-file.bp-compact{margin:0}
.bp-button-row,.bp-actionbar,.bp-inline-controls{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end}.bp-inline-controls{margin:14px 0}.bp-inline-controls label{min-width:180px;flex:1}.bp-app button{background:#263544;border:1px solid #40576b;color:var(--bp-text);padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:650}.bp-app button:hover{filter:brightness(1.08)}.bp-app button:disabled{opacity:.4;cursor:not-allowed}.bp-app button.bp-primary{background:#245e4f;border-color:#397b69}
video{display:none;width:100%;max-height:280px;background:#000;border-radius:10px;margin:10px 0}video.is-active{display:block}.bp-preview-card{min-height:360px;display:flex;flex-direction:column;justify-content:center}.bp-app canvas{width:100%;height:auto;max-height:500px;background:#080b0f;border-radius:10px;object-fit:contain}.bp-preview-caption{text-align:center;font-size:12px;color:var(--bp-muted);padding-top:8px}
.bp-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;align-items:stretch}.bp-result{background:var(--bp-card);border:1px solid var(--bp-line);border-radius:12px;padding:12px}.bp-result .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-muted)}.bp-result .v{font-size:18px;font-weight:750;margin-top:4px}.bp-result .s{font-size:12px;color:var(--bp-muted);margin-top:4px}.bp-result.hero{grid-column:1/-1;background:#16251f;border-color:#355f51}.bp-result.hero .v{font-size:25px}.bp-result.warn{border-color:#6b5b2f}.bp-result.bad{border-color:#713f3f}
.bp-actionbar{margin-top:14px}.bp-callout{display:flex;gap:12px;align-items:center;padding:12px 14px;background:#17251f;border:1px solid #355f51;border-radius:12px;margin-bottom:14px}.bp-callout span{color:var(--bp-muted);font-size:13px}.bp-json{white-space:pre-wrap;word-break:break-word;max-height:620px;overflow:auto;background:#0b1016;color:#dbe7ef;border:1px solid var(--bp-line);border-radius:10px;padding:12px;font-size:12px}.bp-cal-status{margin-top:12px;color:var(--bp-muted);white-space:pre-wrap}
@media(max-width:800px){.bp-grid,.bp-grid-main,.bp-results{grid-template-columns:1fr}.bp-header{flex-direction:column}.bp-callout{align-items:flex-start;flex-direction:column}.bp-shell{padding:12px}}

.bp-btn[data-browse-files]{white-space:nowrap}
