.kubota-word { mix-blend-mode: multiply; }
.panel > h3 { padding: 13px 10px; font-size: 25px; }
.panel-body { padding: 6px 0; }
.panel h4 { margin: 5px 18px; padding: 5px; font-size: 17px; }
.team-head b { padding: 5px; font-size: 10px; }
.stat-row { min-height: 28px; padding: 4px 9px; font-size: 12px; }
.summary-block { border-bottom: 3px solid #758598; padding-bottom: 5px; margin-bottom: 5px; }
.detail-divider { text-align: center; color: #6d7e90; font-size: 9px; letter-spacing: .08em; margin: 4px 18px; }
.page-two-grid > .panel:first-child .stat-row { min-height: 29px; }
.page-two-grid > .panel:last-child .stat-row { min-height: 34px; }
.page-two-grid > .panel:last-child h4 { margin-top: 11px; }
.attack-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 62% 35%; gap: 16px; }
.kpi-card, .kpi-tactical { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.kpi-card > h3, .kpi-tactical > h3 { margin: 0; background: var(--navy); color: #fff; border-bottom: 5px solid var(--orange); padding: 13px; text-align: center; font-size: 23px; }
.kpi-visual { height: 190px; margin: 14px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--navy); }
.pitch { background: repeating-linear-gradient(90deg,#3c7b35 0,#3c7b35 40px,#4f9043 40px,#4f9043 80px); box-shadow: inset 0 0 0 9px #ffffffaa; }
.orange-pitch { background: linear-gradient(#d67a1688,#d67a1688),repeating-linear-gradient(90deg,#3c7b35 0,#3c7b35 40px,#4f9043 40px,#4f9043 80px); }
.kick-pitch { font-size: 90px; color: #ffe65a; text-shadow: 0 2px 5px #000; }
.momentum { background: linear-gradient(90deg,#46a05d,#f0c34b,#dc5b43); font-size: 35px; }
.momentum span { font-size: 13px; }
.execution { background: var(--soft); font-size: 20px; }
.kpi-tactical { grid-column: 1 / -1; text-align: center; }
.kpi-tactical p { font-size: 24px; letter-spacing: .08em; margin: 30px 0 18px; }
.kpi-tactical div { color: #718095; }
.report { grid-template-rows: 14% 82% 4%; }
.report-header { padding-bottom: 7px; }
.page-one-grid .panel:nth-child(2) .stat-row { min-height: 25px; padding-top: 3px; padding-bottom: 3px; }
.page-one-grid .panel:nth-child(3) .stat-row { min-height: 23px; padding-top: 2px; padding-bottom: 2px; }
.page-one-grid .panel:nth-child(3) h4 { margin-top: 3px; margin-bottom: 3px; padding-top: 3px; padding-bottom: 3px; }
.page-one-grid .panel:nth-child(3) .team-head b { padding: 3px; }
.page-one-grid .panel:nth-child(3) .detail-divider { margin-top: 2px; margin-bottom: 2px; }
.kpi-card .kpi-visual { height: 160px; margin-top: 10px; margin-bottom: 10px; }
.kpi-card .stat-row { min-height: 24px; padding-top: 2px; padding-bottom: 2px; }

/* Attack KPI: exact reference composition */
.attack-kpi-grid { grid-template-columns: 2fr repeat(3, 1fr); grid-template-rows: 64% 34%; gap: 14px; padding: 14px 16px; }
.kpi-card > h3, .kpi-tactical > h3 { padding: 11px 8px; font-size: 24px; }
.kpi-photo { display: block; width: calc(100% - 24px); height: 190px; margin: 12px; object-fit: cover; }
.gauge-wrap { height: 190px; margin: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); padding: 8px 12px 5px; }
.kpi-gauge { display: block; width: 100%; height: 135px; object-fit: contain; }
.gauge-labels { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; font-size: 10px; line-height: 1.15; }
.gauge-labels span:nth-child(2) { color: var(--orange); }
.execution-title { height: 190px; margin: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); display: flex; align-items: center; justify-content: center; font-size: 29px; letter-spacing: .025em; }
.kpi-card .team-head, .kpi-card .stat-row { margin-left: 12px; margin-right: 12px; }
.kpi-card .team-head b { font-size: 9px; }
.kpi-card .stat-row { min-height: 27px; padding: 4px 10px; font-size: 12px; }
.kpi-tactical { grid-column: 1 / -1; text-align: initial; }
.shape-grid { display: grid; grid-template-columns: repeat(4, 1fr); height: calc(100% - 49px); }
.shape-block { padding: 4px 10px; border-right: 1px solid var(--line); min-width: 0; }
.shape-block:last-child { border-right: 0; }
.shape-block > h4 { margin: 0 0 4px; border-bottom: 2px solid var(--line); text-align: center; padding: 3px; font-size: 18px; }
.shape-block > h4 span { font-size: 15px; }
.shape-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.shape-metrics > div { min-height: 48px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); text-align: center; padding: 5px 3px; }
.shape-metrics > div:first-child { background: #fff1df; }
.shape-metrics b { display: block; min-height: 18px; font-size: 10px; line-height: 1.05; }
.shape-metrics strong { display: block; color: var(--orange); font-size: 18px; }
.shape-details > b { display: block; text-align: center; margin: 4px 0 2px; font-size: 10px; }
.shape-details > div { display: grid; grid-template-columns: repeat(6, 1fr); text-align: center; }
.shape-details span { font-size: 8px; color: #657588; }
.shape-details span strong { display: block; margin-top: 3px; color: var(--orange); font-size: 14px; }
.shape-details p { width: 70%; margin: 5px auto 0; border: 1px solid var(--line); border-radius: 14px; text-align: center; padding: 3px; font-size: 8px; color: #657588; }
.shape-details p strong { color: var(--orange); font-size: 14px; }
.roppongi { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); margin-top: 6px; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; min-height: 100px; }
.roppongi > * { padding: 6px 4px; text-align: center; font-size: 9px; }
.roppongi > b { display: flex; align-items: center; justify-content: center; border-right: 1px solid var(--line); font-size: 12px; }
.roppongi > b:first-child { grid-row: 1; }
.roppongi .positive-title { grid-column: 1; grid-row: 2; justify-content: flex-start; text-align: left; padding-left: 10px; }
.roppongi .positive-stat { color: var(--orange); }
.roppongi > span:nth-child(4) { grid-column: 4 / 6; }
.roppongi strong { display: block; margin-top: 4px; color: var(--orange); font-size: 16px; }
.kpi-card:nth-child(4) .stat-row { min-height: 25px; padding-top: 3px; padding-bottom: 3px; }
.kpi-tactical > h3 { padding-top: 9px; padding-bottom: 9px; }
.shape-metrics > div { padding-top: 4px; padding-bottom: 4px; }

/* Orange Zone: one row equals one unique 22 Attack journey. */
.orange-detail{border-color:#e3ad65;background:#fffaf3}
.orange-detail>h3{background:linear-gradient(100deg,#c96500,#ef8a13)}
.orange-compare{display:grid;grid-template-columns:1.35fr .72fr .72fr;align-items:center;margin:8px 10px 8px;border:1px solid #edc48d;border-radius:8px;overflow:hidden;background:#fff;font-size:9px}
.orange-compare>*{min-height:22px;padding:5px 7px;border-bottom:1px solid #eadcca}.orange-compare>*:nth-last-child(-n+3){border-bottom:0}
.orange-compare>b{background:var(--navy);color:#fff;text-align:center;font-size:8px}.orange-compare>b:nth-child(2){background:var(--orange)}
.orange-compare>span{color:#685a49;font-weight:800}.orange-compare>strong{text-align:center;color:var(--navy);font-size:14px;font-variant-numeric:tabular-nums}.orange-compare>strong:nth-of-type(odd){color:var(--orange)}
.origin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 10px 10px}
.entry-type-card{min-width:0;border:1px solid #e1d3c3;border-radius:9px;background:#fff;overflow:hidden}
.entry-type-card header{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;border-bottom:1px solid #eadfd2;background:#fffdf9}
.entry-type-card header>strong{color:var(--orange);font-size:25px;line-height:1;font-variant-numeric:tabular-nums}
.entry-type-card header>small{margin-left:3px;border-radius:999px;background:#eef2f5;padding:3px 5px;color:#607184;font-size:7px;font-weight:900;white-space:nowrap}
.entry-breakdown{display:grid;grid-template-columns:1fr 1fr;min-height:86px}
.entry-breakdown section{min-width:0;padding:7px 8px}.entry-breakdown section+section{border-left:1px solid #ece3d8}
.entry-breakdown em{display:block;margin-bottom:5px;color:#8b7965;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.08em}
.entry-breakdown span{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:3px 0;color:#334d68;font-size:8px;line-height:1.2}
.entry-breakdown span b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-breakdown span strong{color:var(--navy);font-size:11px}.entry-breakdown .empty-breakdown{justify-content:center;color:#a3a9af}
.orange-outcomes{margin:0 10px 9px;border:1px solid #e3c49c;border-radius:9px;background:#fff;overflow:hidden}
.orange-outcomes h4{margin:0;padding:5px 8px;background:#fff3e1;color:var(--navy);font-size:9px;letter-spacing:.08em}
.orange-outcomes>div{display:grid;grid-template-columns:repeat(5,1fr)}
.outcome-item{min-width:0;padding:6px 6px 5px;text-align:center}.outcome-item+.outcome-item{border-left:1px solid #ece3d8}
.outcome-item>span{display:block;min-height:18px;color:#6f6254;font-size:7px;font-weight:900;line-height:1.15}.outcome-item>strong{display:block;color:var(--orange);font-size:18px;line-height:1}
.outcome-item small{display:flex;justify-content:space-between;gap:3px;margin-top:4px;color:#596b7d;font-size:6px;line-height:1.15;text-align:left}.outcome-item small span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcome-item small b{color:var(--navy)}
.origin{display:inline-block;border-radius:999px;background:#e8eef4;padding:4px 6px;font-size:8px;white-space:nowrap}.origin.kicking-entry{background:#e9e2f4;color:#542a82}.origin.running-entry{background:#e5f1e8;color:#23683e}.origin.started-22{background:#fff0dc;color:#9a5000}

/* Possession profile: photographic vertical dual courts. */
.profile-lower { grid-template-columns: 1.05fr .95fr; }
.courts { gap: 14px; margin: 30px 8px 4px; align-items: start; }
.courts > div { position: relative; aspect-ratio: 658 / 750; min-height: 0; padding: 9.5% 2% 5%; border: 0; background: url("../../../assets/themes/practice-stats/zone-efficiency-pitch.png") center/100% 100% no-repeat; display: grid; grid-template-rows: 18% 43% 20% 19%; }
.courts h5 { position: absolute; top: -24px; left: 0; right: 0; margin: 0; padding: 3px; background: transparent; font-size: 12px; }
.zone { min-height: 0; height: 100%; margin: 0; padding: 4px 10px; border: 0; border-radius: 0; background: transparent !important; color: #fff; text-shadow: 0 2px 3px #000, 0 0 2px #000; }
.zone span { font-size: 12px; }
.zone b { font-size: 16px; }

/* Shared numeric emphasis: all report values use heavier tabular figures. */
.stat-row b,.mini-team strong,.team-time strong,.bip strong,.outcome-team strong,.detail-row b,.zone b,.shape-block h4 span,.shape-metrics strong,.shape-details strong,.roppongi strong,.match-row strong{font-weight:950;font-variant-numeric:tabular-nums;text-shadow:0 0 .01px currentColor}
.shape-details > div{grid-template-columns:repeat(5,1fr)}
.stat-row b{font-size:1.16em}.mini-team strong,.outcome-team strong,.detail-row b{font-size:1.12em}.shape-metrics strong{font-size:20px}.roppongi strong{font-size:18px}
.studio-link{color:#fff;text-decoration:none;border:1px solid #ffffff66;border-radius:7px;padding:8px 11px;font-size:11px}.source-badge{border-radius:999px;background:#ffffff18;padding:6px 10px;color:#dce8f3;font-size:10px;letter-spacing:.04em}

/* Final readability pass: keep every card footprint, enlarge information inside it. */
.orange-detail{border-color:var(--line);background:#fff}
.orange-detail>h3{background:var(--navy)}
.orange-compare{font-size:11px}.orange-compare>b{font-size:10px}.orange-compare>strong{font-size:18px}
.entry-type-card header{padding-top:6px;padding-bottom:6px}.entry-type-card header .origin{font-size:10px}.entry-type-card header>strong{font-size:27px}.entry-type-card header>small{font-size:9px}
.entry-breakdown{min-height:80px}.entry-breakdown em{font-size:8px}.entry-breakdown span{font-size:10px}.entry-breakdown span strong{font-size:13px}
.orange-outcomes h4{font-size:11px}.outcome-item>span{font-size:9px}.outcome-item>strong{font-size:21px}.outcome-item small{font-size:8px}
.kpi-card:not(.orange-detail) .team-head b{font-size:11px}.kpi-card:not(.orange-detail) .stat-row{font-size:14px}.gauge-labels{font-size:11px}
.skill-execution .team-head{margin-top:18px}.skill-execution .stat-row{min-height:38px;padding-top:8px;padding-bottom:8px}
.shape-metrics strong,.shape-details span strong,.shape-details p strong,.roppongi strong,.roppongi .positive-stat strong{color:var(--navy)}
.shape-block>h4 span{color:var(--navy)}
.page-one-grid .panel:nth-child(1) .stat-row,.page-one-grid .panel:nth-child(2) .stat-row{font-size:14px}
.page-one-grid .panel:nth-child(1) .mini-labels,.page-one-grid .panel:nth-child(1) .mini-team{font-size:10px}.page-one-grid .panel:nth-child(1) .mini-team strong{font-size:13px}
.page-one-grid .panel:nth-child(1) h4,.page-one-grid .panel:nth-child(2) h4{font-size:18px}
.game-control>.team-head,.game-control>.stat-row{width:76%;margin-left:auto;margin-right:auto}
.game-control>.stat-row{grid-template-columns:1.25fr .8fr .8fr;font-size:14px}
.outcome-head,.outcome-team{font-size:11px}.outcome-team strong{font-size:13px}.detail-head b{font-size:10px}.detail-labels{font-size:9px}.detail-row{min-height:27px;font-size:10px}
.zone-note{font-size:10px}.courts h5{font-size:13px}.zone span{font-size:14px}.zone b{font-size:18px}
.page-two-grid>.panel:last-child .stat-row{min-height:40px;font-size:14px}.page-two-grid>.panel:last-child h4{font-size:20px;margin-top:15px}

/* Use remaining vertical space instead of crowding report sections at the top. */
.page-one-grid .panel:nth-child(1) .panel-body{padding-top:12px}
.page-one-grid .panel:nth-child(1)>div>h4{margin-top:13px;margin-bottom:10px;padding-top:7px;padding-bottom:7px}
.page-one-grid .panel:nth-child(1) .mini-labels,.page-one-grid .panel:nth-child(1) .mini-team{min-height:29px;font-size:11px}
.page-one-grid .panel:nth-child(1) .mini-team strong{font-size:15px}
.page-one-grid .panel:nth-child(1) .try-split{gap:18px;margin-top:10px;margin-bottom:13px}
.page-one-grid .panel:nth-child(1) .try-split h4{margin-top:8px;margin-bottom:8px}
.page-one-grid .panel:nth-child(1) .try-split .mini-labels,.page-one-grid .panel:nth-child(1) .try-split .mini-team{min-height:31px}
.page-one-grid .panel:nth-child(1) .stat-row{min-height:34px;padding-top:7px;padding-bottom:7px}
.page-one-grid .panel:nth-child(3) .summary-block{padding:5px 0 12px;margin-bottom:12px}
.page-one-grid .panel:nth-child(3) .detail-divider{margin-top:8px;margin-bottom:8px;padding:5px 0;font-size:10px}
.page-one-grid .panel:nth-child(3) .summary-block .stat-row{min-height:32px;font-size:14px}
.page-one-grid .panel:nth-child(3) .panel-body>h4{margin-top:12px;margin-bottom:8px;padding-top:6px;padding-bottom:6px}
.page-one-grid .panel:nth-child(3) .stat-row{min-height:29px;font-size:13px}
.profile-lower{margin-top:12px;gap:20px}
.profile-lower h4{margin-top:8px;margin-bottom:10px;padding-top:7px;padding-bottom:7px;font-size:21px}
.outcome-head,.outcome-team{font-size:13px}.outcome-team{min-height:34px}.outcome-team b{padding:7px}.outcome-team strong{font-size:15px}
.detail-head b{padding:6px;font-size:11px}.detail-labels{min-height:22px;font-size:10px}.detail-row{min-height:34px;font-size:12px}
.zone-note{font-size:11px;margin:4px 0 8px}.courts{margin-top:31px}.courts>div{aspect-ratio:658/820}.courts h5{top:-28px;font-size:15px}.zone span{font-size:16px}.zone b{font-size:20px}

/* Fit correction after visual review. */
.page-one-grid .panel:nth-child(1) .panel-body{padding-top:6px}
.page-one-grid .panel:nth-child(1)>div>h4{margin-top:7px;margin-bottom:6px;padding-top:4px;padding-bottom:4px}
.page-one-grid .panel:nth-child(1) .mini-labels,.page-one-grid .panel:nth-child(1) .mini-team{min-height:25px}
.page-one-grid .panel:nth-child(1) .try-split{gap:12px;margin-top:4px;margin-bottom:7px}
.page-one-grid .panel:nth-child(1) .try-split h4{margin-top:4px;margin-bottom:4px}
.page-one-grid .panel:nth-child(1) .try-split .mini-labels,.page-one-grid .panel:nth-child(1) .try-split .mini-team{min-height:27px}
.page-one-grid .panel:nth-child(1) .stat-row{min-height:30px;padding-top:5px;padding-bottom:5px}
.page-one-grid .panel:nth-child(3) .summary-block{padding-bottom:5px;margin-bottom:5px}
.page-one-grid .panel:nth-child(3) .detail-divider{margin:2px 18px;padding:0;font-size:9px}
.page-one-grid .panel:nth-child(3) .summary-block .stat-row,.page-one-grid .panel:nth-child(3) .stat-row{min-height:23px;padding-top:2px;padding-bottom:2px;font-size:12px}
.page-one-grid .panel:nth-child(3) .panel-body>h4{margin-top:3px;margin-bottom:3px;padding-top:3px;padding-bottom:3px;font-size:17px}
.page-one-grid .panel:nth-child(3) .team-head b{padding:3px;font-size:10px}
.profile-lower h4{margin-top:6px;margin-bottom:7px;padding-top:5px;padding-bottom:5px;font-size:20px}
.outcome-team{min-height:31px}.detail-labels{min-height:19px}.detail-row{min-height:29px;font-size:11px}
.kubota-word{background:transparent;box-shadow:none;filter:contrast(1.35) brightness(1.08);mix-blend-mode:multiply}

/* A4 landscape export: one report card per physical page, without footer clipping. */
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{width:auto;height:auto;background:#fff}
  .report-wrap{width:auto;padding:0;overflow:visible}
  .report{width:1600px;height:900px;zoom:.7;aspect-ratio:16/9;margin:115px 0 0;border:0;box-shadow:none;grid-template-rows:14% 86%;overflow:hidden;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}
  .report:last-child{break-after:auto;page-break-after:auto}
  .page-body{min-height:0;overflow:hidden}
  footer{display:none!important}
}
