#training-inspector{--training-combat:#996011;--training-hp:#006b9b;--training-gentle:#8051ab;font-size:16px}
.training-selectors{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
.training-selectors label,.training-panel-heading label{display:grid;gap:6px;min-width:180px;font-weight:700}
.training-selectors select,.training-panel select{min-height:46px;font-size:16px}
#training-status,.training-notes{color:var(--text-muted);line-height:1.7}
.training-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.training-summary>div,.training-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}
.training-summary span{display:block;color:var(--text-muted);font-size:15px}
.training-summary strong{display:block;font-size:24px;margin-top:6px;line-height:1.5}
#training-rule{line-height:1.7}
.training-panel{margin:18px 0}
.training-panel h3{margin:0;font-size:21px}
.training-panel p{margin:8px 0 14px;color:var(--text-muted);line-height:1.7}
.training-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}
.training-panel-heading label{min-width:155px;flex:none}
.training-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-weight:700;margin:14px 0 0}
.training-legend span::before{content:'';display:inline-block;width:24px;border-top:3px solid currentColor;vertical-align:middle;margin-right:8px}
.training-legend .training-hp::before{border-top-style:dashed}
.training-legend .training-gentle::before{border-top-style:dotted}
.training-combat{color:var(--training-combat)}.training-hp{color:var(--training-hp)}.training-gentle{color:var(--training-gentle)}
.training-magic{color:#bc4678}
.training-chart-scroll{max-width:100%;overflow-x:auto}
#training-chart{display:block;width:100%;height:auto;overflow:visible}
#training-chart text{fill:var(--text-muted);font-size:16px;font-family:inherit}
.training-grid{stroke:var(--border);stroke-width:1}
.training-line{fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round}
.training-line.training-hp{stroke-dasharray:10 4}.training-line.training-gentle{stroke-dasharray:3 4}
.training-point{fill:currentColor;stroke:var(--bg-elevated);stroke-width:2}
.training-cursor{stroke:var(--text-muted);stroke-dasharray:4 4}
.training-match-control{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:8px 0 20px}
.training-match-control label{font-weight:700;white-space:nowrap}
#training-matches{width:105px;margin:0 6px;font-size:18px;min-height:44px}
#training-slider{flex:1;min-width:160px;min-height:44px;padding:0;cursor:pointer}
.training-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.training-rates>div{border-top:3px solid currentColor;padding-top:10px}
.training-rates span,.training-stats span{display:block;font-size:15px}
.training-rates strong{font-size:28px}
.training-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.training-stats>div{background:var(--bg);padding:14px;border-radius:var(--radius)}
.training-stats strong{display:block;font-size:26px}.training-stats small{font-size:16px;font-weight:400;color:var(--text-muted)}
.training-panel summary{font-size:18px;font-weight:700;cursor:pointer}
.training-panel[open] summary{margin-bottom:16px}
#training-inspector table{width:100%;min-width:620px}
#training-inspector th,#training-inspector td{font-size:16px;padding:12px 16px}
#training-inspector tbody th{color:var(--text);background:transparent}
.training-family-table button{font-size:15px;margin:2px 4px 2px 0}
.training-notes{font-size:15px}
.training-assignment-controls{display:flex;flex-wrap:wrap;gap:16px}
.training-assignment-controls label{display:grid;gap:6px;flex:1;min-width:200px;font-weight:700}
.training-assignment-controls input,.training-assignment-controls select{width:100%;font-size:16px}
.training-assignment-scroll{max-height:420px;overflow:auto}
#training-inspector .training-assignment-table{min-width:850px}
.training-assignment-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle)}
.training-assignment-table small{display:block;margin-top:5px;color:var(--text-muted);font-size:14px;font-weight:400}
.training-assignment-table button{font-weight:700;font-size:17px}
.training-assignment-table button[aria-pressed=true]{color:var(--accent-contrast);background:var(--accent)}
.training-individual{display:inline-block;padding:2px 8px;border:1px solid var(--accent);border-radius:5px;color:var(--accent);font-weight:700}
#training-selected-title{font-size:23px;line-height:1.6;margin:28px 0 16px;scroll-margin-top:20px}
@media(prefers-color-scheme:dark){#training-inspector{--training-combat:#efbf71;--training-hp:#7fceff;--training-gentle:#d7b2ff}}
@media(max-width:1100px){.training-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.training-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.training-panel,.training-summary>div{padding:16px}.training-summary strong{font-size:21px}.training-panel-heading{display:block}.training-panel-heading label{margin:16px 0}.training-rates{grid-template-columns:1fr}.training-rates>div{display:flex;justify-content:space-between;align-items:center}.training-rates span{max-width:70%}.training-selectors label{flex:1;min-width:135px}.training-selectors select{width:100%}.training-summary span{font-size:14px}}
