.bac-wrapper {
max-width: 640px;
margin: 0 auto;
padding: 1.5rem;
background: #fff;
box-shadow: 0 10px 35px rgba(15, 10, 60, 0.08);
border-radius: 18px;
font-family: "PingFang SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bac-form {
display: grid;
gap: 1rem;
margin-bottom: 1.25rem;
}

.bac-form h2 {
margin: 0 0 0.5rem;
font-size: 1.25rem;
color: #1f1f1f;
}

.bac-form label {
display: flex;
flex-direction: column;
gap: 0.25rem;
font-size: 0.95rem;
color: #444;
}

.bac-form input,
.bac-form select {
padding: 0.65rem 0.75rem;
border: 1px solid #ddd;
border-radius: 10px;
background: #fafafa;
font-size: 0.95rem;
}

.bac-form button {
padding: 0.85rem;
border: none;
border-radius: 12px;
background: linear-gradient(135deg, #ff6b6b, #ffa34d);
color: #fff;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.bac-form button:hover {
transform: translateY(-1px);
box-shadow: 0 8px 20px rgba(255, 123, 69, 0.35);
}

.bac-result {
padding: 1rem;
border: 1px solid #f1f1f1;
border-radius: 14px;
min-height: 150px;
background: #fff7f1;
}

.bac-placeholder {
margin: 0;
color: #999;
text-align: center;
}

.bac-pillars {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 0.75rem;
margin-bottom: 1rem;
}

.bac-pillars__card {
padding: 0.9rem;
border-radius: 12px;
background: #fff;
box-shadow: inset 0 0 0 1px rgba(255, 140, 105, 0.2);
text-align: center;
}

.bac-pillars__card span {
display: block;
font-size: 0.85rem;
color: #666;
margin-bottom: 0.3rem;
}

.bac-pillars__card strong {
font-size: 1.2rem;
color: #ff7b54;
}

.bac-wuxing {
display: grid;
gap: 0.4rem;
}

.bac-wuxing__item {
display: flex;
align-items: center;
gap: 0.4rem;
font-size: 0.9rem;
}

.bac-wuxing__bar {
flex: 1;
height: 6px;
border-radius: 999px;
background: rgba(255, 123, 84, 0.15);
position: relative;
overflow: hidden;
}

.bac-wuxing__bar::after {
content: "";
position: absolute;
left: 0;
top: 0;
height: 100%;
background: linear-gradient(90deg, #ffac81, #ff7b54);
width: var(--percent, 30%);
}

.bac-chat-placeholder {
margin-top: 1.5rem;
padding: 1rem;
border-radius: 14px;
background: #f5f5ff;
color: #4c4c84;
}

@media (max-width: 600px) {
.bac-wrapper {
padding: 1.1rem;
box-shadow: none;
border-radius: 0;
}

/* 让年月日横向排布并留出间距 */
.bac-date-group .bac-date-fields {
display: flex;
gap: 0.8rem;
width: 100%;
}

/* 三个下拉一样宽 */
.bac-date-group .bac-date-fields select {
flex: 1;
}

/* 小螢幕時留一點空氣 */
@media (max-width: 480px) {
.bac-date-group .bac-date-fields {
gap: 0.6rem;
}
}

.bac-date-fields input[type="number"] {
flex: 1;
}

.bac-suici {
margin-top: 1rem;
padding: 0.8rem;
border-radius: 10px;
background: #fff4e6;
}

.bac-suici h4 {
margin: 0 0 0.4rem;
font-size: 0.95rem;
color: #c05900;
}

.bac-suici ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
gap: 0.75rem;
}

.bac-suici li {
font-weight: 600;
color: #a23d00;
}





}