/* Independent joint-optimization study: neutral gray, no combat styles. */
.joint-section{margin:12px 0 72px;padding:34px 0 44px;border-top:1px solid #484848;border-bottom:1px solid #484848;scroll-margin-top:100px}
.joint-intro{max-width:870px;font-size:14px;line-height:1.85;color:#c5c5c5;margin:20px 0 26px}.joint-intro strong{color:#eee;font-weight:550}
.joint-controls{display:flex;gap:22px;flex-wrap:wrap;align-items:end;padding:24px;background:#232323;border:1px solid #484848;border-radius:20px}.joint-controls>div{flex:1;min-width:230px}.joint-controls .rank-switch{max-width:365px}.joint-controls select{width:100%;border:1px solid #535353;border-radius:12px;background:#303030;color:#ededed;font:inherit;font-size:12px;padding:12px 10px;min-height:44px}.joint-controls .logis-modes button{flex:1;white-space:nowrap}.joint-status{font-size:11px;line-height:1.8;color:#bbb;margin:17px 4px}.joint-comparison{font-size:12px;line-height:1.8;color:#c9c9c9;margin:16px 0}.joint-comparison strong{color:#f1f1f1;font-weight:600}
.joint-festival{padding:20px 24px;border:1px solid #666;border-radius:18px;background:#292929;margin:20px 0;display:flex;align-items:center;gap:18px}.joint-festival[hidden]{display:none}.joint-festival>img{width:60px;height:60px;flex:none}.joint-festival h3{font-size:16px;font-weight:600;line-height:1.5}.joint-festival p{font-size:11px;line-height:1.8;color:#ccc;margin-top:6px}.joint-festival p strong{color:#eee}
.joint-budget{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:#202020;border:1px solid #444;border-radius:17px;padding:23px;margin:22px 0 15px}.joint-budget strong{font-size:34px;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:600}.joint-budget span{display:block;font-size:10px;line-height:1.7;color:#c2c2c2;margin-top:6px}.joint-limit{font-size:11px;line-height:1.85;color:#bfbfbf;margin:16px 0}
.joint-details{padding:0 0 20px;border-top:1px solid #444;margin-top:24px}.joint-details>summary{cursor:pointer;font-size:14px;font-weight:550;padding:21px 0;line-height:1.7}.joint-details>summary>span{float:right;color:#bdbdbd}.joint-details>p,.joint-details #joint-audit p{font-size:12px;line-height:1.85;color:#c4c4c4;margin-bottom:20px}.joint-details>p strong{color:#eee}.joint-details .machine-card{align-self:start}.joint-recipe{padding:19px;border-top:1px solid #3e3e3e}.joint-recipe .recipe-main h4{font-size:14px;font-weight:550;line-height:1.5}.joint-recipe .recipe-main p{font-size:10px;line-height:1.7;color:#c4c4c4;margin-top:5px}.joint-recipe .recipe-quantity{margin-bottom:14px}.joint-recipe .recipe-quantity strong{font-size:44px}.joint-recipe .ingredient-prominent strong{font-size:32px}.joint-recipe .recipe-flow{overflow-wrap:anywhere}.joint-recipe .recipe-metrics{margin-top:12px}.joint-recipe .joint-worker-link{font-size:10px;color:#c8c8c8;line-height:1.8;margin-top:12px}.joint-worker-link strong{color:#eee;font-weight:500}.joint-recipe [data-joint-input-count]{white-space:nowrap}
.joint-table-scroll{overflow:auto;border:1px solid #444;border-radius:13px;margin:0 0 22px}.joint-table-scroll table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums}.joint-table-scroll th,.joint-table-scroll td{padding:13px 14px;border-bottom:1px solid #414141}.joint-table-scroll th{font-weight:550;color:#eee}.joint-table-scroll td{color:#c9c9c9}.joint-table-scroll tr[aria-current=true]{background:#353535}.joint-table-scroll button{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.joint-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.joint-season-card{border:1px solid #444;border-radius:15px;padding:17px;background:#222;min-width:0}.joint-season-card img{width:58px;height:58px}.joint-season-card h4{font-size:12px;line-height:1.6;margin:10px 0 7px;font-weight:550}.joint-season-card p{font-size:10px;line-height:1.8;color:#c6c6c6}.joint-season-card b{font-weight:550;color:#eee}.joint-season-card .joint-season-state{border-top:1px solid #444;margin-top:12px;padding-top:10px}.joint-crew-load{font-size:10px;line-height:1.8;color:#c6c6c6;padding-top:12px;border-top:1px solid #414141}.joint-crew-duties{font-size:10px;line-height:1.8;color:#c5c5c5;margin-top:10px}.joint-crew-duties>div{display:flex;gap:10px;justify-content:space-between;padding:5px 0}.joint-crew-duties span{min-width:0}.joint-crew-duties b{white-space:nowrap;font-weight:500;color:#eee}.joint-certificate{padding:16px 20px;border:1px solid #555;border-radius:13px;background:#272727;font-size:12px;line-height:1.85;color:#d3d3d3;margin-bottom:20px}.joint-details .logis-sources{margin-top:16px}
@media(max-width:900px){.joint-season-grid{grid-template-columns:repeat(2,1fr)}.joint-controls{gap:18px}.joint-controls>div:first-child{flex-basis:100%}.joint-controls>div:first-child .rank-switch{max-width:none}.joint-controls .rank-switch button{flex:1}}
@media(max-width:600px){.joint-section{padding-top:24px;scroll-margin-top:118px}.joint-intro{font-size:12px}.joint-controls{padding:18px;display:grid;grid-template-columns:1fr}.joint-controls>div{min-width:0}.joint-controls .rank-switch{gap:5px}.joint-controls select{font-size:11px}.joint-budget{grid-template-columns:1fr 1fr;padding:19px;gap:22px}.joint-budget strong{font-size:34px}.joint-festival{padding:16px;gap:12px;align-items:start}.joint-festival>img{width:42px;height:42px}.joint-festival h3{font-size:14px}.joint-festival p{font-size:10px}.joint-details>summary{font-size:12px}.joint-details>p{font-size:11px}.joint-season-card{padding:14px}.joint-season-card h4{font-size:11px}.joint-recipe{padding:16px}.joint-table-scroll table{font-size:10px}.joint-table-scroll th,.joint-table-scroll td{padding:11px 12px}.joint-comparison{font-size:11px}.joint-status{font-size:10px}}
