.composition-diagram{display:block;width:100%;max-width:400px;height:auto;overflow:visible}.composition-diagram>path{fill:none;stroke:#7b80a7;stroke-width:1.7}.composition-diagram>circle{fill:#f5f4f9;stroke:#d2d1dd;stroke-width:1}.diagram-node{height:46px;display:flex;align-items:center;justify-content:center}.edge-label{height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.edge-label .math{display:inline-block;background:var(--paper);padding:5px 4px;font-size:17px;line-height:1.4}.diagram-node .math{font-size:21px}.relation-equation{margin:10px 0}.hexagram-operations{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--border);padding:18px 0}.structure-layout .composition-warning{font-size:14px;line-height:1.85;margin:20px 0}.divination-symbol{width:62px;gap:7px;flex:none}.divination-symbol .yao{height:5px;gap:10px}.divination-symbol .moving-yao span{background:#ba3340}.cast-time,.cast-note,.cast-numbers{font-size:13px;color:var(--muted);margin:10px 0}.cast-subject{white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0}.cast-history-entry{border-top:1px solid var(--border);padding:20px 0}.cast-history-entry>summary{cursor:pointer;list-style:none}.cast-history-entry>summary small{display:block;font-size:13px;color:var(--muted);margin:4px 0;white-space:pre-wrap}.cast-history-entry .document-heading{margin-top:20px}.cast-history-entry .original{margin:18px 0}.cast-history-entry label{display:block;margin:20px 0 8px;font-size:14px}.history-status{font-size:13px;color:var(--muted);display:block;margin-top:8px}#cast-history{margin-top:34px}.tool-panel form>label{display:block;margin:20px 0}.tool-panel h1+p{margin-top:12px}.flow-rule{font-size:13px;color:var(--muted);margin:14px 0 24px}.flow-time{font-size:15px;color:var(--muted);margin:12px 0}.flow-detail{margin-top:28px}.flow-pillars{margin-top:24px}
@media(max-width:600px){.composition-diagram{max-width:360px}.structure-layout .edge-label .math{font-size:17px}.hexagram-operations{gap:8px}.hexagram-operations button{font-size:13px}.tool-result .document-heading{align-items:flex-start}}
#tools-panel:not(.bazi-panel){width:calc(100% - 48px);max-width:1150px;margin:24px auto}
@media(max-width:720px){#tools-panel:not(.bazi-panel){width:calc(100% - 32px);margin:16px auto}}
.flow-lunar-date{font-size:14px;color:var(--muted)}.flow-settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 6px}.flow-settings label{display:flex;gap:12px;align-items:center;font-size:14px}.flow-settings select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:6px;min-height:38px;padding:6px 10px;max-width:100%}.flow-settings small{font-size:13px;color:var(--muted)}.flow-settings select:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}
@media(max-width:600px){.flow-settings label{display:block;width:100%}.flow-settings select{display:block;width:100%;margin-top:7px}}
.structure-layout .relation-item>div{min-width:0}.structure-layout .relation-item p{overflow-wrap:anywhere}.composition-summary{font-size:14px;line-height:1.85;color:var(--muted);text-align:left;margin:14px 0 18px}
@media(min-width:1151px){
 .structure-layout .mapping-canvas{align-self:stretch;display:flex;align-items:center}
 .structure-layout .relation-pair{position:relative;align-self:stretch;grid-template-rows:36fr minmax(min-content,194fr) minmax(min-content,196fr) 34fr;padding:12px 0}
 .structure-layout .relation-item{align-self:center;padding:0;border:0}
 .structure-layout .relation-item[data-trigram-role="g"]{grid-row:2}
 .structure-layout .relation-item[data-trigram-role="f"]{grid-row:3}
.structure-layout .relation-pair:after{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid var(--border);pointer-events:none}
}
.cast-filter{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:18px 0}.tool-panel .cast-filter>label{margin:0;min-width:150px}.cast-filter label{font-size:13px;color:var(--muted)}.cast-filter input,.cast-filter select,.cast-review select{display:block;width:100%;box-sizing:border-box;min-height:40px;margin-top:6px;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;padding:8px 10px}.cast-range-fields{display:flex;gap:12px}.cast-filter-shortcuts{display:flex;gap:6px;flex-wrap:wrap}.cast-filter [hidden],.cast-review [hidden]{display:none!important}.cast-filter .tool-error{width:100%;margin:0}.cast-range-caption{font-size:13px;color:var(--muted);margin:16px 0}.cast-summary-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.cast-accuracy{display:inline-block;padding:3px 8px;border-radius:5px;font-size:12px;font-weight:400;white-space:nowrap;background:#eeedf2;color:#676778}.cast-accuracy.accurate{background:#e8f2ed;color:#28664a}.cast-accuracy.inaccurate{background:#f7e9e9;color:#9b3a43}.cast-review{margin:24px 0 12px;padding:0 20px 18px;border:1px solid var(--border);border-radius:8px;min-width:0}.cast-review legend{padding:0 8px;font-size:14px;color:var(--ink)}.cast-history-entry textarea{display:block;width:100%;box-sizing:border-box;min-height:100px;max-width:100%;margin-top:8px;resize:vertical;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;line-height:1.8;padding:10px 12px}.cast-review select{max-width:220px}.cast-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cast-review-actions .history-status{margin:0;overflow-wrap:anywhere}.cast-filter input:focus-visible,.cast-filter select:focus-visible,.cast-history-entry textarea:focus-visible,.cast-review select:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.cast-history-entry[open]>summary{margin-bottom:20px}.cast-history-entry>summary:focus-visible{outline:2px solid var(--indigo);outline-offset:4px;border-radius:4px}
@media(max-width:600px){.cast-filter{align-items:stretch;gap:10px}.tool-panel .cast-filter>label,.cast-range-fields{width:100%}.cast-range-fields{flex-direction:column;gap:10px}.cast-review{padding:0 12px 14px}.cast-filter-shortcuts{width:100%}#cast-history .section-heading{gap:12px;flex-wrap:wrap}.cast-history-entry textarea{font-size:16px}.cast-filter input,.cast-filter select,.cast-review select{font-size:16px}}
.cast-filter .cast-search-field{flex:1;min-width:260px}.cast-range-caption{overflow-wrap:anywhere}.cast-filter select{max-width:100%}
@media(max-width:600px){.cast-filter .cast-search-field{min-width:0;width:100%;flex:auto}}
