*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#111117;color:#e0e0e0;min-height:100vh}#app{margin:0 auto;padding:8px}.toolbar{margin-bottom:8px}.toolbar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.toolbar h1{font-size:1.2rem;color:#fff}.contact{font-size:.75rem;color:#666672}.control-sections{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:6px}.control-group{border:1px solid #33333e;border-radius:6px;padding:8px 12px;background:#17171e}.group-title{font-size:.7rem;color:#666672;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.controls label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#aaaab8}.controls input[type=number],.controls select{background:#1c1c22;border:1px solid #33333e;color:#e0e0e0;padding:4px 8px;border-radius:4px;font-size:.85rem;width:80px}.controls input[type=text]{background:#1c1c22;border:1px solid #33333e;color:#e0e0e0;padding:4px 8px;border-radius:4px;font-size:.85rem;width:170px}#load-select,#preset-select{width:120px}.controls input[type=checkbox]{accent-color:#4fc3f7}.controls button{background:#1c1c22;border:1px solid #33333e;color:#e0e0e0;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.dirty-flag{font-size:.75rem;color:#fa4}.dirty-flag.hidden{display:none}.controls button:hover{background:#2a2a32}.sub-group{display:flex;align-items:center;gap:6px;border:1px solid #2a2a34;border-radius:4px;padding:4px 8px;background:#1a1a22}.sub-group-view{border-color:#2d3840;background:#162028}.hint-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.hint{font-size:.75rem;color:#666672}.hint-buttons{display:flex;align-items:center;gap:6px}.hint-btn{background:#1c1c22;border:1px solid #33333e;color:#aaaab8;padding:2px 10px;border-radius:4px;cursor:pointer;font-size:.75rem}.hint-btn:hover{background:#2a2a32}.hint-btn.cancel-btn{border-color:#853;color:#fb8}.hint-btn.cancel-btn:hover{background:#3a2a1e}.help-toggle{background:#1c1c22;border:1px solid #33333e;color:#aaaab8;padding:2px 10px;border-radius:4px;cursor:pointer;font-size:.75rem}.help-toggle:hover{background:#2a2a32}.help-panel{border:1px solid #33333e;border-radius:8px;background:#17171e;padding:16px;margin-bottom:8px}.help-panel.hidden{display:none}.help-panel h3{font-size:.95rem;color:#fff;margin-bottom:12px}.help-columns{display:flex;flex-wrap:wrap;gap:24px}.help-section{min-width:220px;flex:1}.help-section h4{font-size:.8rem;color:#aaaab8;margin-bottom:6px}.help-section ul{list-style:none;font-size:.78rem;color:#9999a8;line-height:1.6}.help-section b{color:#ccccdc}#views-scroller{border:1px solid #33333e;border-radius:8px;overflow-x:auto;background:#1c1c22}#diagram{border-bottom:1px solid #252530}#diagram svg{display:block;min-width:600px;touch-action:pan-x pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.props-panel{margin-top:16px;background:#1c1c22;border:1px solid #33333e;border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.props-panel.hidden{display:none}.props-panel h3{font-size:.9rem;color:#fff}.props-panel label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#aaaab8}.props-panel input,.props-panel select{background:#111117;border:1px solid #33333e;color:#e0e0e0;padding:4px 8px;border-radius:4px;font-size:.8rem;width:70px}.props-panel button{background:#5a2020;border:1px solid #882222;color:#faa;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.8rem}.props-panel button:hover{background:#822}.jp-header{display:flex;align-items:center;gap:16px;width:100%}.jp-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%}#jp-tl-independent,#jp-tl-linked,#jp-tr-independent,#jp-tr-linked{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}#jp-tl-independent label,#jp-tl-linked label,#jp-tr-independent label,#jp-tr-linked label{font-size:inherit;gap:3px}#juggler-panel{flex-direction:column;align-items:flex-start;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay.hidden{display:none}.modal-dialog{background:#17171e;border:1px solid #33333e;border-radius:8px;padding:20px 24px;min-width:280px;display:flex;flex-direction:column;gap:14px}.modal-dialog h3{font-size:.95rem;color:#fff;margin:0}.modal-info{font-size:.78rem;color:#888898}.modal-fields{display:flex;flex-direction:column;gap:8px}.modal-fields label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:#aaaab8}.modal-fields input{background:#1c1c22;border:1px solid #33333e;color:#e0e0e0;padding:4px 8px;border-radius:4px;font-size:.85rem;width:90px;text-align:right}.modal-buttons{display:flex;gap:8px;justify-content:flex-end}.modal-buttons button{background:#1c1c22;border:1px solid #33333e;color:#aaaab8;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.82rem}.modal-buttons button:hover{background:#2a2a32}#tm-apply{border-color:#363;color:#8c8}#tm-apply:hover{background:#1a2e1a}#juggloid-import-modal .modal-dialog{min-width:min(90vw,560px)}#juggloid-import-modal .modal-fields label{width:100%}.modal-url-input{background:#1c1c22;border:1px solid #33333e;color:#e0e0e0;padding:5px 8px;border-radius:4px;font-size:.82rem;width:100%;font-family:monospace;line-height:1.4;resize:vertical}.modal-error{font-size:.78rem;color:#f88;min-height:1.2em}.svg-bg{fill:#1c1c22}.beat-line{stroke:#252530;stroke-width:1;stroke-dasharray:4 4}.beat-label{fill:#888898;font-size:12px;font-family:monospace}.timeline-line{stroke:#303036;stroke-width:1}.timeline-line.linked{stroke:#44444e}.linked-overlay{fill:#6464c826}.margin-overlay{fill:#0f0f1699}.arc{stroke:#4fc3f7;opacity:.8}.arc-arrow{fill:#4fc3f7;opacity:.8}.arc-mother,.arc-arrow.arc-mother{stroke:#ff9800;fill:#ff9800}.arc-related,.arc-arrow.arc-related{stroke:#ffeb3b;fill:#ffeb3b}.arc.arc-mother,.arc.arc-related{fill:none}.clip-indicator{stroke:#4fc3f7;stroke-dasharray:4 4;opacity:.6}.clip-indicator.arc-mother{stroke:#ff9800}.clip-indicator.arc-related{stroke:#ffeb3b}.throw-dot{fill:#fff;stroke:#4363cc;stroke-width:2}.throw-dot.dot-mother{fill:#fff;stroke:#ff9800;stroke-width:2.5}.throw-dot.dot-related{fill:#fff;stroke:#ffeb3b;stroke-width:2.5}.dot-label{fill:#33c;font-size:8px;font-weight:700;font-family:monospace;pointer-events:none}.catch-dot{fill:#aac}.juggler-label{font-size:16px;font-weight:700;font-family:monospace}.hand-label{font-size:10px;font-family:monospace}.hand-label.hand-R{fill:#f55}.hand-label.hand-L{fill:#55f}.link-info{fill:#8888b8;font-size:10px;font-family:monospace}.hold-segment{stroke:#66bb6a;stroke-width:2;opacity:.4;stroke-linecap:round}.hold-segment.hold-warning{stroke:#f22;opacity:.8;stroke-width:4}.causal-mode .hold-segment:not(.hold-warning){display:none}.preview-arc{stroke:#ffeb3b;opacity:.8}.preview-dot{fill:#ffeb3b;opacity:.8}.preview-dot-land{opacity:.6}.time-cursor{stroke:#4fc3f7;stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.time-cursor-arrow{fill:#4fc3f7;pointer-events:none}#ladder-bar,#spatial-bar{position:sticky;left:0;display:flex;align-items:center;gap:10px;padding:4px 10px;border-bottom:1px solid #33333e;background:#1c1c22}#spatial-bar{border-top:1px solid #33333e}#ladder-bar button,#spatial-bar button{background:#1c1c22;border:1px solid #33333e;color:#aaaab8;padding:2px 10px;border-radius:4px;cursor:pointer;font-size:.75rem}#ladder-bar button:hover,#spatial-bar button:hover{background:#2a2a32}#ladder-bar label,#spatial-bar label{color:#888898;font-size:.75rem;display:flex;align-items:center;gap:4px}#ladder-bar select,#ladder-bar input[type=number],#spatial-bar select,#spatial-bar input[type=number]{background:#14141a;border:1px solid #33333e;color:#ccccdc;padding:2px 4px;border-radius:3px;font-size:.75rem}#ladder-bar select{width:auto}#ladder-bar input[type=number],#spatial-bar input[type=number]{width:60px}#spatial-play{min-width:58px;text-align:center;line-height:1.5}#spatial-canvas canvas{display:block}@media(pointer:coarse){.controls button,.hint-btn,.help-toggle{padding:6px 14px;font-size:.9rem}.controls input[type=number],.controls select,.controls input[type=text]{padding:6px 8px;font-size:.9rem}.props-panel button{padding:6px 14px}.props-panel input,.props-panel select{padding:6px 8px}.hint{display:none}}@page{size:landscape;margin:1cm}@media print{body{background:#fff;color:#000}.control-sections,.hint-row,.help-panel,#ladder-bar,#spatial-bar,.props-panel{display:none!important}.toolbar{margin-bottom:16px}.toolbar-header{margin-bottom:4px}.toolbar h1{color:#000;font-size:1rem}.contact{color:#666}#views-scroller{border:none;background:#fff;overflow:visible}#diagram{border:none;background:#fff}#diagram svg{min-width:0}.svg-bg{fill:#fff}.beat-line{stroke:#ccc}.beat-label{fill:#333}.timeline-line,.timeline-line.linked{stroke:#ddd}.linked-overlay{fill:#c8c8ff26}.margin-overlay{fill:#0000000f}.arc{stroke:#06c}.arc-arrow{fill:#06c}.arc-mother,.arc-arrow.arc-mother,.arc-related,.arc-arrow.arc-related{stroke:#06c;fill:#06c}.arc.arc-mother,.arc.arc-related{fill:none}.clip-indicator,.clip-indicator.arc-mother,.clip-indicator.arc-related{stroke:#06c}.throw-dot,.throw-dot.dot-mother,.throw-dot.dot-related{fill:#fff;stroke:#000;stroke-width:2}.dot-label{fill:#000}.catch-dot{fill:#666}.juggler-label{fill:#000!important}.hand-label.hand-R{fill:#c00}.hand-label.hand-L{fill:#00c}.link-info{fill:#448}.hold-segment{stroke:#0a0}.hold-segment.hold-warning{stroke:#c00}#spatial-canvas{display:none!important}.time-cursor,.time-cursor-arrow{display:none}}
