/* =====================================================================
   experimentLab：ガスバーナー
   ===================================================================== */
.exl-m-burner .exl-stage{background:#c6cfcc}
.exl-b-wrap{position:relative;width:100%;display:flex;justify-content:center;align-items:center;background:#2a2825}
.exl-b-svg{display:block;width:100%;height:auto;max-height:calc(100vh - 70px);max-height:calc(var(--exl-sh, 100dvh) - 4px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.exl-b-svg.portrait{max-height:none}
.exl.is-full .exl-b-wrap{flex:1;min-height:0}
.exl.is-full .exl-b-svg{width:100%;height:100%;max-height:calc(var(--exl-sh, 100dvh) - 4px)}
.exl-b-svg text{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","Meiryo",system-ui,sans-serif}
.exl-b-tile line{stroke:rgba(255,255,255,.4);stroke-width:2}
.exl-b-ruler rect{fill:rgba(255,255,255,.5);stroke:rgba(60,70,80,.35)}
.exl-b-ruler line{stroke:#3b4248;stroke-width:1.6}
.exl-b-ruler text{font-size:13px;font-weight:700;fill:#3b4248}
.exl-b-ruler text.u{font-size:12px}
.exl-b-hose{fill:none;stroke:#d8652a;stroke-width:13;stroke-linecap:round}
.exl-b-lever{transition:transform .28s cubic-bezier(.3,1.3,.6,1);transform-box:view-box}
.exl-b-knurl line{stroke:#4a3410;stroke-width:1.8}
.exl-b-screw.air .exl-b-knurl line{stroke:#22272b}
.exl-b-screw.air{transition:transform .08s linear}
/* さわる所 */
.exl-hit{fill:rgba(0,0,0,0);stroke:none;pointer-events:all;outline:none}
.exl-hit[data-hit="gas"],.exl-hit[data-hit="air"]{cursor:ew-resize}
.exl-hit[data-hit="main"],.exl-hit[data-hit="cock"]{cursor:pointer}
.exl-hit:focus-visible{stroke:#2d7ff9;stroke-width:3;stroke-dasharray:7 5}
.exl-b-match line.exl-hit{stroke:rgba(0,0,0,0);stroke-linecap:round;pointer-events:stroke;cursor:grab}
.exl-b-match circle.exl-hit{cursor:grab}
.exl-mk{fill:none;stroke:none;pointer-events:none}
/* 押さえる */
.exl-b-fingers{display:none;pointer-events:none}
.exl-b-fingers.on{display:inline}
.exl-b-fingers ellipse{fill:#f2c9a5;stroke:#b07c56;stroke-width:2}
.exl-b-fingers path{fill:none;stroke:#f2c9a5;stroke-width:14;stroke-linecap:round}
.exl-b-hold{cursor:pointer;outline:none}
.exl-b-hold circle{fill:#3c3528;stroke:#b98d3c;stroke-width:3}
.exl-b-hold .ico{font-size:28px;text-anchor:middle}
.exl-b-hold .cap{font-size:14px;font-weight:700;text-anchor:middle;fill:#23302d;paint-order:stroke;stroke:#fff;stroke-width:4px}
.exl-b-hold.on circle{fill:#ffd75e;stroke:#a77a12}
.exl-b-hold:focus-visible circle{stroke:#2d7ff9;stroke-width:4}
/* 炎 */
.exl-b-flame{opacity:0;transition:opacity .25s}
.exl-b-flame.on{opacity:1}
.exl-b-flick{transform-box:view-box;animation:exl-flick .16s ease-in-out infinite alternate}
.exl-b-flame.lum .exl-b-flick{animation:exl-sway .45s ease-in-out infinite alternate}
.exl-b-flame.roar .exl-b-flick{animation:exl-roar .06s linear infinite alternate}
.exl-b-inner{fill:#2a66ff;stroke:#a8dcff;stroke-width:1.2}
@keyframes exl-flick{from{transform:scale(1,1)}to{transform:scale(1.02,.97)}}
@keyframes exl-sway{0%{transform:skewX(-3deg) scale(1,1)}100%{transform:skewX(3deg) scale(.97,1.04)}}
@keyframes exl-roar{from{transform:scale(1,1)}to{transform:scale(1.06,.9)}}
.exl-b-flash{fill:#fff4b0;opacity:0;transform-box:fill-box;transform-origin:center}
.exl-b-flash.go{animation:exl-flash .55s ease-out}
@keyframes exl-flash{0%{opacity:.95;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}
.exl-b-leak path{fill:none;stroke:rgba(110,130,140,.8);stroke-width:3;stroke-linecap:round;opacity:0}
.exl-b-leak.go path{animation:exl-leak 1.4s ease-out}
@keyframes exl-leak{0%{opacity:.9;transform:translateY(0)}100%{opacity:0;transform:translateY(-30px)}}
/* マッチ箱・燃えさし入れ */
.exl-b-strip{fill:#5b3426;stroke:#341b12;stroke-width:1.5}
.exl-b-tray .glass{fill:rgba(225,240,250,.38);stroke:#8aa4b4;stroke-width:2.5;stroke-linejoin:round}
.exl-b-tray .water{fill:rgba(110,170,225,.5)}
.exl-b-tray .sp{stroke:#3a2a1a;stroke-width:3.5;stroke-linecap:round}
.exl-b-tray .shadow{fill:rgba(0,0,0,.25)}
/* マッチ */
.exl-b-match .stick{stroke:#e6c993;stroke-width:6.5;stroke-linecap:round}
.exl-b-match .burnt{stroke:#2b2118;stroke-width:6.5;stroke-linecap:round}
.exl-b-match .head{fill:#b42a1e;stroke:#6e150c;stroke-width:1.5}
.exl-b-match .head.spent{fill:#2a2522;stroke:#111}
.exl-b-match.held{filter:drop-shadow(2px 6px 3px rgba(0,0,0,.35))}
.exl-b-mflame .o{fill:#ffa82e;opacity:.92}
.exl-b-mflame .i{fill:#fff1b0}
.exl-b-mflame path{transform-box:fill-box;transform-origin:50% 100%;animation:exl-mfl .14s ease-in-out infinite alternate}
@keyframes exl-mfl{from{transform:scale(1,1)}to{transform:scale(.92,1.08)}}
/* 名前 */
.exl-b-lab{font-size:15px;font-weight:700;fill:#23302d;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.exl-b-box .exl-b-lab{fill:#f3e6c4}
@media (prefers-reduced-motion:reduce){.exl-b-flick,.exl-b-mflame path{animation:none!important}}
.exl-b-ruler .exl-b-band{fill:rgba(60,170,110,.38);stroke:rgba(30,120,70,.6);stroke-width:1}
