:root{font-family:system-ui,"Microsoft JhengHei",sans-serif;color:#e6edf5;background:#0c1420;color-scheme:dark;--muted:#9cacbe;--border:#29394d}*{box-sizing:border-box}body{margin:0}header,main{max-width:1500px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--border)}h1{font-size:clamp(21px,3vw,30px);margin:8px 0}h2{font-size:18px;margin:0}p{line-height:1.7;color:var(--muted);margin:8px 0}.eyebrow{color:#63dcb6;font-weight:700;font-size:12px;letter-spacing:2px}.badge{padding:9px 14px;border:1px solid #c5a45e;border-radius:24px;color:#f1cf85;white-space:nowrap;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}button,select,.file-button{border:1px solid var(--border);border-radius:8px;padding:11px 14px;background:#162436;color:#e6edf5;font:inherit;cursor:pointer}button:hover,.file-button:hover{background:#24394e}button:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7de1c4;outline-offset:3px}.file-button{font-size:14px}.file-button input{max-width:190px;font-size:11px}.notice{padding:12px 16px;background:#29251b;border-left:3px solid #d9b262;color:#eedcb5;font-size:13px;margin:18px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stats>div{padding:16px 20px;border:1px solid var(--border);border-radius:10px;background:#121f2e;display:flex;gap:14px;align-items:center}.stats strong{font-size:28px;font-weight:600}.stats span{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:18px}.map-panel,aside,.details,.method{border:1px solid var(--border);background:#101d2b;border-radius:12px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;border-bottom:1px solid var(--border)}.panel-heading span{font-size:12px;color:var(--muted)}.map-caption{font-size:12px;padding:0 18px}.dot{display:inline-block;height:9px;width:9px;border-radius:50%;margin-right:4px}.blue{background:#4294ff}.red{background:#fc6b76}svg{width:100%;height:auto;display:block;min-height:300px}svg text{font-family:inherit}#trainList{max-height:720px;overflow:auto;padding:10px}.train-card{display:block;width:100%;text-align:left;margin:0 0 8px;padding:14px;border-left:4px solid #4294ff}.train-card.reverse{border-left-color:#fc6b76}.train-card.selected{background:#273e52;border-color:#82ddc0}.card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.card-top strong{font-size:17px}.card-meta{font-size:12px;color:var(--muted);line-height:1.8}.horse{color:#e7c585;font-size:12px}.delay{color:#eaca93}.details,.method{padding:20px;margin-top:18px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.detail-grid strong{display:block;margin-top:6px}.detail-grid span{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:11px 8px}.method{font-size:13px}summary{cursor:pointer;font-size:14px}a{color:#89c6ff}.empty{padding:28px;color:var(--muted)}@media(max-width:800px){header,main{padding:16px}.workspace{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}#trainList{max-height:460px}header{align-items:start;flex-direction:column}.toolbar>label{flex:1;min-width:120px}.panel-heading{flex-wrap:wrap}.stats>div{padding:12px}}

.train-card.horse-card{background:#302a1b;border-top:2px solid #f5c451;border-right:2px solid #f5c451;border-bottom:2px solid #f5c451}.train-card.horse-card:hover{background:#44391f}.train-card.horse-card.selected{outline:3px solid #82ddc0;outline-offset:-3px}.card-top{flex-wrap:wrap}.horse{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:6px;background:#f5c451;color:#18202b;font-size:15px;font-weight:800;line-height:1.4}.horse small{font-size:11px;font-weight:600;border-left:1px solid #806320;padding-left:8px}
