/* Santa Lịch — compact interactive floor-plan + interpretation focus polish. */

/* Keep the visual editor comfortably inside the viewport on common desktop sizes. */
.floorplan-editor-layout {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .68fr);
    gap: 12px;
    max-width: 850px;
    width: 100%;
    margin: 0 auto;
}

.interactive-floorplan-board {
    width: min(100%, 560px);
    max-width: 560px;
    gap: 5px;
    padding: 6px;
    justify-self: center;
}

.floorplan-editor-sector,
.floorplan-editor-center {
    border-radius: 10px;
}

.floorplan-sector-target {
    padding: 9px 5px 42px;
}

.floorplan-sector-target > strong {
    font-size: .73rem;
}

.floorplan-sector-target > small {
    font-size: .56rem;
}

.floorplan-editor-inspector {
    padding: 11px;
}

.floorplan-inspector-empty {
    min-height: 230px;
    padding: 14px;
}

.floorplan-direction-pad button,
.floorplan-direction-center {
    min-height: 38px;
}

/* The result board follows the same compact visual rhythm as the editor. */
.floorplan-compass {
    gap: 6px;
    max-width: 620px;
}

.floorplan-compass .compass-sector,
.floorplan-compass .compass-center {
    min-height: 106px;
    padding: 9px;
    border-radius: 11px;
}

.floorplan-compass .compass-sector > span {
    font-size: .66rem;
}

.floorplan-compass .compass-sector > strong {
    margin: 3px 0 2px;
    font-size: .92rem;
}

.floorplan-compass .compass-sector > small,
.floorplan-compass .compass-center > small {
    font-size: .64rem;
}

.floorplan-compass .compass-center > strong {
    font-size: 1.25rem;
}

/* Result tokens double as accessible links to their explanation cards. */
button.floorplan-result-token {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, .18);
    cursor: pointer;
    font: inherit;
}

button.floorplan-result-token:hover,
button.floorplan-result-token:focus-visible,
button.floorplan-result-token.is-layout-active {
    outline: 2px solid var(--brand-yellow);
    outline-offset: 2px;
}

.floorplan-result-token.layout-token-supportive {
    background: var(--good);
}

.floorplan-result-token.layout-token-caution {
    background: var(--bad);
}

.floorplan-result-token.layout-token-mixed {
    background: #9a6a00;
}

.floorplan-result-token.layout-token-neutral,
.floorplan-result-token.layout-token-incomplete {
    background: var(--brand-blue-dark);
}

.floorplan-layout-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 10px;
    max-width: 620px;
    margin: 9px auto 0;
    color: var(--text-soft);
    font-size: .65rem;
}

.floorplan-layout-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.floorplan-layout-legend i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--brand-blue-dark);
}

.floorplan-layout-legend .legend-supportive i { background: var(--good); }
.floorplan-layout-legend .legend-caution i { background: var(--bad); }
.floorplan-layout-legend .legend-mixed i { background: #9a6a00; }
.floorplan-layout-legend .legend-neutral i,
.floorplan-layout-legend .legend-incomplete i { background: var(--brand-blue-dark); }

.floorplan-layout-legend + .floorplan-layout-hint {
    margin-top: 6px;
}

.floorplan-layout-hint {
    max-width: 620px;
    margin: 8px auto 0;
    color: var(--text-faint);
    font-size: .65rem;
    line-height: 1.4;
    text-align: center;
}

.fengshui-layout-card {
    scroll-margin-top: 92px;
    transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.fengshui-layout-card.is-layout-focused {
    border-color: var(--brand-yellow);
    box-shadow: 0 0 0 3px rgba(219, 168, 0, .18), var(--shadow-sm);
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    .floorplan-editor-layout {
        max-width: 560px;
    }

    .interactive-floorplan-board,
    .floorplan-editor-inspector {
        max-width: 520px;
    }

    .floorplan-compass {
        max-width: 560px;
    }
}

@media (max-width: 620px) {
    .interactive-floorplan-board {
        width: min(100%, 420px);
        gap: 3px;
        padding: 4px;
    }

    .floorplan-editor-sector,
    .floorplan-editor-center {
        border-radius: 7px;
    }

    .floorplan-sector-target {
        padding: 6px 2px 34px;
    }

    .floorplan-sector-target > strong {
        font-size: .61rem;
    }

    .floorplan-compass {
        gap: 4px;
        max-width: 430px;
    }

    .floorplan-compass .compass-sector,
    .floorplan-compass .compass-center {
        min-height: 86px;
        padding: 6px 4px;
        border-radius: 8px;
    }

    .floorplan-compass .compass-sector > span {
        font-size: .56rem;
    }

    .floorplan-compass .compass-sector > strong {
        font-size: .73rem;
    }

    .floorplan-compass .compass-sector > small,
    .floorplan-compass .compass-center > small {
        font-size: .54rem;
    }

    .floorplan-compass .compass-center > strong {
        font-size: .92rem;
    }

    .floorplan-result-token {
        padding: 2px 4px 2px 3px;
    }

    .floorplan-sector-badges .floorplan-result-token > em {
        font-size: .53rem;
    }
}
