/* A tensor is shown as named, selectable 2-D slices, never an opaque 4-D box. */
.dimension-page { max-width:var(--page-width); }
.dimension-page > p,.dimension-page > header,.dimension-page > .key { max-width:64rem; }
.dimension-page h2 { scroll-margin-top:1.5rem; }
.dimension-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 2rem; font-family:var(--sans); }
.dimension-nav a { padding:.4rem .7rem; border:1px solid var(--rule); background:white; font-size:.85rem; }
.dimension-section { border-top:1px solid var(--rule); margin-top:3rem; padding-top:.3rem; }
.dimension-legend { display:flex; flex-wrap:wrap; gap:.5rem; font: .84rem var(--sans); margin:1rem 0; }
.dimension-legend span { padding:.4rem .65rem; border:1px solid #b7c5ce; border-radius:3px; }
.dimension-legend .axis-token { background:#e9f2f6; }
.dimension-legend .axis-head { background:#f1eafa; }
.dimension-legend .axis-feature { background:#eaf2ec; }
.dimension-figure { margin:1.5rem 0; background:white; border:1px solid var(--rule); padding:1rem; }
.dimension-figure .diagram-scroll { overflow-x:auto; }
.dimension-figure img { display:block; width:100%; min-width:960px; height:auto; }
.dimension-figure figcaption { font-size:.85rem; }
.dimension-figure figcaption a { margin-left:.7rem; }
.dimension-lab { background:#f6f8fa; border:1px solid #bbcbd5; border-radius:6px; padding:1.25rem; margin:1.5rem 0; font-family:var(--sans); min-width:0; }
.dimension-lab h3 { margin:.2rem 0 .7rem; font:600 1.15rem var(--sans); }
.dimension-lab p { font-size:.9rem; line-height:1.7; }
.dimension-controls { display:flex; flex-wrap:wrap; gap:.7rem 1rem; align-items:end; margin:1rem 0; }
.dimension-controls label { display:flex; flex-direction:column; gap:.3rem; font-size:.82rem; }
.dimension-lab button,.dimension-lab select { font:inherit; color:var(--ink); background:white; border:1px solid #849eae; border-radius:3px; min-height:44px; padding:.45rem .65rem; cursor:pointer; }
.dimension-lab button[aria-pressed=true] { background:#244e68; color:white; border-color:#244e68; }
.dimension-lab button:hover { box-shadow:inset 0 0 0 2px #7398af; }
.dimension-lab button:focus-visible,.dimension-lab select:focus-visible { outline:3px solid #a63a2a; outline-offset:3px; }
.dimension-stage { margin:.7rem 0; font-family:var(--mono); background:white; border-left:4px solid var(--blue); padding:.8rem; overflow-wrap:anywhere; }
.dimension-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.dimension-panel { min-width:0; background:white; padding:.85rem; border:1px solid #d8e0e6; border-radius:4px; }
.dimension-panel h4 { margin:0 0 .5rem; font:600 .88rem var(--sans); }
.dimension-slices { display:flex; gap:.8rem; flex-wrap:wrap; }
.dimension-matrix { overflow-x:auto; padding:3px; margin:.4rem 0; }
.dimension-matrix table { border-collapse:separate; border-spacing:3px; margin:0; width:auto; font: .85rem var(--mono); }
.dimension-matrix caption { text-align:left; font: .8rem var(--sans); padding-bottom:.4rem; color:var(--ink-soft); }
.dimension-matrix th { font: .72rem var(--mono); padding:.15rem .2rem; border:0; background:none; color:#4a5963; text-align:center; white-space:nowrap; }
.dimension-matrix td { padding:0; border:0; text-align:center; background:#f0f3f6; min-width:44px; height:44px; }
.dimension-matrix td span,.dimension-matrix td button { display:flex; min-height:44px; min-width:44px; justify-content:center; align-items:center; width:100%; padding:.2rem; font: .85rem var(--mono); border:1px solid transparent; border-radius:2px; }
.dimension-matrix td button { background:transparent; }
.dimension-matrix td.group-0 { background:#e4eff7; }
.dimension-matrix td.group-1 { background:#f1e8fa; }
.dimension-matrix td.group-2 { background:#e7f2e8; }
.dimension-matrix td.is-active { background:#fff0c2; box-shadow:inset 0 0 0 2px #936000; }
.dimension-matrix td.is-related { box-shadow:inset 0 -4px #b67815; }
.dimension-matrix td.is-error { background:#f8e4df; box-shadow:inset 0 -3px #a63a2a; }
.dimension-matrix td.is-muted { color:#666; background:#eee; }
.dimension-matrix td.is-active button { color:#4e3400; background:#fff0c2; border:2px solid #936000; font-weight:700; }
.dimension-proof { margin-top:1rem; padding:.8rem 1rem; background:#fff9e9; border:1px solid #d7be83; line-height:1.7; font-size:.9rem; overflow-wrap:anywhere; }
.dimension-proof code { white-space:normal; }
.dimension-warning { border-left:4px solid var(--accent); padding:.7rem 1rem; background:#f9efea; }
.dimension-inline { border:1px solid #b8cbd4; padding:1rem; background:#f5f9fa; margin:2rem 0; }
.dimension-inline h2 { margin-top:.2rem; }
.dimension-inline ol { padding-left:1.5rem; }
.dimension-inline .dimension-figure { margin-bottom:.7rem; }
.dimension-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin:.6rem 0; font-size:.82rem; }
.dimension-badges span { padding:.35rem .55rem; background:white; border:1px solid var(--rule); }
.dimension-steps li { margin:.55rem 0; }
@media(max-width:740px) { .dimension-panels { grid-template-columns:1fr; } .dimension-lab { padding:.75rem; } .dimension-figure { padding:.5rem; } .dimension-stage { font-size:.8rem; } }
@media print { .dimension-controls { display:none; } .dimension-figure img { min-width:0; } .dimension-figure { break-inside:avoid; } .dimension-lab { background:white; } .dimension-matrix td button { border:0; } .dimension-page { max-width:none; } }
