:root{--navy:#0b3157;--orange:#dc7900;--orange-soft:#fff1df;--ink:#102c4a;--muted:#6b7b8e;--line:#cad4df;--paper:#fff;--stripe:#f2f5f8}
*{box-sizing:border-box}body{margin:0;background:#e8edf2;color:var(--ink);font-family:"Helvetica Neue Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;font-weight:700}.appbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#071f37;color:#fff;position:sticky;top:0;z-index:3;box-shadow:0 2px 10px #0004}.appbar h1{font-size:17px;margin:0 12px 0 0;letter-spacing:.08em}.upload-button,.print-button,select,input{height:38px;border-radius:8px;border:1px solid #7890a8;padding:0 12px;font:700 13px inherit}.upload-button{display:flex;align-items:center;background:var(--orange);border-color:var(--orange);cursor:pointer}.upload-button input{display:none}.print-button{background:#fff;color:var(--navy);cursor:pointer}.appbar select{min-width:170px}.detected{display:flex;gap:5px;flex:1;flex-wrap:wrap}.detected span{border:1px solid #ffffff55;border-radius:999px;padding:5px 8px;font-size:10px}.status{font-size:11px}.status.ok{color:#b8f2c2}.status.error{color:#ffb4b4}
.report-wrap{padding:24px;overflow-x:auto}.report{width:min(1600px,100%);aspect-ratio:16/10;margin:auto;background:var(--paper);box-shadow:0 12px 40px #20364b33;display:grid;grid-template-rows:13.5% 47% 39.5%;overflow:hidden;border:1px solid #9aa8b5}.report-header{display:grid;grid-template-columns:minmax(120px,170px) minmax(680px,1fr) minmax(130px,180px);align-items:center;border-bottom:5px solid var(--orange);padding:5px 34px 12px}.club-logo{height:104px;width:135px;object-fit:contain;justify-self:start}.wheel-mark{height:103px;width:142px;object-fit:contain;justify-self:end}.title-block{min-width:0;text-align:center;align-self:center}.title-block h2{margin:0;font-size:clamp(32px,3.15vw,61px);line-height:.94;letter-spacing:.035em;color:var(--navy);font-weight:900;white-space:nowrap}.title-block h2:after{content:"";display:block;width:42%;height:5px;background:var(--orange);margin:6px auto 5px}.meta-row{display:flex;justify-content:center;align-items:center;gap:12px;min-width:0}.kubota-word{width:170px;height:34px;object-fit:contain;flex:0 0 auto;filter:contrast(1.35) brightness(1.08)}.meta-field{border:1px solid #d5dde5;background:#f1f4f7;color:var(--navy);font-weight:900;text-transform:uppercase;text-align:center;min-width:0;font-family:"Helvetica Neue Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:15px;letter-spacing:.015em}.meta-field.session-field{width:260px;text-align-last:center}.meta-field.date-field{width:250px;background:var(--navy);color:#fff;color-scheme:dark;padding-left:20px}.meta-field.date-field::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}
.top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 18px 10px}.top-grid[data-lineout-count="3"]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.top-grid[data-lineout-count="4"]{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.top-grid[data-lineout-count="5"]{grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr)}.module-slot{min-width:0}.session-module,.turnover-module,.tactical{height:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.session-module>h3,.turnover-module>h3,.tactical>h3{margin:0;background:var(--navy);color:#fff;border-bottom:5px solid var(--orange);padding:9px 18px;text-align:center;font-size:clamp(16px,1.45vw,27px);letter-spacing:.035em}.session-module>h3 b{font-size:.62em}.module-subtitle,.kick-title,.process-card h4,.lineout-card h4,.turnover-module>h4{margin:6px 18px 0;padding:5px;text-align:center;border-bottom:2px solid #738396;font-size:clamp(11px,.92vw,17px)}
.counter-layout{height:calc(100% - 50px);padding:7px 14px 11px}.counter-layout .module-subtitle,.counter-layout .kick-title{margin:0 0 6px}.counter-headline{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:6px;margin-bottom:7px}.headline-total,.headline-decision{height:54px;border:1px solid var(--line);border-radius:9px;background:#f5f7f9;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:5px 12px}.headline-total{background:var(--orange-soft)}.headline-total span,.headline-decision span{font-size:clamp(10px,.77vw,14px);font-weight:800}.headline-total strong,.headline-decision strong{font-size:clamp(25px,2vw,38px);text-align:right;color:var(--navy)}.headline-total strong{color:var(--orange)}.counter-lower{display:grid;grid-template-columns:51% 49%;gap:0}.counter-summary{padding-right:12px;border-right:1px solid var(--line)}.counter-kpis{display:grid;gap:3px}.counter-kpi{min-height:34px;display:grid;grid-template-columns:1.8fr .75fr .65fr;align-items:center;padding:3px 9px;background:var(--stripe);border-bottom:1px solid var(--line);font-weight:800}.counter-kpi:nth-child(even){background:#fff}.counter-kpi span{font-size:clamp(10px,.76vw,14px)}.counter-kpi strong{text-align:center;color:var(--navy);font-size:clamp(13px,1vw,18px)}.counter-kpi b{text-align:right;color:var(--orange);font-size:clamp(17px,1.3vw,24px)}.counter-kpi small{grid-column:1/-1;text-align:right;font-size:clamp(7px,.5vw,9px);color:var(--muted);margin-top:-3px}.catch-kpi{min-height:47px;background:#eef3f7}.kick-panel{padding-left:12px}.kick-title b{color:var(--orange);font-size:1.2em}.kick-types{display:grid;grid-template-columns:1fr;gap:3px;padding:0}.kick-type{min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--stripe);padding:2px 8px;display:grid;grid-template-columns:1.1fr .8fr 1.25fr;align-items:center}.kick-type:nth-child(even){background:#fff}.kick-type h5{margin:0;color:var(--navy);font-size:clamp(11px,.86vw,16px)}.kick-type span{text-align:center;font-size:clamp(7px,.55vw,10px);font-weight:700}.kick-type span.missed{border-left:1px solid var(--line)}.kick-type b{display:inline-block;margin-left:7px;color:var(--navy);font-size:1.5em}.kick-type .missed b{color:var(--orange)}.empty-metric{text-align:center;color:var(--muted)}
.process-flow{display:grid;grid-template-columns:1.3fr 22px 1.1fr 22px 1fr 22px 1fr 22px .92fr;align-items:stretch;gap:2px;padding:14px;height:calc(100% - 54px)}.process-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.flow-arrow{display:grid;place-items:center;font-size:34px;color:var(--orange)}.metric{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:29px;padding:5px 10px;border-bottom:1px solid #d8e0e7;font-size:clamp(9px,.72vw,13px);font-weight:800}.metric:nth-child(odd){background:var(--stripe)}.metric strong{font-size:1.2em;color:var(--navy);white-space:nowrap}.metric.accent strong{color:var(--orange)}.lineout-grid{display:grid;grid-template-columns:repeat(var(--lineout-card-count,4),minmax(0,1fr));grid-auto-flow:column;gap:8px;padding:13px 12px;height:calc(100% - 54px)}.lineout-card{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.lineout-card h4{font-size:clamp(14px,1vw,19px);padding-block:7px}.lineout-card .metric{min-height:42px;padding:7px 7px;font-size:clamp(9px,.68vw,13px)}.lineout-card .metric span{min-width:0}.lineout-card .metric strong{font-size:calc(1em + 5px)}.turnover-module>h4{margin-top:8px}.turnover-head{display:grid;grid-template-columns:1fr 1fr;padding:7px 12px}.turnover-head .metric{position:relative;border:1px solid var(--line);border-radius:8px;margin:2px;min-height:52px}.turnover-head strong{font-size:1.75em}.turnover-head .rate-metric{padding-bottom:16px}.turnover-head .rate-metric small{position:absolute;right:10px;bottom:3px;color:var(--muted);font-size:8px;letter-spacing:.03em}.turnover-details{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:1px 12px 10px}.turnover-details .metric{border:1px solid var(--line);border-radius:7px;min-height:30px}
.bottom-grid{padding:9px 18px 18px}.tactical{position:relative}.shape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:13px 14px 29px}.shape{min-width:0;border-right:1px solid var(--line);padding-right:10px}.shape:last-child{border:0}.shape h4{margin:0 0 8px;text-align:center;font-size:clamp(16px,1.28vw,24px);border-bottom:3px solid #d4dbe2;padding-bottom:7px}.shape h4 b{font-size:.76em}.shape-top{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.shape-top .metric,.shape-details .metric{display:block;text-align:center;padding:8px 4px;border:1px solid var(--line);border-radius:8px;background:#f4f6f8;min-height:61px}.shape-top .metric:first-child{background:var(--orange-soft)}.shape-top .metric span,.shape-details .metric span{display:block;min-height:19px;font-size:clamp(9px,.67vw,12px)}.shape-top .metric strong{font-size:1.45em}.details-title{text-align:center;font-weight:900;font-size:12px;margin:7px 4px 4px}.shape-details{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.shape-details .metric{border:0;background:#fff;min-height:58px}.shape-details .metric strong{font-size:1.3em}.shape-turnover{margin:8px auto 0;padding:7px 8px;border:1px solid var(--line);border-radius:999px;text-align:center;font-size:10px;width:84%;min-height:32px}.shape-turnover b{color:var(--orange);margin-left:10px;font-size:15px}.roppongi{margin-top:10px;display:grid;grid-template-columns:104px repeat(4,1fr);grid-template-rows:repeat(2,48px);border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#f4f6f8;min-height:96px}.roppongi h4{grid-row:1/3;margin:0;padding:7px;display:grid;place-items:center;border:0;border-right:1px solid var(--line);font-size:clamp(11px,.8vw,14px);line-height:1.08}.roppongi h4 small{font-size:8px;color:var(--muted)}.roppongi .metric{display:block;text-align:center;padding:6px 2px;min-height:0;background:transparent;border-bottom:0}.roppongi .metric span{display:block;font-size:clamp(7px,.54vw,10px);min-height:0}.roppongi .metric strong{font-size:clamp(12px,.86vw,16px)}.report-footer{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.02em}
.setup-kpis{display:grid;grid-template-columns:1fr;gap:4px;margin:5px 12px 0}.alive-setup{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:39px;margin:0;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#f2f5f8;color:var(--navy);font-size:clamp(10px,.7vw,13px)}.alive-setup>b{align-self:stretch;display:grid;place-items:center;border-right:3px solid var(--orange);padding-right:7px;font-size:9px;letter-spacing:.08em;color:var(--orange)}.defence-setup{background:#eef3f7}.defence-setup>b{border-right-color:var(--navy);color:var(--navy)}.alive-setup div{display:grid;gap:1px;min-width:0}.alive-setup small{color:var(--muted);font-size:.68em}.alive-setup em{color:#b54630;font-size:.68em;font-style:normal;font-weight:900}.alive-setup strong{display:grid;text-align:right;font-size:clamp(15px,1vw,20px);font-weight:950;color:var(--navy);white-space:nowrap}.alive-setup>strong small{font-size:8px;letter-spacing:.04em;color:var(--orange)}.defence-setup>strong small{color:var(--navy)}.game-management-context{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:8px 12px 0;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#f2f5f8;color:var(--muted);font-size:10px;letter-spacing:.04em}.game-management-context b{color:var(--navy);font-size:11px}.game-management-context span{white-space:nowrap}.set-piece-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.65fr);gap:10px;padding:10px 12px;height:calc(100% - 54px)}.set-piece-grid .lineout-grid{height:auto;padding:8px 0;grid-auto-flow:row}.counter-compact{border:1px solid var(--line);border-radius:10px;overflow:hidden}.counter-compact h4{margin:0;padding:10px;text-align:center;border-bottom:2px solid #738396}.counter-compact .metric{min-height:38px}.counter-compact .metric strong{font-size:1.05em}
.data-warning{margin:5px 14px 0;padding:4px 9px;border:2px solid #d82424;border-radius:7px;background:#fff0f0;color:#bd1717;text-align:center;font-size:clamp(10px,.72vw,13px);font-weight:800;line-height:1.05}.data-warning small{display:block;margin-top:2px;color:#8c1010;font-size:.78em}.counter-module:has(.data-warning) .counter-layout{height:calc(100% - 92px);padding-top:4px}.counter-module:has(.data-warning) .headline-total,.counter-module:has(.data-warning) .headline-decision{height:43px}.counter-module:has(.data-warning) .kick-type{min-height:28px}.counter-module:has(.data-warning) .counter-kpi{min-height:30px}.counter-module:has(.data-warning) .catch-kpi{min-height:42px}
.kick-panel{padding-top:10px}
/* Game Management prioritises the lineout read while keeping Dead or Alive compact. */
.top-grid[data-lineout-count="6"]{grid-template-columns:minmax(0,1.72fr) minmax(300px,.58fr)}
.set-piece-grid{grid-template-columns:minmax(0,1.7fr) minmax(205px,.55fr)}
.lineout-card h4{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;background:var(--navy);color:#fff;border-bottom:4px solid var(--orange);font-size:clamp(9px,.68vw,12px);padding:7px 4px;letter-spacing:.025em}
.lineout-card h4 strong{display:grid;place-items:center;min-width:44px;height:31px;padding:2px 7px;border-radius:6px;background:#fff;color:var(--navy);font-size:clamp(14px,1vw,19px);line-height:1}
.lineout-card h4 strong small{font-size:7px;letter-spacing:.04em}
.top-grid[data-lineout-count="6"] .turnover-module>h4{margin-top:3px;padding:3px}
.top-grid[data-lineout-count="6"] .turnover-head{padding:3px 8px}
.top-grid[data-lineout-count="6"] .turnover-head .metric{min-height:44px;padding-block:3px}
.top-grid[data-lineout-count="6"] .turnover-details{gap:3px;padding:0 8px 4px}
.top-grid[data-lineout-count="6"] .turnover-details .metric{min-height:25px;padding-block:3px}
.top-grid[data-lineout-count="6"] .setup-kpis{gap:3px;margin-top:3px}.top-grid[data-lineout-count="6"] .alive-setup{min-height:35px;padding-block:3px}
/* Shared numeric emphasis: preserve layout while improving coach-room readability. */
.metric strong,.metric b,.headline-total strong,.headline-decision strong,.counter-kpi strong,.counter-kpi b,.kick-type b,.shape h4 b,.shape-top strong,.shape-details strong,.shape-turnover b,.roppongi strong{font-weight:950;font-variant-numeric:tabular-nums;text-shadow:0 0 .01px currentColor}
.metric strong,.shape-top .metric strong,.shape-details .metric strong,.roppongi .metric strong{font-size:calc(1em + 6px)}
.shape-details{grid-template-columns:repeat(5,1fr)}
.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}
.view-actions{display:flex;align-items:center;gap:6px;padding:4px 5px;border:1px solid #ffffff38;border-radius:9px}.view-actions[hidden]{display:none}.view-actions button{height:30px;border:0;border-radius:6px;padding:0 10px;background:#fff;color:var(--navy);font-size:10px;font-weight:900;cursor:pointer}.view-actions #publish-view{background:var(--orange);color:#fff}.view-actions span{padding:0 7px;font-size:9px;letter-spacing:.05em;color:#b9c8d6;white-space:nowrap}.view-actions span.published{color:#a7efbd}.view-actions span.draft{color:#ffd39d}
.upload-button[hidden]{display:none}
@media(max-width:1000px){.report{width:1280px}.report-wrap{overflow:auto}.appbar{flex-wrap:wrap}.detected{order:2;width:100%}.report-header{grid-template-columns:150px 1fr 150px}}
@media print{@page{size:13.333in 8.333in;margin:0}html,body{width:13.333in;height:8.333in;background:#fff}.appbar{display:none}.report-wrap{padding:0}.report{width:13.333in;height:8.333in;box-shadow:none;border:0}.club-logo{height:78px}.wheel-mark{height:75px}}
