:root{--background:oklch(0.17 0.018 258);--foreground:oklch(0.96 0.004 250);--card:oklch(0.2 0.018 258);--card-foreground:oklch(0.96 0.004 250);--surface:oklch(0.2 0.018 258);--surface-2:oklch(0.235 0.018 258);--surface-3:oklch(0.275 0.019 258);--sidebar:oklch(0.185 0.018 258);--primary:oklch(0.82 0.16 158);--primary-foreground:oklch(0.19 0.03 165);--muted:oklch(0.235 0.018 258);--muted-foreground:oklch(0.68 0.014 254);--info:oklch(0.79 0.1 253);--success:oklch(0.82 0.16 158);--warning:oklch(0.82 0.13 82);--destructive:oklch(0.66 0.19 22);--border:oklch(0.3 0.016 258);--border-strong:oklch(0.38 0.018 258);--input:oklch(0.3 0.016 258);--ring:oklch(0.79 0.1 253);--font-ui:"Inter Tight","Inter",ui-sans-serif,system-ui,sans-serif;--font-code:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--shadow-panel:0 1px 0 0 oklch(1 0 0/4%) inset,0 12px 32px -18px oklch(0 0 0/85%);--shadow-pop:0 24px 60px -24px oklch(0 0 0/80%)}
*,*::before,*::after{box-sizing:border-box}html{min-width:0;overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body.lb-public{display:flex;min-width:0;min-height:100vh;margin:0;flex-direction:column;background:var(--background);color:var(--foreground);font-family:var(--font-ui);font-feature-settings:"cv05","ss01";line-height:1.5;-webkit-font-smoothing:antialiased}body.lb-public button,body.lb-public input,body.lb-public textarea,body.lb-public select{font:inherit}:where(body.lb-public a){color:inherit;text-decoration:none}body.lb-public img{display:block;max-width:100%}body.lb-public :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid color-mix(in oklab,var(--ring) 75%,transparent);outline-offset:1px}body.lb-public ::selection{background:color-mix(in oklab,var(--info) 28%,transparent);color:var(--foreground)}
.lb-public-shell,.lb-shell{width:100%;max-width:1180px;margin-inline:auto;padding-inline:16px}.site-header{position:sticky;top:0;z-index:40;height:57px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--background) 86%,transparent);backdrop-filter:blur(8px)}.nav-shell{display:grid;height:56px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.brand,.footer-brand{display:inline-flex;min-width:0;align-items:center;gap:8px;border-radius:4px}.brand-logo{display:block;width:auto;height:auto;max-width:220px;max-height:32px;object-fit:contain}.brand-mark{display:grid;width:28px;height:28px;place-items:center;border:1px solid color-mix(in oklab,var(--primary) 35%,transparent);border-radius:6px;background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary)}.brand-text{font-size:.9375rem;font-weight:600}.nav-links{display:inline-flex;align-items:center;justify-self:end;gap:4px}.nav-links>a:not(.nav-button){padding:6px 10px;border-radius:6px;color:var(--muted-foreground);font-size:.8125rem}.nav-links>a:not(.nav-button):hover{background:var(--surface-2);color:var(--foreground)}.nav-divider{width:1px;height:16px;margin-inline:4px;background:var(--border)}.nav-button{min-height:28px;padding:5px 10px;border:0;border-radius:6px;background:var(--primary);color:var(--primary-foreground);font-size:.75rem;font-weight:500}.nav-button--ghost{background:transparent;color:var(--muted-foreground)}.public-menu-toggle{display:none;width:36px;height:36px;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--foreground)}.public-menu-toggle span{display:block;height:1px;margin:3px 0;background:currentColor}.lb-public>main{flex:1 0 auto}
.bftp-eyebrow,.lb-eyebrow{color:var(--muted-foreground);font-size:.6875rem;font-weight:600;line-height:1;letter-spacing:.09em;text-transform:uppercase}.bftp-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:var(--muted-foreground);font:400 .6875rem/1rem var(--font-code)}.site-footer{margin-top:auto;border-top:1px solid var(--border);background:var(--sidebar)}.footer-shell{display:grid;align-items:start;gap:32px;padding-block:40px}.footer-column--brand{display:block}.footer-copy{max-width:36ch;margin-top:12px;color:var(--muted-foreground);font-size:.8125rem;line-height:1.625}.footer-protocols{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.footer-links{display:flex;min-width:0;flex-direction:column;gap:8px}.footer-links .bftp-eyebrow{margin-bottom:4px;color:var(--foreground)}.footer-links a{color:var(--muted-foreground);font-size:.8125rem}.footer-links a:hover{color:var(--foreground)}.footer-bottom-wrap{border-top:1px solid var(--border)}.footer-bottom{display:flex;flex-direction:column;gap:6px;padding-block:16px;color:var(--muted-foreground);font-size:.6875rem}.footer-technical{font-family:var(--font-code)}
@keyframes lb-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@keyframes blink{0%,48%{opacity:1}49%,100%{opacity:0}}
/* ---------- LB2COD homepage: exact boundary from Lovable route/index.tsx ---------- */
.lb-home { background: var(--background); color: var(--foreground); font-family: var(--font-ui); }
.lb-shell, .lb-public-shell { width: 100%; max-width: 1180px; margin-inline: auto; padding-inline: 16px; }
.lb-home h1, .lb-home h2, .lb-home h3, .lb-home p { margin-block: 0; }
.lb-home ul, .lb-home ol { margin: 0; padding: 0; list-style: none; }
.lb-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--border); }
.lb-aurora { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(30rem 16rem at 78% 6%, color-mix(in oklab, var(--info) 7%, transparent), transparent 70%); }
.lb-hero__inner { position: relative; display: grid; gap: 40px; padding-block: 48px; }
.lb-hero__copy, .lb-hero__product { min-width: 0; }
.lb-hero__copy, .lb-hero__copy h1, .lb-hero__copy p, .lb-hero__copy li { text-align: left; }
.lb-hero__copy .lb-chip-row, .lb-hero__copy .lb-hero__actions { justify-content: flex-start; }
.lb-chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
.lb-chip { display: inline-flex; min-height: 22px; align-items: center; gap: 6px; padding: 2px 6px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--muted-foreground); font: 400 .6875rem/1rem var(--font-code); }
.lb-chip--success { border-color: color-mix(in oklab, var(--success) 35%, transparent); background: color-mix(in oklab, var(--success) 12%, transparent); color: var(--success); }
.lb-chip--success i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: lb-pulse 1.8s ease-in-out infinite; }
.lb-home h1 { margin-top: 20px; color: var(--foreground); font-size: clamp(2.05rem, 7vw, 3.5rem); font-weight: 600; line-height: 1.04; letter-spacing: -.032em; }
.lb-home h1 span { color: var(--primary); }
.lb-hero__lead { max-width: 54ch; margin-top: 20px !important; color: var(--muted-foreground); font-size: .9375rem; line-height: 1.625; }
.lb-hero__actions { display: flex; flex-direction: column; gap: 8px; margin-top: 28px; }
.lb-button { display: inline-flex; min-width: 0; height: 44px; align-items: center; justify-content: center; gap: 6px; padding-inline: 20px; border: 1px solid transparent; border-radius: 7px; font-size: .875rem; font-weight: 500; text-decoration: none; }
.lb-button--primary { background: var(--primary); color: var(--primary-foreground); }
.lb-button--outline { border-color: var(--border-strong); background: transparent; color: var(--foreground); }
.lb-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-benefits { display: grid; gap: 8px; margin-top: 28px !important; }
.lb-benefits li { display: flex; min-width: 0; align-items: flex-start; gap: 8px; color: var(--muted-foreground); font-size: .8125rem; line-height: 1.5; }
.lb-benefits li svg { width: 14px; height: 14px; flex: none; margin-top: 2px; fill: none; stroke: var(--primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.lb-tech-dots { position: absolute; inset: -24px; z-index: -1; display: none; opacity: .7; background-image: radial-gradient(var(--border-strong) 1px, transparent 1px); background-size: 14px 14px; }
.lb-demo { position: relative; width: 100%; min-width: 0; }
.lb-demo__window { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-pop); }
.lb-demo__windowbar { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--border); background: var(--sidebar); }
.lb-demo__dots { display: flex; flex: none; gap: 6px; }
.lb-demo__dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--border-strong); }
.lb-demo__host { min-width: 0; flex: 1; overflow: hidden; color: var(--muted-foreground); font: 400 .6875rem/1 var(--font-code); text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__protocol { display: flex; flex: none; align-items: center; gap: 6px; padding: 2px 6px; border: 1px solid color-mix(in oklab,var(--success) 35%,transparent); border-radius: 4px; background: color-mix(in oklab,var(--success) 12%,transparent); color: var(--success); font: 400 .6875rem/1rem var(--font-code); }
.lb-demo__protocol i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: lb-pulse 1.8s ease-in-out infinite; }
.lb-demo__protocol b { font-weight: 400; }
.lb-demo__desktop { display: none; }
.lb-demo__mobile { display: flex; flex-direction: column; }
.lb-demo__pane-head { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--border); background: color-mix(in oklab,var(--surface-2) 50%,transparent); }
.lb-demo__pane-head > span { flex: none; color: var(--muted-foreground); font-size: .75rem; }
.lb-demo__pane-head > span svg { display: block; width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-demo__pane-head b { min-width: 0; flex: 1; overflow: hidden; color: var(--muted-foreground); font: 600 .6875rem/1 var(--font-ui); letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.lb-demo__pane-head em { flex: none; overflow: hidden; color: var(--muted-foreground); font: 400 .625rem/1 var(--font-code); font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__mobile-paste { position: relative; height: 83px; margin: 10px 10px 0; overflow: hidden; padding: 8px; border: 1px solid var(--input); border-radius: 6px; background: color-mix(in oklab,var(--background) 70%,var(--surface)); font: 400 .625rem/1.7 var(--font-code); }
.lb-demo__paste span, .lb-demo__mobile-paste span { display: block; overflow: hidden; opacity: 0; color: color-mix(in oklab,var(--foreground) 85%,transparent); text-overflow: ellipsis; white-space: nowrap; transition: opacity .2s; }
.lb-demo__paste span.is-visible, .lb-demo__mobile-paste span.is-visible { opacity: 1; }
.lb-demo__mobile-paste span.is-muted { color: var(--muted-foreground); }
.lb-demo__caret { --line: 0; position: absolute; top: calc(8px + var(--line) * 17px + 1px); left: 8px; width: 6px; height: 10px; background: var(--info); animation: blink 1.05s steps(1) infinite; }
.lb-demo__mobile-button { display: flex; height: 32px; flex: none; align-items: center; justify-content: center; gap: 6px; margin: 8px 10px 10px; border-radius: 6px; background: var(--primary); color: var(--primary-foreground); font-size: .75rem; font-weight: 600; transition: filter .15s, transform .15s; }
.lb-demo__mobile-button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-demo__mobile-button.is-pressed { filter: brightness(1.1); transform: scale(.97); }
.lb-demo__mobile-remote { height: 140px; flex: none; overflow: hidden; padding: 10px; }
.lb-demo__validation-row { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding-block: 3px; opacity: 0; font: 400 .6875rem/1.4 var(--font-code); transition: opacity .3s; }
.lb-demo__validation-row.is-checking, .lb-demo__validation-row.is-done { opacity: 1; }
.lb-demo__validation-row > span:first-child { overflow: hidden; color: color-mix(in oklab,var(--foreground) 85%,transparent); text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__checking { color: var(--muted-foreground); }
.lb-demo__chip { display: inline-flex; flex: none; padding: 2px 6px; border: 1px solid var(--border); border-radius: 4px; font: 400 .625rem/1rem var(--font-code); }
.lb-demo__chip.is-existing { border-color: color-mix(in oklab,var(--info) 35%,transparent); background: color-mix(in oklab,var(--info) 12%,transparent); color: var(--info); }
.lb-demo__chip.is-success, .lb-demo__chip.is-new { border-color: color-mix(in oklab,var(--success) 35%,transparent); background: color-mix(in oklab,var(--success) 12%,transparent); color: var(--success); }
.lb-demo__chip.is-warning, .lb-demo__chip.is-missing { border-color: color-mix(in oklab,var(--warning) 35%,transparent); background: color-mix(in oklab,var(--warning) 12%,transparent); color: var(--warning); }
.lb-demo__chip.is-neutral { background: var(--surface-2); color: var(--muted-foreground); }
.lb-demo__file { min-width: 0; margin-bottom: 8px; }
.lb-demo__file > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; font: 400 .6875rem/1.4 var(--font-code); }
.lb-demo__file > div span { min-width: 0; overflow: hidden; color: color-mix(in oklab,var(--foreground) 85%,transparent); text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__file > div span b { margin-right: 6px; color: var(--success); }
.lb-demo__file .lb-demo__check { display: inline-block; width: 12px; height: 12px; margin-right: 6px; fill: none; stroke: var(--success); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; vertical-align: -2px; }
.lb-demo__file em { flex: none; color: var(--muted-foreground); font-style: normal; }
.lb-demo__file > i { display: block; height: 4px; margin-top: 4px; overflow: hidden; border-radius: 99px; background: var(--surface-3); }
.lb-demo__file > i b { display: block; height: 100%; border-radius: inherit; background: var(--info); }
.lb-demo__file > i b.is-complete { background: var(--success); }
.lb-demo__file small { display: block; margin-top: 2px; overflow: hidden; color: var(--muted-foreground); font: 400 .625rem/1.4 var(--font-code); text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__skipped { padding: 4px 8px; border: 1px dashed var(--border); border-radius: 4px; color: var(--warning); font: 400 .625rem/1 var(--font-code); }
.lb-demo__summary { display: flex; min-height: 33px; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--border); transition: opacity .5s; }
.lb-demo__summary.is-dimmed { opacity: .4; }
.lb-demo__rail { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 12px !important; }
.lb-demo__rail li { min-width: 0; color: var(--muted-foreground); font-size: .6875rem; line-height: 13px; transition: color .5s; }
.lb-demo__rail i { display: block; height: 2px; border-radius: 99px; background: var(--surface-3); transition: background .5s; }
.lb-demo__rail span { display: block; margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-demo__rail li.is-reached i { background: var(--primary); }
.lb-demo__rail li.is-current { color: var(--foreground); }
@media (min-width: 640px) {
    .lb-demo__mobile { display: none; }
    .lb-demo__desktop { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
    .lb-demo__column { display: flex; min-width: 0; flex-direction: column; }
    .lb-demo__column--left { border-right: 1px solid var(--border); }
    .lb-demo__paste-wrap, .lb-demo__remote { height: 212px; flex: none; overflow: hidden; padding: 10px; }
    .lb-demo__paste { position: relative; height: 100%; overflow: hidden; padding: 10px; border: 1px solid var(--input); border-radius: 6px; background: color-mix(in oklab,var(--background) 70%,var(--surface)); font: 400 .6875rem/1.7 var(--font-code); }
    .lb-demo__caret { top: calc(10px + var(--line) * 18.7px + 1px); left: 10px; width: 7px; height: 12px; }
    .lb-demo__action { display: flex; min-width: 0; flex: 1; align-items: center; gap: 8px; padding: 8px 10px; border-top: 1px solid var(--border); }
    .lb-demo__action > span:first-child { min-width: 0; flex: 1; overflow: hidden; color: var(--muted-foreground); font: 400 .6875rem/1 var(--font-code); text-overflow: ellipsis; white-space: nowrap; }
    .lb-demo__button { position: relative; display: inline-flex; height: 28px; flex: none; align-items: center; gap: 6px; padding-inline: 10px; border-radius: 6px; background: var(--primary); color: var(--primary-foreground); font-size: .6875rem; font-weight: 600; transition: filter .15s, transform .15s; }
    .lb-demo__button > svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
    .lb-demo__button.is-pressed { filter: brightness(1.1); transform: scale(.96); }
    .lb-demo__button i { position: absolute; right: -4px; bottom: -4px; width: 12px; height: 12px; border: 1px solid var(--background); border-radius: 50%; background: var(--info); opacity: 0; transition: opacity .3s; }
    .lb-demo__button i.is-visible { opacity: 1; }
    .lb-demo__summary { flex: 1; }
}
.lb-hero__safety { display: flex; align-items: flex-start; gap: 6px; margin-top: 12px !important; color: var(--muted-foreground); font-size: .6875rem; line-height: 1.625; }
.lb-hero__safety svg { width: 14px; height: 14px; flex: none; margin-top: 1px; fill: none; stroke: var(--primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-proof { border-bottom: 1px solid var(--border); background: var(--sidebar); }
.lb-proof__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 12px; padding-block: 32px; }
.lb-proof__grid strong, .lb-proof__grid span { display: block; }
.lb-proof__grid strong { font: 600 1.5rem/1 var(--font-code); }
.lb-proof__grid span { margin-top: 6px; overflow: hidden; color: var(--muted-foreground); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.lb-section { padding-block: 56px; border-bottom: 1px solid var(--border); content-visibility: auto; contain-intrinsic-size: auto 540px; }
.lb-section--sidebar { background: var(--sidebar); }
.lb-eyebrow { color: var(--muted-foreground); font: 600 .6875rem/1 var(--font-ui); letter-spacing: .09em; text-transform: uppercase; }
.lb-home h2 { margin-top: 8px; color: var(--foreground); font-size: clamp(1.5rem,3.6vw,2.1rem); font-weight: 600; line-height: 1.14; letter-spacing: -.026em; }
.lb-workflow { display: grid; gap: 16px; margin-top: 32px; }
.lb-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-panel); }
.lb-workflow__card { padding: 20px; }
.lb-workflow__card, .lb-capability-grid .lb-card, .lb-home-guide-grid .lb-guide-card, .lb-guide-grid .lb-guide-card, .lb-guide-feature-card { transition: transform 220ms cubic-bezier(.2,.7,.3,1), border-color 220ms, box-shadow 220ms; }
.lb-workflow__card:hover, .lb-capability-grid .lb-card:hover, .lb-home-guide-grid .lb-guide-card:hover, .lb-guide-grid .lb-guide-card:hover, .lb-guide-feature-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-pop); transform: translateY(-2px); }
.lb-step-head { display: flex; align-items: center; gap: 8px; color: var(--muted-foreground); font: 400 .6875rem/1 var(--font-code); }
.lb-step-icon { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-2); color: var(--info); }
.lb-step-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-card h3 { font-size: .9375rem; font-weight: 600; }
.lb-card p { margin-top: 6px; color: var(--muted-foreground); font-size: .8125rem; line-height: 1.625; }
.lb-workflow__card h3 { margin-top: 16px; }
.lb-capabilities { display: grid; gap: 32px; }
.lb-section-copy { max-width: 52ch; margin-top: 12px !important; color: var(--muted-foreground); font-size: .9375rem; line-height: 1.625; }
.lb-capability-chips { margin-top: 20px; }
.lb-capability-grid { display: grid; gap: 12px; }
.lb-capability-grid .lb-card { padding: 16px; }
.lb-capability-grid .lb-card h3 { font-size: .875rem; }
.lb-capability-grid .lb-card p { margin-top: 4px; }
.lb-faq { max-width: 880px; }
.lb-faq__list { margin-top: 24px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.lb-faq__list details { padding: 14px 16px; border-bottom: 1px solid var(--border); }
.lb-faq__list details:last-child { border-bottom: 0; }
.lb-faq__list summary { display: flex; cursor: pointer; align-items: center; justify-content: space-between; gap: 12px; color: var(--foreground); font-size: .875rem; font-weight: 500; list-style: none; }
.lb-faq__list summary::-webkit-details-marker { display: none; }
.lb-faq__list summary i { flex: none; color: var(--muted-foreground); font-size: 1rem; font-style: normal; transition: transform .15s ease; }
.lb-faq__list details[open] summary i { transform: rotate(45deg); }
.lb-faq__list details > div { padding-top: 8px; color: var(--muted-foreground); font-size: .8125rem; line-height: 1.625; }
.lb-final-cta { display: grid; gap: 12px; margin-top: 40px; padding: 24px; }
.lb-final-cta h3 { font-size: 1.0625rem; }
.lb-final-cta p { margin-top: 4px; }
.lb-public .site-header { height: 57px; }
.lb-public .site-header .nav-shell { height: 56px; }
.lb-public .site-header .brand, .lb-public .footer-brand { min-width: 0; gap: 8px; }
.lb-public .site-header .brand-logo, .lb-public .footer-brand .brand-logo { display: block; width: auto; height: auto; max-width: 220px; max-height: 32px; object-fit: contain; }
.lb-public .site-header .brand-mark, .lb-public .footer-brand .brand-mark { width: 28px; height: 28px; border-radius: 6px; }
.lb-public .site-header .brand-text, .lb-public .footer-brand .brand-text { font-size: .9375rem; font-weight: 600; }
.lb-public .nav-links { gap: 4px; }
.lb-public .nav-links > a:not(.nav-button) { padding: 6px 10px; font-size: .8125rem; }
.lb-public .nav-button { min-height: 28px; padding: 5px 10px; font-size: .75rem; }
.lb-public .site-footer { padding: 0; border-top: 1px solid var(--border); background: var(--sidebar); }
.lb-public .footer-shell { display: grid; align-items: start; gap: 32px; padding-block: 40px; }
.lb-public .footer-column--brand { display: block; }
.lb-public .footer-copy { max-width: 36ch; margin-top: 12px; font-size: .8125rem; line-height: 1.625; }
.lb-public .footer-protocols { margin-top: 12px; }
.lb-public .footer-links { gap: 8px; }
.lb-public .footer-links .bftp-eyebrow { margin-bottom: 4px; }
.lb-public .footer-links a { font-size: .8125rem; }
.lb-public .footer-bottom-wrap { border-top: 1px solid var(--border); }
.lb-public .footer-bottom { display: flex; flex-direction: column; gap: 6px; padding-block: 16px; color: var(--muted-foreground); font-size: .6875rem; }
.lb-public .footer-technical { margin: 0; font-family: var(--font-code); }
@media (min-width: 640px) {
    .lb-shell, .lb-public-shell { padding-inline: 24px; }
    .lb-hero__inner { padding-block: 80px; }
    .lb-hero__lead { font-size: 1rem; }
    .lb-hero__actions { flex-flow: row wrap; }
    .lb-benefits, .lb-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lb-tech-dots { display: block; }
    .lb-final-cta { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .lb-public .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (min-width: 768px) {
    .lb-proof__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
    .lb-section { padding-block: 88px; }
    .lb-workflow { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .lb-public .footer-shell { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
}
@media (min-width: 1024px) {
    .lb-hero__inner { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: center; gap: 48px; }
    .lb-capabilities { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
}
@media (prefers-reduced-motion: reduce) { .lb-chip--success i, .lb-demo .paste-caret { animation: none; } }
/* ---------- LB2COD Guides / Resource Center ---------- */
.lb-guides { min-height: 60vh; background: var(--background); color: var(--foreground); font-family: var(--font-ui); }
.lb-guides-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--border); }
.lb-guides-hero__inner { position: relative; padding-block: 40px; }
.lb-breadcrumb { display: flex; align-items: center; gap: 6px; color: var(--muted-foreground); font-size: .75rem; }
.lb-breadcrumb a { color: inherit; }
.lb-breadcrumb a:hover { color: var(--foreground); }
.lb-breadcrumb span { color: var(--border-strong); }
.lb-breadcrumb strong { color: var(--foreground); font-weight: 400; }
.lb-guides h1 { margin: 16px 0 0; font-size: clamp(2.05rem,7vw,3.5rem); font-weight: 600; line-height: 1.04; letter-spacing: -.032em; }
.lb-guides-hero__inner > p { max-width: 60ch; margin-top: 16px; color: var(--muted-foreground); font-size: .9375rem; line-height: 1.625; }
.lb-guide-search { position: relative; max-width: 420px; margin-top: 28px; }
.lb-guide-search svg { position: absolute; top: 50%; left: 10px; width: 16px; height: 16px; fill: none; stroke: var(--muted-foreground); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transform: translateY(-50%); pointer-events: none; }
.lb-guide-search input { width: 100%; height: 40px; padding: 0 12px 0 36px; border: 1px solid var(--input); border-radius: 7px; outline: 0; background: var(--surface-2); color: var(--foreground); font: inherit; font-size: .875rem; }
.lb-guide-search input:focus { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent); }
.lb-guide-filters { display: flex; gap: 6px; margin: 16px -16px 0; padding-inline: 16px; overflow-x: auto; scrollbar-width: none; }
.lb-guide-filters::-webkit-scrollbar { display: none; }
.lb-guide-filters button { height: 30px; flex: none; padding-inline: 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-2); color: var(--muted-foreground); font-size: .75rem; cursor: pointer; }
.lb-guide-filters button:hover { color: var(--foreground); }
.lb-guide-filters button.is-active { border-color: color-mix(in oklab,var(--primary) 45%,var(--border)); background: color-mix(in oklab,var(--primary) 14%,transparent); color: var(--primary); }
.lb-featured-guide { padding-block: 32px; border-bottom: 1px solid var(--border); }
.lb-guide-feature-card { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-panel); color: var(--foreground); text-decoration: none; }
.lb-guide-feature-card h2 { margin: 12px 0 0; font-size: 1.25rem; font-weight: 600; line-height: 1.375; }
.lb-guide-feature-card p { max-width: 70ch; margin-top: 8px; color: var(--muted-foreground); font-size: .875rem; line-height: 1.625; }
.lb-guide-read { display: flex; flex: none; align-items: center; gap: 6px; color: var(--info); font-size: .8125rem; }
.lb-guide-read svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-guide-results { padding-block: 32px; }
.lb-guide-results__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lb-guide-results__head > span { color: var(--muted-foreground); font: 400 .6875rem/1 var(--font-code); }
.lb-guide-grid, .lb-home-guide-grid { display: grid; gap: 12px; margin-top: 20px; transition: opacity .15s; }
.lb-guides.is-loading .lb-guide-grid { opacity: .55; }
.lb-guide-card { display: block; min-width: 0; height: 100%; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-panel); color: var(--foreground); text-decoration: none; }
.lb-guide-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lb-guide-chips span { display: inline-flex; padding: 2px 6px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--muted-foreground); font: 400 .6875rem/1rem var(--font-code); }
.lb-guide-chips span.is-info { border-color: color-mix(in oklab,var(--info) 35%,transparent); background: color-mix(in oklab,var(--info) 12%,transparent); color: var(--info); }
.lb-guide-chips span.is-featured { border-color: color-mix(in oklab,var(--success) 35%,transparent); background: color-mix(in oklab,var(--success) 12%,transparent); color: var(--success); }
.lb-guide-card h3 { margin: 12px 0 0; font-size: .9375rem; font-weight: 600; line-height: 1.375; }
.lb-guide-card p { display: -webkit-box; margin-top: 6px; overflow: hidden; color: var(--muted-foreground); font-size: .8125rem; line-height: 1.625; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.lb-guide-card small { display: block; margin-top: 12px; overflow: hidden; color: var(--muted-foreground); font: 400 .6875rem/1 var(--font-code); text-overflow: ellipsis; white-space: nowrap; }
.lb-guide-empty { margin-top: 20px; padding: 40px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); text-align: center; }
.lb-guide-empty svg { width: 16px; height: 16px; fill: none; stroke: var(--info); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.lb-guide-empty h2 { margin: 12px 0 0; font-size: .9375rem; }
.lb-guide-empty p, .lb-guide-error { margin-top: 6px; color: var(--muted-foreground); font-size: .8125rem; }
.lb-guide-error { color: var(--destructive); }
.lb-resource-head { display: grid; gap: 12px; }
.lb-resource-head > a { color: var(--info); font-size: .8125rem; }
@media (prefers-reduced-motion: reduce) {
    .lb-workflow__card:hover, .lb-capability-grid .lb-card:hover, .lb-home-guide-grid .lb-guide-card:hover, .lb-guide-grid .lb-guide-card:hover, .lb-guide-feature-card:hover { transform: none; }
}
@media (min-width: 640px) {
    .lb-guides-hero__inner { padding-block: 56px; }
    .lb-guides-hero__inner > p { font-size: 1rem; }
    .lb-guide-filters { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; overflow: visible; }
    .lb-featured-guide { padding-block: 40px; }
    .lb-guide-feature-card { grid-template-columns: minmax(0,1fr) auto; align-items: center; padding: 24px; }
    .lb-guide-feature-card h2 { font-size: 1.5rem; }
    .lb-guide-results { padding-block: 48px; }
    .lb-guide-grid, .lb-home-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lb-resource-head { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
}
@media (min-width: 1024px) {
    .lb-guide-grid, .lb-home-guide-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* Lovable public content templates */
.lb-related{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.lb-public-content{min-height:60vh;background:var(--background);color:var(--foreground);font-family:var(--font-ui)}
.lb-panel{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-panel)}
.lb-panel-head{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.lb-panel-head h1,.lb-panel-head h2{margin:4px 0 0;color:var(--foreground);font-size:.9375rem;font-weight:600}
.lb-chip--info{border-color:color-mix(in oklab,var(--info) 35%,transparent);background:color-mix(in oklab,var(--info) 12%,transparent);color:var(--info)}
.lb-contact-layout{display:grid;gap:24px;padding-block:40px}.lb-contact-form{display:grid;gap:16px;padding:16px}
.lb-field{display:grid;gap:6px;color:var(--foreground);font-size:.75rem;font-weight:500}.lb-field>span{display:flex;justify-content:space-between;gap:8px}.lb-field small{color:var(--muted-foreground);font-weight:400}
.lb-field input,.lb-field textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--input);border-radius:7px;outline:0;background:var(--surface-2);color:var(--foreground);font:400 .875rem/1.4 var(--font-ui)}.lb-field textarea{min-height:164px;resize:vertical}.lb-field input:focus,.lb-field textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent)}
.lb-captcha{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.lb-captcha strong{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--foreground);font:400 .875rem/1.25 var(--font-code);white-space:nowrap}.lb-contact-actions{display:flex;align-items:end}.lb-contact-aside{display:flex;flex-direction:column;gap:16px}.lb-contact-aside ul{margin:0;padding:16px 16px 16px 34px;color:var(--muted-foreground);font-size:.8125rem;line-height:1.625}
.lb-article-shell{padding-block:32px}.lb-legal-shell{max-width:820px;padding-block:40px}.lb-content-heading{max-width:68ch;margin-top:16px}.lb-content-heading h1{margin:16px 0 0;color:var(--foreground);font-size:1.6rem;font-weight:600;line-height:1.12;letter-spacing:-.025em}.lb-legal-page .lb-content-heading h1{margin-top:12px;font-size:1.75rem;line-height:1.25}.lb-content-heading>p{margin-top:12px;color:var(--muted-foreground);font-size:.9375rem;line-height:1.625}
.lb-content-image{margin-top:24px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.lb-content-image img{display:block;width:100%;height:auto}.lb-article-layout{display:grid;gap:40px;margin-top:32px}
.lb-prose{min-width:0;max-width:72ch;color:var(--muted-foreground);font-size:.9375rem;line-height:1.75}.lb-legal-page .lb-prose{margin-top:32px}.lb-prose h2,.lb-prose h3,.lb-prose h4{scroll-margin-top:76px;color:var(--foreground);font-weight:600;line-height:1.3}.lb-prose h2{margin:32px 0 10px;font-size:1.25rem}.lb-prose h3{margin:24px 0 8px;font-size:1rem}.lb-prose p,.lb-prose ul,.lb-prose ol,.lb-prose table,.lb-prose pre,.lb-prose blockquote{margin:0 0 16px}.lb-prose ul,.lb-prose ol{padding-left:22px}.lb-prose li+li{margin-top:6px}.lb-prose a{color:var(--info);text-decoration:underline;text-underline-offset:3px}.lb-prose img{max-width:100%;height:auto;border-radius:8px}.lb-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.lb-prose th,.lb-prose td{padding:8px 10px;border:1px solid var(--border);text-align:left}.lb-prose th{color:var(--foreground);background:var(--surface-2)}.lb-prose pre{overflow-x:auto;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--sidebar);color:var(--foreground);font:400 .8125rem/1.6 var(--font-code)}.lb-prose code{font-family:var(--font-code)}
.lb-prose .ceditor-faq-set{display:grid;gap:10px;margin:24px 0}.lb-prose .ceditor-faq-item{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.lb-prose .ceditor-faq-item summary{padding:12px 16px;color:var(--foreground);font-weight:500;cursor:pointer}.lb-prose .ceditor-faq-answer{padding:0 16px 14px;color:var(--muted-foreground)}
.lb-article-toc-mobile{margin-top:24px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.lb-article-toc-mobile summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;list-style:none}.lb-article-toc-mobile summary b{color:var(--muted-foreground);font:400 .6875rem/1 var(--font-code)}[data-article-toc]{display:flex;flex-direction:column;padding:8px;border-top:1px solid var(--border)}[data-article-toc] a{padding:8px;border-radius:6px;color:var(--muted-foreground);font-size:.8125rem;text-decoration:none}[data-article-toc] a:hover{background:var(--surface-2);color:var(--foreground)}[data-article-toc] a.is-subsection{padding-left:20px}.lb-article-toc-desktop{display:none}
.lb-related{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}.lb-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lb-related-head h2{color:var(--foreground);font-size:1.0625rem}.lb-related-head a{color:var(--info);font-size:.8125rem}.lb-related-grid{display:grid;gap:12px;margin-top:16px}.lb-related-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-panel);color:var(--foreground);text-decoration:none;transition:transform 220ms cubic-bezier(.2,.7,.3,1),border-color 220ms,box-shadow 220ms}.lb-related-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.lb-related-card h3{margin-top:10px;color:var(--foreground);font-size:.875rem;line-height:1.375}.lb-related-card small{display:block;margin-top:8px;color:var(--muted-foreground);font:400 .6875rem/1 var(--font-code)}
@media(min-width:640px){.lb-contact-layout,.lb-article-shell{padding-block:56px}.lb-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-field--full{grid-column:1/-1}.lb-content-heading h1{font-size:2.25rem}.lb-legal-page .lb-content-heading h1{font-size:2rem}.lb-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.lb-contact-layout{grid-template-columns:minmax(0,1fr) 360px}.lb-article-layout{grid-template-columns:minmax(0,1fr) 240px}.lb-article-toc-mobile{display:none}.lb-article-toc-desktop{position:sticky;top:80px;display:block;height:fit-content}.lb-article-toc-desktop [data-article-toc]{border-top:0}}
@media(prefers-reduced-motion:reduce){.lb-related-card:hover{transform:none}}
.lb-contact-actions .lb-button{width:100%}body.lb-public button.lb-button{-webkit-appearance:none;appearance:none;margin:0;padding-block:0;font-family:var(--font-ui);font-size:.875rem;font-weight:500;line-height:1.5;cursor:pointer}.toast-stack{position:fixed;right:24px;bottom:24px;z-index:999999999;display:grid;width:356px;max-width:calc(100vw - 48px);gap:14px;margin:0;padding:0;pointer-events:none}.flash.toast{position:relative;display:flex;width:100%;align-items:center;gap:6px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:13px;overflow-wrap:anywhere;pointer-events:auto;opacity:0;transform:translateY(100%);animation:lb-toast-in .4s forwards}.toast__icon{display:flex;width:16px;height:16px;flex:none;align-items:center;justify-content:flex-start;margin-inline:-3px 4px}.toast__icon>*{flex:none}.toast__body{display:flex;min-width:0;flex-direction:column;gap:2px}.toast__title{display:block;color:inherit;font-size:13px;font-weight:500;line-height:1.5}.toast__close{position:absolute;top:0;left:0;z-index:1;display:flex;width:20px;height:20px;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--background);color:var(--foreground);cursor:pointer;transform:translate(-35%,-35%);transition:background .2s,border-color .2s}.toast__close:hover{border-color:var(--border-strong);background:var(--surface-2)}.flash.toast.is-closing{animation:none;opacity:0;transform:translateY(100%);transition:transform .4s,opacity .4s}@keyframes lb-toast-in{to{opacity:1;transform:translateY(0)}}
@media(min-width:640px){.lb-public-shell,.lb-shell{padding-inline:24px}.footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}.lb-contact-actions .lb-button{width:auto}}
@media(min-width:768px){.footer-shell{grid-template-columns:1.4fr 1fr 1fr 1fr}}
@media(max-width:767px){.nav-links{position:absolute;top:56px;left:0;right:0;display:none;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:stretch}.nav-links.is-open{display:flex}.nav-links>a{min-height:40px}.nav-divider{display:none}.public-menu-toggle{display:block}}
@media(max-width:600px){.toast-stack{right:16px;bottom:16px;width:calc(100% - 32px);max-width:none}}
@media(prefers-reduced-motion:reduce){.flash.toast{animation:none;opacity:1;transform:none}.flash.toast.is-closing{opacity:0;transform:none;transition:none}}

