/* A rectangular optical enlargement, anchored to the original diagram element. */ .arit .flow .lens-target { display: block; width: 100%; color: inherit; font: inherit; cursor: pointer; appearance: none; transition: transform 180ms cubic-bezier(.16, 1, .3, 1), box-shadow 180ms ease, border-color 180ms ease, opacity 220ms ease; } .arit .flow .lens-target:hover { transform: translateY(-2px); border-color: var(--bordeaux); box-shadow: 0 5px 12px oklch(26% .02 15 / .13); } .arit .flow .lens-target:focus-visible, .arit .slide-lens-close:focus-visible { outline: 3px solid var(--bordeaux); outline-offset: 4px; } .arit .flow .zone.built, .arit .flow > .ai-hit, .arit .flow .fbox:not(.lens-target) { transition: opacity 220ms ease; } .arit.lens-active .flow .zone.built:not(:has(.lens-source)), .arit.lens-active .flow > .ai-hit, .arit.lens-active .flow .zone.built:has(.lens-source) :is(.fbox:not(.lens-source), .farrow, .brain-btn, .fcap), .arit.lens-active .flow .zone.existed:not(.lens-source) { opacity: .18; } .arit .flow .lens-source { border-color: var(--bordeaux); box-shadow: 0 0 0 3px var(--bordeaux-tint); } .arit .oitem.lens-target { width: 100%; color: inherit; font: inherit; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line); appearance: none; cursor: pointer; transition: background 180ms ease, opacity 220ms ease; } .arit .oitem.lens-target:last-child { border-bottom: 0; } .arit .oitem.lens-target:hover, .arit .oitem.lens-source { background: var(--bordeaux-tint); } .arit .oitem.lens-target:focus-visible { outline: 3px solid var(--bordeaux); outline-offset: 3px; } .arit.crisis .crisis-points { margin-bottom: 4px; } .arit.crisis .oitem { padding: 12px 10px; gap: 14px; } .arit.crisis .oitem .n { flex-basis: 28px; font-size: 15px; } .arit.crisis .oitem b { display: block; font-size: 18px; } .arit.crisis .oitem .d { display: block; margin-top: 3px; font-size: 16px; } .arit.crisis .sbody > .roi { padding: 12px 18px; font-size: 22px; line-height: 1.3; font-weight: 600; } .arit.crisis .sbody > .roi .k { margin-bottom: 8px; font-size: 14px; line-height: 1.2; } .arit.crisis.lens-active .crisis-points .oitem:not(.lens-source), .arit.crisis.lens-active .sbody > .roi { opacity: .18; } .arit.crisis.lens-active .sbody > :is(h2, .kicker) { opacity: 0; } .arit.validation .onto-split :is(.oitem, .roi, .out-panel) { transition: opacity 220ms ease; } .arit.validation.lens-active .onto-split :is(.oitem:not(.lens-source), .roi, .out-panel:not(.lens-source)) { opacity: .18; } .arit.validation .out-panel.lens-target { appearance: none; width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: transform 180ms cubic-bezier(.16, 1, .3, 1), box-shadow 180ms ease, background 180ms ease, opacity 220ms ease; } .arit.validation .out-panel.lens-target:hover { transform: translateY(-2px); background: var(--surface-alt); box-shadow: 0 0 0 3px var(--bordeaux-tint), 0 6px 16px oklch(26% .02 15 / .14); } .arit.validation .out-panel.lens-target:focus-visible { outline: 3px solid var(--bordeaux); outline-offset: 4px; } .arit.validation .out-panel.lens-source { box-shadow: 0 0 0 3px var(--bordeaux-tint); } .arit.validation .out-panel.lens-target .out-item:last-of-type { border-bottom: none; } .arit .slide-lens-guides { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 8; overflow: visible; } .arit .slide-lens-guides path { fill: none; stroke: var(--bordeaux); stroke-width: 1; opacity: .45; } .arit .slide-lens { position: absolute; z-index: 9; transform-origin: 0 0; border: 3px solid var(--bordeaux); border-radius: 9px; background: var(--surface-alt); padding: 9px; box-shadow: 0 22px 48px oklch(26% .02 15 / .2), 0 4px 10px oklch(26% .02 15 / .12), inset 0 0 0 2px var(--surface), inset 0 0 0 3px var(--line-strong); } /* A beveled rim and a restrained reflection suggest a lens without an icon. */ .arit .slide-lens::after { content: ''; position: absolute; inset: 5px; pointer-events: none; border-radius: 4px; border: 1px solid oklch(99% .004 20 / .85); background: linear-gradient(125deg, oklch(99% .004 20 / .45), transparent 26%, transparent 78%, oklch(99% .004 20 / .25)); } .arit .slide-lens-content { overflow: hidden; width: 100%; height: 100%; border-radius: 2px; } .arit .slide-lens .slide-lens-copy { margin: 0; transform-origin: 0 0; border-radius: 1px; border-color: transparent; position: static; } .arit .slide-lens .slide-lens-copy.zone { position: relative; } .arit .slide-lens.has-details .slide-lens-content { overflow-y: auto; } .arit .slide-lens-detail { padding: 16px 18px; text-align: left; color: var(--ink); } .arit .slide-lens-detail h3 { margin: 0 0 12px; font: 700 30px/1.15 var(--sans); color: var(--bordeaux-deep); } .arit .slide-lens-detail p { margin: 0 0 10px; font: 400 17px/1.35 var(--sans); } .arit .slide-lens-detail p:last-child { margin-bottom: 0; } .arit .slide-lens-detail p b { display: block; margin-bottom: 4px; font-weight: 700; color: var(--bordeaux-deep); } .arit .slide-lens-detail .detail-intro { font-size: 19px; line-height: 1.3; } .arit .slide-lens-detail .detail-example { padding-top: 12px; border-top: 1px solid var(--line-strong); } .arit .slide-lens-caption { position: absolute; left: 0; top: -28px; color: var(--bordeaux-deep); font: 700 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; } .arit .slide-lens-close { position: absolute; right: -15px; top: -15px; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--bordeaux); border-radius: 5px; padding: 0; background: var(--surface); color: var(--bordeaux-deep); font: 400 22px/1 var(--sans); cursor: pointer; } @media (prefers-reduced-motion: reduce) { .arit.validation .out-panel.lens-target { transition: none; } .arit.validation .out-panel.lens-target:hover { transform: none; } .arit.validation .onto-split :is(.oitem, .roi, .out-panel) { transition: none; } .arit .flow .zone, .arit .flow > .ai-hit, .arit .flow .fbox { transition: none; } .arit .flow .lens-target:hover { transform: none; } } @media print { .arit.crisis.lens-active .sbody > :is(h2, .kicker) { opacity: 1; } .arit.crisis.lens-active .crisis-points .oitem:not(.lens-source), .arit.crisis.lens-active .sbody > .roi { opacity: 1; } .arit.validation.lens-active .onto-split :is(.oitem, .roi, .out-panel) { opacity: 1; } .arit .slide-lens, .arit .slide-lens-guides { display: none !important; } .arit.lens-active .flow .zone, .arit.lens-active .flow > .ai-hit, .arit.lens-active .flow .fbox, .arit.lens-active .flow .zone.built:has(.lens-source) :is(.fbox, .farrow, .brain-btn, .fcap) { opacity: 1; } }