:root{
  color-scheme:dark;
  --bg:#070907;
  --panel:#0d100d;
  --panel-2:#11150f;
  --line:#3a3215;
  --line-soft:#23271f;
  --gold:#d7b54a;
  --gold-soft:#f0d878;
  --text:#f5f2e8;
  --muted:#9ba89c;
  --green:#45df86;
  --orange:#ffb649;
  --red:#ff625e;
  --sidebar:280px;
  font-family:Inter,"Noto Sans JP","Yu Gothic UI",system-ui,sans-serif;
}
@media(min-width:1025px){.kirin-race-item strong{font-size:12px}.kirin-race-item span{display:none}.kirin-time-card--close .kirin-time-rule{margin-left:0}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button{color:inherit}
.kirin-app{min-height:100vh;background:radial-gradient(circle at 70% 0%,rgba(215,181,74,.055),transparent 32%),var(--bg)}
.kirin-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#080a08;position:sticky;top:0;z-index:20}
.kirin-brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}.kirin-brand img{width:38px;height:38px;object-fit:contain}.kirin-brand span{display:grid;gap:2px}.kirin-brand strong{letter-spacing:.28em;color:var(--gold-soft)}.kirin-brand small{font-size:11px;color:var(--muted)}
.kirin-header-actions button,.kirin-nav button,.kirin-race-item{border:1px solid var(--line-soft);background:#0c0f0d;border-radius:10px;cursor:pointer}
.kirin-icon-button{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:50%!important;transition:border-color .18s ease,background .18s ease,transform .18s ease}.kirin-icon-button:hover{border-color:var(--gold);background:#15180f}.kirin-icon-button:active{transform:rotate(18deg)}.kirin-icon-button svg{width:19px;height:19px;fill:none;stroke:var(--gold-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kirin-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:calc(100vh - 72px)}
.kirin-sidebar{border-right:1px solid var(--line);background:#090c09;padding:18px;position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}
.kirin-nav{display:grid;gap:8px}.kirin-nav button{text-align:left;padding:12px 14px;color:#cdd5ce}.kirin-nav button.is-active{border-color:var(--gold);color:var(--gold-soft);background:linear-gradient(90deg,rgba(215,181,74,.14),transparent)}
.kirin-search{display:grid;gap:7px;margin:22px 0 14px;color:var(--muted);font-size:12px}.kirin-search input{width:100%;padding:11px 12px;border:1px solid var(--line-soft);border-radius:9px;background:#0a0d0b;color:var(--text);outline:none}.kirin-search input:focus{border-color:var(--gold)}
.kirin-race-list{display:grid;gap:7px}.kirin-race-item{display:grid;gap:4px;text-align:left;padding:11px 12px}.kirin-race-item strong{font-size:13px;line-height:1.45}.kirin-race-item span{font-size:11px;color:var(--muted)}.kirin-race-item.is-active{border-color:var(--gold);background:rgba(215,181,74,.09)}
.kirin-main{padding:24px;min-width:0}.kirin-race-screen{width:min(1480px,100%);margin:0 auto;display:grid;gap:16px}.kirin-breadcrumb{margin:0 0 8px;color:var(--muted);font-size:12px}.kirin-race-meta{margin:10px 0 0;color:#c7d0c8;font-size:13px}.kirin-status{border:1px solid #1f713f;border-radius:999px;padding:8px 12px;background:#082514;color:#72f19c;font-size:12px;white-space:nowrap}
.kirin-timing{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.kirin-time-card{min-height:54px;display:flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid #27302a;border-radius:12px;background:#0b0f0d;white-space:nowrap;overflow:hidden}.kirin-time-card small{flex:0 0 auto;color:#a7b6c8;font-size:11px;font-weight:700}.kirin-time-value{color:#ffd251;font-size:20px;line-height:1}.kirin-time-rule{flex:0 0 auto;margin-left:auto;padding:3px 8px;border:1px solid #3a432f;border-radius:999px;color:var(--muted);font-size:9px;line-height:1.2}
.kirin-decision-card{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.75fr);grid-template-areas:"main metrics" "main reasons" "detail detail";gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(215,181,74,.08),rgba(8,11,8,.98) 50%)}
.kirin-decision-main{grid-area:main;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;border:1px solid #66531a;border-radius:14px;background:radial-gradient(circle at 50% 18%,rgba(215,181,74,.16),transparent 35%),#0b0e0b;text-align:center}.kirin-decision-heading{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:12px}.kirin-eyebrow{margin:0;color:#fff;font-weight:800;font-size:12px;letter-spacing:.08em}.kirin-decision-state{padding:3px 7px;border:1px solid #715e22;border-radius:999px;color:#d8c471;font-size:9px}.kirin-score{font-size:76px;line-height:.9;color:#fff;font-weight:800}.kirin-score span{font-size:15px;margin-left:5px;color:var(--gold-soft)}.kirin-score--pending{display:grid;place-items:center;min-height:82px;font-size:18px}.kirin-score--pending span{margin:0;padding:10px 16px;border:1px solid #5f5225;border-radius:999px;color:var(--gold-soft);font-size:13px;letter-spacing:.08em}.kirin-pending-copy{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.4;white-space:nowrap}.kirin-rank{display:flex;align-items:center;gap:12px;margin:15px 0}.kirin-rank span{padding:5px 10px;border:1px solid #806a22;border-radius:999px;color:#fff;font-size:11px;letter-spacing:.12em}.kirin-rank strong{color:var(--gold-soft);letter-spacing:.06em}.kirin-pick{display:flex;align-items:center;justify-content:center;gap:9px;max-width:100%;font-size:20px}.kirin-pick--pending{color:#7f8982;font-size:15px}.kirin-mark{color:#ff493f;font-size:25px}.kirin-number{display:grid;place-items:center;width:34px;height:34px;border:1px solid #546272;border-radius:50%;background:#172333}.kirin-pick strong{overflow-wrap:anywhere}.kirin-odds{margin:10px 0 0;color:#d9dde1;font-size:13px}
.kirin-metrics{grid-area:metrics;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-content:start}.kirin-metric{min-height:82px;padding:13px;border:1px solid #3c3518;border-radius:11px;background:#0b0e0b;display:flex;flex-direction:column;justify-content:center;gap:7px}.kirin-metric small{color:#91a09a;font-size:11px}.kirin-metric strong{font-size:23px}.kirin-metric>span{color:#6f7b73;font-size:9px}.kirin-metric.is-pending{border-color:#292d27;background:#0a0d0b}.kirin-metric.is-pending>strong{color:#79817c}.kirin-metric--win:not(.is-pending){background:linear-gradient(145deg,rgba(215,181,74,.16),#0c0f0c)}.kirin-investment-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kirin-investment-values>span{display:grid;gap:4px;min-width:0}.kirin-investment-values>span+span{padding-left:10px;border-left:1px solid #333523}.kirin-investment-values em{color:#91a09a;font-size:10px;font-style:normal}.kirin-investment-values strong{font-size:20px}.kirin-metric-pending{color:#6f7b73;font-size:9px}
.kirin-reasons{grid-area:reasons;display:grid;grid-template-columns:1fr 1fr;gap:10px}.kirin-reason{padding:16px 18px;border-radius:12px}.kirin-reason h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:14px}.kirin-reason-icon{display:inline-grid;place-items:center;width:19px;height:19px;flex:0 0 19px;font-size:15px;font-weight:900;line-height:1}.kirin-reason-icon--positive{color:var(--green)}.kirin-reason-icon--caution{color:var(--red)}.kirin-reason ul{margin:0;padding-left:19px;display:grid;gap:1px;font-size:12px;line-height:1.55}.kirin-reason--positive{border:1px solid #176c42;background:linear-gradient(145deg,#062618,#07140d)}.kirin-reason--positive h3{color:var(--green)}.kirin-reason--caution{border:1px solid #7a2525;background:linear-gradient(145deg,#260b0b,#130707)}.kirin-reason--caution h3{color:var(--red)}
.kirin-recommended-horses{grid-column:1 / -1;padding:14px 16px;border:1px solid var(--line-soft);border-radius:12px;background:linear-gradient(145deg,#10130f,#0a0d0b)}.kirin-recommended-horses h2{margin:0 0 10px;color:var(--gold-soft);font-size:14px}.kirin-recommended-horses ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.kirin-recommended-horses li{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid var(--line-soft);border-radius:10px;background:#0b0e0b}.kirin-recommended-horse-main{display:flex;align-items:center;gap:8px;min-width:0}.kirin-recommended-role{display:block;margin-left:30px;color:#b8c1ba;font-size:11px;line-height:1.25;overflow-wrap:anywhere}.kirin-recommended-horses strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.kirin-recommended-mark{display:grid;place-items:center;flex:0 0 auto;width:22px;color:var(--gold-soft);font-size:16px;font-weight:800}.kirin-recommended-mark--◎{color:#e7ca69}.kirin-recommended-mark--○{color:#c8d0c9}.kirin-recommended-mark--▲{color:#d8b47a}.kirin-recommended-mark--△{color:#b9c9b9}.kirin-recommended-mark--☆{color:#d7b54a}.kirin-recommended-number{display:grid;place-items:center;flex:0 0 auto;min-width:22px;height:22px;border-radius:6px;background:rgba(215,181,74,.1);color:#d7c574;font-size:11px;font-weight:700}
.kirin-decision-detail{grid-area:detail;border-top:1px solid rgba(215,181,74,.22);padding-top:10px}.kirin-decision-detail summary{cursor:pointer;color:var(--gold-soft);font-weight:700;font-size:13px}.kirin-detail-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0}.kirin-detail-content>div{padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:#0a0d0b}.kirin-detail-content small{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.kirin-detail-content strong{font-size:12px}.kirin-detail-content ul{margin:0;padding-left:18px;color:#c9d1ca;font-size:11px;line-height:1.5}
.kirin-gate-waiting{grid-column:1 / -1;display:grid;place-items:center;gap:7px;margin:0;padding:24px 20px;border:1px solid #66531a;border-radius:14px;background:linear-gradient(145deg,rgba(215,181,74,.08),#0b0e0b 58%);text-align:center}.kirin-gate-waiting h2{margin:0;color:var(--gold-soft);font-size:18px}.kirin-gate-waiting p{margin:0;color:#d9dfd9;font-size:13px;line-height:1.5}.kirin-gate-waiting small{color:var(--muted);font-size:11px;line-height:1.5}
.kirin-empty-state{min-height:280px;display:grid;place-content:center;text-align:center;color:var(--muted)}.kirin-empty-state strong{font-size:24px;color:var(--gold-soft)}.kirin-error strong{color:var(--red)}
@media(max-width:980px){
  :root{--sidebar:220px}.kirin-decision-card{grid-template-columns:1fr;grid-template-areas:"main" "metrics" "reasons" "detail"}.kirin-decision-main{min-height:300px}.kirin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .kirin-header{height:64px;padding:0 14px}.kirin-brand small{display:none}.kirin-brand strong{font-size:13px}.kirin-icon-button{width:38px;height:38px}.kirin-shell{display:block}.kirin-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.kirin-nav{grid-template-columns:repeat(5,1fr);overflow:auto}.kirin-nav button{padding:10px 8px;text-align:center;font-size:12px}.kirin-search,.kirin-race-list{display:none}.kirin-main{padding:14px}.kirin-race-header{display:grid;padding:16px}.kirin-race-header h1{font-size:22px}.kirin-status{justify-self:start}.kirin-timing{gap:8px}.kirin-time-card{min-height:52px;justify-content:flex-start;gap:8px;padding:7px 10px}.kirin-time-card small{font-size:10px}.kirin-time-value{font-size:18px}.kirin-time-card--close .kirin-time-value--exact{display:none}.kirin-time-card--close .kirin-time-rule{margin-left:0;padding:0;border:0;color:#ffd251;font-size:18px;font-weight:800;line-height:1}.kirin-decision-card{padding:10px}.kirin-decision-main{min-height:0;padding:24px 15px}.kirin-score{font-size:62px}.kirin-pick{font-size:19px}.kirin-pick--pending{font-size:14px}.kirin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kirin-metric{min-height:84px;padding:11px}.kirin-metric strong{font-size:22px}.kirin-investment-values{gap:7px}.kirin-investment-values>span+span{padding-left:7px}.kirin-investment-values strong{font-size:18px}.kirin-reasons,.kirin-detail-content{grid-template-columns:1fr}.kirin-reason{padding:15px}
}
@media(max-width:480px){
  .kirin-race-header{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:0;align-items:center}
  .kirin-race-header>div{display:contents}
  .kirin-breadcrumb{grid-column:1;grid-row:1;margin:0;min-width:0}
  .kirin-status{grid-column:2;grid-row:1;justify-self:end;padding:5px 9px;font-size:10px}
  .kirin-race-header h1{grid-column:1/-1;grid-row:2;margin-top:12px}
  .kirin-race-meta{grid-column:1/-1;grid-row:3}
}
@media(max-width:390px){
  .kirin-brand img{width:32px;height:32px}.kirin-nav button{font-size:11px}.kirin-main{padding:10px}.kirin-race-header{padding:14px}.kirin-race-header h1{font-size:20px}.kirin-race-meta{font-size:11px}.kirin-time-card{min-height:50px;padding:7px 9px}.kirin-time-card small{font-size:9px}.kirin-time-value,.kirin-time-card--close .kirin-time-rule{font-size:17px}.kirin-score{font-size:58px}.kirin-rank{gap:8px}.kirin-pick{gap:7px;font-size:18px}.kirin-pick--pending{font-size:13px}.kirin-number{width:31px;height:31px}.kirin-metric{min-height:80px;padding:10px}.kirin-metric small{font-size:10px}.kirin-metric strong{font-size:21px}.kirin-investment-values em{font-size:9px}.kirin-investment-values strong{font-size:17px}
}

/* Sprint39 final QA: one shared race-information system. */
.kirin-race-identity h1,
.kirin-review-header h1{font-size:28px!important;line-height:1.25!important;letter-spacing:.02em!important}
.kirin-race-meta-line,
.kirin-review-header .kirin-breadcrumb{margin:0 0 9px!important;color:var(--muted)!important;font-size:13px!important;line-height:1.35!important}
.kirin-race-identity{gap:0!important}

@media(max-width:720px){
  .kirin-race-identity h1,
  .kirin-review-header h1{font-size:22px!important;line-height:1.25!important}
  .kirin-race-meta-line,
  .kirin-review-header .kirin-breadcrumb{margin:0 0 8px!important;font-size:12px!important;line-height:1.35!important}

  /* B案: exactly two cards on the first row and three on the second. */
  .kirin-analysis-capability-grid[data-capability-layout="b"]{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:104px 104px!important;
    grid-auto-rows:104px!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{
    grid-column:span 2!important;
    grid-row:2!important;
    width:auto!important;
    min-width:0!important;
    min-height:104px!important;
    height:104px!important;
    margin:0!important;
    padding:14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    text-align:left!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(1){grid-column:1 / span 3!important;grid-row:1!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(2){grid-column:4 / span 3!important;grid-row:1!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(3){grid-column:1 / span 2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(4){grid-column:3 / span 2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(5){grid-column:5 / span 2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric .kirin-metric-label,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric small,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric>span{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:flex-start!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric .kirin-metric-label{display:flex!important;align-items:center!important;gap:5px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong{display:flex!important;align-items:baseline!important;justify-content:flex-start!important;font-size:24px!important;line-height:1!important}

  /* The result row now has rank, horse, merged meta, and optional time. */
  .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"rank horse" ". meta" ". time"!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:10px!important;
    gap:4px 10px!important;
    align-items:start!important;
    line-height:1.35!important;
  }
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important}
  .kirin-review-result-row>:nth-child(3){grid-area:meta!important;display:block!important;width:100%!important}
  .kirin-review-result-row>:nth-child(4){grid-area:time!important;display:block!important;width:100%!important}
  .kirin-review-result-row>*{min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}
  .kirin-review-result-meta{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .kirin-review-result-row>strong{white-space:nowrap!important}
}

@media(max-width:390px){
  .kirin-analysis-capability-grid[data-capability-layout="b"]{grid-template-rows:96px 96px!important;grid-auto-rows:96px!important;gap:6px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{min-height:96px!important;height:96px!important;padding:10px!important;gap:7px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong{font-size:22px!important}
}

/* PC only: place each filter heading immediately left of its choices. */
@media(min-width:1025px){
  .kirin-races-filter-group{display:flex;align-items:center;gap:12px}
  .kirin-races-filter-group>small{flex:0 0 auto;margin:0!important}
  .kirin-races-filter-group>div{min-width:0;flex:1}
}

/* Remove any stale visual dash that may be left by an older renderer. */
.kirin-review-result-row>[hidden]{display:none!important}
.kirin-analysis-capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.kirin-analysis-capability-grid>.kirin-metric{
  min-width:0;
  min-height:104px;
  align-items:flex-start;
  text-align:left;
}
.kirin-analysis-capability-grid>.kirin-metric small,
.kirin-analysis-capability-grid>.kirin-metric strong{
  text-align:left;
}
.kirin-race-meta{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:720px){
  .kirin-analysis-capability-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .kirin-analysis-capability-grid>.kirin-metric{
    min-height:92px;
    padding:10px;
  }
  .kirin-analysis-capability-grid>.kirin-metric small{font-size:10px}
  .kirin-analysis-capability-grid>.kirin-metric strong{font-size:21px}
}
@media(max-width:390px){
  .kirin-analysis-capability-grid{gap:6px}
  .kirin-analysis-capability-grid>.kirin-metric{
    min-height:84px;
    padding:9px 8px;
  }
  .kirin-analysis-capability-grid>.kirin-metric small{font-size:9px}
  .kirin-analysis-capability-grid>.kirin-metric strong{font-size:19px}
}

/* Sprint39 iPhone final: target the actual Analysis Room DOM. */
@media(max-width:720px){
  .kirin-analysis-capability-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    height:auto!important;
    padding:14px!important;
    margin:0!important;
    text-align:left!important;
    gap:9px!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric:first-child{grid-column:1 / -1!important}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric small,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric strong,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric>span{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:left!important;
    align-self:flex-start!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric strong{
    display:flex!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:2px!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric .kirin-metric-value-number,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric .kirin-metric-value-unit{
    display:inline!important;
    width:auto!important;
    text-align:left!important;
  }
}

/* Sprint39 iPhone final: every all-results value gets its own stable row. */
@media(max-width:600px){
  .kirin-review-all-results,
  .kirin-review-result-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    grid-template-rows:repeat(4,max-content)!important;
    grid-template-areas:"rank horse" ". popularity" ". odds" ". time"!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:14px 12px!important;
    gap:5px 10px!important;
    align-items:start!important;
    line-height:1.45!important;
    overflow:hidden!important;
  }
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important;align-self:start!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important;align-self:start!important}
  .kirin-review-result-row>:nth-child(3){grid-area:popularity!important;align-self:start!important}
  .kirin-review-result-row>:nth-child(4){grid-area:odds!important;align-self:start!important}
  .kirin-review-result-row>:nth-child(5){grid-area:time!important;align-self:start!important}
  .kirin-review-result-row>*{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.45!important;
    transform:none!important;
  }
  .kirin-review-result-row>strong{font-weight:800!important;white-space:nowrap!important}
  .kirin-review-result-horse{font-weight:800!important}
}

/* Sprint39 final UI system: the Home race block is the shared source of truth. */
.kirin-race-identity{min-width:0;display:grid;gap:0;text-align:left}
.kirin-race-identity h1{margin:0;font-size:28px;line-height:1.25;letter-spacing:.02em}
.kirin-race-meta-line,.kirin-screen-context{margin:0 0 9px;color:var(--muted);font-size:13px;line-height:1.35}
.kirin-screen-context{margin-bottom:9px}
.kirin-race-details{margin:8px 0 0;color:#c7d0c8;font-size:13px;line-height:1.4}
.kirin-race-title{display:inline}
.kirin-metric-label{display:flex;align-items:center;gap:7px;min-width:0}
.kirin-metric-judgement-index{flex:0 0 auto;padding:3px 7px;border:1px solid #806a22;border-radius:999px;color:var(--gold-soft);font-size:9px;font-style:normal;line-height:1.1;white-space:nowrap}
.kirin-analysis-capability-grid>.kirin-metric{align-items:flex-start;text-align:left}
.kirin-analysis-capability-grid>.kirin-metric .kirin-metric-label,
.kirin-analysis-capability-grid>.kirin-metric small,
.kirin-analysis-capability-grid>.kirin-metric strong,
.kirin-analysis-capability-grid>.kirin-metric>span{text-align:left}

@media(max-width:720px){
  .kirin-race-header{row-gap:8px!important}
  .kirin-race-identity h1{margin:0!important;font-size:22px;line-height:1.25}
  .kirin-race-meta-line,.kirin-screen-context{margin:0 0 8px;font-size:12px;line-height:1.35}
  .kirin-race-details{margin:0;font-size:12px;line-height:1.4}

  /* B案: 上段2列、下段3列。全カードの高さ・内側余白・文字揃えを固定。 */
  .kirin-analysis-capability-grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:104px!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric{
    grid-column:span 2!important;
    width:auto!important;
    min-height:104px!important;
    height:104px!important;
    margin:0!important;
    padding:14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric:nth-child(1),
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric:nth-child(2){grid-column:span 3!important}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric .kirin-metric-label,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric small,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric strong,
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric>span{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:flex-start!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric .kirin-metric-label{display:flex!important;align-items:center;gap:5px}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric strong{font-size:26px!important;line-height:1!important}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric .kirin-metric-judgement-index{display:inline-block!important;width:auto!important;font-size:8px!important}

  /* 全着順はメタ情報を1行にまとめ、未取得のdashを出さない。 */
  .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"rank horse" ". meta" ". time"!important;
    min-height:0!important;
    height:auto!important;
    padding:12px 10px!important;
    row-gap:5px!important;
    align-items:start!important;
    line-height:1.35!important;
  }
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important}
  .kirin-review-result-row>:nth-child(3){grid-area:meta!important;display:inline!important}
  .kirin-review-result-row>:nth-child(4){grid-area:meta!important;display:inline!important;margin-left:8px!important}
  .kirin-review-result-row>:nth-child(5){grid-area:time!important}
  .kirin-review-result-row>:nth-child(n+3){min-width:0!important;height:auto!important;margin-top:0!important;padding:0!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}
}

@media(max-width:390px){
  .kirin-race-identity h1{font-size:20px}
  .kirin-race-meta-line,.kirin-screen-context,.kirin-race-details{font-size:11px}
  .kirin-analysis-capability-grid{grid-auto-rows:96px!important;gap:6px!important}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric{min-height:96px!important;height:96px!important;padding:10px!important;gap:7px!important}
  .kirin-analysis-capability-grid>.kirin-analysis-capability-metric strong{font-size:22px!important}
}

/* Sprint40 Phase4-③D: PC review results use one shared five-column contract. */
@media(min-width:1281px){
  .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:44px minmax(150px,1.4fr) 62px 92px minmax(70px,.7fr)!important;
    grid-template-areas:none!important;
    grid-template-rows:none!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px 12px!important;
  }
  .kirin-review-result-row>*{
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .kirin-review-result-row>.kirin-review-result-horse{display:flex!important}
  .kirin-review-result-head{color:var(--muted)!important;font-size:9px!important;background:#0c100d!important}
  .kirin-review-result-head>*{font-weight:700!important;color:var(--muted)!important}
  .kirin-review-result-row>:nth-child(3),
  .kirin-review-result-row>:nth-child(4),
  .kirin-review-result-row>:nth-child(5){text-align:right!important;font-variant-numeric:tabular-nums}
  .kirin-review-result-row>:nth-child(5){color:#d8dfd9!important;font-weight:700!important}
}

@media(max-width:600px){
  .kirin-review-result-row{
    grid-template-columns:44px minmax(0,1fr) minmax(0,max-content)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"rank horse horse" ". popularity odds" ". time time"!important;
  }
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important}
  .kirin-review-result-row>:nth-child(3){grid-area:popularity!important;white-space:nowrap!important}
  .kirin-review-result-row>:nth-child(4){grid-area:odds!important;margin:0!important;white-space:nowrap!important}
  .kirin-review-result-row>:nth-child(5){grid-area:time!important}
  .kirin-review-result-row>:nth-child(n+3){width:auto!important;max-width:100%!important}
}

/* Sprint39 final QA: one shared race identity block and the actual iPhone DOM. */
.kirin-review-header .kirin-breadcrumb{margin:0 0 9px;color:var(--muted);font-size:13px;line-height:1.35}
.kirin-review-header h1{margin:0;font-size:28px;line-height:1.25;letter-spacing:.02em}
.kirin-review-result-meta{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

@media(max-width:720px){
  .kirin-race-identity{gap:0!important}
  .kirin-race-meta-line,.kirin-screen-context{margin:0 0 8px!important}
  .kirin-race-details{margin:0!important;white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important}

  /* B案 is explicit: first two cards span half-width, last three span one third. */
  .kirin-analysis-capability-grid[data-capability-layout="b"]{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:104px 104px!important;
    grid-auto-rows:104px!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{
    grid-column:span 2!important;
    grid-row:auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:104px!important;
    height:104px!important;
    margin:0!important;
    padding:14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(1),
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(2){grid-column:span 3!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric .kirin-metric-label,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric small,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong,
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric>span{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:flex-start!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric .kirin-metric-label{display:flex!important;align-items:center!important;gap:5px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong{display:flex!important;align-items:baseline!important;justify-content:flex-start!important;font-size:24px!important;line-height:1!important}

  .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"rank horse" ". meta" ". time"!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:10px!important;
    gap:4px 10px!important;
    align-items:start!important;
    line-height:1.35!important;
  }
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important}
  .kirin-review-result-row>:nth-child(3){grid-area:meta!important;display:block!important;width:100%!important}
  .kirin-review-result-row>:nth-child(4){display:none!important}
  .kirin-review-result-row>:nth-child(5){grid-area:time!important}
  .kirin-review-result-row>*{min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}
  .kirin-review-result-row>strong{white-space:nowrap!important}
  .kirin-review-result-meta{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .kirin-review-header .kirin-breadcrumb{margin-bottom:8px;font-size:12px;line-height:1.35}
  .kirin-review-header h1{font-size:22px;line-height:1.25}
}

@media(max-width:390px){
  .kirin-analysis-capability-grid[data-capability-layout="b"]{grid-template-rows:96px 96px!important;grid-auto-rows:96px!important;gap:6px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{min-height:96px!important;height:96px!important;padding:10px!important;gap:7px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric strong{font-size:22px!important}
  .kirin-review-header .kirin-breadcrumb{font-size:11px}
  .kirin-review-header h1{font-size:20px}
}

/* Final cascade for the shared Sprint39 rules. */
@media(max-width:720px){
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{grid-column:span 2!important;grid-row:2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(1){grid-column:1 / span 3!important;grid-row:1!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(2){grid-column:4 / span 3!important;grid-row:1!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(3){grid-column:1 / span 2!important;grid-row:2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(4){grid-column:3 / span 2!important;grid-row:2!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric:nth-child(5){grid-column:5 / span 2!important;grid-row:2!important}

  .kirin-review-result-row{grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;grid-template-areas:"rank horse" ". meta" ". time"!important;padding:10px!important;gap:4px 10px!important}
  .kirin-review-result-row>:nth-child(1){grid-area:rank!important}
  .kirin-review-result-row>:nth-child(2){grid-area:horse!important}
  .kirin-review-result-row>:nth-child(3){grid-area:meta!important;display:block!important;width:100%!important}
  .kirin-review-result-row>:nth-child(4){grid-area:time!important;display:block!important;width:100%!important}
  .kirin-review-result-row>:nth-child(n+3){min-width:0!important;max-width:100%!important;height:auto!important;margin:0!important;padding:0!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}
  .kirin-review-result-meta{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
@media(max-width:390px){
  .kirin-analysis-capability-grid[data-capability-layout="b"]{grid-template-rows:96px 96px!important;grid-auto-rows:96px!important;gap:6px!important}
  .kirin-analysis-capability-grid[data-capability-layout="b"]>.kirin-analysis-capability-metric{height:96px!important;min-height:96px!important;padding:10px!important;gap:7px!important}
}

@media(max-width:720px){.kirin-recommended-horses ul{grid-template-columns:repeat(2,minmax(0,1fr))}.kirin-recommended-horses li{padding:8px}.kirin-recommended-horse-main{display:flex;align-items:center;gap:8px;min-width:0}.kirin-recommended-role{display:block;margin-left:30px;color:#b8c1ba;font-size:11px;line-height:1.25;overflow-wrap:anywhere}.kirin-recommended-horses strong{font-size:11px}}
@media(max-width:420px){.kirin-recommended-horses ul{grid-template-columns:1fr}}
.kirin-recommended-tickets{grid-column:1 / -1;padding:14px 16px;border:1px solid var(--line-soft);border-radius:12px;background:linear-gradient(145deg,#10130f,#0a0d0b)}.kirin-recommended-tickets h2{margin:0 0 10px;color:var(--gold-soft);font-size:14px}.kirin-recommended-tickets ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.kirin-recommended-tickets li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:3px 10px;padding:9px 10px;border:1px solid var(--line-soft);border-radius:10px;background:#0b0e0b}.kirin-recommended-tickets li>strong{color:var(--gold-soft);font-size:12px}.kirin-recommended-tickets li>span{min-width:0;color:#edf1ed;font-size:12px;overflow-wrap:anywhere}.kirin-recommended-tickets li>small{grid-column:2;color:#b8c1ba;font-size:10px;line-height:1.35}

/* iPad portrait only: keep the race title on one line without reducing its size. */
@media(min-width:721px) and (max-width:1024px) and (orientation:portrait){
  .kirin-race-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  .kirin-race-identity h1,
  .kirin-race-title,
  .kirin-review-header h1{
    white-space:nowrap!important;
  }
  .kirin-race-header .kirin-status{justify-self:start}
}
/* Sprint40 Home data contract: subdued horse-number chips and resilient ticket text. */
.kirin-horse-number-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;border:1px solid #75612b;border-radius:4px;background:#211f18;color:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;box-sizing:border-box}
.kirin-horse-number-chip--frame-1{background:#c8c4b9;border-color:#817d73;color:#111}
.kirin-horse-number-chip--frame-2{background:#242523;border-color:#4b4d48;color:#fff}
.kirin-horse-number-chip--frame-3{background:#543035;border-color:#704047;color:#fff}
.kirin-horse-number-chip--frame-4{background:#2d4052;border-color:#435b70;color:#fff}
.kirin-horse-number-chip--frame-5{background:#6c6035;border-color:#897b45;color:#fff}
.kirin-horse-number-chip--frame-6{background:#304a3c;border-color:#456454;color:#fff}
.kirin-horse-number-chip--frame-7{background:#5c4737;border-color:#775d48;color:#fff}
.kirin-horse-number-chip--frame-8{background:#5c4955;border-color:#766171;color:#fff}
.kirin-pick .kirin-horse-number-chip{margin:0 2px;font-size:12px}
.kirin-ticket-formation{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;line-height:1.8}
.kirin-ticket-selections{display:flex;flex-wrap:wrap;gap:4px;min-height:0}.kirin-ticket-combination{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid var(--line-soft);border-radius:6px}.kirin-ticket-separator{color:#9fa99f;font-size:11px}
.kirin-ticket-formation .kirin-horse-number-chip{vertical-align:middle}
.kirin-ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kirin-ticket-card{display:grid;justify-items:start;align-content:start;gap:5px;min-width:0;padding:8px;border:1px solid var(--line-soft);border-radius:10px;background:#0b0e0b;text-align:left}
.kirin-ticket-card>strong{color:var(--gold-soft);font-size:12px}
.kirin-ticket-card>small{color:#b8c1ba;font-size:10px;line-height:1.35}
.kirin-other-tickets{margin-top:6px;border-top:1px solid var(--line-soft);padding-top:5px}
.kirin-other-tickets>summary{cursor:pointer;color:var(--gold-soft);font-size:12px;font-weight:700;text-align:center;list-style:none}
.kirin-other-tickets>summary::-webkit-details-marker{display:none}
.kirin-other-tickets>summary::before{content:'▼';display:inline-block;margin-right:6px;font-size:9px;transition:transform .18s ease}
.kirin-other-tickets[open]>summary::before{transform:rotate(180deg)}
.kirin-other-ticket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}
.kirin-summary-pick{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;vertical-align:middle}
.kirin-summary-pick .kirin-recommended-mark{font-weight:800;line-height:1}
.kirin-recommended-mark{height:28px;line-height:1;font-weight:800}
.kirin-recommended-horse-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:36px;gap:4px;line-height:1}
.kirin-recommended-horse-main .kirin-recommended-mark,.kirin-recommended-horse-main .kirin-recommended-number,.kirin-recommended-horse-main .kirin-recommended-name{align-self:center;line-height:1}
.kirin-recommended-number{display:grid;place-items:center;flex:0 0 auto;min-width:22px;height:22px;border-radius:6px;background:rgba(215,181,74,.1);color:#d7c574;font-size:11px;font-weight:700}
.kirin-recommended-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}
.kirin-recommended-mark{width:20px;height:22px;display:grid;place-items:center;flex:0 0 20px;line-height:1;font-size:16px;font-weight:800}
.kirin-recommended-horse-main>.kirin-recommended-mark{align-self:center;place-items:center}
.kirin-recommended-horse-main .kirin-horse-number-chip{align-self:center}
.kirin-recommended-horse-main .kirin-recommended-number{min-width:22px;width:22px;height:22px;padding:0;margin:0;line-height:1}
.kirin-recommended-horse-main .kirin-recommended-name{margin:0;padding:0}
.kirin-detail-home-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kirin-detail-home-panel--investment{grid-column:1;grid-row:1}
.kirin-detail-home-panel--value{grid-column:2;grid-row:1}
.kirin-detail-home-panel--risk{grid-column:1;grid-row:2}
.kirin-detail-home-panel--evidence{grid-column:2;grid-row:2}
.kirin-detail-home-panel--wide,.kirin-detail-home-footer{grid-column:1 / -1}
.kirin-detail-home-panel{min-width:0}
.kirin-detail-home-panel--wide{grid-column:1 / -1!important;grid-row:auto!important}
/* Phase14-F: HOME判断詳細は4要素を常に2列×2行で表示する。 */
.kirin-detail-home-content{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:stretch}
.kirin-detail-home-content>.kirin-detail-home-panel{grid-column:auto!important;grid-row:auto!important;display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:#0a0d0b;color:#c9d1ca}
.kirin-detail-home-panel>small{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;line-height:1.25}
.kirin-detail-home-panel>strong,.kirin-detail-home-panel>p{margin:0;color:#edf1ed;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.kirin-detail-home-panel>p{color:#c9d1ca;font-size:11px}
.kirin-detail-home-panel--value>strong{color:#d7c574}
.kirin-detail-home-panel--wide,.kirin-detail-home-footer{grid-column:1 / -1!important}

@media(max-width:720px){
  .kirin-detail-home-content{grid-template-columns:1fr}
  .kirin-detail-home-content>.kirin-detail-home-panel{grid-column:1;grid-row:auto}
}
@media(max-width:720px){.kirin-ticket-grid{grid-template-columns:1fr}.kirin-other-ticket-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.kirin-other-ticket-grid{grid-template-columns:1fr}}

/* Sprint40 Phase3 display contract: ◎ is the only colored mark; all other marks are white. */
.kirin-recommended-mark--◎,.kirin-mark{color:#d85b5b!important}
.kirin-recommended-mark--○,.kirin-recommended-mark--▲,.kirin-recommended-mark--△,.kirin-recommended-mark--☆{color:#f1f3ef!important}
.kirin-ticket-card>strong{justify-self:start}


/* Sprint40 Phase2-⑩T: race-management action roles */
.kirin-race-management-actions .kirin-race-management-action{background:#252a2e;border:1px solid #596168;color:#e6e9eb}
.kirin-race-management-actions .kirin-race-management-action:hover{background:#30363b}
.kirin-race-management-actions .kirin-race-management-action:focus-visible{outline:2px solid #9aaab2;outline-offset:2px}
.kirin-race-management-actions .kirin-race-management-action--result{background:#234d35;border-color:#3f7a56;color:#fff}
.kirin-race-management-actions .kirin-race-management-action--result:hover{background:#2d6143}
.kirin-race-management-actions .kirin-race-management-action--result:focus-visible{outline-color:#6db487}
.kirin-race-management-actions .kirin-race-management-action--status{background:#303030;border-color:#606060;color:#e5e5e5}
.kirin-race-management-actions .kirin-race-management-action--status:hover{background:#3b3b3b}
.kirin-race-management-actions .kirin-race-management-action--export{background:#332c1c;border-color:#9a7d37;color:#dcc47a}
.kirin-race-management-actions .kirin-race-management-action--export:hover{background:#413823}


/* Sprint40 Review shared prediction-mark restoration */
.kirin-review-horse-line>.kirin-review-prediction-mark{color:#d85b5b!important;font-style:normal!important;font-weight:800!important}

/* Sprint40 PC Review frame-color regression repair START */
@media (min-width:1281px){
  /*
   * PC Review only.
   * The comparison renderer already contains the real frame-aware chip
   * (.kirin-review-ipad-horse-chip > .kirin-horse-number-chip--frame-N),
   * but PC was showing the legacy plain <b> horse number instead.
   * Use the shared frame-aware chip on PC too. iPad/phone remain untouched.
   */
  .kirin-review-comparison-horse>b{
    display:none!important;
  }
  .kirin-review-comparison-horse>.kirin-review-ipad-horse-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  .kirin-review-comparison-horse .kirin-horse-number-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    padding:0!important;
    border-radius:4px!important;
    font-size:11px!important;
    line-height:1!important;
  }

  /* JRA frame-number text contract: frame 1 black, frames 2-8 white. */
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-1,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-1{
    color:#111!important;
    text-shadow:none!important;
  }
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-2,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-3,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-4,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-5,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-6,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-7,
  .kirin-review-comparison-horse .kirin-horse-number-chip--frame-8,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-2,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-3,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-4,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-5,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-6,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-7,
  .kirin-review-result-top-block .kirin-horse-number-chip--frame-8{
    color:#fff!important;
    text-shadow:0 1px 1px rgba(0,0,0,.45)!important;
  }
}
/* Sprint40 PC Review frame-color regression repair END */

/* Sprint40 Review unmarked-horse alignment START */
/*
 * horseLabel() now always reserves one prediction-mark element.
 * Only the empty placeholder needs geometry; marked horses keep existing styling.
 * Scope: PC + iPad portrait, where the no-mark shift was reproduced.
 */
@media (min-width:1281px),
       (min-width:721px) and (max-width:1024px) and (orientation:portrait){
  .kirin-review-room .kirin-review-prediction-mark--placeholder{
    display:inline-block!important;
    visibility:hidden!important;
    width:1em!important;
    min-width:1em!important;
    flex:0 0 1em!important;
  }
}
/* Sprint40 Review unmarked-horse alignment END */

/* Sprint40 Review horse-line three-column alignment START */
@media (min-width:1281px){
  .kirin-review-room .kirin-review-horse-line{
    display:grid!important;
    grid-template-columns:18px 24px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:6px!important;
    min-width:0!important;
  }
  .kirin-review-room .kirin-review-horse-line>.kirin-review-prediction-mark{
    display:inline-grid!important;
    place-items:center!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    margin:0!important;
    padding:0!important;
  }
  .kirin-review-room .kirin-review-horse-line>.kirin-review-prediction-mark--placeholder{
    visibility:hidden!important;
  }
  .kirin-review-room .kirin-review-horse-line>.kirin-horse-number-chip{
    justify-self:start!important;
    margin:0!important;
  }
  .kirin-review-room .kirin-review-horse-line>span:last-child{
    min-width:0!important;
    margin:0!important;
  }
}
/* Sprint40 Review horse-line three-column alignment END */
