.hmrfb-builder {
    --hmrfb-bg: #080b12;
    --hmrfb-text: #f4f7fb;
    --hmrfb-accent: #b8ff5a;
    --hmrfb-panel: #111722;
    --hmrfb-border: color-mix(in srgb, var(--hmrfb-text) 13%, transparent);
    --hmrfb-muted: color-mix(in srgb, var(--hmrfb-text) 56%, transparent);
    background: var(--hmrfb-bg);
    color: var(--hmrfb-text);
    isolation: isolate;
    overflow: hidden;
    padding: clamp(5rem, 9vw, 9rem) 0;
    position: relative;
}

.hmrfb-builder *,
.hmrfb-builder *::before,
.hmrfb-builder *::after { box-sizing: border-box; }

.hmrfb-builder button,
.hmrfb-builder input,
.hmrfb-builder textarea,
.hmrfb-builder select { font: inherit; }

.hmrfb-builder__glow {
    background:
        radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--hmrfb-accent) 16%, transparent), transparent 26%),
        linear-gradient(to right, color-mix(in srgb, var(--hmrfb-text) 6%, transparent) 1px, transparent 1px),
        linear-gradient(to bottom, color-mix(in srgb, var(--hmrfb-text) 6%, transparent) 1px, transparent 1px);
    background-size: auto, 72px 72px, 72px 72px;
    inset: 0;
    mask-image: linear-gradient(to bottom, transparent, #000 9%, #000 91%, transparent);
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

.hmrfb-builder__inner {
    margin: 0 auto;
    max-width: 92rem;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
}

.hmrfb-builder__header {
    align-items: end;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
    margin-bottom: clamp(3rem, 6vw, 6rem);
}

.hmrfb-builder__eyebrow {
    color: var(--hmrfb-accent);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .22em;
    margin: 0 0 1.25rem;
    text-transform: uppercase;
}

.hmrfb-builder__header h2 {
    font-size: clamp(3.25rem, 7vw, 8.4rem);
    font-weight: 520;
    letter-spacing: -.075em;
    line-height: .87;
    margin: 0;
    max-width: 14ch;
}

.hmrfb-builder__header > p {
    color: var(--hmrfb-muted);
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.75;
    margin: 0;
    max-width: 36rem;
}

.hmrfb-generator-nav {
    background: var(--hmrfb-border);
    border: 1px solid var(--hmrfb-border);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1px;
}

.hmrfb-generator-card {
    background: var(--hmrfb-bg);
    border: 0;
    color: inherit;
    cursor: pointer;
    min-height: 13rem;
    padding: clamp(1.4rem, 2.6vw, 2.4rem);
    position: relative;
    text-align: left;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.hmrfb-generator-card::after {
    background: var(--hmrfb-accent);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s cubic-bezier(.2,.7,.2,1);
    width: 100%;
}

.hmrfb-generator-card:hover,
.hmrfb-generator-card.is-active { background: var(--hmrfb-panel); }
.hmrfb-generator-card:hover { transform: translateY(-3px); }
.hmrfb-generator-card.is-active::after { transform: scaleX(1); }

.hmrfb-generator-card__number {
    color: var(--hmrfb-accent);
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .68rem;
    letter-spacing: .16em;
    margin-bottom: 2.5rem;
}

.hmrfb-generator-card strong {
    display: block;
    font-size: clamp(1.25rem, 2vw, 1.85rem);
    font-weight: 560;
    letter-spacing: -.035em;
    margin-bottom: .75rem;
}

.hmrfb-generator-card > span:last-child {
    color: var(--hmrfb-muted);
    display: block;
    font-size: .9rem;
    line-height: 1.65;
    max-width: 31rem;
}

.hmrfb-workspace {
    align-items: start;
    display: grid;
    gap: 1px;
    grid-template-columns: minmax(0, 1.05fr) minmax(26rem, .95fr);
}

.hmrfb-controls,
.hmrfb-preview { border: 1px solid var(--hmrfb-border); }

.hmrfb-controls { background: var(--hmrfb-bg); }

.hmrfb-section { padding: clamp(1.5rem, 3.4vw, 3.25rem); }
.hmrfb-section + .hmrfb-section { border-top: 1px solid var(--hmrfb-border); }

.hmrfb-section__heading {
    align-items: start;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 2rem 1fr;
    margin-bottom: 2rem;
}

.hmrfb-section__heading > span {
    color: var(--hmrfb-accent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .67rem;
    letter-spacing: .16em;
    padding-top: .4rem;
}

.hmrfb-section__heading h3 {
    font-size: clamp(1.65rem, 2.6vw, 2.5rem);
    font-weight: 540;
    letter-spacing: -.045em;
    line-height: 1;
    margin: 0;
}

.hmrfb-section__heading p {
    color: var(--hmrfb-muted);
    font-size: .9rem;
    line-height: 1.6;
    margin: .65rem 0 0;
}

.hmrfb-fields {
    display: grid;
    gap: 1.15rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hmrfb-field {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
}

.hmrfb-field--full { grid-column: 1 / -1; }
fieldset.hmrfb-field { border: 0; min-width: 0; padding: 0; }

.hmrfb-field > span,
.hmrfb-field legend {
    color: color-mix(in srgb, var(--hmrfb-text) 78%, transparent);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hmrfb-field input[type="text"],
.hmrfb-field input[type="url"],
.hmrfb-field textarea,
.hmrfb-field select {
    appearance: none;
    background: color-mix(in srgb, var(--hmrfb-panel) 78%, var(--hmrfb-bg));
    border: 1px solid var(--hmrfb-border);
    border-radius: 0;
    color: var(--hmrfb-text);
    min-height: 3.45rem;
    outline: none;
    padding: .9rem 1rem;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.hmrfb-field textarea { min-height: 6.5rem; resize: vertical; }
.hmrfb-field select { cursor: pointer; padding-right: 2.7rem; }

.hmrfb-field--select { position: relative; }
.hmrfb-field--select::after {
    border-bottom: 1px solid currentColor;
    border-right: 1px solid currentColor;
    bottom: 1.45rem;
    content: "";
    height: .45rem;
    pointer-events: none;
    position: absolute;
    right: 1.15rem;
    transform: rotate(45deg);
    width: .45rem;
}

.hmrfb-field input:focus,
.hmrfb-field textarea:focus,
.hmrfb-field select:focus {
    background: var(--hmrfb-panel);
    border-color: var(--hmrfb-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--hmrfb-accent) 12%, transparent);
}

.hmrfb-field small,
.hmrfb-field__help {
    color: color-mix(in srgb, var(--hmrfb-text) 42%, transparent);
    display: block;
    font-size: .72rem;
    line-height: 1.5;
}

.hmrfb-check-grid {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .75rem;
}

.hmrfb-check {
    align-items: center;
    background: color-mix(in srgb, var(--hmrfb-panel) 65%, var(--hmrfb-bg));
    border: 1px solid var(--hmrfb-border);
    cursor: pointer;
    display: flex;
    gap: .75rem;
    min-height: 3.2rem;
    padding: .8rem .95rem;
    transition: border-color .2s ease, background-color .2s ease;
}

.hmrfb-check:hover { border-color: color-mix(in srgb, var(--hmrfb-accent) 45%, transparent); }
.hmrfb-check:has(input:checked) { background: color-mix(in srgb, var(--hmrfb-accent) 9%, var(--hmrfb-bg)); border-color: color-mix(in srgb, var(--hmrfb-accent) 45%, transparent); }

.hmrfb-check input {
    accent-color: var(--hmrfb-accent);
    height: 1rem;
    margin: 0;
    width: 1rem;
}

.hmrfb-check span { font-size: .82rem; }

.hmrfb-toggle-row {
    align-items: center;
    border: 1px solid var(--hmrfb-border);
    cursor: pointer;
    display: flex;
    gap: 1rem;
    grid-column: 1 / -1;
    justify-content: space-between;
    min-height: 4.5rem;
    padding: 1rem;
    position: relative;
}

.hmrfb-toggle-row > span:first-child strong {
    display: block;
    font-size: .88rem;
    font-weight: 600;
}

.hmrfb-toggle-row > span:first-child small {
    color: var(--hmrfb-muted);
    display: block;
    font-size: .72rem;
    margin-top: .25rem;
}

.hmrfb-toggle-row input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.hmrfb-toggle {
    background: color-mix(in srgb, var(--hmrfb-text) 12%, transparent);
    border: 1px solid var(--hmrfb-border);
    flex: 0 0 auto;
    height: 1.65rem;
    position: relative;
    transition: background .2s ease, border-color .2s ease;
    width: 3rem;
}

.hmrfb-toggle::after {
    background: var(--hmrfb-text);
    content: "";
    height: 1.05rem;
    left: .25rem;
    position: absolute;
    top: .24rem;
    transition: transform .22s ease, background .22s ease;
    width: 1.05rem;
}

.hmrfb-toggle-row input:checked + .hmrfb-toggle { background: var(--hmrfb-accent); border-color: var(--hmrfb-accent); }
.hmrfb-toggle-row input:checked + .hmrfb-toggle::after { background: var(--hmrfb-bg); transform: translateX(1.32rem); }
.hmrfb-toggle-row input:focus-visible + .hmrfb-toggle { outline: 2px solid var(--hmrfb-accent); outline-offset: 3px; }

.hmrfb-generator-panel[hidden] { display: none !important; }

.hmrfb-build-bar {
    align-items: center;
    background: var(--hmrfb-panel);
    border-top: 1px solid var(--hmrfb-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.25rem clamp(1.5rem, 3.4vw, 3.25rem);
}

.hmrfb-build-bar > div span {
    color: var(--hmrfb-muted);
    display: block;
    font-size: .65rem;
    letter-spacing: .12em;
    margin-bottom: .35rem;
    text-transform: uppercase;
}

.hmrfb-build-bar > div strong {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .8rem;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hmrfb-download-button {
    align-items: center;
    background: var(--hmrfb-accent);
    border: 1px solid var(--hmrfb-accent);
    border-radius: 0;
    color: var(--hmrfb-bg);
    cursor: pointer;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 750;
    gap: .7rem;
    justify-content: center;
    min-height: 3.4rem;
    padding: .85rem 1.25rem;
    transition: box-shadow .25s ease, transform .25s ease;
}

.hmrfb-download-button:hover { box-shadow: 0 16px 45px color-mix(in srgb, var(--hmrfb-accent) 22%, transparent); transform: translateY(-2px); }
.hmrfb-download-button svg { height: 1.1rem; width: 1.1rem; }

.hmrfb-preview {
    background: #05070b;
    min-width: 0;
    overflow: hidden;
    position: sticky;
    top: 6rem;
}

.hmrfb-preview__bar,
.hmrfb-preview__meta {
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    padding: .85rem 1rem;
}

.hmrfb-preview__bar > div { align-items: center; display: flex; gap: .55rem; }
.hmrfb-preview__bar span,
.hmrfb-preview__meta span {
    color: rgba(255,255,255,.48);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .67rem;
    letter-spacing: .07em;
}

.hmrfb-preview__dot {
    background: #ffc857;
    border-radius: 999px;
    height: .45rem;
    transition: background .2s ease, box-shadow .2s ease;
    width: .45rem;
}

[data-preview-state="ready"] .hmrfb-preview__dot { background: var(--hmrfb-accent); box-shadow: 0 0 12px color-mix(in srgb, var(--hmrfb-accent) 70%, transparent); }
[data-preview-state="error"] .hmrfb-preview__dot { background: #ff6f7d; }
[data-preview-state="loading"] .hmrfb-preview__dot { animation: hmrfb-pulse 1s ease-in-out infinite; }

.hmrfb-preview__bar button {
    background: transparent;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    color: rgba(255,255,255,.62);
    cursor: pointer;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .63rem;
    letter-spacing: .1em;
    padding: .42rem .65rem;
    text-transform: uppercase;
}

.hmrfb-preview__bar button:hover { border-color: var(--hmrfb-accent); color: var(--hmrfb-accent); }
.hmrfb-preview__meta { background: rgba(255,255,255,.025); }
.hmrfb-preview__meta span:first-child { color: var(--hmrfb-accent); }

.hmrfb-preview pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .75rem;
    line-height: 1.75;
    margin: 0;
    max-height: 54rem;
    min-height: 54rem;
    overflow: auto;
    padding: clamp(1.25rem, 2.8vw, 2.25rem);
    position: relative;
    scrollbar-color: rgba(255,255,255,.18) transparent;
    white-space: pre;
    z-index: 1;
}

.hmrfb-preview code { color: rgba(255,255,255,.72); font: inherit; }
.hmrfb-preview__scan {
    background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--hmrfb-accent) 7%, transparent), transparent);
    height: 7rem;
    inset-inline: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    animation: hmrfb-scan 6s linear infinite;
}

.hmrfb-builder__footer {
    align-items: center;
    border-top: 1px solid var(--hmrfb-border);
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.4rem;
}

.hmrfb-builder__footer p,
.hmrfb-builder__footer span {
    color: var(--hmrfb-muted);
    font-size: .76rem;
    line-height: 1.55;
    margin: 0;
}
.hmrfb-builder__footer strong { color: var(--hmrfb-text); }

.hmrfb-honeypot {
    height: 1px !important;
    left: -10000px !important;
    overflow: hidden !important;
    position: absolute !important;
    top: auto !important;
    width: 1px !important;
}

@keyframes hmrfb-pulse {
    0%, 100% { opacity: .35; transform: scale(.85); }
    50% { opacity: 1; transform: scale(1.15); }
}

@keyframes hmrfb-scan {
    from { transform: translateY(-9rem); }
    to { transform: translateY(62rem); }
}

@media (max-width: 1100px) {
    .hmrfb-builder__header { grid-template-columns: 1fr; }
    .hmrfb-builder__header > p { max-width: 46rem; }
    .hmrfb-workspace { grid-template-columns: 1fr; }
    .hmrfb-preview { position: relative; top: auto; }
    .hmrfb-preview pre { max-height: 38rem; min-height: 32rem; }
}

@media (max-width: 760px) {
    .hmrfb-builder { padding: 4.5rem 0; }
    .hmrfb-generator-nav { grid-template-columns: 1fr; }
    .hmrfb-generator-card { min-height: auto; }
    .hmrfb-generator-card__number { margin-bottom: 1.25rem; }
    .hmrfb-fields,
    .hmrfb-check-grid { grid-template-columns: 1fr; }
    .hmrfb-build-bar,
    .hmrfb-builder__footer { align-items: stretch; flex-direction: column; }
    .hmrfb-download-button { width: 100%; }
    .hmrfb-preview__meta { align-items: flex-start; flex-direction: column; gap: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .hmrfb-builder *,
    .hmrfb-builder *::before,
    .hmrfb-builder *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Phase 2 account controls */
.hmrfb-account-strip {
    align-items: center;
    background: color-mix(in srgb, var(--hmrfb-accent) 5%, var(--hmrfb-bg));
    border: 1px solid var(--hmrfb-border);
    border-bottom: 0;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    padding: 1rem 1.2rem;
}
.hmrfb-account-strip > div:first-child { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem; }
.hmrfb-account-strip__status {
    border: 1px solid color-mix(in srgb, var(--hmrfb-accent) 40%, transparent);
    color: var(--hmrfb-accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    padding: .35rem .5rem;
    text-transform: uppercase;
}
.hmrfb-account-strip strong { font-size: .78rem; font-weight: 600; }
.hmrfb-account-strip__actions { align-items: center; display: flex; gap: 1rem; }
.hmrfb-account-strip__actions span { color: var(--hmrfb-muted); font-size: .72rem; }
.hmrfb-account-strip__actions a { color: var(--hmrfb-accent); font-size: .75rem; font-weight: 750; text-decoration: none; }
.hmrfb-build-bar__buttons { align-items: center; display: flex; gap: .65rem; }
.hmrfb-save-button {
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--hmrfb-text) 20%, transparent);
    border-radius: 0;
    color: var(--hmrfb-text);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
    min-height: 3.4rem;
    padding: .85rem 1.15rem;
    transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}
.hmrfb-save-button:hover { border-color: var(--hmrfb-accent); color: var(--hmrfb-accent); }
.hmrfb-save-button:disabled { cursor: wait; opacity: .45; }
.hmrfb-save-message {
    background: var(--hmrfb-panel);
    color: var(--hmrfb-muted);
    font-size: .76rem;
    min-height: 0;
    padding: 0 clamp(1.5rem, 3.4vw, 3.25rem);
    transition: padding .2s ease;
}
.hmrfb-save-message:not(:empty) { border-top: 1px solid var(--hmrfb-border); padding-bottom: .85rem; padding-top: .85rem; }
.hmrfb-save-message[data-state="success"] { color: var(--hmrfb-accent); }
.hmrfb-save-message[data-state="error"] { color: #ff7e8a; }

@media (max-width: 800px) {
    .hmrfb-account-strip { align-items: flex-start; flex-direction: column; }
    .hmrfb-account-strip__actions { justify-content: space-between; width: 100%; }
    .hmrfb-build-bar { align-items: stretch; flex-direction: column; }
    .hmrfb-build-bar__buttons { display: grid; grid-template-columns: 1fr; width: 100%; }
    .hmrfb-save-button, .hmrfb-download-button { width: 100%; }
}

/* Phase 3 composer, white-label and update controls */
.hmrfb-mode-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.hmrfb-mode-switch > label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--hmrfb-text) 13%, transparent);
    background: color-mix(in srgb, var(--hmrfb-panel) 88%, transparent);
    cursor: pointer;
    transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.hmrfb-mode-switch > label:hover { transform: translateY(-2px); }
.hmrfb-mode-switch > label.is-active {
    border-color: color-mix(in srgb, var(--hmrfb-accent) 70%, transparent);
    background: color-mix(in srgb, var(--hmrfb-accent) 8%, var(--hmrfb-panel));
}
.hmrfb-mode-switch input { accent-color: var(--hmrfb-accent); }
.hmrfb-mode-switch span { display: grid; gap: 4px; }
.hmrfb-mode-switch strong { display: flex; align-items: center; gap: 8px; font-size: .98rem; }
.hmrfb-mode-switch small { opacity: .65; line-height: 1.4; }
.hmrfb-mode-switch em,
.hmrfb-section__heading em {
    display: inline-flex;
    padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--hmrfb-accent) 42%, transparent);
    color: var(--hmrfb-accent);
    font-size: .62rem;
    font-style: normal;
    letter-spacing: .12em;
}
.hmrfb-mode-switch .is-locked { opacity: .7; cursor: default; }
.hmrfb-mode-switch .is-locked:hover { transform: none; }
.hmrfb-mode-switch .is-locked > a {
    margin-left: auto;
    color: var(--hmrfb-accent);
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
}
.hmrfb-generator-nav { align-items: stretch; }
.hmrfb-generator-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
    overflow: hidden;
}
.hmrfb-generator-card > button {
    display: grid;
    flex: 1;
    width: 100%;
    gap: 8px;
    padding: 20px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.hmrfb-generator-card.is-included {
    border-color: color-mix(in srgb, var(--hmrfb-accent) 60%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hmrfb-accent) 18%, transparent);
}
.hmrfb-module-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border-top: 1px solid color-mix(in srgb, var(--hmrfb-text) 10%, transparent);
    color: color-mix(in srgb, var(--hmrfb-text) 72%, transparent);
    font-size: .73rem;
    font-weight: 750;
    letter-spacing: .04em;
    cursor: pointer;
}
[data-build-mode="composer"] .hmrfb-module-toggle { display: flex; }
.hmrfb-module-toggle input { accent-color: var(--hmrfb-accent); }
.hmrfb-generator-panel__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--hmrfb-text) 10%, transparent);
}
.hmrfb-generator-panel__title span { font-weight: 800; }
.hmrfb-generator-panel__title small { opacity: .55; text-transform: uppercase; letter-spacing: .1em; }
[data-build-mode="composer"] .hmrfb-generator-panel + .hmrfb-generator-panel { margin-top: 22px; }
.hmrfb-pro-section { position: relative; }
.hmrfb-pro-section.is-locked .hmrfb-fields { opacity: .42; filter: grayscale(.35); }
.hmrfb-pro-lock {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid color-mix(in srgb, var(--hmrfb-accent) 32%, transparent);
    background: color-mix(in srgb, var(--hmrfb-accent) 7%, transparent);
}
.hmrfb-pro-lock strong { font-size: .84rem; }
.hmrfb-pro-lock a { color: var(--hmrfb-accent); font-weight: 800; text-decoration: none; white-space: nowrap; }
.hmrfb-save-message a { color: var(--hmrfb-accent); font-weight: 750; }
@media (max-width: 720px) {
    .hmrfb-mode-switch { grid-template-columns: 1fr; }
    .hmrfb-pro-lock { align-items: flex-start; flex-direction: column; }
}