/* Final reference fidelity */
body.lb-public{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}
body.lb-public::-webkit-scrollbar,body.lb-public ::-webkit-scrollbar{width:10px;height:10px}
body.lb-public::-webkit-scrollbar-track,body.lb-public ::-webkit-scrollbar-track{background:transparent}
body.lb-public::-webkit-scrollbar-thumb,body.lb-public ::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:99px;background:var(--surface-3);background-clip:content-box}
body.lb-public::-webkit-scrollbar-thumb:hover,body.lb-public ::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}
html.lb-public-root{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}
html.lb-public-root::-webkit-scrollbar{width:10px;height:10px}
html.lb-public-root::-webkit-scrollbar-track{background:transparent}
html.lb-public-root::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:99px;background:var(--surface-3);background-clip:content-box}
html.lb-public-root::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}
body.lb-public h1,body.lb-public h2,body.lb-public h3,body.lb-public h4{color:var(--foreground);font-weight:600;letter-spacing:-.015em}
.site-footer{background:var(--sidebar)}
.footer-shell{grid-template-columns:1fr;gap:32px;padding-block:40px}
.footer-copy{margin:12px 0 0;color:var(--muted-foreground);line-height:1.625}
.footer-links .bftp-eyebrow{color:var(--foreground)}
.footer-links a{color:var(--muted-foreground);transition:color 150ms}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--foreground)}
.footer-bottom{padding-block:16px;border:0;color:var(--muted-foreground)}
.lb-contact-page .lb-panel{background:var(--surface)}
.lb-contact-methods{display:grid;gap:12px;padding:16px}
.lb-contact-method{display:flex;min-width:0;align-items:flex-start;gap:10px}
.lb-contact-method>svg{width:16px;height:16px;flex:none;margin-top:2px;fill:none;stroke:var(--info);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb-contact-method>div{min-width:0}.lb-contact-method strong{display:block;color:var(--foreground);font-size:.8125rem;font-weight:500}
.lb-contact-method a,.lb-contact-method span{display:block;margin-top:2px;overflow:hidden;color:var(--muted-foreground);font:400 .75rem/1.5 var(--font-code);text-overflow:ellipsis;white-space:nowrap}
.lb-prose{max-width:none;color:var(--foreground);font-size:1rem;line-height:1.75}
.lb-prose p,.lb-prose li{color:color-mix(in oklab,var(--foreground) 82%,var(--muted-foreground))}
.lb-prose h2{margin-top:2.25em;padding-top:.2em;font-size:1.375rem}.lb-prose h3{margin-top:1.85em;font-size:1.075rem}
[data-article-toc] a{padding:6px 8px;line-height:1.5}
@media(min-width:768px){.footer-shell{grid-template-columns:1.4fr 1fr 1fr 1fr}}
@media(min-width:1024px){.lb-article-layout{grid-template-columns:minmax(0,1fr) 260px;gap:32px}}
.lb-button--primary,.nav-button,.lb-demo__button,.lb-demo__mobile-button{color:var(--primary-foreground)}
.lb-button--primary:hover,.nav-button:hover{background:color-mix(in oklab,var(--primary) 88%,white);color:var(--primary-foreground)}
.nav-button--ghost:hover{background:var(--surface-2);color:var(--foreground)}
.lb-button--primary:active,.nav-button:active{color:var(--primary-foreground)}
.lb-button--primary:disabled,.nav-button:disabled{pointer-events:none;opacity:.45}
.lb-panel-head{min-height:0;padding:8px 12px}
.lb-panel-head h1,.lb-panel-head h2{margin-top:2px;font-size:.8125rem;line-height:1.25}
.lb-contact-tips{display:grid!important;gap:8px!important;padding:16px!important;list-style:none!important}
.lb-contact-tips li{display:flex;align-items:flex-start;gap:8px;color:var(--muted-foreground);font-size:.8125rem;line-height:1.625}
.lb-contact-tips svg{width:14px;height:14px;flex:none;margin-top:3px;fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.lb-breadcrumb em{min-width:0;overflow:hidden;color:var(--info);font:400 .75rem/1.5 var(--font-code);font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.lb-guide-chips span{min-height:20px;align-items:center;font-family:var(--font-code);font-size:.6875rem;font-weight:400;line-height:1rem;letter-spacing:0}
.lb-article-toc-desktop [data-article-toc] a{font-weight:400;color:var(--muted-foreground)}
.lb-article-toc-desktop [data-article-toc] a:hover{color:var(--foreground)}
.footer-links a{transition:color 150ms cubic-bezier(.4,0,.2,1)}
@media(min-width:640px){.lb-demo__validation-row{padding:4px 6px;border-radius:4px}}
@media(min-width:1024px){.lb-home h1{max-width:540px;font-size:2.2rem;line-height:1.04;letter-spacing:-.032em}}
.lb-guide-filters button{height:30px;padding-inline:10px;font-family:var(--font-ui);font-size:.75rem;font-weight:400;line-height:1.5;letter-spacing:0}
.lb-prose p,.lb-prose li,.lb-prose blockquote{font-size:1rem;line-height:1.75}
.lb-public .site-header .brand-logo,.lb-public .footer-brand .brand-logo{width:auto;height:auto;max-width:260px;max-height:40px;object-fit:contain}
@media(max-width:639px){.lb-public .site-header .brand-logo,.lb-public .footer-brand .brand-logo{max-width:220px;max-height:36px}}

/* ==========================================================================\n   BrowserFTP direct reference corrections — sourced from lovable(1).zip\n   ========================================================================== */

/* Admin-managed logo: deliberately larger than Lovable's generated wordmark,
   while preserving comfortable header breathing room. */
body.lb-public .site-header,
body.lb-public .site-header .nav-shell {
    height: 80px;
}
body.lb-public .site-header .brand-logo,
body.lb-public .footer-brand .brand-logo {
    width: auto;
    height: auto;
    max-width: 360px;
    max-height: 60px;
    object-fit: contain;
}

/* The generic .nav-button rule uses primary foreground; restore the Lovable
   ghost-button foreground for Sign in in its resting state. */
body.lb-public .nav-button--ghost {
    background: transparent;
    color: var(--muted-foreground);
}
body.lb-public .nav-button--ghost:hover,
body.lb-public .nav-button--ghost:focus-visible {
    background: var(--surface-2);
    color: var(--foreground);
}

/* Resource Center topic filters: exact guides/index.tsx typography.
   These are normal UI text, not mono chips. */
body.lb-public .lb-guide-filters button {
    height: auto;
    padding: 6px 10px;
    font-family: var(--font-ui);
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

/* Long-form content: exact prose-doc base from Lovable. */
body.lb-public .lb-prose {
    font-family: var(--font-ui);
    font-feature-settings: "cv05", "ss01";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}
body.lb-public .lb-prose p,
body.lb-public .lb-prose li,
body.lb-public .lb-prose blockquote {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}
body.lb-public .lb-prose p,
body.lb-public .lb-prose li {
    color: color-mix(in oklab,var(--foreground) 82%,var(--muted-foreground));
}

/* HeroAnimation geometry: exact Lovable structure. The reference component has no
   forced outer/window/body height; desktop content panes are exactly 212px. */
body.lb-public .lb-demo,
body.lb-public .lb-demo__window {
    height: auto;
}
body.lb-public .lb-demo__mobile {
    height: auto;
}
@media (min-width: 640px) {
    body.lb-public .lb-demo__desktop {
        height: auto;
    }
    body.lb-public .lb-demo__paste-wrap,
    body.lb-public .lb-demo__remote {
        height: 212px;
    }
}

/* Preserve exact HeroAnimation spacing from hero-animation.tsx.
   These rules intentionally override any previous manual padding experiments. */
body.lb-public .lb-demo__windowbar {
    gap: 8px;
    padding: 8px 12px;
}
body.lb-public .lb-demo__pane-head {
    gap: 8px;
    padding: 6px 10px;
}
body.lb-public .lb-demo__mobile-paste {
    margin: 10px 10px 0;
    padding: 8px;
}
body.lb-public .lb-demo__mobile-button {
    margin: 8px 10px 10px;
}
body.lb-public .lb-demo__mobile-remote {
    padding: 10px;
}
body.lb-public .lb-demo__summary {
    gap: 6px;
    padding: 8px 10px;
}
body.lb-public .lb-demo__rail {
    gap: 6px;
    margin-top: 12px !important;
}
body.lb-public .lb-demo__rail span {
    margin-top: 6px;
}
body.lb-public .lb-hero__safety {
    margin-top: 12px !important;
}

@media (min-width: 640px) {
    body.lb-public .lb-demo__paste-wrap,
    body.lb-public .lb-demo__remote {
        padding: 10px;
    }
    body.lb-public .lb-demo__paste {
        padding: 10px;
    }
    body.lb-public .lb-demo__caret {
        top: calc(10px + var(--line) * 18.7px + 1px);
        left: 10px;
    }
    body.lb-public .lb-demo__action {
        gap: 8px;
        padding: 8px 10px;
    }
    body.lb-public .lb-demo__validation-row {
        gap: 8px;
        padding: 4px 6px;
    }
    body.lb-public .lb-demo__file {
        margin-bottom: 10px;
    }
    body.lb-public .lb-demo__skipped {
        padding: 4px 8px;
    }
}

@media (max-width: 767px) {
    body.lb-public .site-header,
    body.lb-public .site-header .nav-shell {
        height: 68px;
    }
    body.lb-public .site-header .brand-logo,
    body.lb-public .footer-brand .brand-logo {
        max-width: 300px;
        max-height: 52px;
    }
    body.lb-public .nav-links {
        top: 68px;
    }
}
