/*
:root{
  /* 指數左側：馬號+彩衣 合併列寬 */
  --idx-col-no-width: 40px;
  /* 指數左側：馬名資料列寬 */
  --idx-col-name-width: 70px;

  /* 馬號字體大小 */
  --idx-no-size: 20px;

  /* 彩衣寬高 */
  --idx-silk-width: 28px;
  --idx-silk-height: 38px;

  /* 馬號與彩衣上下距離 */
  --idx-no-silk-gap: 55px;

  /* 馬名字體大小 */
  --idx-name-size: 21px;
  /* 馬名行高 */
  --idx-name-line-height: 1.06;

  /* 騎師/練馬師字體大小 */
  --idx-meta-size: 14px;
  /* 騎師/練馬師行高 */
  --idx-meta-line-height: 1.08;
  /* 馬名區與騎練資訊的垂直間距 */
  --idx-meta-gap: 4px;

  /* 表格單元格上下 padding，最直接影響整行高度 */
  --idx-cell-padding-y: 6px;
  /* 表格單元格左右 padding */
  --idx-cell-padding-x: 6px;
  /* 馬名資訊塊上下 padding */
  --idx-name-block-padding-y: 3px;
}
.rank-wp-table-ref{min-width:700px}
#panel-q .rank-wp-table-ref th,#panel-q .rank-wp-table-ref td{text-align:center;vertical-align:middle}
#panel-q .rank-wp-table-ref th:nth-child(1),#panel-q .rank-wp-table-ref td:nth-child(1){width:132px !important;min-width:132px !important;max-width:132px !important;box-shadow:10px 0 18px -10px rgba(15,23,42,.38) !important}
#panel-q .rank-wp-table-ref th:nth-child(2),#panel-q .rank-wp-table-ref td:nth-child(2){width:52px !important;min-width:52px !important;max-width:52px !important}
#panel-q .rank-wp-table-ref th:nth-child(3),#panel-q .rank-wp-table-ref td:nth-child(3),#panel-q .rank-wp-table-ref th:nth-child(4),#panel-q .rank-wp-table-ref td:nth-child(4){width:64px !important;min-width:64px !important;max-width:64px !important}
#panel-q .rank-wp-table-ref th:nth-child(5),#panel-q .rank-wp-table-ref td:nth-child(5){width:72px !important;min-width:72px !important;max-width:72px !important}
#panel-q .rank-wp-table-ref th:nth-child(6),#panel-q .rank-wp-table-ref td:nth-child(6){width:76px !important;min-width:76px !important;max-width:76px !important}
#panel-q .rank-wp-table-ref th:nth-child(7),#panel-q .rank-wp-table-ref td:nth-child(7){width:110px !important;min-width:110px !important;max-width:110px !important}
#panel-q .rank-wp-table-ref th:nth-child(8),#panel-q .rank-wp-table-ref td:nth-child(8){width:56px !important;min-width:56px !important;max-width:56px !important}
#panel-q .rank-wp-table-ref td:nth-child(1){padding:4px 8px !important;font-size:14px !important;font-weight:400 !important}
#panel-q .rank-wp-table-ref td:nth-child(1){text-align:left !important}
#panel-q .rank-wp-table-ref td:nth-child(1) .horse-name{display:inline-block !important;width:auto !important;max-width:80px !important;font-size:28px !important;font-weight:800 !important;color:#003399 !important;line-height:1 !important;white-space:nowrap !important;text-align:left !important}
#panel-q .rank-ref-horse-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:36px}
#panel-q .rank-ref-horse-top{display:flex;align-items:baseline;gap:8px;width:100%}
#panel-q .rank-ref-horse-no{flex:0 0 auto;font-size:18px;font-weight:800;line-height:1;color:#111}
#panel-q .rank-ref-horse-bottom{display:flex;align-items:center;gap:8px;width:100%}
#panel-q .rank-ref-horse-bottom .rank-horse-silk{width:16px;height:22px;object-fit:contain;display:block}
#panel-q .rank-ref-horse-bottom .rank-silk-empty{font-size:12px;color:#94a3b8}
#panel-q .rank-ref-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
#panel-q .rank-ref-jockey,#panel-q .rank-ref-weight,#panel-q .rank-ref-trainer{display:inline-flex;align-items:center;gap:4px;min-width:0}
#panel-q .rank-ref-jockey .label-tag,#panel-q .rank-ref-weight .label-tag,#panel-q .rank-ref-trainer .label-tag{padding:0 4px !important;font-size:8px !important;border-radius:4px !important;background:#e5e7eb !important;color:#444 !important;line-height:1.2 !important}
#panel-q .rank-ref-jockey .person-name,#panel-q .rank-ref-weight .person-name,#panel-q .rank-ref-trainer .person-name{font-size:10px !important;line-height:1 !important;color:#222 !important;white-space:nowrap;font-weight:400 !important}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-val-plain,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-up,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down50{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:28px !important;padding:4px 0 !important;border-radius:0 !important;font-size:15px !important;font-weight:400 !important;box-sizing:border-box}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-val-plain{background:transparent !important;color:#2457d6 !important}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down{background:#f03939 !important;color:#fff !important}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-up{background:#2aa217 !important;color:#fff !important}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down50{background:#993300 !important;color:#fff !important}
#panel-q .rank-wp-table-ref .rank-index-inline{gap:3px;line-height:1;width:100%;padding:2px 0}
#panel-q .rank-wp-table-ref .rank-index-inline-row{justify-content:center;gap:3px;width:100%}
#panel-q .rank-wp-table-ref .rank-index-inline-label{font-size:12px;font-weight:700 !important;color:#122c68}
#panel-q .rank-wp-table-ref .rank-index-inline-value{font-size:16px;font-weight:700 !important;color:#0f172a}
#panel-q .rank-wp-table-ref .rank-index-inline-divider{width:88%;height:1px;background:#cbd5e1;opacity:.95}
#panel-q .rank-wp-table-ref .rank-last6-plain{font-size:14px;line-height:1.2}
#panel-q .rank-wp-table-ref td:nth-child(n+2),#panel-q .rank-wp-table-ref .rank-gate-cell,#panel-q .rank-wp-table-ref .rank-best-time-cell,#panel-q .rank-wp-table-ref .rank-last6-data-cell,#panel-q .rank-wp-table-ref .rank-comment-col-cell,#panel-q .rank-wp-table-ref .rank-time-value,#panel-q .rank-wp-table-ref .rank-last6-plain{font-weight:400 !important}
#panel-q .rank-wp-table-ref .rank-time-value-fastest,#panel-q .rank-wp-table-ref .rank-best-time-fastest{font-weight:400 !important}

