@font-face{font-family:Golos;src:url('assets/golos-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Golos;src:url('assets/golos-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Golos;src:url('assets/golos-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Golos;src:url('assets/golos-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#edeff1;--white:#fff;--ink:#162e4e;--muted:#707378;--line:#dddfe2;--blue:#c63730;--blue-light:#fbeeed;--green:#39745b;--amber:#9b7146;--red:#ae4e43;--radius:8px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Golos,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c63730}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{border:0;background:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.2;letter-spacing:-1.2px;font-weight:500}h2{font-size:20px;font-weight:500;letter-spacing:-.4px}h3{font-size:15px;font-weight:500}svg{display:block}small{font-size:11px}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);font-size:10px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase}.masthead{height:78px;padding:0 44px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-size:28px;letter-spacing:-1.5px;font-weight:700}.brand svg{width:30px;height:30px}.brand>span{color:var(--blue);margin-left:-9px}.masthead-caption{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.account{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:12px}.avatar{border-radius:50%;background:#edeff1;width:32px;height:32px;display:grid;place-items:center;font-size:12px}.text-button{color:var(--muted);font-size:12px;padding:6px 0}.text-button:hover{color:var(--blue)}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border-radius:5px;background:var(--ink);color:#fff;padding:11px 16px;font-size:12px;font-weight:500;min-height:40px;line-height:1.4;border:1px solid transparent}.button:hover{filter:brightness(.93)}.button.secondary{border-color:#dddfe2;color:var(--ink);background:transparent}.button.blue{background:var(--blue)}.button.green{background:var(--green)}.button.small{padding:7px 11px;min-height:32px;font-size:11px}.button.danger{color:var(--red);border-color:#e2cbc4;background:#fff}.button.full{width:100%}.button svg{width:16px;height:16px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus-visible{top:10px}.footer{display:flex;justify-content:space-between;gap:20px;padding:24px 44px;color:#707378;font-size:10px;border-top:1px solid var(--line);margin-top:35px}#content{max-width:1680px;margin:0 auto;min-height:calc(100vh - 175px)}.loading{padding:100px 30px;text-align:center;color:var(--muted)}.page{padding:38px 44px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.page-head h1{margin-top:9px}.lead{font-size:13px;color:var(--muted);line-height:1.8;margin-top:12px;max-width:610px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-heading h2{font-size:18px}.empty{padding:40px 24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty h2,.empty h3{color:var(--ink);margin-bottom:8px}.empty .button{margin-top:18px}.empty-symbol{height:44px;width:44px;margin:0 auto 15px;border-radius:12px;background:#edeff1;display:grid;place-items:center;font-size:25px;color:#707378}.match-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.match-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.match-card:hover{transform:translateY(-3px);border-color:#dddfe2}.match-cover{height:150px;background:radial-gradient(ellipse at 50% 130%,#edeff1,transparent 75%),#edeff1;position:relative;overflow:hidden}.match-cover .rink-lines{position:absolute;inset:23px 24px;border:1px solid #dddfe2;border-radius:50px;opacity:.6}.match-cover .rink-lines:before{content:'';position:absolute;inset:0 50%;border-left:1px solid #dddfe2}.match-cover .rink-lines:after{content:'';position:absolute;left:calc(50% - 24px);top:calc(50% - 24px);width:48px;height:48px;border:1px solid #dddfe2;border-radius:50%}.match-cover .badge{position:absolute;top:14px;right:14px;background:#ffffffd9}.match-card-body{padding:20px}.match-card h2{font-size:18px;line-height:1.4}.match-card .teams{color:var(--muted);font-size:12px;margin-top:7px}.match-card-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:4px;background:#edeff1;padding:4px 7px;font-size:10px;line-height:1.3;color:#707378;white-space:nowrap}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.badge.pending,.badge.processing,.badge.queued{background:#f6efe3;color:var(--amber)}.badge.confirmed,.badge.ready{color:var(--green);background:#e9f1e9}.badge.failed,.badge.rejected{color:var(--red);background:#faeeea}.login{max-width:1040px;margin:85px auto;display:grid;grid-template-columns:1.15fr 1fr;gap:95px;padding:0 35px}.login-copy h1{font-size:53px;line-height:1.08;letter-spacing:-2px;margin:24px 0}.login-copy p{font-size:14px;color:var(--muted);line-height:1.9}.login-form{padding:32px;background:#fff;border:1px solid var(--line);border-radius:8px}.login-form h2{margin-bottom:24px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;margin-bottom:17px;min-width:0}.field input,.field select,.field textarea{width:100%;border:1px solid #dddfe2;border-radius:4px;background:#fff;padding:10px 11px;font-size:13px;min-height:41px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{resize:vertical;min-height:68px}.field input[type=file]{font-size:11px;padding:11px}.field-help{font-size:10px;color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full-span{grid-column:1/-1}.form-error{font-size:12px;color:var(--red);background:#faeee8;padding:12px;border-radius:4px;line-height:1.6;margin:14px 0}.form-error:empty{display:none}.login-footnote{margin-top:16px;font-size:10px;line-height:1.7;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;padding:0;width:min(650px,calc(100vw - 30px));max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #10261530}dialog::backdrop{background:#13271965;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:20px}.dialog-close{font-size:26px;padding:0 4px;color:var(--muted);line-height:1}.dialog-body{padding:24px 26px}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.form-note{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 20px}.check{font-size:11px;display:flex;align-items:flex-start;gap:8px;margin:10px 0}.check input{margin-top:2px;accent-color:var(--blue)}.match-header{padding:28px 44px;display:flex;justify-content:space-between;align-items:center;gap:22px}.match-header h1{margin:9px 0 7px;font-size:30px}.match-meta{font-size:11px;color:var(--muted);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.back-link{font-size:10px;letter-spacing:.6px;color:var(--muted)}.match-header .actions{justify-content:flex-end}.navigation{border-block:1px solid var(--line);background:#ffffff75;padding:0 44px;display:flex;gap:30px;overflow:auto}.nav-tab{padding:17px 0;color:var(--muted);font-size:12px;position:relative;white-space:nowrap}.nav-tab.active{color:var(--ink);font-weight:600}.nav-tab.active:after{content:'';height:2px;background:var(--ink);position:absolute;inset:auto 0 0}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.filters label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.filters select{border:1px solid var(--line);border-radius:4px;background:#fff;padding:7px 10px;font-size:11px;max-width:240px}.filters .filter-hint{font-size:10px;color:var(--muted);margin-left:auto}.workspace-body{padding:26px 44px}.overview-grid,.review-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}.video-panel{min-width:0}.video-wrap{position:relative;background:#162e4e;border-radius:7px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.video-wrap video{width:100%;height:100%;display:block;object-fit:contain}.video-wrap .empty{color:#dddfe2}.video-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin:12px 0}.video-caption span{max-width:70%}.video-switch{font-size:10px;color:var(--blue)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0}.metric{padding:0 20px;border-left:1px solid var(--line)}.metric:first-child{padding-left:0;border-left:0}.metric-label{font-size:10px;color:var(--muted)}.metric-value{font-size:38px;font-weight:500;letter-spacing:-1.8px;line-height:1.4;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:10px}.signal-note{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.signal-note strong{color:var(--ink);font-weight:500}.rink-svg{width:100%;height:auto;overflow:visible}.rink-svg .shot{cursor:pointer}.rink-empty{font-size:11px;color:var(--muted);text-align:center;margin-top:-2px;line-height:1.7}.legend{display:flex;gap:17px;color:var(--muted);font-size:10px;margin-top:16px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.legend i.away{background:#b18a62}.shot-counter{font-size:45px;font-weight:500;letter-spacing:-2px}.shot-counter small{font-size:11px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:9px}.team-comparison{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;display:grid;gap:10px}.team-line{display:grid;grid-template-columns:1fr 100px 28px;align-items:center;font-size:11px;gap:12px}.team-line .bar{height:4px;background:#edeff1}.team-line .bar i{height:100%;display:block;background:var(--blue)}.team-line.away .bar i{background:#b18a62}.lower-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;margin-top:28px}.timeline{position:relative;margin:30px 6px 25px;height:28px;background:#edeff1;border-radius:4px}.timeline:before{content:'';position:absolute;left:0;right:0;top:13px;height:1px;background:#dddfe2}.timeline-dot{position:absolute;top:7px;height:14px;width:14px;transform:translateX(-50%);border:3px solid white;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px #c6373040;padding:0}.timeline-shift{position:absolute;height:7px;top:20px;background:#dddfe2;border-radius:2px;min-width:3px;padding:0;opacity:.75}.timeline-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.compact-events{display:grid;gap:0;margin-top:15px}.compact-event{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0;font-size:11px;text-align:left}.compact-event .time{color:var(--blue);font-variant-numeric:tabular-nums}.compact-event .muted{margin-left:auto}.insights{padding:0;margin:0;list-style:none}.insights li{font-size:12px;line-height:1.7;padding:12px 0;border-top:1px solid var(--line)}.insights li:first-child{border:0;padding-top:0}.limitations{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.limitations p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:6px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-top .sub{color:var(--muted);font-size:11px;margin-top:5px}.list{display:grid;gap:10px}.event-row,.shift-row{padding:17px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;gap:13px;align-items:center;text-align:left;width:100%}.time-button{background:var(--blue-light);color:var(--blue);font-size:11px;border-radius:4px;padding:9px;white-space:nowrap;font-variant-numeric:tabular-nums}.row-main{min-width:0;flex:1}.row-main strong{font-size:12px;font-weight:500;display:block}.row-main p{font-size:10px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.row-actions{display:flex;gap:8px;align-items:center}.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.review-grid .video-panel{position:sticky;top:22px;align-self:start}.review-info{margin-top:20px;font-size:11px;color:var(--muted);line-height:1.9}.review-info h3{color:var(--ink);margin-bottom:7px}.status-filter{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:6px 9px;background:white}.roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.player-card{border:1px solid var(--line);background:#fff;padding:23px;border-radius:7px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:border-color .15s}.player-card:hover,.player-card.active{border-color:var(--blue)}.jersey{font-size:43px;letter-spacing:-2px;line-height:1.2;font-weight:500;color:#dddfe2}.player-card h3{font-size:14px}.player-card .muted{font-size:10px}.player-card .player-mini-stats{font-size:11px;padding-top:13px;border-top:1px solid var(--line);width:100%;margin-top:8px;color:var(--muted)}.player-detail{margin:26px 0;padding:24px;background:#edeff1;border:1px solid #dddfe2;border-radius:8px}.player-detail .metrics{grid-template-columns:repeat(4,1fr)}.player-detail .metric{border-color:#dddfe2}.player-detail .metric-value{font-size:31px}.track-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.track-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px;display:flex;gap:16px;align-items:flex-start}.track-image{width:72px;height:92px;object-fit:cover;background:#edeff1;border-radius:4px;flex:none}.track-placeholder{display:grid;place-items:center;color:#707378;font-size:23px}.track-card h3{font-size:13px}.track-card p{font-size:10px;color:var(--muted);margin:6px 0;line-height:1.7}.track-card .actions{margin-top:12px}.wide-note{background:#edeff1;border:1px solid #dddfe2;border-radius:6px;padding:16px 20px;font-size:11px;line-height:1.8;color:#707378;margin-bottom:24px}.job-panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 20px;margin-bottom:22px;font-size:12px}.job-panel progress{width:100%;height:5px;accent-color:var(--blue);margin-top:10px}.job-panel .job-title{display:flex;justify-content:space-between;gap:14px}.job-panel .job-error{color:var(--red);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}.export-menu{display:flex;gap:8px;align-items:center}.source-label{color:var(--muted);font-size:10px;line-height:1.7;margin-top:6px}.review-data{font-size:10px;color:var(--muted);margin-top:17px;border-top:1px solid var(--line);padding-top:14px;line-height:1.8}.queue-count{font-size:10px;background:#edeff1;border-radius:4px;padding:3px 6px;margin-left:4px}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:var(--ink);color:#fff;box-shadow:0 5px 25px #19282b25;border-radius:6px;padding:12px 18px;font-size:12px;z-index:100;max-width:calc(100vw - 30px);display:none}#toast.visible{display:block}.error-page{padding:80px 35px;text-align:center}.error-page p{margin:15px;color:var(--muted)}.session-note{font-size:11px;color:var(--amber);margin-bottom:20px}.api-error-banner{padding:14px;background:#faeee8;color:var(--red);border-radius:5px;font-size:12px;margin-bottom:15px}
@media(min-width:1600px){.workspace-body,.match-header,.page{padding-left:54px;padding-right:54px}.navigation{padding-left:54px;padding-right:54px}}
@media(max-width:1100px){.masthead{padding:0 26px}.page,.workspace-body{padding:25px 26px}.match-header{padding:24px 26px}.navigation{padding:0 26px;gap:24px}.footer{padding:24px 26px}.overview-grid,.review-grid,.lower-grid{gap:20px}.panel{padding:20px}.match-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.track-list{grid-template-columns:repeat(2,minmax(0,1fr))}.masthead-caption{display:none}.metric{padding:0 13px}.metric-value{font-size:32px}.login{gap:50px;margin:65px auto}.login-copy h1{font-size:45px}.event-row,.shift-row{padding:13px;gap:10px}.row-actions{flex-direction:column}.filters .filter-hint{display:none}.match-header h1{font-size:26px}}
@media(max-width:800px){.overview-grid,.review-grid,.lower-grid{grid-template-columns:1fr}.review-grid .video-panel{position:static}.match-header{align-items:flex-start}.match-header .export-menu{display:none}.match-header .actions{max-width:190px}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:1fr;max-width:460px;gap:35px;margin:40px auto}.login-copy h1{font-size:40px;margin:15px 0}.login-copy p{font-size:12px}.login-form{padding:25px}.player-detail .metrics{grid-template-columns:repeat(2,1fr);row-gap:22px}.player-detail .metric:nth-child(3){border:0;padding-left:0}.footer>span:last-child{display:none}.match-header h1{font-size:24px}.filters{gap:10px}.filters label{flex-direction:column;align-items:flex-start;gap:4px}.row-actions{flex-direction:row}.lower-grid{margin-top:20px}.page-head{align-items:flex-start}}
@media(max-width:540px){.masthead{height:66px;padding:0 18px;gap:12px}.brand{font-size:24px}.brand svg{height:26px;width:26px}.account{gap:10px;font-size:10px}.account .avatar{display:none}.text-button{font-size:11px}.page,.workspace-body{padding:24px 18px}.page-head{flex-direction:column;gap:20px;margin-bottom:24px}h1{font-size:30px}.match-list,.track-list{grid-template-columns:1fr}.match-cover{height:125px}.match-header{padding:22px 18px;flex-direction:column;gap:14px}.match-header h1{font-size:25px;overflow-wrap:anywhere}.match-header .actions{justify-content:flex-start;max-width:none}.match-header .export-menu{display:flex}.navigation{padding:0 18px;gap:24px}.nav-tab{font-size:11px;padding:15px 0}.footer{padding:21px 18px}.filters select{max-width:145px;font-size:10px}.filters label{font-size:9px}.metric-value{font-size:31px}.metric-label{font-size:9px}.metric small{font-size:9px}.metric{padding:0 10px}.video-caption{font-size:9px}.panel{padding:19px}.panel-heading h2{font-size:17px}.event-row,.shift-row{flex-wrap:wrap}.row-actions{margin-left:auto}.row-main{min-width:130px}.section-top h2{font-size:18px}.section-top .button{font-size:10px;padding:9px 10px}.player-card{padding:17px}.roster-grid{gap:10px}.player-card h3{font-size:12px;overflow-wrap:anywhere}.player-mini-stats{line-height:1.8}.player-detail{padding:20px}.dialog-head,.dialog-body{padding:20px}.dialog-head h2{font-size:18px}.form-grid{gap:0 12px}.dialog-actions .button{flex:1;font-size:11px;padding:10px}.login{padding:0 20px}.login-copy h1{font-size:37px}.shot-counter{font-size:40px}.timeline-dot{width:12px;height:12px}.team-line{grid-template-columns:1fr 70px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.technical-notes{font-size:10px;color:var(--muted);margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.technical-notes summary{cursor:pointer;color:#707378}.technical-notes p{overflow-wrap:anywhere}
.cluster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:25px}.cluster-panel{padding:21px;background:#edeff1;border:1px solid #dddfe2;border-radius:7px;min-width:0}.cluster-panel .button{margin-top:15px}.cluster-thumbs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:16px 0}.cluster-thumb{min-width:0}.cluster-thumb img,.cluster-thumb>span{width:100%;height:65px;object-fit:cover;border-radius:3px;background:#dddfe2;display:block}.cluster-thumb>span{font-size:8px;padding:10px 3px;color:var(--muted)}.cluster-thumb small{font-size:7px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.cluster-more{font-size:11px;color:var(--muted);margin:15px 0 24px}.cluster-more summary{cursor:pointer}.cluster-panel .panel-heading{margin-bottom:0}.cluster-panel .badge{background:#fff8ec}@media(max-width:800px){.cluster-grid{grid-template-columns:1fr}}@media(max-width:540px){.cluster-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.cluster-thumb img,.cluster-thumb>span{height:74px}.cluster-thumb small{font-size:8px}}
.map-mode{display:inline-flex;gap:2px;padding:3px;background:#edeff1;border-radius:5px;flex:none}.map-mode button{padding:5px 8px;border-radius:3px;color:var(--muted);font-size:10px}.map-mode button[aria-pressed=true]{color:var(--ink);background:white;box-shadow:0 1px 3px #19282b12}.density-legend{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;color:var(--muted);margin:13px 0 9px}.density-legend i{width:95px;height:6px;border-radius:5px;background:linear-gradient(90deg,#fbeeed,#c63730)}@media(max-width:540px){#shot-map-panel .panel-heading{gap:8px}.map-mode button{font-size:9px;padding:5px 7px}}
.review-clock-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:14px}
.identity-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:21px}.identity-evidence figure{margin:0;min-width:0}.identity-evidence img{width:100%;height:155px;object-fit:contain;background:#edeff1;border:1px solid #dddfe2;border-radius:4px;display:block}.identity-evidence figcaption{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:10px;color:var(--muted)}.identity-evidence strong{font-weight:500;color:var(--ink)}@media(max-width:540px){.identity-evidence{gap:8px}.identity-evidence img{height:122px}.identity-evidence figcaption{font-size:9px}}

.zone-summary{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.zone-summary h3{font-size:13px}.zone-summary .panel-heading{gap:10px;margin-bottom:12px}.zone-summary .text-button{font-size:10px;white-space:nowrap}.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dddfe2;border-left:1px solid #dddfe2;margin:10px 0}.zone-cell{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:9px 7px;border-right:1px solid #dddfe2;border-bottom:1px solid #dddfe2;background:#f7f8fa;font-size:9px;line-height:1.4}.zone-cell strong{font-size:14px;font-weight:500}.zone-summary .source-label{line-height:1.6}@media(max-width:540px){.zone-cell{font-size:8px;padding:8px 5px}}
.track-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin:20px 0}.track-controls form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;flex:1;min-width:220px}.track-controls .field{margin:0;min-width:150px}.track-controls form .field{flex:1}.track-controls .form-error:empty{display:none}.track-controls .form-error{width:100%}.track-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0;font-size:11px;color:var(--muted)}.track-pagination .actions{flex-shrink:0}@media(max-width:540px){.track-controls{gap:12px}.track-controls form{width:100%;min-width:0;flex:0 0 100%}.track-controls>.field{flex:1;min-width:0}.track-pagination{align-items:flex-start;flex-direction:column}.track-controls input,.track-controls select{max-width:100%}}

/* The calibration editor uses one exact image, with a separate reference diagram. */
dialog:has([data-position-editor]){width:min(1200px,calc(100vw - 24px));max-width:1200px}
.position-surfaces{display:grid;grid-template-columns:3fr 2fr;gap:18px;margin:18px 0;align-items:start}
.position-surfaces h3{margin-bottom:8px}.position-surfaces svg{width:100%;height:auto;cursor:crosshair;touch-action:manipulation}
.position-surfaces [data-image-marks],.position-surfaces [data-rink-marks]{pointer-events:none}
.position-step{padding:10px 12px;background:#fbeeed;border-left:3px solid var(--blue);margin:14px 0}
.position-pairs{display:grid;gap:6px}.position-pair{display:grid;grid-template-columns:130px 1fr 1fr;gap:14px;padding:8px;border:1px solid var(--line);border-radius:5px;align-items:end}
.position-pair.selected{border-color:var(--blue);background:#f7f8fa}.position-coordinate{display:flex;gap:8px}.position-coordinate label{flex:1;min-width:0;font-size:11px;color:var(--muted)}
.position-coordinate input{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;padding:7px;background:white;color:var(--ink)}
.position-shot{display:flex;align-items:center;gap:14px;margin:18px 0}.position-shot span{font-size:12px;color:var(--muted)}
[data-position-result]{margin:12px 0}
@media(max-width:650px){.position-surfaces{grid-template-columns:1fr}.position-pair{grid-template-columns:1fr 1fr;gap:8px}.position-pair>button{grid-column:1/-1}.position-shot{align-items:start;flex-direction:column}}
.position-reuse{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0;padding:12px;background:#edeff1;border-radius:5px}
.position-reuse .field{flex:1;min-width:180px}.position-reuse [data-transfer-note]{flex-basis:100%}
.position-transfer-review[hidden]{display:none}
.event-sequence {margin-bottom: 24px; min-width: 0;}
.cue-panel {padding: 18px; margin-bottom: 20px; background: #edeff1; border-radius: 8px;}
.workload-panel {margin-top: 24px; min-width: 0;}
.workload-scroll {overflow-x: auto;}
.workload-table {width: 100%; border-collapse: collapse; font-size: 13px; text-align: left;}
.workload-table th, .workload-table td {padding: 12px 10px; border-bottom: 1px solid #dddfe2; font-variant-numeric: tabular-nums;}
.workload-table th {font-weight: 600; color: #707378; white-space: nowrap;}
.cue-panel h3 {margin: 0 0 8px;}
.cue-row {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #dddfe2; font-size: 13px;}
.cue-row span {flex: 1;}
.event-sequence video {display: block; width: 100%; max-height: 330px; background: #101713; border-radius: 8px;}
.sequence-toolbar {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 10px 0; font-size: 13px;}
.sequence-toolbar select {width: auto; padding: 4px 8px;}
.sequence-frames {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px;}
.sequence-frames button {padding: 0; border: 2px solid transparent; border-radius: 5px; background: #edeff1; overflow: hidden; cursor: pointer; font: inherit; font-size: 11px;}
.sequence-frames button[aria-pressed=true] {border-color: #c63730;}
.sequence-frames button:focus-visible {outline: 2px solid #c63730; outline-offset: 2px;}
.sequence-frames img {display: block; width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #101713;}
.sequence-frames span {display: block; padding: 4px; font-variant-numeric: tabular-nums;}

.number-evidence { margin: 20px 0; padding: 16px; border: 1px solid var(--line, #dddfe2); border-radius: 6px; }
.number-evidence h3 { margin-top: 0; }
.number-evidence .identity-evidence { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; }
.number-evidence img { max-height: 190px; max-width: 100%; object-fit: contain; }
.number-evidence figure { margin: 0; }
.number-evidence figcaption { font-size: 12px; color: var(--muted, #707378); }
.number-proposal { color: #162e4e; font-weight: 600; }
.split-boundary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.split-boundary figure { margin: 0; }
.split-boundary img { height: 180px; max-width: 100%; object-fit: contain; }
.split-boundary figcaption { font-size: 12px; font-variant-numeric: tabular-nums; }
.shift-candidates {display:grid; gap:12px; max-height:560px; overflow-y:auto;}
.shift-candidate {display:flex; gap:12px; border-top:1px solid #dddfe2; padding:12px 0; font-size:13px;}
.shift-candidate img {width:65px; height:95px; object-fit:contain; flex-shrink:0;}
.shift-candidate p {margin:6px 0;}
.clock-video {display:block; width:100%; max-height:300px; background:#101713; margin-bottom:16px;}
.clock-row {padding:16px 0; border-top:1px solid #dddfe2;}
.clock-row .actions {margin-top:10px;}
[data-clock-paste] {width:100%; box-sizing:border-box;}
.shift-video-stage {position:relative;}
.event-sequence .shift-video-stage video {max-height:none;}
.shift-video-stage svg {position:absolute; inset:0; width:100%; height:100%; pointer-events:none;}
/* The match starts with a next action; evidence and tools stay within reach. */
.match-workflow {margin:0 0 22px;padding:24px;background:#edeff1;border:1px solid #dddfe2;border-radius:12px;}
.workflow-lead {display:flex;justify-content:space-between;align-items:center;gap:22px;}
.workflow-lead h2 {margin:7px 0;font-size:24px;letter-spacing:-.6px;}
.workflow-lead p {margin:0;max-width:680px;line-height:1.5;color:#707378;font-size:14px;}
.workflow-lead>.button {flex-shrink:0;}
.workflow-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;}
.workflow-steps>a,.workflow-steps>button {display:flex;flex-direction:column;text-align:left;gap:7px;background:#fff;border:1px solid #dddfe2;border-radius:7px;padding:15px;color:inherit;text-decoration:none;cursor:pointer;}
.workflow-steps b {font-size:15px;}.workflow-steps span {color:#707378;font-size:12px;line-height:1.5;}
.workflow-steps>a:hover,.workflow-steps>button:hover {border-color:#27528c;}
.match-tools {position:relative;font-size:12px;}.match-tools summary {cursor:pointer;padding:10px;color:#707378;}
.match-tools-menu {position:absolute;right:0;top:100%;min-width:220px;background:#fff;border:1px solid #dddfe2;box-shadow:0 8px 28px #17251b18;padding:17px;z-index:5;display:grid;gap:17px;border-radius:7px;}
.match-tools-menu>* {text-align:left;}.secondary-details {margin:18px 0;color:#707378;font-size:13px;}.secondary-details summary {cursor:pointer;padding:8px 0;}
.overview-filters {margin-top:0;margin-bottom:12px;}.overview-filters .filters {margin:8px 0;}
.roster-strip {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 24px;}
.roster-strip>div {display:flex;flex-direction:column;gap:9px;}.roster-strip>div>div {display:flex;flex-wrap:wrap;gap:5px;}
.roster-strip strong {font-size:13px;}.roster-strip button {background:#fff;border:1px solid #dddfe2;border-radius:4px;padding:6px 9px;font-size:12px;cursor:pointer;}
.roster-strip button:hover {background:#edeff1;}.team-roster {margin:28px 0;}.team-roster h3 {font-size:22px;letter-spacing:-.5px;}
.found-players {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.found-player {min-width:0;background:white;border:1px solid #dddfe2;border-radius:8px;overflow:hidden;}
.found-player-main {border:0;background:none;display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;cursor:pointer;color:inherit;}
.found-player-main img,.player-no-photo {width:76px;height:106px;object-fit:contain;background:#edeff1;border-radius:4px;flex-shrink:0;}
.player-no-photo {display:grid;place-items:center;color:#707378;font-size:30px;}
.found-player-main>div {display:flex;flex-direction:column;gap:7px;min-width:0;}.found-player-main strong {font-size:28px;letter-spacing:-1px;}
.found-player-main span,.found-player-main small {font-size:11px;color:#707378;line-height:1.4;}.found-player-main:hover {background:#f7f8fa;}
.found-player-actions {border-top:1px solid #edeff1;padding:10px 16px;font-size:11px;}.found-player-actions .text-button {font-size:11px;}
.roster-coverage {margin:20px 0;font-size:13px;color:#707378;}.pending-numbers {border-top:1px solid #dddfe2;padding-top:28px;margin-top:28px;}
.number-review-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.number-review-card {padding:16px;border:1px solid #dddfe2;background:#fff;border-radius:8px;}
.number-review-card p {font-size:12px;color:#707378;}.number-review-images {display:flex;gap:5px;margin-bottom:12px;height:110px;}.number-review-images img {min-width:0;max-width:33%;height:100%;object-fit:contain;}
@media(max-width:1150px){.found-players,.number-review-grid {grid-template-columns:repeat(3,minmax(0,1fr));}.workflow-lead {align-items:flex-start;flex-direction:column;}}
@media(max-width:760px){.found-players,.number-review-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.found-player-main {padding:12px;gap:8px;}.found-player-main img,.player-no-photo {width:50px;height:85px;}.found-player-main strong {font-size:24px;}.match-workflow {padding:18px;}.workflow-steps {grid-template-columns:1fr;gap:7px;}.workflow-steps>a,.workflow-steps>button {padding:12px;}.roster-strip {grid-template-columns:1fr;gap:14px;}.match-tools-menu {right:0;}.match-actions {gap:5px;}}
@media(max-width:380px){.found-players,.number-review-grid {grid-template-columns:1fr;}}

.player-clips {display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px;}

/* Team symbols: light home and blue away; keep white visible on the ice. */
.legend i {background:#fff;border:1px solid #50605b;}.legend i.away {background:#c63730;border-color:#c63730;}
.team-line.home .bar i {background:#697a72;}.team-line.away .bar i {background:#c63730;}

.demo-shot-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;background:#fff;border:1px solid #dddfe2;border-radius:8px;margin:0 0 20px}.demo-shot-bar p{font-size:12px;color:#707378;margin-top:7px}.demo-video-stage{overflow:hidden;background:#111}.demo-video-stage video{display:block;width:100%}@media(max-width:650px){.demo-shot-bar{align-items:flex-start;flex-direction:column}}

/* Club palette from redmachinejunior.ru; team colours describe match data. */
.brand svg{color:#c63730}.button.green{background:#c63730}.legend i.away{background:#315af4;border-color:#315af4}.team-line.away .bar i{background:#315af4}
