/* LF153 Design System — public contract. Deliberately scoped: no destructive global overrides. */
:root{--lf153-primary:#FF2D7A;--lf153-navy:#0B1F44;--lf153-text:#1F2937;--lf153-muted:#6B7280;--lf153-surface:#FFFFFF;--lf153-section:#F8FAFC;--lf153-border:#E5E7EB;--lf153-font:Inter,Arial,sans-serif;--lf153-body-size:16px;--lf153-line-height:1.55;--lf153-heading-weight:700;--lf153-radius:12px;--lf153-button-radius:8px;--lf153-card-gap:16px;--lf153-card-padding:16px;--lf153-header-height:76px;--lf153-content-width:1280px;--lf153-image-ratio:4 / 3}
.lf153-ds-scope{font-family:var(--lf153-font);font-size:var(--lf153-body-size);line-height:var(--lf153-line-height);color:var(--lf153-text)}
.lf153-ds-scope :is(h1,h2,h3,h4){font-weight:var(--lf153-heading-weight);color:var(--lf153-navy);line-height:1.2}
.lf153-ds-container{width:min(100% - 32px,var(--lf153-content-width));margin-inline:auto}
.lf153-ds-card{background:var(--lf153-surface);border:1px solid var(--lf153-border);border-radius:var(--lf153-radius);padding:var(--lf153-card-padding);min-width:0}
.lf153-ds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--lf153-card-gap)}
.lf153-ds-card img{max-width:100%;height:auto;aspect-ratio:var(--lf153-image-ratio);object-fit:cover}
.lf153-ds-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1px solid var(--lf153-primary);border-radius:var(--lf153-button-radius);background:var(--lf153-primary);color:#fff;padding:.65em 1.15em;text-decoration:none;font:inherit;cursor:pointer;min-height:44px}
.lf153-ds-button:hover{filter:brightness(.93);color:#fff}.lf153-ds-button:focus-visible,.lf153-ds-scope a:focus-visible{outline:3px solid var(--lf153-navy);outline-offset:3px}
.lf153-ds-button--secondary{background:var(--lf153-surface);color:var(--lf153-navy);border-color:var(--lf153-border)}
.lf153-ds-badge{display:inline-block;border-radius:999px;background:var(--lf153-section);border:1px solid var(--lf153-border);color:var(--lf153-navy);padding:.25em .65em;font-size:.8em}
.lf153-ds-muted{color:var(--lf153-muted)}.lf153-ds-section{background:var(--lf153-section);padding-block:clamp(24px,4vw,56px)}
.lf153-ds-popup{background:var(--lf153-surface);border:1px solid var(--lf153-border);border-radius:var(--lf153-radius);box-shadow:0 16px 48px #0b1f4426;color:var(--lf153-text);max-width:min(92vw,720px)}
@media(max-width:600px){.lf153-ds-container{width:min(100% - 24px,var(--lf153-content-width))}.lf153-ds-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lf153-ds-scope *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* V1.1 public adapters: targeted components, no destructive layout overrides. */
.lfh327-card{border-color:var(--lf153-border);border-radius:var(--lf153-radius);background:var(--lf153-surface);color:var(--lf153-text)}
.lfh327-card :is(h2,h3,h4,.lfh327-card-title){font-family:var(--lf153-font);font-size:var(--lf153-card-title-size);line-height:1.35;color:var(--lf153-navy);font-weight:var(--lf153-heading-weight);overflow-wrap:anywhere}
.lfh327-card :is(.lfh327-card-meta,.lfh327-meta){font-size:var(--lf153-card-meta-size);color:var(--lf153-muted)}
.lfh327-card :is(a,button):focus-visible{outline:3px solid var(--lf153-primary);outline-offset:3px}

.lfh327-card :is(h2,h3,h4,.lfh327-card-title){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lf153-card-title-lines);overflow:hidden}

/* V1.3: legacy LF153 color alias is driven by saved authority. */
:root{--lf-pink:var(--lf153-primary,#FF2D7A)}
