/* ============================================================================
   仮想エレクトーンの操作盤(elpanel.js)。エレクトーン(ELS-02 系)の RHYTHM パネルの見た目
   (2026-09-25 夜、ユーザーが送った取扱説明書の図に合わせた。**図の画像は使わず CSS / SVG で描く**):
     白地に細い黒線 / 黒い帯の見出し(RHYTHM・VOLUME)/ 角の丸い四角のキー(上に横長の楕円のランプ、
     下に押しボタンの側面)/ SEQ は黒い四角に白抜きの字 / 二重の輪の TEMPO ダイアルと丸いくぼみ /
     丸いランプと 7セグ4桁の BAR/BEAT の窓 / VOLUME の MAX〜MIN の段。
   ⚠ ロゴ・製品名・商標は描かない(汎用の「エレクトーン風」)。
   パネルは**明るい面**のまま、ページの明暗の設定に依らず同じに描く(紙の地の上で縁と薄い影で置き台に載せる。
   2026-09-27 からページも明るい紙の地)。まわりの字(役割・受けたもの)だけページの --ink / --dim を使う。
   ⚠ 色・字の約束(--elp-*)と、ページの button の既定を打ち消す規則は **.elp(操作盤1枚)に**付ける。
     .elp-desk(置き台)に付けていた頃(〜2026-09-26)、ページが子EL の操作盤を詳細パネル(.elp-desk の外)へ
     移すと約束が全部消え、面が透け・7セグが全部黒く点いたように見え・音量の段の線が消え・キーが薄くなっていた
   ============================================================================ */
/* 窓(BAR / BEAT。elpanel.js の lcdSvg)の色と字の約束は、操作盤1枚(.elp)と、ステージの EL の箱の窓(.ellcd-vars。
   rig.js)の両方に付ける ―― 部品は1つ、置き場所が2つ */
