.qm-page{--text:var(--ink)}.qm-page [hidden]{display:none!important}.qm-page header{margin-bottom:24px}.qm-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.qm-heading h2{margin:5px 0;font-weight:500;font-size:clamp(22px,3vw,32px)}.qm-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.qm-inputs>*{min-width:0}.qm-page input,.qm-page select{min-width:0;max-width:100%;height:50px;font-size:16px}.qm-page input[type=datetime-local]{appearance:none}.qm-actions{display:flex;gap:10px;flex-wrap:wrap}.qm-actions .primary{width:auto;margin:0;padding:12px 30px}.qm-notice,#qmError{color:var(--tech)}#qmError:empty{display:none}.qm-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:20px 0}.qm-pillars>div{padding:12px;text-align:center;background:var(--card);border-right:1px solid var(--line)}.qm-pillars>div:last-child{border:0}.qm-pillars small{display:block;color:var(--muted);font-size:14px}.qm-pillars strong{font-family:'Songti TC',serif;font-size:32px;font-weight:500;letter-spacing:.15em}.qm-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.qm-summary>span{padding:6px 12px;background:var(--tint);border:1px solid var(--line);border-radius:6px;font-size:14px}.qm-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px;align-items:start}.qm-board-panel,.qm-detail{min-width:0}.qm-orientation{font-size:14px;color:var(--muted)}.qm-orientation select{margin:3px 0}.qm-focus{display:flex;gap:5px;flex-wrap:wrap}.qm-focus button{flex:1;padding:8px 6px;white-space:nowrap}.qm-focus button[aria-pressed=true]{background:var(--ink);color:var(--card)}.qm-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;container-type:inline-size}.qm-cell{text-align:left;padding:14px 12px;min-width:0;border:1px solid var(--line);background:var(--bg);transition:border-color .2s}.qm-cell[aria-pressed=true]{border:2px solid var(--gold);padding:13px 11px;background:var(--tint)}.qm-cell.focused{box-shadow:inset 0 0 0 2px var(--tech)}.qm-cell .qm-pos{display:flex;justify-content:space-between;gap:4px;font-size:14px;color:var(--muted)}.qm-cell .qm-god{font-size:15px;margin:10px 0 4px;display:block}.qm-door{display:block;font-family:'Songti TC',serif;color:var(--gold);font-size:clamp(22px,4.5cqw,36px);font-weight:500;line-height:1.4}.qm-star{display:block;color:var(--tech);font-size:clamp(15px,2.9cqw,22px);margin:6px 0}.qm-stems{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:18px}.qm-stems small{font-size:12px;color:var(--muted);margin-right:4px}.qm-taglist{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;min-height:23px}.qm-taglist span{font-size:12px;padding:1px 5px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.qm-center{text-align:center}.qm-center strong{font-family:'Songti TC',serif;font-size:clamp(28px,5cqw,48px);color:var(--gold);display:block}.qm-center p{font-size:14px;color:var(--muted)}.qm-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.qm-detail h2{font-size:28px;font-weight:500;color:var(--gold)}.qm-detail h3{font-size:18px;font-weight:500;margin:18px 0 8px}.qm-detail p{font-size:16px}.qm-detail section+section{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.qm-detail .qm-origin{font-size:14px;color:var(--muted)}.qm-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px}.qm-page summary{cursor:pointer;min-height:36px}.qm-page ol li,.qm-page ul li{margin-bottom:10px}@media(max-width:1100px){.qm-workspace{grid-template-columns:1fr}.qm-guide{grid-template-columns:1fr 1fr}.qm-cell{min-height:200px}}@media(max-width:767px){.qm-inputs{grid-template-columns:1fr;gap:4px}.qm-page .card{padding:18px}.qm-heading{align-items:start;flex-wrap:wrap}.qm-heading h2{font-size:23px}.qm-board{gap:5px}.qm-board-panel.card{padding:12px}.qm-cell{padding:9px 7px;min-height:205px}.qm-cell[aria-pressed=true]{padding:8px 6px}.qm-cell .qm-pos{display:block;font-size:12px}.qm-cell .qm-pos span{display:block}.qm-stems{gap:5px;font-size:18px}.qm-cell .qm-god{font-size:14px}.qm-taglist span{padding:1px 3px}.qm-guide{grid-template-columns:1fr}.qm-pillars strong{font-size:26px}.qm-center p{font-size:12px}.qm-orientation select{height:44px}}
@media(prefers-reduced-motion:reduce){.qm-cell{transition:none}}

