/* ミドリシミュレーター v7：全指定を専用ID内に限定 */
#midori-simulator-v7{--bms-gold:#f2d28b;--bms-text:#f1eee4;--bms-muted:#b0bcb4;--bms-line:#45594b;position:relative;left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 24px));max-width:none;margin:20px 0;padding:18px 16px 12px;box-sizing:border-box;background:radial-gradient(ellipse at 50% -160px,#3c5548,transparent 720px),#101b19;color:var(--bms-text);border:1px solid #334c40;border-radius:12px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;line-height:1.5;text-align:left;isolation:isolate}
#midori-simulator-v7 *,#midori-simulator-v7 *::before,#midori-simulator-v7 *::after{box-sizing:border-box}
#midori-simulator-v7 button{font:inherit;line-height:1.3;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:none;text-decoration:none;-webkit-tap-highlight-color:transparent;outline-offset:2px}
#midori-simulator-v7 button:focus-visible,#midori-simulator-v7 canvas:focus-visible{outline:3px solid var(--bms-gold)}
#midori-simulator-v7 .bms-stage{width:100%;min-width:0}
#midori-simulator-v7 .bms-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}
#midori-simulator-v7 .bms-title .bms-game-title{font-size:clamp(21px,3vw,31px);font-weight:800;line-height:1.3;letter-spacing:.01em;color:#fff0ce;margin:0;padding:0;border:0;background:none}
#midori-simulator-v7 .bms-sub{display:block;margin-top:1px;color:#d4c39d;font-size:13px}
#midori-simulator-v7 .bms-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#midori-simulator-v7 .bms-quiet{background:#25372f;border:1px solid #526450;border-radius:7px;color:#e6e8d8;padding:8px 10px;white-space:nowrap;font-size:12px;font-weight:600;min-width:0}
#midori-simulator-v7 .bms-quiet:hover{background:#34473a}
#midori-simulator-v7 .bms-close{display:none}
#midori-simulator-v7 .bms-expand{background:#334633;color:#fff0be;border-color:#ab9862}
#midori-simulator-v7 .bms-meter{padding:9px 13px 6px;border:1px solid #485b4c;background:linear-gradient(135deg,#21342e,#1c2a28);border-radius:10px;margin:0 0 10px}
#midori-simulator-v7 .bms-meter-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:#d7dacf;font-weight:700;gap:8px}
#midori-simulator-v7 .bms-meter-head strong{font-size:23px;color:var(--bms-gold);font-variant-numeric:tabular-nums}
#midori-simulator-v7 .bms-meter-head small{color:#9caf9d;font-size:11px}
#midori-simulator-v7 .bms-meter-track{position:relative;height:10px;margin:9px 0 5px;border-radius:10px;background:#0b1715;border:1px solid #526451;overflow:hidden}
#midori-simulator-v7 .bms-meter-progress{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#6aab8b,#a8d39f,#ffe2a1);transition:width .2s ease}
#midori-simulator-v7 .bms-meter-track i{position:absolute;top:0;bottom:0;width:2px;background:#d8dbb87d;transform:translateX(-1px)}
#midori-simulator-v7 .bms-milestone-labels{display:flex;justify-content:space-between;color:#9aafa5;font-size:10px}
#midori-simulator-v7 .bms-play-area{position:relative;overflow:hidden;border:1px solid #586951;border-radius:10px;background:#263b32;box-shadow:0 12px 25px #06130c88;aspect-ratio:1100/620}
#midori-simulator-v7 .bms-play-area canvas{display:block;width:100%;height:100%;aspect-ratio:1100/620;touch-action:manipulation;cursor:pointer;object-fit:contain;max-width:none}
#midori-simulator-v7 .bms-play-area::after{content:"";position:absolute;inset:0;border:2px solid #d7bf8850;border-radius:10px;pointer-events:none;box-shadow:inset 0 0 55px #08140c73}
#midori-simulator-v7 .bms-play-hint{position:absolute;right:13px;bottom:11px;color:#fff6dfce;font-size:11px;pointer-events:none;text-shadow:0 2px 7px #172a24}
#midori-simulator-v7 .bms-controls{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:14px;margin:12px 0 0}
#midori-simulator-v7 .bms-status{color:#ffe1a3;font-size:19px;font-weight:900}
#midori-simulator-v7 .bms-status-area p{margin:3px 0;color:#b9c6bd;font-size:12px;line-height:1.6}
#midori-simulator-v7 .bms-action{padding:13px 17px;min-height:52px;border:1px solid #f2c773;border-bottom:4px solid #96713b;border-radius:9px;color:#332717;background:linear-gradient(140deg,#f7d88e,#eeb766);font-weight:900;font-size:17px}
#midori-simulator-v7 .bms-action:active:not(:disabled){transform:translateY(2px)}
#midori-simulator-v7 .bms-action:disabled{opacity:.55;cursor:default;filter:grayscale(.3)}
#midori-simulator-v7 .bms-judgments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 0}
#midori-simulator-v7 .judgment{display:flex;gap:6px;justify-content:space-between;align-items:center;padding:8px 11px;border:1px solid #415a4b;border-radius:7px;background:#1c2e29;color:#a7b8a9;font-size:12px}
#midori-simulator-v7 .judgment strong{font-size:13px;color:#c5cbb8}
#midori-simulator-v7 .judgment.active{border-color:#f4d88c;background:#423927;color:#ffe3a1}
#midori-simulator-v7 .judgment.perfect{border-color:#8eba96}#midori-simulator-v7 .judgment.perfect strong{color:#d1f4ab}
#midori-simulator-v7 .judgment.great{border-color:#91b7cb}#midori-simulator-v7 .judgment.great strong{color:#c8edff}
#midori-simulator-v7 .judgment.good{border-color:#c39d65}#midori-simulator-v7 .judgment.good strong{color:#ffdcab}
#midori-simulator-v7 .judgment.miss{border-color:#995c5d}#midori-simulator-v7 .judgment.miss strong{color:#f4a8a8}
#midori-simulator-v7 .bms-instructions{font-size:11px;line-height:1.6;color:#b1beb2;margin:12px 0 0}
#midori-simulator-v7 .bms-footer{font-size:10px;color:#8da49a;margin:12px 0 0;padding:9px 0 0;border-top:1px solid #345047;line-height:1.5}
@media(max-width:700px){
 #midori-simulator-v7{width:calc(100vw - 12px);padding:10px 8px}
 #midori-simulator-v7 .bms-header{align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
 #midori-simulator-v7 .bms-title .bms-game-title{font-size:22px}
 #midori-simulator-v7 .bms-quiet{font-size:11px;padding:7px 8px}
 #midori-simulator-v7 .bms-meter{padding:7px 9px 6px;margin-bottom:8px}
 #midori-simulator-v7 .bms-meter-head strong{font-size:19px}
 #midori-simulator-v7 .bms-controls{grid-template-columns:1fr;gap:8px;margin-top:9px}
 #midori-simulator-v7 .bms-status{font-size:16px}
 #midori-simulator-v7 .bms-status-area p{font-size:11px}
 #midori-simulator-v7 .bms-action{width:100%;min-height:47px;padding:10px 14px;font-size:16px}
 #midori-simulator-v7 .bms-judgments{gap:4px;margin-top:9px}
 #midori-simulator-v7 .judgment{flex-direction:column;gap:2px;padding:6px 3px;font-size:10px}
 #midori-simulator-v7 .bms-play-hint{font-size:9px;bottom:6px;right:7px}
}
/* 全画面時は iframe なしで固定レイヤーに表示 */
html.bms7-scroll-lock,body.bms7-scroll-lock{overflow:hidden!important;overscroll-behavior:none}
#midori-simulator-v7.is-expanded{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;left:0!important;top:0!important;transform:none!important;border:0!important;border-radius:0!important;overflow:hidden!important}
#midori-simulator-v7.is-expanded .bms-stage{position:absolute;left:0;top:0;width:var(--bms-landscape-w);height:var(--bms-landscape-h);display:grid;grid-template-columns:minmax(0,1fr) 174px;grid-template-rows:36px 56px minmax(0,1fr) 58px;gap:4px;align-items:center;padding:4px 8px}
#midori-simulator-v7.is-expanded.is-rotated .bms-stage{left:var(--bms-landscape-h);top:0;transform-origin:top left;transform:rotate(90deg)}
#midori-simulator-v7.is-expanded .bms-header{grid-column:1/3;grid-row:1;margin:0;min-width:0;align-items:center;flex-wrap:nowrap}
#midori-simulator-v7.is-expanded .bms-title .bms-game-title{font-size:17px;line-height:1.1}
#midori-simulator-v7.is-expanded .bms-sub{display:none}
#midori-simulator-v7.is-expanded .bms-head-actions{flex-wrap:nowrap;gap:4px}
#midori-simulator-v7.is-expanded .bms-quiet{font-size:11px;padding:5px 7px}
#midori-simulator-v7.is-expanded .bms-expand{display:none}
#midori-simulator-v7.is-expanded .bms-close{display:inline-block;background:#633d35;border-color:#bd8272;color:#fff3e0}
#midori-simulator-v7.is-expanded .bms-play-area{grid-column:1;grid-row:2/5;margin:auto;width:var(--bms-game-w);height:calc(var(--bms-game-w)*620/1100);max-width:100%;min-height:0;align-self:center;justify-self:center}
#midori-simulator-v7.is-expanded .bms-meter{grid-column:2;grid-row:2;width:100%;margin:0;padding:6px;min-width:0}
#midori-simulator-v7.is-expanded .bms-meter-head{font-size:10px;gap:3px}
#midori-simulator-v7.is-expanded .bms-meter-head strong{font-size:17px}
#midori-simulator-v7.is-expanded .bms-meter-track{margin:4px 0 0;height:7px}
#midori-simulator-v7.is-expanded .bms-milestone-labels{display:none}
#midori-simulator-v7.is-expanded .bms-controls{grid-column:2;grid-row:3;display:flex;flex-direction:column;justify-content:space-evenly;gap:8px;margin:0;width:100%;min-width:0;align-self:stretch}
#midori-simulator-v7.is-expanded .bms-status{font-size:14px;line-height:1.25}
#midori-simulator-v7.is-expanded .bms-status-area p{font-size:10px;line-height:1.35}
#midori-simulator-v7.is-expanded .bms-action{width:100%;min-height:48px;padding:7px;font-size:13px}
#midori-simulator-v7.is-expanded .bms-judgments{grid-column:2;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:0;width:100%;height:100%;align-content:stretch}
#midori-simulator-v7.is-expanded .judgment{padding:2px;font-size:9px;flex-direction:row;gap:2px;min-height:0}
#midori-simulator-v7.is-expanded .judgment strong{font-size:10px}
#midori-simulator-v7.is-expanded .bms-instructions,#midori-simulator-v7.is-expanded .bms-footer{display:none}
@media (prefers-reduced-motion:reduce){#midori-simulator-v7 .bms-meter-progress{transition:none}}


#midori-simulator-v7 .bms-score-info{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;justify-content:flex-end}
#midori-simulator-v7 .bms-score-info span{white-space:nowrap}
#midori-simulator-v7.is-expanded .bms-meter-head{display:flex;flex-direction:column;align-items:flex-start;gap:0}
#midori-simulator-v7.is-expanded .bms-score-info{display:flex;flex-direction:column;align-items:flex-start;gap:0}
#midori-simulator-v7.is-expanded .bms-score-info strong{font-size:13px}
@media(max-width:700px){#midori-simulator-v7:not(.is-expanded) .bms-meter-head{align-items:center;flex-wrap:wrap}#midori-simulator-v7:not(.is-expanded) .bms-score-info{gap:8px}#midori-simulator-v7:not(.is-expanded) .bms-score-info strong{font-size:16px}}

/* 精度点を並べて表示（小画面でも折り返し可能） */
#midori-simulator-v7 .judgment strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}
#midori-simulator-v7.is-expanded .judgment{flex-wrap:wrap;justify-content:center;text-align:center}
#midori-simulator-v7.is-expanded .judgment strong{font-size:9px}
@media(max-width:700px){#midori-simulator-v7 .judgment strong{font-size:11px}}

/* WordPress テーマの見出し装飾・本文ルールとの競合を避ける。 */
#midori-simulator-v7,
#midori-simulator-v7 *:not(canvas){font-family:"DotGothic16",monospace!important;}
#midori-simulator-v7 .bms-game-title{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important;text-transform:none!important;line-height:1.25!important;font-size:clamp(20px,3vw,29px)!important;letter-spacing:.02em!important;color:#fff0ce!important;font-weight:400!important;text-decoration:none!important;}
#midori-simulator-v7 .bms-game-title::before,#midori-simulator-v7 .bms-game-title::after{content:none!important;display:none!important;}
#midori-simulator-v7 p{margin-block-start:0!important;margin-block-end:0!important;text-indent:0!important;}
#midori-simulator-v7 button{font-size:12px;appearance:none!important;text-transform:none!important;}
#midori-simulator-v7 .bms-share{border-color:#6a856b!important;color:#e5f0dc!important;}
#midori-simulator-v7 .bms-instructions{margin-top:12px!important;}
#midori-simulator-v7 .bms-footer{margin-top:12px!important;}
@media(max-width:700px){#midori-simulator-v7 .bms-game-title{font-size:22px!important}}
#midori-simulator-v7.is-expanded .bms-game-title{font-size:17px!important}

/* 横画面は操作ボタン優先。タイトルは通常画面で表示済み。 */
#midori-simulator-v7.is-expanded .bms-title{display:none!important}
#midori-simulator-v7.is-expanded .bms-header{justify-content:flex-end!important}
#midori-simulator-v7.is-expanded .bms-head-actions{gap:3px!important}
#midori-simulator-v7.is-expanded .bms-quiet{padding:4px 6px!important;font-size:10px!important}

/* v12: PC / Androidなどでのネイティブ全画面とWordPress固定ヘッダー対策 */
#midori-simulator-v7:fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;background:#101b19!important;z-index:2147483647!important;overflow:hidden!important}
#midori-simulator-v7:fullscreen::backdrop{background:#101b19}
#midori-simulator-v7.is-expanded .bms-close{position:relative!important;z-index:4!important;pointer-events:auto!important;min-width:56px!important}
#midori-simulator-v7.is-expanded .bms-stage{overflow:hidden}

/* v16: 全画面の操作領域を明確に分離。WPテーマのボタン装飾を防止 */
#midori-simulator-v7.is-expanded .bms-stage{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(160px,190px)!important;
  grid-template-rows:44px minmax(0,1fr)!important;
  gap:6px!important;padding:6px 9px!important;
}
#midori-simulator-v7.is-expanded .bms-header{grid-column:1/3!important;grid-row:1!important;min-height:40px!important;justify-content:flex-end!important}
#midori-simulator-v7.is-expanded .bms-head-actions{display:flex!important;gap:5px!important;justify-content:flex-end!important;align-items:center!important;flex-wrap:nowrap!important}
#midori-simulator-v7.is-expanded .bms-head-actions .bms-quiet:not(.bms-close):not(#bms7-sound){display:none!important}
#midori-simulator-v7.is-expanded .bms-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:80px!important;min-height:32px!important}
#midori-simulator-v7.is-expanded .bms-play-area{grid-column:1!important;grid-row:2!important;max-height:100%!important;align-self:center!important}
#midori-simulator-v7.is-expanded .bms-meter{grid-column:2!important;grid-row:2!important;align-self:start!important;margin-top:0!important}
#midori-simulator-v7.is-expanded .bms-controls{grid-column:2!important;grid-row:2!important;align-self:center!important;max-height:65%!important;margin:0!important}
#midori-simulator-v7.is-expanded .bms-judgments{grid-column:2!important;grid-row:2!important;align-self:end!important;height:auto!important;max-height:31%!important}
#midori-simulator-v7.is-expanded .bms-quiet{box-sizing:border-box!important;line-height:1.25!important;font-size:12px!important;padding:5px 10px!important;letter-spacing:0!important}
#midori-simulator-v7.is-expanded .bms-action{min-height:42px!important}
#midori-simulator-v7.is-expanded .bms-score-info{gap:0!important}
@media(max-height:440px){
 #midori-simulator-v7.is-expanded .bms-stage{grid-template-rows:34px minmax(0,1fr)!important;padding:3px 6px!important;gap:3px!important}
 #midori-simulator-v7.is-expanded .bms-controls .bms-status-area p{display:none!important}
 #midori-simulator-v7.is-expanded .judgment{font-size:8px!important;padding:1px!important}
 #midori-simulator-v7.is-expanded .bms-action{min-height:36px!important}
}