.elp, .ellcd-vars {
  --elp-line: #1b1b1b; --elp-print: #151515; --elp-print2: #8b8b86;
  --elp-lamp-on: #ff5a14; --elp-glass: #1c0f0c; --elp-seg: #ff4a24; --elp-seg-off: #3b1a14;
  --elp-type: var(--font-ui, Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif);
}
.elp {
  --elp-paper: #fbfbf8; --elp-paper2: #f1f1ec;
  --elp-duck: #1f64b8; --elp-duck-bg: #d9e9fb; --elp-player: #c25f00; --elp-player-bg: #fde5c6;
  /* 刻字の字(2026-09-28): ページと同じ Inter(--font-ui)。実物の刻字は Helvetica 系の太字で、Inter の太字はそれに近い。
     操作盤だけ読むとき(--font-ui が無いとき)は元の Arial 系 */
  --elp-font: 700 11px/1.15 var(--elp-type);
}
.elp-desk { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.elp-top { min-width: 0; }
.elp-kids { display: grid; gap: 12px; min-width: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.elp-kids:empty { display: none; }

.elp { min-width: 0; font-size: 12.5px; color: var(--dim); }
.elp-h { display: flex; align-items: baseline; gap: 4px 8px; flex-wrap: wrap; color: var(--ink); margin: 0 0 5px; }
.elp-h .elp-name { font-size: 14px; }
.elp-h .elp-role { color: var(--accent); font-size: 12px; }
.elp-h .elp-duck { font-size: 11px; padding: 0 6px; border-radius: 4px; background: var(--elp-duck-bg); color: var(--elp-duck); }
.elp-h .sp { flex: 1; }
.elp-h .elp-port { color: var(--dim); font-size: 11.5px; }

/* ---- 面(白い板に黒い刷り)。暗いページの上では縁と影で置き台に載せる ---- */
.elp-face {
  display: flex; flex-wrap: wrap; gap: 16px 30px; align-items: flex-start; min-width: 0;
  background: linear-gradient(180deg, var(--elp-paper), var(--elp-paper2));
  border: 1px solid #d6d2c8; border-radius: 6px; padding: 12px 14px 12px;
  box-shadow: 0 1px 2px rgba(60, 40, 20, .18), 0 6px 18px rgba(60, 40, 20, .10), inset 0 1px 0 #fff;
  color: var(--elp-print); font: var(--elp-font);
}
.elp.flash .elp-face { box-shadow: 0 0 0 2px var(--elp-duck), 0 6px 18px rgba(60, 40, 20, .10), inset 0 1px 0 #fff; }
.elp-lower { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-evenly; gap: 14px 26px;
  flex: 1 1 auto; min-width: 0; max-width: 100%; }

/* 黒い帯の見出しと、細い黒線の枠 */
.elp-band {
  background: #121212; color: #fff; font: 700 12.5px/20px var(--elp-type);
  letter-spacing: .03em; text-align: center; height: 20px; white-space: nowrap; overflow: hidden;
}
.elp-frame { border: 1.3px solid var(--elp-line); border-radius: 3px; margin-top: 7px; background: #fff; }
.elp-rhythm { flex: 0 0 auto; min-width: 0; display: flex; flex-direction: column; }
.elp-rhythm .elp-frame { flex: 1; }
.elp-seqs { display: grid; grid-template-columns: repeat(2, auto); gap: 10px 12px; justify-content: center; align-content: center; padding: 9px 14px 10px; }
/* 拍子と小節の信号(模型の設定。2026-09-28。実物の EL の操作ではないので、パネルの外の小さな字で) */
.elp-meter { display: flex; flex-wrap: wrap; gap: 2px 10px; margin-top: 6px; font: 400 11px/1.4 var(--elp-type); color: #555; }
.elp-meter label { white-space: nowrap; }
.elp-meter select { font: inherit; padding: 0 2px; }

/* ---- キー(上に横長の楕円のランプ・角の丸い四角のキー・下に押しボタンの側面)---- */
.elp-btn {
  appearance: none; -webkit-appearance: none; background: none; border: 0; padding: 0; margin: 0;
  display: inline-flex; flex-direction: column; align-items: center; gap: 6px;
  color: var(--elp-print); font: var(--elp-font); letter-spacing: .01em; cursor: pointer;
  -webkit-tap-highlight-color: transparent; outline: none;
}
.elp-btn .lamp {
  display: block; box-sizing: border-box; width: 22px; height: 7px; border-radius: 50%;
  border: 1.3px solid var(--elp-line); background: #fff;
}
.elp-btn.on .lamp {
  background: radial-gradient(ellipse at 50% 38%, #ffe7c4 0 14%, var(--elp-lamp-on) 58%, #c83a00 100%);
  border-color: #7a2600; box-shadow: 0 0 7px 2px rgba(255, 96, 20, .55);
}
.elp-btn .key {
  position: relative; box-sizing: border-box; display: flex; justify-content: center; align-items: flex-start;
  width: 62px; height: 52px; padding: 8px 3px 0; border: 1.5px solid var(--elp-line); border-radius: 7px;
  background: linear-gradient(180deg, #fff 0, #f8f8f5 calc(100% - 12px), #deded8 calc(100% - 12px), #c8c8c1 100%);
  box-shadow: 0 1.5px 0 rgba(0, 0, 0, .22);
}
/* キーの上面の下の縁(U の字)。その下の灰色が押しボタンの側面 */
.elp-btn .key::before {
  content: ""; position: absolute; left: -1.5px; right: -1.5px; top: -1.5px; bottom: 10px;
  border-bottom: 1.5px solid var(--elp-line); border-radius: 0 0 7px 7px; pointer-events: none;
}
.elp-btn .kl { position: relative; text-align: center; white-space: nowrap; }
.elp-btn .inv {
  display: inline-flex; flex-direction: column; align-items: center; background: #111; color: #fff;
  padding: 2px 5px 2px; line-height: 1.02; font-size: 10px;
}
.elp-btn .inv span + span { font-size: 13px; }
.elp-btn:hover:not(:disabled) .key { box-shadow: 0 0 0 2px rgba(226, 152, 58, .6), 0 1.5px 0 rgba(0, 0, 0, .22); }
.elp-btn:focus-visible .key { box-shadow: 0 0 0 2px var(--accent); }
.elp-btn:active:not(:disabled) .key {
  transform: translateY(1.5px); box-shadow: none;
  background: linear-gradient(180deg, #f3f3ef 0, #ecece7 calc(100% - 10px), #cfcfc8 calc(100% - 10px), #c2c2bb 100%);
}
/* ページの button の既定(暗い地・橙の .on・薄い :disabled)を打ち消す(.elp に付ける ―― 冒頭の ⚠) */
.elp .elp-btn, .elp .elp-btn.on, .elp .elp-btn:hover {
  background: none; border: 0; color: var(--elp-print); border-radius: 0; padding: 0;
}
.elp .elp-btn:disabled { opacity: 1; cursor: default; }
.elp .elp-btn.elp-synchro { opacity: .38; cursor: not-allowed; }
/* SYNCHRO は 44px のキーに収める(9.5px の Arial でも 4px はみ出していた。Inter はさらに広いので 8px・字間を詰める。
   2026-09-28、字の両脇に 2px 残る)*/
.elp-btn.elp-synchro .kl { font-size: 8px; line-height: 1.12; letter-spacing: -.02em; }

/* ---- TEMPO ダイアル(二重の輪・指を掛ける丸いくぼみ。回した目盛りの数だけ回る)---- */
.elp-tempo { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.elp-cap { font: 700 12.5px/1 var(--elp-type); letter-spacing: .02em; }
.elp-dial { width: 116px; height: 116px; touch-action: none; cursor: grab; border-radius: 50%; outline: none; }
.elp-dial:focus-visible { box-shadow: 0 0 0 3px var(--accent); }
.elp-dial svg { width: 100%; height: 100%; display: block; overflow: visible; }
.elp-dial .ring { fill: #fff; stroke: var(--elp-line); stroke-width: .6; }
.elp-dial .ring2 { fill: none; stroke: var(--elp-line); stroke-width: .45; }
.elp-dial .body { fill: #fbfbf9; stroke: var(--elp-line); stroke-width: .55; }
.elp-dial .dimple { fill: #f0f0ec; stroke: var(--elp-line); stroke-width: .55; }
.elp-dial[aria-disabled="true"] { cursor: default; }

/* ---- BAR / BEAT の窓(elpanel.js の lcdSvg。丸いランプ・BAR / BEAT・7セグ4桁・TEMPO)。**ステージの EL の箱も同じ部品** ----
   升目 150 × 100 の SVG。字の大きさは升目の単位(入れ物の幅で全体が縮む) */
.elp-lcd { position: relative; line-height: 0; }
.elp-lcd .ellcd { display: block; width: 187px; height: auto; }
.ellcd .fr { fill: #fff; stroke: var(--elp-line); stroke-width: 1.5; }
.ellcd .fr2 { fill: none; stroke: #9a9a94; stroke-width: .8; }
.ellcd .bl { fill: #fff; stroke: var(--elp-line); stroke-width: 1.3; }
.ellcd .halo { fill: var(--elp-lamp-on); opacity: 0; }
.ellcd.on .bl { fill: var(--elp-lamp-on); stroke: #7a2600; }
.ellcd.on .halo { opacity: .38; }
.ellcd .lb { font: 700 12.5px var(--elp-type); letter-spacing: .01em; fill: var(--elp-print); }   /* 升目 150 × 100 の単位。窓の幅 108px でも 9px */
.ellcd:not(.play) .lb-bar, .ellcd.play .lb-tempo { fill: var(--elp-print2); }
.ellcd .sub { font-weight: 400; fill: var(--elp-print); }
.ellcd .glass { fill: var(--elp-glass); stroke: var(--elp-line); stroke-width: 1.5; }
.ellcd .s { fill: var(--elp-seg-off); }
.ellcd .s.on { fill: var(--elp-seg); }
.elp-lcd .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---- RHYTHM CONTROL(見出しを線の上に・枠の中に SYNCHRO START と START)---- */
.elp-ctl { display: flex; flex-direction: column; align-items: stretch; min-width: 0; }
.elp-grp {
  font: 700 12px/1 var(--elp-type); text-align: center; white-space: nowrap;
  border-bottom: 1.3px solid var(--elp-line); padding-bottom: 4px;
}
.elp-ctlkeys { display: flex; gap: 10px; justify-content: center; padding: 9px 12px 10px; }
.elp-why { font: 400 10.5px/1.35 var(--elp-type); color: #77776f; margin-top: 5px; max-width: 200px; text-align: center; align-self: center; }

/* ---- VOLUME(説明書のボイスのパネルの VOLUME の段に合わせた)----
   ボイスの区画ごとに 黒い帯(UPPER KEYBOARD VOICE 1 … 右に VOLUME)+ 枠。枠の中の右に MAX〜MIN の 7 段
   (両端の丸い横長の目盛り)と右の縦長のランプ、いまの値の段とランプが点く。左に細かい値(0〜127 = Duck が送る
   SysEx の値)と、値を決めたのが Duck か演奏者か。段の左の小さな針(.cap)は値そのものの位置(段 i の真ん中 = 値 127·i/6) */
.elp-faders { flex: 1 1 100%; min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 12px; }
.elp-fader { --h: 98px; --ch: 8px; --rh: 10px; display: flex; flex-direction: column; min-width: 0; outline: none; }
.elp-vband { display: flex; align-items: center; gap: 6px; padding: 0 8px; font-size: 11px; letter-spacing: .04em; }
.elp-vband .vn { flex: 1; min-width: 0; text-align: center; overflow: hidden; text-overflow: ellipsis; }
.elp-vband .st { display: none; }
.elp-vband .vv { flex: 0 0 auto; font-size: 9.5px; letter-spacing: .02em; }
.elp-vbox { display: flex; align-items: center; gap: 10px; padding: 6px 8px 5px 8px; flex: 1; }
.elp-vbox .rd { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.elp-fader .val { font: 700 24px/1 "Cascadia Mono", Consolas, monospace; color: #55554f; min-height: 1em; }
.elp-fader .src { font: 400 10px/1.2 var(--elp-type); color: #77776f; min-height: 1.2em; }
.elp-fader.duck .val, .elp-fader.duck .src { color: var(--elp-duck); }
.elp-fader.player .val, .elp-fader.player .src { color: var(--elp-player); }
.elp-vbox .vcol { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.elp-vbox .mx, .elp-vbox .mn { font: 700 8.5px/1 var(--elp-type); padding-left: 12px; }
.elp-fader .trk { position: relative; width: 66px; height: var(--h); touch-action: none; cursor: ns-resize; }
.elp-fader:focus-visible .trk { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
.elp-fader .rung {
  position: absolute; left: 18px; width: 34px; height: var(--rh); box-sizing: border-box;
  top: calc((6 - var(--i)) / 6 * (100% - var(--ch)) + (var(--ch) - var(--rh)) / 2);
  border: 1.2px solid var(--elp-line); border-radius: 5px; background: #fff;
  box-shadow: inset 0 0 0 1.5px #fff, inset 0 0 0 2.5px var(--elp-line);
}
/* 両端の丸い端 */
.elp-fader .rung::before, .elp-fader .rung::after {
  content: ""; position: absolute; top: 50%; width: calc(var(--rh) - 2px); height: calc(var(--rh) - 2px);
  margin-top: calc((var(--rh) - 2px) / -2); box-sizing: border-box; border: 1.2px solid var(--elp-line); border-radius: 50%; background: #fff;
}
.elp-fader .rung::before { left: -1.5px; }
.elp-fader .rung::after { right: -1.5px; }
.elp-fader .rung .lp {
  position: absolute; left: calc(100% + 4px); top: -1.2px; width: 6px; height: var(--rh); box-sizing: border-box;
  border: 1.2px solid var(--elp-line); border-radius: 3px; background: #fff;
}
.elp-fader .rung.on { background: #ffd8b0; box-shadow: inset 0 0 0 1.5px #ffd8b0, inset 0 0 0 2.5px var(--elp-line); }
.elp-fader .rung.on::before, .elp-fader .rung.on::after { background: #ffd8b0; }
.elp-fader .rung.on .lp {
  background: radial-gradient(ellipse at 50% 40%, #ffe7c4 0 15%, var(--elp-lamp-on) 60%, #c83a00); border-color: #7a2600;
  box-shadow: 0 0 6px 2px rgba(255, 96, 20, .55);
}
/* 値そのものの位置の針(段と段の間も動く)。掴むのは段の列(.trk)のどこでもよい */
.elp-fader .cap {
  position: absolute; left: 0; width: 14px; height: var(--ch); top: calc((1 - var(--p, 1)) * (100% - var(--ch)));
  background: var(--elp-line); clip-path: polygon(0 0, 55% 0, 100% 50%, 55% 100%, 0 100%);
}
.elp-fader.unknown .cap { opacity: .25; }
.elp-fader.duck .cap { background: var(--elp-duck); }
.elp-fader.player .cap { background: var(--elp-player); }

.elp-note { color: var(--ink); margin-top: 6px; font-size: 12px; }
.elp-note[hidden] { display: none; }
.elp-rx { margin-top: 4px; font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; }

/* ---- 子EL(小さく。見るだけ ―― ダイアルと SYNCHRO START は出さず、キーはランプとして)----
   ページは詳細パネル(幅 316〜364px)に出す。狭い幅に収まるよう**縦に積む**: RHYTHM(SEQ は横1列)/
   BAR・BEAT の窓と RHYTHM CONTROL / VOLUME(見出しの帯1本 + 8 区画を 4 列 × 2 段。区画の帯は UPPER 1 … だけ) */
.elp:not(.big) .elp-face { padding: 9px 10px; gap: 10px 16px; }
.elp:not(.big) .elp-rhythm, .elp:not(.big) .elp-lower { flex: 1 1 100%; }
.elp:not(.big) .elp-seqs { grid-template-columns: repeat(4, auto); justify-content: space-evenly; }
.elp:not(.big) .elp-voices::before {
  content: "VOLUME"; grid-column: 1 / -1; background: #121212; color: #fff; text-align: center;
  font: 700 10.5px/16px var(--elp-type); letter-spacing: .03em; height: 16px;
}
.elp:not(.big) .elp-band { height: 16px; line-height: 16px; font-size: 10.5px; }
.elp:not(.big) .elp-frame { margin-top: 5px; }
.elp:not(.big) .elp-seqs { gap: 6px 8px; padding: 6px 8px 7px; }
.elp:not(.big) .elp-btn { gap: 4px; font-size: 8.5px; }
.elp:not(.big) .elp-btn .lamp { width: 16px; height: 5px; }
.elp:not(.big) .elp-btn .key { width: 42px; height: 35px; padding-top: 5px; border-radius: 5px;
  background: linear-gradient(180deg, #fff 0, #f8f8f5 calc(100% - 8px), #deded8 calc(100% - 8px), #c8c8c1 100%); }
.elp:not(.big) .elp-btn .key::before { bottom: 6.5px; border-radius: 0 0 5px 5px; }
.elp:not(.big) .elp-btn .inv { font-size: 8px; padding: 1px 3px; }
.elp:not(.big) .elp-btn .inv span + span { font-size: 10px; }
.elp:not(.big) .elp-tempo, .elp:not(.big) .elp-synchro, .elp:not(.big) .elp-why { display: none; }
.elp:not(.big) .elp-lower { gap: 10px 14px; align-items: flex-end; }
.elp:not(.big) .elp-lcd .ellcd { width: 116px; }
.elp:not(.big) .elp-grp { font-size: 9.5px; }
.elp:not(.big) .elp-ctlkeys { padding: 6px 10px 7px; }
.elp:not(.big) .elp-faders { gap: 6px 6px; }
.elp:not(.big) .elp-fader { --h: 58px; --ch: 6px; --rh: 6px; }
.elp:not(.big) .elp-vband { height: 15px; line-height: 15px; padding: 0 4px; font-size: 8.5px; gap: 3px; }
.elp:not(.big) .elp-vband .lg { display: none; }
.elp:not(.big) .elp-vband .st { display: inline; }
.elp:not(.big) .elp-vband .vv { display: none; }          /* 見出しの帯 VOLUME が1本ある(区画の帯は名前だけ) */
.elp:not(.big) .elp-vbox { flex-direction: column-reverse; gap: 2px; padding: 4px 3px 3px; }
.elp:not(.big) .elp-fader .val { font-size: 10px; font-weight: 400; }
.elp:not(.big) .elp-fader .src, .elp:not(.big) .elp-vbox .mx, .elp:not(.big) .elp-vbox .mn { display: none; }
.elp:not(.big) .elp-fader .trk { width: 46px; }
.elp:not(.big) .elp-fader .rung { left: 16px; width: 22px; border-radius: 3px; box-shadow: none; }
.elp:not(.big) .elp-fader .rung.on { box-shadow: none; }
.elp:not(.big) .elp-fader .rung::before, .elp:not(.big) .elp-fader .rung::after { display: none; }
.elp:not(.big) .elp-fader .rung .lp { width: 4px; left: calc(100% + 3px); }

/* ---- 親EL の操作盤(2026-09-27 から DEVICE 欄の中。幅 340〜470px)----
   ステージの親EL を押すと DEVICE 欄に全部出す(ユーザーの決定 2026-09-27)。狭い欄に収まるよう**縦に積む**:
   RHYTHM(SEQ は横1列)/ TEMPO ダイアル・BAR/BEAT の窓・RHYTHM CONTROL(折り返す)/ VOLUME の 8 区画を 4 列 × 2 段
   (区画の帯は短い呼び名 UPPER 1 …。長い呼び名は札と読み上げに残る)。子EL の小さい版より一回り大きく、ダイアルと START は押せる */
.elp.big .elp-face { gap: 9px 12px; padding: 8px 8px; }
.elp.big .elp-rhythm, .elp.big .elp-lower { flex: 1 1 100%; }
.elp.big .elp-seqs { grid-template-columns: repeat(4, auto); justify-content: space-evenly; gap: 6px 8px; padding: 7px 10px 8px; }
.elp.big .elp-btn .key { width: 50px; height: 40px; padding-top: 5px; }
.elp.big .elp-ctl .elp-btn .key { width: 44px; }
.elp.big .elp-lower { justify-content: space-between; align-items: center; gap: 10px 4px; flex-wrap: wrap; }
.elp.big .elp-ctlkeys { padding: 7px 8px 8px; gap: 8px; }
.elp.big .elp-tempo { flex-direction: column; gap: 5px; }
.elp.big .elp-dial { width: 60px; height: 60px; }
.elp.big .elp-lcd .ellcd { width: 108px; }
.elp.big .elp-why { display: none; }
.elp.big .elp-faders { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 8px; }
.elp.big .elp-fader { --h: 48px; --ch: 6px; --rh: 6px; }
.elp.big .elp-vband { font-size: 9.5px; padding: 0 4px; gap: 3px; }
.elp.big .elp-vband .lg { display: none; }
.elp.big .elp-vband .st { display: inline; }
.elp.big .elp-vband .vv { display: none; }
.elp.big .elp-voices::before {
  content: "VOLUME"; grid-column: 1 / -1; background: #121212; color: #fff; text-align: center;
  font: 700 11px/18px var(--elp-type); letter-spacing: .03em; height: 18px;
}
.elp.big .elp-vbox { flex-direction: column-reverse; gap: 2px; padding: 4px 4px 3px; }
.elp.big .elp-fader .val { font-size: 12px; }
.elp.big .elp-fader .src { font-size: 9.5px; }
.elp.big .elp-vbox .mx, .elp.big .elp-vbox .mn { display: none; }
.elp.big .elp-fader .trk { width: 52px; }
.elp.big .elp-fader .rung { left: 16px; width: 26px; }

/* とても狭い幅: ボイスの区画を 2 列に */
@media (max-width: 360px) { .elp.big .elp-faders { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 狭い幅: 帯と枠はそのまま折り返す。ダイアルと窓を少し詰める */
@media (max-width: 520px) {
  .elp-face { padding: 10px 10px; gap: 14px 16px; }
  .elp-seqs { grid-template-columns: repeat(4, auto); }      /* 狭いので SEQ は横1列に */
  .elp.big .elp-lower { gap: 12px 14px; flex-wrap: wrap; justify-content: center; }
  .elp.big .elp-dial { width: 96px; height: 96px; }
  .elp.big .elp-lcd .ellcd { width: 154px; }
  .elp.big .elp-btn .key { width: 56px; height: 48px; }
  .elp-faders { gap: 8px 8px; }
  .elp-vband .vv { display: none; }                         /* 帯の幅が足りない(列の MAX / MIN で分かる) */
}

/* v28: レジスト(Maestro のレジストで自動を試す。親EL だけ効く) */
.elp-meter .m-reg { white-space: nowrap; }
.elp-meter .m-reg select, .elp-meter .m-reg button { font: inherit; padding: 0 2px; }
