:root{color:var(--text-strong);background:var(--app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;--app-bg: #f5f7f3;--app-bg-gradient: linear-gradient( 180deg, rgba(255, 255, 255, .86), rgba(242, 246, 239, .92) );--toolbar-bg: rgba(255, 255, 255, .78);--panel-bg: #ffffff;--panel-soft-bg: #fbfcfa;--control-bg: #eef3ea;--control-muted-bg: #f1f4ee;--control-active-bg: #ffffff;--selected-bg: #f0f8f1;--tactical-bg: #f9fcf7;--libero-bg: #f0fbfd;--toggle-bg: #f7faf4;--hover-bg: #f6faf3;--disabled-bg: #f3f5f1;--border: #dce2d7;--border-strong: #d5dccf;--border-control: #d8dfd2;--border-row: #e0e6dc;--border-soft: #dbe4d6;--border-selected: #4b8f67;--text-strong: #17201c;--text-heading: #1c271f;--text-body: #233028;--text-muted: #657263;--text-soft: #677266;--text-control: #4d5a4d;--text-active: #101714;--accent: #256a45;--on-accent: #ffffff;--accent-strong: #163d2a;--focus-ring: rgba(75, 143, 103, .2);--shadow-soft: rgba(30, 44, 35, .06);--shadow-medium: rgba(30, 44, 35, .08);--shadow-control: rgba(17, 24, 20, .13);--court-surface: #d98545;--court-boundary: #fff7ec;--court-line: rgba(255, 247, 236, .9);--court-column-line: rgba(226, 232, 220, .2);--court-net: #243242;--zone-number: rgba(255, 247, 236, .22);--zone-number-selected: rgba(22, 61, 42, .22);--player-shadow: rgba(23, 32, 28, .18);--player-shadow-muted: rgba(23, 32, 28, .1);--player-stroke: rgba(255, 255, 255, .92);--player-stroke-muted: rgba(255, 255, 255, .68);--player-label: #ffffff;--ball-highlight-yellow: #fff27a;--ball-fill: #ffd51f;--ball-fill-shadow: #e8aa06;--ball-panel: #123a9f;--ball-highlight: rgba(255, 247, 180, .42);--ball-outline: rgba(43, 56, 37, .28);--ball-shadow: rgba(23, 32, 28, .2);--movement-arrow: #ffffff;--movement-arrow-shadow: rgba(23, 32, 28, .22);--passer-stroke: #fff7b8;--secondary-passer-stroke: #d9f99d;--libero-accent: #0891b2;--libero-stroke: #e6fbff}.editor-shell[data-theme=dark]{color-scheme:dark;--app-bg: #101512;--app-bg-gradient: linear-gradient( 180deg, rgba(20, 29, 24, .96), rgba(12, 17, 14, .98) );--toolbar-bg: rgba(19, 28, 23, .88);--panel-bg: #162019;--panel-soft-bg: #111a15;--control-bg: #1c2a22;--control-muted-bg: #19251f;--control-active-bg: #25372c;--selected-bg: #1f3a2d;--tactical-bg: #121d17;--libero-bg: #122a2f;--toggle-bg: #121c16;--hover-bg: #213328;--disabled-bg: #151d18;--border: #2b3a30;--border-strong: #34463a;--border-control: #35453a;--border-row: #2b3a30;--border-soft: #334238;--border-selected: #6db184;--text-strong: #eef6ee;--text-heading: #f2f8f2;--text-body: #dbe7dc;--text-muted: #aab8ab;--text-soft: #a2b0a4;--text-control: #c5d3c5;--text-active: #f7fbf6;--accent: #5ba875;--on-accent: #ffffff;--accent-strong: #91cba1;--focus-ring: rgba(109, 177, 132, .28);--shadow-soft: rgba(0, 0, 0, .22);--shadow-medium: rgba(0, 0, 0, .32);--shadow-control: rgba(0, 0, 0, .24);--court-surface: #a45f31;--court-boundary: rgba(244, 239, 229, .82);--court-line: rgba(244, 239, 229, .64);--court-column-line: rgba(244, 239, 229, .14);--court-net: #111827;--zone-number: rgba(244, 239, 229, .16);--zone-number-selected: rgba(145, 203, 161, .26);--player-shadow: rgba(0, 0, 0, .28);--player-shadow-muted: rgba(0, 0, 0, .14);--player-stroke: rgba(255, 255, 255, .86);--player-stroke-muted: rgba(255, 255, 255, .52);--player-label: #ffffff;--ball-highlight-yellow: #fff076;--ball-fill: #f6cc1f;--ball-fill-shadow: #d99b05;--ball-panel: #1f4fb8;--ball-highlight: rgba(255, 247, 180, .34);--ball-outline: rgba(255, 255, 255, .22);--ball-shadow: rgba(0, 0, 0, .34);--movement-arrow: #ffffff;--movement-arrow-shadow: rgba(0, 0, 0, .34);--passer-stroke: #fef08a;--secondary-passer-stroke: #bef264;--libero-accent: #22d3ee;--libero-stroke: #cffafe}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.editor-shell{min-height:100vh;background:var(--app-bg-gradient),var(--app-bg)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;min-height:72px;padding:16px 24px;border-bottom:1px solid var(--border-strong);background:var(--toolbar-bg)}.toolbar-title{display:grid;flex:1 1 220px;gap:2px}.toolbar-title h1{margin:0;color:var(--text-strong);font-size:21px;font-weight:760;letter-spacing:0}.toolbar-title span{color:var(--text-muted);font-size:13px;font-weight:650}.toolbar-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.toolbar-inline-settings{display:flex;align-items:center;gap:10px}.toolbar-settings-menu{display:none;position:relative}.toolbar-settings-menu summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-control);background:var(--control-bg);cursor:pointer;list-style:none}.toolbar-settings-menu summary::-webkit-details-marker{display:none}.toolbar-settings-menu[open] summary{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.toolbar-settings-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:grid;gap:8px;min-width:220px;padding:8px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel-bg);box-shadow:0 10px 28px var(--shadow-medium)}.rotation-switcher{display:grid;grid-template-columns:repeat(6,42px);gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--control-muted-bg)}.rotation-button{min-width:0;min-height:36px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer;font-size:13px;font-weight:820}.rotation-button[aria-pressed=true]{color:var(--on-accent);background:var(--accent);box-shadow:0 1px 4px var(--shadow-control)}.language-switcher{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:4px 5px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-control);background:var(--control-bg)}.language-switcher svg{margin:0 4px}.language-switcher button{min-width:38px;min-height:36px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer;font-size:13px;font-weight:820}.language-switcher button[aria-pressed=true]{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.theme-switcher{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-control);background:var(--control-bg)}.theme-switcher button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer}.theme-switcher button[aria-pressed=true]{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.mode-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--control-bg)}.mode-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:104px;min-height:36px;padding:0 12px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer}.mode-button[aria-pressed=true]{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.editor-workspace{display:grid;grid-template-columns:280px minmax(420px,1fr) 260px;gap:16px;padding:16px}.left-panel,.right-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.panel{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--control-active-bg);box-shadow:0 6px 20px var(--shadow-soft)}.panel h2{margin:0;color:var(--text-heading);font-size:14px;font-weight:760;letter-spacing:0}.player-list,.rotation-list{display:grid;gap:8px}.libero-mode-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:8px;color:var(--text-body);background:var(--toggle-bg);font-size:13px;font-weight:780}.libero-mode-toggle input{width:18px;height:18px;accent-color:var(--libero-accent)}.player-row{display:grid;align-items:center;width:100%;min-height:42px;border:1px solid var(--border-row);border-radius:6px;color:var(--text-body);background:var(--panel-soft-bg);cursor:pointer}.player-row{grid-template-columns:14px minmax(42px,auto) minmax(0,1fr);gap:9px;padding:8px 10px;text-align:left}.player-row[aria-pressed=true]{border-color:var(--border-selected);background:var(--selected-bg)}.player-row.is-libero-replacement{border-color:var(--libero-stroke);background:var(--libero-bg)}.player-swatch{width:12px;height:12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--shadow-control)}.player-row-label{font-weight:760}.player-role{overflow:hidden;color:var(--text-soft);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.starting-setter-control{display:grid;gap:6px;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel-soft-bg)}.starting-setter-control span{color:var(--text-muted);font-size:11px;font-weight:760;text-transform:uppercase}.starting-setter-control select{width:100%;min-height:36px;border:1px solid var(--border-control);border-radius:6px;color:var(--text-heading);background:var(--control-active-bg)}.starting-setter-control select:disabled{color:var(--text-soft);background:var(--disabled-bg)}.toolbar-starting-setter-control{display:grid;grid-template-columns:minmax(0,auto) 114px;align-items:center;flex:0 0 auto;gap:8px;max-width:min(100%,320px);min-height:44px;padding:4px 5px 4px 10px;border-color:var(--border-strong);background:var(--control-muted-bg)}.toolbar-starting-setter-control span{min-width:0;color:var(--text-control);font-size:12px;line-height:1.15;text-transform:none;overflow-wrap:anywhere}.toolbar-starting-setter-control select{width:100%;min-width:0;min-height:36px;padding:0 30px 0 12px;border:0;color:var(--text-active);background:var(--control-active-bg);font-size:13px;font-weight:720;box-shadow:0 1px 4px var(--shadow-control)}.toolbar-starting-setter-control select:focus-visible{outline:2px solid var(--border-selected);outline-offset:-2px}.play-phase-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--control-bg)}.play-phase-switcher button{min-width:0;min-height:36px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer;font-size:13px;font-weight:800}.play-phase-switcher button[aria-pressed=true]{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.formation-actions{display:grid;grid-template-columns:1fr;gap:7px}.formation-actions button{min-height:36px;border:1px solid var(--border-control);border-radius:6px;color:var(--text-body);background:var(--control-active-bg);cursor:pointer;font-size:13px;font-weight:760}.formation-actions button:hover:not(:disabled){border-color:var(--border-selected);background:var(--hover-bg)}.formation-actions button:disabled{cursor:default;opacity:.5}.formation-toggle{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 12px;border:1px solid var(--border-control);border-radius:6px;color:var(--text-body);background:var(--control-bg);cursor:pointer;font-size:13px;font-weight:760}.formation-toggle input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.court-canvas{align-self:start;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--control-active-bg);box-shadow:0 10px 28px var(--shadow-medium)}.court-canvas.is-tactical{border-color:var(--border-selected);background:var(--tactical-bg)}.court-canvas.is-animation{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;border-color:var(--border-selected);background:var(--tactical-bg)}.animation-toolbar{display:grid;gap:10px}.animation-controls{display:grid;grid-template-columns:minmax(128px,.22fr) minmax(0,1fr);gap:8px}.animation-duration-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,auto);align-items:center;gap:8px;min-height:46px;padding:4px 4px 4px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--control-bg)}.animation-duration-control label{overflow:hidden;color:var(--text-control);font-size:12px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.animation-duration-stepper{display:grid;grid-template-columns:38px minmax(50px,1fr) 38px;gap:4px;min-width:138px}.animation-duration-stepper button,.animation-duration-stepper input{width:100%;min-height:36px;border:0;border-radius:6px;color:var(--text-active);background:var(--control-active-bg);font-size:13px;font-weight:800;text-align:center;box-shadow:0 1px 4px var(--shadow-control)}.animation-duration-stepper button{cursor:pointer;font-size:18px;line-height:1}.animation-duration-stepper button:hover{background:var(--hover-bg)}.animation-duration-stepper input{padding:0 4px}.animation-phase-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--control-bg)}.animation-phase-switcher button{min-height:36px;padding:0 12px;border:0;border-radius:6px;color:var(--text-control);background:transparent;cursor:pointer;font-size:13px;font-weight:800}.animation-phase-switcher button[aria-pressed=true]{color:var(--text-active);background:var(--control-active-bg);box-shadow:0 1px 4px var(--shadow-control)}.court-canvas.is-dragging{box-shadow:0 0 0 2px var(--focus-ring),0 10px 28px var(--shadow-medium)}.court-svg{display:block;width:100%;height:auto;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none}@media(min-width:761px){.court-canvas{justify-self:center;width:100%}.court-svg{width:auto;max-width:100%;max-height:calc(100dvh - 136px);margin-inline:auto}.court-canvas.is-animation .court-svg{max-height:calc(100dvh - 200px)}}.court-surface{fill:var(--court-surface)}.court-boundary{fill:none;stroke:var(--court-boundary);stroke-width:5}.court-line{stroke:var(--court-line);stroke-width:3}.court-column-line{stroke:var(--court-column-line)}.court-net{stroke:var(--court-net);stroke-width:5}.zone-label{pointer-events:auto}.zone-label.can-assign{cursor:pointer}.zone-label-number{fill:var(--zone-number);font-size:264px;font-weight:860;letter-spacing:0;pointer-events:none}.zone-label.is-selected .zone-label-number{fill:var(--zone-number-selected)}.player-marker{cursor:pointer}.court-canvas.can-drag-tactically .player-marker{cursor:grab}.court-canvas.is-dragging .player-marker{cursor:grabbing}.ball-marker{cursor:pointer}.court-canvas.can-drag-tactically .ball-marker{cursor:grab}.court-canvas.is-dragging .ball-marker{cursor:grabbing}.ball-shadow{fill:var(--ball-shadow)}.ball-fill{fill:var(--ball-fill)}.ball-band{fill:none;stroke:var(--ball-panel);stroke-linecap:round;stroke-linejoin:round}.ball-highlight{fill:none;stroke:var(--ball-highlight);stroke-linecap:round;stroke-width:3;pointer-events:none}.ball-outline{fill:none;stroke:var(--ball-outline);stroke-width:2;pointer-events:none}.movement-arrow{color:var(--movement-arrow);filter:drop-shadow(0 3px 3px var(--movement-arrow-shadow));pointer-events:none}.movement-arrow-chevron{fill:none;stroke:currentColor;stroke-linecap:butt;stroke-linejoin:miter}.player-shadow{fill:var(--player-shadow)}.player-fill{stroke:var(--player-stroke);stroke-width:4}.player-marker.is-selected .player-fill{stroke:var(--text-active);stroke-width:5}.player-marker.is-libero-replacement .player-fill{stroke:var(--libero-stroke)}.player-marker.receive-primary-passer .player-fill{stroke:var(--passer-stroke);stroke-width:5}.player-marker.receive-secondary-passer .player-fill{stroke:var(--secondary-passer-stroke);stroke-width:5}.player-marker.receive-protected .player-fill,.player-marker.receive-setter-release .player-fill,.player-marker.receive-middle-release .player-fill{stroke:var(--player-stroke-muted);stroke-dasharray:5 4;opacity:.55}.player-marker.receive-protected .player-shadow,.player-marker.receive-setter-release .player-shadow,.player-marker.receive-middle-release .player-shadow{fill:var(--player-shadow-muted)}.player-marker.receive-protected .player-label,.player-marker.receive-setter-release .player-label,.player-marker.receive-middle-release .player-label{fill:var(--player-label)}.player-label{fill:var(--player-label);font-size:15px;font-weight:820;letter-spacing:0;pointer-events:none}@media(max-width:1040px){.editor-workspace{grid-template-columns:240px minmax(360px,1fr)}.right-panel{grid-column:1 / -1}}@media(max-width:760px){.editor-toolbar{align-items:stretch;flex-direction:column;gap:8px;min-height:0;padding:10px}.toolbar-title{display:flex;align-items:baseline;justify-content:space-between;flex-basis:auto;width:100%}.toolbar-title h1{font-size:16px}.toolbar-title span{font-size:11px}.toolbar-controls{align-items:stretch;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px}.toolbar-starting-setter-control{flex-basis:auto;grid-template-columns:1fr;align-items:stretch;gap:6px;width:100%;max-width:none;padding:8px}.toolbar-starting-setter-control select{width:100%}.toolbar-inline-settings{display:none}.toolbar-settings-menu{display:block}.toolbar-settings-panel{right:auto;left:0}.toolbar-settings-panel .language-switcher,.toolbar-settings-panel .theme-switcher{justify-content:center;width:100%}.rotation-switcher{grid-template-columns:repeat(6,minmax(0,1fr))}.mode-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-button{gap:4px;min-width:0;padding:0 6px;font-size:12px}.mode-button svg{width:14px;height:14px}.editor-workspace{grid-template-columns:1fr;padding:8px}.court-canvas{order:-1;padding:8px}.editor-workspace.is-modeling .right-panel{order:0}.editor-workspace.is-modeling .left-panel{order:1}.animation-toolbar{align-items:stretch;flex-direction:column}.animation-controls{grid-template-columns:1fr}.animation-duration-control{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px}.animation-duration-control label{white-space:normal}.animation-duration-stepper{grid-template-columns:44px minmax(0,1fr) 44px;min-width:0}.animation-duration-stepper button,.animation-duration-stepper input{min-height:42px}.animation-phase-switcher{grid-template-columns:1fr}.animation-phase-switcher button{text-align:left}.player-shadow{r:58px}.player-fill{r:52px}.player-label{font-size:17px}}
