.feat-cri-simulator { background: var(--bg); container-type: size; }
.feat-cri-simulator .scene { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.feat-cri-simulator .toggle { position: absolute; left: 0; right: 0; top: 0; z-index: 2; display: flex; justify-content: center; align-items: center;
  gap: clamp(14px, 3cqw, 40px); padding: clamp(14px, 3.4cqh, 30px) clamp(8px, 3cqw, 32px) 0; }
.feat-cri-simulator .vs { width: 1px; height: clamp(22px, 4.4cqw, 34px); background: var(--line, rgba(239,230,216,.14)); }
.feat-cri-simulator .lamp { display: grid; gap: 5px; justify-items: center; padding: 8px clamp(8px, 1.8cqw, 20px); border-radius: 2px; color: var(--fg-dim);
  min-width: 0; cursor: pointer; opacity: .55; transition: color 600ms var(--ease), opacity 600ms var(--ease); -webkit-tap-highlight-color: transparent; }
.feat-cri-simulator .lamp:hover { opacity: .85; }
.feat-cri-simulator .lamp.is-on { color: var(--fg); opacity: 1; }
.feat-cri-simulator .lname { font-family: var(--font-display); font-weight: 400; font-size: clamp(17px, 2.4cqw, 26px); line-height: 1.1; letter-spacing: .005em; white-space: nowrap; }
.feat-cri-simulator .lnum { font: 500 clamp(9px, 1.15cqw, 12px)/1 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; font-variant-numeric: tabular-nums; }
.feat-cri-simulator .lnum b { font-weight: 500; color: var(--accent); }
.feat-cri-simulator .lamp:not(.is-on) .lnum b { color: inherit; }
.feat-cri-simulator .lamp::after { content: ''; display: block; width: 100%; height: 1px; margin-top: 6px; background: var(--accent); transform: scaleX(0); transition: transform 700ms var(--ease); }
.feat-cri-simulator .lamp.is-on::after { transform: scaleX(1); }
.feat-cri-simulator .labels { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.feat-cri-simulator .labels span { position: absolute; transform: translate(-50%, 0); font: 500 clamp(9px, 1.1cqw, 11px)/1 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--fg-dim); white-space: nowrap; }
.feat-cri-simulator .foot { position: absolute; left: clamp(12px, 4cqw, 48px); right: clamp(12px, 4cqw, 48px); bottom: clamp(10px, 2.6cqh, 20px); z-index: 2; display: flex; justify-content: space-between; gap: 12px;
  font: 500 clamp(8.5px, 1.05cqw, 11px)/1.3 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--fg-dim); opacity: .8; }
.feat-cri-simulator .credit { text-align: right; }
@container (max-width: 560px) { .feat-cri-simulator .credit { display: none; } }
