/* ============================================================================
   dbb1 theme — ported from kernel (apps/dbb1/theme.cr + public_pages.cr).
   One palette (Dbb1::Brand) for the platform and every hosted app:
     ink #101318 · muted #5c6470 · canvas #fafafa · surface #fff · line #e4e6ea
     line-strong #c9cdd4 · hover #f2f3f5 · accent #3538cd · accent-hi #2a2da8
     accent-soft #eef0fc · accent-line #d5d8f5
   Served as /static/dbb1.css (platform) and /_dbb1/app.css (apps).
   ============================================================================ */

:root, html[data-theme="dbb1"] {
  --dbb1-ink: #101318; --dbb1-muted: #5c6470; --dbb1-paper: #fafafa; --dbb1-surface: #ffffff;
  --dbb1-line: #e4e6ea; --dbb1-line-strong: #c9cdd4; --dbb1-hover: #f2f3f5;
  --dbb1-accent: #3538cd; --dbb1-accent-hi: #2a2da8; --dbb1-accent-soft: #eef0fc; --dbb1-accent-line: #d5d8f5;

  --bs-primary: #3538cd; --bs-primary-rgb: 53,56,205;
  --bs-primary-text-emphasis: #2a2da8; --bs-primary-bg-subtle: #eef0fc; --bs-primary-border-subtle: #d5d8f5;
  --bs-body-bg: #fafafa; --bs-body-bg-rgb: 250,250,250;
  --bs-secondary-bg: #f2f3f5; --bs-tertiary-bg: #fafafa;
  --bs-body-color: #101318; --bs-body-color-rgb: 16,19,24;
  --bs-secondary-color: #5c6470; --bs-tertiary-color: #8a919c;
  --bs-emphasis-color: #101318; --bs-heading-color: #101318;
  --bs-border-color: #e4e6ea;
  --bs-border-radius: 0.5rem; --bs-border-radius-sm: 0.375rem; --bs-border-radius-lg: 0.75rem;
  --bs-link-color: #3538cd; --bs-link-color-rgb: 53,56,205; --bs-link-hover-color: #2a2da8;
  --bs-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-body-font-size: 0.95rem; --bs-body-line-height: 1.55;
}
body { background: var(--dbb1-paper); color: var(--dbb1-ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .navbar-brand { letter-spacing: -0.02em; font-weight: 650; color: var(--dbb1-ink); }
.display-5 { letter-spacing: -0.03em; font-weight: 700; }
.display-6 { font-variant-numeric: tabular-nums; letter-spacing: -0.025em; font-weight: 700; }
.lead { font-size: 1.125rem; color: var(--dbb1-muted) !important; }
.text-muted, .text-body-secondary { color: var(--dbb1-muted) !important; }
a { text-underline-offset: 0.16em; }
hr { border-color: var(--dbb1-line); opacity: 1; }
code { color: var(--dbb1-accent-hi); }
.mono, .font-monospace { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size: .86rem; }
.dbb1-kicker { display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--dbb1-accent); margin-bottom: 0.4rem; }

/* --- Buttons ----------------------------------------------------------------- */
.btn { border-radius: 0.5rem; font-weight: 600; letter-spacing: -0.01em; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease; }
.btn-lg { padding-inline: 1.5rem; }
.btn-primary { --bs-btn-bg: #3538cd; --bs-btn-border-color: #3538cd; --bs-btn-hover-bg: #2a2da8; --bs-btn-hover-border-color: #2a2da8; --bs-btn-active-bg: #2a2da8; --bs-btn-active-border-color: #2a2da8; --bs-btn-disabled-bg: #3538cd; --bs-btn-disabled-border-color: #3538cd; box-shadow: 0 1px 2px rgba(16,19,24,0.18); }
.btn-primary:hover { box-shadow: 0 2px 6px rgba(42,45,168,0.35); }
.btn-secondary { --bs-btn-bg: #f2f3f5; --bs-btn-border-color: #c9cdd4; --bs-btn-color: #101318; --bs-btn-hover-bg: #e4e6ea; --bs-btn-hover-border-color: #c9cdd4; --bs-btn-hover-color: #101318; --bs-btn-active-bg: #e4e6ea; --bs-btn-active-border-color: #c9cdd4; --bs-btn-active-color: #101318; }
.btn-outline-primary { --bs-btn-color: #3538cd; --bs-btn-border-color: #d5d8f5; --bs-btn-hover-bg: #3538cd; --bs-btn-hover-border-color: #3538cd; --bs-btn-active-bg: #2a2da8; --bs-btn-active-border-color: #2a2da8; }
.btn-outline-secondary { --bs-btn-color: #101318; --bs-btn-border-color: #c9cdd4; --bs-btn-hover-bg: #101318; --bs-btn-hover-border-color: #101318; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #101318; --bs-btn-active-border-color: #101318; }
.btn-outline-secondary.btn-sm { --bs-btn-color: #5c6470; }
.btn-outline-danger { --bs-btn-color: #b42318; --bs-btn-border-color: #f4c7c3; --bs-btn-hover-bg: #b42318; --bs-btn-hover-border-color: #b42318; }

/* --- Cards ------------------------------------------------------------------- */
.card { border: 1px solid var(--dbb1-line); border-radius: 0.75rem; background: var(--dbb1-surface); box-shadow: 0 1px 2px rgba(16,19,24,0.05); transition: border-color .15s ease, box-shadow .15s ease; }
.card-header { background: var(--dbb1-surface); border-bottom: 1px solid var(--dbb1-line); font-weight: 600; color: var(--dbb1-ink); }
.card-header:first-child { border-radius: calc(0.75rem - 1px) calc(0.75rem - 1px) 0 0; }
a.card:hover, .card.dbb1-hover:hover { border-color: var(--dbb1-line-strong); box-shadow: 0 4px 14px -8px rgba(16,19,24,0.25); }
.dbb1-table-card, .kernel-table-card { overflow: hidden; }
.dbb1-stat .fs-3 { letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }

/* --- Tables ------------------------------------------------------------------ */
.table { --bs-table-color: #101318; --bs-table-border-color: #e4e6ea; --bs-table-bg: transparent; font-variant-numeric: tabular-nums; }
.table > thead th { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--dbb1-muted); border-bottom: 1px solid var(--dbb1-line-strong); white-space: nowrap; }
.table > thead th a { color: inherit; text-decoration: none; }
.table > tbody a { text-decoration: none; }
.table > tbody a:hover { text-decoration: underline; }
.table > tbody > tr > td { padding-block: 0.6rem; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: #f2f3f5; }
.table > :last-child > tr:last-child > * { border-bottom: 0; }

/* --- Forms ------------------------------------------------------------------- */
.form-control, .form-select { border-radius: 0.5rem; border-color: var(--dbb1-line-strong); color: var(--dbb1-ink); background-color: var(--dbb1-surface); }
.form-control:focus, .form-select:focus { border-color: var(--dbb1-accent); box-shadow: 0 0 0 0.2rem rgba(53,56,205,0.15); }
.form-label { font-size: 0.85rem; font-weight: 600; color: var(--dbb1-ink); }
.form-check-input:checked { background-color: var(--dbb1-accent); border-color: var(--dbb1-accent); }
.form-control.is-invalid, .form-select.is-invalid { border-color: #b42318; box-shadow: none; }
.invalid-feedback { color: #b42318; font-size: 0.82rem; }

/* --- Alerts, badges ---------------------------------------------------------- */
.alert { border-radius: 0.625rem; border: 1px solid var(--dbb1-line); border-left-width: 3px; }
.alert-success { background: #e9f6ef; border-color: #bfe4cf; border-left-color: #12805c; color: #0c5132; }
.alert-danger { background: #fdefee; border-color: #f4c7c3; border-left-color: #b42318; color: #7a1a12; }
.alert-warning { background: #fdf6e4; border-color: #f0dfad; border-left-color: #a16207; color: #6b4308; }
.alert-info, .alert-primary { background: #eef0fc; border-color: #d5d8f5; border-left-color: #3538cd; color: #2a2da8; }
.alert-secondary { background: #f2f3f5; border-color: #e4e6ea; border-left-color: #5c6470; color: #101318; }
.badge { font-weight: 600; letter-spacing: 0.01em; border-radius: 0.375rem; }
.badge.text-bg-success { background: #e9f6ef !important; color: #0c5132 !important; }
.badge.text-bg-danger { background: #fdefee !important; color: #7a1a12 !important; }
.badge.text-bg-warning { background: #fdf6e4 !important; color: #6b4308 !important; }
.badge.text-bg-info, .badge.text-bg-primary { background: #eef0fc !important; color: #2a2da8 !important; }
.badge.text-bg-secondary { background: #f2f3f5 !important; color: #5c6470 !important; }

/* --- Breadcrumb, pagination, list groups, dropdowns -------------------------- */
.breadcrumb { font-size: .85rem; --bs-breadcrumb-divider-color: #c9cdd4; }
.breadcrumb a { color: var(--dbb1-muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--dbb1-ink); }
.breadcrumb-item.active { color: var(--dbb1-ink); font-weight: 600; }
.pagination { gap: .25rem; }
.page-link { border: 0; border-radius: .5rem !important; color: var(--dbb1-muted); }
.page-item.active .page-link { background: var(--dbb1-accent); color: #fff; }
.list-group-item { border-color: var(--dbb1-line); }
.list-group { border-radius: 0.75rem; }
.dropdown-menu { border: 1px solid var(--dbb1-line); border-radius: .625rem; box-shadow: 0 8px 24px -12px rgba(16,19,24,0.25); padding: .3rem; }
.dropdown-item { border-radius: .4rem; padding: .4rem .65rem; font-size: .9rem; }

/* --- Marketing nav, bands, hero, footer (dbb1.dev) --------------------------- */
.dbb1-nav { background: rgba(11,14,20,0.86) !important; -webkit-backdrop-filter: saturate(1.2) blur(12px); backdrop-filter: saturate(1.2) blur(12px); border-bottom: 1px solid rgba(255,255,255,0.08); padding-block: 0.8rem; }
.dbb1-nav .navbar-brand { color: #ffffff !important; font-weight: 800; letter-spacing: -0.03em; }
.dbb1-nav .navbar-brand .dbb1-mark { color: #aab0f5; }
.dbb1-nav .nav-link { color: #9aa2ad !important; font-weight: 500; font-size: 0.925rem; padding-inline: 0.8rem; transition: color .15s ease; }
.dbb1-nav .nav-link:hover, .dbb1-nav .nav-link:focus, .dbb1-nav .nav-link.active { color: #ffffff !important; }
.dbb1-nav .navbar-toggler { border-color: rgba(255,255,255,0.2); }
.dbb1-nav .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-linecap='round' stroke-width='2' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E"); }
.dbb1-band { margin-inline: calc(50% - 50vw); padding-inline: calc(50vw - 50% + 0.75rem); }
.dbb1-band-white { background: var(--dbb1-surface); border-block: 1px solid var(--dbb1-line); }
.dbb1-band-dark { background: var(--dbb1-ink); color: #e8eaee; }
.dbb1-band-dark h1, .dbb1-band-dark h2, .dbb1-band-dark h3, .dbb1-band-dark h4 { color: #ffffff !important; }
.dbb1-band-dark .text-muted, .dbb1-band-dark .lead { color: #9aa2ad !important; }
.dbb1-band-dark .dbb1-kicker { color: #aab0f5 !important; }
.dbb1-band-dark .btn.btn-outline-secondary { --bs-btn-color: #e8eaee; --bs-btn-border-color: #3a4048; --bs-btn-hover-bg: #ffffff; --bs-btn-hover-border-color: #ffffff; --bs-btn-hover-color: #101318; }
.dbb1-band-dark code { color: #c7cbfa; }
.dbb1-hero { background: #0b0e14 url(/static/hero-bg.jpg) center/cover no-repeat; margin-top: -5rem; padding-top: 9rem; border-bottom: 1px solid var(--dbb1-line); }
.dbb1-hero h1 { font-size: clamp(2.3rem, 3.6vw, 3.7rem); line-height: 1.05; }
.dbb1-hero .lead { max-width: 36rem; font-size: clamp(1.05rem, 1.15vw, 1.25rem); }
.dbb1-hero-sm { padding-top: 7.5rem; }
.dbb1-hero-sm h1 { font-size: clamp(1.9rem, 2.6vw, 2.9rem); }
.dbb1-code { background: #0b0e14; color: #e5e7eb; border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 1.1rem 1.25rem; font-size: .84rem; line-height: 1.6; white-space: pre; overflow-x: auto; box-shadow: 0 28px 70px -28px rgba(0,0,0,0.75); }
.dbb1-code .c { color: #7d8590; } .dbb1-code .k { color: #aab0f5; } .dbb1-code .s { color: #a5d6a7; }
.dbb1-footer { border-top: 1px solid #232830; }
.dbb1-band-last { margin-bottom: -1.5rem; }
.dbb1-footer a { color: #9aa2ad !important; text-decoration: none; }
.dbb1-footer a:hover { color: #ffffff !important; }
.dbb1-step { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--dbb1-accent-soft); color: var(--dbb1-accent-hi); font-weight: 700; }

/* --- Platform shell (kernel admin side shell) --------------------------------- */
.dbb1-shell { display: flex; min-height: 100vh; }
.dbb1-rail { width: 236px; flex: none; background: var(--dbb1-surface); border-right: 1px solid var(--dbb1-line); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.dbb1-rail .dbb1-brand { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.03em; color: var(--dbb1-ink); text-decoration: none; padding: 1.1rem 1rem .9rem; display: block; }
.dbb1-rail .dbb1-brand span { color: var(--dbb1-accent); }
.dbb1-rail .nav-pills { padding: 0 .6rem; gap: .15rem; }
.dbb1-rail .nav-pills .nav-link { border-radius: .5rem; color: var(--dbb1-muted); font-weight: 500; font-size: .925rem; padding: .42rem .7rem; display: flex; align-items: center; gap: .55rem; transition: color .15s ease, background-color .15s ease; }
.dbb1-rail .nav-pills .nav-link:hover { color: var(--dbb1-ink); background: var(--dbb1-hover); }
.dbb1-rail .nav-pills .nav-link.active { background: var(--dbb1-accent-soft); color: var(--dbb1-accent-hi); font-weight: 600; }
.dbb1-rail .nav-section { font-size: .688rem; letter-spacing: .06em; text-transform: uppercase; color: var(--dbb1-muted); font-weight: 600; padding: 1rem 1.3rem .35rem; }
.dbb1-rail .nav-section .mono { text-transform: none; letter-spacing: 0; font-size: .78rem; color: var(--dbb1-ink); }
.dbb1-account { margin-top: auto; border-top: 1px solid var(--dbb1-line); padding: .8rem 1rem; display: flex; align-items: center; gap: .6rem; font-size: .85rem; }
.dbb1-avatar { width: 2rem; height: 2rem; border-radius: 999px; background: var(--dbb1-accent-soft); color: var(--dbb1-accent-hi); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex: none; }
.dbb1-main { flex: 1; min-width: 0; padding: 1.5rem 2rem 3rem; }
.dbb1-pagehead { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.dbb1-pagehead h1 { font-size: 1.6rem; margin: 0; }
.dbb1-mobilebar { display: none; }
@media (max-width: 991.98px) {
  .dbb1-rail { position: fixed; left: -260px; z-index: 1040; transition: left .2s ease; box-shadow: 0 0 40px rgba(0,0,0,.2); }
  .dbb1-rail.open { left: 0; }
  .dbb1-main { padding: 1rem; }
  .dbb1-mobilebar { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
}

/* --- Versions, diffs, logs, editor ------------------------------------------ */
.dbb1-diff { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; line-height: 1.5; background: var(--dbb1-surface); border: 1px solid var(--dbb1-line); border-radius: .75rem; overflow-x: auto; }
.dbb1-diff div { padding: 0 .9rem; white-space: pre; }
.dbb1-diff .add { background: #e9f6ef; color: #0c5132; }
.dbb1-diff .del { background: #fdefee; color: #7a1a12; }
.dbb1-diff .hunk { background: var(--dbb1-accent-soft); color: var(--dbb1-accent-hi); }
.dbb1-change { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .84rem; }
.dbb1-change .op-plus { color: #12805c; font-weight: 700; } .dbb1-change .op-minus { color: #b42318; font-weight: 700; } .dbb1-change .op-tilde { color: #a16207; font-weight: 700; }
.dbb1-log { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.dbb1-log .error { color: #b42318; } .dbb1-log .debug { color: #8a919c; }
.dbb1-editor { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .84rem; line-height: 1.55; min-height: 60vh; tab-size: 2; white-space: pre; background: #0b0e14; color: #e5e7eb; border-radius: .75rem; border: 1px solid #232830; }
.dbb1-editor:focus { background: #0b0e14; color: #e5e7eb; }
.dbb1-steps { list-style: none; padding: 0; margin: 0; }
.dbb1-steps li { padding: .35rem 0; border-bottom: 1px dashed var(--dbb1-line); font-size: .9rem; }
.dbb1-prose { max-width: 48rem; }
.dbb1-prose pre { background: #0b0e14; color: #e5e7eb; padding: 1rem 1.15rem; border-radius: .6rem; font-size: .82rem; }
.dbb1-prose pre code { color: inherit; }
.dbb1-prose h2 { margin-top: 2rem; font-size: 1.35rem; } .dbb1-prose h3 { margin-top: 1.5rem; font-size: 1.1rem; }
.dbb1-prose table { width: 100%; margin-bottom: 1rem; font-size: .9rem; } .dbb1-prose th, .dbb1-prose td { border-bottom: 1px solid var(--dbb1-line); padding: .35rem .5rem; vertical-align: top; }

/* --- Hosted apps ------------------------------------------------------------ */
[x-cloak] { display: none !important; }
.dbb1-detail dt, .dbb1-detail dd { padding-block: .3rem; border-bottom: 1px solid var(--dbb1-line); margin: 0; }
.dbb1-detail dt:last-of-type, .dbb1-detail dd:last-of-type { border-bottom: 0; }
.dbb1-grid-cell > .card { height: 100%; margin-bottom: 0 !important; }
.dbb1-app-footer { border-top: 1px solid var(--dbb1-line); color: var(--dbb1-muted); font-size: .82rem; padding: 1.25rem 0 1.75rem; margin-top: 2.5rem; }
.dbb1-app-footer a, .dbb1-rail-foot a { color: var(--dbb1-muted); }

/* hero(): a page header in the back-office layouts … */
.dbb1-app-hero { margin-bottom: 1.5rem; }
.dbb1-hero-inner { display: flex; align-items: flex-end; gap: 1rem; flex-wrap: wrap; }
.dbb1-hero-text { min-width: 0; }
.dbb1-app-hero h1 { font-size: 1.6rem; margin: 0; letter-spacing: -0.025em; }
.dbb1-app-hero .lead { font-size: .95rem; margin: .3rem 0 0; }
.dbb1-hero-actions { margin-left: auto; display: flex; gap: .5rem; flex-wrap: wrap; }
/* … and the dark banner in the `site` layout. */
.layout-site .dbb1-app-hero { background: #0b0e14 url(/_dbb1/hero-bg.jpg) center/cover no-repeat; margin: -1.5rem calc(50% - 50vw) 1.5rem; padding: 3.5rem calc(50vw - 50%); border-bottom: 1px solid var(--dbb1-line); }
.layout-site .dbb1-hero-inner { display: block; }
.layout-site .dbb1-app-hero h1 { color: #fff; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.08; letter-spacing: -0.03em; font-weight: 700; }
.layout-site .dbb1-app-hero .lead { color: #9aa2ad !important; font-size: 1.125rem; margin-top: .75rem; max-width: 38rem; }
.layout-site .dbb1-hero-actions { margin: 1.5rem 0 0; }
.layout-site .dbb1-nav { background: #0b0e14 !important; }

/* sidebar layout: the platform's rail, with the app's name as the brand */
.dbb1-app-brand { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dbb1-rail .nav-pills .nav-link i { width: 1.1rem; text-align: center; }
.dbb1-rail-foot { margin-top: auto; padding: .9rem 1.2rem; font-size: .78rem; color: var(--dbb1-muted); border-top: 1px solid var(--dbb1-line); }
.layout-sidebar .dbb1-main { max-width: 1280px; }
.dbb1-scrim { position: fixed; inset: 0; background: rgba(16,19,24,.35); z-index: 1030; }
@media (min-width: 992px) { .dbb1-scrim { display: none !important; } }

/* top layout: a slim white bar */
.dbb1-topbar { background: var(--dbb1-surface); border-bottom: 1px solid var(--dbb1-line); padding-block: .65rem; }
.dbb1-topbar .navbar-brand { font-weight: 800; letter-spacing: -0.03em; color: var(--dbb1-ink); }
.dbb1-topbar .nav-link { color: var(--dbb1-muted); font-weight: 500; font-size: .925rem; border-radius: .5rem; padding: .4rem .75rem !important; display: flex; align-items: center; gap: .45rem; }
.dbb1-topbar .nav-link:hover { color: var(--dbb1-ink); background: var(--dbb1-hover); }
.dbb1-topbar .nav-link.active { color: var(--dbb1-accent-hi); background: var(--dbb1-accent-soft); font-weight: 600; }

/* --- Toasts, confirm modal, htmx states ------------------------------------- */
.toast-container { z-index: 1090; }
.dbb1-toast { width: 22rem; max-width: calc(100vw - 2rem); background: var(--dbb1-surface); border: 1px solid var(--dbb1-line); border-radius: .75rem; box-shadow: 0 12px 32px -12px rgba(16,19,24,.35); font-size: .9rem; }
.dbb1-toast-icon { font-size: 1.1rem; line-height: 1.3; }
.dbb1-toast-success .dbb1-toast-icon { color: #12805c; }
.dbb1-toast-danger .dbb1-toast-icon { color: #b42318; }
.dbb1-toast-warning .dbb1-toast-icon { color: #a16207; }
.dbb1-toast-info .dbb1-toast-icon { color: var(--dbb1-accent); }
.dbb1-toast-msg { color: var(--dbb1-ink); padding-top: .05rem; }
.dbb1-confirm .modal-content { border: 1px solid var(--dbb1-line); border-radius: .875rem; box-shadow: 0 24px 64px -24px rgba(16,19,24,0.35); }
.dbb1-confirm .modal-footer { border-top: 1px solid var(--dbb1-line); background: var(--dbb1-paper); border-radius: 0 0 .875rem .875rem; }
.dbb1-confirm-icon { flex: none; width: 2.5rem; height: 2.5rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--dbb1-accent-soft); color: var(--dbb1-accent-hi); font-size: 1.15rem; }
.dbb1-confirm.is-danger .dbb1-confirm-icon { background: #fdefee; color: #b42318; }
.htmx-request button, .htmx-request .btn, button.htmx-request { opacity: .65; pointer-events: none; }
.htmx-request.dbb1-main, body.htmx-request .dbb1-main { transition: opacity .15s ease .12s; opacity: .7; }
