.balance-page{max-width:1500px;margin:0 auto;padding:42px var(--fx-gutter) 70px}.balance-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.balance-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.9px;color:#74867e;font-weight:600;margin-bottom:13px}.balance-heading h1{font-size:46px;letter-spacing:-1.8px;font-weight:450}.balance-intro{font-size:14px;line-height:1.7;color:#74817b;margin-top:16px}.balance-back{font-size:12px;border-bottom:1px solid #bdccc1;padding-bottom:7px;white-space:nowrap}.balance-notice{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid #dce5d9;background:#f0f4ec;font-size:12px;color:#68776c;line-height:1.6;margin-bottom:24px;border-radius:5px}.balance-notice strong{color:#365648;font-weight:600}.balance-notice a{margin-left:auto;white-space:nowrap;font-size:11px}.balance-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#578674;flex-shrink:0}.balance-workspace{display:grid;grid-template-columns:minmax(0,1fr) 335px;border:1px solid var(--fx-line);border-radius:8px;overflow:hidden;background:#fff}.balance-canvas{min-width:0;background:radial-gradient(ellipse at 50% 43%,#fafcf7 0%,#fff 78%);padding:22px 24px 20px;display:flex;flex-direction:column}.balance-canvas-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6d8076;gap:12px}.balance-canvas-top>span{display:flex;align-items:center;gap:8px}.balance-text-button{border:0;background:none;font-size:11px;color:#697e71;padding:6px}.balance-text-button:hover{color:#204e46}.balance-diagram-wrap{width:100%;max-width:920px;margin:0 auto;position:relative}#balance-diagram{display:block;width:100%;overflow:visible;user-select:none}.balance-boundary{fill:none;stroke:#b7ccad;stroke-width:1.2}.balance-baseline{fill:none;stroke:#c5d5c0;stroke-width:1;stroke-dasharray:3 7}.balance-spoke{stroke:#edf1e9;stroke-width:1}.balance-center-title{text-anchor:middle;font-size:14px;letter-spacing:4px;fill:#466c5e}.balance-center-caption{text-anchor:middle;font-size:12px;fill:#859686}#balance-contour{fill:#6389770d;stroke:#407b6b;stroke-width:2.5;stroke-linejoin:round;pointer-events:none}.balance-node{cursor:grab;touch-action:none}.balance-node:active{cursor:grabbing}.balance-node .node-hit{fill:transparent;stroke:none}.balance-node .node-core{fill:#fff;stroke:var(--node-color);stroke-width:2}.balance-node.selected .node-core{fill:var(--node-color);stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 5px #346d6455)}.balance-node .node-halo{fill:var(--node-color);opacity:0}.balance-node.selected .node-halo,.balance-node:focus .node-halo{opacity:.13}.balance-node text{fill:#69786f;font-size:14px;dominant-baseline:middle;font-weight:450;pointer-events:none}.balance-node.selected text{font-weight:700;fill:#244f43}.balance-node.affected text{fill:#a0654f;font-weight:600}.balance-node.up text{fill:#327e76}.balance-node:focus{outline:none}.balance-node:focus .node-core{stroke:#142e29;stroke-width:4}.balance-node .node-tether{stroke:#dbe3da;stroke-width:1}.balance-context-line{fill:none;stroke:#416b88;stroke-width:2;stroke-dasharray:7 5;stroke-linecap:round;opacity:.95;vector-effect:non-scaling-stroke;pointer-events:none}.balance-context-halo{fill:none;stroke:#fff;stroke-width:5;opacity:.9;vector-effect:non-scaling-stroke;pointer-events:none}.balance-effect-line{fill:none;stroke-width:2.3;stroke-dasharray:7 5;opacity:.85;animation:balance-flow 6s linear infinite}.balance-effect-line.down{stroke:#bd8066}.balance-effect-line.up{stroke:#478d81}.balance-arrow.down{fill:#bd8066}.balance-arrow.up{fill:#478d81}@keyframes balance-flow{to{stroke-dashoffset:-120}}.balance-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 22px;font-size:10px;color:#6b7d71;margin-top:0}.balance-legend span{display:flex;align-items:center;gap:6px}.legend-band{width:12px;height:12px;background:#e7efe4;border:1px solid #bbceaf;border-radius:3px}.legend-line{width:18px;height:2px;background:#407b6b}.legend-down{width:18px;border-top:2px dashed #bd8066}.balance-hint{color:#8c978f;font-size:11px;text-align:center;line-height:1.65;margin-top:15px}.balance-status{margin-top:13px;text-align:center;font-size:11px;color:#637c6d;min-height:18px}.balance-controls{border-left:1px solid var(--fx-line);background:#fbfcf9;padding:28px 25px}.balance-controls select{font-size:12px;background:#fff;border-color:#d7e1d6;padding:11px;margin-bottom:22px}.balance-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.balance-selected-heading h2{font-size:25px;letter-spacing:-.7px}.balance-selected-heading>span{font-size:10px;color:#879781}.balance-control-note{margin-top:23px;font-size:11px;color:#748378;display:flex;justify-content:space-between;align-items:center}.balance-control-note output{font-size:23px;color:#366b59;font-weight:450;font-variant-numeric:tabular-nums}.balance-controls input[type=range]{padding:0;margin:16px 0 5px;accent-color:#3c7561;cursor:pointer;height:24px;outline-offset:2px;background:transparent;border:0}.balance-range-labels{display:flex;justify-content:space-between;font-size:9px;color:#93a08f}.balance-step-buttons{display:flex;gap:7px;margin-top:20px}.balance-step-buttons button{border:1px solid #cddccf;background:#fff;border-radius:4px;min-height:39px;min-width:39px;font-size:16px}.balance-step-buttons #balance-add{flex:1;font-size:11px;color:#fff;background:#356c59;border-color:#356c59}.balance-units{font-size:10px;line-height:1.65;color:#899589;margin-top:11px}.balance-control-section{border-top:1px solid #e0e7dc;margin-top:26px;padding-top:23px}.balance-effects-empty{font-size:12px;line-height:1.75;color:#7a897b}.balance-effect-card{position:relative;border-left:2px solid #c79278;padding:1px 0 1px 13px;margin:17px 0}.balance-effect-card.up{border-color:#5c9587}.balance-effect-card .effect-path{font-size:11px;font-weight:650;color:#98694f;margin-bottom:4px}.balance-effect-card.up .effect-path{color:#3b7d6c}.balance-effect-card h3{font-size:12px;font-weight:600;letter-spacing:0;line-height:1.55}.balance-effect-card p{font-size:11px;line-height:1.65;color:#7c897d;margin-top:5px}.balance-effect-card a{font-size:10px;border-bottom:1px solid #d0ddd0}.balance-effect-card .effect-step{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#99a18f;margin-bottom:5px}.balance-presets{display:grid;gap:7px}.balance-presets button{padding:11px 12px;background:#fff;border:1px solid #dce5d9;border-radius:4px;text-align:left;font-size:11px;display:flex;justify-content:space-between;gap:5px}.balance-presets button:hover{border-color:#6d927b;background:#f0f5ec}.balance-links-toggle{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:24px;font-weight:400}.balance-library{margin-top:33px;border-bottom:1px solid var(--fx-line);padding-bottom:32px}.balance-library-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.balance-library h2{font-size:24px;font-weight:450;letter-spacing:-.5px}.balance-library h2 span{font-size:13px;color:#82917c;margin-left:7px}.balance-library .balance-eyebrow{margin-bottom:7px}.balance-library input{max-width:255px;font-size:12px;background:transparent}.balance-filters{display:flex;gap:10px;margin:23px 0 17px;flex-wrap:wrap}.balance-filters button{border:0;border-radius:30px;background:transparent;padding:7px 13px;font-size:11px;color:#7a897e}.balance-filters button[aria-pressed=true]{background:#e5eee0;color:#345b46}.balance-library-list{display:flex;flex-wrap:wrap;gap:7px}.balance-library-list button{display:flex;align-items:center;gap:8px;border:1px solid #dce5dc;border-radius:4px;padding:7px 11px;background:#fff;color:#6a7a6e;font-size:11px;min-height:34px}.balance-library-list button:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--node-color)}.balance-library-list button[aria-pressed=true]{border-color:#52846b;background:#edf3e9;color:#2e5844}.balance-library-list button.is-changed:after{content:"↕";color:#a67854}.balance-method{display:grid;grid-template-columns:1fr 2fr;gap:90px;padding-top:45px;max-width:1100px}.balance-method h2{font-size:30px;font-weight:450;line-height:1.35;letter-spacing:-.6px}.balance-method h3{font-size:14px;margin-bottom:10px}.balance-method p:not(.balance-eyebrow){font-size:12px;line-height:1.9;color:#81907f;margin-bottom:22px}.balance-method a{text-decoration:underline;text-underline-offset:3px}#balance-loading{padding:45px 0;text-align:center;font-size:14px;color:#71806f}#balance-retry{margin-bottom:25px}#balance-no-results{font-size:12px;color:#7c897c;padding:15px 0}

