/* Homepage only: reuse the existing floor-plan component without page globals. */
#floor-plan-workbench {
    --nf-fp-panel: #111b12;
    --nf-fp-stage: #142015;
    --nf-fp-input: #19241a;
    --nf-fp-border: #2d3e2c;
    --nf-fp-muted: #aab8a6;
    scroll-margin-top: 28px;
    color: var(--text, #f0f4ec);
    padding: 48px 0 64px;
}
#floor-plan-workbench *, #floor-plan-workbench *::before, #floor-plan-workbench *::after { box-sizing: border-box; }
#floor-plan-workbench [hidden] { display: none !important; }
#floor-plan-workbench button, #floor-plan-workbench input, #floor-plan-workbench textarea, #floor-plan-workbench select { font: inherit; }
#floor-plan-workbench button:focus-visible, #floor-plan-workbench a:focus-visible,
#floor-plan-workbench input:focus-visible, #floor-plan-workbench textarea:focus-visible, #floor-plan-workbench select:focus-visible {
    outline: 2px solid var(--primary, #6af425);
    outline-offset: 4px;
}
#floor-plan-workbench button:disabled { cursor: wait; opacity: .65; }
#floor-plan-workbench .fp-workspace {
    grid-template-columns: minmax(0, 1fr) 290px;
    min-height: 0;
    border: 1px solid var(--nf-fp-border);
    border-radius: 22px;
    overflow: hidden;
    background: var(--bg-surface, #111a0d);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .12);
}
#floor-plan-workbench .fp-canvas { padding: 28px; }
#floor-plan-workbench .fp-heading { margin-bottom: 24px; }
#floor-plan-workbench .fp-eyebrow { color: var(--primary, #6af425); margin-bottom: 12px; }
#floor-plan-workbench .fp-heading h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 3.2vw, 38px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.035em;
    margin: 0 0 12px;
}
#floor-plan-workbench .fp-heading > p:not(.fp-eyebrow) { color: var(--text-muted, #8a9680); font-size: 14px; line-height: 1.65; }
#floor-plan-workbench .nf-fp-fullscreen {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: var(--primary, #6af425);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}
#floor-plan-workbench .nf-fp-fullscreen:hover { text-decoration: underline; text-underline-offset: 3px; }
#floor-plan-workbench .fp-frame { background: var(--nf-fp-panel); border-color: var(--nf-fp-border); border-radius: 14px; margin: 0; }
#floor-plan-workbench .fp-frame figcaption { padding: 12px; font-size: 12px; border-color: var(--nf-fp-border); }
#floor-plan-workbench .fp-caption-tag { font-size: 9px; color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-image-stage { aspect-ratio: 4 / 5; min-height: 240px; background-color: var(--nf-fp-stage); }
#floor-plan-workbench .fp-upload strong { font-size: 15px; color: var(--text, #f0f4ec); }
#floor-plan-workbench .fp-upload > span { font-size: 11px; color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-plan-icon { width: 98px; }
#floor-plan-workbench .fp-frame-footer { padding: 10px 12px; border-color: var(--nf-fp-border); color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-text-button { color: var(--primary, #6af425); }
#floor-plan-workbench .fp-result-empty { padding: 16px; color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-result-empty svg { width: 88px; margin-bottom: 20px; }
#floor-plan-workbench .fp-result-empty strong { font-size: 14px; color: var(--text, #f0f4ec); }
#floor-plan-workbench .fp-result-empty p { font-size: 12px; }
#floor-plan-workbench .fp-upload-help, #floor-plan-workbench .fp-concept-note { color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-controls { background: var(--nf-fp-panel); border-color: var(--nf-fp-border); }
#floor-plan-workbench .fp-settings { padding: 28px 20px 8px; }
#floor-plan-workbench .fp-view-choice { margin-bottom: 22px; }
#floor-plan-workbench .fp-view-options label > span { padding: 12px 9px; border-color: var(--nf-fp-border); }
#floor-plan-workbench .fp-view-options strong { font-size: 13px; }
#floor-plan-workbench .fp-view-options small { color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-view-options input:checked + span { border-color: var(--primary, #6af425); background: var(--primary-glow, rgba(106, 244, 37, .15)); color: var(--text, #f0f4ec); }
#floor-plan-workbench .fp-field { margin-bottom: 18px; }
#floor-plan-workbench .fp-field input, #floor-plan-workbench .fp-field select, #floor-plan-workbench .fp-field textarea {
    border-color: var(--nf-fp-border);
    color: var(--text, #f0f4ec);
    background: var(--nf-fp-input);
    padding: 10px;
    font-size: 12px;
}
#floor-plan-workbench .fp-field textarea { min-height: 88px; }
#floor-plan-workbench .fp-field-hint, #floor-plan-workbench .fp-optional, #floor-plan-workbench .fp-access-note { color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-actions { padding: 8px 20px 24px; }
#floor-plan-workbench .fp-feedback { color: var(--text-muted, #8a9680); }
#floor-plan-workbench .fp-actions .btn-primary {
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--bg, #0a0f08);
    background: var(--primary, #6af425);
    cursor: pointer;
    font-weight: 600;
    box-shadow: 0 0 20px var(--primary-glow, rgba(106, 244, 37, .25));
}
#floor-plan-workbench .fp-actions .btn-primary:hover:not(:disabled) { filter: brightness(1.08); }
#floor-plan-workbench .fp-history h3 { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
#floor-plan-workbench .fp-history h3 span { display: block; margin-top: 6px; font-size: 11px; font-weight: 400; color: var(--nf-fp-muted); }
#floor-plan-workbench .fp-history-item { border-color: var(--nf-fp-border); background: var(--nf-fp-panel); color: var(--text, #f0f4ec); }
#floor-plan-workbench .fp-history-item[aria-pressed='true'] { border-color: var(--primary, #6af425); }
[data-theme='light'] #floor-plan-workbench {
    --nf-fp-panel: #f5f7f3;
    --nf-fp-stage: #eaefe6;
    --nf-fp-input: #fff;
    --nf-fp-border: #ccd7c4;
    --nf-fp-muted: #596d4f;
}
[data-theme='light'] #floor-plan-workbench .fp-field select { color-scheme: light; }
[data-theme='light'] #floor-plan-workbench .fp-upload { color: #4a7a2a; }
[data-theme='light'] #floor-plan-workbench .fp-progress { background: #f5f7f3f2; color: #1a2414; }
[data-theme='light'] #floor-plan-workbench .fp-error { color: #9c2020; }
@media (max-width: 1000px) {
    #floor-plan-workbench .fp-canvas { padding: 22px; }
    #floor-plan-workbench .fp-comparison { gap: 12px; }
    #floor-plan-workbench .fp-image-stage { min-height: 220px; }
}
@media (max-width: 800px) {
    #floor-plan-workbench .fp-workspace { grid-template-columns: 1fr; }
    #floor-plan-workbench .fp-controls { border-left: 0; border-top: 1px solid var(--nf-fp-border); }
    #floor-plan-workbench .fp-image-stage { aspect-ratio: 4 / 3; }
    #floor-plan-workbench .fp-settings { padding-top: 24px; }
}
@media (max-width: 480px) {
    #floor-plan-workbench { padding: 32px 0 48px; }
    #floor-plan-workbench .fp-canvas { padding: 22px 16px; }
    #floor-plan-workbench .fp-workspace { border-radius: 16px; }
    #floor-plan-workbench .fp-comparison { grid-template-columns: 1fr; }
    #floor-plan-workbench .fp-frame-footer { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    #floor-plan-workbench *, #floor-plan-workbench *::before, #floor-plan-workbench *::after { transition: none !important; }
}
