/* Factory diagnostics remain legible independently of the board's camera scale. */
.factory-inspector-status[data-severity]{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.6}.factory-inspector-status[data-severity]::before{content:'●';flex-shrink:0}.factory-inspector-status[data-severity="healthy"]{color:#98e0b5}.factory-inspector-status[data-severity="attention"]{color:#ffb171}.factory-inspector-status[data-severity="neutral"]{color:#b2c1c5}.factory-inspector-status[data-severity="neutral"]::before{content:'Ⅱ'}
.workshop-dialog{width:min(1060px,calc(100vw - 28px));max-height:calc(100dvh - 30px);padding:30px;overflow:auto;color:#d9e6df;background:#112832;border:1px solid #779b8c80;border-radius:18px}
.workshop-heading{padding-right:35px}.workshop-heading h2{font:32px Georgia,serif;color:#eee1be;margin:9px 0}.workshop-heading p{font-size:15px;color:#b7cdca}
.factory-health-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 18px;border-bottom:1px solid #9cbcab25;flex-shrink:0;background:#19333b}
.factory-health-strip button,.workshop-dialog button,.factory-cause-trail button{min-height:44px;font-size:14px;white-space:normal}
.workshop-health-counts{display:flex;gap:9px 17px;flex-wrap:wrap;font-size:13px;line-height:1.6}.health-good{color:#98e0b5}.health-attention{color:#ffb171}.health-neutral{color:#b2c1c5}
.workshop-legend,.workshop-note,.factory-cause-trail>p,.factory-measurement>p{font-size:13px;line-height:1.7;color:#b4cac6;overflow-wrap:anywhere}
.workshop-rates,.workshop-problems{margin-top:24px}.workshop-rates h3,.workshop-problems h3{font-size:19px;margin-bottom:9px;color:#efe0b8}.workshop-problems h3 span{font-size:15px;color:#ffb171;margin-left:8px}
.workshop-sample{font-size:14px;color:#e0c797;padding:11px 13px;background:#8d6b2a14;border-left:2px solid #b79c6f}.workshop-sample.sample-ready{color:#b3dccc;border-color:#81c3a3;background:#81c3a30c}
.workshop-table-scroll{overflow:auto;max-width:100%;border:1px solid #91b2a933;border-radius:9px;overscroll-behavior:contain}.workshop-table-scroll table{width:100%;border-collapse:collapse;font-size:14px;min-width:710px;font-variant-numeric:tabular-nums}.workshop-table-scroll caption{text-align:left;font-size:12px;padding:8px 12px;color:#a2bcb8}.workshop-table-scroll th,.workshop-table-scroll td{padding:12px 11px;text-align:right;border-top:1px solid #8facab25}.workshop-table-scroll th:first-child{text-align:left;position:sticky;left:0;background:#19323b;z-index:1;min-width:100px}.workshop-table-scroll thead th{font-weight:500;color:#cadbcf;background:#19323b;white-space:normal;min-width:92px}.workshop-table-scroll td{color:#bde5d0}.workshop-table-scroll .potential-rate{color:#adbdbb}.workshop-table-scroll tbody tr:nth-child(even) td{background:#c4e4ce04}
.workshop-problem{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-top:1px solid #91b2a933}.workshop-problem b{color:#ecdab6;font-size:15px}.workshop-problem p{color:#ffba84;margin:6px 0;font-size:14px;line-height:1.5}.workshop-problem button{flex-shrink:0;max-width:200px;border-color:#f3ac6a77;color:#ffd1a7;background:#8c58221c}.workshop-clear{padding:18px;border-left:2px solid #8dddb0;color:#acc8bd;font-size:14px;line-height:1.8}.workshop-clear strong{display:block;color:#a2e6be}
.factory-cause-trail{margin:18px 0;padding:15px;border:1px solid #e9a3634d;border-radius:10px;background:#67411e14}.factory-cause-trail h3,.factory-measurement h3{font-size:16px;margin:0 0 8px;color:#e7d2ac}.factory-cause-trail ol{padding-left:20px;margin:0}.factory-cause-trail li{padding:8px 0;font-size:14px;line-height:1.6;color:#ffd0a3;overflow-wrap:anywhere}.factory-cause-trail small{display:block;color:#b6ccc6;font-size:12px;line-height:1.7;margin:6px 0}.factory-cause-trail button{width:100%;margin-top:7px;text-align:left;color:#ffd1a7;border-color:#e9a36370}.factory-measurement{padding:14px;background:#18343c;border:1px solid #91b2a933;border-radius:10px;margin:16px 0}.factory-measurement>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.8}.factory-measurement b{color:#a8e4c0;font-variant-numeric:tabular-nums}
.factory-card .factory-art{position:relative}.factory-rate{position:absolute;bottom:0;left:0;right:0;text-align:center;font:12px/1.5 system-ui,sans-serif;padding:3px 5px;background:#10242fe8;color:#bce6cd;pointer-events:none}.factory-card .factory-status{font-size:13px;line-height:1.4;min-height:30px}.factory-card .factory-status .status-dot{flex-shrink:0}
.factory-card[data-severity="neutral"] .status-dot:not(.healthy){background:#a0b1b8;box-shadow:none;animation:none}.factory-card[data-severity="attention"] .status-dot{background:#ffab65;animation:factory-attention 2s infinite}.factory-card[data-severity="healthy"] .status-dot{background:#85e3b5;box-shadow:0 0 5px #85e3b540;animation:none}.factory-card[data-severity="neutral"] .factory-status{color:#b9c5c9}
.factory-card.traced{outline:2px solid #ffb574;outline-offset:5px}.factory-links .factory-wire.traced .connection-path{stroke:#ffb574;stroke-width:5;opacity:1;stroke-dasharray:8 6;filter:none}.factory-links .factory-wire.traced .wire-badge{color:#ffca97}.factory-trace-label{font-size:13px;color:#ffd0a5;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.factory-output-note{font-size:13px;line-height:1.7;color:#becfc9;margin:13px 0}.factory-output-note strong{color:#e5d6b7}
.resource-chip .actual-rate{font-size:11px;color:#a6dfbf;white-space:nowrap}.resource-chip .rate-kind{font-size:10px;color:#b4c9c5;display:block}.production-state.neutral{color:#b2c1c5}.production-state.neutral .status-dot{background:#a0b1b8;animation:none;box-shadow:none}
html[data-reading="large"] .factory-card h3{font-size:19px}html[data-reading="large"] .factory-card .factory-recipe{font-size:14px}html[data-reading="large"] .factory-card .factory-status{font-size:14px}html[data-reading="large"] .factory-card header small{font-size:11px}html[data-reading="large"] .factory-rate{font-size:13px}html[data-reading="large"] .factory-purpose,html[data-reading="large"] .factory-inspector-status,html[data-reading="large"] .factory-output-note,html[data-reading="large"] .workshop-note,html[data-reading="large"] .workshop-legend{font-size:15px}html[data-reading="large"] .factory-link-row,html[data-reading="large"] .factory-stores p,html[data-reading="large"] .factory-cause-trail small{font-size:14px}html[data-reading="large"] .factory-card-picker,html[data-reading="large"] .factory-connect-form label{font-size:15px}
@media(max-width:700px){.workshop-dialog{padding:22px 16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.workshop-heading h2{font-size:28px}.workshop-problem{align-items:flex-start;flex-direction:column;gap:7px}.workshop-problem button{max-width:none;width:100%}.factory-health-strip{padding:8px 12px;gap:7px}.factory-health-strip>.workshop-health-counts{font-size:12px;gap:4px 10px}.factory-health-strip>button{width:100%;min-height:44px}.workshop-health-counts{font-size:13px}.factory-measurement>div{flex-wrap:wrap}.factory-toolbar{flex-wrap:wrap}.workshop-table-scroll th,.workshop-table-scroll td{padding:11px 9px}}
@media(prefers-reduced-motion:reduce){.factory-card[data-severity] .status-dot{animation:none!important}.factory-progress i{transition:none}}
html[data-motion="calm"] .factory-card[data-severity] .status-dot{animation:none!important}html[data-motion="calm"] .factory-progress i{transition:none}
