.play-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.play-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.play-stats>div{border:1px solid var(--line);border-radius:7px;background:#09253b;padding:16px 12px;min-width:0}.play-stats b{display:block;color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:32px;margin-bottom:7px}.play-stats span{display:block;font-size:13px;color:var(--muted);line-height:1.5}.session-card h2{font-size:2rem}.session-card .toolbar{margin-top:0}.session-card>.button{width:100%;margin-top:15px}.heart-chart{margin:20px 0 6px}.chart-wrap{display:flex;gap:10px;height:170px}.game-chart .chart-wrap{height:110px}.heart-axis{display:flex;flex-direction:column;justify-content:space-between;min-width:32px;font-size:12px;color:var(--muted)}.heart-chart svg{width:100%;height:100%;min-width:0;overflow:visible}.heart-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.heart-line{stroke:var(--gold);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.heart-dot{fill:var(--paper)}.heart-time{display:flex;justify-content:space-between;padding-left:42px;margin-top:9px;font-size:12px;color:var(--muted)}.heart-chart figcaption{font-size:13px;line-height:1.6;color:var(--gold);margin-top:12px}.chart-empty{padding:26px 16px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:14px;line-height:1.6}.timings-details{border:0;padding:0}.timings-details summary{font-size:21px;font-weight:700;min-height:48px}.timings-details summary>span{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:6px}.timing-match{margin-top:28px}.game-timing{border:1px solid var(--line);border-radius:10px;background:#0b1c30;padding:10px 12px;min-width:0}.report-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.report-match-block{background:linear-gradient(180deg,#15364c,#112c42);border:1px solid #35536a;border-radius:12px;padding:12px}.report-match-block+.report-match-block{margin-top:20px}.report-game-grid .chart-empty{padding:16px 12px}.report-game-grid .heart-chart{display:flex;flex-direction:column;margin:4px 0 0}.report-game-grid .heart-chart figcaption{order:-1;margin:0 0 5px;font-size:12px}.report-game-grid .game-chart .chart-wrap{height:66px}.report-game-grid .heart-time{margin-top:4px;font-size:11px}.report-game-grid .game-timing .toolbar{margin:0 0 4px}.performance-headline .performance-secondary .play-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-headline .performance-secondary .play-stats b{font-size:25px}.performance-headline .play-stats{gap:8px;margin-bottom:12px}.performance-headline .play-stats>div{padding:10px 8px}@media(max-width:760px){.report-game-grid{grid-template-columns:1fr}}.game-timing .toolbar{margin:0 0 8px}.report-match{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.report-match>div:first-child{flex:1;min-width:150px}.report-match p{font-size:14px;margin:8px 0 0}.report-match-score{font-family:'Barlow Condensed',sans-serif;font-size:30px;color:var(--gold)}.recording-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line)}.recording-row>div{min-width:0;flex:1}.recording-row small{display:block;font-size:12px;overflow-wrap:anywhere;color:var(--muted);margin-top:8px}.play-format{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.draft-card,.correction-card,.guest-link-request,.duplicate-review{border:1px solid var(--line);border-radius:6px;padding:18px;margin:16px 0}.draft-card button{margin:6px 8px 0 0}.correction-card{border-left:3px solid var(--gold)}.honour-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.honour-card img{object-fit:contain;max-width:100%}.honour-card.locked img{filter:grayscale(1);opacity:.5}.honour-card h2{font-size:1.8rem;margin:0}.honour-card p{font-size:14px;margin:0}.honour-symbol{font-size:64px;color:var(--gold)}.recovery-list{padding-left:20px;color:var(--muted);line-height:1.8}.guest-row summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.guest-row form{margin-top:24px}.review-card h2{font-size:2rem;margin:0}.review-card>.toolbar{margin-top:0}.review-card .form-status:empty{display:none}@media(max-width:1050px){.play-card-grid{grid-template-columns:1fr}.play-format{grid-template-columns:1fr 1fr}.play-format>.field:first-child{grid-column:1/-1}}@media(max-width:560px){.play-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.play-stats>div{padding:12px 8px}.play-stats b{font-size:26px}.play-stats span{font-size:12px}.play-format{gap:12px}.heart-chart figcaption{font-size:12px}.chart-wrap{height:145px}.game-chart .chart-wrap{height:105px}.recording-row{align-items:flex-start}.recording-row>.button{width:100%}.review-card .actions button{width:100%}}

/* Play and reports use the tray/menu; keep the first task in view. */
.result-entry-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);align-items:start}
.result-entry-card .field:last-child{margin-bottom:0}
.entry-details,.report-details,.play-explainer,.report-method{min-width:0}
.entry-details{padding:16px 0;border-top:1px solid var(--line);border-bottom:0}
.entry-details summary,.report-details summary{min-height:44px;font-size:18px;font-weight:700}
.entry-details summary>span,.report-details summary>span{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:400;line-height:1.6}
.entry-details-body{padding-top:22px}
.entry-actions{margin-top:18px}
.entry-actions .primary{flex:1;min-width:180px}
.entry-actions .text-button{font-size:14px;min-height:44px;padding:10px 6px}
.result-entry-aside .report-details{padding:0;border:0}
.result-entry-aside h2{font-size:1.65rem;margin-bottom:14px}
.result-entry-aside .help{margin:0 0 18px}
.play-explainer{padding:0 0 18px;margin-bottom:20px;font-size:14px}
.play-explainer summary,.report-method summary{min-height:44px;font-size:14px;color:var(--muted)}
.play-explainer p,.report-method p{font-size:14px;line-height:1.7}
.performance-headline .play-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px}
.report-details{padding:0;border:0}
.report-details>div{padding-top:8px}
.report-method{padding:8px 0 0;border:0}
.report-summary{color:var(--muted);font-size:15px}
.report-player,.review-player,.result-player{display:flex;align-items:center;gap:12px;min-width:0}
.report-player>div{min-width:0;flex:1}
.report-player strong,.review-player span,.result-player strong{overflow-wrap:anywhere}
.result-player{margin:20px 0 8px}
.review-player .sr-avatar{width:40px;height:40px;font-family:'Barlow',sans-serif;font-size:15px}
.report-player .sr-avatar{width:36px;height:36px;font-size:13px}
#result-review .actions{margin-top:22px}
button[aria-busy=true]{cursor:progress}
@media(max-width:1050px){.result-entry-grid{grid-template-columns:1fr}.result-entry-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.performance-headline .play-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.result-entry-aside{display:flex}.entry-details summary{font-size:16px}.entry-actions .primary,.entry-actions #save-cloud-draft{width:100%;flex-basis:100%}.review-player{font-size:1.65rem!important}.report-match{gap:12px}.report-details summary{font-size:17px}}
/* Compact honours: progress belongs in the medal, criteria in its detail sheet. */
.honours-page{max-width:1060px;margin:auto}.honours-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.honours-heading h1{font-size:clamp(32px,4vw,44px);margin:0 0 5px}.honours-heading p{font-size:13px;margin:0;color:var(--muted)}.honours-count{flex:none;text-align:center;border:1px solid #f6c64e66;background:#f6c64e0c;border-radius:12px;padding:9px 12px}.honours-count b{display:block;font:32px/1.1 'Barlow Condensed',sans-serif;color:var(--gold)}.honours-count b span{font-size:17px;color:var(--muted)}.honours-count small{font-size:10px;color:var(--muted)}.honours-filters{display:flex;border-bottom:1px solid var(--line);margin-bottom:14px}.honours-filters button{flex:1;min-height:44px;padding:8px 4px;border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;font-size:13px;color:var(--muted)}.honours-filters button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold)}.honours-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin:0 0 14px}.honours-legend>span{width:13px;height:13px;border-radius:50%;background:linear-gradient(to top,#f6c64e 30%,#92989d 85%);flex:none}.honours-legend b{margin-left:auto;color:var(--gold);font-weight:500}.honours-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.honours-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:4px;min-width:0;min-height:156px;padding:12px 5px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#133347,#0b1b29);color:var(--paper);text-align:center;cursor:pointer}.honours-tile.locked{background:linear-gradient(155deg,#102638,#0a1925)}.honours-tile strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.honours-tile small{font-size:11px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}.honours-tile.earned small{color:var(--gold)}.honours-medal{display:block;position:relative;width:100%;max-width:112px;aspect-ratio:1;margin:0 auto 3px;flex:none}.honours-medal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.honours-mono{filter:grayscale(1);opacity:.75}.honours-colour{mask-image:linear-gradient(to top,#000 0%,#000 var(--honour-low,0%),transparent var(--honour-high,0%),transparent 100%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 var(--honour-low,0%),transparent var(--honour-high,0%),transparent 100%)}.no-progress .honours-colour{visibility:hidden}.earned .honours-colour,.full-progress .honours-colour{mask-image:none;-webkit-mask-image:none}.earned .honours-mono{visibility:hidden}.honours-tick{position:absolute;top:6px;right:8px;color:var(--gold);font-size:13px}.honours-fallback{display:grid;place-items:center;font-size:56px;color:var(--gold)}.locked .honours-fallback{color:var(--muted)}.honours-about{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.honours-about summary{min-height:44px;cursor:pointer;color:var(--gold);font-size:13px;padding:12px 0}.honours-about p,.honours-empty{font-size:13px;line-height:1.65;color:var(--muted)}.honours-about a{font-size:13px}.honours-dialog{width:calc(100% - 24px);max-width:420px;max-height:85dvh;overflow:auto;background:#102738;color:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;text-align:center;overscroll-behavior:contain}.honours-dialog::backdrop{background:#020710c9}.honours-dialog .honours-medal{max-width:156px;margin:0 auto 16px}.honours-dialog h2{font-size:32px;margin:8px 0}.honours-dialog p{font-size:14px;line-height:1.6;color:var(--muted)}.honours-dialog .honours-detail-progress{color:var(--gold)}.honours-dialog form{margin-top:20px}.honours-dialog form button{min-width:120px;min-height:44px}.honours-tile[hidden],.honours-empty[hidden]{display:none}.honours-tile:focus-visible,.honours-filters button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:650px){.honours-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.honours-tile{padding:9px 3px;min-height:130px}.honours-medal{max-width:85px}.honours-tile strong{font-size:12px}.honours-tile small{font-size:10px}.honours-legend{font-size:10px}.honours-heading p{font-size:12px}.honours-dialog{margin:auto auto 12px}}
@media(max-width:340px){.honours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.honours-legend{flex-wrap:wrap}}
@media(forced-colors:active){.honours-tile{border:1px solid ButtonText}.honours-filters button[aria-pressed=true]{border-bottom-color:Highlight}}
.honours-about>summary::before{content:'\002B'}.honours-about[open]>summary::before{content:'\2212'}
/* COMPACT RESULT ENTRY */
/* Compact post-match entry. Scoped to this form; live scoring remains separate. */
html:has(#result-entry-form){scroll-behavior:auto!important}
.result-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.result-entry-heading .button{padding:8px 12px;font-size:12px;min-height:40px}
.result-entry-card{padding:18px!important}.compact-result-stages>.compact-match-details>.help{margin:6px 0 12px;font-size:12px}
.compact-match-details .entry-details{margin:8px 0;padding:0}.compact-match-details .entry-details>summary{font-size:14px;padding:12px 0}.compact-match-details .entry-details>summary span{font-size:12px}.compact-match-details .entry-details>summary{display:flex;justify-content:space-between;gap:8px}
.compact-match-details .field label{font-size:12px}.compact-entry-formats .entry-segments{margin:12px 0 8px}
.compact-entry-location{margin:10px 0!important}.compact-entry-location input{min-height:44px;padding:8px 10px}
.entry-player-avatar .sr-avatar{font-size:0;background:#173c51 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='33' r='19' fill='%2391a7b9'/%3E%3Cpath d='M13 100V85c0-22 17-32 37-32s37 10 37 32v15' fill='%2391a7b9'/%3E%3C/svg%3E") center/cover no-repeat}
.result-entry-grid[hidden],#result-entry-form [hidden]{display:none!important}
.result-step-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted,#9fb3c1);font-size:11px;letter-spacing:1px;margin-bottom:18px}
.compact-result-stages h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;line-height:1.15;margin:0 0 8px}
.compact-entry-players{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:18px 0 10px}
.compact-entry-player{background:#102a3b;border:1px solid #3d515e;border-top:2px solid #f6ca50;border-radius:14px;padding:12px;min-width:0;text-align:center}
.compact-entry-player.opponent{border-top-color:#69c3fa}
.compact-entry-player .field{margin:8px 0 0}.compact-entry-player label{font-size:11px;color:#aac0cd}
.compact-entry-player select{width:100%;min-width:0;padding:9px 5px;font-size:14px;min-height:44px}
.entry-player-avatar .avatar{width:48px;height:48px;margin:auto}.entry-player-avatar{min-height:48px;display:flex;justify-content:center}
.entry-segments{margin:18px 0 12px}.entry-segments>.eyebrow{display:block;margin:0 0 8px;font-size:10px;color:#9fb3c1}
.entry-segments>div{display:flex;gap:6px;background:#0b2030;border:1px solid #294252;border-radius:10px;padding:4px;flex-wrap:wrap}
.entry-segments button{flex:1;min-width:75px;min-height:44px;padding:8px 5px;font-size:13px;border:0;border-radius:7px}
.entry-segments button[aria-pressed=true]{background:#f6ca50;color:#10212b}
.compact-entry-location{margin:15px 0}.compact-entry-location>.field{margin:0 0 14px}
.compact-entry-location input[type=date]{width:100%}.compact-venue>.field{margin:14px 10px}
.compact-match-strip{border:1px solid #294657;border-radius:12px;padding:12px;background:#102b3d;margin:18px 0;display:grid;gap:5px}
.compact-match-strip strong{font-family:'Barlow Condensed',sans-serif;font-size:24px;overflow-wrap:anywhere}
.compact-match-strip strong>span:first-child{color:#f6ca50}.compact-match-strip strong>span:last-child{color:#69c3fa}
.compact-match-strip small{font-family:inherit;font-size:12px;color:#9fb3c1}
.scorecard-head,.scorecard-row{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid #294252}
.scorecard-head{font-size:11px;color:#9fb3c1}.scorecard-head>span{overflow-wrap:anywhere}.scorecard-head>span:nth-child(2){color:#f6ca50}.scorecard-head>span:nth-child(3){color:#69c3fa}
.scorecard-row>span{font-size:12px;color:#a3b6c4}.scorecard-row input{width:100%;min-width:0;min-height:54px;border:1px solid #355166;border-radius:10px;background:#102b3d;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:28px;padding:7px;color:#f6ca50}
.scorecard-row input:last-child{color:#69c3fa}.scorecard-row input:focus{outline:2px solid #f6ca50;outline-offset:2px}
.compact-entry-outcome{padding:16px;margin:18px 0;background:#142e36;border:1px solid #3b6169;border-radius:12px;font-family:'Barlow Condensed',sans-serif;font-size:26px;color:#f6ca50}
.compact-entry-footer{padding:12px 0 2px;background:#102737}.compact-entry-footer>.primary{width:100%;min-height:48px}.compact-entry-footer .help{text-align:center;font-size:11px;margin:6px 0}
.compact-draft-actions{margin-top:18px}.compact-draft-actions button{font-size:12px}.compact-entry-footer:focus-within{position:static}
.compact-result-stages .form-status:empty{display:none}
@media(min-width:900px){.compact-entry-footer{bottom:0}.result-entry-grid{grid-template-columns:minmax(0,560px) minmax(200px,1fr)}}
@media(max-width:420px){.compact-entry-player{padding:9px 6px}.compact-entry-player select{font-size:12px}.scorecard-head,.scorecard-row{gap:9px;grid-template-columns:49px minmax(0,1fr) minmax(0,1fr)}}
/* JOURNEY REFINEMENTS */
.sr-match-status{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;padding:9px 12px;border:1px solid #5abeff35;border-radius:8px;background:#102738;color:#f7f2ea;font-size:12px;line-height:1.5}
.sr-match-status strong{color:#f6c64e;font-weight:600}.sr-match-status span{color:#b5c7da;overflow-wrap:anywhere}
.club-score-card .sr-match-status{margin:8px 10px;font-size:11px}
.referee-kiosk .sr-match-status{margin:10px 0}
.referee-kiosk:has(.calls) main{padding-bottom:110px}
.referee-kiosk .calls{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),1408px);z-index:20;padding:8px;border:1px solid #5abeff55;border-radius:9px;background:#061522f5;box-shadow:0 -6px 20px #030b1380}
.referee-kiosk .calls .undo{background:#123a53;border-color:#5abeff88}
@media(max-width:560px){.referee-kiosk .calls{gap:4px;width:calc(100% - 16px);padding:5px}.referee-kiosk .calls button{padding:8px 3px;min-height:58px;font-size:17px}.referee-kiosk .calls .undo span{font-size:17px}.referee-kiosk .calls small{font-size:8px}.referee-kiosk .calls .undo{gap:3px}}
