
.btqb-wrap { max-width: 1100px; margin: 0 auto; padding: 16px; }
.btqb-card { background: #fff; border: 1px solid #e6e6e6; border-radius: 18px; padding: 14px; box-shadow: 0 1px 6px rgba(0,0,0,.04); }
.btqb-grid { display: grid; gap: 12px; }
@media (min-width: 900px) { .btqb-grid-3 { grid-template-columns: 2fr 1fr; } }
.btqb-row { display: grid; gap: 10px; }
@media (min-width: 700px) { .btqb-row-3 { grid-template-columns: 1fr 1fr 1fr; } .btqb-row-2 { grid-template-columns: 1fr 1fr; } }
.btqb-title { font-size: 26px; font-weight: 700; margin: 8px 0 2px; }
.btqb-sub { color: #555; margin: 0 0 10px; }
.btqb-actions { display:flex; flex-wrap: wrap; gap: 8px; }
.btqb-btn { border: 1px solid #ddd; background: #111; color:#fff; border-radius: 999px; padding: 10px 14px; cursor:pointer; font-weight: 600; }
.btqb-btn.secondary { background:#fff; color:#111; }
.btqb-btn.outline { background:#fff; color:#111; border: 1px solid #bbb; }
.btqb-btn:disabled { opacity: .5; cursor: not-allowed; }
.btqb-label { font-size: 12px; color:#444; margin-bottom: 4px; display:block; }
.btqb-input, .btqb-select, .btqb-textarea { width:100%; border:1px solid #d8d8d8; border-radius: 14px; padding: 10px 12px; font-size: 14px; }
.btqb-textarea { min-height: 86px; resize: vertical; }
.btqb-hr { height:1px; background:#eee; margin: 12px 0; }
.btqb-badge { display:inline-block; font-size: 11px; padding: 3px 8px; border-radius: 999px; border:1px solid #ddd; margin-right:6px; color:#333; background:#fafafa; }
.btqb-badge.primary { border-color:#111; }
.btqb-line { border:1px solid #eee; border-radius: 16px; padding: 12px; }
.btqb-linehead { display:flex; justify-content: space-between; gap: 10px; align-items:flex-start; }
.btqb-linehead h4 { margin:0; font-size: 15px; }
.btqb-small { font-size: 12px; color:#666; }
.btqb-right { text-align:right; }
.btqb-pre { white-space: pre-wrap; font-size: 12px; line-height: 1.45; margin: 0; }
.btqb-toast { position: fixed; left: 0; right: 0; bottom: 18px; display:flex; justify-content:center; padding: 0 12px; pointer-events:none;}
.btqb-toast > div { background:#111; color:#fff; padding: 10px 14px; border-radius: 999px; box-shadow: 0 10px 28px rgba(0,0,0,.25); }
.btqb-footnote { margin-top: 14px; font-size: 12px; color:#666; }
details.btqb-details { border:1px solid #eee; border-radius: 16px; padding: 10px 12px; background:#fff; }
details.btqb-details > summary { cursor:pointer; font-weight: 700; }
