:root{--bg-app: #061428;--bg-alt: #04101e;--bg-panel: #0d2040;--bg-panel-2: #0d1f3c;--bg-raised: #123052;--border: #1a3a60;--border-hi: rgba(255,255,255,.08);--chalk: #ffffff;--muted: rgba(255,255,255,.58);--accent: #ffd43b;--accent-dim: rgba(255,212,59,.15);--team-a: #3b82f6;--team-b: #ff3c3c;--danger: #ff3c3c;--radius-s: 8px;--radius-m: 12px;--radius-l: 18px;--shadow: 0 10px 30px rgba(0,0,0,.35);--font-display: "Bebas Neue", "Arial Narrow", sans-serif;--font-body: "Barlow Condensed", system-ui, sans-serif;--panel-pad-y: clamp(6px, 1.4vh, 16px);--panel-gap: clamp(4px, 1.1vh, 14px);--section-pad-b: clamp(4px, 1vh, 12px);--h3-mb: clamp(4px, 1vh, 12px);--h3-fs: clamp(11px, 1.3vh, 12.5px);--swatch-size: clamp(19px, 2.6vh, 26px);--swatch-gap: clamp(5px, .8vh, 8px);--field-mt: clamp(6px, 1.4vh, 14px);--pill-pad-y: clamp(6px, .9vh, 9px);--pill-fs: clamp(11px, 1.3vh, 12.5px);--obj-pad-y: clamp(6px, 1.2vh, 12px);--card-pad: clamp(8px, 1.6vh, 16px);--rec-btn-size: clamp(32px, 5.4vh, 44px);--rec-gap: clamp(6px, 1.4vh, 10px);--rec-row-gap: clamp(8px, 1.6vh, 16px);--team-row-pad: clamp(7px, 1vh, 10px);--team-row-gap: clamp(7px, 1vh, 10px);--icon-btn-size: clamp(24px, 3.2vh, 32px);--tool-btn-size: clamp(30px, min(6.4vh, 11vw), 58px);--rail-w: calc(var(--tool-btn-size) + 16px);--rail-btn-gap: clamp(4px, 1.2vh, 12px);--rail-pad-y: clamp(6px, 1.6vh, 16px);--rail-gap: clamp(2px, .4vh, 4px);--btn-pad-y: clamp(4px, .8vh, 8px);--icon-size: clamp(24px, calc(var(--tool-btn-size) * .586), 34px);--icon-fs: clamp(14px, calc(var(--tool-btn-size) * .345), 20px);--label-fs: clamp(7px, calc(var(--tool-btn-size) * .147), 8.5px);--divider-my: clamp(2px, .4vh, 4px);--obj-btn-h: clamp(40px, 6.2vh, 64px);--input-h: clamp(26px, 3.6vh, 33px);--team-row-minh: clamp(34px, 4.8vh, 48px);--obj-grid-gap: clamp(4px, .9vh, 8px);--terrain-pad-y: clamp(6px, 1.2vh, 10px);--obj-icon-size: clamp(20px, 3.2vh, 30px);--terrain-thumb: clamp(16px, 2.4vh, 22px)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg-app);color:var(--chalk);font-family:var(--font-body);overflow:hidden;-webkit-tap-highlight-color:transparent}button{font-family:inherit}html,body{touch-action:manipulation;-webkit-touch-callout:none}button,.tool-btn,.obj-btn,.icon-btn,.swatch,.team-dot-input,.rs-trigger,.pill-btn,.terrain-select-btn,.tb-field-select-btn{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:none)and (pointer:coarse){:root{--icon-btn-size: 38px;--input-h: 42px;--swatch-gap: 8px}.team-dot-input{width:32px;height:32px}.swatches{grid-template-columns:repeat(6,1fr)}.recorder-btn{width:48px;height:48px}.rs-trigger{height:46px}.tool-btn{min-height:60px}}h3{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:var(--h3-fs);color:var(--muted);margin:0 0 var(--h3-mb)}h3 i{font-size:11px;width:14px;text-align:center;color:var(--accent);flex-shrink:0}.hidden{display:none!important}#app{display:grid;grid-template-columns:var(--rail-w) 1fr 264px;grid-template-rows:auto 1fr;grid-template-areas:"top top top" "rail stage panel";height:100vh;height:100dvh;width:100vw;transition:grid-template-columns .18s ease}#app.panel-collapsed{grid-template-columns:var(--rail-w) 1fr 0px}.app-header{grid-area:top;display:flex;flex-direction:column;z-index:20}.widget-wrap{position:relative}.widget-menu{position:fixed;width:190px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:0 12px 28px #00000080;padding:6px;display:none;flex-direction:column;gap:2px;z-index:700}.widget-wrap.open .widget-menu{display:flex}.widget-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;background:transparent;border:none;border-radius:6px;color:var(--chalk);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.05em;transition:background .15s}.widget-menu-item:hover{background:var(--bg-raised)}.widget-menu-item.sel{background:var(--accent-dim)}.widget-menu-icon{font-size:16px;flex-shrink:0}.widget-menu-name{flex:1}.widget-menu-check{font-size:11px;color:var(--accent);display:none}.widget-menu-item.sel .widget-menu-check{display:inline}.menu-wrap{position:relative}.rail-menu{position:fixed;width:170px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:0 12px 28px #00000080;padding:6px;display:none;flex-direction:column;gap:2px;z-index:700}.menu-wrap.open .rail-menu{display:flex}.rail-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;background:transparent;border:none;border-radius:6px;color:var(--chalk);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.05em;transition:background .15s}.rail-menu-item:hover{background:var(--bg-raised)}.rail-menu-item.sel{background:var(--accent-dim)}.rail-menu-icon{font-size:16px;flex-shrink:0;min-width:20px;text-align:center}.rail-menu-name{flex:1}.rail-menu-check{font-size:11px;color:var(--accent);display:none}.rail-menu-item.sel .rail-menu-check{display:inline}.icon-dash-arrow{display:inline-flex;align-items:center;justify-content:center;gap:2px;flex-shrink:0}.icon-dash-arrow .fa-minus{font-size:.5em}#toolRail{grid-area:rail;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:var(--rail-pad-y) 7px;justify-content:center;gap:var(--rail-btn-gap);overflow:hidden;min-height:0}.tool-btn{container-type:size;container-name:tool-btn;flex:0 1 var(--tool-btn-size);width:auto;aspect-ratio:1/1;min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;padding:6% 2%;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-m);cursor:pointer;transition:all .15s ease}.tool-btn:hover{background:var(--bg-raised);color:var(--chalk);transform:translateY(-1px)}.tool-btn:active{transform:translateY(0)}.tool-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);box-shadow:0 2px 10px #ffd43b1f}.tool-icon{width:var(--icon-size);height:var(--icon-size);font-size:var(--icon-fs);line-height:1;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:1;min-height:0;transition:background .15s ease}.tool-btn.active .tool-icon{background:transparent}.tool-icon svg.obj-svg-icon{width:100%;height:100%}.tool-label{font-size:var(--label-fs);min-height:0;font-family:var(--font-body);font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;line-height:1.1;white-space:nowrap;max-width:var(--tool-btn-size);overflow:hidden;text-overflow:ellipsis}@supports (container-type: size){.tool-btn .tool-icon{width:56cqh;height:56cqh;font-size:34cqh}.tool-btn .tool-label{font-size:13cqh;max-width:96cqw}}#toolRail>.menu-wrap,#toolRail>.widget-wrap{flex:0 1 var(--tool-btn-size);width:auto;aspect-ratio:1/1;min-height:0;min-width:0;display:flex}#toolRail>.menu-wrap>.tool-btn,#toolRail>.widget-wrap>.tool-btn{flex:1 1 auto;width:100%;height:100%;aspect-ratio:auto}.rail-push{margin-top:auto}.tool-btn.danger{color:var(--danger)}.tool-btn.danger:hover{background:#ff3c3c26;border-color:var(--danger)}.tool-sep{width:28px;height:1px;margin:0 auto;flex-shrink:0;background:linear-gradient(90deg,transparent,var(--border),transparent)}#stageWrap{grid-area:stage;background:radial-gradient(ellipse at 50% 0%,#0a1c38,var(--bg-app) 70%);display:flex;align-items:center;justify-content:center;padding:26px;overflow:hidden;position:relative;min-height:0;min-width:0}#stageContainer{position:relative;max-width:100%;max-height:100%;width:min(100%,max(240px,calc((100vh - 170px) * (900/528))));aspect-ratio:900/528;border-radius:var(--radius-l);overflow:visible;box-shadow:var(--shadow),0 0 0 1px var(--border);background:#04101e}#courtImg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:var(--radius-l)}#stageSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none;cursor:crosshair}#stageSvg.tool-select{cursor:default}#stageSvg.tool-eraser{cursor:cell}#courtMissing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#04101e;color:var(--muted);text-align:center;gap:4px;padding:20px}#courtMissing p{margin:2px 0}#courtMissing .small{font-size:12.5px}#courtMissing code{background:var(--bg-raised);padding:2px 8px;border-radius:6px;color:var(--accent)}.obj-token{cursor:grab}.obj-token:active{cursor:grabbing}.obj-selected{filter:drop-shadow(0 0 0 3px var(--accent))}.tb-trash-dropzone{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);display:flex;align-items:center;gap:10px;padding:12px 22px;background:var(--bg-panel-2);border:2px dashed var(--border-hi);border-radius:10px;color:var(--muted);font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;box-shadow:0 12px 30px #00000073;opacity:0;pointer-events:none;z-index:2000;transition:opacity .18s ease,transform .18s ease,background .15s ease,border-color .15s ease,color .15s ease}.tb-trash-dropzone.visible{opacity:1;transform:translate(-50%);pointer-events:auto}.tb-trash-dropzone i{font-size:15px}.tb-trash-dropzone.armed{background:var(--danger);border-color:var(--danger);border-style:solid;color:#fff;transform:translate(-50%) scale(1.06)}.select-ring{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7,6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}#propsPanel{grid-area:panel;position:relative;background:var(--bg-panel);border-left:1px solid var(--border);min-height:0}.panel-inner{width:264px;height:100%;overflow-y:auto;display:flex;flex-direction:column;padding:var(--panel-pad-y) 14px calc(var(--panel-pad-y) - 4px);justify-content:flex-start}.panel-inner,.panel-inner h3,.panel-inner .btn-clear-all,.panel-inner .recorder-btn-speed,.panel-inner .team-compact-name,.panel-inner .field-label-row{font-family:var(--font-body)}#app.panel-collapsed #propsPanel{border-left:none}#app.panel-collapsed .panel-inner{display:none}#panelToggle{position:absolute;top:50%;left:-18px;transform:translateY(-50%);width:18px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:9px 0 0 9px;border:1px solid var(--border-hi);border-right:none;background:var(--bg-panel);color:var(--muted);font-size:11px;cursor:pointer;z-index:5;transition:transform .18s ease,background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}#app.panel-collapsed #panelToggle{transform:translateY(-50%)}.panel-fab{display:none;position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#061428;border:none;align-items:center;justify-content:center;font-size:18px;box-shadow:0 8px 24px #ffd43b59,0 2px 10px #00000073;z-index:950;cursor:pointer;transition:transform .15s ease,filter .15s ease}.panel-fab:hover{filter:brightness(1.06)}.panel-fab:active{transform:scale(.93)}.panel-backdrop{position:fixed;inset:0;background:#04101e8c;opacity:0;pointer-events:none;z-index:14;transition:opacity .2s ease}.panel-section{margin-bottom:var(--panel-gap);padding-bottom:var(--section-pad-b);flex-shrink:0}.panel-section:last-of-type{border-bottom:none;margin-bottom:0}.panel-card{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--card-pad) var(--card-pad) calc(var(--card-pad) - 2px)}.panel-card+.panel-card{margin-top:var(--field-mt)}.swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--swatch-gap)}.swatch{width:100%;aspect-ratio:1/1;min-width:0;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:transform .12s ease}.swatch:hover{transform:scale(1.12)}.swatch.active{border-color:var(--chalk);box-shadow:0 0 0 2px var(--accent)}.swatches.swatches-disabled{opacity:.35;pointer-events:none}.field-label{display:block}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.field-label-row .field-val{color:var(--muted);font-weight:700;font-size:14px}.field-label input[type=range]{width:100%;accent-color:var(--accent);display:block}.teams-compact{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-m);padding:0 var(--card-pad)}.team-compact-row{display:flex;align-items:center;gap:10px;min-height:var(--team-row-minh)}.team-dot-input{width:var(--swatch-size);height:var(--swatch-size);border-radius:50%;border:2px solid var(--border);padding:0;background:none;cursor:pointer;overflow:hidden;flex-shrink:0;-webkit-appearance:none;appearance:none}.team-compact-name{flex:1;min-width:0;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-compact-actions{display:flex;gap:10px;flex-shrink:0}.icon-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;transition:all .15s ease}.icon-btn:hover{color:var(--accent);transform:translateY(-1px)}.icon-btn:active{transform:translateY(0)}.icon-btn-danger{color:var(--danger)}.icon-btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.pill-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-raised);border:1px solid var(--border);color:var(--muted);padding:var(--pill-pad-y) 10px;border-radius:999px;font-size:var(--pill-fs);font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s ease}.pill-btn i{font-size:11.5px}.pill-btn:hover{background:var(--accent);border-color:var(--accent);color:#061428}.pill-btn.ghost{background:transparent}.pill-btn.ghost:hover{background:var(--bg-raised);color:var(--chalk)}.pill-btn.danger{color:var(--danger)}.pill-btn.danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.panel-clear{margin-top:auto;padding-top:var(--section-pad-b);border-top:1px solid var(--border);border-bottom:none}.btn-clear-all{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-m);padding:10px 14px;color:var(--danger);font-family:var(--font-display);font-size:13px;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:all .15s ease}.btn-clear-all:hover{background:var(--danger);border-color:var(--danger);color:#fff}.object-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--obj-grid-gap)}.obj-btn-wrap{position:relative;display:flex;width:100%}.obj-btn-wrap .obj-btn{width:100%}.others-menu{position:fixed;width:210px;display:none;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:0 12px 28px #00000080;z-index:700}.obj-btn-wrap.open .others-menu{display:grid}.others-menu-item{display:flex;align-items:center;justify-content:center;padding:var(--obj-pad-y) 4px;height:var(--obj-btn-h);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius-m);cursor:pointer;transition:all .15s ease}.others-menu-item:hover{border-color:var(--accent);background:var(--accent-dim)}.others-menu-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;container-type:size;container-name:obj-icon}.others-menu-icon img{width:clamp(18px,80cqh,var(--obj-icon-size));height:clamp(18px,80cqh,var(--obj-icon-size));object-fit:contain}.cone-mask{width:clamp(18px,80cqh,var(--obj-icon-size));height:clamp(18px,80cqh,var(--obj-icon-size));-webkit-mask-image:url(data:image/webp;base64,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);mask-image:url(data:image/webp;base64,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);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cone-blue{background-color:#3b82f6}.cone-yellow{background-color:#ffd43b}.cone-green{background-color:#22c55e}.cone-red{background-color:#ff3c3c}.obj-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-panel-2);border:1px solid var(--border);color:var(--muted);padding:var(--obj-pad-y) 4px;height:var(--obj-btn-h);border-radius:var(--radius-m);font-size:10.5px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .15s ease}.obj-btn-icon{flex:1;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size;container-name:obj-icon}.obj-btn img{width:clamp(18px,80cqh,var(--obj-icon-size));height:clamp(18px,80cqh,var(--obj-icon-size));object-fit:contain}.obj-btn svg.obj-svg-icon{width:clamp(20px,84cqh,var(--obj-icon-size));height:clamp(20px,84cqh,var(--obj-icon-size));flex-shrink:1}.obj-btn-icon .fas,.obj-btn-icon .fa-solid{font-size:clamp(16px,76cqh,calc(var(--obj-icon-size) * .68))}@supports not (container-type: size){.others-menu-icon img,.cone-mask,.obj-btn img{width:var(--obj-icon-size);height:var(--obj-icon-size)}.obj-btn svg.obj-svg-icon{width:var(--obj-icon-size);height:var(--obj-icon-size)}.obj-btn-icon .fas,.obj-btn-icon .fa-solid{font-size:var(--obj-icon-size)}}.obj-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.terrain-select-wrap{position:relative;padding:0}.terrain-select-btn{width:100%;display:flex;align-items:center;gap:10px;padding:var(--terrain-pad-y) 14px;background:transparent;border:none;color:var(--muted);font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-align:left;transition:background .15s}.terrain-select-btn:hover{background:var(--accent-dim)}.terrain-select-wrap.open .terrain-select-btn{border-radius:var(--radius-m) var(--radius-m) 0 0}.terrain-thumb{width:var(--terrain-thumb);height:var(--terrain-thumb);flex-shrink:0;display:flex;align-items:center;justify-content:center}.terrain-thumb-img{width:100%;height:100%;object-fit:contain}.terrain-name{flex:1;color:var(--muted)}.terrain-arrow{font-size:11px;color:var(--muted);transition:transform .18s ease;flex-shrink:0}.terrain-select-wrap.open .terrain-arrow{transform:rotate(180deg)}.terrain-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-raised);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-m) var(--radius-m);overflow:hidden;display:none;flex-direction:column;z-index:20;box-shadow:0 12px 28px #00000080;max-height:min(320px,55vh);overflow-y:auto}.terrain-select-wrap.open .terrain-dropdown{display:flex}.terrain-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 14px;background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;transition:background .15s;text-align:left;color:var(--muted);font-family:var(--font-body);font-size:13px;font-weight:600;text-transform:uppercase}.terrain-dropdown-item:first-child{border-top:none}.terrain-dropdown-item:hover{background:var(--bg-panel-2)}.terrain-dropdown-item.sel{background:var(--accent-dim)}.terrain-dropdown-item .terrain-thumb-img{width:calc(var(--terrain-thumb) * .82);height:calc(var(--terrain-thumb) * .82)}.terrain-dropdown-name{flex:1;color:var(--muted)}.recorder-section{margin-bottom:0}.recorder-card{background:transparent;border:1px solid var(--border);border-radius:var(--radius-l);padding:14px 14px 12px;position:relative;container-type:inline-size;container-name:recorder-card}.recorder-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.recorder-status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0;transition:background .15s ease,box-shadow .15s ease}.recorder-card.has-recording .recorder-status-dot{background:var(--danger);box-shadow:0 0 0 3px #ff3c3c26}.recorder-card.is-recording .recorder-status-dot{background:var(--danger);box-shadow:0 0 0 3px #ff3c3c26;animation:recDotPulse 1.1s infinite}.recorder-card.is-playing .recorder-status-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);animation:none}@keyframes recDotPulse{0%,to{opacity:1;box-shadow:0 0 #ff3c3c73}50%{opacity:.35;box-shadow:0 0 0 5px #ff3c3c00}}.recorder-status-title{flex:1;min-width:0;font-family:var(--font-body);font-size:10.5px;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recorder-scrubber{margin-bottom:14px}.recorder-progress-track{position:relative;width:100%;height:6px;border-radius:999px;background:var(--bg-raised);cursor:default}.recorder-progress-fill{position:relative;height:100%;width:0%;min-width:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffb800);transition:width .08s linear}.recorder-progress-handle{position:absolute;top:50%;right:-6px;width:12px;height:12px;background:var(--accent);border:2px solid var(--bg-panel-2);border-radius:50%;transform:translateY(-50%);box-shadow:0 1px 4px #0006;opacity:0;transition:opacity .15s ease}.recorder-progress-track:hover .recorder-progress-handle,.recorder-card.is-playing .recorder-progress-handle{opacity:1}.recorder-time-row{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--font-body);font-size:10.5px;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--muted)}.recorder-time-elapsed{color:var(--muted);font-weight:700}#objectsLayer{transition:opacity .35s ease}#objectsLayer.loop-fade-out{opacity:0}.recorder-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--rec-gap);margin-bottom:var(--rec-row-gap)}.recorder-btn{width:clamp(28px,20cqw,var(--rec-btn-size));height:clamp(28px,20cqw,var(--rec-btn-size));aspect-ratio:1/1;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all .15s ease;font-size:clamp(11px,7.2cqw,calc(var(--rec-btn-size) * .34))}@supports not (container-type: inline-size){.recorder-btn{width:var(--rec-btn-size);height:var(--rec-btn-size);font-size:calc(var(--rec-btn-size) * .34)}}.recorder-btn-ghost{background:var(--bg-raised);border:1px solid var(--border);color:var(--muted)}.recorder-btn-ghost:hover:not(:disabled){color:var(--chalk);border-color:var(--border-hi);transform:translateY(-1px)}.recorder-btn-ghost:active:not(:disabled){transform:translateY(0)}.recorder-btn-ghost.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.recorder-btn-ghost:disabled{opacity:.35;cursor:not-allowed}.recorder-btn-speed{font-family:var(--font-body);font-size:clamp(9px,5.8cqw,13px);font-weight:700;letter-spacing:.01em}@supports not (container-type: inline-size){.recorder-btn-speed{font-size:clamp(10px,calc(var(--rec-btn-size) * .27),13px)}}.recorder-btn-record{background:var(--bg-raised);border:1px solid var(--border);color:var(--danger)}.recorder-btn-record:hover:not(:disabled){background:#ff3c3c1f;border-color:var(--danger)}.recorder-btn-record.is-armed{background:var(--danger);border-color:var(--danger);color:#fff;animation:recPulse 1.3s infinite}.recorder-btn-record.is-idle-ready{animation:recIdlePulse 2.8s ease-in-out infinite}@keyframes recPulse{0%,to{box-shadow:0 0 #ff3c3c73}50%{box-shadow:0 0 0 7px #ff3c3c00}}@keyframes recIdlePulse{0%,to{box-shadow:0 0 #ff3c3c38}50%{box-shadow:0 0 0 6px #ff3c3c00}}.recorder-btn-play{background:var(--accent);border:none;color:#061428;font-size:clamp(12px,7.6cqw,calc(var(--rec-btn-size) * .36));box-shadow:0 4px 14px #ffd43b4d}@supports not (container-type: inline-size){.recorder-btn-play{font-size:calc(var(--rec-btn-size) * .36)}}.recorder-btn-play:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.recorder-btn-play:active:not(:disabled){transform:translateY(0)}.recorder-btn-play.is-playing{background:var(--bg-raised);color:var(--accent);border:1px solid var(--accent);box-shadow:none}.recorder-btn-play:disabled{background:var(--bg-raised);color:var(--muted);border:1px solid var(--border);box-shadow:none;cursor:not-allowed}.recorder-divider{height:1px;margin:0 0 12px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.rs-trigger{width:100%;display:flex;align-items:center;gap:9px;height:38px;padding:0 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-m);color:var(--muted);font-family:var(--font-body);font-size:12.5px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.rs-trigger:hover:not(:disabled){border-color:var(--accent)}.rs-trigger:disabled{opacity:.45;cursor:not-allowed}.rs-trigger.is-loading{opacity:.7;pointer-events:none}.rs-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--accent-dim)}.rs-trigger-icon{font-size:12px;color:var(--accent);flex-shrink:0}.rs-trigger-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-trigger-name.placeholder{color:var(--muted);font-weight:500}.rs-dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 3px var(--accent-dim)}.rs-dirty-dot.hidden{display:none}.rs-trigger-arrow{font-size:10px;color:var(--muted);flex-shrink:0;transition:transform .15s ease}.rs-trigger[aria-expanded=true] .rs-trigger-arrow{transform:rotate(90deg);color:var(--accent)}.recorder-save-msg{min-height:0;font-size:11px;line-height:1.35;color:var(--danger);text-align:left;margin-top:6px}.rs-popover{position:fixed;width:240px;max-height:min(360px,65vh);display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 20px 48px #0000008c;z-index:800;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.rs-popover.opens-up{transform:translateY(6px) scale(.98)}.rs-popover.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.rs-popover-save{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.rs-popover-save input{flex:1;min-width:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--chalk);font-family:var(--font-body);font-size:12px;padding:8px 9px;outline:none;transition:border-color .15s ease}.rs-popover-save input:focus{border-color:var(--accent)}.rs-popover-save input::placeholder{color:var(--muted)}.rs-save-btn{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:8px;color:#061428;font-size:13px;cursor:pointer;transition:filter .15s ease,transform .15s ease}.rs-save-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.rs-save-btn:active:not(:disabled){transform:translateY(0)}.rs-save-btn:disabled{opacity:.4;cursor:not-allowed}.rs-save-btn.saving{cursor:wait}.rs-save-btn.done{background:#22c55e}.rs-save-btn.error{background:var(--danger);color:#fff}.rs-popover-list{flex:1;min-height:0;max-height:152px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-hi) transparent;display:flex;flex-direction:column;padding:4px}.rs-popover-list::-webkit-scrollbar{width:5px}.rs-popover-list::-webkit-scrollbar-track{background:transparent}.rs-popover-list::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:4px}.rs-popover-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.rs-popover-item{display:flex;align-items:center;gap:9px;padding:9px 8px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;color:var(--chalk);font-family:var(--font-body);font-size:12.5px;font-weight:600;transition:background .15s}.rs-popover-item:hover{background:var(--bg-raised)}.rs-popover-item.sel{background:var(--accent-dim);color:var(--accent)}.rs-popover-item-icon{font-size:11px;color:var(--muted);flex-shrink:0}.rs-popover-item.sel .rs-popover-item-icon{color:var(--accent)}.rs-popover-item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-popover-delete{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;opacity:1;transition:color .15s ease}.rs-popover-item:hover .rs-popover-delete,.rs-popover-item:focus-within .rs-popover-delete{color:var(--chalk)}.rs-popover-delete:hover{color:var(--danger)}.rs-popover-empty{padding:22px 10px;color:var(--muted);font-size:12px;text-align:center}#timerWidget{position:fixed;top:124px;right:288px;width:212px;background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel));border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow),0 0 0 1px var(--border-hi);z-index:50;overflow:visible;transform:scale(var(--timer-scale, 1));transform-origin:top left;transition:box-shadow .2s ease}#timerWidget.is-running{box-shadow:var(--shadow),0 0 0 1px #ffd43b59}#timerWidget.is-finished{box-shadow:var(--shadow),0 0 0 1px #ff3c3c80}.timer-toolbar{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:2}.timer-tool-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--muted);font-size:12px;cursor:pointer;transition:color .15s ease}#timerSettings:hover{color:var(--accent)}#timerClose:hover{color:var(--danger)}#timerWidget.is-editing #timerSettings{color:var(--accent)}.timer-view{display:flex;flex-direction:column;align-items:center;gap:10px}.timer-body{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 16px 20px}.timer-ring-wrap{position:relative;width:148px;height:148px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:none}.timer-ring-wrap:hover .timer-ring-track{stroke:var(--border-hi)}.timer-ring-wrap:active .timer-ring{transform:rotate(-90deg) scale(.96)}.timer-ring-wrap:focus-visible .timer-ring-progress{stroke:var(--accent);filter:drop-shadow(0 0 4px var(--accent))}.timer-ring{width:100%;height:100%;transform:rotate(-90deg);transition:transform .12s ease}.timer-ring-track{fill:none;stroke:var(--bg-raised);stroke-width:8;transition:stroke .15s ease}.timer-ring-progress{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s linear,stroke .2s ease}#timerWidget.is-finished .timer-ring-progress{stroke:var(--danger)}.timer-display{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:38px;font-variant-numeric:tabular-nums;color:var(--chalk);transition:color .2s ease;pointer-events:none}#timerWidget.is-running .timer-display{color:var(--accent)}#timerWidget.is-finished .timer-ring-wrap{animation:timerFinishedPulse 1s infinite}#timerWidget.is-finished .timer-display{color:var(--danger)}@keyframes timerFinishedPulse{0%,to{opacity:1}50%{opacity:.55}}.timer-controls{width:100%}.timer-start-btn{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:none;border-radius:10px;color:#061428;font-family:var(--font-body);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 3px 12px #ffd43b4d;transition:transform .15s ease,filter .15s ease,background .2s ease}.timer-start-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.timer-start-btn:active{transform:translateY(0)}.timer-run-controls{display:flex;justify-content:center;align-items:center;gap:9px}.timer-run-btn{width:38px;height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .15s ease}.timer-run-btn:hover{color:var(--chalk);border-color:var(--accent);background:var(--accent-dim)}.timer-run-btn:active{transform:scale(.94)}.timer-run-pause{background:var(--accent);color:#061428;border:none}.timer-run-pause:hover{color:#061428;border-color:transparent;background:var(--accent);filter:brightness(1.08)}.timer-run-reset:hover{color:var(--danger);border-color:var(--danger);background:#ff3c3c1a}#timerWidget.is-resetting .timer-ring{animation:timerResetFlash .4s ease}@keyframes timerResetFlash{0%{filter:brightness(1)}50%{filter:brightness(1.8)}to{filter:brightness(1)}}.timer-edit{display:flex;align-items:center;gap:3px;padding:10px 0}.tb-digit{display:flex;flex-direction:column;align-items:center;gap:3px}.tb-digit-btn{width:26px;height:18px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--muted);font-size:12px;cursor:pointer;transition:color .15s ease,transform .15s ease}.tb-digit-btn:hover{color:var(--accent)}.tb-digit-btn:active{transform:scale(.92)}.tb-digit-val{font-family:var(--font-display);font-size:38px;line-height:1;color:var(--chalk);font-variant-numeric:tabular-nums;min-width:40px;text-align:center;padding:3px;border-radius:6px;background:var(--bg-raised);border:1px solid var(--border)}.tb-digit-colon{font-family:var(--font-display);font-size:34px;color:var(--muted);padding:0 1px;margin-top:2px}.timer-edit-done{width:100%;height:32px;background:var(--accent);border:none;border-radius:10px;color:#061428;font-family:var(--font-body);font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s ease,transform .15s ease}.timer-edit-done:hover{filter:brightness(1.08)}.timer-edit-done:active{transform:scale(.98)}.timer-resize-handle{position:absolute;right:6px;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--muted);cursor:nwse-resize;transition:background .15s ease,transform .12s ease}.timer-resize-handle:hover{background:var(--accent)}.timer-resize-handle:active{transform:scale(1.3)}.inline-editor{position:absolute;background:var(--bg-raised);border:1px solid var(--accent);color:var(--chalk);font-family:var(--font-body);border-radius:6px;padding:4px 8px;font-size:14px;z-index:60;outline:none}@media(max-width:1100px){#app{grid-template-columns:var(--rail-w) 1fr 232px}.panel-inner{width:232px}:root{--rec-btn-size:34px;--rec-gap:6px}}@media(max-width:900px){#app,#app.panel-collapsed{grid-template-columns:var(--rail-w) 1fr;grid-template-areas:"top top" "rail stage"}#panelToggle{display:none}.panel-fab{display:flex}#propsPanel,#app.panel-collapsed #propsPanel{width:min(86vw,320px);border-left:1px solid var(--border);position:fixed;top:0;right:0;bottom:0;z-index:15;transform:translate(100%);transition:transform .22s ease}#app.panel-drawer-open #propsPanel{transform:translate(0)}.panel-inner{width:100%}#app.panel-collapsed .panel-inner{display:flex}#app.panel-drawer-open .panel-backdrop{opacity:1;pointer-events:auto}#stageWrap{padding:14px}}@media(max-width:480px){.tool-label{display:none}#app,#app.panel-collapsed{grid-template-columns:52px 1fr}}#peb-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#0d1f3cf7;border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 20px;transform:translateY(100%);transition:transform .3s ease}#peb-cookie-banner.peb-cookie-visible{transform:translateY(0)}.peb-cookie-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px}.peb-cookie-text{flex:1;display:flex;align-items:flex-start;gap:12px;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--muted)}.peb-cookie-icon{color:var(--accent);font-size:15px;margin-top:2px;flex-shrink:0}.peb-cookie-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.peb-cookie-actions{display:flex;gap:8px;flex-shrink:0}.peb-cookie-btn{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:opacity .15s}.peb-cookie-accept{background:var(--accent);color:#061428}.peb-cookie-decline{background:#ffffff0f;color:var(--chalk);border-color:#ffffff24}.peb-cookie-decline:hover{background:#ffffff1a}@media(max-height:620px){:root{--panel-pad-y:8px;--panel-gap:6px;--section-pad-b:6px;--swatch-size:19px;--card-pad:8px;--rec-btn-size:25px;--rail-pad-y:6px}.tool-label{display:none}}#tbConfigOverlay{z-index:5000}#tbConfigOverlay .am-modal{width:min(480px,92vw)}.tb-field-select-wrap{position:relative}.tb-field-select-btn{width:100%;display:flex;align-items:center;gap:12px;padding:11px 14px;background:#0a1c38;border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer;transition:border-color .15s,background .15s;text-align:left;color:var(--chalk)}.tb-field-select-btn:hover,.tb-field-select-wrap.open .tb-field-select-btn{border-color:var(--accent);background:var(--bg-raised)}.tb-field-select-wrap.open .tb-field-select-btn{border-radius:var(--radius-s) var(--radius-s) 0 0;border-bottom-color:transparent}.tb-field-select-icon{font-size:20px;line-height:1;flex-shrink:0}.tb-field-select-name{flex:1;font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk)}.tb-field-select-arrow{font-size:11px;color:var(--muted);transition:transform .18s ease;flex-shrink:0}.tb-field-select-wrap.open .tb-field-select-arrow{transform:rotate(180deg)}.tb-field-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-raised);border:1px solid var(--accent);border-top:none;border-radius:0 0 var(--radius-s) var(--radius-s);overflow:hidden;display:none;flex-direction:column;z-index:10;box-shadow:0 12px 28px #00000080}.tb-field-select-wrap.open .tb-field-dropdown{display:flex}.tb-field-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;transition:background .15s;text-align:left;color:var(--chalk)}.tb-field-dropdown-item:first-child{border-top:none}.tb-field-dropdown-item:hover{background:var(--bg-panel-2)}.tb-field-dropdown-item.sel{background:var(--accent-dim)}.tb-field-dropdown-icon{font-size:18px;line-height:1;flex-shrink:0}.tb-field-dropdown-name{flex:1;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.tb-field-dropdown-item.sel .tb-field-dropdown-name{color:var(--accent)}.tb-field-dropdown-check{font-size:11px;color:var(--accent);flex-shrink:0}.tb-teams-compact{display:flex;flex-direction:column;gap:8px}.tb-team-compact-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0a1c38;border:1px solid var(--border);border-radius:var(--radius-s);transition:border-color .15s}.tb-team-compact-row:hover{border-color:var(--border-hi)}.tb-team-name{flex:1;display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.tb-team-name input{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid transparent;outline:none;color:var(--chalk);font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.04em;padding:2px 0;transition:border-color .15s}.tb-team-name input:focus{border-bottom-color:var(--accent)}.tb-team-color-pill{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer;flex-shrink:0;transition:transform .14s,border-color .14s;box-shadow:0 2px 8px #0006;outline:none;background:transparent;padding:0;-webkit-appearance:none;appearance:none}.tb-team-color-pill:hover{transform:scale(1.15);border-color:#ffffff80}.tb-color-popup{position:fixed;z-index:300;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:10px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.tb-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:transform .12s ease,border-color .15s ease}.tb-color-swatch:hover{transform:scale(1.18)}.tb-color-swatch.active{border-color:var(--chalk)}.tb-toggle{position:relative;width:40px;height:22px;flex-shrink:0}.tb-toggle input{opacity:0;width:0;height:0;position:absolute}.tb-toggle-track{position:absolute;inset:0;border-radius:11px;background:#ffffff12;border:1px solid var(--border);cursor:pointer;transition:background .2s,border-color .2s}.tb-toggle input:checked+.tb-toggle-track{background:#ffd43b47;border-color:#ffd43b80}.tb-toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#ffffff59;transition:transform .2s,background .2s;pointer-events:none}.tb-toggle input:checked~.tb-toggle-thumb{transform:translate(18px);background:var(--accent)}
