/* v15: компьютер — сцена слева во всю высоту, ручки справа, протокол выезжает третьей
   колонкой: сцена сужается и модель отъезжает влево, текст её не закрывает. */
[data-layout="d"] { --rw: 0px; }
[data-layout="d"] body.report-open { --rw: 380px; }
[data-layout="d"] .top { padding: 12px 28px; }
[data-layout="d"] .tag { font-size: 15px; }
[data-layout="d"] .shop { display: grid; grid-template-columns: minmax(0, 1fr) 420px var(--rw); height: calc(100vh - 66px); min-height: 560px;
}
[data-layout="d"] .stage { height: 100%; }
[data-layout="d"] .pill { top: 20px; left: 20px; }
[data-layout="d"] .share { top: 20px; right: 20px; }
[data-layout="d"] .attr { left: 20px; bottom: 12px; }
[data-layout="d"] .panel { overflow-y: auto; padding: 24px 24px 120px; border-left: 1px solid var(--line); }
[data-layout="d"] .rail { margin: 0; padding: 2px 0; }
[data-layout="d"] .shapes { flex-wrap: wrap; overflow: visible; max-height: 320px; overflow-y: auto; }
[data-layout="d"] .kinds { flex-wrap: wrap; overflow: visible; }
[data-layout="d"] .buy { position: fixed; z-index: 20; right: var(--rw); bottom: 0; width: 420px; padding: 16px 24px 20px;
  background: color-mix(in srgb, var(--bg) 94%, transparent); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
[data-layout="d"] .report { overflow: hidden; border-left: 1px solid var(--line); min-width: 0; }
[data-layout="d"] .report-head { padding: 20px 20px 8px; }
[data-layout="d"] .report-body { padding: 0 20px 24px; }
[data-layout="d"] .report-open .report { animation: slide-in .35s var(--ease) both; }
@keyframes slide-in { from { transform: translateX(40px); } }
[data-layout="d"] .grab { display: none; }
[data-layout="d"] .intro { max-width: 1100px; padding: 40px 28px 60px; }
[data-layout="d"] .how { grid-template-columns: repeat(4, 1fr); }
[data-layout="d"] .toast { bottom: 110px; }
