/* Sprint40 iPad landscape Home Phase1
   Isolation contract:
   - ONLY 981px..1180px landscape
   - PC >=1181px is untouched
   - <=980px is untouched
   - Home top decision composition follows the iPad Pro visual contract
   - Mini/Air density is tuned inside this owner; no shared renderer/DOM change.
*/
@media (min-width:981px) and (max-width:1180px) and (orientation:landscape){
  :root{--sidebar:200px}

  .kirin-main{padding:16px}

  /* Home: preserve the iPad Pro composition on Air/Mini.
     1024px gets a narrower left judgement column and tighter typography,
     while 1180px keeps more breathing room. */
  .kirin-race-screen .kirin-decision-card{
    grid-template-columns:clamp(220px,24vw,270px) minmax(0,1fr)!important;
    grid-template-areas:
      "main metrics"
      "main reasons"
      "support support"
      "detail detail"
      "horses horses"
      "tickets tickets"!important;
    gap:10px!important;
    padding:10px!important;
  }

  .kirin-race-screen .kirin-decision-main{
    grid-area:main!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    min-width:0!important;
    min-height:0!important;
    padding:clamp(14px,1.7vw,20px)!important;
  }

  .kirin-race-screen .kirin-decision-heading{
    gap:6px!important;
    margin-bottom:8px!important;
  }

  .kirin-race-screen .kirin-eyebrow{
    font-size:clamp(10px,1.05vw,12px)!important;
  }

  .kirin-race-screen .kirin-decision-state{
    font-size:8px!important;
    padding:3px 6px!important;
  }

  .kirin-race-screen .kirin-score{
    font-size:clamp(58px,6.2vw,72px)!important;
  }

  .kirin-race-screen .kirin-score span{
    font-size:13px!important;
  }

  .kirin-race-screen .kirin-rank{
    gap:8px!important;
    margin:11px 0!important;
  }

  .kirin-race-screen .kirin-rank span{
    padding:4px 8px!important;
    font-size:10px!important;
  }

  .kirin-race-screen .kirin-rank strong{
    font-size:clamp(11px,1.05vw,13px)!important;
  }

  .kirin-race-screen .kirin-pick{
    gap:7px!important;
    font-size:clamp(15px,1.55vw,19px)!important;
  }

  .kirin-race-screen .kirin-mark{
    font-size:21px!important;
  }

  .kirin-race-screen .kirin-number{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
  }

  .kirin-race-screen .kirin-metrics{
    grid-area:metrics!important;
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    min-width:0!important;
    align-content:stretch!important;
  }

  .kirin-race-screen .kirin-metric{
    min-width:0!important;
    min-height:78px!important;
    padding:9px 10px!important;
    gap:5px!important;
  }

  .kirin-race-screen .kirin-metric small{
    font-size:9px!important;
    line-height:1.25!important;
  }

  .kirin-race-screen .kirin-metric strong{
    font-size:clamp(17px,1.8vw,22px)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }

  .kirin-race-screen .kirin-investment-values{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
  }

  .kirin-race-screen .kirin-investment-values>span{
    gap:2px!important;
  }

  .kirin-race-screen .kirin-investment-values>span+span{
    padding-left:5px!important;
  }

  .kirin-race-screen .kirin-investment-values em{
    font-size:8px!important;
  }

  .kirin-race-screen .kirin-investment-values strong{
    font-size:clamp(14px,1.45vw,18px)!important;
    white-space:nowrap!important;
  }

  .kirin-race-screen .kirin-reasons{
    grid-area:reasons!important;
    grid-column:2!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-reason--positive,
  .kirin-race-screen .kirin-reason--caution{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
    padding:10px 11px!important;
  }

  .kirin-race-screen .kirin-reason h3{
    gap:5px!important;
    margin-bottom:6px!important;
    font-size:clamp(11px,1.08vw,13px)!important;
  }

  .kirin-race-screen .kirin-reason-icon{
    width:17px!important;
    height:17px!important;
    flex-basis:17px!important;
    font-size:13px!important;
  }

  .kirin-race-screen .kirin-reason ul{
    padding-left:16px!important;
    font-size:clamp(9px,.92vw,11px)!important;
    line-height:1.42!important;
  }

  .kirin-race-screen .kirin-decision-support{
    grid-area:support!important;
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.65fr) minmax(230px,.85fr)!important;
    gap:9px!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-decision-summary,
  .kirin-race-screen .kirin-recommended-action{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .kirin-race-screen .kirin-decision-detail,
  .kirin-race-screen .kirin-decision-detail-home{
    grid-area:detail!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-recommended-horses{
    grid-area:horses!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-recommended-tickets{
    grid-area:tickets!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
  }

  .kirin-race-screen .kirin-recommended-horses ul,
  .kirin-race-screen .kirin-ticket-grid,
  .kirin-race-screen .kirin-other-ticket-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }


/* Phase3: iPad landscape shared five-page header density */
/*
  Shared race identity: Home / Race / Analysis
  Review: legacy review header contract
  Settings: settings header contract
  Scope remains ONLY 981px..1180px landscape.
*/
.kirin-race-info{
  padding:14px!important;
}
.kirin-race-info__meta,
.kirin-race-info__summary{
  font-size:12px!important;
}
.kirin-race-info__title{
  font-size:32px!important;
}

.kirin-review-header{
  padding:14px!important;
}
.kirin-review-header .kirin-breadcrumb,
.kirin-review-header>div>p:last-child{
  font-size:12px!important;
}
.kirin-review-header h1{
  font-size:32px!important;
}

.kirin-settings-header{
  padding:14px!important;
}
.kirin-settings-header .kirin-breadcrumb,
.kirin-settings-header>div>p:last-child{
  font-size:12px!important;
}
.kirin-settings-header h1{
  font-size:32px!important;
}


/* Phase3B: iPad landscape Race + Settings header correction */
/* Race page uses .kirin-races-header, not .kirin-race-info. */
.kirin-races-header{
  padding:14px!important;
}
.kirin-races-header .kirin-breadcrumb,
.kirin-races-header>div>p:last-child{
  font-size:12px!important;
}
.kirin-races-header h1{
  font-size:32px!important;
}

/* Settings selector was correct; force the three requested text lines explicitly. */
.kirin-settings-header{
  padding:14px!important;
}
.kirin-settings-header .kirin-breadcrumb,
.kirin-settings-header>div>p:last-child{
  font-size:12px!important;
}
.kirin-settings-header h1{
  font-size:32px!important;
}


/* Phase4: iPad landscape Race card vertical density */
/* Scope: Race page only. Keep typography, badges and 2-column layout unchanged. */
.kirin-races-card{
  min-height:82px!important;
  padding:9px 11px!important;
  gap:4px!important;
  align-content:center!important;
}
.kirin-races-card-heading{
  gap:3px!important;
}
.kirin-races-grid{
  gap:7px!important;
}


/* Phase5: iPad landscape Review visual contract */
/* Review only; PC / portrait / phone retain their existing markup and styles. */
.kirin-review-horse-line>.kirin-review-prediction-mark{color:#d85b5b!important;font-style:normal!important;font-weight:800!important}
.kirin-review-horse-line>em{display:none!important}
.kirin-review-horse-line>.kirin-review-ipad-horse-chip{display:inline-flex!important;align-items:center!important}
.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}
.kirin-review-comparison-horse .kirin-horse-number-chip{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border-radius:4px!important;font-size:11px!important;line-height:1!important}
.kirin-review-result-top-block .kirin-review-finisher>strong .kirin-horse-number-chip{width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;border-radius:4px!important;font-size:11px!important;line-height:1!important}
.kirin-review-result-payout-block .kirin-ticket-combination{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

/* Phase6: iPad landscape Review top3 alignment + payout density */
/* Only the two user-requested Review adjustments. */
.kirin-review-result-top-block .kirin-review-finisher{align-items:center!important}
.kirin-review-result-top-block .kirin-review-finisher>strong{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
.kirin-review-result-top-block .kirin-review-finisher>strong .kirin-horse-number-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;vertical-align:middle!important;position:static!important;transform:none!important;margin:0!important;line-height:1!important}
.kirin-review-result-payout-block .kirin-review-payout-grid{gap:8px!important}
.kirin-review-result-payout-block .kirin-review-payout-card{padding:10px 12px!important;min-height:0!important}
.kirin-review-result-payout-block .kirin-review-payout-card>strong{margin-bottom:6px!important}
.kirin-review-result-payout-block .kirin-review-payout-card ul{gap:4px!important;margin-top:4px!important;margin-bottom:0!important}
.kirin-review-result-payout-block .kirin-review-payout-card li{min-height:0!important;padding-block:1px!important;line-height:1.35!important}

/* Phase7: iPad landscape Review top3 gate + tighter payout */
/* Only top3 visual contract + payout vertical density. */
.kirin-review-result-payout-block .kirin-review-payout-grid{align-items:start!important;gap:7px!important}
.kirin-review-result-payout-block .kirin-review-payout-card{align-self:start!important;padding:7px 10px!important;min-height:0!important}
.kirin-review-result-payout-block .kirin-review-payout-card>strong{margin:0 0 3px!important;line-height:1.15!important}
.kirin-review-result-payout-block .kirin-review-payout-card ul{display:grid!important;gap:0!important;margin:0!important;padding:0!important}
.kirin-review-result-payout-block .kirin-review-payout-card li{min-height:0!important;padding:0!important;margin:0!important;line-height:1.15!important}
.kirin-review-result-payout-block .kirin-review-payout-card li+li{margin-top:2px!important}

/* Phase8: iPad landscape Review top3 text color + payout compact */
/* User-requested changes only. */
/* Top3: JRA frame-number text contract = frame 1 black, frames 2-8 white. */
.kirin-review-result-top-block .kirin-horse-number-chip--frame-1{color:#111!important;text-shadow:none!important}
.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}

/* Payout: tighten vertical rhythm further without changing font size. */
.kirin-review-result-payout-block{padding-top:0!important}
.kirin-review-result-payout-block .kirin-review-payout-grid{gap:6px!important;row-gap:6px!important}
.kirin-review-result-payout-block .kirin-review-payout-card{padding:6px 10px!important}
.kirin-review-result-payout-block .kirin-review-payout-card>strong{margin:0 0 2px!important;line-height:1!important}
.kirin-review-result-payout-block .kirin-review-payout-card ul{gap:0!important;margin:0!important}
.kirin-review-result-payout-block .kirin-review-payout-card li{padding:0!important;margin:0!important;min-height:0!important;line-height:1.05!important}
.kirin-review-result-payout-block .kirin-review-payout-card li+li{margin-top:0!important}

/* Phase9: iPad landscape race-tree selected race subline */
.kirin-race-item > span{
  display:none!important;
}

/* Phase10: iPad landscape race-tree race-name size */
.kirin-race-item > strong{
  font-size:11px!important;
}
}


/* Sprint40 Final QA v1 */
/* Theme 1: iPad Landscape Review
   - Remove the payout separator that visually overlaps the "払戻" heading.
   - Give the AI recommended-ticket column slightly more width so the
     Trifecta "(8点)" suffix stays together at 1024/1180 landscape.
   - Scope: Review only, 981..1180 landscape.
*/
@media (min-width:981px) and (max-width:1180px) and (orientation:landscape){
  .kirin-review-room .kirin-review-result-payout-block{
    border-top:0!important;
    padding-top:0!important;
  }

  .kirin-review-room .kirin-review-sections{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .kirin-review-room .kirin-review-recommended-panel{
    min-width:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .kirin-review-room .kirin-review-recommended-panel .kirin-ticket-card>strong{
    word-break:keep-all!important;
  }

  .kirin-review-room .kirin-review-recommended-panel .kirin-ticket-card{
    min-width:0!important;
  }
}

/* Shared dark scrollbar contract for iPad landscape.
   Applies to both the page scrollbar and scrollable sidebar/race tree. */
@media (min-width:981px) and (max-width:1180px) and (orientation:landscape){
  html,
  body,
  .kirin-sidebar,
  .kirin-race-list{
    scrollbar-color:#343a35 #0a0d0b;
    scrollbar-width:thin;
  }
  html::-webkit-scrollbar,
  body::-webkit-scrollbar,
  .kirin-sidebar::-webkit-scrollbar,
  .kirin-race-list::-webkit-scrollbar{
    width:8px;
    height:8px;
  }
  html::-webkit-scrollbar-track,
  body::-webkit-scrollbar-track,
  .kirin-sidebar::-webkit-scrollbar-track,
  .kirin-race-list::-webkit-scrollbar-track{
    background:#0a0d0b;
  }
  html::-webkit-scrollbar-thumb,
  body::-webkit-scrollbar-thumb,
  .kirin-sidebar::-webkit-scrollbar-thumb,
  .kirin-race-list::-webkit-scrollbar-thumb{
    background:#343a35;
    border:2px solid #0a0d0b;
    border-radius:999px;
  }
}

/* === Sprint40 Final QA exact repair v2: iPad Pro landscape Review BEGIN === */
@media (min-width:1181px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  #review-result .kirin-review-result-top-block .kirin-review-finishers{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #review-result .kirin-review-result-top-block .kirin-review-finisher{
    grid-template-columns:42px minmax(0,1fr) max-content!important;
    min-width:0!important;
  }
  #review-result .kirin-review-result-top-block .kirin-review-finisher>strong{
    min-width:0!important;
  }
  #review-result .kirin-review-result-top-block .kirin-review-finisher>strong span{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
}
/* === Sprint40 Final QA exact repair v2: iPad Pro landscape Review END === */

/* === Sprint40 iPad Pro landscape triple-ticket 2-column BEGIN === */
@media (min-width:1181px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .kirin-race-screen .kirin-ticket-card--triple .kirin-ticket-formation{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,max-content))!important;
    grid-auto-flow:row!important;
    justify-content:start!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:6px!important;
    line-height:1.2!important;
  }

  .kirin-race-screen .kirin-ticket-card--triple .kirin-ticket-separator{
    display:none!important;
  }

  .kirin-race-screen .kirin-ticket-card--triple .kirin-ticket-combination{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
  }

  .kirin-race-screen .kirin-ticket-card--triple .kirin-ticket-combination:nth-child(4n + 3)::before{
    content:"/"!important;
    display:inline-block!important;
    margin-right:8px!important;
    color:#7f8a82!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1!important;
  }
}
/* === Sprint40 iPad Pro landscape triple-ticket 2-column END === */