#qmWalk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}#qmWalk section{padding:1rem;border:1px solid var(--line);border-radius:12px}#qmWalk p{line-height:1.8}.qm-diff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.qm-diff{border:1px solid var(--line);border-radius:12px;padding:1rem;min-width:0}.qm-diff.changed{border-top:3px solid var(--gold)}.qm-diff-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem 0;border-top:1px solid var(--line)}.qm-diff-row>strong{grid-column:1/-1}.qm-diff-row small{display:block;color:var(--muted);font-size:.85rem}.qm-diff-row span{overflow-wrap:anywhere}#qmCompareStatus{line-height:1.8}#qmComparison[hidden]{display:none}@media(max-width:1100px){#qmWalk,.qm-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#qmWalk,.qm-diff-grid{grid-template-columns:1fr}.qm-compare .qm-actions{width:100%;flex-wrap:wrap}}

.qm-topic-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.qm-topic-controls label{min-width:220px}#qmTopicRead{padding:1rem;background:var(--tint);border-radius:12px;margin-bottom:1rem}#qmTopicRead section{margin:1rem 0}.qm-layers{padding:12px 0;border-top:1px solid var(--line);margin-bottom:16px}.qm-layer-controls{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;margin:12px 0}.qm-layer-controls label{display:flex;gap:8px;align-items:center;min-height:44px}.qm-page .qm-layer-controls input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--tech)}.qm-cell.qm-topic-match{position:relative;border-style:dashed;border-color:var(--tech)}.qm-topic-match .qm-pos:after{content:'用神';color:var(--tech);font-size:12px}.qm-pos{flex-wrap:wrap}.qm-board[data-hidden-layers~=star] .qm-star,.qm-board[data-hidden-layers~=door] .qm-door,.qm-board[data-hidden-layers~=god] .qm-god,.qm-board[data-hidden-layers~=stems] .qm-stems,.qm-board[data-hidden-layers~=stems] .qm-center-earth,.qm-board[data-hidden-layers~=tags] .qm-taglist{display:none}

.qm-topic-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem}.qm-topic-comparison p{line-height:1.8}@media(max-width:600px){.qm-topic-comparison{grid-template-columns:1fr}}

/* v218: synthesis and explicit time comparison */
.qm-decision{border-bottom:1px solid var(--line);padding:8px 0 24px;margin-bottom:24px}
.qm-decision article{margin:14px 0}
.qm-decision h4{margin:8px 0 4px}
.qm-decision-actions,.qm-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qm-decision-actions article,.qm-time-grid article{border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0;overflow-wrap:anywhere}
.qm-decision-actions article{background:var(--soft)}
.qm-timing{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}
.qm-time-grid{margin-top:16px}
.qm-time-grid button{padding:8px 12px}
.qm-time-grid h4{margin:0}
@media(max-width:600px){.qm-decision-actions,.qm-time-grid{grid-template-columns:1fr}}

/* v219: chart first, reading second, supporting tools last. */
.qm-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px;align-items:start;margin-bottom:20px}
.qm-overview>.card{margin:0;min-width:0}
.qm-chart-facts h2{font-size:22px;font-weight:500;margin:0}
.qm-chart-facts .qm-pillars>div{padding:12px 4px}
.qm-chart-facts .qm-pillars strong{font-size:28px;letter-spacing:.04em}
.qm-chart-facts .qm-summary{display:grid;gap:8px;margin:0}
.qm-chart-facts .qm-summary>span{display:block}
.qm-settings>summary{font-weight:600}
.qm-settings[open]>summary{margin-bottom:16px}
.qm-settings form{margin:0}
.qm-timing.card{border:1px solid var(--line);margin:0 0 20px;padding:20px}
@media(max-width:900px){
 .qm-overview{grid-template-columns:minmax(0,1fr);gap:14px}
 .qm-chart-facts{order:-1}
 .qm-chart-facts .qm-summary{display:flex;flex-wrap:wrap}
 .qm-chart-facts .qm-pillars{margin:12px 0}
 .qm-chart-facts .qm-summary>span{font-size:12px;padding:5px 8px}
}
