:root{color-scheme:light;--ink: #17253a;--muted: #6c7b90;--line: #e3e9f1;--paper: #ffffff;--canvas: #f4f7fb;--blue: #2863dc;--blue-rgb: 40, 99, 220;--blue-dark: #1748b5;--blue-soft: #eaf1ff;--teal: #56b9e9;--gold: #f4b847;--athlete-color: var(--blue);--athlete-ink: var(--blue-dark);--athlete-soft: var(--blue-soft);--group-color: var(--blue);--group-ink: var(--blue-dark);--group-soft: var(--blue-soft);--shadow: 0 12px 36px rgba(27, 50, 85, .07);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--canvas);color:var(--ink);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(var(--blue-rgb),.27);outline-offset:2px}#timeline:focus-visible{outline:3px solid rgba(var(--blue-rgb),.27);outline-offset:5px}.app{max-width:1580px;margin:0 auto;padding:0 30px 38px}header{position:relative;height:78px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#347af1,#1748b5);box-shadow:0 5px 12px #2863dc33}.brand-mark svg{width:21px;height:21px}.brand-title{font-size:16px;font-weight:760;letter-spacing:-.35px}.brand-subtitle{color:var(--muted);font-size:11px;margin-top:2px}.header-actions{position:absolute;right:0;display:flex;gap:9px;align-items:center}.button{border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:10px;padding:9px 13px;font-size:12px;font-weight:680;transition:.16s ease;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}.button:hover{border-color:#c7d4e5;transform:translateY(-1px);box-shadow:0 4px 12px #19315312}.button svg{width:15px;height:15px}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.button.ghost-blue{color:var(--blue);background:var(--blue-soft);border-color:transparent}.button.danger{color:#bb3e4b;background:#fff7f7;border-color:#f5d9dc}.button.small{padding:7px 10px;font-size:11px;border-radius:8px}.button.icon-only{width:31px;height:31px;padding:0}.button:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}.routine-card,.panel,.stage-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.routine-card{margin-top:23px;padding:18px 21px 16px}.routine-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.eyebrow{text-transform:uppercase;color:#8a98aa;letter-spacing:1.15px;font-size:9px;font-weight:800}.routine-title{margin:4px 0 0;font-size:17px;letter-spacing:-.45px;font-weight:760}.routine-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.count-control{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.count-control input{width:60px;border:1px solid var(--line);border-radius:8px;padding:7px 6px;color:var(--ink);font-size:12px;font-weight:700;text-align:center}.duration-control{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.duration-control input{width:66px;border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:var(--ink);font-size:12px;font-weight:700;text-align:center}.buffer-control{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}.buffer-control input{width:54px;border:1px solid var(--line);border-radius:8px;padding:7px 6px;color:var(--ink);font-size:11px;text-align:center}.time-total{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.timeline-wrap{--timeline-height: 14px;--timeline-label-space: 22px;position:relative;padding:var(--timeline-label-space) 0 6px}.timeline{height:var(--timeline-height);display:flex;align-items:flex-end;background:transparent;border-radius:999px;overflow:visible;position:relative;cursor:ew-resize;touch-action:none;user-select:none}.timeline:before{content:"";position:absolute;z-index:0;inset:0;border-radius:999px;background:var(--blue-soft)}.timeline-empty{width:100%;height:14px;position:relative;z-index:1;border-radius:999px;background:repeating-linear-gradient(135deg,var(--canvas),var(--canvas) 7px,var(--blue-soft) 7px,var(--blue-soft) 14px)}.timeline-segment{min-width:2px;border-right:2px solid white;height:14px;position:relative;z-index:1;transition:filter .15s ease}.timeline-buffer{flex:none;height:14px;min-width:2px;position:relative;z-index:1;border-radius:999px 0 0 999px;background:repeating-linear-gradient(135deg,var(--blue-soft),var(--blue-soft) 4px,var(--line) 4px,var(--line) 8px)}.timeline-segment-label{position:absolute;left:50%;bottom:20px;width:max-content;max-width:min(150px,24vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);color:#53647a;font-size:10px;line-height:13px;font-weight:650;pointer-events:none}.timeline-segment:first-child{border-radius:999px 0 0 999px}.timeline-segment:hover{filter:brightness(.93)}.timeline-segment.selected{box-shadow:inset 0 0 0 2px #122e635c;z-index:1}.playhead{position:absolute;z-index:2;top:var(--timeline-label-space);height:calc(var(--timeline-height) + 65px);width:14px;color:#15191e;background:linear-gradient(currentColor,currentColor) center top / 3px calc(var(--timeline-height) + 1px) no-repeat;border-radius:2px;transform:translate(-50%);transition:left .06s linear;pointer-events:none}.playhead:before{content:"";position:absolute;top:calc(var(--timeline-height) - 2px);left:0;width:14px;height:10px;clip-path:polygon(50% 0,0 100%,100% 100%);background:currentColor}.playhead:after{content:"";position:absolute;top:calc(var(--timeline-height) + 8px);bottom:0;left:50%;width:1px;transform:translate(-50%);background:currentColor}.playhead.has-logo{top:calc(var(--timeline-label-space) - 11px);width:36px;height:36px;border:0;border-radius:0;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:contain}.playhead.has-logo:before,.playhead.has-logo:after{display:none}.timeline-ruler{display:block;width:100%;overflow:visible;margin-top:4px;color:var(--muted);pointer-events:none}.count-ruler{height:38px;margin-top:14px}.time-ruler{height:26px}.timeline-ruler path{fill:none;stroke:currentColor;stroke-width:1}.timeline-ruler .ruler-minor{opacity:.45}.timeline-ruler .ruler-period{font-size:10px;font-weight:700;fill:var(--ink)}.timeline-ruler text{fill:currentColor;font-size:9px;font-variant-numeric:tabular-nums}.bpm-required{margin:8px 0 0;color:var(--muted);font-size:11px}.sidebar[inert],.stage-card[inert]{opacity:.55}.timeline-empty-copy{padding:11px 0 0;color:var(--muted);font-size:11px}.routine-foot{margin-top:12px;display:flex;justify-content:space-between;align-items:center;min-height:28px;gap:12px}.routine-status{display:none}.music-row{display:flex;align-items:center;gap:9px;margin-top:10px;min-width:0}.music-name{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.main-grid{display:grid;grid-template-columns:minmax(300px,345px) minmax(0,1fr);gap:19px;margin-top:19px;align-items:stretch}.sidebar{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px}.panel{overflow:visible;box-shadow:0 5px 18px #1b325509}#placementPanel{position:relative;z-index:5}#placementPanel .panel-body{overflow:visible}.panel-head{min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #edf1f6}.panel>summary{list-style:none;cursor:pointer}.panel>summary::-webkit-details-marker{display:none}.panel>summary:after{content:"\ff0b";margin-left:8px;color:#8998ab;font-size:15px;font-weight:450}.panel[open]>summary:after{content:"\2212"}.panel-heading{font-size:12px;font-weight:760;letter-spacing:-.1px}.panel-subtitle{margin-top:3px;font-size:10px;color:var(--muted)}.panel-body{padding:13px 15px 15px}.section-empty{border:1px dashed #d9e2ee;border-radius:10px;padding:12px;color:var(--muted);font-size:11px;line-height:1.5;background:#fafbfd}.selected-section{display:flex;justify-content:space-between;align-items:center;gap:10px}.selected-section-name{font-weight:740;font-size:14px}.selected-section-meta{color:var(--muted);font-size:10px;margin-top:4px}.icon-row{display:flex;gap:5px}.small-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:#8695a9;margin-bottom:8px}.target-select{width:100%;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--paper);padding:9px 10px;font-size:11px}.group-picker{position:relative}#memberChoices [data-add-member]{color:var(--athlete-ink)}.group-picker-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--paper);padding:9px 10px;font-size:11px;text-align:left}.group-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.group-picker-menu{position:absolute;z-index:12;top:calc(100% + 4px);left:0;width:100%;margin:0;border:1px solid var(--line);border-radius:9px;padding:4px;background:var(--paper);box-shadow:0 8px 24px #1b325529}.group-picker-menu[hidden],.group-picker-groups[hidden]{display:none}.group-picker-section{position:relative}.group-picker-section-button,.group-picker-group-button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:6px;padding:8px;color:var(--ink);background:transparent;text-align:left;font-size:10px;cursor:pointer}.group-picker-group-button:disabled{opacity:.5;cursor:not-allowed}.group-picker-section-button:hover,.group-picker-section-button:focus-visible,.group-picker-section-button.active,.group-picker-group-button:hover,.group-picker-group-button:focus-visible{background:#f0f5fc;outline:none}.group-picker-groups{position:absolute;z-index:13;top:0;left:100%;width:190px;margin-left:5px;border:1px solid var(--line);border-radius:9px;padding:4px;background:var(--paper);box-shadow:0 8px 24px #1b325529}.group-picker-empty{padding:8px;color:var(--muted);font-size:10px}.placement-hint{color:var(--muted);font-size:10px;line-height:1.45;margin:8px 0 0}.placement-hint.active{color:var(--blue);font-weight:650}.edit-controls{display:grid;gap:14px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:9px}.list-count{color:#8695a9;font-size:10px}.entity-list{display:grid;gap:6px;max-height:205px;overflow-y:auto}.entity-row{min-height:41px;display:flex;gap:8px;align-items:center;padding:6px 7px;border:1px solid #edf1f6;border-radius:9px;background:#fcfdff}.entity-avatar{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:8px;font-size:9px;font-weight:800;color:var(--athlete-ink);background:var(--athlete-soft);border:1px solid var(--athlete-color)}[data-group-type]{--group-color: var(--blue);--group-ink: var(--blue-dark);--group-soft: var(--blue-soft)}.entity-avatar.group{color:var(--group-ink);background:var(--group-soft);border-color:var(--group-color)}.entity-info{min-width:0;flex:1}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700}.entity-meta{font-size:9px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-actions{display:flex;gap:3px}.empty-list{padding:10px 8px;color:var(--muted);background:#fafbfd;border-radius:8px;font-size:10px;line-height:1.4}.divider{height:1px;background:#edf1f6}.roster-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;font-size:12px;font-weight:750}.roster-details summary::-webkit-details-marker{display:none}.roster-details summary:after{content:"\ff0b";font-size:16px;font-weight:450;color:#8998ab}.roster-details[open] summary:after{content:"\2212"}.roster-inner{padding:0 15px 14px}.stage-card{position:relative;z-index:1;min-width:0;padding:19px 21px 16px;display:flex;flex-direction:column}.stage-head{position:relative;display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;align-items:center;gap:10px;margin:0 auto 15px;width:min(100%,760px)}.stage-title{margin:0;font-size:16px;font-weight:760;letter-spacing:-.3px;text-align:center}.stage-count{justify-self:start;display:flex;align-items:baseline;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.stage-count output{color:var(--ink);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.movement-count-stepper{display:flex;flex-direction:column;align-self:center;gap:2px}.movement-count-stepper .button{width:23px;height:20px;padding:0;border-radius:5px;font-size:13px}#movementCountStepper[hidden]{display:none}.stage-state{justify-self:end;white-space:nowrap;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.stage-tools{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.movement-record-button{font-size:10px;padding:6px 9px}.movement-record-button:before{content:"";width:7px;height:7px;border-radius:50%;background:#d93645}.movement-record-button[aria-pressed=true]{color:#a52330;border-color:#efb5ba;background:#fff1f2}.movement-record-button[aria-pressed=true]:before{border-radius:1px}.movement-record-tools{width:min(100%,640px);margin:0 auto 10px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.movement-record-tools>label{font-size:11px}.movement-record-tools>.themed-select{width:auto;max-width:100%;font-size:11px;padding:7px 9px}.movement-record-hint{flex:1 1 100%;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.movement-warning{margin:0 auto 10px;width:min(100%,640px);color:#a52330;font-size:11px;line-height:1.5}#recordMovementButton[hidden],#movementRecordTools[hidden],#movementTimingWarning[hidden],#movementRotationField[hidden]{display:none}.live-dot{width:7px;height:7px;border-radius:50%;background:#a7b3c2}.live-dot.playing{background:#36b36a;box-shadow:0 0 0 4px #36b36a1f}.selection-tools{width:min(100%,640px);margin:0 auto 10px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--blue-soft)}.selection-tools[hidden],.selection-rotation[hidden]{display:none}.selection-actions,.selection-rotation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mat-placement.movement-locked:after{content:"\1f512";position:absolute;top:50%;left:calc(50% + 18px);font-size:10px;pointer-events:none}.selection-actions strong{margin-right:auto;font-size:11px}.selection-rotation{margin-top:10px;font-size:11px}.selection-rotation select{padding:6px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper)}.selection-rotation .field-help{flex-basis:100%;margin:0}.mat-frame{width:min(100%,640px);view-transition-name:routine-mat}.mat-frame{margin:0 auto;padding:11px;border-radius:14px;background:#e7edf4;box-shadow:inset 0 1px 3px #2a41621a}.mat-theme-control{width:min(100%,640px);margin:0 auto 8px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--muted);font-size:10px}.mat-theme-control[hidden]{display:none}.mat-theme-choice,.team-logo-tools{display:flex;align-items:center;gap:7px;min-width:0}.mat-theme-control select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--paper);color:var(--ink);font-size:10px}.team-logo-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.team-logo-name:empty{display:none}.mat{--mat-top: #4778a5;--mat-bottom: #315a8d;--mat-alt-top: #4b7ca7;--mat-alt-bottom: #355f91;--mat-tape-a: #9ba99e;--mat-tape-b: #b0b6a8;--mat-tape-c: #98a69a;--mat-tape-border: rgba(218, 225, 211, .42);width:100%;position:relative;aspect-ratio:54 / 42;overflow:hidden;border-radius:8px;background:var(--mat-bottom);touch-action:none}.mat[data-theme=purple]{--mat-top: #9374e8;--mat-bottom: #7055c5;--mat-alt-top: #9c80ee;--mat-alt-bottom: #785bd0;--mat-tape-a: #6551ad;--mat-tape-b: #7661bd;--mat-tape-c: #5f4ba5;--mat-tape-border: rgba(197, 181, 255, .45)}.mat[data-theme=black]{--mat-top: #292a2e;--mat-bottom: #17181b;--mat-alt-top: #303136;--mat-alt-bottom: #1b1c20;--mat-tape-a: #72757a;--mat-tape-b: #85888d;--mat-tape-c: #696c71;--mat-tape-border: rgba(205, 208, 213, .36)}.mat[data-theme=red]{--mat-top: #d84a4d;--mat-bottom: #b52f36;--mat-alt-top: #df5558;--mat-alt-bottom: #bd343b;--mat-tape-a: #ee777b;--mat-tape-b: #f28b8e;--mat-tape-c: #e76c71;--mat-tape-border: rgba(255, 195, 197, .45)}.mat[data-theme=gray]{--mat-top: #d5d7d8;--mat-bottom: #c4c7c9;--mat-alt-top: #dcddde;--mat-alt-bottom: #c9ccce;--mat-tape-a: #92979b;--mat-tape-b: #a1a6aa;--mat-tape-c: #888e92;--mat-tape-border: rgba(238, 240, 241, .7)}.mat-panels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:1fr}.mat-panel{background:linear-gradient(180deg,var(--mat-top) 0%,var(--mat-bottom) 100%);box-shadow:none}.mat-panel:nth-child(2n){background:linear-gradient(180deg,var(--mat-alt-top) 0%,var(--mat-alt-bottom) 100%)}.mat-panel:first-child{border-radius:8px 0 0 8px}.mat-panel:last-child{border-radius:0 8px 8px 0}.mat-tapes{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}#matPlacements{position:absolute;z-index:3;inset:0;pointer-events:none}#matPlacements>.mat-placement{pointer-events:auto}.mat-selection-box{position:absolute;z-index:12;pointer-events:none;border:1.5px solid var(--blue);background:rgba(var(--blue-rgb),.14)}.mat-movement-paths{--movement-path: #fff;position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mat[data-theme=white] .mat-movement-paths,.mat[data-theme=gray] .mat-movement-paths{--movement-path: #53647a}.movement-path{fill:none;stroke:var(--movement-path);stroke-width:.75px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.movement-arrow{fill:var(--movement-path)}.mat{--alignment-color: #c4f5ff;--mirror-color: #ffe39a}.mat[data-theme=white],.mat[data-theme=gray]{--alignment-color: #006780;--mirror-color: #995000}.mat-alignment-guides{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.alignment-guide{fill:none;stroke:var(--alignment-color);stroke-width:1.5px;stroke-dasharray:1 5;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #0005)}.alignment-guide.mirror{stroke:var(--mirror-color)}.alignment-guide.mirror-axis{opacity:.65}.alignment-mirror-label{fill:var(--mirror-color);stroke:var(--mat-bottom);stroke-width:3px;paint-order:stroke;font:700 12px system-ui;text-anchor:middle}.alignment-reference .marker-token,.alignment-reference .group-formation-token.flyer,.alignment-reference .group-formation-marker:not(:has(.flyer)){outline:2px solid var(--alignment-color);outline-offset:4px;border-radius:50%}.alignment-mirror-reference .marker-token,.alignment-mirror-reference .group-formation-token.flyer,.alignment-mirror-reference .group-formation-marker:not(:has(.flyer)){outline-color:var(--mirror-color)}.mat.recording-movement .mat-placement{cursor:grab}.mat.recording-movement .mat-placement.dragging{cursor:grabbing}.mat-placement.movement-selected .marker-token,.mat-placement.movement-selected .group-formation-marker,.mat-placement.multi-selected .marker-token,.mat-placement.multi-selected .group-formation-marker{outline:2px solid var(--blue);outline-offset:5px;border-radius:50%}.mat-tape{fill:none;stroke:var(--mat-tape-b);stroke-width:2px;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.mat-team-logo{position:absolute;z-index:3;bottom:1.5%;left:50%;transform:translate(-50%);width:9.26%;max-height:15%;object-fit:contain;opacity:.5;pointer-events:none}.mat-team-logo[hidden]{display:none}.mat-placement{position:absolute;z-index:3;transform:translate(-50%,-50%) scale(var(--mat-marker-scale, 1));display:flex;align-items:center;flex-direction:column;min-width:45px;max-width:110px;color:#fff;text-align:center;user-select:none;touch-action:none;cursor:default}.mat-placement.draggable{cursor:grab}.mat-placement.dragging{cursor:grabbing;z-index:10}.group-placement{min-width:45px;max-width:120px;display:flex}.group-formation-marker{position:relative;width:94px;height:94px;transform:rotate(var(--group-rotation, 0deg))}.next-section-preview{position:absolute;z-index:2;inset:0;opacity:.32}.next-section-preview,.next-section-preview *{pointer-events:none!important}.next-section-preview[hidden]{display:none}.next-section-preview .marker-name{position:absolute;top:100%;left:50%;transform:translate(-50%)}.next-section-preview .next-snap-target{outline:2px solid var(--alignment-color);outline-offset:4px;border-radius:50%}.group-token-label{display:inline-block;transform:rotate(calc(-1 * var(--group-rotation, 0deg)))}.group-formation-token.extra{z-index:4;border-style:dashed}.group-formation-token.alt-one{left:calc(50% - 12px);top:calc(50% - 12px);transform:translate(-50%,-50%)}.group-formation-token.alt-two{left:calc(50% + 12px);top:calc(50% - 12px);transform:translate(-50%,-50%)}.group-placement>.group-placement-actions{bottom:-12px;height:auto}.group-rotation-panel{position:absolute;top:calc(100% + 6px);right:0;width:174px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);box-shadow:0 4px 14px #00000038;pointer-events:auto;cursor:default}.group-rotation-panel[hidden]{display:none}.group-rotation-panel.above{top:auto;bottom:calc(100% + 6px)}.group-rotation-panel label{display:flex;justify-content:space-between;font-size:11px;font-weight:700}.group-rotation-panel input{display:block;width:100%;margin:8px 0 4px;accent-color:var(--blue);cursor:ew-resize}.rotation-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.group-formation-token{position:absolute;z-index:1;width:25px;height:25px;display:grid;place-items:center;border:1.5px solid var(--group-color);border-radius:50%;color:var(--group-ink);background:var(--group-soft);box-shadow:0 2px 6px #0d285847;font-size:7px;font-weight:850}#matPlacements .detached-placement{z-index:10}.group-formation-token.member-detached{visibility:hidden;pointer-events:none}.detached-athlete-watermark{position:absolute;z-index:8;transform:translate(-50%,-50%) scale(var(--mat-marker-scale, 1));pointer-events:none;text-align:center;opacity:.5}.detached-athlete-watermark .marker-token{border-style:dashed;box-shadow:none}.detached-athlete-watermark small{position:absolute;top:100%;left:50%;transform:translate(-50%);color:#fff;font-size:10px;white-space:nowrap;text-shadow:0 1px 3px #000}.group-formation-token.flyer{z-index:3;left:50%;top:50%;width:31px;height:31px;transform:translate(-50%,-50%);color:var(--group-ink);background:var(--group-soft);border:2px solid var(--group-color);font-size:8px}.group-formation-token.stump-base{width:45px;height:45px}.group-formation-token.stump-flyer{width:33px;height:33px;font-size:8px}.group-formation-token.back{left:50%;top:0;transform:translate(-50%)}.group-formation-token.front{left:50%;bottom:0;transform:translate(-50%)}.group-formation-token.main-base{left:10px;top:50%;transform:translateY(-50%)}.group-formation-token.side-base{right:10px;top:50%;transform:translateY(-50%)}.mat-placement:has(.group-placement-actions:not([hidden])){z-index:9}.group-placement-actions{position:absolute;z-index:8;inset:-12px 0 auto;height:24px;pointer-events:none}.athlete-placement .group-placement-actions{top:-26px}.group-placement-actions[hidden]{display:none}.group-placement-actions .button{position:absolute;top:0;width:24px;height:24px;padding:0;border-radius:50%;box-shadow:0 2px 6px #00000038;pointer-events:auto}.group-placement-actions [data-rotate-placement]{top:auto;bottom:0;right:0}.group-placement-actions [data-group-members]{top:-32px;left:50%;transform:translate(-50%);width:auto;height:26px;padding:3px 8px;border-radius:8px;font-size:10px}.athlete-placement .group-placement-actions:has([aria-label="Rejoin group"]) [data-join-action]{top:-64px}.group-placement-actions .button svg{width:13px;height:13px}.group-placement-actions [data-edit-layout]{left:0}.group-placement-actions [data-remove-placement]{right:0;color:#fff;background:#d93645;border-color:#d93645}.group-placement-actions [data-remove-placement]:hover{background:#bb2634;border-color:#bb2634}.athlete-placement .group-placement-actions [data-remove-placement]{right:calc(50% - 28px)}.athlete-placement .group-placement-actions [data-placement-skills]{left:calc(50% - 28px)}.marker-token{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:var(--athlete-ink);background:var(--athlete-soft);border:2px solid var(--athlete-color);box-shadow:0 3px 9px #0d285842;font-size:9px;font-weight:850}.marker-token,.group-formation-token{white-space:nowrap}#matPlacements>.athlete-placement{pointer-events:none}.athlete-placement>.marker-token{pointer-events:auto}.marker-token.group{color:var(--group-ink);background:var(--group-soft);border-color:var(--group-color)}.marker-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;padding:2px 5px;border-radius:5px;background:#112a58cc;font-size:8px;font-weight:730;text-shadow:0 1px 2px rgba(0,0,0,.2)}.mat .marker-token,.mat .group-formation-token:not(.alt){background:var(--mat-token-fill, #f2f6fc);color:var(--mat-token-ink, #17253a);box-shadow:0 0 0 1px #fff,0 0 0 2px #17253a,0 3px 7px #17253a55}.mat .group-formation-token.alt{border-color:#fff;box-shadow:0 0 0 1px #17253a,0 2px 4px #17253a55}.mat-empty{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(70%,300px);padding:15px;color:#fff;text-align:center;pointer-events:none;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:#123988b8;backdrop-filter:blur(4px)}.mat-empty strong{display:block;font-size:12px;margin-bottom:5px}.mat-empty span{display:block;font-size:9px;line-height:1.45;color:#ffffffc7}.mat.placing{cursor:crosshair;outline:3px solid rgba(40,99,220,.35);outline-offset:2px}dialog{border:0;border-radius:15px;padding:0;width:min(440px,calc(100% - 28px));box-shadow:0 24px 80px #1429493d;color:var(--ink)}#groupLayoutDialog{width:min(520px,calc(100% - 28px))}#movementDialog{width:min(340px,calc(100% - 28px))}#movementError:empty{display:none}.formation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(82px,auto));gap:7px}.formation-slot{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#f8fafd;text-align:center;transition:background .15s,border-color .15s}.formation-slot.drag-over,.formation-tray.drag-over{border-color:var(--blue);background:var(--blue-soft)}.formation-slot label{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.formation-slot-occupant{min-height:38px;display:flex;align-items:center;justify-content:center}.formation-slot-empty{color:#9aa7b7;font-size:9px}.formation-athlete{max-width:100%;overflow:hidden;padding:7px 9px;border:1px solid var(--athlete-color);border-radius:999px;color:var(--athlete-ink);background:var(--athlete-soft);box-shadow:0 2px 5px #1b325514;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;cursor:grab}.stunt-color-options{display:flex;flex-wrap:wrap;gap:6px}.stunt-color-option{width:30px;height:30px;border:2px solid transparent;border-radius:50%;background:var(--swatch);cursor:pointer}.stunt-color-option[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px;border-color:#fff}.stunt-color-option:disabled{opacity:.18;cursor:not-allowed}.formation-athlete:active{cursor:grabbing}.formation-athlete[draggable=false]{cursor:not-allowed}.formation-tray{grid-column:1 / -1;min-height:68px;padding:8px;border:1px dashed #bac7d7;border-radius:10px;background:#f4f7fb}.formation-tray-title{margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.formation-tray-items{display:flex;min-height:34px;flex-wrap:wrap;align-items:center;gap:6px}.formation-tray-empty{color:#9aa7b7;font-size:9px}.formation-slot.center{grid-column:2;grid-row:2;border-color:var(--blue);background:var(--blue-soft)}.formation-slot.back{grid-column:2;grid-row:1}.formation-slot.alt-one{grid-column:1;grid-row:1}.formation-slot.alt-two{grid-column:3;grid-row:1}.formation-slot.alt-three{grid-column:1;grid-row:3}.formation-slot.alt-four{grid-column:3;grid-row:3}.formation-slot.side-base{grid-column:3;grid-row:2}.formation-slot.main-base{grid-column:1;grid-row:2}.formation-slot.front{grid-column:2;grid-row:3}dialog::backdrop{background:#12203461;backdrop-filter:blur(2px)}.dialog-head{padding:19px 21px 13px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:17px;letter-spacing:-.35px}.dialog-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.dialog-body{display:grid;gap:13px;padding:17px 21px}.field{display:grid;gap:6px}#groupForm fieldset.field{min-width:0;margin:0;padding:0;border:0}#groupForm fieldset.field legend{padding:0;margin-bottom:6px;color:#607188;font-size:10px;font-weight:760}.field label{font-size:10px;color:#607188;font-weight:760}.field input,.field select{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:12px}.field-help{font-size:9px;line-height:1.45;color:var(--muted)}.check-row{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.check-row input{margin:2px 0 0;accent-color:var(--blue)}.check-row strong{display:block;color:var(--ink);font-size:11px}.check-row span span{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.member-search-wrap{position:relative}#groupDialog{width:min(520px,calc(100% - 28px))}#groupDialog .dialog-body{max-height:70vh;overflow-y:auto}.selected-members{height:48px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:4px;overflow-y:auto}.selected-members button{color:var(--athlete-ink);background:var(--athlete-soft);border-color:var(--athlete-color);font-size:10px;padding:4px 7px}#groupDraftTray{height:88px;overflow-y:auto}.member-choices[hidden]{display:none}.member-choices{position:absolute;z-index:10;top:100%;left:0;right:0;background:var(--paper);box-shadow:0 6px 18px #1429492e;max-height:175px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;padding:4px 9px}.member-search{width:100%;margin-bottom:7px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:var(--ink);font-size:11px}.member-search-empty{padding:10px 2px;color:var(--muted);font-size:10px}.member-choice{display:flex;align-items:center;gap:8px;padding:7px 1px;border-bottom:1px solid #f0f3f7;font-size:10px}.member-choice[hidden],.member-search-empty[hidden]{display:none}.member-choice:last-child{border-bottom:0}.member-choice input{accent-color:var(--blue)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 21px 18px;border-top:1px solid var(--line)}.toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%,14px);opacity:0;pointer-events:none;color:#fff;background:#1e304a;border-radius:10px;padding:10px 14px;box-shadow:0 8px 25px #0f1e3433;font-size:11px;transition:.2s ease}.toast.show{opacity:1;transform:translate(-50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-mode=view] .sidebar,body[data-mode=view] label[for=musicFile],body[data-mode=view] #addSectionButton,body[data-mode=view] .duration-control>span{display:none}body[data-mode=view] .main-grid{grid-template-columns:minmax(0,1fr)}body[data-mode=view] .mat-frame{width:65%;padding:0}body[data-mode=view] .stage-head{width:100%}body[data-mode=edit] #sectionPanelSub,body[data-mode=edit] #sectionBadge{display:none}body[data-mode=edit] #sectionEditor .icon-row{justify-content:center}.routine-card{view-transition-name:routine-panel}.stage-card{view-transition-name:mat-panel}.sidebar{view-transition-name:team-sidebar}::view-transition-group(*){animation-duration:.38s;animation-timing-function:ease-in-out}::view-transition-old(*),::view-transition-new(*){height:100%;object-fit:fill}body:not([data-mode=edit]) #importButton,body:not([data-mode=edit]) #exportButton,body:not([data-mode=edit]) #customizeMenu{display:none}.routine-length{display:none;font-size:14px;font-weight:750;color:var(--ink)}body[data-mode=view] .routine-length{display:inline-flex;align-items:center;gap:8px}.routine-length-label{font-size:11px;font-weight:500;color:var(--muted)}body:not([data-mode=edit]) .count-control,body[data-mode=view] .buffer-control,body[data-mode=view] .duration-control,body[data-mode=view] #sectionTotal{display:none}.music-row{margin-top:0;margin-left:auto;justify-content:flex-end;flex-wrap:wrap;max-width:65%}.music-row .music-name{max-width:240px}.routine-foot{flex-direction:row;align-items:center;flex-wrap:wrap}.stage-state{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.live-dot.playing{animation:live-pulse 1.8s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:.8;box-shadow:0 0 0 2px #36b36a14}50%{opacity:1;box-shadow:0 0 0 5px #36b36a2e}}.customize-menu{position:relative}.customize-menu summary{list-style:none;cursor:pointer}.customize-menu summary::-webkit-details-marker{display:none}.customize-dropdown{position:absolute;z-index:25;right:0;top:calc(100% + 8px);width:260px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.customize-dropdown>details>summary{padding:10px;font-size:12px;font-weight:700}.customize-dropdown>details>summary:after{content:"\25be";float:right}.customize-controls,.customize-dropdown .team-logo-tools{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:8px 10px}.customize-dropdown .mat-theme-choice{justify-content:space-between;font-size:11px}.customize-dropdown select{width:120px;height:34px;flex:0 0 120px;padding:7px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper)}.customize-dropdown{max-height:min(75vh,640px);overflow-y:auto;width:min(310px,calc(100vw - 24px))}.music-help{margin:0;color:var(--muted);font-size:11px;line-height:1.5}#manualMusicTempo[hidden],#resetMusicBpm[hidden],#resetMusicBuffer[hidden]{display:none}.music-tempos{display:flex;flex-direction:column;gap:8px}.music-tempo-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.music-tempo-row small{display:block;color:var(--muted);margin-top:3px}.music-tempo-row input{width:76px;border:1px solid var(--line);border-radius:7px;padding:7px;color:var(--ink)}#musicTempoList .music-tempo-row label{flex:1;min-width:0}#musicTempoList .music-tempo-row input{flex:none}.music-tempo-remove{flex:none;width:28px;height:28px;padding:0}.music-tempo-remove svg{width:14px;height:14px}.music-option{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4}.music-option:has(input:disabled){color:var(--muted)}.customize-controls .buffer-control{justify-content:space-between;font-size:12px}.music-option input{margin:2px 0 0;accent-color:var(--blue)}.detected-bpm{color:var(--muted);font-size:11px}.detected-bpm output{color:var(--ink);font-weight:700}#musicDetectionStatus{flex-basis:100%;text-align:right}@media(prefers-reduced-motion:reduce){.live-dot.playing{animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s}}@media(max-width:920px){.app{padding:0 18px 28px}.main-grid{grid-template-columns:290px minmax(0,1fr);gap:13px}.stage-card{padding:16px 14px 14px}.mat-frame{padding:8px}.routine-card{padding:15px}}@media(max-width:700px){.app{padding:0 12px 24px}header{height:67px}.brand-subtitle{display:none}.header-actions{right:0}.header-actions{gap:6px}.header-actions .button{padding:8px;font-size:0;gap:0}.header-actions .button svg{width:17px;height:17px}.routine-card{margin-top:14px;padding:14px 13px 12px}.routine-head{align-items:flex-start;margin-bottom:12px}.routine-title{font-size:15px}.routine-head{flex-wrap:wrap}.routine-tools{flex:1 1 auto;gap:6px}.count-control{font-size:9px}.count-control input{width:53px;padding:6px}.duration-control{font-size:9px}.duration-control input{width:57px;padding:6px}.time-total{font-size:10px}.routine-foot{align-items:flex-start;flex-direction:column;gap:8px}.routine-foot>div:last-child{width:100%}.routine-foot>div:last-child .button{width:auto;flex:1}.main-grid{display:flex;flex-direction:column-reverse;gap:12px;margin-top:12px}.stage-card{padding:14px 11px 13px}.stage-state{font-size:9px}.sidebar{gap:10px}.entity-list{max-height:180px}}@media(max-width:700px){.stage-state{font-size:12px;position:static;transform:none}.stage-head{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.stage-count{gap:4px;font-size:10px}.stage-count output{font-size:21px}.music-row{max-width:100%}.stage-title{font-size:14px}.routine-foot{flex-direction:row;align-items:center}.routine-foot>.music-row:last-child{width:auto;margin-left:auto}.header-actions .customize-menu>summary{padding:8px;font-size:10px}.customize-dropdown .button{font-size:11px}.customize-dropdown{position:fixed;top:60px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 80px)}.routine-foot>.music-row:last-child .button{flex:none}}.data-dashboard{display:none;min-width:0;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}body[data-mode=data] .routine-card,body[data-mode=data] .stage-card,body[data-mode=data] #currentSectionDetails,body[data-mode=data] #placementPanel{display:none}body[data-mode=data] .data-dashboard{display:block}body[data-mode=data] .main-grid{grid-template-columns:minmax(240px,300px) minmax(0,1fr);margin-top:26px}body[data-mode=data] .sidebar>.panel{border:0;background:transparent;box-shadow:none}body[data-mode=data] .entity-row{border:0;border-radius:0;background:transparent;padding:10px 0}body[data-mode=data] .entity-name{font-size:12px}body[data-mode=data] .entity-meta{font-size:10px}body[data-mode=data] .entity-list{max-height:320px;gap:0}body[data-mode=data] .roster-details summary{font-size:14px}body[data-mode=data] .roster-inner{padding-top:4px}body[data-mode=data] .list-toolbar,body[data-mode=data] .entity-actions{display:none}.data-dashboard h2{margin:6px 0 8px;font-size:25px;letter-spacing:-.7px}.data-copy{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.data-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:38px 0}.data-metric{text-align:center;min-width:0}.stat-circle{--progress: 0%;--ring-color: var(--blue);width:min(100%,190px);aspect-ratio:1 / 1;height:auto;position:relative;margin:0 auto 18px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--progress),var(--blue-soft) 0)}.stat-circle-inner{position:absolute;inset:12px;border-radius:50%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.stat-circle strong{font-size:clamp(28px,4vw,42px);font-variant-numeric:tabular-nums;letter-spacing:-1.5px}.stat-circle span{color:var(--muted);font-size:10px}.data-metric h3{font-size:14px;margin:0 0 7px}.data-record{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.data-record h3,.data-history h3{margin:0 0 6px;font-size:13px}.deduction-control[hidden]{display:none}.deduction-control{display:flex;flex-direction:column;align-items:center;gap:7px;margin:18px auto 0;font-size:11px;color:var(--muted);line-height:1.5}.deduction-input{width:90px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:13px}.deduction-control small{font-size:10px}.full-out-filter{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:12px;cursor:pointer}.full-out-filter small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.full-out-filter input{appearance:none;flex:none;width:36px;height:22px;margin:0;border:1px solid #c6d0df;border-radius:999px;background:#dbe3ee;cursor:pointer;position:relative}.full-out-filter input:after{content:"";position:absolute;width:16px;height:16px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}.full-out-filter input:checked{background:var(--blue);border-color:var(--blue)}.full-out-filter input:checked:after{left:16px}.full-out-hit-count{color:#248447}.full-out-not-hit-count{color:#bb3e4b}.record-deductions{display:grid;gap:6px;color:var(--muted);font-size:11px}.data-record-actions{display:flex;gap:8px;flex-wrap:wrap}.data-history{border-top:1px solid var(--line);padding-top:22px}.full-out-list{list-style:none;padding:0;margin:14px 0 0;max-height:270px;overflow-y:auto}.full-out-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.full-out-row time{color:var(--muted);font-size:11px;flex:1}.full-out-result{min-width:56px;font-weight:750;color:#248447}.full-out-result.missed{color:#bb3e4b}@media(max-width:700px){body[data-mode=data] .main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.data-dashboard{padding:22px 18px}.data-metrics{gap:16px;padding:28px 0}.stat-circle-inner{inset:9px}.data-metric h3{font-size:12px}body[data-mode=data] .entity-list{max-height:180px}}#fullOutDialog,#fullOutReviewDialog{width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto}.full-out-timeline{display:flex;gap:4px;overflow-x:auto;padding:4px 0 10px}.full-out-section{flex:var(--section-duration) 0 85px;border:2px solid transparent;border-radius:7px;padding:10px 7px;background:var(--blue-soft);color:var(--ink);font-size:11px}.full-out-section[aria-pressed=true]{border-color:var(--blue)}.full-out-section small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.full-out-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full-out-editor{padding:16px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;display:grid;gap:14px}.full-out-editor[hidden],#fullOutPointsField[hidden]{display:none}.full-out-editor h3{margin:0;font-size:15px}.field textarea{width:100%;resize:vertical;min-height:90px;padding:10px;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:9px;color:var(--ink)}.full-out-summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px}.full-out-review-section{border-top:1px solid var(--line);padding:14px 0}.full-out-review-section h3{font-size:14px}.full-out-review-entry{padding:10px 0;font-size:12px;line-height:1.6}.full-out-review-entry p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:5px 0 0}@media(max-width:480px){.full-out-pickers{grid-template-columns:1fr}.full-out-row{gap:6px;flex-wrap:wrap}}.statistics-title{display:flex;align-items:center;gap:10px}#weeklyStatsDialog{width:min(920px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto}.weekly-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:650}.weekly-hit{color:#2863dc}.weekly-deductions{color:#c36720}.weekly-chart{overflow-x:auto}.weekly-chart svg{display:block;width:100%;height:auto}#fullOutLegacyFields[hidden],.full-out-pickers[hidden],.full-out-summary[hidden],#fullOutTimeline[hidden],#weeklyStatsRuns[hidden]{display:none}.weekly-run-list{display:grid;gap:7px}.weekly-run-button{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:12px}.weekly-run-button:hover{background:var(--blue-soft);border-color:var(--blue)}.weekly-run-button small{color:var(--muted)}.full-out-did-not-perform{color:#bb3e4b;font-weight:650}.weekly-week-button{border:0;background:none;color:var(--blue);font:inherit;font-weight:700;padding:4px 0;text-decoration:underline;text-underline-offset:3px}#weeklyStatsBack[hidden]{display:none}.weekly-table-wrap{overflow-x:auto}#weeklyStatsTable{border-collapse:collapse;width:100%;font-size:11px;text-align:left}#weeklyStatsTable caption{text-align:left;font-weight:750;margin-bottom:10px}#weeklyStatsTable th,#weeklyStatsTable td{border-bottom:1px solid var(--line);padding:10px 8px;white-space:nowrap}#teamOverviewButton[hidden],#fullOutGroupAttribution[hidden]{display:none}#teamOverviewButton{margin:10px 0 8px}.entity-stat-button{display:block;width:100%;text-align:left;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer}.entity-stat-button:hover,.entity-stat-button[aria-pressed=true]{color:var(--blue);text-decoration:underline;text-underline-offset:3px}#fullOutGroupAttribution{margin:0;border:1px solid var(--line);border-radius:9px;padding:12px}#fullOutGroupAttribution legend{padding:0 5px;font-size:11px;font-weight:700}#fullOutDeductionAthletes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}#fullOutDeductionAthletes label{display:flex;gap:7px;align-items:center;font-size:12px}#fullOutDeductionAthletes input{accent-color:var(--blue)}.deduction-attribution{display:block;color:var(--muted);font-size:11px}#statsSkillControl[hidden],#statsSkillMessage[hidden],#fullOutSkillControl[hidden]{display:none}.stats-mode-controls{display:grid;gap:10px;margin-top:22px}.data-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.data-dashboard-heading{min-width:0;flex:1}.data-dashboard-heading h2{overflow-wrap:anywhere}.stats-mode-switch{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:2px;cursor:pointer;flex:0 0 104px;color:var(--muted);font-size:10px;font-weight:700;text-align:right}.stats-mode-switch input{appearance:none;position:relative;width:56px;height:32px;margin:0;border:2px solid #8c98a8;border-radius:999px;background:#e3e8f0;cursor:pointer;transition:background .16s,border-color .16s}.stats-mode-switch input:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#6c7b90;border-radius:50%;transition:transform .16s,background .16s}.stats-mode-switch input:checked{background:var(--blue);border-color:var(--blue)}.stats-mode-switch input:checked:after{transform:translate(24px);background:#fff}@media(prefers-reduced-motion:reduce){.stats-mode-switch input,.stats-mode-switch input:after{transition:none}}@media(max-width:480px){.data-dashboard-head{gap:10px}.stats-mode-switch{flex-basis:91px;font-size:9px}.data-dashboard-heading h2{font-size:22px}}.skill-add-row{display:flex;gap:8px}.skill-list{display:grid;gap:6px}.skill-list-row{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:7px 0;font-size:11px}.skill-checks{display:grid;gap:10px}.skill-checks label,.section-skill-assignment label{display:flex;align-items:center;gap:8px;font-size:12px}.section-skill-assignment{border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0;display:grid;gap:7px}.section-skill-assignment legend{font-size:11px;font-weight:700}button,input,select,textarea{font:inherit}input,textarea{appearance:none;-webkit-appearance:none;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;caret-color:var(--blue)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:disabled,textarea:disabled{background:var(--canvas);color:var(--muted);opacity:.65}input[type=number]{-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button,input::-webkit-search-cancel-button{appearance:none;margin:0}.stats-pages{display:flex;flex-wrap:wrap;gap:6px}.stats-pages button{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--paper);color:var(--blue-dark);font:inherit;font-size:12px;cursor:pointer}.stats-pages button[aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);font-weight:700}.data-dashboard-head{flex-wrap:wrap}.judge-files{padding:0;list-style:none;display:grid;gap:8px}.judge-files li{display:flex;align-items:center;gap:10px;justify-content:space-between;overflow-wrap:anywhere;min-width:0}.judge-files button{white-space:normal;overflow-wrap:anywhere}.saved-notes{white-space:pre-wrap;overflow-wrap:anywhere}#competitionFields,#individualSkillFields{padding-bottom:16px}#judgeFileError{color:#953a24}body[data-read-only=true] #recordFullOutButton{display:none}input[type=checkbox]:not([role=switch]){flex:none;width:16px;height:16px;display:inline-grid;place-content:center;border:1px solid var(--line);border-radius:4px;background:var(--paper);cursor:pointer;vertical-align:middle}input[type=checkbox]:not([role=switch]):checked{background:var(--blue);border-color:var(--blue)}input[type=checkbox]:not([role=switch]):checked:before{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-1px) rotate(-45deg)}input[type=range]{height:7px;border:0;border-radius:999px;background:var(--blue-soft)}input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--blue);border:2px solid var(--paper);border-radius:50%;box-shadow:0 0 0 1px var(--blue)}input[type=range]::-moz-range-thumb{width:15px;height:15px;background:var(--blue);border:2px solid var(--paper);border-radius:50%}.themed-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0;pointer-events:none}.themed-select{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);text-align:left;font-size:12px;cursor:pointer}.themed-select>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.themed-select>span:last-child{color:var(--blue);font-size:12px}.themed-select:hover,.themed-select[aria-expanded=true]{border-color:var(--blue)}.themed-select:disabled{background:var(--canvas);color:var(--muted);opacity:.65;cursor:not-allowed}.customize-dropdown .themed-select{width:120px;flex:0 0 120px;padding:8px;font-size:11px}.themed-menu{position:fixed;inset:auto;margin:0;padding:5px;overflow:auto;overscroll-behavior:contain;max-height:280px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 10px 30px #17253a26;z-index:100}.themed-menu::backdrop{background:transparent}.themed-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;font-size:12px;cursor:pointer}.themed-option:hover,.themed-option:focus-visible,.themed-option[aria-selected=true]{background:var(--blue-soft);color:var(--blue-dark);outline:none}.themed-option:disabled{opacity:.45;cursor:not-allowed}.mode-control{position:absolute;left:0;display:flex;align-items:center;gap:10px}.mode-slider{--mode-index: 0;--mode-color: #526782;position:relative;display:flex;align-items:center;padding:4px;width:134px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--canvas);touch-action:pan-y}.mode-slider:before{content:"";position:absolute;left:4px;top:4px;width:40px;height:32px;border-radius:999px;background:var(--mode-color);box-shadow:0 2px 6px #17253a20;transform:translate(calc(var(--mode-index) * 42px));transition:transform .2s,background .2s}.mode-slider button{z-index:1;flex:1;height:32px;padding:7px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);touch-action:pan-y}.mode-slider.dragging:before{transition:none}.mode-slider svg{width:18px;height:18px;pointer-events:none}.mode-slider button[aria-checked=true]{color:#fff}body[data-mode=edit] .mode-slider{--mode-index: 1;--mode-color: var(--blue)}body[data-mode=data] .mode-slider{--mode-index: 2;--mode-color: #9364b8}body[data-playing=true] .mode-slider{--mode-color: #21864c}.mode-live{color:#21864c;font-size:11px;font-weight:750;white-space:nowrap}.mode-live[hidden]{display:none}#playButton.primary{background:#21864c;border-color:#21864c}#athleteDialog{width:min(660px,calc(100vw - 24px))}.athlete-entry-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px;gap:10px;align-items:end;margin-bottom:12px}.athlete-entry-row .field{margin:0;min-width:0}.athlete-entry-row .button{margin-bottom:4px}.athlete-entry-row:first-child .remove-athlete-row{visibility:hidden}.calendar-control{display:flex;gap:8px}.calendar-control input{min-width:0;flex:1}.calendar-menu{width:282px;padding:12px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-grid small{padding:6px 0;color:var(--muted);font-size:10px}.calendar-grid button{padding:8px 0;text-align:center}.mat[data-theme=white]{--mat-top: #fff;--mat-bottom: #fff;--mat-alt-top: var(--blue-soft);--mat-alt-bottom: var(--blue-soft);--mat-tape-a: var(--blue);--mat-tape-b: var(--blue);--mat-tape-c: var(--blue);--mat-tape-border: transparent;border:1px solid var(--blue)}.mat[data-theme=white] .mat-panel{background:#fff;box-shadow:none}.mat[data-theme=white] .mat-panel:nth-child(2n){background:color-mix(in srgb,var(--blue) 5%,white)}.mat[data-theme=white] .mat-empty{color:var(--muted);background:var(--paper);border-color:var(--line)}.mat[data-theme=white] .mat-empty strong{color:var(--ink)}@media(max-width:700px){header{height:108px;align-items:flex-start;padding-top:15px}header .brand{margin-right:auto}.mode-control{top:52px;gap:8px}.header-actions{top:10px}.customize-dropdown{top:51px}.mode-slider{height:38px}.mode-slider:before{height:28px}.mode-slider button{height:28px;padding:5px}.athlete-entry-row{grid-template-columns:minmax(0,1fr) 30px;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.athlete-entry-row .field:nth-child(2){grid-column:1}.athlete-entry-row .remove-athlete-row{grid-column:2;grid-row:1 / 3;align-self:center}}@media(prefers-reduced-motion:reduce){.mode-slider:before{transition:none}}body[data-hosted]{padding-left:220px}.workspace-brand{display:flex;gap:10px;font-size:24px;font-weight:800;text-decoration:none;color:#172e49}.workspace-brand span{font-size:18px;font-weight:700}#workspaces{position:fixed;left:0;top:0;bottom:0;width:220px;background:var(--paper);border-right:1px solid #dce4ee;padding:25px 18px;overflow:auto;z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:13px}#workspaces h2{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;margin:15px 0 0;color:#697b91}#workspaces button,#workspaces input{font:inherit;font-size:12px;padding:10px;border:1px solid #dce4ee;border-radius:7px;background:var(--paper);text-align:left;min-width:0}#workspaces button:hover{background:#f0f5fc}#workspaces button[aria-current=page]{background:#eaf1ff;border-color:#cadbff;color:#1748b5;font-weight:700}#teamList{display:grid;gap:7px}#newTeamForm{display:grid;gap:8px;padding-top:16px;border-top:1px solid #e3e9f1}#newTeamForm label,#accountName,#workspaceStatus{font-size:12px;line-height:1.7;margin:0}#workspaceSignOut{margin-top:auto}#workspaceBanner{padding:12px 30px;font-size:12px;line-height:1.7;border-bottom:1px solid #e3e9f1;background:var(--paper)}body[data-read-only=true] #workspaceBanner{background:#fff5dc;color:#76551b}body[data-hosted=viewer]{padding-left:0}body[data-read-only=true] [data-edit-full-out],body[data-read-only=true] [data-remove-full-out],body[data-read-only=true] #recordFullOutButton,body[data-read-only=true] #customizeMenu,body[data-read-only=true] #importButton{display:none!important}body[data-read-only=true] .mode-slider{width:92px;grid-template-columns:repeat(2,42px)}body[data-read-only=true][data-mode=data] .mode-slider{--mode-index: 1}#teamAccess{max-width:650px;width:calc(100% - 32px);padding:25px;border:1px solid #dce4ee;border-radius:15px}#teamAccess p{font-size:13px;line-height:1.7;color:#647586}#teamAccess input{width:100%;padding:10px}#teamAccess li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;font-size:12px}#teamAccess ul{padding:0;list-style:none}.workspace-empty,.workspace-error{padding:60px;max-width:700px;font-size:18px}.workspace-error{color:#953a24}.workspace-empty p{line-height:1.8;color:#647586}@media(max-width:1000px){body[data-hosted]{padding-left:180px}#workspaces{width:180px;padding:20px 12px}body[data-hosted=viewer]{padding-left:0}body[data-hosted] .app{padding-left:16px;padding-right:16px}}@media(max-width:700px){body[data-hosted]{padding-left:0}#workspaces{position:relative;width:100%;height:auto;bottom:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border-bottom:1px solid #dce4ee}#teamList,#workspaceStatus{grid-column:1/-1}#teamList{display:flex;overflow:auto}#teamList button{flex-shrink:0}#newTeamForm{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center}#newTeamForm label{grid-column:1/-1}#workspaces h2{display:none}.workspace-brand{align-items:center}#accountName{justify-self:end}#workspaceBanner{padding:10px 16px}.workspace-empty,.workspace-error{padding:28px}body[data-read-only=true] .mode-slider{width:86px;grid-template-columns:repeat(2,39px)}}#teamList button{display:flex;align-items:center;gap:8px;color:var(--team-text, #172e49);background:var(--team-background, #fff);border-color:var(--team-border, #dce4ee)}#teamList button:hover,#teamList button[aria-current=page]{color:var(--team-text, #1748b5);background:var(--team-background, #eaf1ff);border-color:var(--team-border, #cadbff)}#teamList button[aria-current=page]{box-shadow:inset 3px 0 currentColor}#teamList button img{width:28px;height:28px;object-fit:contain;flex-shrink:0}#teamList button span{overflow-wrap:anywhere}#teamSettings,#teamOwnerSettings{display:grid;gap:8px;min-width:0;font-size:12px}#teamSettings{grid-column:1 / -1}#teamSettings[hidden],#teamOwnerSettings[hidden]{display:none}#workspaces #teamColor{padding:3px;height:36px;width:100%}#workspaces #deleteTeam{color:#953a24}:root[data-color-mode=dark]{color-scheme:dark;--ink: #e6edf7;--muted: #a6b5ca;--paper: #192332;--canvas: #101722;--line: #344155;--shadow: 0 12px 36px rgba(0, 0, 0, .25)}:root[data-color-mode=dark] :is(dialog,input,select,textarea){background-color:var(--paper);color:var(--ink);border-color:var(--line)}:root[data-color-mode=dark] ::placeholder{color:var(--muted);opacity:1}:root[data-color-mode=dark] dialog::backdrop{background:#000000a6}:root[data-color-mode=dark] :is(.section-empty,.empty-list,.entity-row,.formation-slot,.formation-tray){background:var(--canvas);border-color:var(--line)}:root[data-color-mode=dark] :is(.formation-slot.center,.formation-slot.drag-over,.formation-tray.drag-over){background:var(--blue-soft);border-color:var(--blue)}:root[data-color-mode=dark] :is(.panel-head,.entity-row,#workspaces,#workspaceBanner,#newTeamForm,#teamAccess){border-color:var(--line)}:root[data-color-mode=dark] .divider{background:var(--line)}:root[data-color-mode=dark] :is(.field label,#groupForm fieldset.field legend,.timeline-segment-label,.eyebrow,.small-label,.list-count,#workspaces h2,#teamAccess p,.workspace-empty p){color:var(--muted)}:root[data-color-mode=dark] :is(.playhead,.workspace-brand){color:var(--ink)}:root[data-color-mode=dark] :is(.group-picker-section-button,.group-picker-group-button):hover,:root[data-color-mode=dark] .group-picker-section-button.active,:root[data-color-mode=dark] #workspaces button:hover{background:var(--blue-soft)}:root[data-color-mode=dark] .button.primary{color:var(--accent-ink, white)}:root[data-color-mode=dark] .button.primary:hover{background:color-mix(in srgb,var(--blue) 88%,black);border-color:var(--blue)}:root[data-color-mode=dark] :is(.button.ghost-blue,.entity-stat-button:hover,.weekly-week-button){color:var(--blue-dark)}:root[data-color-mode=dark] :is(.button.danger,.movement-record-button[aria-pressed=true]){color:#ffabb5;background:#41242e;border-color:#91505d}:root[data-color-mode=dark] :is(.full-out-hit-count,.weekly-hit,.full-out-result:not(.missed)){color:#75d99b}:root[data-color-mode=dark] :is(.full-out-not-hit-count,.full-out-did-not-perform,.full-out-result.missed,#judgeFileError,#workspaces #deleteTeam){color:#ffabb5}:root[data-color-mode=dark] #teamList button,:root[data-color-mode=dark] #teamList button:hover,:root[data-color-mode=dark] #teamList button[aria-current=page]{color:var(--team-text, var(--ink));background:var(--team-background, var(--blue-soft));border-color:var(--team-border, var(--line))}:root[data-color-mode=dark] body[data-read-only=true] #workspaceBanner{color:#ffe0a0;background:#3b3020}:root[data-color-mode=dark] #weeklyStatsChart line{stroke:var(--line)}:root[data-color-mode=dark] #weeklyStatsChart text{fill:var(--muted)}:root[data-color-mode=dark] #weeklyStatsChart text[fill="#2863dc"]{fill:#92b9ff}:root[data-color-mode=dark] #weeklyStatsChart text[fill="#c36720"]{fill:#ffc37f}:root[data-color-mode=dark] .weekly-deductions{color:#ffc37f}:root[data-color-mode=dark] .timeline-segment{border-right-color:var(--paper)}
