/* K.I.R.I.N. Sprint40
 * iPhone Review canonical owner
 *
 * Scope:
 *   - iPhone only: max-width:390px
 *   - Review only: .kirin-review-room
 *
 * Ownership:
 *   - This file is the single final override layer for iPhone Review.
 *   - Do not append historical phase patches below this file.
 *   - Shared Review CSS / renderers / data contracts remain outside this owner.
 *
 * Sections:
 *   01 Page / Header
 *   02 Summary / Navigation
 *   03 Shared panel rhythm
 *   04 Race result / top3
 *   05 Full standings
 *   06 Payout
 *   07 AI recommended bets
 *   08 Decision comparison
 *   09 Cause analysis
 *   10 AI improvement
 *   11 Footer
 */

@media screen and (max-width:480px){

  /* 01 Page / Header */
  .kirin-review-room{
    width:100%;
    max-width:100%;
    min-width:0;
    display:grid;
    gap:10px;
    overflow-x:hidden;
  }
  .kirin-review-room,
  .kirin-review-room *{box-sizing:border-box}
  .kirin-review-room .kirin-review-header,
  .kirin-review-room .kirin-review-panel{
    min-width:0;
    max-width:100%;
  }
  .kirin-review-room .kirin-review-header{
    display:grid;
    gap:3px;
    min-height:0;
    padding:14px 16px;
    border-radius:14px;
  }
  .kirin-review-room .kirin-review-header .kirin-breadcrumb{
    margin:0;
    font-size:10px;
    line-height:1.35;
  }
  .kirin-review-room .kirin-review-header h1{
    margin:3px 0 0;
    font-size:22px;
    line-height:1.22;
    letter-spacing:0;
  }
  .kirin-review-room .kirin-review-header>div>p:last-child{
    margin:3px 0 0;
    font-size:10px;
    line-height:1.45;
  }

  /* 02 Summary / Navigation */
  .kirin-review-room .kirin-review-summary{
    grid-template-columns:1fr;
    gap:0;
    min-width:0;
    padding:0 14px;
  }
  .kirin-review-room .kirin-review-summary>div{
    min-width:0;
    min-height:0;
    padding:12px 0;
    border:0;
    border-radius:0;
    background:none;
  }
  .kirin-review-room .kirin-review-summary>div+div{
    border-top:1px solid rgba(194,157,58,.18);
  }
  .kirin-review-room .kirin-review-summary small{
    margin:0;
    font-size:9px;
  }
  .kirin-review-room .kirin-review-summary strong{
    min-width:0;
    font-size:15px;
    overflow-wrap:anywhere;
  }
  .kirin-review-room .kirin-review-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:8px;
  }
  .kirin-review-room .kirin-review-nav a{
    min-width:0;
    min-height:54px;
    padding:10px;
  }

  /* 03 Shared panel rhythm */
  .kirin-review-room .kirin-review-sections,
  .kirin-review-room .kirin-review-result-comparison{
    grid-template-columns:1fr;
    gap:10px;
    min-width:0;
  }
  .kirin-review-room .kirin-review-panel{
    padding:13px;
    border-radius:14px;
  }
  .kirin-review-room .kirin-review-panel-heading{
    align-items:flex-start;
    gap:8px;
    margin-bottom:10px;
  }
  .kirin-review-room .kirin-review-panel-heading>div{min-width:0}
  .kirin-review-room .kirin-review-panel-heading h2{
    font-size:18px;
    line-height:1.25;
  }
  .kirin-review-room .kirin-review-panel-heading p{
    margin-top:4px;
    font-size:10px;
    line-height:1.45;
  }
  .kirin-review-room .kirin-review-panel-heading>span,
  .kirin-review-room .kirin-review-status{
    padding:4px 7px;
    font-size:8px;
    line-height:1.15;
  }

  /* 04 Race result / Top 3 */
  .kirin-review-room .kirin-review-result-top-block{padding-bottom:12px}
  .kirin-review-room .kirin-review-finishers{
    grid-template-columns:1fr;
    gap:7px;
  }
  .kirin-review-room .kirin-review-finisher{
    grid-template-columns:34px minmax(0,1fr) auto;
    grid-template-areas:"rank horse odds";
    min-width:0;
    min-height:54px;
    padding:9px 10px;
  }
  .kirin-review-room .kirin-review-finisher>.kirin-review-rank-icon{
    grid-area:rank;
    width:30px!important;
    min-width:30px!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    font-size:24px;
  }
  .kirin-review-room .kirin-review-finisher>strong{
    grid-area:horse;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    font-size:12px;
  }
  .kirin-review-room .kirin-review-finisher>strong .kirin-horse-number-chip{
    flex:0 0 auto;
    margin:0;
  }
  .kirin-review-room .kirin-review-finisher>small{
    grid-area:odds;
    align-self:center;
    justify-self:end;
    margin:0;
    font-size:9px;
    white-space:nowrap;
  }

  /* 05 Full standings */
  .kirin-review-room .kirin-review-all-results{
    max-width:100%;
    margin-top:9px;
    overflow:hidden;
  }
  .kirin-review-room .kirin-review-all-results>summary{
    min-height:38px;
    padding:8px 9px;
  }
  .kirin-review-room .kirin-review-result-table{
    width:100%;
    overflow:visible;
  }
  .kirin-review-room .kirin-review-result-head{display:none}
  .kirin-review-room .kirin-review-result-row{
    min-width:0;
    width:100%;
    grid-template-columns:34px minmax(0,1fr) auto;
    grid-template-areas:"rank horse time";
    gap:8px;
    min-height:0;
    padding:8px 10px;
    align-items:center;
    font-size:9px;
  }
  .kirin-review-room .kirin-review-result-row>strong{
    grid-area:rank;
    align-self:center;
    padding:0;
    font-size:11px;
  }
  .kirin-review-room .kirin-review-result-row>.kirin-review-result-horse{
    grid-area:horse;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    font-size:11px;
    line-height:1.25;
  }
  .kirin-review-room .kirin-review-result-row>.kirin-review-result-horse .kirin-horse-number-chip{
    flex:0 0 auto;
    margin:0;
  }
  .kirin-review-room .kirin-review-result-row>span:nth-child(3),
  .kirin-review-room .kirin-review-result-row>span:nth-child(4){
    display:none;
  }
  .kirin-review-room .kirin-review-result-row>span:nth-child(5){
    grid-area:time;
    justify-self:end;
    text-align:right;
    color:var(--muted);
    white-space:nowrap;
    line-height:1.2;
  }

  /* 06 Payout */
  .kirin-review-room .kirin-review-result-payout-block{padding-top:12px}
  .kirin-review-room .kirin-review-payout-grid,
  .kirin-review-room .kirin-review-payout-groups{
    grid-template-columns:1fr;
    gap:0;
  }
  .kirin-review-room .kirin-review-payout-group{
    min-width:0;
    padding:10px 2px;
    border:0;
    border-bottom:1px solid rgba(194,157,58,.18);
    border-radius:0;
    background:none;
  }
  .kirin-review-room .kirin-review-payout-group:last-child{border-bottom:0}
  .kirin-review-room .kirin-review-payout-group>strong{
    margin-bottom:5px;
    font-size:10px;
  }
  .kirin-review-room .kirin-review-payout-group>div{gap:0}
  .kirin-review-room .kirin-review-payout-group p{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    min-height:0;
    margin:0;
    padding:5px 0;
    border-bottom:1px solid rgba(144,159,148,.10);
  }
  .kirin-review-room .kirin-review-payout-group p:last-child{border-bottom:0}
  .kirin-review-room .kirin-review-payout-group span{font-size:11px}
  .kirin-review-room .kirin-review-payout-group em{
    min-width:0;
    font-size:10px;
    white-space:nowrap;
  }

  /* 07 AI recommended bets */
  .kirin-review-room .kirin-review-recommended-list{
    grid-template-columns:1fr;
    gap:6px;
  }
  .kirin-review-room .kirin-review-recommended-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"type status" "bet bet";
    gap:5px 10px;
    min-width:0;
    min-height:0;
    padding:8px 9px;
    align-items:start;
  }
  .kirin-review-room .kirin-review-recommended-row>strong{
    grid-area:type;
    font-size:10px;
  }
  .kirin-review-room .kirin-review-recommended-row>span{
    grid-area:bet;
    min-width:0;
    font-size:13px;
    line-height:1.32;
    overflow-wrap:anywhere;
  }
  .kirin-review-room .kirin-review-recommended-row>span>small{
    display:block;
    margin-top:3px;
    font-size:9px;
    line-height:1.35;
  }
  .kirin-review-room .kirin-review-recommended-row>em{
    grid-area:status;
    align-self:start;
    justify-self:end;
    font-size:9px;
    white-space:nowrap;
  }

  /* 08 Decision comparison */
  .kirin-review-room .kirin-review-comparison-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .kirin-review-room .kirin-review-comparison-summary>div{
    min-width:0;
    min-height:60px;
    padding:8px 9px;
  }
  .kirin-review-room .kirin-review-comparison-summary strong{
    font-size:13px;
    overflow-wrap:anywhere;
  }
  .kirin-review-room .kirin-review-comparison-table{
    width:100%;
    max-width:100%;
    overflow:visible;
    border:0;
    background:transparent;
  }
  .kirin-review-room .kirin-review-comparison-head{display:none}
  .kirin-review-room .kirin-review-comparison-row{
    min-width:0!important;
    width:100%;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"horse verdict" "pred actual" "gap gap";
    gap:6px 8px;
    margin-top:6px;
    padding:9px 10px;
    border:1px solid var(--line-soft);
    border-radius:10px;
    background:#090c09;
  }
  .kirin-review-room .kirin-review-comparison-row>.kirin-review-comparison-horse{
    grid-area:horse;
    display:grid;
    grid-template-columns:16px 24px minmax(0,1fr);
    align-items:center;
    column-gap:6px;
    min-width:0;
  }
  .kirin-review-room .kirin-review-comparison-horse>b{display:none}
  .kirin-review-room .kirin-review-comparison-horse>.kirin-review-ipad-horse-chip{
    display:block!important;
    grid-column:2;
    min-width:0;
  }
  .kirin-review-room .kirin-review-comparison-horse>.kirin-review-ipad-horse-chip .kirin-horse-number-chip{margin:0}
  .kirin-review-room .kirin-review-comparison-horse>em{
    grid-column:1;
    text-align:center;
  }
  .kirin-review-room .kirin-review-comparison-horse>strong{
    grid-column:3;
    min-width:0;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
  }
  .kirin-review-room .kirin-review-comparison-row>.kirin-review-comparison-verdict{
    grid-area:verdict;
    justify-self:end;
    align-self:center;
  }
  .kirin-review-room .kirin-review-comparison-row>span:nth-child(2){
    grid-area:pred;
    width:auto!important;
    justify-self:start!important;
    text-align:left!important;
    font-size:9px;
    color:var(--muted);
  }
  .kirin-review-room .kirin-review-comparison-row>span:nth-child(3){
    grid-area:actual;
    width:auto!important;
    justify-self:end!important;
    text-align:right!important;
    font-size:9px;
    color:var(--muted);
  }
  .kirin-review-room .kirin-review-comparison-row>span:nth-child(4){
    grid-area:gap;
    width:auto!important;
    justify-self:start!important;
    text-align:left!important;
    font-size:9px;
    color:#d8dfd9;
  }

  /* 09 Cause analysis */
  .kirin-review-room .kirin-review-cause-analysis{gap:10px}
  .kirin-review-room .kirin-review-cause-metrics,
  .kirin-review-room .kirin-review-cause-verification,
  .kirin-review-room .kirin-review-cause-card{padding:10px}
  .kirin-review-room .kirin-review-cause-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
  }
  .kirin-review-room .kirin-review-cause-metric{
    min-height:62px;
    padding:8px 9px;
  }
  .kirin-review-room .kirin-review-cause-metric strong{
    min-height:0;
    font-size:13px;
  }
  .kirin-review-room .kirin-review-cause-reasons{
    grid-template-columns:1fr;
    gap:7px;
  }
  .kirin-review-room .kirin-review-cause-card ul{
    gap:4px;
    margin-top:7px;
  }
  .kirin-review-room .kirin-review-cause-card li{
    font-size:9px;
    line-height:1.45;
  }
  .kirin-review-room .kirin-review-cause-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
  }
  .kirin-review-room .kirin-review-cause-facts>div{
    min-width:0;
    padding:8px;
  }
  .kirin-review-room .kirin-review-cause-facts strong{
    font-size:12px;
    overflow-wrap:anywhere;
  }
  .kirin-review-room .kirin-review-cause-conclusion{
    margin-top:12px;
    padding-top:12px;
  }

  /* 10 AI improvement */
  .kirin-review-room .kirin-learning-overview{
    gap:9px;
    padding:10px 11px;
  }
  .kirin-review-room .kirin-learning-summary{gap:5px}
  .kirin-review-room .kirin-learning-summary span{
    padding:5px 8px;
    font-size:9px;
  }
  .kirin-review-room .kirin-learning-timeline{padding:10px}
  .kirin-review-room .kirin-learning-timeline-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .kirin-review-room .kirin-learning-timeline-step{
    min-width:0;
    min-height:64px;
    padding:8px;
  }
  .kirin-review-room .kirin-learning-timeline-step:nth-child(5){grid-column:1/-1}
  .kirin-review-room .kirin-learning-timeline-step strong{font-size:10px}
  .kirin-review-room .kirin-learning-timeline-step small{
    font-size:8px;
    line-height:1.35;
  }
  .kirin-review-room .kirin-learning-candidates{gap:7px}
  .kirin-review-room .kirin-learning-candidate{
    grid-template-columns:1fr;
    gap:7px;
    padding:9px;
    border-radius:10px;
  }
  .kirin-review-room .kirin-learning-candidate-meta{gap:5px}
  .kirin-review-room .kirin-learning-candidate-meta span,
  .kirin-review-room .kirin-learning-candidate-meta em{
    padding:3px 6px;
    font-size:8px;
  }
  .kirin-review-room .kirin-learning-candidate-copy>strong{
    font-size:13px;
    line-height:1.35;
  }
  .kirin-review-room .kirin-learning-candidate-copy>p{
    margin-top:4px;
    font-size:9px;
    line-height:1.5;
  }
  .kirin-review-room .kirin-learning-current-policy{
    grid-template-columns:1fr;
    gap:5px;
    margin-top:6px;
    padding-top:6px;
    font-size:9px;
  }
  .kirin-review-room .kirin-learning-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    width:100%;
  }
  .kirin-review-room .kirin-learning-actions button{
    min-width:0;
    padding:6px 4px;
    font-size:9px;
  }
  .kirin-review-room .kirin-learning-plan{padding:9px}
  .kirin-review-room .kirin-learning-plan-grid{
    grid-template-columns:1fr;
    gap:5px;
  }
  .kirin-review-room .kirin-learning-plan-group{padding:7px 8px}

  /* 11 Footer */
  body .kirin-global-footer{margin-top:12px}
}