/* Phase 5 compatibility profiles and Plugin Test Lab */
.hmrfb-compatibility-section .hmrfb-field__help{display:block;margin:.35rem 0 .85rem;opacity:.62;line-height:1.55}
.hmrfb-preview__bar-actions{align-items:center;display:flex;gap:.55rem}
.hmrfb-preview__bar-actions button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:.3rem;text-transform:uppercase}
.hmrfb-preview__bar-actions button:first-child{color:var(--hmrfb-accent)}
.hmrfb-preview__bar-actions button:disabled{cursor:wait;opacity:.45}
.hmrfb-test-lab{border-top:1px solid color-mix(in srgb,var(--hmrfb-text) 12%,transparent);background:color-mix(in srgb,var(--hmrfb-panel) 94%,black);padding:1.2rem}
.hmrfb-test-lab__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}
.hmrfb-test-lab__header span{color:var(--hmrfb-accent);font-size:.62rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.hmrfb-test-lab__header h3{font-size:1.2rem;letter-spacing:-.035em;margin:.4rem 0 0}
.hmrfb-test-lab__header>strong{border:1px solid color-mix(in srgb,var(--hmrfb-text) 15%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;padding:.45rem .55rem}
.hmrfb-test-lab[data-validation-state="ready"] .hmrfb-test-lab__header>strong{border-color:color-mix(in srgb,var(--hmrfb-accent) 55%,transparent);color:var(--hmrfb-accent)}
.hmrfb-test-lab[data-validation-state="blocked"] .hmrfb-test-lab__header>strong,.hmrfb-test-lab[data-validation-state="error"] .hmrfb-test-lab__header>strong{border-color:#ff6b7a;color:#ff8793}
.hmrfb-test-lab[data-validation-state="warning"] .hmrfb-test-lab__header>strong,.hmrfb-test-lab[data-validation-state="stale"] .hmrfb-test-lab__header>strong{border-color:#f4c95d;color:#f4c95d}
.hmrfb-test-lab__summary{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.hmrfb-test-lab__summary span{border:1px solid color-mix(in srgb,var(--hmrfb-text) 11%,transparent);color:color-mix(in srgb,var(--hmrfb-text) 67%,transparent);font-size:.65rem;padding:.38rem .5rem}
.hmrfb-test-lab__summary span[data-summary="passed"]{color:var(--hmrfb-accent)}
.hmrfb-test-lab__summary span[data-summary="warnings"]{color:#f4c95d}
.hmrfb-test-lab__summary span[data-summary="errors"]{color:#ff8793}
.hmrfb-test-lab__checks{display:grid;gap:1px;background:color-mix(in srgb,var(--hmrfb-text) 10%,transparent);max-height:28rem;overflow:auto}
.hmrfb-test-lab__checks article{align-items:flex-start;background:var(--hmrfb-panel);display:grid;gap:.75rem;grid-template-columns:1.5rem 1fr;padding:.8rem}
.hmrfb-test-lab__icon{align-items:center;border:1px solid currentColor;display:inline-flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;height:1.35rem;justify-content:center;width:1.35rem}
.hmrfb-test-lab__checks article[data-severity="pass"] .hmrfb-test-lab__icon{color:var(--hmrfb-accent)}
.hmrfb-test-lab__checks article[data-severity="warning"] .hmrfb-test-lab__icon{color:#f4c95d}
.hmrfb-test-lab__checks article[data-severity="error"] .hmrfb-test-lab__icon{color:#ff8793}
.hmrfb-test-lab__checks strong{font-size:.73rem}
.hmrfb-test-lab__checks p{color:color-mix(in srgb,var(--hmrfb-text) 62%,transparent);font-size:.68rem;line-height:1.55;margin:.3rem 0 0}
.hmrfb-test-lab__note{color:color-mix(in srgb,var(--hmrfb-text) 48%,transparent);font-size:.65rem;line-height:1.5;margin:1rem 0 0}
@media(max-width:560px){.hmrfb-preview__bar{align-items:flex-start;flex-direction:column}.hmrfb-preview__bar-actions{justify-content:space-between;width:100%}}

/* Phase 6 Rabbit AI Planner */
.hmrfb-ai-planner{
    position:relative;
    overflow:hidden;
    padding:clamp(1.15rem,2.5vw,1.75rem);
    border:1px solid color-mix(in srgb,var(--hmrfb-accent) 28%,transparent);
    background:
        radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--hmrfb-accent) 14%,transparent),transparent 34%),
        color-mix(in srgb,var(--hmrfb-panel) 95%,black);
}
.hmrfb-ai-planner::after{
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(color-mix(in srgb,var(--hmrfb-text) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--hmrfb-text) 4%,transparent) 1px,transparent 1px);
    background-size:26px 26px;
    content:"";
    mask-image:linear-gradient(to bottom,black,transparent 72%);
}
.hmrfb-ai-planner>*{position:relative;z-index:1}
.hmrfb-ai-planner__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}
.hmrfb-ai-planner__heading>div:first-child{max-width:44rem}
.hmrfb-ai-planner__heading span{color:var(--hmrfb-accent);font-size:.65rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.hmrfb-ai-planner__heading h3{margin:.55rem 0 .45rem;font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.045em}
.hmrfb-ai-planner__heading p{margin:0;color:color-mix(in srgb,var(--hmrfb-text) 66%,transparent);line-height:1.65}
.hmrfb-ai-planner__provider{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.35rem;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--hmrfb-text) 12%,transparent);background:color-mix(in srgb,var(--hmrfb-bg) 48%,transparent);text-align:right}
.hmrfb-ai-planner__provider span{font-size:.62rem}
.hmrfb-ai-planner__provider small{font-size:.66rem;opacity:.58}
.hmrfb-ai-planner__prompt{display:grid;gap:.55rem}
.hmrfb-ai-planner__prompt>span{font-size:.76rem;font-weight:800}
.hmrfb-ai-planner__prompt textarea{min-height:8rem;resize:vertical;border:1px solid color-mix(in srgb,var(--hmrfb-text) 15%,transparent);border-radius:0;background:color-mix(in srgb,var(--hmrfb-bg) 68%,black);color:var(--hmrfb-text);font:inherit;line-height:1.65;padding:1rem;outline:0}
.hmrfb-ai-planner__prompt textarea:focus{border-color:color-mix(in srgb,var(--hmrfb-accent) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hmrfb-accent) 10%,transparent)}
.hmrfb-ai-planner__examples{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0}
.hmrfb-ai-planner__examples button{border:1px solid color-mix(in srgb,var(--hmrfb-text) 12%,transparent);background:transparent;color:color-mix(in srgb,var(--hmrfb-text) 68%,transparent);cursor:pointer;font:inherit;font-size:.68rem;padding:.45rem .58rem}
.hmrfb-ai-planner__examples button:hover{border-color:var(--hmrfb-accent);color:var(--hmrfb-accent)}
.hmrfb-ai-planner__actions{display:flex;align-items:center;gap:1rem;margin-top:1rem}
.hmrfb-ai-plan-button,.hmrfb-ai-apply-button{border:0;background:var(--hmrfb-accent);color:#09100a;cursor:pointer;font:inherit;font-size:.76rem;font-weight:900;padding:.8rem 1rem;text-transform:uppercase;letter-spacing:.06em}
.hmrfb-ai-plan-button:disabled{cursor:wait;opacity:.55}
.hmrfb-ai-planner__actions>span{font-size:.7rem;color:color-mix(in srgb,var(--hmrfb-text) 58%,transparent)}
.hmrfb-ai-planner__actions>span[data-state="error"]{color:#ff8793}
.hmrfb-ai-planner__actions>span[data-state="success"]{color:var(--hmrfb-accent)}
.hmrfb-ai-proposal{margin-top:1.25rem;padding:1rem;border:1px solid color-mix(in srgb,var(--hmrfb-accent) 34%,transparent);background:color-mix(in srgb,var(--hmrfb-bg) 76%,black)}
.hmrfb-ai-proposal[hidden]{display:none}
.hmrfb-ai-proposal header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.hmrfb-ai-proposal header span{color:var(--hmrfb-accent);font-size:.62rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.hmrfb-ai-proposal h4{margin:.35rem 0 0;font-size:1.2rem}
.hmrfb-ai-proposal header>strong{border:1px solid color-mix(in srgb,var(--hmrfb-accent) 45%,transparent);color:var(--hmrfb-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;padding:.45rem .55rem}
.hmrfb-ai-proposal>p{color:color-mix(in srgb,var(--hmrfb-text) 68%,transparent);line-height:1.6}
.hmrfb-ai-proposal__modules{display:flex;flex-wrap:wrap;gap:.45rem;margin:.85rem 0}
.hmrfb-ai-proposal__modules span{border:1px solid color-mix(in srgb,var(--hmrfb-accent) 38%,transparent);color:var(--hmrfb-accent);font-size:.66rem;font-weight:800;padding:.38rem .5rem}
.hmrfb-ai-proposal__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.hmrfb-ai-proposal__columns>div{padding:.8rem;border:1px solid color-mix(in srgb,var(--hmrfb-text) 10%,transparent)}
.hmrfb-ai-proposal h5{margin:0 0 .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.hmrfb-ai-proposal ul{display:grid;gap:.42rem;margin:0;padding-left:1.1rem;color:color-mix(in srgb,var(--hmrfb-text) 62%,transparent);font-size:.7rem;line-height:1.5}
.hmrfb-ai-proposal__follow-up{font-size:.72rem}
.hmrfb-ai-proposal__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.hmrfb-ai-proposal__actions a{color:var(--hmrfb-accent);font-size:.72rem;font-weight:800;text-decoration:none}
@media(max-width:720px){
    .hmrfb-ai-planner__heading{flex-direction:column}
    .hmrfb-ai-planner__provider{align-items:flex-start;text-align:left}
    .hmrfb-ai-proposal__columns{grid-template-columns:1fr}
    .hmrfb-ai-planner__actions{align-items:flex-start;flex-direction:column}
}

/* Phase 8 Advanced Pro Studio */
.hmrfb-pro-recipes{position:relative;margin:0 0 1rem;padding:clamp(1.1rem,2.5vw,1.6rem);border:1px solid color-mix(in srgb,var(--hmrfb-accent) 32%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--hmrfb-accent) 9%,transparent),transparent 58%),color-mix(in srgb,var(--hmrfb-panel) 96%,black)}
.hmrfb-pro-recipes__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.hmrfb-pro-recipes__heading>div{max-width:48rem}.hmrfb-pro-recipes__heading span{color:var(--hmrfb-accent);font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hmrfb-pro-recipes__heading h3{font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.045em;margin:.45rem 0}.hmrfb-pro-recipes__heading p{color:color-mix(in srgb,var(--hmrfb-text) 64%,transparent);line-height:1.6;margin:0}.hmrfb-pro-recipes__heading>a{border:1px solid var(--hmrfb-accent);color:var(--hmrfb-accent);font-size:.7rem;font-weight:850;padding:.65rem .8rem;text-decoration:none;white-space:nowrap}
.hmrfb-pro-recipes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.hmrfb-pro-recipes__grid article{display:flex;min-height:12rem;flex-direction:column;padding:1rem;border:1px solid color-mix(in srgb,var(--hmrfb-text) 11%,transparent);background:color-mix(in srgb,var(--hmrfb-bg) 55%,transparent)}.hmrfb-pro-recipes__grid article>span{color:var(--hmrfb-accent);font-size:.58rem;font-weight:900;letter-spacing:.13em}.hmrfb-pro-recipes__grid h4{font-size:1rem;margin:.65rem 0 .5rem}.hmrfb-pro-recipes__grid p{color:color-mix(in srgb,var(--hmrfb-text) 58%,transparent);font-size:.72rem;line-height:1.55;margin:0 0 1rem}.hmrfb-pro-recipes__grid button{margin-top:auto;border:0;background:var(--hmrfb-accent);color:#09100a;cursor:pointer;font:inherit;font-size:.68rem;font-weight:900;padding:.7rem .8rem;text-transform:uppercase}.hmrfb-pro-recipes__grid button:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.35}.hmrfb-pro-recipes.is-locked .hmrfb-pro-recipes__grid{opacity:.52}
.hmrfb-generator-card strong em{display:inline-block;margin-left:.35rem;color:var(--hmrfb-accent);font-size:.55rem;font-style:normal;letter-spacing:.09em}.hmrfb-generator-card.is-advanced{border-color:color-mix(in srgb,var(--hmrfb-accent) 24%,transparent)}.hmrfb-generator-card.is-locked{opacity:.48}.hmrfb-generator-card.is-locked button,.hmrfb-generator-card.is-locked label{cursor:not-allowed}.hmrfb-generator-card button:disabled{color:inherit}
.hmrfb-relationships-note{display:grid;grid-template-columns:minmax(8rem,.35fr) 1fr;gap:1rem;margin-top:1rem;padding:1rem;border:1px dashed color-mix(in srgb,var(--hmrfb-accent) 30%,transparent);background:color-mix(in srgb,var(--hmrfb-accent) 5%,transparent)}.hmrfb-relationships-note strong{color:var(--hmrfb-accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.hmrfb-relationships-note p{margin:0;color:color-mix(in srgb,var(--hmrfb-text) 62%,transparent);font-size:.72rem;line-height:1.6}
.hmrfb-field textarea{width:100%;min-height:7rem;resize:vertical;border:1px solid color-mix(in srgb,var(--hmrfb-text) 14%,transparent);border-radius:0;background:color-mix(in srgb,var(--hmrfb-bg) 62%,black);color:var(--hmrfb-text);font:inherit;line-height:1.55;padding:.8rem;outline:0}.hmrfb-field textarea:focus{border-color:var(--hmrfb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hmrfb-accent) 9%,transparent)}
@media(max-width:900px){.hmrfb-pro-recipes__grid{grid-template-columns:1fr}.hmrfb-pro-recipes__grid article{min-height:0}}@media(max-width:680px){.hmrfb-pro-recipes__heading{flex-direction:column}.hmrfb-relationships-note{grid-template-columns:1fr}}
