.dbt-logo { --logo-bg:#f4f4f4; --logo-fg:#202020; --logo-field:#fff; --logo-border:#aaa; display:grid; grid-template-columns:minmax(240px,1fr) minmax(240px,1fr); gap:24px; padding:24px; background:var(--logo-bg); color:var(--logo-fg); border-radius:4px; box-sizing:border-box; }
.ncpab-dark-mode .dbt-logo, .aft-dark-mode .dbt-logo { --logo-bg:#202020; --logo-fg:#f1f1f1; --logo-field:#303030; --logo-border:#777; }
.dbt-logo *, .dbt-logo *::before, .dbt-logo *::after { box-sizing:border-box; }
.dbt-logo .dbt-logo-controls h2 { margin:0 0 20px; font-size:22px; line-height:1.3; color:var(--logo-fg); }
.dbt-logo .dbt-logo-controls > label { display:block; margin-top:14px; margin-bottom:6px; color:var(--logo-fg); font-size:16px; }
.dbt-logo .dbt-logo-controls input[type=text] { display:block; width:100%; padding:10px 12px; border:1px solid var(--logo-border); border-radius:3px; background:var(--logo-field); color:var(--logo-fg); font:inherit; }
.dbt-logo .dbt-logo-controls input[type=range] { width:100%; accent-color:#b40000; cursor:pointer; }
.dbt-logo .dbt-logo-size-label { font-size:14px; }
.dbt-logo output { float:right; font-variant-numeric:tabular-nums; }
.dbt-logo .dbt-logo-variants { border:0; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.dbt-logo .dbt-logo-variants legend { padding:0; margin-bottom:8px; color:var(--logo-fg); }
.dbt-logo .dbt-logo-variants label { display:flex; flex-direction:column; align-items:center; cursor:pointer; position:relative; font-size:12px; line-height:1.3; color:var(--logo-fg); text-align:center; gap:5px; }
.dbt-logo .dbt-logo-variants input { position:absolute; opacity:0; width:1px; height:1px; }
.dbt-logo .dbt-logo-variants img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border:3px solid transparent; border-radius:4px; }
.dbt-logo .dbt-logo-variants input:checked + img { border-color:#c10000; }
.dbt-logo .dbt-logo-variants input:focus-visible + img { outline:3px solid #147ac1; outline-offset:2px; }
.dbt-logo .dbt-logo-controls button { display:block; width:100%; padding:10px 14px; border:1px solid var(--logo-border); background:var(--logo-field); color:var(--logo-fg); border-radius:3px; font:inherit; cursor:pointer; margin-top:12px; }
.dbt-logo .dbt-logo-controls .dbt-logo-download { background:#b50000; color:#fff; border-color:#b50000; font-weight:700; }
.dbt-logo .dbt-logo-controls button:disabled { opacity:.5; cursor:wait; }
.dbt-logo .dbt-logo-controls button:focus-visible { outline:3px solid #147ac1; outline-offset:2px; }
.dbt-logo .dbt-logo-help, .dbt-logo .dbt-logo-status { font-size:14px; line-height:1.5; color:var(--logo-fg); margin:10px 0; }
.dbt-logo .dbt-logo-status { min-height:21px; }
.dbt-logo .dbt-logo-preview { align-self:center; background:#fff; line-height:0; }
.dbt-logo canvas { display:block; width:100%; height:auto; aspect-ratio:1; background:#fff; }
.dbt-logo .dbt-logo-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:760px) { .dbt-logo { grid-template-columns:1fr; padding:16px; gap:16px; } }

.dbt-logo .dbt-logo-consent { font-size:12px; line-height:1.5; color:var(--logo-fg); margin:12px 0; }
.dbt-logo .dbt-logo-gallery { grid-column:1 / -1; border-top:1px solid var(--logo-border); padding-top:24px; min-width:0; }
.dbt-logo .dbt-logo-gallery h2 { margin:0 0 18px; color:var(--logo-fg); font-size:22px; }
.dbt-logo .dbt-logo-gallery-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.dbt-logo .dbt-logo-card { min-width:0; display:flex; flex-direction:column; }
.dbt-logo .dbt-logo-card-text { font-size:var(--dbt-logo-card-font-size,10pt) !important; line-height:1.35 !important; font-weight:400 !important; color:var(--logo-fg); overflow-wrap:anywhere; margin:.6em 0 !important; height:5.4em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.dbt-logo .dbt-logo-card-links { display:flex; align-items:center; gap:6pt; margin-top:auto; }
.dbt-logo .dbt-logo-card-links button { display:inline-flex; align-items:center; justify-content:center; width:24pt; height:24pt; padding:3pt; margin:0; background:var(--logo-field); border:1pt solid var(--logo-border); border-radius:3pt; box-shadow:none; color:var(--logo-fg); cursor:pointer; }
.dbt-logo .dbt-logo-card-links button:hover { border-color:#b50000; color:#b50000; }
.dbt-logo .dbt-logo-card-links svg { display:block; width:14pt; height:14pt; fill:currentColor; }
.dbt-logo .dbt-logo-card-links button:focus-visible { outline:2px solid #147ac1; outline-offset:3px; }
.dbt-logo .dbt-logo-card-links button:disabled { opacity:.6; cursor:wait; }
.dbt-logo .dbt-logo-card-status { font-size:12px; line-height:1.4; color:var(--logo-fg); margin:6px 0 0; }
.dbt-logo .dbt-logo-card-status:empty { display:none; }
@media(max-width:1050px) { .dbt-logo .dbt-logo-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .dbt-logo .dbt-logo-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media(max-width:430px) { .dbt-logo .dbt-logo-gallery-grid { grid-template-columns:1fr; } }
