/* Local workshop. Extends the published visual language. */
html{scrollbar-gutter:stable}
.box-enabled{cursor:pointer;transition:border-color .2s,box-shadow .2s}
.box-enabled:hover{border-color:#789365;box-shadow:0 18px 46px -24px #10211d55}
.box-enabled:focus-within{outline:2px solid #47722e;outline-offset:4px}
.box-entry{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.box-entry>span{font-size:14px;color:var(--muted)}
.box-open{font:inherit;font-size:14px;font-weight:750;background:none;border:0;padding:10px 0 10px 12px;min-height:44px;color:#365c27;cursor:pointer}
.box-open span{display:inline-block;margin-left:10px;font-size:21px;transition:transform .2s}
.box-enabled:hover .box-open span{transform:translate(2px,-2px)}
.box-dialog{border:0;padding:0;margin:0;background:transparent;color:var(--ink);max-width:none;max-height:none;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
.box-dialog[open]{display:grid;place-items:center;perspective:1400px}
.box-dialog::backdrop{background:rgba(6,20,15,.62);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.box-panel{display:flex;flex-direction:column;width:min(980px,calc(100vw - 64px));height:min(940px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);border:1px solid #bdcbb4;border-radius:20px;background:#fcfdf7;box-shadow:0 35px 100px #05120c66;overflow:hidden;transform-origin:center;will-change:transform,opacity;backface-visibility:hidden}
.box-header{flex:none;background:var(--green);color:var(--paper);padding:12px 28px 22px;border-bottom:4px solid var(--lime)}
.box-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.box-toolbar h2{font:750 14px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#bed0b9;margin:0}
.box-close{font:300 32px/1 system-ui,sans-serif;width:44px;height:44px;padding:0;border:1px solid #45604c;border-radius:50%;color:#f5f6f0;background:#ffffff09;cursor:pointer;flex:none}
.box-close:hover{background:#ffffff20}
.box-close:focus-visible,.box-scroll:focus-visible,.box-bench summary:focus-visible{outline:3px solid #8bb759;outline-offset:-4px}
.box-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:start;gap:14px}
.box-team.right{text-align:right}
.box-team-top{display:flex;align-items:center;gap:9px;margin-bottom:7px;min-height:30px}
.right .box-team-top{justify-content:flex-end}
.box-win{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--lime)}
.box-team-name{font-size:16px;font-weight:650;line-height:1.3;display:block;min-height:1.3em}
.box-total{display:block;font-size:clamp(32px,5vw,52px);font-weight:850;line-height:1.15;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:6px}
.box-team.is-winner .box-total{color:var(--lime)}
.box-versus{padding-top:16px;text-align:center;color:#bfceba}
.box-versus strong{display:block;font-size:14px;letter-spacing:.1em}
.box-versus span{display:block;font-size:22px;font-weight:750;margin-top:8px;color:#f5f6f0;font-variant-numeric:tabular-nums}
.box-versus small{display:block;font-size:12px}
.box-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#91a47e #edf1e7;-webkit-overflow-scrolling:touch;padding:24px 28px 34px}
.box-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.box-section-head h3{font-size:18px;margin:0;letter-spacing:-.015em}
.box-section-head span{font-size:14px;color:var(--muted)}
.box-lineups{border-top:1px solid var(--line)}
.box-row{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:stretch;border-bottom:1px solid #dce3d5;gap:0}
.box-player{padding:16px 14px 16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-content:center;position:relative;min-width:0}
.box-player.right{grid-template-columns:auto minmax(0,1fr);text-align:right;padding:16px 0 16px 14px}
.box-player.right .player-info{grid-column:2}.box-player.right .player-points{grid-row:1;grid-column:1}
.player-name{display:block;font-size:16px;font-weight:750;line-height:1.3;overflow-wrap:break-word}
.player-position{font-size:12px;color:var(--muted);font-weight:550;margin-left:5px;white-space:nowrap}
.player-stats{display:block;font-size:13px;line-height:1.55;color:#607058;margin-top:6px}
.player-points{font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums;align-self:center}
.player-points.negative{color:#a23838}.player-points.zero{color:#8a7156}
.box-slot{display:flex;align-items:center;justify-content:center;position:relative}
.box-slot:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#dce3d5}
.box-slot span{z-index:1;background:#ecf0e5;border:1px solid #d7dfcc;padding:5px 3px;border-radius:5px;min-width:41px;text-align:center;font-size:12px;line-height:1.2;font-weight:800;color:#58694d}
.box-row.total{border-bottom:0;align-items:center;padding:16px 0;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.box-row.total>div{display:flex;justify-content:space-between;gap:14px}.box-row.total>div:last-child{flex-direction:row-reverse}.box-row.total span{font-size:14px;color:var(--muted);font-weight:650}
.box-receipt{margin:12px 0 26px;padding:17px 20px;border-left:3px solid #769747;background:#ecf1e2;border-radius:0 8px 8px 0}
.box-receipt strong{display:block;font-size:14px;margin-bottom:4px}.box-receipt p{font-size:15px;line-height:1.6;margin:0}
.box-bench{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.box-bench summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;min-height:60px}
.box-bench summary::-webkit-details-marker{display:none}.box-bench summary>span:first-child{font-size:18px;font-weight:750}
.box-bench summary small{font-size:14px;font-weight:400;color:var(--muted);display:block;margin-top:4px}
.bench-plus{font-size:28px;font-weight:300}.box-bench[open] .bench-plus{transform:rotate(45deg)}
.bench-note{font-size:14px;color:var(--muted);margin:0 0 14px}
.box-bench .box-row:last-child{border-bottom:0}
.box-footer{font-size:13px;color:var(--muted);text-align:center;margin:24px 0 0}
.box-ghost{position:fixed!important;z-index:5!important;margin:0!important;pointer-events:none;transform-origin:center;backface-visibility:hidden;will-change:transform,opacity}
@media(max-width:760px){
 .box-panel{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .box-header{padding:calc(8px + env(safe-area-inset-top)) 18px 16px}
 .box-scoreboard{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px}
 .box-team-top{gap:6px}.box-team-top .team-badge{min-width:44px;font-size:12px;height:27px}
 .box-team-name{font-size:14px;min-height:2.6em}
 .box-total{font-size:36px}.box-versus{padding-top:9px}.box-versus strong{font-size:12px}.box-versus span{font-size:17px;margin-top:12px}
 .box-scroll{padding:20px 16px calc(26px + env(safe-area-inset-bottom))}
 .box-row{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}
 .box-player,.box-player.right{display:flex;flex-direction:column;gap:7px;align-items:stretch;padding:14px 7px 14px 0}
 .box-player.right{padding:14px 0 14px 7px}.player-name{font-size:15px;line-height:1.3}
 .player-position{display:none}.player-points{align-self:flex-start;font-size:22px}.right .player-points{align-self:flex-end}
 .player-stats{font-size:13px;line-height:1.4;margin-top:5px}.box-slot span{min-width:35px;font-size:12px;padding-inline:2px}
 .box-receipt{padding:14px;margin-top:8px}.box-row.total{font-size:18px}.box-row.total>div{display:block}.box-row.total>div:last-child{text-align:right}.box-row.total span{display:block;font-size:13px;margin-bottom:4px}
 .box-toolbar h2{font-size:13px}.box-section-head span{font-size:13px}.box-win{font-size:11px}
}
@media(max-height:500px) and (min-width:761px){.box-panel{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.box-total{font-size:30px}.box-header{padding-block:6px 10px}.box-team-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.box-enabled,.box-open span{transition:none}.box-enabled:hover .box-open span{transform:none}.box-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
