/* 株式トレーニング（train.js）。色は index.html の Radar トークンだけを使う（昼夜はそちらが切り替える） */
#trainRoot{max-width:1180px;margin:0 auto;padding-block:16px 40px}
#trainRoot [hidden]{display:none!important}
.tr-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.tr-eyebrow{font:700 11px/1.4 ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.1em;color:var(--text-3);margin:0}
.tr-title{font-size:22px;font-weight:800;margin:2px 0 0;color:var(--text)}
.tr-modes{display:flex;gap:4px;flex-wrap:wrap}
.tr-modes button{font-family:inherit;font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);cursor:pointer}
/* 橙の地の文字は、昼=濃い橙に白・夜=明るい橙に黒地色（どちらも 4.5:1 以上）。--accent に白は 3.6:1 で読みにくい */
.tr-modes button.on{background:var(--accent-text);border-color:var(--accent-text);color:var(--surface)}
.tr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:start}
@media (max-width:900px){.tr-grid{grid-template-columns:minmax(0,1fr)}}
.tr-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0;box-shadow:var(--shadow)}
#trBody > .tr-card + .tr-grid, #trBody > .tr-grid + .tr-card{margin-top:16px}
.tr-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.tr-pill{font:700 11px ui-monospace,Consolas,monospace;padding:2px 8px;border-radius:999px;border:1px solid var(--line-hi);color:var(--text-2)}
.tr-pill.live{color:var(--breaking);border-color:var(--breaking)}
.tr-q{font-size:clamp(19px,2.4vw,24px);font-weight:800;line-height:1.45;margin:10px 0 6px;text-wrap:balance;color:var(--text)}
.tr-ctx{color:var(--text-2);margin:0;font-size:14px;line-height:1.7}
.tr-timer{display:flex;align-items:baseline;gap:10px;margin:14px 0 4px}
.tr-clock{font:700 32px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--text)}
.tr-timer.over .tr-clock{color:var(--down)}
.tr-cl{color:var(--text-3);font-size:13px}
.tr-track{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}
.tr-track i{display:block;height:100%;width:100%;background:var(--accent);transition:width .25s linear}
.tr-form{display:grid;gap:12px;margin-top:16px}
.tr-lv{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start}
.tr-lv label{font-weight:800;font-size:13px;padding-top:8px;color:var(--text)}
.tr-lv label span{display:block;font:500 10px ui-monospace,Consolas,monospace;color:var(--text-3)}
#trainRoot textarea,#trainRoot input[type=password]{width:100%;font:inherit;font-size:16px;line-height:1.6;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;resize:vertical}
#trainRoot textarea:focus-visible,#trainRoot input:focus-visible,#trainRoot button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tr-trade{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.tr-trade{grid-template-columns:1fr}}
.tr-trade label{display:block;font-weight:800;font-size:13px;margin-bottom:4px}
.tr-buy label{color:var(--up)} .tr-sell label{color:var(--down)}
.tr-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.tr-btn{white-space:nowrap;font-family:inherit;font-weight:700;font-size:14px;border-radius:6px;padding:9px 18px;cursor:pointer;border:1px solid var(--accent-text);background:var(--accent-text);color:var(--surface)}
.tr-btn.ghost{background:transparent;color:var(--text);border-color:var(--line-hi)}
.tr-btn[disabled]{opacity:.55;cursor:default}
.tr-hint{color:var(--text-3);font-size:12px}
.tr-gate{max-width:440px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}
.tr-gate label{font-weight:800;font-size:13px}
.tr-row{display:flex;gap:8px}
.tr-lead{margin:0 0 6px;color:var(--text-2);font-size:14px;line-height:1.7}
.tr-err{color:var(--down);font-size:13px;margin:0;min-height:1.2em}
.tr-intro{color:var(--text-2);font-size:14px;line-height:1.75}
.tr-intro h3{font-size:17px;font-weight:800;color:var(--text);margin:0 0 6px}
.tr-intro ol{padding-left:1.2em;margin:8px 0}
.tr-thinking{display:flex;gap:10px;align-items:center;color:var(--text-2)}
.tr-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:trp 1s infinite alternate}
@keyframes trp{from{opacity:.25}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.tr-dot{animation:none}.tr-track i{transition:none}}
.tr-score{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 16px}
.tr-big{font:700 48px/1 ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--text)}
.tr-big small{font-size:17px;color:var(--text-3)}
.tr-node .tr-past{margin:6px 0 0;font-size:12px;color:var(--text-2);line-height:1.5;border-top:1px dashed var(--line);padding-top:4px}
.tr-past b{color:var(--text)}
.tr-pickhead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tr-pickhead .tr-sub{margin:0}
.tr-picklist{display:grid;margin-top:8px;max-height:70vh;overflow-y:auto;border-top:1px solid var(--line)}
.tr-pickrow{display:grid;gap:2px;text-align:left;padding:9px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);font:inherit;cursor:pointer}
.tr-pickrow:hover,.tr-pickrow:focus-visible{background:var(--surface-2)}
.tr-pickrow .m{font:500 11px ui-monospace,Consolas,monospace;color:var(--text-3)}
.tr-pickrow .hd{font-size:14px;font-weight:700;line-height:1.45}
.tr-reading{margin:10px 0 0;font-size:13px;color:var(--text-2);background:var(--surface-2);border-radius:6px;padding:6px 10px}
.tr-ref{font:700 11px ui-monospace,Consolas,monospace;color:var(--link);text-decoration:none;margin-left:2px;white-space:nowrap}
.tr-ref:hover{text-decoration:underline}
.tr-srcs{margin:0;padding-left:1.4em;font-size:12px;color:var(--text-2)} .tr-srcs li{margin:2px 0;overflow-wrap:anywhere}
.tr-srcs a{color:var(--link)}
.tr-verdict{font-weight:800;margin:10px 0 0;color:var(--text)}
.tr-axes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
@media (max-width:520px){.tr-axes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tr-ax{border-top:3px solid var(--surface-3);padding-top:6px}
.tr-ax b{display:block;font:700 18px ui-monospace,Consolas,monospace;color:var(--text)}
.tr-ax span{font-size:11px;color:var(--text-3)}
.tr-sub{font-size:14px;font-weight:800;margin:20px 0 8px;display:flex;gap:8px;align-items:baseline;color:var(--text)}
.tr-sub em{font:500 11px ui-monospace,Consolas,monospace;color:var(--text-3);font-style:normal;letter-spacing:.06em}
.tr-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:640px){.tr-chain{grid-template-columns:minmax(0,1fr)}}
.tr-col{display:grid;gap:8px;align-content:start}
.tr-node{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:0}
.tr-node b{display:block;font-size:14px;color:var(--text)}
.tr-node p{margin:2px 0 6px;font-size:13px;color:var(--text-2);line-height:1.55}
.tr-chips{display:flex;flex-wrap:wrap;gap:4px}
.tr-chip{font:700 11px ui-monospace,Consolas,monospace;padding:1px 7px;border-radius:4px;border:1px solid currentColor;white-space:nowrap}
.tr-chip.b{color:var(--up)} .tr-chip.s{color:var(--down)}
.tr-flat{margin:0;padding-left:1.1em;color:var(--text);font-size:14px} .tr-flat li{margin:2px 0}
.tr-tradebox{border-left:3px solid var(--accent);padding:4px 0 4px 12px;margin:0;color:var(--text);font-size:14px}
.tr-tbl{overflow-x:auto}
.tr-tbl table{border-collapse:collapse;width:100%;font-size:13px}
.tr-tbl th,.tr-tbl td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;color:var(--text)}
.tr-tbl th{font:700 11px ui-monospace,Consolas,monospace;color:var(--text-3)}
.tr-tbl td.n{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:right}
#trainRoot .tr-pos{color:var(--up)} #trainRoot .tr-neg{color:var(--down)}
.tr-vd{font:700 11px ui-monospace,Consolas,monospace;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--text-2)}
.tr-vd.hit{background:var(--up);color:var(--surface)} .tr-vd.miss{background:var(--down);color:var(--surface)}
.tr-note{font-size:12px;color:var(--text-3);margin:6px 0 0}
.tr-msg{padding:10px 12px;border:1px dashed var(--line-hi);border-radius:6px;color:var(--text-2);font-size:13px;margin:0 0 10px}
.tr-empty{color:var(--text-3);font-size:14px}
.tr-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tr-kpi b{display:block;font:700 28px ui-monospace,Consolas,monospace;color:var(--text)}
.tr-kpi span{font-size:12px;color:var(--text-3)}
.tr-bars{display:grid;gap:8px;margin-top:12px}
.tr-barrow{display:grid;grid-template-columns:120px minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:13px;color:var(--text)}
.tr-bt{height:10px;background:var(--surface-3);border-radius:2px;overflow:hidden}
.tr-bt i{display:block;height:100%;background:var(--link)}
.tr-barrow.weak .tr-bt i{background:var(--imp-mid)}
.tr-barrow .v{font-family:ui-monospace,Consolas,monospace;text-align:right}
.tr-hist{display:grid;margin-top:8px}
.tr-hrow{display:grid;grid-template-columns:64px minmax(0,1fr) 44px;gap:10px;padding:8px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font:inherit;color:var(--text);cursor:pointer}
.tr-hrow:hover{background:var(--surface-2)}
.tr-hrow .t{font:500 11px ui-monospace,Consolas,monospace;color:var(--text-3);padding-top:3px}
.tr-hrow .hd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.tr-hrow .s{font:700 15px ui-monospace,Consolas,monospace;text-align:right}
