Skip to content

Commit cbde9bc

Browse files
committed
Architecture: prevent overflow, tighten columns
Root cause of the frame-breaking 'zoom' look: uppercase headings with large letter-spacing inside minmax(0,1fr) grid cells pushed min-content past the cell edge and bled outside the diagram frame. Fixes: - min-width: 0 on every arch-grid descendant so cells can actually shrink to their allocated width - overflow: hidden on the outer diagram and on inner dia-box so any residual overflow is clipped to the frame - Shrink letter-spacing in arch h5 (0.12em -> 0.06em) and add overflow-wrap: anywhere so long tokens wrap instead of forcing width - Tighten fixed columns: 150/72/280 -> 140/64/260 - Let bridge-row labels wrap (drop white-space: nowrap)
1 parent 1ee35b4 commit cbde9bc

1 file changed

Lines changed: 28 additions & 3 deletions

File tree

website/css/style.css

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -727,17 +727,31 @@ header.g {
727727
.arch-overview .diagram,
728728
.diagram.arch-overview {
729729
padding: 16px;
730+
max-width: 100%;
731+
overflow: hidden;
730732
}
731733

732734
.arch-grid {
733735
display: grid;
734-
grid-template-columns: 150px minmax(0, 1fr) 72px 280px;
736+
grid-template-columns: 140px minmax(0, 1fr) 64px 260px;
735737
grid-template-rows: auto auto;
736738
grid-template-areas:
737739
"input react bridge docker"
738740
"report valid bridge docker";
739741
gap: 10px;
740742
align-items: stretch;
743+
max-width: 100%;
744+
min-width: 0;
745+
}
746+
747+
/* Prevent any arch-grid child from pushing min-content past its cell */
748+
.arch-grid > * { min-width: 0; }
749+
.arch-grid .dia-box,
750+
.arch-grid .dia-section,
751+
.arch-grid .react-quad,
752+
.arch-grid .v-grid,
753+
.arch-grid .ag-fs-inner {
754+
min-width: 0;
741755
}
742756

743757
.ag-input { grid-area: input; }
@@ -780,14 +794,24 @@ header.g {
780794
/* Compact dia-box inside arch grid — smaller padding, smaller list gaps */
781795
.arch-grid .dia-box {
782796
padding: 8px 10px;
797+
overflow: hidden;
783798
}
784799
.arch-grid .dia-box h5 {
785800
font-size: 0.5rem;
801+
letter-spacing: 0.06em;
786802
margin-bottom: 4px;
803+
overflow-wrap: anywhere;
804+
word-break: break-word;
787805
}
788806
.arch-grid .dia-box ul {
789807
font-size: 0.625rem;
790808
line-height: 1.55;
809+
overflow-wrap: anywhere;
810+
}
811+
812+
.arch-grid .ag-section-header {
813+
letter-spacing: 0.08em;
814+
overflow-wrap: anywhere;
791815
}
792816

793817
/* ReAct internal quad: 2 rows × (box arrow box) */
@@ -885,10 +909,11 @@ header.g {
885909
.ag-bridge-row .lbl {
886910
font-family: var(--mono);
887911
font-size: 0.5rem;
888-
letter-spacing: 0.08em;
912+
letter-spacing: 0.06em;
889913
text-transform: uppercase;
890914
color: var(--fg-faint);
891-
white-space: nowrap;
915+
text-align: center;
916+
line-height: 1.3;
892917
}
893918

894919
/* Validator target label */

0 commit comments

Comments
 (0)