/* 快速记录工作台：半场与技术按钮保持同屏。 */
.match-shell .sidebar{height:48px;padding:5px 22px}.match-shell .main{padding:0 18px 20px}.match-shell .topbar{height:40px;margin-bottom:8px}.match-shell .head{margin-bottom:6px}.match-shell .head h1{font-size:22px}.match-shell .head p{margin-top:1px}.match-shell .tabs{margin-bottom:9px}.match-shell .tabs button{min-height:38px;padding:7px 2px}.console-set-strip{margin-bottom:9px}.console-set-strip>small{font-size:10px}
.home-half-console .court-workspace{grid-template-columns:minmax(156px,.8fr) minmax(290px,1.65fr) minmax(310px,1.55fr)}.home-half-console .roster-panel{border-right:1px solid var(--line);border-left:0;grid-row:auto;padding:12px 9px}.home-half-console .court-center{grid-column:auto;grid-row:auto;padding:12px 20px;background:#fbf7f8}.console-toolbar{min-height:46px;padding:6px 12px}.console-scoreboard{grid-template-columns:1fr 80px 1fr}.score-team{padding:10px 16px}.point-value{font-size:44px}.score-team>div>strong:not(.point-value){font-size:18px}
.half-heading{max-width:410px;margin:0 auto 3px;gap:9px}.half-heading h3{font-size:13px}.half-heading span{font-size:10px;color:#816d71}.half-court-wrap{max-width:380px}.half-end-label{color:#66575a;font-size:11px;padding:7px 0}.baseline-label{color:#8d7c80}
.half-court-field{background:linear-gradient(to bottom,#cc824c 0 33.333333%,#7c3948 33.333333% 100%);outline:1px solid #bfacb0}.half-court-field:before{content:'';position:absolute;left:-12px;right:-12px;top:-4px;height:7px;background:#2a2022;border-radius:1px;z-index:4;pointer-events:none}
.home-half-console .court-position{padding:18px 4px 12px;gap:3px}.home-half-console .court-position:hover{background:#ffffff12}.home-half-console .court-position.selected{color:#fff}.home-half-console .court-position strong{min-width:45px;min-height:45px;font-size:30px;padding:4px}.home-half-console .court-position.selected strong{background:#fff3cc;color:#624514}.home-half-console .court-position .zone-label{font-size:10px;top:6px;left:8px;opacity:.85}.home-half-console .court-name{font-size:18px;font-weight:700;line-height:1.25;text-shadow:0 1px 2px #362b3033}.home-half-console .serve-ball,.home-half-console .selected .serve-ball{bottom:12px;color:#fff2b6;font-size:10px}.three-meter-line span{color:#eed9de}
.home-half-console .court-service-controls,.home-half-console .court-rotation-controls{max-width:410px;gap:7px;margin-top:8px}.home-half-console .court-service-controls>button,.home-half-console .court-rotation-controls>button{min-height:44px;font-size:12px}.home-half-console .court-manual-note{font-size:10px;line-height:1.7;margin-top:8px}
.quick-record-column{border-left:1px solid var(--line);min-width:0;background:white;padding:14px;display:flex;flex-direction:column;gap:17px}.technical-title{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.technical-title h3{font-size:14px}.selected-player-chip{display:block;font-size:18px;padding:9px 11px;width:100%;line-height:1.5}.quick-record-column .skill-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quick-record-column .skill-tabs button{min-height:46px;font-size:14px;padding:8px 4px;border-radius:7px}.quick-record-column .outcomes{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.quick-record-column .outcome{min-height:82px;padding:14px 10px;font-size:18px;border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.quick-record-column .outcome small{font-size:10px;margin-top:7px;line-height:1.5}.quick-record-column .input-hint{font-size:11px;line-height:1.7;margin-top:10px}
.recent-panel{border-top:1px solid var(--line);padding-top:13px;margin-top:auto}.recent-panel .loghead{margin-bottom:10px;gap:6px}.recent-panel .loghead h3{font-size:12px}.recent-panel .loghead button{min-height:40px;font-size:11px;padding:7px}.recent-panel .loglist{display:grid;grid-template-columns:1fr;gap:8px;max-height:120px}.recent-panel .logitem{font-size:12px;padding-left:8px}.recent-panel .logitem small{font-size:10px}.recent-panel .log-empty{padding:6px 0;font-size:12px}
.rally-shortcuts{margin-top:12px;border-top:1px solid var(--line);padding-top:9px;font-size:11px;color:var(--muted)}.rally-shortcuts summary{cursor:pointer;min-height:30px;padding-top:5px}.rally-shortcuts>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.rally-shortcuts button{font-size:12px;min-height:44px;padding:8px 4px}
.player-picker{width:680px;max-height:85vh;overflow:auto;padding:24px}.player-picker h2{font-size:21px}.player-picker h2 small{font-size:13px;color:var(--muted);font-weight:400;margin-left:6px}.player-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:11px}.player-choice{aspect-ratio:1;min-height:105px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f7edef;border-color:#dac0c6;border-radius:10px}.player-choice strong{font:600 28px/1 Consolas,monospace}.player-choice span{font-size:16px;overflow-wrap:anywhere}.player-choice small{font-size:10px;color:var(--muted)}.player-choice:hover{background:#ebccd2;border-color:#9e6571}.player-picker .intro{margin-bottom:16px}
@media(min-width:961px) and (max-height:950px){.match-shell .sidebar{height:42px}.match-shell .topbar{height:32px;margin-bottom:6px}.match-shell .head p{display:inline;margin-left:12px}.match-shell .head h1{display:inline;font-size:20px}.match-shell .head{margin-bottom:2px}.match-shell .head .primary{min-height:38px;padding:8px 12px}.match-shell .tabs{margin-bottom:7px}.console-set-strip .set-button{min-height:34px;padding:5px 10px}.console-toolbar{min-height:42px}.console-scoreboard .score-team{padding:7px 15px}.console-scoreboard .point-value{font-size:38px}.score-team>div>strong:not(.point-value){font-size:16px;margin:2px 0}.half-court-wrap{max-width:310px}.half-heading span{font-size:9px}.home-half-console .court-name{font-size:18px}.home-half-console .court-position strong{font-size:28px;min-width:37px;min-height:37px;padding:2px}.home-half-console .court-position{gap:2px;padding-top:16px;padding-bottom:7px}.home-half-console .court-position .zone-label{font-size:9px;top:4px}.home-half-console .court-position .serve-ball{bottom:8px}.roster-row{min-height:39px;margin:0;padding:4px}.roster-panel>header{margin-bottom:10px}.roster-group-head{margin:8px 0 4px}.bench-list{max-height:90px}.roster-panel>footer{padding-top:8px;margin-top:8px}.roster-panel>footer>.small{min-height:38px}.recent-panel .loglist{max-height:80px}.quick-record-column{gap:10px;padding:12px}.quick-record-column .outcome{min-height:78px}.technical-title{margin-bottom:10px}.quick-record-column .skill-tabs button{min-height:44px}.recent-panel{padding-top:10px}.quick-record-column .input-hint{margin-top:8px}}
@media(min-width:1350px){.home-half-console .court-workspace{grid-template-columns:210px minmax(360px,1.4fr) minmax(340px,1fr)}.half-court-wrap{max-width:410px}.home-half-console .court-name{font-size:21px}.home-half-console .court-position strong{font-size:35px}.quick-record-column{padding:18px}}
@media(max-width:960px) and (min-width:701px){.home-half-console .court-workspace{grid-template-columns:minmax(280px,1fr) minmax(290px,1fr)}.home-half-console .roster-panel{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line);border-right:0}.home-half-console .court-center{grid-column:1;grid-row:1;padding:12px 18px}.quick-record-column{grid-column:2;grid-row:1}.on-court-list,.bench-list{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-height:none}.roster-panel>footer{flex-wrap:nowrap}.roster-panel>footer>.small:first-child{flex-basis:auto}.roster-panel>footer>small{flex-basis:auto;align-self:center}.console-set-strip>small{display:none}.console-tools .small{font-size:10px}}
@media(max-width:700px){.match-shell .main{padding:0 10px 16px}.match-shell .sidebar{height:auto;min-height:48px;padding:7px 10px}.match-shell .topbar{height:auto;min-height:40px;font-size:10px;padding:5px 0;gap:5px}.match-shell .head h1{font-size:19px}.match-shell .head{align-items:center}.match-shell .tabs{gap:20px}.console-toolbar{align-items:stretch;gap:7px}.console-tools{flex-wrap:wrap}.console-tools>.small{min-height:42px;font-size:10px}.console-label{font-size:12px}.console-label>span:last-child{font-size:10px}.console-scoreboard{grid-template-columns:1fr 50px 1fr}.score-team{padding:10px 6px}.score-team>div>strong:not(.point-value){font-size:16px}.point-value{font-size:38px}.console-set-strip>small{display:none}.home-half-console .court-workspace{display:flex;flex-direction:column}.home-half-console .court-center{order:1;padding:13px 20px;border-bottom:1px solid var(--line)}.quick-record-column{order:2;border-left:0;padding:15px}.home-half-console .roster-panel{order:3;border-top:1px solid var(--line);border-right:0;padding:14px}.half-court-wrap{max-width:360px}.home-half-console .court-name{font-size:18px}.half-heading span{font-size:9px}.technical-title{flex-direction:row;flex-wrap:wrap}.selected-player-chip{font-size:18px}.quick-record-column .skill-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-record-column .outcome{min-height:90px}.on-court-list,.bench-list{display:grid;grid-template-columns:1fr 1fr;max-height:none}.player-picker{padding:20px}.player-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.player-choice{min-height:98px}.player-choice span{font-size:14px}.player-choice small{font-size:9px}}
@media(min-width:961px) and (max-height:950px){.technical-title h3{display:none}.selected-player-chip{padding:7px 10px}.quick-record-column .outcome{min-height:70px;font-size:17px;padding:10px 6px}.quick-record-column .outcome small{margin-top:5px}.recent-panel .logitem:not(:first-child),.recent-panel>.input-hint{display:none}.recent-panel .loghead{margin-bottom:7px}.recent-panel .loglist{max-height:45px}.rally-shortcuts{padding-top:5px;margin-top:8px}.rally-shortcuts summary{min-height:24px;font-size:10px}.half-court-wrap{max-width:310px}}
@media(min-width:961px) and (max-height:850px){.half-court-wrap{max-width:280px}.home-half-console .court-position strong{min-width:33px;min-height:33px;font-size:25px}.home-half-console .court-name{font-size:18px}.home-half-console .court-position{padding-top:15px;padding-bottom:4px}.home-half-console .court-position .zone-label{font-size:8px}.half-heading{margin-bottom:0}.half-end-label{padding:5px 0}.home-half-console .court-manual-note{margin-top:5px}}
@media(min-width:961px) and (max-height:950px){.console-scoreboard .score-team>div{line-height:1.2}.recent-panel .loghead button{min-height:44px}.console-tools .small{min-height:40px}.roster-panel>footer>.small{min-height:44px}}
