/* 育成モード R1（?grow=1 の時だけ。data-ik は ikusei-ui.js が付ける） */
[data-ik="1"] .start,[data-ik="1"] .derby-panel,[data-ik="1"] .phbtn{display:none!important}
.ik-panel{position:absolute;inset:0;z-index:62;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(165deg,#13283a,#08121c);color:#fff;padding:22px 16px 28px;box-sizing:border-box;touch-action:pan-y;font:14px/1.55 system-ui,-apple-system,"Hiragino Sans",sans-serif}
.ik-panel[hidden]{display:none}
.ik-sheet{max-width:430px;margin:auto}
.ik-kicker{font-size:10px;letter-spacing:.14em;color:#a8d9d4;margin:0 0 12px}
.ik-panel button{cursor:pointer;min-height:44px;border-radius:12px;padding:8px 12px;font:700 14px system-ui,-apple-system,sans-serif;touch-action:manipulation;border:1px solid #7d8f9d;background:#22384a;color:#fff}
.ik-panel button:disabled{opacity:.45;cursor:default}
.ik-panel button small{display:block;font-weight:500;font-size:11px;opacity:.85}
.ik-card{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.stage .ik-panel canvas.ik-face{position:static;inset:auto;display:block;width:84px;height:84px;border-radius:18px;flex:none;box-shadow:0 4px 14px #0006;pointer-events:none}
.stage .ik-panel canvas.ik-face.sm{width:64px;height:64px;border-radius:14px}
.ik-who{flex:1;min-width:0}.ik-who>b{font-size:18px;display:block}.ik-who>small{color:#b8c8d4;font-size:11px}
.ik-lv{display:flex;align-items:baseline;gap:10px;margin-top:6px}.ik-lv strong{font-size:24px;color:#ffdc65;letter-spacing:-.02em}.ik-lv span{font-size:11px;color:#c8d4dd}
.ik-xp{height:8px;border-radius:5px;background:#ffffff1f;overflow:hidden;margin-top:4px}.ik-xp i{display:block;height:100%;background:linear-gradient(90deg,#ffda64,#ffb03a);transition:width .8s ease}
.ik-stats{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:7px}
.ik-stats li{display:grid;grid-template-columns:64px 1fr auto;grid-template-areas:"n m v" "n s s";column-gap:10px;align-items:center}
.ik-stats li>span{grid-area:n;font-weight:700;font-size:13px}.ik-stats li>b{grid-area:v;font-size:16px;min-width:34px;text-align:right}.ik-stats li>b s{color:#8fa3b2;font-weight:400;font-size:13px}.ik-stats li>b em{font-style:normal;font-size:10px;color:#ffdc65;margin-left:4px}
.ik-stats li>small{grid-area:s;font-size:10.5px;color:#9fb2c1}.ik-stats li>small.up{color:#8fe3a8;font-weight:700}
.ik-meter{grid-area:m;height:9px;border-radius:5px;background:#ffffff1a;overflow:hidden;display:block}.ik-meter i{display:block;height:100%;background:linear-gradient(90deg,#5fc6d8,#8fe3a8);transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.ik-rec{font-size:12px;color:#d3dde5;margin:0 0 12px}.ik-rec b{color:#fff}
.ik-play{display:grid;gap:8px;margin:6px 0 12px}
.ik-primary{background:#ffda64!important;color:#142637!important;border:0!important;min-height:54px!important;box-shadow:0 5px 18px #0004;font-size:16px!important}
.ik-second{background:#2c4a63!important}
.ik-lastline{font-size:11px;color:#a9bccb;margin:-4px 0 10px}
.ik-fold{border-top:1px solid #ffffff26;padding:4px 0}.ik-fold summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-weight:700;list-style:none}.ik-fold summary::-webkit-details-marker{display:none}.ik-fold summary::after{content:"▾";color:#a8d9d4}.ik-fold[open] summary::after{content:"▴"}.ik-fold summary small{font-weight:400;font-size:11px;color:#a9bccb;margin-left:auto;margin-right:8px}
.ik-wear{display:grid;gap:10px;padding:2px 0 8px}
.ik-slot>span{font-size:12px;color:#b8c8d4;display:block;margin-bottom:4px}.ik-slot>div{display:flex;flex-wrap:wrap;gap:6px}
.ik-slot button{min-height:44px;padding:6px 10px;font-size:13px;display:flex;align-items:center;gap:6px;flex-direction:row}
.ik-slot button small{display:block;font-size:10px}
.ik-slot button.lock{background:transparent;border-style:dashed;flex-direction:column;align-items:flex-start;gap:0}
.ik-slot button[aria-pressed="true"]{background:#ffda64;color:#142637;border-color:#ffda64}
.sw{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid #fff8}
.ik-note{font-size:11px;color:#9fb2c1;margin:4px 0 0}
.ik-backup{display:grid;gap:8px;padding:2px 0 8px}
.ik-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ik-row>button{flex:1 1 120px}
.ik-text{width:100%;box-sizing:border-box;background:#0a1621;color:#dbe6ee;border:1px solid #4f6475;border-radius:10px;padding:8px;font:11px/1.4 ui-monospace,monospace;resize:vertical}
.ik-file{flex:1 1 120px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #7d8f9d;border-radius:12px;font-weight:700;cursor:pointer;background:#22384a}.ik-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ik-confirm,.ik-warn{background:#ffffff10;border:1px solid #ffda6488;border-radius:12px;padding:10px 12px;display:grid;gap:8px;margin-bottom:12px}.ik-warn b{color:#ffdc65}.ik-warn span{font-size:12px;color:#dbe4ea}.ik-warn p,.ik-confirm p{margin:0;font-size:12.5px}
.ik-danger{background:#9b2f2f!important;border-color:#d26a6a!important}
.ik-msg{font-size:12px;color:#ffe9a6;margin:0}
.ik-foot{font-size:10.5px;color:#93a8b8;margin:14px 0 0;line-height:1.7}.ik-foot a{color:#a8d9d4}
/* 結果 */
.ik-result h2{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}
.ik-gain{display:flex;align-items:baseline;gap:6px;margin:4px 0 8px}.ik-gain strong{font-size:44px;line-height:1;color:#ffdc65;animation:ikPop .7s cubic-bezier(.2,1.6,.4,1) both}.ik-gain span{font-weight:700;color:#ffdc65}
.ik-lines{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:2px;font-size:12.5px}.ik-lines li{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff14;padding:4px 0}.ik-lines b{color:#ffe9a6}.ik-lines li.ik-first{color:#8fe3a8;font-weight:700}
.ik-levelup{background:radial-gradient(circle at 30% 20%,#ffe28a33,#ffffff08 70%);border:1px solid #ffda64;border-radius:14px;padding:12px 14px;margin:0 0 10px;display:grid;gap:2px;animation:ikPop .8s .15s cubic-bezier(.2,1.5,.4,1) both}
.ik-levelup b{font-size:24px;color:#ffdc65;letter-spacing:.04em}.ik-levelup span{font-size:16px;font-weight:700}.ik-levelup small{font-size:11.5px;color:#d7e3eb}
.ik-next{font-size:12px;color:#c8d4dd;margin:0 0 12px}
.ik-unlocks{display:grid;gap:8px;margin:0 0 12px}.ik-new{margin:0;color:#ffdc65;font-weight:800;letter-spacing:.06em;animation:ikPop .7s .3s both}
.ik-unlock{display:flex;gap:12px;align-items:center;background:#ffffff0d;border-radius:12px;padding:8px 10px;animation:ikIn .5s .4s both}.ik-unlock b{display:block}.ik-unlock small{color:#a9bccb;font-size:11px}.ik-unlock .ik-row{margin-top:4px}.stage .ik-panel .ik-unlock button{min-height:44px;flex:0 0 auto}
.ik-on{font-size:12px;color:#8fe3a8;font-weight:700}.ik-keep{font-size:11px;color:#a9bccb}
@keyframes ikPop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes ikIn{0%{transform:translateY(8px);opacity:0}100%{transform:none;opacity:1}}
.ik-firsts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.ik-firsts span{background:#1f4a3a;border:1px solid #8fe3a8;color:#d9ffe5;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;animation:ikPop .6s .2s both}.ik-firsts b{color:#ffe9a6}
@media (prefers-reduced-motion:reduce){.ik-gain strong,.ik-levelup,.ik-new,.ik-unlock,.ik-firsts span{animation:none}.ik-meter i,.ik-xp i{transition:none}}
@media(max-width:340px){[data-ik="1"] .acts2{top:calc(80px + env(safe-area-inset-top))}   /* 320px：音のボタンが 2 行（高さ 65px）になり、バントのボタンに重なっていた。育成の画面だけ、バントのボタンを少し下げる */
.ik-panel{padding:18px 12px 24px}.stage .ik-panel canvas.ik-face{width:72px;height:72px}.ik-who>b{font-size:16px}.ik-stats li{grid-template-columns:52px 1fr auto}}

/* 育成 R1.2：押す時刻の目安の輪（球のまわりで縮み、球に重なった時がちょうど良い） */
.ik-ring{position:absolute;z-index:6;pointer-events:none;border:2px solid #ffffffd9;border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box;box-shadow:0 0 5px #0009}
.ik-ring.on{border:3px solid #ffd54a;box-shadow:0 0 10px #ffd54a}
.ik-ring[hidden]{display:none}

/* 育成 R1.4：成長の見える化（伸びの言葉・前回との比較・選手を見る） */
.ik-grow{font-size:11.5px;color:#a8d9d4;margin:-4px 0 10px}
.ik-look-btn{width:100%;margin:0 0 12px;text-align:left;background:#1d3a4c!important;border-color:#a8d9d4!important}
.ik-cmp{background:#ffffff0b;border:1px solid #ffffff22;border-radius:12px;padding:10px 12px;margin:0 0 12px}
.ik-cmp-h{margin:0 0 6px;font-weight:700;font-size:13px;display:flex;justify-content:space-between;align-items:baseline}.ik-cmp-h small{font-weight:400;font-size:10.5px;color:#9fb2c1}
.ik-cmp table{width:100%;border-collapse:collapse;font-size:12.5px}.ik-cmp th{text-align:left;font-weight:500;color:#c8d4dd;padding:3px 0}.ik-cmp td{text-align:right;padding:3px 0 3px 6px;white-space:nowrap}
.ik-cmp td.up{color:#8fe3a8;font-weight:700}.ik-cmp td.dn{color:#f3a0a0}
/* 選手を見る：上は 3D の選手（パネルは透明）・下の帯で見た目を選ぶ */
.ik-panel.ik-look{background:transparent;pointer-events:none;padding:0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.ik-panel.ik-look .ik-lookbar{pointer-events:auto;background:linear-gradient(180deg,#0d1b28ee,#08121cf7);border-top:1px solid #ffffff2a;border-radius:18px 18px 0 0;padding:12px 14px calc(14px + env(safe-area-inset-bottom));max-height:52%;overflow-y:auto;box-sizing:border-box;display:grid;gap:8px}
.ik-lookhead{display:flex;align-items:center;justify-content:space-between;gap:8px}.ik-lookhead b{font-size:15px}
.ik-turn{display:flex;gap:6px}.ik-panel .ik-turn button{min-width:48px;padding:6px 10px}
.ik-lookbar .ik-wear{padding:0;gap:6px}.ik-lookbar .ik-slot{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:6px}.ik-lookbar .ik-slot>span{margin:0}
.ik-lookbar .ik-slot button{min-height:44px;padding:4px 8px;font-size:12px}
[data-ik-look="1"]>*:not(canvas.gl):not(.ik-panel){visibility:hidden!important}
@media(max-width:340px){.ik-lookbar .ik-slot{grid-template-columns:52px 1fr}.ik-panel.ik-look .ik-lookbar{max-height:58%}}
.ik-lookbar .ik-slot{align-items:start}.ik-lookbar .ik-slot>span{padding-top:11px}
/* R1.4：解放の知らせは 2 列の小さなカード（何枚出ても短く） */
.ik-unlocks{grid-template-columns:1fr 1fr}.ik-unlocks .ik-new{grid-column:1/-1}
.ik-unlock{flex-direction:column;text-align:center;gap:4px;padding:8px 6px}.ik-unlock>div{width:100%}.ik-unlock b{font-size:13px}
.stage .ik-panel .ik-unlock canvas.ik-face.sm{width:52px;height:52px;border-radius:12px}
.ik-unlock .ik-row{justify-content:center;margin-top:2px}.ik-unlock .ik-keep{display:none}.stage .ik-panel .ik-unlock button{min-height:44px;padding:4px 12px;font-size:13px}
/* P14：ホームラン競走（育成）の大きい打つボタン。押す場所は画面のどこでも同じ（pitch.js の ezBtn）。黄色 ＝ 今押す（ボタンと画面のふち） */
.ez-bat{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:6;max-width:520px;margin:0 auto;min-height:74px;box-sizing:border-box;padding:8px 12px;border-radius:16px;display:grid;align-content:center;gap:3px;text-align:center;background:#173248e8;border:2px solid #8fb6cc;color:#fff;font:800 22px/1.2 "M PLUS Rounded 1c",system-ui,sans-serif;box-shadow:0 4px 18px #0009;user-select:none;-webkit-user-select:none;touch-action:manipulation;cursor:pointer}
.ez-bat[hidden]{display:none}
.ez-bat small{font:700 12px/1.35 system-ui,sans-serif;color:#d7e9f5;min-height:1em}
.ez-bat[data-st=wait],.ez-bat[data-st=pass]{background:#26333ce0;border-color:#5d7380;color:#b9c7d0}
.ez-bat[data-st=now]{background:#ffd400;border-color:#fff;color:#1b1b1b;font-size:26px}
.ez-bat[data-st=swing]{background:#26333ce0;border-color:#5d7380}
.ez-bat[data-res=perf] b{color:#ffd76a}.ez-bat[data-res=miss] b{color:#ff9d8f}
.ez-bar{position:relative;display:block;height:9px;border-radius:5px;margin:5px 4px 1px}
.ez-bar[hidden]{display:none}
.ez-bar i{position:absolute;top:-5px;width:5px;height:19px;margin-left:-3px;background:#fff;border-radius:2px;box-shadow:0 0 0 1.5px #000}
[data-stage].ez-now::after{content:'';position:absolute;inset:0;border:7px solid #ffd400;pointer-events:none;z-index:5}
[data-stage].ez .hint{bottom:calc(98px + env(safe-area-inset-bottom))}