/* === Sprint40 iPhone Review Phase6 v4: iPad Portrait Contract Port BEGIN ===
 * Single managed owner block.
 * Reference = completed iPad portrait Review.
 * Do not append exception patches below this block.
 */
@media (max-width:480px){

  /* 01 TOP 3 — accepted contract */
  #review-result .kirin-review-finisher{
    min-height:0!important;
    padding:8px 10px!important;
  }
  #review-result .kirin-review-finisher>strong{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 24px!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    padding:0!important;
    border-radius:4px!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:center!important;
  }
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-1,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-5,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-8{color:#111!important}
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-2,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-3,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-4,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-6,
  #review-result .kirin-review-finisher>strong .kirin-horse-number-chip--frame-7{color:#fff!important}

  /* 02 FULL STANDINGS — accepted contract
     rank | horse | popularity(hidden) | win odds | time */
  #review-result .kirin-review-all-results .kirin-review-result-row{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 76px 58px!important;
    grid-template-areas:"rank horse odds time"!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:7px!important;
    min-height:0!important;
    width:100%!important;
    padding:7px 8px!important;
    line-height:1.2!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(1){
    grid-area:rank!important;
    align-self:center!important;
    min-width:0!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2){
    grid-area:horse!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2) .kirin-horse-number-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    padding:0!important;
    border-radius:4px!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2)>span:last-child,
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2)>strong:last-child{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(3){display:none!important}
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(4){
    grid-area:odds!important;
    display:block!important;
    visibility:visible!important;
    width:76px!important;
    min-width:76px!important;
    margin:0!important;
    white-space:nowrap!important;
    text-align:right!important;
    justify-self:end!important;
    align-self:center!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(5){
    grid-area:time!important;
    display:block!important;
    visibility:visible!important;
    width:58px!important;
    min-width:58px!important;
    margin:0!important;
    white-space:nowrap!important;
    text-align:right!important;
    justify-self:end!important;
    align-self:center!important;
    font-size:9px!important;
    line-height:1.2!important;
  }

  /* 03 PAYOUT — flat table, stronger legibility */
  #review-result .kirin-review-payout-groups{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #review-result .kirin-review-payout-group{
    min-height:0!important;
    margin:0!important;
    padding:11px 4px 12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    border-bottom:1px solid rgba(194,157,58,.28)!important;
  }
  #review-result .kirin-review-payout-group:last-child{border-bottom:0!important}
  #review-result .kirin-review-payout-group>strong{
    margin:0 0 6px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  #review-result .kirin-review-payout-group>div{gap:0!important}
  #review-result .kirin-review-payout-group p{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:28px!important;
    margin:0!important;
    padding:5px 0!important;
    border:0!important;
    background:transparent!important;
    line-height:1.2!important;
  }
  #review-result .kirin-review-payout-group p+p{
    border-top:1px solid rgba(255,255,255,.06)!important;
  }
  #review-result .kirin-review-payout-group p>span.kirin-ticket-combination{
    display:block!important;
    width:auto!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }
  #review-result .kirin-review-payout-group p>span.kirin-ticket-combination *{
    color:#fff!important;
  }
  #review-result .kirin-review-payout-group em{
    min-width:62px!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-align:right!important;
    white-space:nowrap!important;
    justify-self:end!important;
  }

  /* 04 DECISION COMPARISON
     Row 1 = mark + chip + horse | verdict
     Row 2 = AI rank + actual rank + delta, all grouped from the left */
  #review-compare .kirin-review-comparison-head{display:none!important}
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head){
    display:grid!important;
    grid-template-columns:max-content max-content max-content minmax(0,1fr) max-content!important;
    grid-template-areas:
      "horse horse horse spacer verdict"
      "pred actual delta . ."!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:7px!important;
    align-items:center!important;
    min-height:0!important;
    width:100%!important;
    padding:10px 12px!important;
  }
  #review-compare .kirin-review-comparison-horse{
    grid-area:horse!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
  }
  #review-compare .kirin-review-comparison-horse>b{display:none!important}
  #review-compare .kirin-review-comparison-horse>.kirin-review-ipad-horse-chip{
    display:inline-flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
  }
  #review-compare .kirin-review-comparison-horse .kirin-horse-number-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    padding:0!important;
    border-radius:4px!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  #review-compare .kirin-review-comparison-horse>strong{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(2){
    grid-area:pred!important;
    justify-self:start!important;
    width:auto!important;
    font-size:9px!important;
    color:var(--muted)!important;
    white-space:nowrap!important;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(2)::before{
    content:"AI ";
    opacity:.7;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(3){
    grid-area:actual!important;
    justify-self:start!important;
    width:auto!important;
    font-size:9px!important;
    color:var(--muted)!important;
    white-space:nowrap!important;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(3)::before{
    content:"実 ";
    opacity:.7;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(4){
    grid-area:delta!important;
    justify-self:start!important;
    width:auto!important;
    font-size:9px!important;
    color:#d8dfd9!important;
    white-space:nowrap!important;
  }
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(4)::before{
    content:"差 ";
    opacity:.7;
  }
  #review-compare .kirin-review-comparison-verdict{
    grid-area:verdict!important;
    justify-self:end!important;
    width:auto!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
}
/* === Sprint40 iPhone Review Phase6 v4: iPad Portrait Contract Port END === */

/* === Sprint40 Review iPhone standings v6 alignment BEGIN === */
/*
 * Keep the accepted 4-column contract on one line:
 * rank | horse-number + horse-name | win odds | time
 * Odds/time live together on the right; horse identity owns the flexible space.
 */
@media (max-width:480px){
  #review-result .kirin-review-all-results .kirin-review-result-row{
    grid-template-columns:42px minmax(0,1fr) 62px 48px!important;
    column-gap:6px!important;
  }

  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2){
    min-width:0!important;
  }

  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2),
  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(2) *{
    white-space:nowrap!important;
  }

  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(3){
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(4){
    width:62px!important;
    min-width:62px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  #review-result .kirin-review-all-results .kirin-review-result-row>:nth-child(5){
    width:48px!important;
    min-width:48px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
}
/* === Sprint40 Review iPhone standings v6 alignment END === */

/* === Sprint40 Review iPhone comparison v9 BEGIN === */
@media (max-width:480px){
  #review-compare .kirin-review-comparison-horse{
    display:grid!important;
    grid-template-columns:18px 22px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:7px!important;
    min-width:0!important;
  }
  #review-compare .kirin-review-comparison-horse>.kirin-review-comparison-mark{
    grid-column:1!important;
  }
  #review-compare .kirin-review-comparison-horse>b{
    display:none!important;
  }
  #review-compare .kirin-review-comparison-horse>.kirin-review-ipad-horse-chip{
    display:inline-flex!important;
    grid-column:2!important;
    margin:0!important;
  }
  #review-compare .kirin-review-comparison-horse>strong{
    grid-column:3!important;
    min-width:0!important;
    margin:0!important;
  }
}
/* === Sprint40 Review iPhone comparison v9 END === */

