.fs-app { max-width: 880px; margin: 0 auto; font-size: 16px; line-height: 1.6; }
.fs-form { background: #f7f5f0; border: 1px solid #e2dccb; border-radius: 10px; padding: 20px; margin-bottom: 20px; }
.fs-form-row { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 14px; align-items: flex-end; }
.fs-form-row label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: #444; }
.fs-form-row input, .fs-form-row select { padding: 8px 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 15px; }
.fs-save-label { flex-direction: row !important; align-items: center; gap: 6px !important; }
.fs-btn { background: #8a5a2b; color: #fff; border: none; border-radius: 8px; padding: 10px 24px; font-size: 15px; cursor: pointer; }
.fs-btn:hover { background: #6f4720; }
.fs-house-details { margin-bottom: 14px; }
.fs-house-details summary { cursor: pointer; color: #6f4720; font-size: 14px; }

.fs-result { background: #fff; border: 1px solid #e2dccb; border-radius: 10px; padding: 20px; }
.fs-result h3 { margin-top: 0; }
.fs-error { color: #b3261e; background: #fdecea; border-radius: 6px; padding: 10px 14px; }
.fs-loading { color: #888; }

.fs-grid3x3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 14px 0; }
.fs-cell { border: 1px solid #ddd; border-radius: 8px; padding: 10px; min-height: 90px; background: #fafafa; }
.fs-cell.fs-lucky { background: #eef7ee; border-color: #a9d7ab; }
.fs-cell.fs-unlucky { background: #fdecea; border-color: #f0a9a3; }
.fs-cell.fs-duty { outline: 2px solid #8a5a2b; }
.fs-cell .fs-cell-dir { font-weight: 600; font-size: 13px; color: #666; }
.fs-cell .fs-cell-main { font-size: 18px; font-weight: 700; margin: 4px 0; }
.fs-cell .fs-cell-sub { font-size: 12px; color: #777; }

.fs-tag { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 12px; margin-right: 4px; }
.fs-tag.fs-luck-good { background: #d9f0d9; color: #2a6b2a; }
.fs-tag.fs-luck-bad { background: #f7d9d6; color: #a3352b; }

.fs-disclaimer, .fs-confidence-note { font-size: 13px; color: #888; margin-top: 12px; }
.fs-records-list { list-style: none; padding: 0; }
.fs-records-list li { border-bottom: 1px solid #eee; padding: 10px 0; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.fs-records-list .fs-del { color: #b3261e; background: none; border: none; cursor: pointer; font-size: 13px; }
