df-constraint-viz{display:block}.dfc-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:var(--border-light)}.dfc-xbar-badge{display:inline-block;background:var(--bg-surface-alt);border:1px solid var(--color-light-gray);color:var(--viz-1);font-weight:700;font-size:var(--text-sm);padding:3px 10px;border-radius:var(--radius-sm)}.dfc-subtitle{font-size:var(--text-sm);color:var(--text-secondary);flex:1}.dfc-reset{margin-left:auto;padding:3px 12px;font-size:var(--text-sm);border:var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast)}.dfc-reset:hover{background:var(--bg-surface-alt)}.dfc-svg{display:block;width:100%;height:auto;cursor:default}.dfc-deviations{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:var(--text-sm);font-family:var(--font-mono);padding:var(--spacing-xs) 0;border-top:var(--border-light);margin-top:2px}.dfc-dev-cell{padding:2px 6px;border-radius:3px;white-space:nowrap}.dfc-dev-free{color:var(--viz-2);background:#6a9bcc14}.dfc-dev-constrained{color:var(--viz-1);background:#d9775714}.dfc-dev-sep{color:var(--text-secondary)}.dfc-sum-ok{color:var(--color-success);font-size:var(--text-base)}.dfc-sum-err{color:var(--color-danger);font-size:var(--text-base)}.ng-guide{width:100%;border-collapse:collapse;border:var(--border-light);border-radius:var(--radius-sm);overflow:hidden;font-size:var(--text-sm);table-layout:fixed}.ng-table-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ng-guide thead{background:var(--bg-surface-alt)}.ng-dist-hdr,.ng-n-hdr{padding:6px 10px;font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);text-align:center;border-bottom:var(--border-light)}.ng-dist-hdr{text-align:left;width:30%}.ng-guide tbody tr{border-bottom:var(--border-light)}.ng-guide tbody tr:last-child{border-bottom:none}.ng-dist-cell{padding:10px;text-align:left;vertical-align:top;font-weight:400;border-right:var(--border-light)}.ng-dist-name{display:block;font-weight:600;color:var(--text-primary)}.ng-dist-sub{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--text-secondary)}.ng-hist{display:block;width:70px;height:38px;margin-top:5px}.ng-hist rect{fill:var(--text-muted)}.ng-cell{padding:10px 8px;text-align:center;vertical-align:middle;border-right:var(--border-light)}.ng-cell:last-child{border-right:none}.ng-verdict{display:block;font-size:1.35rem;font-weight:700;line-height:1;margin-bottom:4px}.ng-note{display:block;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.3}.ng-n-label{display:none;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.ng-ok .ng-verdict{color:var(--color-success)}.ng-warn .ng-verdict{color:var(--color-warning)}.ng-no .ng-verdict{color:var(--color-danger)}.ng-ok{background:var(--color-success-light)}.ng-warn{background:var(--color-warning-light)}.ng-no{background:var(--color-danger-light)}.ng-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:8px 10px;background:var(--bg-surface-alt);border:var(--border-light);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);font-size:var(--text-xs)}.ng-legend span{font-weight:600}.ng-ok-l{color:var(--color-success)}.ng-warn-l{color:var(--color-warning)}.ng-no-l{color:var(--color-danger)}@media(max-width:480px){.ng-guide,.ng-guide tbody,.ng-guide tbody tr,.ng-dist-cell,.ng-cell{display:block;width:auto}.ng-guide{table-layout:auto}.ng-guide thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ng-guide tbody tr{margin-bottom:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.ng-dist-cell{border-right:none;border-bottom:var(--border-light);background:var(--bg-surface-alt)}.ng-cell{display:flex;align-items:center;gap:var(--spacing-xs);text-align:left;border-right:none;border-bottom:var(--border-light)}.ng-cell:last-child{border-bottom:none}.ng-cell .ng-verdict{margin-bottom:0}.ng-n-label{display:inline-block;min-width:4em}}