/* === Sprint40 Review iPhone comparison single metrics line v12 BEGIN === */
@media (max-width:480px){
  /*
   * Measured root-cause fix.
   * The old three metric spans were already numerically aligned by Chrome,
   * but their separate ::before text runs produced an optical baseline mismatch.
   * Keep original spans for PC/iPad data contract; hide them on iPhone only.
   * Render one real DOM metrics line on iPhone so AI / 実 / 差 share one line box.
   */
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(2),
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(3),
  #review-compare .kirin-review-comparison-row:not(.kirin-review-comparison-head)>span:nth-child(4){
    display:none!important;
  }

  #review-compare .kirin-review-comparison-mobile-metrics{
    grid-area:pred / pred / pred / delta!important;
    display:flex!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:18px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:9px!important;
    line-height:1.2!important;
    color:var(--kirin-muted,#8fa79f)!important;
    white-space:nowrap!important;
  }

  #review-compare .kirin-review-comparison-mobile-metric{
    display:inline-flex!important;
    align-items:baseline!important;
    gap:3px!important;
    margin:0!important;
    padding:0!important;
    line-height:inherit!important;
    white-space:nowrap!important;
  }

  #review-compare .kirin-review-comparison-mobile-metric>b{
    margin:0!important;
    padding:0!important;
    font:inherit!important;
    font-weight:400!important;
    line-height:inherit!important;
    color:inherit!important;
  }
}

@media (min-width:481px){
  #review-compare .kirin-review-comparison-mobile-metrics{
    display:none!important;
  }
}
/* === Sprint40 Review iPhone comparison single metrics line v12 END === */

/* === Sprint40 FinalQA iPhone Review center/odds BEGIN === */
/*
 * Runtime evidence, identical on 375 / 414 / 440px:
 * - summary row: two-column / two-row grid
 * - label center delta: -10.83px (too high)
 * - horse-name bottom -> odds top: 10.88px
 *
 * Contract:
 * 1) "事前の中心馬" spans both content rows and centers vertically.
 * 2) Keep the existing two-column structure.
 * 3) Reduce ONLY the vertical row-gap from 12px to 4px.
 *    Existing odds margin-top:-5px stays untouched.
 *
 * Scope: iPhone Review summary rows only.
 */
@media screen and (max-width:480px){
  .kirin-review-room .kirin-review-summary > div:not(.kirin-review-summary-rating){
    column-gap:12px!important;
    row-gap:4px!important;
  }

  .kirin-review-room .kirin-review-summary > div:not(.kirin-review-summary-rating) > small:first-child{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    margin:0!important;
  }
}
/* === Sprint40 FinalQA iPhone Review center/odds END === */