@media(max-width:768px){
  .rank-wp-table-ref{min-width:640px}
  #panel-q .rank-wp-table-ref th:nth-child(1),#panel-q .rank-wp-table-ref td:nth-child(1){width:120px !important;min-width:120px !important;max-width:120px !important;box-shadow:8px 0 14px -10px rgba(15,23,42,.27) !important}
  #panel-q .rank-wp-table-ref th:nth-child(2),#panel-q .rank-wp-table-ref td:nth-child(2){width:44px !important;min-width:44px !important;max-width:44px !important}
  #panel-q .rank-wp-table-ref th:nth-child(3),#panel-q .rank-wp-table-ref td:nth-child(3),#panel-q .rank-wp-table-ref th:nth-child(4),#panel-q .rank-wp-table-ref td:nth-child(4){width:56px !important;min-width:56px !important;max-width:56px !important}
  #panel-q .rank-wp-table-ref th:nth-child(5),#panel-q .rank-wp-table-ref td:nth-child(5){width:64px !important;min-width:64px !important;max-width:64px !important}
  #panel-q .rank-wp-table-ref th:nth-child(6),#panel-q .rank-wp-table-ref td:nth-child(6){width:68px !important;min-width:68px !important;max-width:68px !important}
  #panel-q .rank-wp-table-ref th:nth-child(7),#panel-q .rank-wp-table-ref td:nth-child(7){width:96px !important;min-width:96px !important;max-width:96px !important}
  #panel-q .rank-wp-table-ref td:nth-child(1){padding:4px 6px !important}
  #panel-q .rank-wp-table-ref td:nth-child(1) .horse-name{max-width:72px !important;font-size:18px !important}
  #panel-q .rank-ref-horse-no{font-size:16px}
  #panel-q .rank-ref-horse-bottom .rank-horse-silk{width:14px;height:20px}
  #panel-q .rank-ref-jockey .person-name,#panel-q .rank-ref-weight .person-name{font-size:8px !important}
}
*/
:root{
  --idx-col-no-width: 52px;
  --idx-col-name-width: 150px;
  --idx-no-size: 20px;
  --idx-silk-width: 48px;
  --idx-silk-height: 28px;
  --idx-no-silk-gap: 6px;
  --idx-name-size: 21px;
  --idx-name-line-height: 1.06;
  --idx-meta-size: 14px;
  --idx-meta-line-height: 1.08;
  --idx-meta-gap: 4px;
  --idx-cell-padding-y: 6px;
  --idx-cell-padding-x: 6px;
  --idx-name-block-padding-y: 3px;
}
.qwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:0;padding:0}
#panel-q{padding-bottom:50px}
.rank-placeholder-card{margin:8px 0 0;padding:18px 14px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;text-align:center}
.rank-placeholder-title{font-size:16px;font-weight:800;color:#122c68}
.rank-placeholder-desc{margin-top:6px;font-size:13px;line-height:1.6;color:#64748b}
.rank-card-list{display:flex;flex-direction:column;gap:0;margin:0 -12px;background:#fff;border-top:1px solid #e5e7eb}
.rank-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:11px 12px;border-bottom:1px solid #e5e7eb;background:#fff}
.rank-card:nth-child(odd){background:#ffffff}
.rank-card:nth-child(even){background:#f8fafc}
.rank-card-silk{display:flex;align-items:flex-start;justify-content:center;padding-top:12px}
.rank-card-silk .rank-horse-silk{width:35px;height:40px;display:block;object-fit:contain}
.rank-card-body{min-width:0}
.rank-card-head{display:flex;align-items:baseline;gap:3px;line-height:1.1;color:#111827}
.rank-card-no{font-size:17px;font-weight:800;color:#111827;white-space:nowrap;letter-spacing:-.01em}
.rank-card-name{font-size:23px;font-weight:800;color:#111827;min-width:0;line-height:1.08}
.rank-card-name .horse-name{display:inline;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
.rank-card-line{margin-top:4px;font-size:14px;line-height:1.34;color:#374151;word-break:break-word;letter-spacing:-.01em}
.rank-card-line strong{font-weight:700;color:#111827}
@media(max-width:768px){
  .rank-card-list{margin:0 -10px}
  .rank-card{grid-template-columns:44px minmax(0,1fr);gap:11px;padding:10px 10px}
  .rank-card-silk{padding-top:11px}
  .rank-card-silk .rank-horse-silk{width:35px;height:40px}
  .rank-card-no{font-size:16px}
  .rank-card-name{font-size:20px}
  .rank-card-line{margin-top:3px;font-size:13.5px;line-height:1.32}
}
.qwrap-offset{margin-left:28%;max-width:72%}
@media(max-width:768px){.qwrap-offset{margin-left:0;max-width:100%}}
.qtable{font-size:12px;min-width:680px;border-collapse:collapse;border:0;border-bottom:1px solid #122c68;background:#fff}
.qtable td,.qtable th{padding:4px 6px;border:1px solid #ccc;vertical-align:middle}
.qtable tr:first-child th{background:#6b7280;color:#fff;text-align:center;font-weight:600}
.qtable th:first-child{text-align:center;position:sticky;left:0;z-index:1;min-width:2.2em}
.qtable tr:first-child th:first-child{background:#6b7280;color:#fff}
.qtable tr:not(:first-child) th:first-child{background:#fff;color:#1f2d3d;text-align:center}
.qtable td{text-align:right}
.panel#panel-q .qtable td{text-align:center}
.qtable td.q-na{background:#eaeaea;color:#777;font-weight:normal}
.qtable th.q-gap,.qtable td.q-gap{width:6px;min-width:6px;padding:0;border-left:2px solid #ccc;background:#f0f0f0}
.qin-odds-slide-container{position:relative;overflow:hidden;width:100%;border-radius:0;background:transparent}
.qin-odds-slide{position:relative;overflow:hidden;width:100%;border-radius:0;background:transparent}
.qin-table{display:block;width:100%;border-radius:0;overflow:hidden;background:#fff;border:0;border-bottom:1px solid #122c68;box-sizing:border-box}
.qin-odds-table{width:100%;max-width:100%;font-size:clamp(11px,2.5vw,13px);border-collapse:collapse;border:0;background:#fff;table-layout:fixed;border-radius:0;overflow:hidden}
.qin-odds-table td,.qin-odds-table th{padding:6px 4px;border:1px solid #ccc;vertical-align:middle;text-align:center;overflow:visible;word-break:normal;box-sizing:border-box;min-height:28px;line-height:1.3}
.qin-odds-table .iwn-odds-table-row td:not(.left-number):not(.right-number):not(.center-number):not(.q-empty),.qin-odds-table .iwn-odds-table-row.sec td:not(.left-number):not(.right-number):not(.center-number):not(.q-empty){white-space:nowrap}
.qin-odds-table-header td{background:#e5e7eb;color:#1f2d3d;font-weight:600}
.qin-odds-table-title{text-align:left;font-size:1.35em;font-weight:700}
.qin-odds-table-QIN .qin-odds-table-title{background:#122c68 !important;color:#fff}
.qin-odds-table-QIN .qin-odds-table-header td:not(.qin-odds-table-title),.qin-odds-table-QIN .left-number,.qin-odds-table-QIN .right-number,.qin-odds-table-QIN .center-number{background:#6176a0 !important;color:#fff !important;font-weight:600}
.qin-odds-table-QPL .qin-odds-table-title{background:#122c68 !important;color:#fff}
.qin-odds-table-QPL .qin-odds-table-header td:not(.qin-odds-table-title),.qin-odds-table-QPL .left-number,.qin-odds-table-QPL .right-number,.qin-odds-table-QPL .center-number{background:#6176a0 !important;color:#fff !important;font-weight:600}
.qin-odds-table .center-number{background:#d1d5db;color:#1f2d3d;font-weight:600}
.qin-odds-table .left-number,.qin-odds-table .right-number{background:#e5e7eb;text-align:center;color:#1f2d3d;font-weight:600;min-width:0}
.qin-odds-table .q-empty{background:#fff;min-width:0}
.qin-odds-table .iwn-odds-table-row td,.qin-odds-table .iwn-odds-table-row.sec td{min-height:28px}
.qin-odds-table tr.iwn-odds-table-row td{background:#fff}
.qin-odds-table tr.iwn-odds-table-row td.left-number,.qin-odds-table tr.iwn-odds-table-row td.right-number,.qin-odds-table tr.iwn-odds-table-row td.center-number{background:#fff}
.qin-odds-table tr.iwn-odds-table-row.sec td{background:#f0f0f0}
.qin-odds-table tr.iwn-odds-table-row.sec td.left-number,.qin-odds-table tr.iwn-odds-table-row.sec td.right-number,.qin-odds-table tr.iwn-odds-table-row.sec td.center-number{background:#f0f0f0}
.qin-odds-table .iwn-odds-table-row td.favourite,.qin-odds-table .iwn-odds-table-row.sec td.favourite{background:#f03939 !important;color:#fff;font-weight:600}
.qin-odds-table .iwn-odds-table-row td.q-down20,.qin-odds-table .iwn-odds-table-row.sec td.q-down20{background:#2aa217 !important;color:#fff;font-weight:600}
.qin-odds-table .iwn-odds-table-row td.q-down50,.qin-odds-table .iwn-odds-table-row.sec td.q-down50{background:#993300 !important;color:#fff;font-weight:600}
.qin-odds-table tr:first-child td:first-child{border-top-left-radius:8px}
.qin-odds-table tr:first-child td:last-child{border-top-right-radius:8px}
.qin-odds-table tr:last-child td:first-child{border-bottom-left-radius:8px}
.qin-odds-table tr:last-child td:last-child{border-bottom-right-radius:8px}
.qin-odds-table .q-toggle-cell{padding:0 !important;background:#122c68 !important}
.q-toggle-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;min-height:34px;padding:4px 6px;border:none;border-radius:0;background:#FECF13;color:#122C68;font-size:clamp(12px,2.2vw,16px);font-weight:800;line-height:1;cursor:pointer;animation:q-toggle-heartbeat .9s infinite ease-in-out;box-shadow:0 5px 15px rgba(254,207,19,.4);transition:transform .1s ease,background .15s ease,box-shadow .15s ease}
.q-toggle-btn-label{display:block}
.q-toggle-btn-arrow{display:block;width:0;height:0;margin-top:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #122C68;transition:transform .18s ease}
.q-toggle-btn.active .q-toggle-btn-arrow{transform:rotate(90deg)}
.q-toggle-btn:hover{animation:none;transform:scale(1.06);background:#FFE045;box-shadow:0 8px 25px rgba(254,207,19,.6)}
.q-toggle-btn.active{background:#FFD83D;animation:none}
.rank-q-inline-water{margin-top:0}
.rank-q-inline-water[hidden],.rank-q-water-panel[hidden]{display:none !important}
.rank-q-toggle-group[data-q-toggle-group="qin"] .rank-q-inline-water:not([hidden]){margin-bottom:14px}
.panel#panel-wp .table th,.panel#panel-wp .table td{border:1px solid #e5e9ef}
.panel#panel-q .table th,.panel#panel-q .table td{border-bottom:1px solid #e8edf2}
.rank-wp-wrap{overflow-x:auto;overflow-y:visible;width:100%;padding:0;margin:0;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:auto;position:relative}
.rank-wp-wrap-q{margin-bottom:10px;background:transparent;position:relative;overflow-x:auto !important;overflow-y:hidden !important;border-radius:6px}
.rank-wp-wrap::-webkit-scrollbar{height:10px}
.rank-wp-wrap::-webkit-scrollbar-track{background:transparent}
.rank-wp-wrap::-webkit-scrollbar-thumb{background:rgba(107,122,136,.45);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.rank-wp-wrap::-webkit-scrollbar-thumb:hover{background:rgba(107,122,136,.62);border:2px solid transparent;background-clip:padding-box}
@media(max-width:768px){.rank-wp-wrap{scrollbar-width:none;-ms-overflow-style:none}.rank-wp-wrap::-webkit-scrollbar{display:none}}
.rank-q-block{margin-top:0;padding-top:0;border-top:none}
.rank-q-water-block{margin-top:14px}
.rank-q-water-block.is-collapsed,.rank-water-legend.is-collapsed{display:none}
.rank-q-water-block{display:none !important}
.rank-water-legend{display:none !important}
.rank-q-title{font-size:18px;font-weight:700;color:#1f2d3d;margin-bottom:8px}
.panel#panel-q .rank-q-block .qin-odds-table-QIN .qin-odds-table-title,.panel#panel-q .rank-q-block .qin-odds-table-QPL .qin-odds-table-title{background:#122c68 !important;color:#fff}
.panel#panel-q .rank-q-block .qin-odds-table-QIN .qin-odds-table-header td:not(.qin-odds-table-title),.panel#panel-q .rank-q-block .qin-odds-table-QIN .left-number,.panel#panel-q .rank-q-block .qin-odds-table-QIN .right-number,.panel#panel-q .rank-q-block .qin-odds-table-QIN .center-number,.panel#panel-q .rank-q-block .qin-odds-table-QPL .qin-odds-table-header td:not(.qin-odds-table-title),.panel#panel-q .rank-q-block .qin-odds-table-QPL .left-number,.panel#panel-q .rank-q-block .qin-odds-table-QPL .right-number,.panel#panel-q .rank-q-block .qin-odds-table-QPL .center-number{background:#6176a0 !important;color:#fff !important;font-weight:600}
.rank-q-block .qin-water-table-QIN .qin-odds-table-title,.rank-q-block .qin-water-table-QPL .qin-odds-table-title{background:#122c68 !important;color:#fff}
.rank-q-block .qin-water-table-QIN .qin-odds-table-header td:not(.qin-odds-table-title),.rank-q-block .qin-water-table-QIN .left-number,.rank-q-block .qin-water-table-QIN .right-number,.rank-q-block .qin-water-table-QIN .center-number,.rank-q-block .qin-water-table-QPL .qin-odds-table-header td:not(.qin-odds-table-title),.rank-q-block .qin-water-table-QPL .left-number,.rank-q-block .qin-water-table-QPL .right-number,.rank-q-block .qin-water-table-QPL .center-number{background:#6176a0 !important;color:#fff !important;font-weight:600}
.rank-q-block .qin-water-table td.q-water-base,.rank-q-block .qin-water-table tr.iwn-odds-table-row.sec td.q-water-base{background:#fff !important;color:#111;font-weight:400}
.rank-q-block .qin-water-table td.q-water-mid,.rank-q-block .qin-water-table tr.iwn-odds-table-row.sec td.q-water-mid{background:#3B82F6 !important;color:#fff;font-weight:400}
.rank-q-block .qin-water-table td.q-water-high,.rank-q-block .qin-water-table tr.iwn-odds-table-row.sec td.q-water-high{background:#1247b8 !important;color:#fff;font-weight:400}
.rank-water-legend{margin-top:10px}
.rank-water-legend .legend-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}
.rank-water-legend .legend-label{font-weight:700}
.rank-water-legend .legend-right{display:flex;align-items:center;gap:4px}
.rank-water-legend .q-water-refresh-state{color:#64748b;font-size:12px;white-space:nowrap}
@media(max-width:768px){
  .rank-q-block .qin-water-table .qin-odds-table-title{font-size:1.08em}
  .rank-water-legend .q-water-refresh-state{font-size:11px}
  .q-toggle-btn{min-height:30px;font-size:12px}
  .q-toggle-btn-arrow{margin-top:0;border-top-width:4px;border-bottom-width:4px;border-left-width:6px}
}
@keyframes q-toggle-heartbeat{
  0%{transform:scale(1)}
  25%{transform:scale(1.08);background:#FFDE4D}
  35%{transform:scale(1.08)}
  45%{transform:scale(1)}
  55%{transform:scale(1.05)}
  65%{transform:scale(1)}
  100%{transform:scale(1)}
}
.rank-wp-table{width:max-content;min-width:100%;max-width:none;font-size:15px;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff;border-radius:6px;overflow:visible;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.rank-wp-table thead{background:#f8f8f8;box-shadow:0 2px 4px rgba(0,0,0,.03)}
.rank-wp-table th,.rank-wp-table td{border:none;vertical-align:middle;white-space:nowrap;text-align:center;box-sizing:border-box;background:#fff;position:relative}
.rank-wp-table th{padding:3.78px 5.04px;height:30px;background:#f8f8f8;font-weight:500;font-size:12.45px;text-align:left;color:#333}
.rank-wp-table th::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#eee,transparent);box-shadow:0 1px 2px rgba(0,0,0,.02)}
.rank-wp-table td{padding:0 2px;height:36px}
.rank-wp-table td::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(0,0,0,.01),#eee,rgba(0,0,0,.01));box-shadow:0 1px 3px rgba(0,0,0,.015)}
.rank-wp-table tbody tr:last-child td::after{display:none}
.rank-wp-table th.sortable{cursor:pointer;user-select:none}
.rank-wp-table th.sortable:hover{color:#122c68}
.rank-wp-table th.sortable::after{display:none}
.rank-wp-table th.sortable.asc::after{display:none}
.rank-wp-table th.sortable.desc::after{display:none}
#panel-q .rank-wp-table-ref thead th{padding-left:8px !important;padding-right:18px !important}
#panel-q .rank-wp-table-ref thead th.sortable{text-align:left !important}
#panel-q .rank-wp-table-ref thead th:nth-child(1){padding-left:8px !important;padding-right:18px !important;text-align:left !important;background:#f8f8f8 !important;box-shadow:10px 0 18px -10px rgba(15,23,42,.38) !important}
#panel-q .rank-wp-table-ref thead th .th-label{display:block;white-space:nowrap}
#panel-q .rank-wp-table-ref thead th .th-sort-arrow{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:10px;height:14px}
#panel-q .rank-wp-table-ref thead th .th-sort-arrow::before,
#panel-q .rank-wp-table-ref thead th .th-sort-arrow::after{content:'';position:absolute;left:50%;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent}
#panel-q .rank-wp-table-ref thead th .th-sort-arrow::before{top:0;border-bottom:6px solid rgba(31,45,61,.72)}
#panel-q .rank-wp-table-ref thead th .th-sort-arrow::after{bottom:0;border-top:6px solid rgba(31,45,61,.72)}
#panel-q .rank-wp-table-ref thead th.sortable[asc="1"] .th-sort-arrow::before{border-bottom-color:#122c68}
#panel-q .rank-wp-table-ref thead th.sortable[asc="0"] .th-sort-arrow::after{border-top-color:#122c68}
#panel-q .rank-wp-table-ref thead th:nth-child(1),
#panel-q .rank-wp-table-ref thead th:nth-child(2),
#panel-q .rank-wp-table-ref thead th:nth-child(3){border-right:1px solid #d9dee8 !important;box-shadow:inset -1px 0 0 rgba(255,255,255,.6)}
#panel-q .rank-wp-table th:nth-child(1),#panel-q .rank-wp-table td:nth-child(1){position:sticky !important;left:0 !important;width:80px !important;min-width:80px !important;max-width:80px !important}
#panel-q .rank-wp-table th:nth-child(1){z-index:20 !important;background:#f8f8f8 !important;box-shadow:2px 0 3px -2px rgba(0,0,0,.1) !important;padding:3px 2px !important;text-align:center !important}
#panel-q .rank-wp-table td:nth-child(1){z-index:15 !important;background:#fff !important;box-shadow:2px 0 3px -2px rgba(0,0,0,.05) !important;font-size:18px !important;font-weight:900 !important;color:#111827 !important}
.draw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;height:1.35em;line-height:1;border-radius:50%;font-weight:700;font-size:0.85em;background:#fff;color:#0d47a1;border:1px solid #0d47a1;box-sizing:border-box}
.rank-wp-table th:nth-child(2),.rank-wp-table td:nth-child(2){width:31.5px;min-width:31.5px;max-width:31.5px}
.rank-wp-table th:nth-child(3),.rank-wp-table td:nth-child(3){width:46px;min-width:46px;max-width:46px}
.rank-wp-table th:nth-child(4),.rank-wp-table td:nth-child(4){width:46px;min-width:46px;max-width:46px}
.rank-wp-table th:nth-child(5),.rank-wp-table td:nth-child(5){width:52px;min-width:52px;max-width:52px}
.rank-wp-table th:nth-child(6),.rank-wp-table td:nth-child(6){width:58px;min-width:58px;max-width:58px}
.rank-wp-table th:nth-child(7),.rank-wp-table td:nth-child(7){width:54px;min-width:54px;max-width:54px}
.rank-wp-table th:nth-child(8),.rank-wp-table td:nth-child(8){width:54px;min-width:54px;max-width:54px}
.rank-wp-table td:nth-child(2),.rank-wp-table td:nth-child(3),.rank-wp-table td:nth-child(4),.rank-wp-table td:nth-child(5),.rank-wp-table td:nth-child(6),.rank-wp-table td:nth-child(7),.rank-wp-table td:nth-child(8){font-size:13.86px;font-weight:700;color:#333;background:#fff}
.rank-wp-table .horse-name{font-size:inherit;font-weight:inherit;color:#003399;cursor:pointer;line-height:inherit}
.rank-wp-table .horse-name:hover{color:#122c68}
.rank-wp-table .last6-bold-red{font-weight:700;color:#c00}
.rank-wp-table .wp-trend{margin-left:1px;vertical-align:middle}
.rank-wp-table .scr-exit-text{font-size:75%;font-weight:600}
.rank-horse-silk{width:18px;height:24px;object-fit:cover;display:block;margin:0 auto}
.rank-silk-empty{display:inline-block;color:#94a3b8;font-size:13px;line-height:1}
#panel-q .rank-wp-table td:nth-child(1){padding:5.04px 2px !important}
#panel-q .info-col{display:flex !important;align-items:center !important;gap:1px !important;justify-content:flex-start !important;width:100% !important}
#panel-q .horse-left{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;margin-right:1px !important;width:22px !important;min-width:22px !important;max-width:22px !important;flex:0 0 22px !important}
#panel-q .horse-number{font-size:10px !important;font-weight:700 !important;color:#000 !important;text-align:center !important;margin-bottom:0 !important;line-height:1 !important}
#panel-q .silk-img{width:35px !important;height:40px !important;border-radius:1px !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important}
#panel-q .silk-img .rank-horse-silk{width:35px !important;height:40px !important;object-fit:contain !important;display:block !important}
#panel-q .horse-info{flex:1 !important;max-width:55px !important;min-width:0 !important}
#panel-q .horse-name-wrap{display:block !important;width:50px !important;max-width:50px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;margin-bottom:1px !important}
#panel-q .rank-wp-table td:nth-child(1) .horse-name{display:block !important;font-size:11px !important;font-weight:700 !important;color:#003399 !important;line-height:1.1 !important;width:50px !important;max-width:50px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
#panel-q .main-info{display:flex !important;flex-direction:column !important;align-items:flex-start !important;margin-top:0 !important;gap:0 !important}
#panel-q .jockey-row,#panel-q .weight-row{display:flex !important;align-items:center !important;gap:1px !important}
#panel-q .label-tag{background:#f0f0f0 !important;padding:.5px 1px !important;border-radius:1px !important;font-size:6px !important;font-weight:700 !important;color:#333 !important;line-height:1 !important}
#panel-q .person-name,#panel-q .weight-value{font-size:7px !important;color:#333 !important;line-height:1 !important}
.rank-gate-cell,.rank-best-time-cell,.rank-last6-data-cell,.rank-comment-col-cell{font-size:13.86px;font-weight:700;color:#333;text-align:center}
.rank-odd-cell .wp-val-plain,.rank-odd-cell .wp-down,.rank-odd-cell .wp-up,.rank-odd-cell .wp-down50{background:transparent !important;padding:0;font-size:13.86px;font-weight:700}
.rank-index-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.05}
.rank-index-inline-row{display:flex;align-items:center;gap:4px}
.rank-index-inline-label{font-size:11px;font-weight:800;color:#122c68}
.rank-index-inline-value{font-size:14px;font-weight:800;color:#0f172a}
.rank-last6-plain{display:inline-block;font-size:12px;font-weight:700;line-height:1.1;color:#333;white-space:nowrap}
.rank-wp-table .rank-best-time-cell{font-variant-numeric:tabular-nums;font-size:13.86px;font-weight:700}
.rank-time-value{font-size:13.86px;font-weight:700;color:#0f172a}
.rank-time-value-fastest,.rank-wp-table .rank-best-time-fastest{color:#c00;font-weight:800}
.rank-comment-empty{display:inline-block;font-size:12px;font-weight:700;color:#94a3b8}
.rank-comment-trigger{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:999px;background:#eef4ff;color:#122c68;cursor:pointer;box-shadow:inset 0 0 0 1px #dbe8fb;transition:background .16s ease,color .16s ease,transform .16s ease}
.rank-comment-trigger:hover{background:#dfeaff;color:#0f2357}
.rank-comment-trigger:focus-visible{outline:2px solid #6176a0;outline-offset:2px}
.rank-comment-trigger:active{transform:scale(.96)}
.rank-comment-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}
.rank-comment-trigger-icon svg{display:block;width:16px;height:16px}
.rank-note-trigger,.rank-note-inline-btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.rank-note-trigger{width:26px;height:26px;border-radius:999px;background:#fff7ed;color:#c2410c;box-shadow:inset 0 0 0 1px #fed7aa}
.rank-note-trigger:hover{background:#ffedd5;color:#9a3412}
.rank-note-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}
.rank-note-trigger-icon svg{display:block;width:14px;height:14px}
.rank-pingyu-single.rank-ai-analysis-cell{display:flex;align-items:center;justify-content:center;gap:6px}
.rank-sort-active-cell{background:var(--rank-sort-bg)!important;color:var(--rank-sort-fg)!important}
.rank-sort-active-cell .horse-name,.rank-sort-active-cell .rank-last6-plain,.rank-sort-active-cell .person-name,.rank-sort-active-cell .weight-value,.rank-sort-active-cell .rank-index-inline-label,.rank-sort-active-cell .rank-index-inline-value{color:var(--rank-sort-fg)!important}
.rank-comment-modal{display:block !important;left:0 !important;right:0 !important;top:auto !important;bottom:0 !important;transform:translateY(calc(100% + 24px)) !important;width:100% !important;max-width:769px !important;min-width:0 !important;max-height:min(82vh,720px) !important;margin:0 auto !important;pointer-events:none;transition:transform .28s ease}
.rank-comment-modal.show{display:block !important;transform:translateY(0) !important;pointer-events:auto}
.rank-comment-modal .horse-detail-inner{border-radius:22px 22px 0 0;border-bottom:0;box-shadow:0 -18px 42px rgba(4,15,31,.22);background:linear-gradient(180deg,#fbfdff 0%,#f3f7fc 100%)}
.rank-comment-modal .horse-detail-head{padding:10px 16px 8px;border-bottom:none;background:transparent}
.rank-comment-modal .horse-detail-head h3{font-size:17px}
.rank-comment-body{padding:0 16px 18px}
.rank-comment-sheet{display:flex;flex-direction:column;gap:12px}
.horse-detail-sheet-body{padding:0 16px 18px}
.horse-detail-sheet{display:flex;flex-direction:column;gap:12px}
.actor-detail-sheet-body{padding:0 16px 18px}
.actor-detail-sheet{display:flex;flex-direction:column;gap:12px}
.horse-detail-sheet .detail-section{margin-top:0}
.horse-detail-sheet .detail-section + .detail-section{margin-top:12px}
.horse-detail-sheet .detail-section-current{border-radius:18px}
.horse-detail-sheet .detail-section-history,
.horse-detail-sheet .detail-past-race,
.horse-detail-sheet .detail-section-detail,
.horse-detail-sheet .detail-section-summary{margin-left:0}
.horse-detail-sheet .detail-section-history::before,
.horse-detail-sheet .detail-section-history::after{display:none}
.actor-detail-sheet .detail-section{margin-top:0}
.actor-detail-sheet .detail-section + .detail-section{margin-top:12px}
.actor-detail-sheet .detail-section-history,
.actor-detail-sheet .detail-past-race,
.actor-detail-sheet .detail-section-detail,
.actor-detail-sheet .detail-section-summary{margin-left:0}
.actor-detail-sheet .detail-section-history::before,
.actor-detail-sheet .detail-section-history::after{display:none}
.horse-detail-sheet-modal .horse-detail-head{padding:10px 16px 8px;border-bottom:none;background:transparent}
.horse-detail-sheet-modal .horse-detail-head h3{font-size:17px}
.actor-detail-sheet-modal .horse-detail-head{padding:10px 16px 8px;border-bottom:none;background:transparent}
.actor-detail-sheet-modal .horse-detail-head h3{font-size:17px}
.rank-comment-tools{display:flex;justify-content:flex-end;margin:-2px 0 8px}
.rank-note-inline-btn{min-height:30px;padding:0 12px;border-radius:999px;background:#fff7ed;color:#9a3412;box-shadow:inset 0 0 0 1px #fed7aa;font-size:12px;font-weight:700}
.rank-note-inline-btn:hover{background:#ffedd5}
.rank-comment-handle{width:52px;height:5px;border-radius:999px;background:#cbd7ea;margin:2px auto 2px}
.rank-comment-horse-card{padding:14px;border:1px solid #d7e5f4;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 8px 24px rgba(18,44,104,.08)}
.rank-comment-horse-top{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px}
.rank-comment-horse-silk-wrap{display:flex;align-items:center;justify-content:center;flex:0 0 74px;width:74px;height:74px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid #d9e5f6}
.rank-comment-horse-silk{width:58px;height:58px;object-fit:contain;display:block}
.rank-comment-horse-silk-placeholder{font-size:22px;font-weight:800;color:#122c68}
.rank-comment-horse-main{min-width:0;display:flex;align-items:center;justify-content:center}
.rank-comment-horse-title-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:100%;text-align:center;flex-wrap:nowrap}
.rank-comment-horse-no{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#122c68;color:#fff;font-size:13px;font-weight:800;box-shadow:0 6px 14px rgba(18,44,104,.18)}
.rank-comment-horse-name{min-width:0;max-width:100%;font-size:23px;line-height:1.2;font-weight:900;color:#0f172a;word-break:break-word}
.rank-comment-horse-odds{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px}
.rank-comment-horse-odd{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;min-width:78px;min-height:30px;padding:0 10px;border-radius:999px;background:#eef4ff;border:1px solid #dbe8fb}
.rank-comment-horse-odd-label{font-size:12px;font-weight:800;color:#64748b}
.rank-comment-horse-odd-value{font-size:14px;font-weight:800;color:#122c68}
.rank-comment-horse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.rank-comment-horse-meta{min-width:0;padding:10px 11px;border-radius:14px;background:#fff;border:1px solid #e2eaf4;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.rank-comment-horse-meta-label{display:block;font-size:11px;font-weight:800;letter-spacing:.3px;color:#64748b}
.rank-comment-horse-meta-value{display:block;margin-top:5px;font-size:14px;line-height:1.45;font-weight:700;color:#0f172a;word-break:break-word;overflow-wrap:anywhere}
.rank-comment-tabs{display:flex;gap:8px;padding:4px;background:#eaf0f8;border-radius:14px}
.rank-comment-tab{flex:1;min-height:40px;padding:0 14px;border:none;border-radius:11px;background:transparent;color:#53657f;font-size:14px;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.rank-comment-tab.is-active{background:linear-gradient(135deg,#122c68 0%,#1c3f8d 100%);color:#fff;box-shadow:0 8px 20px rgba(18,44,104,.18)}
.rank-comment-tab:focus-visible{outline:2px solid #6176a0;outline-offset:2px}
.rank-comment-panels{min-height:180px}
.rank-comment-panel{padding:16px 14px 18px;border:1px solid #dbe5f1;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.rank-comment-text{margin-top:12px;font-size:15px;line-height:1.85;color:#0f172a;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.rank-comment-empty-state{display:flex;align-items:center;justify-content:center;min-height:150px;padding:18px 12px;color:#94a3b8;font-size:14px;font-weight:700;text-align:center}
.horse-note-sheet{display:flex;flex-direction:column;gap:12px}
.horse-note-headline{display:flex;align-items:center;gap:8px}
.horse-note-headline-no{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:#122c68;color:#fff;font-size:13px;font-weight:800}
.horse-note-headline-name{font-size:20px;font-weight:800;color:#0f172a}
.horse-note-sub{font-size:13px;line-height:1.6;color:#64748b}
.horse-note-textarea{width:100%;min-height:180px;padding:12px 14px;border:1px solid #dbe5f1;border-radius:16px;background:#fff;box-sizing:border-box;font-size:14px;line-height:1.7;color:#0f172a;resize:vertical}
.horse-note-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.horse-note-updated{font-size:12px;color:#64748b;text-align:center}
.horse-note-save-btn{min-width:108px;height:38px;padding:0 16px;border:none;border-radius:999px;background:#122c68;color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.horse-note-save-btn:disabled{opacity:.6;cursor:not-allowed}
.rank-wp-table td:nth-child(2) .horse-name{white-space:normal;word-break:break-word;line-height:1.2}
.horse-detail-mask.show + .rank-comment-modal.show{z-index:1001}
.horse-detail-mask{display:none;position:fixed;inset:0;background:rgba(7,12,20,.56);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000}
.horse-detail-mask.show{display:block}
.horse-detail-modal{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1001;width:min(94vw,720px);max-width:min(94vw,720px);min-width:280px;max-height:calc(100vh - 24px);overflow:hidden;box-sizing:border-box}
.horse-detail-modal.show{display:block}
#actorDetailMask{z-index:1002}
#actorDetailModal{z-index:1003}
.horse-detail-inner{background:linear-gradient(180deg,#f9fbff 0%,#f2f5fb 100%);border:1px solid rgba(217,225,234,.9);border-radius:18px;box-shadow:0 24px 70px rgba(4,15,31,.28);width:100%;min-height:0;height:auto;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}
.horse-detail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #dfe7f0;background:linear-gradient(135deg,#ffffff 0%,#eef4ff 100%);flex:0 0 auto}
.horse-detail-head h3{margin:0;font-size:18px;font-weight:800;color:#172554;letter-spacing:.2px}
.horse-detail-close{border:none;background:rgba(22,37,84,.08);font-size:22px;line-height:1;cursor:pointer;color:#475569;padding:0;width:32px;height:32px;border-radius:999px;transition:background .18s,color .18s}
.horse-detail-close:hover{color:#1e3a8a;background:rgba(37,99,235,.14)}
.horse-detail-body{padding:16px;font-size:14px;line-height:1.65;height:auto;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto}
@media(max-width:640px){
  .rank-comment-horse-card{padding:12px}
  .rank-comment-horse-top{grid-template-columns:67px minmax(0,1fr) auto;gap:10px}
  .rank-comment-horse-silk-wrap{flex-basis:67px;width:67px;height:67px}
  .rank-comment-horse-silk{width:53px;height:53px}
  .rank-comment-horse-name{font-size:18px}
  .rank-comment-horse-title-row{gap:6px}
  .rank-comment-horse-no{width:30px;height:30px;font-size:12px}
  .rank-comment-horse-odds{gap:6px}
  .rank-comment-horse-odd{min-width:68px;min-height:28px;padding:0 8px}
  .rank-comment-horse-odd-label{font-size:11px}
  .rank-comment-horse-odd-value{font-size:13px}
  .rank-comment-horse-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .rank-comment-horse-meta{padding:8px 8px 9px;border-radius:12px}
  .rank-comment-horse-meta-label{font-size:10px;letter-spacing:.2px}
  .rank-comment-horse-meta-value{margin-top:4px;font-size:12px;line-height:1.35}
}
.horse-detail-body .detail-row{display:flex;margin-bottom:8px;gap:10px}
.horse-detail-body .detail-line{margin-bottom:8px;font-size:14px;line-height:1.6}
.horse-detail-body .detail-line .detail-pair{display:inline;margin-right:14px;white-space:normal}
.horse-detail-body .detail-line .detail-pair .detail-label{color:#64748b;margin-right:3px;font-weight:700}
.horse-detail-body .detail-label{flex:0 0 76px;color:#64748b;font-weight:700}
.horse-detail-body .detail-value{flex:1;font-weight:500;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;color:#0f172a}
.horse-detail-body .horse-detail-silk{width:54px;height:54px;object-fit:contain;vertical-align:middle;margin-right:6px;filter:drop-shadow(0 4px 10px rgba(15,23,42,.14))}
.horse-detail-body .detail-link{color:#1d4ed8;cursor:pointer;text-decoration:underline;font-weight:600;padding:2px 4px;margin:-2px -4px;display:inline-block;touch-action:manipulation}
.horse-detail-body .detail-link:hover{color:#122c68}
.horse-detail-body .detail-section{margin-top:14px;padding:0;border-radius:14px;background:#fff;border:1px solid #dbe4ee;box-shadow:0 8px 22px rgba(15,23,42,.06);overflow:hidden}
.horse-detail-body .detail-section:first-of-type{margin-top:0}
.horse-detail-body .detail-section-title{font-weight:800;font-size:14px;margin:0;padding:11px 14px;background:linear-gradient(135deg,#edf3ff 0%,#e3ebf6 100%);color:#1e3a8a;border-bottom:1px solid #d7e0eb}
.horse-detail-body .detail-section .detail-race-name,.horse-detail-body .detail-section .detail-race-meta,.horse-detail-body .detail-section .detail-row,.horse-detail-body .detail-section .detail-line{padding-left:14px;padding-right:14px}
.horse-detail-body .detail-section .detail-section-title + .detail-race-name,.horse-detail-body .detail-section .detail-section-title + .detail-race-meta,.horse-detail-body .detail-section .detail-section-title + .detail-row,.horse-detail-body .detail-section .detail-section-title + .detail-line{padding-top:10px}
.horse-detail-body .detail-section .detail-row:last-child,.horse-detail-body .detail-section .detail-line:last-child{padding-bottom:12px}
.horse-detail-body .detail-section-current{background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border-color:#cddcf7;box-shadow:0 12px 30px rgba(29,78,216,.08)}
.horse-detail-body .detail-section-current .detail-section-title{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);color:#fff;border-bottom-color:rgba(255,255,255,.18)}
.horse-detail-body .detail-section-summary{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.horse-detail-body .detail-section-summary .detail-section-title{background:linear-gradient(135deg,#eef2f7 0%,#e2e8f0 100%);color:#334155;border-bottom-color:#d7dfe8}
.horse-detail-body .detail-section-history{position:relative;background:linear-gradient(180deg,#ffffff 0%,#fafcff 100%);border-color:#e2e8f0;margin-left:18px}
.horse-detail-body .detail-section-history::before{content:"";position:absolute;left:-12px;top:-16px;bottom:-16px;width:2px;background:linear-gradient(180deg,#dbe7f3 0%,#cbd5e1 100%)}
.horse-detail-body .detail-section-history::after{content:"";position:absolute;left:-18px;top:20px;width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);box-shadow:0 0 0 4px #fff}
.horse-detail-body .detail-section-history .detail-section-title{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);color:#9a3412;border-bottom-color:#fed7aa}
.horse-detail-body .detail-section-detail{background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border-color:#dfe6ef}
.horse-detail-body .detail-section-detail .detail-section-title{background:linear-gradient(135deg,#ecfeff 0%,#dbeafe 100%);color:#155e75;border-bottom-color:#bfdbfe}
.horse-detail-body .detail-race-name{margin-bottom:6px;font-weight:700;color:#0f172a}
.horse-detail-body .detail-race-meta{font-size:12px;color:#64748b;margin-bottom:8px;line-height:1.45}
.horse-detail-body .detail-race-meta-summary{padding:0 14px 12px;font-size:12px}
.horse-detail-body .detail-section-header{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 4px}
.horse-detail-body .detail-section-badge-wrap{flex:0 0 auto}
.horse-detail-body .detail-section-heading{min-width:0;flex:1}
.horse-detail-body .detail-section-kicker{font-size:11px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:#64748b}
.horse-detail-body .detail-section-heading-title{margin-top:4px;font-size:17px;line-height:1.35;font-weight:800;color:#0f172a;word-break:break-word}
.horse-detail-body .detail-place-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 12px;border-radius:14px;background:#e2e8f0;color:#334155;font-size:16px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.horse-detail-body .detail-place-badge-win{background:linear-gradient(135deg,#fde68a 0%,#fbbf24 100%);color:#7c2d12}
.horse-detail-body .detail-place-badge-place{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);color:#334155}
.horse-detail-body .detail-place-badge-show{background:linear-gradient(135deg,#fed7aa 0%,#fb923c 100%);color:#7c2d12}
.horse-detail-body .detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;padding:2px 14px 12px}
.horse-detail-body .detail-stat-card{border-radius:12px;padding:10px 12px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border:1px solid #dbe4ee;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.horse-detail-body .detail-stat-card-hot{background:linear-gradient(180deg,#fff5f5 0%,#fff1f2 100%);border-color:#fecdd3}
.horse-detail-body .detail-stat-card-cool{background:linear-gradient(180deg,#eff6ff 0%,#f8fbff 100%);border-color:#cfe1ff}
.horse-detail-body .detail-stat-label{font-size:11px;font-weight:700;letter-spacing:.3px;color:#64748b}
.horse-detail-body .detail-stat-value{margin-top:4px;font-size:20px;line-height:1.1;font-weight:800;color:#0f172a}
.horse-detail-body .detail-horse-info-top{padding:2px 14px 8px;background:linear-gradient(180deg,rgba(37,99,235,.04) 0%,transparent 100%)}
.horse-detail-body .detail-horse-info-top .detail-row{margin-bottom:6px}
.horse-detail-body .detail-horse-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.horse-detail-body .detail-horse-hero{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:8px 14px 14px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 100%);border:1px solid #d8e5ff;box-shadow:0 10px 22px rgba(37,99,235,.08)}
.horse-detail-body .detail-horse-hero-silk{width:66px;height:66px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(255,255,255,.88);border:1px solid rgba(205,220,247,.95)}
.horse-detail-body .detail-horse-hero-silk .horse-detail-silk{width:52px;height:52px;margin-right:0}
.horse-detail-body .detail-horse-hero-main{min-width:0}
.horse-detail-body .detail-horse-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.horse-detail-body .detail-horse-no{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 10px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:13px;font-weight:800;letter-spacing:.3px}

/* 2026-04 调整：会员页联动后的排位表细修 */
#panel-q .rank-wp-table-ref th:nth-child(1),
#panel-q .rank-wp-table-ref td:nth-child(1){
  width:164px !important;
  min-width:164px !important;
  max-width:164px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(2),
#panel-q .rank-wp-table-ref td:nth-child(2){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
}
#panel-q .rank-wp-table-ref td:nth-child(2){
  font-size:15.86px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(3),
#panel-q .rank-wp-table-ref td:nth-child(3){
  width:55px !important;
  min-width:55px !important;
  max-width:55px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(4),
#panel-q .rank-wp-table-ref td:nth-child(4){
  width:55px !important;
  min-width:55px !important;
  max-width:55px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(5),
#panel-q .rank-wp-table-ref td:nth-child(5){
  width:55px !important;
  min-width:55px !important;
  max-width:55px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(6),
#panel-q .rank-wp-table-ref td:nth-child(6){
  width:76px !important;
  min-width:76px !important;
  max-width:76px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(7),
#panel-q .rank-wp-table-ref td:nth-child(7){
  width:110px !important;
  min-width:110px !important;
  max-width:110px !important;
}
#panel-q .rank-wp-table-ref th:nth-child(8),
#panel-q .rank-wp-table-ref td:nth-child(8){
  width:56px !important;
  min-width:56px !important;
  max-width:56px !important;
}
#panel-q .rank-ref-horse-top{
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
}
#panel-q .rank-ref-horse-no{
  display:inline-block !important;
  min-width:auto !important;
  height:auto !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#003399 !important;
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
#panel-q .rank-wp-table-ref td:nth-child(1) .horse-name{
  display:inline-block !important;
  width:auto !important;
  min-width:4em !important;
  max-width:4em !important;
  font-size:28px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  text-align:left !important;
  line-height:1 !important;
}
#panel-q .rank-wp-table-ref .rank-index-inline-label{
  font-size:12px !important;
  font-weight:500 !important;
}
#panel-q .rank-wp-table-ref .rank-index-inline-value{
  font-size:20px !important;
  font-weight:400 !important;
}
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-val-plain,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-up,
#panel-q .rank-wp-table-ref .rank-odd-cell .wp-down50{
  min-height:30px !important;
  padding:4px 2px !important;
  border-radius:5px !important;
  font-size:22px !important;
  line-height:1 !important;
}
@media(max-width:768px){
  #panel-q .rank-wp-table-ref th:nth-child(1),
  #panel-q .rank-wp-table-ref td:nth-child(1){
    width:144px !important;
    min-width:144px !important;
    max-width:144px !important;
  }
  #panel-q .rank-wp-table-ref th:nth-child(3),
  #panel-q .rank-wp-table-ref td:nth-child(3),
  #panel-q .rank-wp-table-ref th:nth-child(4),
  #panel-q .rank-wp-table-ref td:nth-child(4),
  #panel-q .rank-wp-table-ref th:nth-child(5),
  #panel-q .rank-wp-table-ref td:nth-child(5){
    width:49px !important;
    min-width:49px !important;
    max-width:49px !important;
  }
  #panel-q .rank-ref-horse-no{
    font-size:22px !important;
  }
  #panel-q .rank-wp-table-ref td:nth-child(2){
    font-size:15.86px !important;
  }
  #panel-q .rank-wp-table-ref td:nth-child(1) .horse-name{
    min-width:4em !important;
    max-width:4em !important;
    font-size:16px !important;
  }
  #panel-q .rank-wp-table-ref .rank-odd-cell .wp-val-plain,
  #panel-q .rank-wp-table-ref .rank-odd-cell .wp-down,
  #panel-q .rank-wp-table-ref .rank-odd-cell .wp-up,
  #panel-q .rank-wp-table-ref .rank-odd-cell .wp-down50{
    font-size:20px !important;
    min-height:28px !important;
  }
  #panel-q .rank-wp-table-ref .rank-index-inline-label{
    font-size:11px !important;
  }
  #panel-q .rank-wp-table-ref .rank-index-inline-value{
    font-size:18px !important;
  }
  #panel-q .rank-ref-horse-bottom .rank-horse-silk{
    width:22px !important;
    height:30px !important;
  }
}

#panel-q .rank-ref-horse-bottom .rank-horse-silk{
  width:22px !important;
  height:30px !important;
  object-fit:contain !important;
  display:block !important;
}

/* TAB 排位页：仅马号/马名加粗，且马号大于马名 */
.rank-card-no{
  font-size:24px !important;
  font-weight:800 !important;
}
.rank-card-name{
  font-size:26px !important;
  font-weight:800 !important;
}
.rank-card-line,
.rank-card-line strong,
.rank-card-line .horse-name + *{
  font-weight:400 !important;
}
@media(max-width:768px){
  .rank-card-no{
    font-size:21px !important;
  }
  .rank-card-name{
    font-size:20px !important;
  }
}
.horse-detail-body .detail-horse-name{font-size:22px;line-height:1.2;font-weight:800;color:#0f172a;word-break:break-word}
.horse-detail-body .detail-horse-tagline{margin-top:6px;font-size:12px;color:#475569;line-height:1.45}
.horse-detail-body .detail-odds-inline{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.horse-detail-body .detail-odds-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #cfe1ff;box-shadow:0 6px 14px rgba(37,99,235,.08);font-weight:700;color:#1e3a8a;white-space:nowrap}
.horse-detail-body .detail-odds-inline .wp-down,.horse-detail-body .detail-odds-inline .wp-val-plain{margin-left:4px}
.horse-detail-body .detail-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 14px 14px}
.horse-detail-body .detail-insight-card{padding:12px 13px;border-radius:14px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 6px 16px rgba(15,23,42,.05)}
.horse-detail-body .detail-insight-card-comment{border-color:#dbeafe;background:linear-gradient(180deg,#f8fbff 0%,#f1f7ff 100%)}
.horse-detail-body .detail-insight-card-report{border-color:#fde68a;background:linear-gradient(180deg,#fffdf4 0%,#fff9e8 100%)}
.horse-detail-body .detail-insight-title{font-size:12px;font-weight:800;letter-spacing:.4px;color:#475569}
.horse-detail-body .detail-insight-text{margin-top:6px;font-size:14px;line-height:1.65;color:#0f172a;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.horse-detail-body .detail-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 14px 14px}
.horse-detail-body .detail-info-grid-tight{padding-top:0}
.horse-detail-body .detail-info-card{min-width:0;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #e5edf5;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.horse-detail-body .detail-info-label{font-size:11px;font-weight:800;letter-spacing:.32px;color:#64748b}
.horse-detail-body .detail-info-value{margin-top:6px;font-size:14px;line-height:1.5;font-weight:700;color:#0f172a;word-break:break-word;overflow-wrap:anywhere}
.horse-detail-body .detail-info-value .detail-link{font-weight:700}
.horse-detail-body .detail-past-race{background:#fbfcfe;border:1px solid #e4eaf2;margin-top:10px}
.horse-detail-body .detail-past-race .detail-section-title{background:linear-gradient(135deg,#f4f7fb 0%,#e9eef4 100%);color:#334155}
.horse-detail-body .detail-horse-info{font-size:13px;line-height:1.5}
.horse-detail-body .detail-loading-copy{padding:14px;font-size:14px;font-weight:700;color:#64748b}
#actorDetailBody .detail-section{margin-top:14px}
#actorDetailBody .detail-section:first-of-type{margin-top:0}
#actorDetailBody .detail-section-actor-current{border-color:#c7d9fb;background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%)}
#actorDetailBody .detail-section-actor-current .detail-section-title{background:linear-gradient(135deg,#0f766e 0%,#0ea5a4 100%);color:#fff;border-bottom-color:rgba(255,255,255,.18)}
#actorDetailBody .detail-actor-hero{display:flex;align-items:center;gap:12px;padding:12px 14px 6px}
#actorDetailBody .detail-actor-avatar{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);color:#fff;font-size:22px;font-weight:900;box-shadow:0 10px 20px rgba(15,118,110,.18)}
#actorDetailBody .detail-actor-main{min-width:0;flex:1}
#actorDetailBody .detail-actor-role{font-size:11px;font-weight:800;letter-spacing:.4px;color:#64748b}
#actorDetailBody .detail-actor-name{margin-top:4px;font-size:22px;line-height:1.25;font-weight:800;color:#0f172a;word-break:break-word}
#actorDetailBody .detail-actor-horse-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 14px}
#actorDetailBody .detail-actor-horse-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dbe7f3;box-shadow:0 4px 10px rgba(15,23,42,.05);font-size:13px;font-weight:700;color:#0f172a}
#actorDetailBody .detail-section-actor-entry .detail-section-kicker{color:#0f766e}
.q-fit-inner{display:block}
.q-tables-gap{display:none;height:0;min-height:0;margin:0;padding:0}
.q-meta-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:13px;color:var(--muted)}
.q-meta-row .q-update-time{flex:1}
.q-meta-row .q-refresh-btn{border:none;background:none;cursor:pointer;font-size:18px;padding:4px;margin-left:8px}
.q-meta-row .q-refresh-btn:hover{opacity:.8}
.odds-legend{margin-top:6px;font-size:12px;color:var(--muted)}
.odds-legend .legend-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.odds-legend .legend-top-row .legend-label{font-weight:700}
.odds-legend .legend-top-row .legend-right{display:flex;align-items:center;gap:4px}
.odds-legend .legend-top-row .q-refresh-btn{border:none;background:none;cursor:pointer;font-size:18px;padding:4px}
.odds-legend .legend-top-row .q-refresh-btn:hover{opacity:.8}
.odds-legend .legend-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.rank-meta-row{margin-top:6px;margin-bottom:8px;display:flex;align-items:center;justify-content:flex-end;font-size:13px;color:var(--muted)}
.rank-meta-row .q-update-time{margin-right:4px}
.rank-meta-row .q-refresh-btn{border:none;background:none;cursor:pointer;font-size:18px;padding:4px}
.rank-meta-row .q-refresh-btn:hover{opacity:.8}
.panel#panel-q .rank-odds-legend{margin-top:10px}
.legend-item{display:inline-flex;align-items:center;gap:4px}
.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.legend-dot.hot{background:#f03939}
.legend-dot.down20{background:#2aa217}
.legend-dot.down50{background:#993300}

@media(max-width:768px){
  .wrap{padding:0}
  .card.tabs-card{padding:6px 8px}
  .tabs{padding:5px;border-radius:10px}
  .tab{padding:6px 10px;font-size:23px}
  .head-tools{gap:8px}
  .member-center-btn{min-width:84px}
  .member-center-name{max-width:90px;font-size:14px}
  #panel-q{padding:0 0 50px 0;max-width:100%;min-width:0;overflow-x:visible}
  .panel#panel-q .rank-wp-table{font-size:clamp(12px,3.2vw,14px);min-width:520px}
  #panel-q .rank-wp-table th:nth-child(1),#panel-q .rank-wp-table td:nth-child(1){width:80px !important;min-width:110px !important;max-width:80px !important}
  .rank-wp-table th:nth-child(5),.rank-wp-table td:nth-child(5){width:48px;min-width:48px;max-width:48px}
  .rank-wp-table th:nth-child(6),.rank-wp-table td:nth-child(6),.rank-wp-table th:nth-child(7),.rank-wp-table td:nth-child(7),.rank-wp-table th:nth-child(8),.rank-wp-table td:nth-child(8){width:48px;min-width:48px;max-width:48px}
  .rank-wp-table th::after,.rank-wp-table td::after{box-shadow:0 1px 2px rgba(0,0,0,.01)}
  .rank-wp-table td{height:34px}
  #panel-q .rank-wp-table-ref td:nth-child(1) .horse-name{font-size:18px !important}
  #panel-q .horse-info{max-width:55px !important}
  #panel-q .horse-name-wrap{width:50px !important;max-width:50px !important}
  #panel-q .rank-wp-table td:nth-child(1) .horse-name{width:50px !important;max-width:50px !important}
  .rank-wp-table .rank-best-time-cell,.rank-time-value,.rank-last6-plain,.rank-odd-cell .wp-val-plain,.rank-odd-cell .wp-down,.rank-odd-cell .wp-up,.rank-odd-cell .wp-down50,.rank-index-inline-value{font-size:12px}
  .panel#panel-q .q-fit-wrap,.panel#panel-q .q-fit-inner,.panel#panel-q #qodd{max-width:100%;min-width:0}
  .qwrap{width:100%;max-width:100%;margin:0;padding:0;overflow:visible;min-width:0}
  .qtable{width:100% !important;min-width:0 !important;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:clamp(8px,2.4vw,11px);line-height:1.25}
  .qtable td,.qtable th{padding:2px 4px;border:1px solid #ddd;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
  .qin-odds-table{width:100%;max-width:100%;table-layout:fixed;font-size:clamp(10px,2.4vw,12px)}
  .qin-odds-table td,.qin-odds-table th{padding:6px 3px;overflow:visible;word-break:normal;box-sizing:border-box;min-height:26px;line-height:1.3}
  .panel#panel-q .qtable td,.panel#panel-q .qin-odds-table td{text-align:center}
  .panel#panel-q .q-fit-wrap{margin:0;overflow:visible}
  .panel#panel-q .q-fit-inner{overflow:visible}
  .panel#panel-q .q-tables-gap{display:none;height:0;min-height:0;margin:0;padding:0}
  .panel#panel-q .odds-legend{margin-top:4px;font-size:11px}
  .horse-detail-modal{left:50%;top:12px;transform:translateX(-50%);width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
  .horse-detail-inner{max-height:calc(100vh - 16px);border-radius:10px}
  .horse-detail-head{padding:12px}
  .horse-detail-head h3{font-size:15px;max-width:calc(100% - 36px);word-break:break-word}
  .horse-detail-body{padding:12px}
  .horse-detail-body .detail-line .detail-pair{display:block;margin-right:0;margin-bottom:4px}
  .horse-detail-body .detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .horse-detail-body .detail-section-header{padding:12px 12px 4px;gap:10px}
  .horse-detail-body .detail-section-heading-title{font-size:15px}
  .horse-detail-body .detail-place-badge{min-width:40px;height:40px;padding:0 10px;font-size:14px;border-radius:12px}
  .horse-detail-body .detail-stat-value{font-size:18px}
  .horse-detail-body .detail-horse-hero{grid-template-columns:1fr;gap:10px;padding:12px}
  .horse-detail-body .detail-horse-hero-silk{width:60px;height:60px}
  .horse-detail-body .detail-horse-name{font-size:19px}
  .horse-detail-body .detail-odds-inline{width:100%;justify-content:flex-start;margin-left:0}
  .horse-detail-body .detail-insight-grid{grid-template-columns:1fr;gap:8px}
  .horse-detail-body .detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .horse-detail-body .detail-section-history{margin-left:12px}
  .horse-detail-body .detail-section-history::before{left:-9px}
  .horse-detail-body .detail-section-history::after{left:-15px;top:18px}
  #actorDetailBody .detail-actor-hero{padding:12px 12px 6px}
  #actorDetailBody .detail-actor-avatar{width:48px;height:48px;border-radius:14px;font-size:20px}
  #actorDetailBody .detail-actor-name{font-size:18px}
  #actorDetailBody .detail-actor-horse-list{padding:10px 12px 12px;gap:6px}
}
