.hidden { display: none; }

/* 表单卡片 */
.card { background:var(--color-pan); border:1px solid var(--color-brand); border-radius:8px; padding:10px 18px; margin-bottom:16px; max-width:700px; margin-left:10px; }
.card h3 { font-size:16px; color:var(--color-brand); margin-bottom:6px; }
.form-row { display:flex; align-items:center; gap:6px; margin-bottom:5px; flex-wrap:wrap; }
.form-row .lbl { font-size:13px; color:var(--color-brand); min-width:60px; font-family:"MiSans",sans-serif; font-weight:400; }
.form-row .lbl.lbl-inline { min-width:auto; margin-left:0; }
.mob-row { display:inline-flex; align-items:center; gap:4px; flex-wrap:wrap; }
.form-row input,.form-row select { padding:4px 8px; border:1px solid var(--color-border); border-radius:4px; font-size:13px; background:#fff; height:28px; box-sizing:border-box; }
.form-row input[type=number] { width:56px; text-align:center; }
.form-row input[type=number].xk-year { width:68px; }
.xk-month,.xk-day,.xk-hour { width:48px; }
.form-row input[type=text] { width:120px; }
.form-row select { width:auto; min-width:56px; appearance:auto; padding-right:20px; }
.xk-client-input { width:120px; }
.xk-period-info { font-size:12px; color:var(--color-gold); margin-left:6px; }
.form-row input.xk-build-year { width:120px; font-size:12px; padding:2px 4px; border:1px solid var(--color-border); border-radius:3px; }
.xk-select { min-width:56px; }
.xk-tools-row { justify-content:space-between; }
.xk-action-row { justify-content:space-between; }
.xk-tip { font-size:10px; color: var(--color-text-faint); }
.mobile-actions-outside { display:none; }
.xk-time-btn { padding:2px 8px; border:1px solid var(--color-border); border-radius:3px; background:#fff; color: var(--color-text-sec); cursor:pointer; font-size:11px; height:24px; }
.xk-reset-btn { margin:0 4px; }
.xk-gua-btn { padding:3px 12px; border:1px solid var(--color-border); border-radius:4px; background:#fff; color: var(--color-text-sec); cursor:pointer; font-size:12px; font-family:"MiSans",sans-serif; font-weight:400; height:24px; }
.xk-gua-btn.active { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
.xk-fn-btn { padding:3px 12px; border:none; border-radius:4px; cursor:pointer; font-size:12px; font-family:"MiSans",sans-serif; font-weight:400; background:var(--color-btn-dark); color:var(--color-vip-gold); height:24px; }
.xk-fn-bar { text-align:center; margin-top:10px; }
.xk-center-row { justify-content:center; margin-top:6px; }
.xk-fly-input select { font-size:12px; padding:2px 4px; border:1px solid var(--color-border); border-radius:3px; }

/* 结果区域 */
.xk-result-area { padding:10px; background:#fff; border-radius:8px; margin-bottom:20px; box-shadow:0 1px 6px rgba(0,0,0,.08); max-width:700px; margin-left:10px; }
.xk-compass { margin:12px auto; text-align:center; }
.xk-report-box { margin-top:12px; padding:14px; background:var(--color-parchment); border:1px solid var(--color-border-warm); border-radius:6px; font-size:13px; color: var(--color-text); line-height:1.9; white-space:pre-wrap; }

/* 信息表格 */
.xk-info-table { width:100%; max-width:660px; margin:0 auto 0; border-collapse:collapse; font-size:15px; color: var(--color-text); border:1px solid var(--color-border-warm); table-layout:auto; background:#fff; }
.xk-info-table td { padding:2px 4px; vertical-align:middle; border-right:1px solid var(--color-border-warm); border-bottom:1px solid var(--color-border-warm); line-height:1.4; }
.xk-info-table td:last-child { border-right:none; }
.xk-info-table tr:last-child td { border-bottom:none; }
.xk-info-table .xk-label { width:50px; color:var(--color-gold); font-weight:300; text-align:center; background:var(--color-parchment); white-space:nowrap; border-right:1px solid var(--color-border-warm); }
.xk-info-table .xk-value { text-align:center; font-weight:300; color: var(--color-text); }

/* 九宫格 */
.xk-palace-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--color-border-warm); border:1px solid var(--color-border-warm); max-width:660px; margin:12px auto; }
.xk-palace { background:#fff; min-height:145px; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; }
.xk-palace.xk-center { background:var(--color-parchment); }
.xk-mountain { position:absolute; top:11px; left:18px; font-size:22px; font-weight:300; color:#2D8A2D; }
.xk-facing { position:absolute; top:11px; right:18px; font-size:22px; font-weight:300; color:var(--color-fire); }
.xk-period { font-size:26px; font-weight:300; color:var(--color-gold); line-height:1; }
.xk-time-rows { display:flex; flex-direction:row; align-items:center; gap:6px; margin-top:4px; }
.xk-palace.hide-time .xk-time-rows { display:none; }
.xk-time-col { display:flex; flex-direction:column; align-items:center; line-height:1.3; }
.xk-time-col i { font-size:11px; font-weight:300; color: var(--color-text-muted); font-style:normal; }
.xk-time-col b { font-size:14px; font-weight:300; color: var(--color-text-sec); }
.xk-gong-name { position:absolute; bottom:4px; left:0; right:0; text-align:center; font-size:13px; color: var(--color-star-sub); }
.xk-wang { position:absolute; bottom:4px; left:6px; font-size:12px; color: var(--color-text-faint); }
.xk-legend { text-align:center; font-size:11px; color: var(--color-star-sub); margin-top:8px; }
.xk-legend span { margin:0 8px; }
.xk-legend-s { color:#2D8A2D; }
.xk-legend-x { color:var(--color-fire); }
.xk-legend-y { color:var(--color-gold); }

/* VIP 按钮已统一到 common.css */

/* VIP 弹窗 */