.balance-tempo-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;margin-top:14px;border:1px solid #dce6de;border-radius:6px;background:#f5f8f2;font-size:12px;color:#426759}
.balance-tempo-bar output{font-size:18px;font-variant-numeric:tabular-nums;margin-left:8px;font-weight:600}
.balance-tempo-bar small{display:block;margin-top:3px;color:#738278;font-size:10px}
.balance-tempo-bar button{flex-shrink:0;border:1px solid #89aa96;border-radius:4px;background:#fff;color:#315e4b;padding:9px 11px;font-size:11px}
.balance-tempo-bar button:hover{background:#eaf2e5}
.balance-tempo-bar button:disabled{opacity:.5;cursor:default}
#balance-orbits{pointer-events:none}
.balance-orbit{transform-origin:480px 480px;transform-box:view-box;--orbit-color:#67968b}
.balance-orbit:nth-child(2){--orbit-color:#b5a16b}
.balance-orbit:nth-child(3){--orbit-color:#7792b4}
.balance-orbit-track{fill:none;stroke:var(--orbit-color);stroke-width:1;opacity:.25}
.balance-orbit-arc{fill:none;stroke:var(--orbit-color);stroke-width:3;stroke-linecap:round;opacity:.8}
.balance-orbit-dot{fill:var(--orbit-color);stroke:#fff;stroke-width:2}
.balance-node.context-related .node-core{stroke:#416b88;stroke-width:3;fill:#d7e8f3}
.balance-node.context-related .node-halo{fill:#416b88;opacity:.16}
.balance-node.context-related text{fill:#294f6a;font-weight:650}
.balance-node.role-focus .node-halo{opacity:.22}
.balance-node.role-focus text{font-weight:650;fill:#315d4a}
.balance-role-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.balance-role-badge{display:inline-block;border:1px solid #d0ded1;border-radius:4px;background:#edf4e9;color:#42634d;padding:4px 7px;font-size:10px;line-height:1.5}
.balance-role-badge[data-role=cofactors]{border-color:#d7c795;background:#f7f1df;color:#795f23}
.balance-role-note{font-size:11px;color:#738278}
.balance-role-filter-heading{font-size:12px;color:#3d6150;margin-top:18px}
.balance-role-filter-heading span{font-size:11px;color:#7a897e;margin-left:10px}
.balance-role-filters{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 20px}
.balance-role-filters button{border:1px solid #d5e0d6;border-radius:4px;background:#fff;color:#62776a;padding:7px 10px;font-size:11px}
.balance-role-filters button[aria-pressed=true]{border-color:#426f59;background:#426f59;color:#fff}

.balance-map-context{margin:18px 12px 0;padding:18px;border:1px solid #dce5df;border-radius:6px;background:#f8faf6}
.balance-map-context h3{font-size:14px;line-height:1.5;color:#3c6253}
.balance-context-explanation{font-size:11px;color:#6a7f73;line-height:1.7;margin:8px 0 12px}
.balance-context-chips{display:flex;flex-wrap:wrap;gap:7px}
.balance-context-chips button,.balance-context-chips span{padding:6px 9px;border:1px solid #ccd9df;border-radius:4px;background:#fff;color:#45667b;font-size:11px;line-height:1.4}
.balance-context-chips button:hover{border-color:#426f59;background:#edf4e9}
.balance-context-chips button.has-effect{border-color:#65a18a;background:#e5f1e8;color:#2c6651}
.balance-context-organs{margin-top:14px;font-size:11px;color:#526e60}
.balance-context-organs summary{cursor:pointer;padding:5px 0}
.balance-context-organs .balance-context-chips{margin-top:10px}
.balance-context-map-link{display:inline-block;margin-top:14px;font-size:11px;text-decoration:underline;text-underline-offset:3px}

.balance-reset-all{border:1px solid #729783;border-radius:5px;background:#edf4e9;color:#315d48;font-size:12px;font-weight:600;padding:10px 14px;min-height:40px;cursor:pointer}
.balance-reset-all:hover{background:#dfeedd;border-color:#315d48}
.balance-step-buttons{flex-wrap:wrap}
.balance-step-buttons .balance-reset-all{flex:0 0 100%;font-size:12px;background:#edf4e9;border-color:#729783;color:#315d48}
.balance-orbit-labels{pointer-events:none}
.balance-orbit-number{--process-color:#67968b}
.balance-orbit-number:nth-child(2){--process-color:#b5a16b}
.balance-orbit-number:nth-child(3){--process-color:#7792b4}
.balance-orbit-number circle{fill:#fff;stroke:var(--process-color);stroke-width:2}
.balance-orbit-number text{fill:#2d4d41;font-size:16px;font-weight:700;text-anchor:middle;dominant-baseline:central}
.balance-processes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 12px 0;align-items:start}
.balance-process-card{--process-color:#67968b;border:1px solid #dce5df;border-top:3px solid var(--process-color);border-radius:5px;background:#fbfcf9;padding:10px}
.balance-process-card[data-process=lymph]{--process-color:#b5a16b}
.balance-process-card[data-process=bile]{--process-color:#7792b4}
.balance-process-card summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:600;color:#385b4c;list-style:none}
.balance-process-card summary::-webkit-details-marker{display:none}
.balance-process-card summary:after{content:'+';margin-left:auto}
.balance-process-card[open] summary:after{content:'−'}
.balance-process-card summary span{display:inline-grid;place-items:center;flex:0 0 19px;height:19px;border-radius:50%;background:var(--process-color);color:#fff;font-size:11px}
.balance-process-card p{font-size:11px;line-height:1.65;color:#63796b;margin-top:10px}
.balance-process-card a{display:inline-block;font-size:10px;line-height:1.5;margin-top:10px;color:#426c59;text-decoration:underline;text-underline-offset:2px}
.balance-process-note{font-size:10px;line-height:1.6;color:#748477;margin:10px 14px 16px}
@media(max-width:600px){.balance-processes{grid-template-columns:1fr}.balance-tempo-bar{flex-wrap:wrap}.balance-tempo-bar>span{flex:1 1 180px}.balance-tempo-bar button{margin-left:auto}.balance-orbit-number text{font-size:20px}}
@media(max-width:1200px){.balance-workspace{grid-template-columns:minmax(0,1fr) 300px}.balance-controls{padding:24px 20px}.balance-canvas{padding:18px 10px}.balance-page{padding-top:32px}.balance-heading h1{font-size:40px}.balance-notice{font-size:11px}.balance-notice a{display:none}}
@media(max-width:950px){.balance-workspace{grid-template-columns:1fr}.balance-controls{border-left:0;border-top:1px solid var(--fx-line);display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.balance-controls>*{grid-column:1}.balance-controls>.balance-control-section{grid-column:2;grid-row:1 / span 11;margin:0;padding:0;border:0}.balance-controls>.balance-control-section+.balance-control-section{grid-column:2;grid-row:12 / span 4;margin-top:20px}.balance-controls>.balance-links-toggle{grid-row:14}.balance-controls>.balance-units:last-child{grid-row:15}.balance-diagram-wrap{max-width:790px}.balance-method{gap:40px}.balance-canvas{padding:20px}}
@media(max-width:600px){.balance-page{padding:25px 16px 45px}.balance-heading{align-items:flex-start;gap:10px}.balance-heading h1{font-size:31px;letter-spacing:-1.1px}.balance-intro{font-size:12px;margin-top:12px}.balance-back{font-size:10px;max-width:75px;white-space:normal}.balance-eyebrow{font-size:9px;letter-spacing:1.5px}.balance-notice{padding:12px;align-items:flex-start;gap:9px}.balance-notice>.balance-dot{margin-top:6px}.balance-controls{display:block;padding:23px}.balance-controls>.balance-control-section{border-top:1px solid #e0e7dc;margin-top:25px;padding-top:22px}.balance-controls>.balance-control-section+.balance-control-section{margin-top:25px}.balance-canvas{padding:15px 5px}.balance-canvas-top{padding:0 10px}.balance-node text{font-size:17px}.balance-hint{padding:0 16px;font-size:10px}.balance-legend{font-size:9px;gap:8px 13px}.balance-library-heading{display:block}.balance-library input{max-width:none;margin-top:18px}.balance-library h2{font-size:22px}.balance-filters{gap:2px}.balance-filters button{padding:7px 9px;font-size:10px}.balance-method{display:block;padding-top:30px}.balance-method h2{font-size:26px;margin-bottom:25px}.balance-status{padding:0 12px}.balance-center-title{font-size:19px}.balance-center-caption{font-size:15px}}
@media(prefers-reduced-motion:reduce){.balance-effect-line{animation:none}}
