#trainingPanel h3, #trainingEditor h3 { margin:8px 0; color:var(--gold,#efba69); }
#trainingPanel p, #trainingEditor p { font-size:1rem; line-height:1.45; }
#trainingPanel [hidden], #trainingEditor [hidden] { display:none!important; }
.training-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
#trainingEditor fieldset { border:1px solid #8e754b; padding:8px; margin:10px 0; min-width:0; }
#trainingEditor legend { color:#f4c57a; }
#trainingEditor input[type=number], #trainingEditor select { min-width:0; width:100%; box-sizing:border-box; font-size:1rem; }
.training-row-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.training-row-values label { font-size:.875rem; }
#trainingEditor .training-check { display:flex; align-items:center; gap:8px; margin:10px 0; font-size:.875rem; }
#trainingEditor .training-check input { width:20px; height:20px; flex:none; }
#trainingEditor .ff-instrument { grid-column:1/-1; }
#trainingPanel button, #trainingEditor button { min-height:40px; }
.training-active #ffPredictOpen { display:none!important; }
@media (pointer:coarse) { #trainingPanel button, #trainingEditor button { min-height:44px; } }
#bonusPanel { margin-top:20px; padding-top:12px; border-top:1px solid #8e754b; }
#bonusPlayer { width:100%; margin-top:12px; }
#bonusPanel .bonus-toggle { display:flex; align-items:center; gap:10px; margin:14px 0; }
#bonusPanel input[type=checkbox] { width:20px; height:20px; }
.sol-brass .ff-console { background-color:#21190f; }
.sol-brass .console-heading, .sol-brass .menu-heading h2 { color:#ffd37d; }
#trainingEditor pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:240px; overflow:auto; font-size:.8rem; }
#trainingEditor textarea { width:100%; box-sizing:border-box; font:inherit; }
#trainingRouteRecord svg { width:100%; background:#0c1b24; }
#trainingMapDialog { color:#dce9ee; background:#081923; border:2px solid #c28d48; padding:12px; width:min(94vw,1050px); max-height:94vh; box-sizing:border-box; }
#trainingMapDialog::backdrop { background:#02070ad9; }
#trainingMapDialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#trainingMapDialog p { font:13px/1.4 system-ui; margin:6px 0; }
#trainingMapGrid svg { width:100%; height:min(70vh,660px); display:block; }
