:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;color:#302b26;background:#f5f4f2;font-synthesis:none;--orange:#f5a22d;--orange-deep:#e67700;--paper:#fff}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ad5300;outline-offset:3px}.app{max-width:980px;margin:0 auto;padding:24px 28px calc(18px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand h1{font-family:Arial,Helvetica,sans-serif;font-size:34px;letter-spacing:.02em;margin:0;font-weight:900;line-height:1}.maywa-logo{width:91px;height:auto;display:block;margin-bottom:8px;background:var(--orange-deep);padding:6px 8px;box-sizing:content-box}
.demo{margin-bottom:19px}.demo>button{width:100%;display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid #e99226;border-radius:9px;background:#fff4e3;text-align:left}.demo>button.running{background:#ffd28b}.demo>button.loading{opacity:.75}.demo>button small{display:block;font-size:9px;letter-spacing:.16em;color:#ab600d;margin-bottom:3px}.demo>button strong{font-size:15px;font-weight:750}#demoIcon{font-size:19px;color:#c56600}#demoAction{margin-left:auto;background:#fff;border:1px solid #e5b377;border-radius:5px;padding:6px 13px;font-size:12px;white-space:nowrap}.demo-progress{height:3px;background:#e5ddd2;border-radius:2px;margin:6px 3px 0;overflow:hidden}#demoFill{height:100%;width:0;background:#e67700;display:block}.demo-meta{display:flex;justify-content:space-between;gap:10px;color:#907454;font-size:10px;margin:5px 3px 0;min-height:13px}.demo-rack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px;background:#ece8e2;border-radius:9px;padding:12px}.rack-title{height:23px;display:flex;align-items:center;justify-content:center}.rack-title .product-title{height:12px;max-width:90%}.rack-title .dx{font-size:12px}.mini-keyboard{display:grid;gap:4px;height:65px}.mini-keyboard.two-row{grid-template-rows:1fr 1fr}.mini-keyboard .keyboard-row{height:auto;min-height:0}.mini-keyboard .key{border-radius:1px;box-shadow:inset 0 -2px 0 #d7d2ca;pointer-events:none}.mini-keyboard .key .label{font-size:7px;bottom:3px}.mini-keyboard .key.black .label{display:none}.mini-pads{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;height:65px}.mini-pads.two-pads{grid-template-columns:repeat(2,1fr)}.mini-pads .pad{border-radius:3px;font-size:8px;padding:3px 1px}.mini-keyboard .key.active,.mini-pads .pad.active{background:#ff9a12;box-shadow:inset 0 0 0 1px #c46400}.mini-keyboard .key.black.active{background:#e16e00}
nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}nav button{display:flex;justify-content:center;align-items:center;border:1px solid #d9d1c7;background:transparent;border-radius:7px;padding:13px 5px;min-height:45px;position:relative}nav button.active{background:var(--orange);border-color:#e18b1d}nav button.playing:after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#a74b00;box-shadow:0 0 4px #c57300}.product-title{width:auto;max-width:100%;height:30px;object-fit:contain;vertical-align:middle}.dx{font-family:Arial,sans-serif;font-weight:900;font-size:30px;line-height:1;margin-left:4px;color:#111}nav .product-title{height:14px;max-width:84%}nav .dx{font-size:14px;margin-left:2px}
.instrument{display:grid;grid-template-columns:1fr 1.15fr;gap:25px;align-items:center;min-height:262px;margin:17px 0;background:#fff;border-radius:13px;overflow:hidden;padding:17px 40px}.photo{height:226px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#d3eff6;border-radius:8px}.photo svg{max-width:100%;height:100%;display:block}.instrument-info .serial{font-size:12px;letter-spacing:.14em;font-weight:750;color:#bc6500;margin:0 0 8px}.instrument-info h2{display:flex;align-items:center;margin:8px 0 10px;min-height:32px}.instrument-info>p{font-size:12px;line-height:1.7;margin:5px 0}.instrument-info .sample-info{font-size:12px;color:#5b5044;line-height:1.6;margin-top:11px}#status{margin-top:12px;font-size:11px;color:#887056;min-height:16px}
.console{padding:16px 16px 10px;background:var(--orange);border:1px solid #dd8b1f;border-radius:13px;box-shadow:0 5px 0 #dbbd94}.toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-bottom:13px;color:#503315}.toolbar>span{font-size:11px;letter-spacing:.04em}.volume{display:flex;align-items:center;gap:7px;font-size:10px}.volume input{width:92px;accent-color:#8c4a00}.keyboard{display:grid;gap:10px;touch-action:none;user-select:none;-webkit-user-select:none}.keyboard-row{height:220px;position:relative;touch-action:none}.keyboard.two-row>.keyboard-row{height:155px}.key{position:absolute;top:0;height:100%;border:1px solid #bfb9b0;background:linear-gradient(#fff,#f5f3ef);border-radius:3px 3px 5px 5px;padding:0;box-shadow:inset 0 -6px 0 #d7d2ca;touch-action:none;display:block}.key .label{position:absolute;bottom:19px;left:0;right:0;font-size:11px;color:#77716a;text-align:center;pointer-events:none}.key .letter{position:absolute;bottom:5px;left:0;right:0;font-size:9px;color:#aca69d;pointer-events:none}.key.black{height:62%;z-index:2;background:linear-gradient(110deg,#48433e,#292522);border:1px solid #312b25;box-shadow:inset 0 -5px 0 #181512}.key.black .label{font-size:9px;bottom:17px;color:#cec3b7}.key.black .letter{color:#83776c}.key.active{background:linear-gradient(#ffe0b2,#ffae38);box-shadow:inset 0 -2px 0 #b57625}.key.black.active{background:#b87013;box-shadow:inset 0 -2px 0 #925202}.pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,1fr);gap:10px;min-height:280px;touch-action:none;user-select:none;-webkit-user-select:none}.pads.two-pads{grid-template-rows:1fr;min-height:220px}.pad{border:1px solid #d6b17e;border-radius:9px;background:#fffaf1;padding:18px 8px;touch-action:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.pad small{font-size:10px;color:#927655}.pad.active{background:#ffca75;box-shadow:inset 0 0 0 2px #cb7600}.play-hint{display:flex;justify-content:space-between;gap:8px;color:#794d1d;font-size:10px;margin-top:12px;min-height:12px}
footer{display:flex;justify-content:space-between;color:#8e8274;font-size:10px;margin-top:19px}footer button{border:0;background:none;color:#806d56;font-size:10px;padding:0}dialog{border:1px solid #e3d6c7;border-radius:14px;max-width:580px;width:calc(100% - 28px);padding:24px;color:#51483e;background:#fffdf9;font-size:13px;line-height:1.85}dialog::backdrop{background:#38271588}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading h2{margin:0;font-size:18px}.dialog-heading button{border:0;background:none;font-size:28px}dialog ul{padding-left:22px}dialog li{margin-bottom:9px}dialog a{color:#af5d00}
@media(max-width:600px){.app{padding:15px 12px calc(16px + env(safe-area-inset-bottom))}header{margin-bottom:13px}.brand h1{font-size:29px}.maywa-logo{width:72px;margin-bottom:6px;padding:5px 7px}.demo{margin-bottom:14px}.demo>button{padding:11px 12px;gap:10px}.demo>button strong{font-size:13px}.demo>button small{font-size:8px}#demoAction{font-size:11px;padding:5px 9px}.demo-meta{font-size:9px}.demo-rack{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.rack-instrument:last-child{grid-column:1/-1}.rack-title{height:21px}.mini-keyboard{height:57px}.mini-pads{height:57px}.mini-keyboard.two-row{height:70px}.mini-keyboard .key .label{font-size:7px}.mini-keyboard .keyboard-row{height:auto}.demo-rack .rack-instrument:last-child .mini-keyboard{height:45px}nav{gap:4px}nav button{padding:11px 1px;min-height:41px;border-radius:6px}nav .product-title{height:10px;max-width:85%}nav .dx{font-size:10px}.instrument{grid-template-columns:43% 57%;gap:6px;margin:12px 0;padding:12px;min-height:195px}.photo{height:178px}.instrument-info h2{min-height:25px;margin:6px 0 9px}.product-title{height:22px}.dx{font-size:22px}.instrument-info .serial{font-size:10px;letter-spacing:.08em}.instrument-info>p{font-size:10px}.instrument-info .sample-info{font-size:10px;margin-top:8px}#status{font-size:9px;margin-top:8px}.console{padding:11px 9px 9px}.toolbar{gap:5px;padding-bottom:10px}.toolbar>span{font-size:10px}.volume{font-size:9px;gap:5px}.volume input{width:73px}.keyboard{gap:8px}.keyboard-row{height:225px}.keyboard.two-row>.keyboard-row{height:136px}.key .label{font-size:10px;bottom:14px}.key.black .label{font-size:8px;bottom:11px}.pc-hint,.key .letter{display:none}.play-hint{font-size:9px;justify-content:center}.pads{min-height:260px;gap:7px}.pads.two-pads{min-height:225px}.pad{font-size:14px;padding:11px 5px;gap:3px}.pad small{font-size:8px}footer{margin-top:15px}}
@media(orientation:landscape) and (max-height:600px){.app{padding-top:10px;max-width:1100px}header{margin-bottom:10px}.brand>div{display:flex;align-items:center;gap:12px}.brand h1{font-size:24px}.maywa-logo{width:66px;margin:0}.demo>button{padding:8px 14px}.demo>button strong{font-size:13px}.demo-rack{grid-template-columns:repeat(5,minmax(0,1fr))}.demo{margin-bottom:10px}nav button{min-height:31px;padding:7px 4px}nav .product-title{height:12px}nav .dx{font-size:12px}.instrument{margin:9px 0;min-height:70px;height:76px;grid-template-columns:85px 1fr;padding:5px 16px;gap:16px}.photo{height:65px}.instrument-info{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.instrument-info h2{margin:0;min-height:22px}.product-title{height:20px}.dx{font-size:20px}.instrument-info .serial{font-size:10px;margin:0}.instrument-info>p:not(.serial):not(.sample-info){display:none}.instrument-info .sample-info{max-width:240px;line-height:1.4;margin:0;font-size:9px}.instrument-info #status{margin:0}.console{padding:9px 10px 7px}.toolbar{padding-bottom:8px}.keyboard-row{height:140px}.keyboard.two-row>.keyboard-row{height:110px}.mini-keyboard .keyboard-row{height:auto}.pads{min-height:210px}.pads.two-pads{min-height:140px}.pad{font-size:12px;padding:8px 2px}.play-hint{margin-top:8px}footer{margin-top:12px}.pc-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Demo list is opt-in; expanding it never starts audio. */
.demo-toggle{width:100%;display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid #e99226;border-radius:9px;background:#fff4e3;text-align:left}#demoChevron{font-size:22px;color:#b96000;line-height:1}#demoToggleLabel{margin-left:auto;font-size:11px;white-space:nowrap;color:#9d590f}.demo-panel{padding:0 3px}.demo-controls{display:flex;gap:8px;margin-top:11px}.demo-controls button{border:1px solid #d78b30;border-radius:7px;padding:10px 18px;background:#fff;font-size:12px}.demo-controls #demoButton{display:flex;align-items:center;justify-content:center;gap:10px;background:#ef8c11;color:#302317;font-weight:700;min-width:145px}.demo-controls #demoButton.running{background:#ffd28b}.demo-controls #demoButton.loading{opacity:.7}.demo-controls #demoAction{margin:0;padding:0;border:0;background:none;font-size:12px}.demo-controls #demoClose{margin-left:auto;background:transparent;color:#866542}.demo-controls #demoIcon{font-size:13px;color:inherit}.demo-rack{margin-top:9px}
.exhibition{margin-top:32px;padding:25px;background:#fff;border:1px solid #e5dacb;border-radius:13px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:start}.exhibition-copy{font-size:13px;line-height:1.85}.exhibition-eyebrow{font-size:10px;letter-spacing:.1em;color:#977753;margin:0 0 9px}.exhibition-eyebrow span{margin-left:10px;padding:3px 7px;border:1px solid #edbf83;border-radius:3px;color:#a35e0b;font-size:10px;letter-spacing:0}.exhibition h2{font-size:21px;line-height:1.5;letter-spacing:.02em;margin:0 0 14px}.exhibition-lead{font-weight:650}.exhibition-copy>p{margin-top:10px;margin-bottom:12px}.exhibition dl{font-size:11px;margin:18px 0}.exhibition dl>div{display:grid;grid-template-columns:44px 1fr;gap:6px;margin:9px 0}.exhibition dt{color:#977753}.exhibition dd{margin:0}.exhibition dd small{font-size:10px}.exhibition-link{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:300px;background:#f3a331;border:1px solid #e2952d;border-radius:6px;padding:10px 13px;color:#422904;text-decoration:none;font-size:12px;font-weight:650}.exhibition-note{font-size:9px;color:#927f6a}.exhibition-poster{display:block}.exhibition-poster img{width:100%;height:auto;display:block;border-radius:3px}
@media(max-width:600px){.demo-toggle{padding:11px 12px;gap:10px}.demo-controls button{padding:9px 15px}.demo-controls #demoButton{min-width:130px}.exhibition{grid-template-columns:1fr;padding:19px;gap:20px;margin-top:27px}.exhibition h2{font-size:20px}.exhibition-copy{font-size:12px}.exhibition-poster{max-width:260px;justify-self:center}.exhibition-link{max-width:none}.exhibition-note{line-height:1.6}}
@media(orientation:landscape) and (max-height:600px){.demo-toggle{padding:8px 14px}}
/* Numbered orange plates reference the user's Ton-Ton-kun photograph. */
.pad.numbered-pad{background:#ed8120;border:4px solid #e5e2dc;outline:1px solid #cb9c62;box-shadow:0 3px 0 #b66b1d;padding:10px 8px;gap:2px;color:#fff;position:relative}.pad-number{font-family:Arial,Helvetica,sans-serif;font-size:42px;font-weight:900;line-height:1.05;color:#fff;letter-spacing:-.04em}.pad-name{font-size:11px;font-weight:650;color:#fff}.pad.numbered-pad.active{background:#ffb53a;box-shadow:inset 0 0 0 2px #fff5cc,0 1px 0 #b66b1d}.pad.numbered-pad.active .pad-number,.pad.numbered-pad.active .pad-name{color:#5b2d00}.mini-pads .numbered-pad{border-width:1px;outline:0;box-shadow:none;padding:2px 1px;flex-direction:row;gap:3px}.mini-pads .pad-number{font-size:10px;line-height:1}.mini-pads .pad-name{font-size:7px}.mini-pads .numbered-pad.active{background:#ffb53a;box-shadow:inset 0 0 0 1px #fff5cc}
@media(max-width:600px){.pad-number{font-size:37px}.pad-name{font-size:10px}.pad.numbered-pad{padding:8px 5px;border-width:3px}.mini-pads .numbered-pad{border-width:1px;padding:2px 1px}}

/* Keep miniature demo rows within their own grid cell, never the main key height. */
.rack-instrument{min-width:0;min-height:0}.mini-keyboard,.mini-pads{min-width:0;min-height:0;overflow:hidden}.mini-keyboard>.keyboard-row{height:auto;min-height:0;max-height:100%;overflow:hidden}
.exhibition-banner{display:none}#exhibitionArticle{scroll-margin-top:14px}
@media(max-width:600px){body{padding-bottom:var(--exhibition-banner-space,calc(48px + env(safe-area-inset-bottom,0px)))}.exhibition-banner{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#fff9ed;color:#814100;border-top:1px solid #edc48e;text-decoration:none;font-size:12px;font-weight:650;line-height:20px;letter-spacing:.015em}.exhibition-banner span{font-size:14px}.app{padding-bottom:18px}}
/* Separate all-instrument performance view. */
.view-navigation{margin:0 0 15px}.view-navigation button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:11px 16px;border:1px solid #dd902d;border-radius:7px;background:#fff2dc;font-size:14px;font-weight:700}.view-navigation #allViewBack{width:auto;min-width:110px;background:#fff}.all-view-heading h2{margin:0;font-size:21px}.all-view-heading p{font-size:11px;color:#8b7257;line-height:1.7;margin:8px 0}.all-view-heading #allStatus{font-size:10px;color:#967143;min-height:16px;margin-bottom:12px}.playable-rack{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;padding:0!important;background:none;margin:14px 0}.playable-rack .rack-instrument{grid-column:auto!important;background:#ece8e2;border:1px solid #ddd4c9;border-radius:10px;padding:13px;min-width:0;touch-action:pan-y}.playable-rack .rack-title{height:auto;min-height:24px;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:11px;touch-action:pan-y}.playable-rack .rack-title .product-title{height:19px;max-width:70%}.playable-rack .rack-title .dx{font-size:19px}.rack-code{margin-left:auto;font-size:9px;color:#9c7b55;letter-spacing:.1em}.playable-rack .mini-keyboard{height:110px!important;touch-action:none;user-select:none;-webkit-user-select:none}.playable-rack .mini-keyboard.two-row{height:226px!important;gap:8px;grid-template-rows:1fr 1fr}.playable-rack .mini-keyboard>.keyboard-row{height:auto;min-height:0;max-height:100%;overflow:hidden;touch-action:none}.playable-rack .key{pointer-events:auto;touch-action:none;border-radius:3px 3px 5px 5px}.playable-rack .key .label{font-size:10px;bottom:9px}.playable-rack .key.black .label{display:block;font-size:8px;bottom:8px}.playable-rack .mini-pads{height:auto;min-height:136px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(52px,1fr);gap:8px;overflow:visible;touch-action:pan-y}.playable-rack .mini-pads.two-pads{min-height:78px;grid-auto-rows:minmax(78px,1fr)}.playable-rack .mini-pads .pad{touch-action:none;min-height:52px;padding:9px 6px;font-size:15px;border-radius:6px}.playable-rack .mini-pads .numbered-pad{flex-direction:column;border-width:3px;gap:2px}.playable-rack .mini-pads .pad-number{font-size:30px}.playable-rack .mini-pads .pad-name{font-size:10px}.all-view-demo{border:1px solid #dfae70;border-radius:9px;padding:14px;margin:20px 0 13px;background:#fff4e3}.demo-title small{font-size:9px;letter-spacing:.08em;color:#a26011}.demo-title h3{font-size:16px;margin:5px 0 12px}.all-view-demo .demo-controls{align-items:center;justify-content:space-between}.back-bottom{border:1px solid #d8c7b3;background:#fff;border-radius:6px;padding:10px 14px;font-size:12px;min-height:42px}.all-view{touch-action:pan-y}
@media(max-width:600px){.view-navigation{margin-bottom:13px}.view-navigation button{font-size:13px}.playable-rack{gap:13px!important}.playable-rack .rack-instrument{padding:11px}.playable-rack .mini-keyboard{height:102px!important}.playable-rack .mini-keyboard.two-row{height:210px!important}.playable-rack .rack-title .product-title{height:17px}.playable-rack .rack-title .dx{font-size:17px}.playable-rack .mini-pads .pad{min-height:54px}.all-view-demo .volume input{width:66px}.all-view-heading h2{font-size:19px}}
/* Compact, still playable keyboards; keep their full width on phones. */
.all-view-entry{margin:9px 0 0}.all-view-entry button{min-height:39px;padding:8px 13px;font-size:12px}.playable-rack{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.playable-rack .rack-instrument{padding:10px}.playable-rack .rack-instrument:last-child{grid-column:1/-1!important}.playable-rack .rack-title{min-height:20px;margin-bottom:7px}.playable-rack .rack-title .product-title{height:15px}.playable-rack .rack-title .dx{font-size:15px}.playable-rack .rack-code{font-size:8px}.playable-rack .mini-keyboard{height:70px!important}.playable-rack .mini-keyboard.two-row{height:146px!important;gap:6px}.playable-rack .key .label{font-size:9px;bottom:6px}.playable-rack .key.black .label{font-size:7px;bottom:5px}.playable-rack .mini-pads{min-height:0;grid-auto-rows:minmax(44px,1fr);gap:5px}.playable-rack .mini-pads.two-pads{min-height:64px;grid-auto-rows:minmax(64px,1fr)}.playable-rack .mini-pads .pad{min-height:44px;padding:4px 6px;font-size:13px}.playable-rack .mini-pads .numbered-pad{border-width:2px;gap:0}.playable-rack .mini-pads .pad-number{font-size:23px}.playable-rack .mini-pads .pad-name{font-size:9px}.all-view-heading p{margin:5px 0}.all-view-heading #allStatus{margin-bottom:7px}.all-view-demo{padding:11px;margin:12px 0 10px}.demo-title h3{font-size:14px;margin:4px 0 8px}
@media(max-width:600px){.playable-rack{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}.playable-rack .rack-instrument{padding:9px}.playable-rack .mini-keyboard{height:66px!important}.playable-rack .mini-keyboard.two-row{height:138px!important}.playable-rack .mini-pads .pad{min-height:44px}.all-view-entry{margin-bottom:0}.playable-rack .mini-pads.two-pads{min-height:54px;grid-auto-rows:minmax(54px,1fr)}}
.product-promos{grid-column:1/-1;border-top:1px solid #ebdfce;padding-top:20px;margin-top:0}.product-promos>h3{font-size:13px;margin:0 0 14px;font-weight:700;color:#765a39}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-decoration:none;color:#483927;background:#fffaf3;border:1px solid #eadbc5;border-radius:7px;padding:12px}.product-card>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:3px;background:#fff}.product-card h4{font-size:14px;line-height:1.6;margin:12px 0 4px;overflow-wrap:anywhere}.product-card p{font-size:11px;line-height:1.6;margin:0 0 12px;color:#997548}.product-card>span{margin-top:auto;font-size:11px;font-weight:650;color:#aa5b00}.product-card:hover{border-color:#de9c4c}
@media(max-width:600px){.product-promos{padding-top:17px}.product-grid{gap:10px}.product-card{padding:8px}.product-card h4{font-size:12px;margin-top:8px}.product-card p{font-size:9px;margin-bottom:9px}.product-card>span{font-size:10px}}

/* Requested exhibition invitation: the circle stays in normal flow, never over a photo or controls. */
.exhibition-copy>.exhibition-experience-badge{width:154px;height:154px;border-radius:50%;background:var(--orange);color:#3e2304;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:18px 0 20px;font-size:17px;font-weight:750;line-height:1.45;letter-spacing:.02em;text-align:center;flex-shrink:0}.exhibition-experience-badge strong{font-size:28px;line-height:1.35;font-weight:900}.exhibition-venue-photo{grid-column:1/-1;min-width:0;margin:0}.exhibition-venue-photo img{display:block;width:100%;height:auto;border-radius:7px}.exhibition-venue-photo figcaption{font-size:11px;line-height:1.7;color:#8b7257;margin-top:8px}
@media(max-width:600px){.exhibition-copy>.exhibition-experience-badge{width:142px;height:142px;margin:17px auto 20px;font-size:16px}.exhibition-experience-badge strong{font-size:26px}.exhibition-venue-photo figcaption{font-size:10px}}

/* Redline revision: model beside product caption; no duplicate range/instruction lines. */
.instrument-info .instrument-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:7px}.instrument-caption>p{margin:0;font-size:12px;line-height:1.6}.instrument-info .instrument-caption .serial{margin:0;font-size:11px;letter-spacing:.05em;color:#8c4a00;font-weight:750;white-space:nowrap}.console .audio-status{margin:10px 0 0;font-size:11px;line-height:1.6;color:#573000;min-height:0}.key .label{font-family:Arial,Helvetica,sans-serif;font-weight:700;white-space:nowrap;letter-spacing:-.02em;color:#37312b;line-height:1.2}.key.black .label{color:#fff;font-size:12px;font-weight:750;bottom:17px;letter-spacing:-.025em;text-shadow:0 1px 1px #000}.playable-rack .key .label{font-size:11px}.playable-rack .key.black .label{font-size:10px;color:#fff;bottom:7px;font-weight:750}.key.black.active .label{color:#fff}.playable-rack .key.black.active .label{color:#fff}
@media(max-width:600px){.instrument-caption>p{font-size:10px}.instrument-info .instrument-caption .serial{font-size:10px}.instrument-info .instrument-caption{gap:3px 8px}.key .label{font-size:12px}.key.black .label{font-size:11px;bottom:13px}.playable-rack .key .label{font-size:11px}.playable-rack .key.black .label{font-size:10px;bottom:7px}}
@media(orientation:landscape) and (max-height:600px){.instrument-info .instrument-caption{margin:0}.key.black .label{bottom:13px}.playable-rack .key.black .label{bottom:7px}}

/* Owner-corrected product name: 梅ピアメカ, with only its model directly below. */
.ume-prefix{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;color:#111;font-weight:900;font-size:30px;line-height:1;flex-shrink:0;margin-right:3px}.instrument-info.pia-info{display:block;min-width:0}.pia-info h2{display:flex;flex-wrap:nowrap;align-items:center;margin:0 0 12px;min-height:0}.pia-info h2 .ume-prefix{font-size:42px}.pia-info h2 .product-title{height:42px;min-width:0;max-width:calc(100% - 45px)}.pia-info .instrument-caption{display:block;margin:0}.instrument-info.pia-info .instrument-caption .serial{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:750;line-height:1.4;letter-spacing:.05em;color:#57380e}.rack-title .ume-prefix{font-size:15px;margin-right:1px}.rack-title:has(.ume-prefix){gap:2px}.rack-title .ume-prefix+.product-title{max-width:calc(100% - 90px)}nav .ume-prefix{font-size:14px;margin-right:2px}nav .ume-prefix+.product-title{max-width:calc(100% - 18px)}
@media(max-width:600px){.pia-info h2{margin-bottom:10px}.pia-info h2 .ume-prefix{font-size:28px}.pia-info h2 .product-title{height:28px;max-width:calc(100% - 31px)}.instrument-info.pia-info .instrument-caption .serial{font-size:17px}nav .ume-prefix{font-size:10px;margin-right:1px}nav .ume-prefix+.product-title{max-width:calc(100% - 12px)}}
@media(orientation:landscape) and (max-height:600px){.pia-info h2{margin:0 0 5px}.pia-info h2 .ume-prefix{font-size:26px}.pia-info h2 .product-title{height:26px;max-width:calc(100% - 29px)}.instrument-info.pia-info .instrument-caption .serial{font-size:16px}}

/* Latest redline replaces the name prefix with Latin UME. */
.ume-prefix{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.04em}.pia-info h2 .product-title{max-width:calc(100% - 100px)}nav .ume-prefix+.product-title{max-width:calc(100% - 34px)}
@media(max-width:600px){.pia-info h2 .product-title{max-width:calc(100% - 68px)}nav .ume-prefix+.product-title{max-width:calc(100% - 25px)}}
@media(orientation:landscape) and (max-height:600px){.pia-info h2 .product-title{max-width:calc(100% - 63px)}}

/* One outlined lockup aligns visible UME / katakana bottoms exactly at SVG y=38. */
.pia-info h2 .product-title{max-width:100%;object-fit:contain;object-position:left bottom}.rack-title .product-title[alt="UMEピアメカ"]{max-width:calc(100% - 70px)}nav .product-title[alt="UMEピアメカ"]{max-width:100%}

/* External MIDI: permission is requested only from the settings action. */
.midi-open{align-self:flex-start;min-width:52px;min-height:48px;border:1px solid #d9c6ad;background:#fffdf8;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:8px 10px}.midi-open svg{fill:none;stroke:#8b4c0a;stroke-width:1.7;stroke-linejoin:round}.midi-open span{font-size:9px;color:#815321}.midi-settings{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:23px;max-width:620px}.midi-settings h3{font-size:14px;margin:23px 0 8px}.midi-intro{margin:7px 0 14px}.midi-connect,.midi-audio{min-height:44px;padding:9px 14px;border:1px solid #d8871c;background:#f5a22d;border-radius:7px;font-weight:700;font-size:13px}.midi-audio{background:#fff2dc;margin-left:7px}.midi-settings button:disabled{opacity:.5;cursor:default}#midiStatus{font-size:12px;line-height:1.65;background:#f4efe7;padding:10px;border-radius:6px}.midi-select-label{display:block;font-size:12px;font-weight:700;margin-top:15px}#midiInputs{display:block;width:100%;min-height:44px;font:inherit;color:#302b26;border:1px solid #cdbda7;border-radius:6px;padding:8px;background:#fff;margin:5px 0}.midi-devices{list-style:none;padding:0;margin:10px 0}.midi-devices li{padding:9px 0;border-bottom:1px solid #eee1d0;overflow-wrap:anywhere}.midi-devices strong{display:block;font-size:13px}.midi-devices span{display:block;font-size:11px;color:#876b49}.midi-last{min-height:40px;font-size:11px;background:#fff3df;border:1px solid #eed6b1;padding:8px;border-radius:6px;font-variant-numeric:tabular-nums}.midi-convention,.midi-footnote{font-size:11px;line-height:1.7;color:#79664e}.midi-map{overflow-x:auto}.midi-map table{border-collapse:collapse;width:100%;font-size:11px;line-height:1.6}.midi-map th,.midi-map td{border-bottom:1px solid #e6d9c7;text-align:left;vertical-align:top;padding:8px 6px}.midi-map th{background:#f8e9d2}.midi-map td:first-child{font-weight:800;color:#a35600}.midi-map td:nth-child(2){white-space:nowrap}.midi-drum-map{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px;font-size:11px}.midi-drum-map span{background:#f8efe2;border-radius:4px;padding:5px 8px}@media(max-width:600px){.midi-settings{padding:17px;max-height:calc(100dvh - 24px)}.midi-map th,.midi-map td{padding:7px 4px;font-size:10px}.midi-open{padding:6px 8px;min-height:48px}.midi-settings .dialog-heading h2{font-size:19px}.midi-audio{margin:7px 0 0}}

.demo-song-label{display:block;font-size:12px;font-weight:700;margin-top:14px;margin-bottom:5px}.demo-song-select{display:block;box-sizing:border-box;width:100%;max-width:420px;min-height:44px;padding:9px 32px 9px 12px;border:1px solid #b8a183;border-radius:8px;background:#fff;color:#292017;font:inherit;font-weight:700}.demo-song-select:focus-visible{outline:3px solid #a45100;outline-offset:3px}

.demo-tempo{margin-top:14px;padding:12px;border:1px solid #e9c696;border-radius:8px;background:#fff8ed}.tempo-heading,.tempo-slider{display:flex;align-items:center;gap:10px}.tempo-heading{justify-content:space-between;flex-wrap:wrap}.tempo-heading label{font-size:13px;font-weight:700}.tempo-heading output{margin-left:8px;font-variant-numeric:tabular-nums}.demo-tempo button{min-height:44px;border:1px solid #d78b30;border-radius:7px;background:#fff;color:#302317;font-weight:700}.tempo-heading button{padding:7px 10px;font-size:12px}.tempo-slider{margin-top:6px}.tempo-slider button{width:44px;flex:0 0 44px;font-size:21px}.tempo-slider input{flex:1;min-width:0;width:100%;height:44px;accent-color:#ef8c11}.demo-tempo p{margin:5px 0 0;font-size:11px;line-height:1.6;color:#6d5438}.demo-tempo button:disabled{opacity:.4}
