.context-menu{position:fixed;background-color:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;padding:4px 0;z-index:10000;min-width:160px;animation:context-menu-fade-in .1s ease-out}@keyframes context-menu-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:#2c3e50;text-align:left;transition:background-color .1s}.context-menu-item:disabled{color:#95a5a6;cursor:default}.context-menu-item:hover:not(:disabled){background-color:#3498db;color:#fff}.context-menu-item:hover:not(:disabled) .context-menu-item-reason{display:block;max-width:220px;margin-top:2px;font-size:11px;line-height:1.3;white-space:normal}.context-menu-item-shortcut{color:#fffc}.context-menu-item:active:not(:disabled){background-color:#2980b9}.context-menu-item-label{flex:1}.context-menu-item-shortcut{margin-left:24px;font-size:12px;color:#95a5a6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.context-menu-separator{height:1px;margin:4px 8px;background-color:#ecf0f1}.surface-notice-anchor{position:absolute;inset-inline:16px;z-index:30;display:flex;justify-content:center;pointer-events:none}.surface-notice-anchor--center{top:50%;transform:translateY(-50%)}.surface-notice-anchor--bottom{bottom:24px}.surface-notice{--notice-soft: #f9fafb;--notice-strong: #f3f4f6;--notice-border-subtle: #e5e7eb;--notice-border-strong: #9ca3af;--notice-text: #374151;--notice-action-text: #374151;--notice-action-fill: #e5e7eb;--notice-action-hover: #d1d5db;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:2px 12px;max-width:100%;padding:4px 6px 4px 16px;border:1px solid var(--notice-border-subtle);border-radius:12px;background:var(--notice-soft);color:var(--notice-text);box-shadow:0 4px 18px #0f172a26,0 1px 4px #0f172a14;font:400 14px/1.5 system-ui,sans-serif;pointer-events:auto}.surface-notice[data-tone=info]{--notice-soft: #eff6ff;--notice-strong: #dbeafe;--notice-border-subtle: #bfdbfe;--notice-border-strong: #93c5fd;--notice-text: #1e3a5f;--notice-action-text: #1d4ed8;--notice-action-fill: #dbeafe;--notice-action-hover: #bfdbfe}.surface-notice[data-tint=none]{background:#fff}.surface-notice[data-tint=strong]{background:var(--notice-strong)}.surface-notice[data-outline=none]{border-color:transparent}.surface-notice[data-outline=strong]{border-color:var(--notice-border-strong)}.surface-notice-message{padding-block:8px;font-weight:500}.surface-notice kbd{border:1px solid #d1d5db;border-radius:4px;padding:1px 5px;background:#f9fafb;font:inherit;font-size:12px;white-space:nowrap}.surface-notice button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:7px;background:transparent;cursor:pointer;font:inherit}.surface-notice .surface-notice-action{color:var(--notice-action-text);background:var(--notice-action-fill);font-weight:600;padding-inline:10px}.surface-notice .surface-notice-dismiss{color:#6b7280;width:44px}.surface-notice button:hover{background:var(--notice-action-hover)}.surface-notice button:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.symbol-palette{position:absolute;top:10px;left:10px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;padding:10px;z-index:1000;min-width:160px;max-height:calc(100vh - 80px);overflow-y:auto}.palette-section{margin-bottom:12px}.palette-section:last-child{margin-bottom:0}.palette-section h4{margin:0 0 6px;font-size:12px;font-weight:600;color:#2c3e50;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.palette-section h4:before{content:"▼";font-size:8px;transition:transform .2s}.palette-section.collapsed h4:before{transform:rotate(-90deg)}.palette-customize-callout{background:transparent;border:none;padding:2px;cursor:pointer;color:#c0c4c8;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;transition:color .15s,background-color .15s}.palette-customize-callout:hover{color:#2c3e50;background:#0000000d}.palette-customize-callout svg{display:block}.palette-section.collapsed .symbol-grid{display:none}.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.symbol-button{width:34px;height:34px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .15s;display:flex;align-items:center;justify-content:center}.symbol-button:hover{border-color:#3498db;background-color:#f0f8ff}.symbol-button.selected{border-color:#3498db;background-color:#3498db;color:#fff}.symbol-button:active{transform:scale(.95)}.symbol-button:disabled{opacity:.4;cursor:not-allowed;border-color:#ccc}.symbol-button:disabled:hover{border-color:#ccc;background-color:#fff}.symbol-button.line-style-button{padding:6px}.symbol-button.line-style-button svg{display:block;width:24px;height:12px}.symbol-button.line-style-button.selected svg line,.symbol-button.line-style-button.selected svg path{stroke:#fff}.symbol-button.line-style-button.selected svg polygon{fill:#fff}.symbol-button.line-style-button.mixed{position:relative;border-color:#3498db;background-color:#eaf4fc}.symbol-button.line-style-button.mixed:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background-color:#3498db}.field-type-selector{display:flex;gap:0;border-radius:6px;overflow:hidden;border:2px solid #ddd}.field-type-caption{margin-top:4px;font-size:12px;color:#6b7280}.field-type-button{flex:1;padding:6px 8px;border:none;background-color:#fff;cursor:pointer;font-size:12px;font-weight:600;color:#2c3e50;transition:all .15s;border-right:1px solid #ddd}.field-type-button:last-child{border-right:none}.field-type-button:hover{background-color:#f0f8ff}.field-type-button.selected{background-color:#3498db;color:#fff}.field-type-button:active{transform:scale(.98)}.palette-section.collapsed .field-type-selector,.palette-section.collapsed .field-type-caption{display:none}.annotation-subsection{margin-bottom:8px}.annotation-subsection:last-child{margin-bottom:0}.annotation-label{display:block;font-size:11px;color:#666;margin-bottom:4px}.annotation-size-selector{display:flex;gap:4px}.annotation-size-button{width:28px;height:28px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.annotation-size-button:hover{border-color:#3498db;background-color:#f0f8ff}.annotation-size-button.selected{border-color:#3498db;background-color:#3498db;color:#fff}.annotation-size-button.mixed,.annotation-align-button.mixed{border-color:#3498db;background-color:#eaf4fc}.annotation-color-selector{display:flex;gap:4px;flex-wrap:wrap}.annotation-color-button{width:22px;height:22px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.annotation-color-button:hover{transform:scale(1.1)}.annotation-color-button.selected{border-color:#3498db;box-shadow:0 0 0 2px #fff,0 0 0 4px #3498db}.annotation-color-button.mixed{border-color:#3498db;box-shadow:0 0 0 2px #fff,0 0 0 4px #a9d3f0}.annotation-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#2c3e50;cursor:pointer}.annotation-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.palette-section.collapsed .annotation-subsection{display:none}.annotation-align-selector{display:flex;gap:4px}.annotation-align-button{width:28px;height:28px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#666}.annotation-align-button:hover{border-color:#3498db;background-color:#f0f8ff}.annotation-align-button.selected{border-color:#3498db;background-color:#3498db;color:#fff}.action-section{background-color:#e8f4fc;border-radius:6px;padding:8px;margin-bottom:12px}.action-button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:2px solid #3498db;background-color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;color:#2c3e50;transition:all .15s}.action-button:hover{background-color:#3498db;color:#fff}.action-button:active{transform:scale(.98)}.action-icon{font-size:18px}.action-label{flex:1;text-align:left}.los-control{display:flex;flex-direction:column;gap:6px}.los-label{display:block;font-size:11px;color:#666}.los-presets{display:flex;gap:4px}.los-preset-button{flex:1;padding:4px 2px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;color:#2c3e50;transition:all .15s}.los-preset-button:hover{border-color:#3498db;background-color:#f0f8ff}.los-preset-button.selected{border-color:#3498db;background-color:#3498db;color:#fff}.los-input-row{display:flex;gap:4px;align-items:center}.los-step-button{width:28px;height:28px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;color:#2c3e50;display:flex;align-items:center;justify-content:center;transition:all .15s}.los-step-button:hover{border-color:#3498db;background-color:#f0f8ff}.los-step-button:active{transform:scale(.95)}.los-input{flex:1;height:28px;border:2px solid #ddd;border-radius:4px;font-size:14px;font-weight:600;text-align:center;color:#2c3e50;padding:0 4px;min-width:0;-moz-appearance:textfield}.los-input::-webkit-outer-spin-button,.los-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.los-input:focus{outline:none;border-color:#3498db}.los-display-label{font-size:11px;color:#888;text-align:center}.palette-section.collapsed .los-control{display:none}@media(pointer:coarse){.symbol-palette:not(.symbol-palette--dock){left:0;right:0;top:auto;bottom:0;display:flex;align-items:flex-start;gap:14px;min-width:0;max-height:128px;padding:8px 10px;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;pointer-events:none}.symbol-palette:not(.symbol-palette--dock) .palette-section{flex:0 0 auto;margin:0;min-width:max-content;pointer-events:auto}.symbol-palette:not(.symbol-palette--dock) .palette-section h4{min-height:28px;margin-bottom:4px;font-size:11px;letter-spacing:0;white-space:nowrap}.symbol-palette:not(.symbol-palette--dock) .symbol-grid{display:flex;flex-wrap:wrap;gap:6px;max-width:214px}.symbol-palette:not(.symbol-palette--dock) .field-type-selector,.symbol-palette:not(.symbol-palette--dock) .los-presets,.symbol-palette:not(.symbol-palette--dock) .annotation-size-selector,.symbol-palette:not(.symbol-palette--dock) .annotation-align-selector,.symbol-palette:not(.symbol-palette--dock) .annotation-color-selector{gap:6px}.symbol-button,.field-type-button,.los-preset-button,.los-step-button,.annotation-size-button,.annotation-align-button,.annotation-color-button,.palette-customize-callout{min-width:44px;min-height:44px}.symbol-button{width:44px;height:44px;font-size:14px}.symbol-button.line-style-button svg{width:28px;height:18px}.field-type-button{padding:0 10px}.los-input{min-height:44px;font-size:16px}.annotation-color-button{width:44px;height:44px}.annotation-checkbox-label{min-height:44px}.annotation-checkbox-label input[type=checkbox]{width:22px;height:22px}}.field-change-modal .field-change-label{margin-top:14px;color:#475569;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.field-change-modal .field-change-label+.formation-apply-warning-toggle{margin-top:6px}.field-change-modal .field-change-fields{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.field-change-modal .field-change-hint{min-height:0}.field-change-modal .field-change-warning{color:#b45309;font-weight:600}.field-change-modal .formation-apply-warning-apply:disabled{opacity:.45;cursor:default;filter:none}@media(pointer:fine){.symbol-palette:not(.symbol-palette--dock){padding:8px;min-width:0;box-sizing:border-box;max-height:calc(100% - 20px)}.symbol-palette:not(.symbol-palette--dock) .los-input{width:0;height:26px}.symbol-palette:not(.symbol-palette--dock) .symbol-grid{grid-template-columns:repeat(4,32px)}.symbol-palette:not(.symbol-palette--dock) .symbol-button{width:32px;height:32px}.symbol-palette:not(.symbol-palette--dock) .symbol-button.line-style-button{padding:4px}.symbol-palette:not(.symbol-palette--dock) .annotation-color-button{width:20px;height:20px}.symbol-palette:not(.symbol-palette--dock) .palette-section{margin-bottom:10px}.symbol-palette:not(.symbol-palette--dock) .palette-section h4{margin-bottom:4px}}.stunt-group-button{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:2px solid #ddd;border-radius:4px;background-color:#fff;color:#111827;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:all .15s}.stunt-group-button:hover:not(:disabled){border-color:#3498db;background-color:#f0f8ff}.stunt-group-button.selected{border-color:#3498db;background-color:#3498db;color:#fff}.stunt-group-button:disabled{cursor:default;opacity:.55}.stunt-group-refusal{margin:4px 0 0;font-size:11px;line-height:1.3;color:#6b7280;max-width:214px}.formation-palette{position:absolute;top:10px;right:10px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;padding:10px;z-index:1000;width:180px;max-height:calc(100vh - 80px);overflow-y:auto}.formation-palette .palette-section{margin-bottom:12px}.formation-palette .palette-section:last-child{margin-bottom:0}.formation-palette .palette-section h4{margin:0 0 6px;font-size:12px;font-weight:600;color:#2c3e50;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.formation-palette .palette-section h4:before{content:"▼";font-size:8px;transition:transform .2s}.formation-palette .palette-section.collapsed h4:before{transform:rotate(-90deg)}.formation-palette .palette-section.collapsed .formation-grid{display:none}.formation-grid{display:flex;flex-direction:column;gap:4px}.formation-button{width:100%;padding:8px 12px;border:2px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;text-align:left;transition:all .15s;outline:none}.formation-button:hover{border-color:#94a3b8;background-color:#f8fafc}.formation-button:focus-visible{box-shadow:0 0 0 2px #3b82f680}.formation-button:active{transform:scale(.98);background-color:#e2e8f0;color:#0f172a;border-color:#94a3b8}.formation-button-selected{border-color:#27ae60;background-color:#f0fff4}.formation-button-modified{border-color:#d97706;background-color:#fffbeb}.formation-button-more{color:#888;text-align:center;font-size:18px;font-weight:700;letter-spacing:2px;padding:4px 12px}.formation-button-more:hover{color:#333;border-color:#666;background-color:#f5f5f5}.formation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:10000;display:flex;align-items:center;justify-content:center}.formation-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:360px;height:480px;display:flex;flex-direction:column;overflow:hidden}.formation-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #eee}.formation-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#111}.formation-modal-close{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.formation-modal-close:hover{background:#f0f0f0;color:#333}.formation-modal-search{margin:12px 20px;padding:8px 12px;border:1.5px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.formation-modal-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.formation-modal-search::placeholder{color:#aaa}.formation-modal-list{overflow-y:auto;padding:0 12px 12px;flex:1}.formation-modal-section{margin-bottom:8px}.formation-modal-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;padding:8px 8px 4px}.formation-modal-empty{padding:24px;text-align:center;color:#999;font-size:14px}.formation-apply-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a85}.formation-apply-warning{box-sizing:border-box;width:min(420px,100%);padding:20px;border-radius:12px;background:#fff;box-shadow:0 20px 60px #0f172a52}.formation-apply-warning h3{margin:0 0 8px;color:#0f172a;font-size:17px;line-height:1.3}.formation-apply-warning p{margin:0;color:#475569;font-size:13px;line-height:1.55}.formation-apply-warning p+p{margin-top:8px}.formation-apply-warning-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:14px;padding:3px;border:1px solid #cbd5e1;border-radius:9px;background:#f1f5f9}.formation-apply-warning-toggle button{min-height:36px;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:#475569;cursor:pointer;font-size:12px;font-weight:600}.formation-apply-warning-toggle button.is-selected{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0f172a29}.formation-apply-warning-toggle button:only-child{grid-column:1 / -1}.formation-apply-warning-description{min-height:62px;margin-top:12px;padding:11px 12px;border-radius:8px;background:#f8fafc}.formation-apply-warning-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.formation-apply-warning-actions button{min-height:36px;padding:7px 12px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:600}.formation-apply-warning-cancel{border:1px solid #cbd5e1;background:#fff;color:#475569}.formation-apply-warning-apply{border:1px solid #2563eb;background:#2563eb;color:#fff}.formation-apply-warning-actions button:hover{filter:brightness(.97)}.formation-apply-warning-actions button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.formation-apply-warning-toggle button:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.formation-status{border-top:1px solid #e5e7eb;margin-top:2px;padding-top:7px}.formation-status-row{padding:3px 0}.formation-status-row+.formation-status-row{margin-top:3px;border-top:1px solid #e5e7eb;padding-top:6px}.formation-status-summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:5px}.formation-status-summary--squad{grid-template-columns:minmax(0,1fr) auto}.formation-status-label{font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.45px;font-size:9px}.formation-status-indicator{width:7px;height:7px;border-radius:50%}.formation-status-indicator--match{background:#22c55e}.formation-status-indicator--modified{background:#f59e0b}.formation-status-indicator--unset{background:#94a3b8}.formation-status-count{color:#94a3b8;font-size:9px;font-weight:600}.formation-status-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:11px;font-weight:600}.formation-status-attachment{min-width:0;overflow:hidden;border:none;background:none;color:#0f172a;cursor:pointer;font-size:10px;font-weight:600;line-height:1.2;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.formation-status-attachment:hover{color:#2563eb;text-decoration:underline}.formation-status-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:0;margin-top:3px;padding-left:29px;white-space:nowrap}.formation-status-action{background:none;border:none;color:#3b82f6;font-size:9px;font-weight:600;cursor:pointer;padding:0}.formation-status-separator{color:#94a3b8;font-size:9px;margin:0 5px}.formation-status-action--primary{color:#2563eb}.formation-status-action:hover{color:#2563eb;text-decoration:underline}.formation-name-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:10000;display:flex;align-items:center;justify-content:center}.formation-name-modal{background:#fff;border-radius:10px;box-shadow:0 16px 48px #00000040;padding:20px;width:280px}.formation-name-title{font-size:14px;font-weight:600;color:#111;margin-bottom:12px}.formation-name-input{width:100%;padding:8px 10px;border:1.5px solid #ddd;border-radius:6px;font-size:14px;outline:none;box-sizing:border-box}.formation-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.formation-name-buttons{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.formation-name-confirm{padding:6px 16px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.formation-name-confirm:hover{background:#2563eb}.formation-name-confirm:disabled{opacity:.5;cursor:not-allowed}.formation-name-cancel{padding:6px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:13px;cursor:pointer}.formation-name-cancel:hover{background:#f5f5f5}.formation-row{display:flex;align-items:center;border-radius:6px;transition:background-color .1s}.formation-row:hover{background-color:#f5f5f5}.formation-row-selected{background-color:#f0fff4}.formation-row-selected:hover{background-color:#dcfce7}.formation-row-modified{background-color:#fffbeb}.formation-row-modified:hover{background-color:#fef3c7}.formation-row-star{background:none;border:none;font-size:16px;padding:8px;cursor:pointer;color:#d97706;flex-shrink:0;line-height:1}.formation-row-star:hover{transform:scale(1.2)}.formation-row-name{flex:1;background:none;border:none;text-align:left;padding:8px 8px 8px 0;cursor:pointer;font-size:14px;font-weight:500;color:#333;display:flex;align-items:center;justify-content:space-between;gap:8px}.formation-row-count{font-size:11px;color:#aaa;font-weight:400}@media(pointer:coarse){.formation-apply-warning-toggle button,.formation-apply-warning-actions button{min-height:44px;font-size:14px}.formation-palette:not(.formation-palette--dock){left:0;right:0;top:auto;bottom:128px;width:auto;display:flex;align-items:flex-start;gap:14px;max-height:96px;padding:8px 10px;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;pointer-events:none}.formation-palette:not(.formation-palette--dock) .palette-section{flex:0 0 auto;margin:0;min-width:max-content;pointer-events:auto}.formation-status{pointer-events:auto}.formation-palette:not(.formation-palette--dock) .palette-section h4{min-height:28px;margin-bottom:4px;font-size:11px;letter-spacing:0;white-space:nowrap}.formation-grid{flex-direction:row;gap:6px}.formation-button{width:auto;min-width:96px;min-height:44px;padding:0 12px;white-space:nowrap}.formation-status{min-width:160px;border-top:none;margin-top:0;padding-top:28px}.formation-status-action,.formation-row-star,.formation-row-name,.formation-name-confirm,.formation-name-cancel,.formation-modal-close{min-width:44px;min-height:44px}}.formation-status-summary--flow{display:flex;align-items:center;gap:5px}.formation-status-summary--flow .formation-status-label{width:24px;flex:none}.formation-status-summary--flow .formation-status-indicator{flex:none}.formation-status-summary--flow .formation-status-name{flex:0 1 auto}.formation-status-summary--flow .formation-status-count{flex:none}.starter-sets-situation{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 6px;font-size:11px;color:#6b7280}.starter-sets-situation select{min-width:0;flex:1 1 auto;max-width:110px;padding:3px 4px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;font-size:12px;color:#111827}.starter-sets-situation select:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.formation-palette .palette-section.collapsed .starter-sets-situation{display:none}@media(pointer:coarse){.formation-palette:not(.formation-palette--dock) .starter-sets-situation{min-height:28px;margin-bottom:4px}}.formation-palette--dock .starter-sets-situation{justify-content:flex-start}.formation-palette--dock .starter-sets-situation select{flex:0 0 auto;min-height:32px}.frame-strip-counts{padding:0;gap:0}.count-timeline{--ct-blue: #2563eb;--ct-blue-dark: #1d4ed8;--ct-blue-wash: #eff6ff;--ct-blue-line: #dbeafe;--ct-line: #e5e7eb;--ct-ink: #111827;--ct-ink-soft: #4b5563;--ct-ink-faint: #6b7280;display:grid;gap:6px;padding:8px 12px;color:var(--ct-ink);font-size:13px}.ct-head{display:flex;align-items:center;gap:8px;height:34px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.ct-head::-webkit-scrollbar{display:none}.ct-now{min-width:52px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.ct-spacer{flex:1 1 auto}.ct-total{color:var(--ct-ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.ct-tempo{display:inline-flex;align-items:center;gap:5px;color:var(--ct-ink-soft);white-space:nowrap}.ct-tempo input,.ct-row input,.ct-row select{font:inherit;font-size:13px;color:var(--ct-ink);background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:3px 6px}.ct-tempo input{width:64px;font-variant-numeric:tabular-nums}.ct-row input[type=number]{width:60px;font-variant-numeric:tabular-nums}.ct-row input:focus-visible,.ct-row select:focus-visible,.ct-tempo input:focus-visible{outline:2px solid var(--ct-blue);outline-offset:1px}.ct-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.ct-track{position:relative;margin-inline:16px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.ct-sections{position:relative;height:44px}.ct-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:8px;color:var(--ct-ink-faint);font-size:12px;border:1px dashed #d1d5db;border-radius:6px}.ct-band{position:absolute;top:0;bottom:0;display:grid;align-content:center;padding:3px 6px;border:1px solid rgba(17,24,39,.12);border-radius:6px;overflow:hidden;cursor:pointer;box-sizing:border-box}.ct-band-on{border:2px solid var(--ct-blue);box-shadow:0 0 0 2px var(--ct-blue-line)}.ct-band-name{font:inherit;font-size:12.5px;font-weight:700;width:100%;min-width:0;padding:0;color:var(--ct-ink);background:transparent;border:0;text-overflow:ellipsis}.ct-band-name:focus{outline:none;background:#ffffffbf;border-radius:3px}.ct-band-len{font-size:11px;color:var(--ct-ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.ct-ruler{position:relative;height:22px;margin-top:4px;cursor:pointer;border-bottom:1px solid #cbd5e1;background-image:repeating-linear-gradient(to right,#cbd5e1 0 1px,transparent 1px calc(100% / var(--ct-eights))),repeating-linear-gradient(to right,#e5e7eb 0 1px,transparent 1px calc(100% / (var(--ct-eights) * 8)));background-size:100% 100%,100% 8px;background-repeat:no-repeat;background-position:0 0,0 100%}.ct-ruler span{position:absolute;top:1px;padding-left:3px;font-size:10.5px;color:var(--ct-ink-faint);font-variant-numeric:tabular-nums;pointer-events:none}.ct-frames{position:relative;height:50px}.ct-frame{position:absolute;top:6px;transform:translate(-50%);display:grid;justify-items:center;gap:1px;padding:0 2px;font:inherit;background:none;border:0;cursor:grab;touch-action:none}.ct-frame:before{content:"";position:absolute;top:-6px;left:50%;width:1px;height:6px;background:var(--ct-ink-faint)}.ct-frame i{display:grid;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;font-weight:700;color:var(--ct-ink);background:#fff;border:2px solid var(--ct-ink-faint);border-radius:50%}.ct-frame em{font-size:10.5px;font-style:normal;color:var(--ct-ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.ct-frame-on i{color:#fff;background:var(--ct-blue);border-color:var(--ct-blue)}.ct-frame-on em{color:var(--ct-blue-dark);font-weight:700}.ct-frame-dim{opacity:.3}.ct-frame-drag{cursor:grabbing}.ct-frame:focus-visible{outline:2px solid var(--ct-blue);outline-offset:2px;border-radius:6px}.ct-playhead{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;transform:translate(-1px);pointer-events:none}.ct-row{display:flex;align-items:center;gap:10px;height:38px;padding:0 9px;color:var(--ct-ink-soft);background:#f9fafb;border:1px solid var(--ct-line);border-radius:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap}.ct-row::-webkit-scrollbar{display:none}.ct-row b{color:var(--ct-ink)}.ct-row label{display:inline-flex;align-items:center;gap:5px}.ct-muted{color:var(--ct-ink-faint)}.ct-refusal{color:#b91c1c}@media(max-width:640px){.count-timeline{padding:6px 8px;gap:4px}.ct-sections{height:40px}.ct-track{margin-inline:12px}.ct-total{display:none}}.frame-bar,.frame-strip{--frame-blue: #2563eb;--frame-blue-dark: #1d4ed8;--frame-blue-wash: #eff6ff;--frame-line: #e5e7eb;--frame-ink: #111827;--frame-ink-soft: #4b5563;--frame-ink-faint: #6b7280;background:#fff;color:var(--frame-ink);font-size:13px;flex:0 0 auto}.frame-bar{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-bottom:1px solid var(--frame-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.frame-bar::-webkit-scrollbar{display:none}.frame-bar-name{display:flex;align-items:center;gap:6px;flex:1 1 180px;min-width:150px;color:var(--frame-ink-soft)}.frame-bar-where{color:var(--frame-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.frame-bar-label{flex:1 1 auto;min-width:0;max-width:220px;font:inherit;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:var(--frame-ink)}.frame-bar-label:disabled{opacity:.55}.frame-bar-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.frame-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 12px;font:inherit;font-weight:500;white-space:nowrap;color:var(--frame-ink);background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.frame-btn:hover:not(:disabled){background:#f9fafb}.frame-btn[aria-pressed=true]{background:var(--frame-blue-wash);border-color:var(--frame-blue);color:var(--frame-blue-dark)}.frame-btn:disabled{opacity:.45;cursor:default}.frame-btn:focus-visible,.frame-thumb:focus-visible,.frame-bar-label:focus-visible,.frame-scrub:focus-visible{outline:2px solid var(--frame-blue);outline-offset:2px}.frame-btn-primary{background:var(--frame-blue);border-color:var(--frame-blue);color:#fff}.frame-btn-primary:hover:not(:disabled){background:var(--frame-blue-dark)}.frame-btn-icon{width:34px;padding:0}.frame-btn-collapse>svg{display:none}.frame-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.frame-bar-count{font-variant-numeric:tabular-nums;background:var(--frame-blue-wash);color:var(--frame-blue-dark);border-radius:5px;padding:1px 7px;font-weight:600;white-space:nowrap}.frame-bar-section{white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;color:var(--frame-ink-soft)}.frame-roles{--frame-blue: #2563eb;--frame-blue-wash: #eff6ff;--frame-ink: #111827;--frame-ink-soft: #4b5563;display:flex;align-items:center;gap:8px;flex:0 0 auto;height:36px;padding:0 12px;background:var(--frame-blue-wash);border-bottom:1px solid #dbeafe;color:var(--frame-ink);font-size:13px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.frame-roles::-webkit-scrollbar{display:none}.frame-roles-who{min-width:1ch;white-space:nowrap}.frame-roles-hint{color:var(--frame-ink-soft);white-space:nowrap}.frame-roles-buttons{display:flex;gap:4px;flex:0 0 auto}.frame-role-btn{font:inherit;font-size:12px;font-weight:700;min-width:34px;height:24px;padding:0 9px;color:var(--frame-ink-soft);background:#fff;border:1px solid #cbd5e1;border-radius:12px;cursor:pointer}.frame-role-btn:hover:not(:disabled){background:#f9fafb}.frame-role-btn[aria-pressed=true]{color:#fff;background:#6b7280;border-color:transparent}.frame-role-btn:disabled{opacity:.45;cursor:default}.frame-role-btn:focus-visible{outline:2px solid var(--frame-blue);outline-offset:2px}.frame-strip{display:grid;gap:8px;padding:8px 12px 10px;border-top:1px solid var(--frame-line)}.frame-thumbs{display:flex;gap:8px;height:94px;padding:2px 2px 4px;overflow-x:auto;overflow-y:hidden}.frame-thumb{flex:0 0 auto;display:grid;grid-template-rows:1fr auto;gap:3px;width:104px;padding:4px;font:inherit;text-align:left;color:inherit;background:#fff;border:1px solid var(--frame-line);border-radius:8px;cursor:pointer}.frame-thumb-on{border-color:var(--frame-blue);box-shadow:0 0 0 2px var(--frame-blue)}.frame-thumb-pic{display:block;min-height:0;background:#f3f4f6;border-radius:4px;overflow:hidden}.frame-thumb-pic svg{display:block;width:100%;height:100%}.frame-thumb-label{display:flex;gap:5px;align-items:baseline;padding:0 2px;font-size:12px;line-height:14px;white-space:nowrap;overflow:hidden}.frame-thumb-label b{font-variant-numeric:tabular-nums}.frame-thumb-label span{color:var(--frame-ink-faint);overflow:hidden;text-overflow:ellipsis}.frame-thumb-add{align-content:center;justify-items:center;grid-template-rows:auto auto;border-style:dashed;color:var(--frame-ink-faint)}.frame-thumb-add:disabled{opacity:.45;cursor:default}.frame-thumb-plus{font-size:24px;line-height:24px}.frame-thumb-add small{font-size:11.5px}.frame-play{display:flex;align-items:center;gap:8px;height:32px}.frame-scrub{flex:1 1 auto;min-width:0;accent-color:var(--frame-blue)}.frame-play-pos{min-width:56px;text-align:right;font-size:12.5px;color:var(--frame-ink-faint);font-variant-numeric:tabular-nums}.frame-player{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:#f3f4f6;cursor:default}.frame-player [data-line-id]{opacity:var(--frame-line-opacity, 1)}@media(max-width:640px){.frame-bar{display:grid;grid-template-rows:36px 36px;align-content:center;row-gap:4px;height:84px;padding:0 8px;overflow:hidden}.frame-bar-name{min-width:0;flex-basis:auto}.frame-bar-label{max-width:none}.frame-bar-actions{min-width:0;overflow-x:auto;scrollbar-width:none}.frame-bar-actions::-webkit-scrollbar{display:none}.frame-bar-actions .frame-btn-primary{order:-1}.frame-btn{padding:0 8px}.frame-bar-actions{gap:4px}.frame-btn-icon{width:30px}.frame-btn-collapse{width:30px;padding:0}.frame-btn-collapse>svg{display:block}.frame-btn-collapse .frame-btn-text,.frame-btn-extra{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.frame-btn{position:relative}.frame-strip{padding:6px 8px 8px;gap:6px}.frame-thumbs{height:76px;gap:6px}.frame-thumb{width:78px;padding:3px}.frame-thumb-label{font-size:11px;line-height:13px}.frame-play-pos{min-width:44px}.frame-roles{padding:0 8px}.frame-roles-hint{display:none}.frame-roles-who:empty+.frame-roles-hint{display:inline}}@media(prefers-reduced-motion:reduce){.frame-thumbs{scroll-behavior:auto}}.diagram-component--tablet{--tablet-ink: #0e1524;--tablet-ink-2: #1b2536;--tablet-ink-3: #263349;--tablet-line: rgba(148, 163, 184, .18);--tablet-text: #e7edf5;--tablet-muted: #8fa1b8;--tablet-blue: #2563eb;--tablet-blue-soft: #3b82f6;--tablet-turf: #16a34a;--tablet-flag: #ef4444;--tablet-amber: #f59e0b;--tablet-rail-width: 68px;background:var(--tablet-ink);color:var(--tablet-text)}.diagram-component--tablet button{touch-action:manipulation}.tablet-appbar{position:relative;z-index:2500;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;background:var(--tablet-ink);border-bottom:1px solid var(--tablet-line)}.tablet-appbar-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.tablet-appbar-title h3{margin:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tablet-appbar-title .toolbar-formation-name{font-size:13px;opacity:.85;white-space:nowrap}.tablet-appbar-addon{min-width:0;display:flex;align-items:center}.tablet-appbar-status,.tablet-appbar-error{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.tablet-appbar-status{background:var(--tablet-blue);color:#fff;animation:tablet-extraction-pulse 1.5s ease-in-out infinite}@keyframes tablet-extraction-pulse{0%,to{opacity:1}50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.tablet-appbar-status{animation:none}}.tablet-appbar-error{background:var(--tablet-flag);color:#fff}.tablet-appbar-error button{min-width:32px;min-height:32px;background:transparent;border:none;color:#fff;opacity:.8;cursor:pointer}.tablet-appbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.tablet-appbar-more{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--tablet-line);border-radius:8px;color:var(--tablet-text);font-size:18px;cursor:pointer}.tablet-appbar-more:hover{background:var(--tablet-ink-2)}.tablet-appbar-save{min-height:44px;padding:0 18px;background:var(--tablet-blue);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.tablet-appbar-save:hover{background:#1d4ed8}.tablet-appbar-exit{min-height:44px;padding:0 14px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:8px;color:var(--tablet-text);font-size:14px;cursor:pointer}.tablet-appbar-save:disabled,.tablet-appbar-exit:disabled{opacity:.5;cursor:not-allowed}.tablet-appbar-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;background:transparent}.tablet-appbar-menu{position:absolute;top:calc(100% + 4px);right:8px;z-index:2700;min-width:240px;padding:6px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:12px;box-shadow:0 12px 32px #00000080}.tablet-appbar-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;background:transparent;border:none;border-radius:8px;color:var(--tablet-text);font-size:14px;text-align:left;cursor:pointer}.tablet-appbar-menu button:hover{background:var(--tablet-ink-3)}.tablet-appbar-menu button.danger{color:#fca5a5}.tablet-appbar-menu button:disabled{opacity:.45;cursor:not-allowed}.tablet-appbar-menu button:disabled:hover{background:transparent}.tablet-appbar-menu-separator{height:1px;margin:6px 4px;background:var(--tablet-line)}.tablet-body{display:flex;flex:1 1 auto;min-height:0}.tablet-rail{flex:0 0 var(--tablet-rail-width);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:var(--tablet-ink);border-right:1px solid var(--tablet-line);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1500}.tablet-rail button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;min-height:52px;padding:4px 0;background:transparent;border:none;border-radius:10px;color:var(--tablet-muted);cursor:pointer}.tablet-rail button svg{width:22px;height:22px}.tablet-rail button span{font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tablet-rail button:hover{background:var(--tablet-ink-2);color:var(--tablet-text)}.tablet-rail button.active{background:var(--tablet-blue);color:#fff}.tablet-rail button:disabled{opacity:.35;cursor:not-allowed}.tablet-rail button:disabled:hover{background:transparent;color:var(--tablet-muted)}.tablet-rail-separator{flex:0 0 1px;width:36px;margin:6px 0;background:var(--tablet-line)}.tablet-framing-cluster{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:1600;display:flex;flex-direction:column;align-items:stretch;gap:1px;width:58px;background:#0e1524e0;border-radius:12px;box-shadow:0 4px 16px #0f172a40;overflow:hidden}.tablet-canvas--sheet-open .tablet-framing-cluster{top:calc(50% - min(170px,21vh))}.tablet-framing-cluster button{width:100%;min-height:48px;background:transparent;border:none;color:var(--tablet-text);font-size:19px;cursor:pointer}.tablet-framing-cluster button:hover{background:var(--tablet-ink-3)}.tablet-framing-cluster button.active{color:var(--tablet-blue-soft)}.tablet-framing-cluster .tablet-framing-reset{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tablet-muted)}.tablet-framing-readout{padding:6px 4px 8px;border-top:1px solid var(--tablet-line);text-align:center;font-size:10px;line-height:1.4;color:var(--tablet-muted);font-variant-numeric:tabular-nums;overflow-wrap:break-word}.tablet-framing-readout b{display:block;font-size:8px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:normal;color:var(--tablet-text)}.tablet-framing-readout--tall b{color:var(--tablet-amber)}.tablet-float-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:1600;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;background:#0e1524eb;border-radius:26px;box-shadow:0 8px 24px #0f172a59;color:var(--tablet-text);white-space:nowrap}.tablet-pill-label{font-size:13px;font-weight:600}.tablet-float-pill button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;background:var(--tablet-ink-3);border:none;border-radius:22px;color:var(--tablet-text);font-size:13px;font-weight:600;cursor:pointer}.tablet-float-pill button.confirm{background:var(--tablet-turf);color:#fff}.tablet-float-pill button.danger{background:transparent;color:#fca5a5}.tablet-route-hint{pointer-events:none;padding:8px 14px}.tablet-dock{flex:0 0 auto;position:relative;z-index:2000;background:var(--tablet-ink);border-top:1px solid var(--tablet-line)}.tablet-dock-bar{display:flex;align-items:stretch;gap:6px;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));overflow-x:auto;-webkit-overflow-scrolling:touch}.tablet-dock-tab{flex:0 0 auto;display:inline-flex;align-items:center;min-height:46px;padding:0 16px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:11px;color:var(--tablet-muted);font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.tablet-dock-tab:hover{color:var(--tablet-text)}.tablet-dock-tab.active{background:var(--tablet-blue);border-color:var(--tablet-blue);color:#fff}.tablet-dock-status{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;min-height:46px;margin-left:auto;padding:0 14px;background:transparent;border:1px dashed var(--tablet-line);border-radius:11px;color:var(--tablet-muted);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.tablet-dock-panel{position:absolute;bottom:100%;left:var(--tablet-rail-width);right:0;max-height:min(340px,42vh);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 16px;background:var(--tablet-ink);border-top:1px solid var(--tablet-line);box-shadow:0 -16px 40px #00000073}.tablet-dock-group h5{margin:0 0 8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tablet-muted)}.tablet-dock-field{display:flex;flex-wrap:wrap;gap:20px 32px}.tablet-play-type{display:inline-flex;border:1px solid var(--tablet-line);border-radius:9px;overflow:hidden}.tablet-play-type button{min-height:46px;padding:0 16px;background:var(--tablet-ink-2);border:none;border-right:1px solid var(--tablet-line);color:var(--tablet-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.tablet-play-type button:last-child{border-right:none}.tablet-play-type button.selected{background:var(--tablet-blue);color:#fff}.tablet-view-presets{display:flex;flex-wrap:wrap;gap:8px}.tablet-view-presets button{min-height:46px;padding:0 16px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:9px;color:var(--tablet-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.symbol-palette.symbol-palette--dock,.formation-palette.formation-palette--dock{position:static;z-index:auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 32px;width:auto;min-width:0;max-height:none;padding:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible}.symbol-palette.symbol-palette--dock .palette-section,.formation-palette.formation-palette--dock .palette-section{margin:0}.symbol-palette.symbol-palette--dock .palette-section h4,.formation-palette.formation-palette--dock .palette-section h4{margin:0 0 8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tablet-muted);cursor:default}.symbol-palette.symbol-palette--dock .palette-section h4:before,.formation-palette.formation-palette--dock .palette-section h4:before{display:none}.symbol-palette.symbol-palette--dock .symbol-grid{display:flex;flex-wrap:wrap;gap:8px;max-width:520px}.symbol-palette.symbol-palette--dock .symbol-button{width:46px;height:46px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:9px;color:var(--tablet-text);font-size:14px}.symbol-palette.symbol-palette--dock .symbol-button:hover{background:var(--tablet-ink-2);border-color:var(--tablet-blue-soft)}.symbol-palette.symbol-palette--dock .symbol-button.selected{background:var(--tablet-blue);border-color:var(--tablet-blue);color:#fff}.symbol-palette.symbol-palette--dock .symbol-button.line-style-button.mixed{background:#2563eb38;border-color:var(--tablet-blue);color:var(--tablet-text)}.symbol-palette.symbol-palette--dock .symbol-button.line-style-button.mixed:after{background:var(--tablet-blue-soft)}.symbol-palette.symbol-palette--dock .symbol-button:disabled{opacity:.4;border-color:var(--tablet-line);background:var(--tablet-ink-2)}.symbol-palette.symbol-palette--dock .symbol-button.line-style-button svg line,.symbol-palette.symbol-palette--dock .symbol-button.line-style-button svg path{stroke:currentColor}.symbol-palette.symbol-palette--dock .symbol-button.line-style-button svg polygon,.symbol-palette.symbol-palette--dock .symbol-button.line-style-button svg circle{fill:currentColor}.symbol-palette.symbol-palette--dock .palette-customize-callout{color:var(--tablet-muted);min-width:32px;min-height:32px}.symbol-palette.symbol-palette--dock .palette-customize-callout:hover{color:var(--tablet-text);background:var(--tablet-ink-2)}.symbol-palette.symbol-palette--dock .field-type-selector{border-color:var(--tablet-line)}.symbol-palette.symbol-palette--dock .field-type-button{min-height:46px;padding:0 14px;background:var(--tablet-ink-2);border-right-color:var(--tablet-line);color:var(--tablet-muted)}.symbol-palette.symbol-palette--dock .field-type-button.selected{background:var(--tablet-blue);color:#fff}.symbol-palette.symbol-palette--dock .los-control{min-width:220px}.symbol-palette.symbol-palette--dock .los-label,.symbol-palette.symbol-palette--dock .los-display-label,.symbol-palette.symbol-palette--dock .annotation-label{color:var(--tablet-muted)}.symbol-palette.symbol-palette--dock .los-preset-button,.symbol-palette.symbol-palette--dock .annotation-size-button,.symbol-palette.symbol-palette--dock .annotation-align-button{min-width:46px;min-height:46px;background:var(--tablet-ink-2);border-color:var(--tablet-line);color:var(--tablet-text)}.symbol-palette.symbol-palette--dock .los-preset-button.selected,.symbol-palette.symbol-palette--dock .annotation-size-button.selected,.symbol-palette.symbol-palette--dock .annotation-align-button.selected{background:var(--tablet-blue);border-color:var(--tablet-blue);color:#fff}.symbol-palette.symbol-palette--dock .los-input{min-height:46px;background:var(--tablet-ink-2);border-color:var(--tablet-line);color:var(--tablet-text);font-size:16px}.symbol-palette.symbol-palette--dock .annotation-color-button{width:46px;height:46px}.symbol-palette.symbol-palette--dock .annotation-color-button.selected{border-color:var(--tablet-blue-soft);box-shadow:0 0 0 2px var(--tablet-ink),0 0 0 4px var(--tablet-blue-soft)}.symbol-palette.symbol-palette--dock .annotation-checkbox-label{min-height:46px;color:var(--tablet-text)}.formation-palette.formation-palette--dock .formation-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.formation-palette.formation-palette--dock .formation-button{width:auto;min-height:46px;padding:0 16px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:9px;color:var(--tablet-text);font-size:13.5px;font-weight:600;white-space:nowrap}.formation-palette.formation-palette--dock .formation-button:hover{background:var(--tablet-ink-2);border-color:var(--tablet-muted)}.formation-palette.formation-palette--dock .formation-button-selected{border-color:#4ade80;background:#22c55e1f}.formation-palette.formation-palette--dock .formation-button-modified{border-color:var(--tablet-amber);background:#f59e0b1a}.formation-palette.formation-palette--dock .formation-status{border-top:none;margin-top:0;padding-top:0;min-width:170px}.formation-palette.formation-palette--dock .formation-status-label,.formation-palette.formation-palette--dock .formation-status-count{color:var(--tablet-muted)}.formation-palette.formation-palette--dock .formation-status-action{min-height:44px}.tablet-dock-placing{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:46px;margin-left:auto;padding:0 14px;background:var(--tablet-ink-2);border:1px solid var(--tablet-blue);border-radius:11px;color:var(--tablet-muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.tablet-dock-placing b{font-size:14px;letter-spacing:0;color:var(--tablet-text)}.tablet-dock-placing--defense{border-color:var(--tablet-flag)}.tablet-dock-placing--ball{border-color:#f59e0b}.tablet-dock-placing+.tablet-dock-status{margin-left:0}.tablet-dock-selected{flex:0 0 auto;display:inline-flex;align-items:center;min-height:46px;margin-left:auto;padding:0 14px;background:var(--tablet-ink-2);border:1px solid var(--tablet-line);border-radius:11px;color:var(--tablet-muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.tablet-dock-selected b{font-size:13px;letter-spacing:0;color:var(--tablet-text)}.tablet-dock-selected+.tablet-dock-status{margin-left:0}.tablet-formation-status{min-width:260px}.tablet-formation-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:46px;padding:2px 0;font-size:13px;color:var(--tablet-text)}.tablet-formation-status-side{min-width:64px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tablet-muted)}.tablet-formation-status-detail{font-variant-numeric:tabular-nums;white-space:nowrap}.tablet-formation-status-action{min-height:44px;padding:0 14px;background:var(--tablet-ink-2);border:1px solid var(--tablet-blue-soft);border-radius:9px;color:var(--tablet-text);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.tablet-formation-status-action:hover{background:var(--tablet-ink-3)}.diagram-component--tablet .surface-notice-anchor{inset-inline:16px 82px}.tablet-canvas--sheet-open .surface-notice-anchor--bottom{bottom:calc(min(340px,42vh) + 24px)}.tablet-canvas--sheet-open .surface-notice-anchor--center{top:calc(50% - min(170px,21vh))}.tablet-formation-status-row--flow{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:4px}.tablet-formation-status-line{display:flex;align-items:center;gap:10px}.tablet-formation-status-detail .formation-status-indicator{display:inline-block;margin-right:6px}.tablet-formation-status-words{display:flex;flex-wrap:wrap;gap:8px}.count-review{border-top:1px solid #dde5da;margin-top:16px;padding-top:16px}.cr-heading,.cr-navigation,.cr-tools,.cr-save{display:flex;align-items:center;justify-content:space-between;gap:12px}.cr-heading h3{display:flex;align-items:center;gap:10px}.cr-heading h3 small{font-size:10px;font-weight:500;background:#f0eadc;color:#7d663c;padding:4px 6px;border-radius:4px}.cr-link{position:relative;font-size:11px}.cr-link summary{cursor:pointer}.cr-link[open]{max-width:250px;padding:12px;background:#f4f7ef;border:1px solid #dce5d6;border-radius:8px}.cr-link label{display:grid;gap:5px;margin:10px 0}.cr-link p{font-size:11px;line-height:1.5;margin-top:8px}.cr-navigation{margin:16px 0 12px;font-size:12px}.cr-navigation>div{display:flex;gap:12px;align-items:center}.cr-navigation button{font-size:12px}.cr-timeline{background:#f4f7ef;border:1px solid #e1e7da;border-radius:8px;padding:10px;overflow:hidden}.cr-timeline>small{display:block;font-size:8px;letter-spacing:1.2px;color:#83937a;font-weight:700;margin-bottom:5px}.cr-ruler{position:relative;height:31px}.cr-ruler button{position:absolute;transform:translate(-50%);font-size:12px;padding:4px 8px;border:0;background:none}.cr-ruler button.active{background:#275c49;color:#fff}.cr-wave{position:relative;height:85px;overflow:hidden}.cr-wave svg{width:100%;height:100%}.cr-wave p{font-size:11px;padding-top:25px;color:#7e8e75}.cr-beat{position:absolute;top:0;bottom:0;border-left:1px dashed #a1b095;pointer-events:none}.cr-playhead{position:absolute;top:0;bottom:0;border-left:2px solid #d88c4d;pointer-events:none}.cr-speech{position:relative;height:23px}.cr-speech span{position:absolute;font-size:9px;text-align:center;background:#efe9db;color:#856e46;padding:3px 0;border-radius:3px;overflow:hidden}.cr-timestamps{display:flex;justify-content:space-between;font-size:9px;color:#8a997f}.cr-tools{margin:10px 0;font-size:10px;justify-content:flex-start;flex-wrap:wrap}.cr-tools label{gap:5px}.cr-tools button{margin-left:auto;padding:6px 0;border:0;font-size:11px}.cr-adjust{background:#f5f8f0;border:1px solid #dce5d5;border-radius:8px;margin:14px 0;padding:12px}.cr-adjust legend{font-size:12px}.cr-adjust>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px}.cr-adjust button{font-size:11px}.cr-adjust label{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;font-size:11px}.cr-adjust input[type=range]{flex:1;min-width:100px;padding:0;accent-color:#275c49}.cr-adjust input[type=number]{width:80px}.cr-adjust p{font-size:11px;color:#7a8b70}.cr-all{margin:14px 0}.cr-all summary{font-size:12px;cursor:pointer;color:#536e4b}.cr-row{display:grid;grid-template-columns:30px repeat(8,minmax(0,1fr));gap:4px;margin-top:8px;align-items:center}.cr-row strong{font-size:12px;text-align:center;color:#718367}.cr-row button{font-size:12px;padding:8px 0;min-height:36px}.cr-save{border-top:1px solid #e3e9dd;padding-top:12px;flex-wrap:wrap}.cr-save>span{font-size:10px;line-height:1.6;color:#798d6e;flex:1;min-width:120px}.cr-save button{font-size:11px}.cr-save button.primary{white-space:nowrap}.cr-timeline input[type=checkbox]{accent-color:#275c49}@media(max-width:600px){.cr-heading{align-items:flex-start}.cr-heading h3{flex-wrap:wrap;gap:5px}.cr-navigation{gap:6px}.cr-navigation>div{gap:6px}.cr-navigation button{padding:8px;font-size:10px}.cr-tools{gap:10px}.cr-link[open]{max-width:190px}.cr-ruler button{font-size:10px;padding:4px 5px}.cr-speech span{font-size:8px}}.cr-unmapped{font-size:11px;color:#697c62}.film-root .film-notes-head{flex-wrap:wrap;row-gap:8px}.film-root .film-export-btn{display:inline-flex;align-items:center;gap:7px}.film-root .film-export-btn.is-busy{opacity:1;cursor:progress}.film-root .film-export-spin{width:13px;height:13px;border-radius:50%;border:2px solid var(--film-line);border-top-color:var(--film-accent);animation:film-export-spin .8s linear infinite}@keyframes film-export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.film-root .film-export-spin{animation-duration:2.4s}}.film-root .film-notes-error{margin:0 16px 10px}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-B79P8FIW.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-qH6ep8Zu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-CxQwsqBJ.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-BHAmTMI7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-DlYK-dLm.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-DkkKFZS3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-CndnhsLh.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-BobHL9li.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-BO_POi3V.woff2) format("woff2"),url(/assets/outfit-latin-ext-600-normal-CilJk_q7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-DDkojskL.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-J4YI7vGj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-moYAx5p2.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-CxBg6OJB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-B1by5KkZ.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-DlLUGLrE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.toolbar{display:flex;align-items:center;padding:8px 16px;background-color:#2c3e50;color:#fff;box-shadow:0 2px 4px #0000001a;gap:8px;flex-wrap:nowrap;overflow:visible}.toolbar-scroll{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.toolbar-scroll::-webkit-scrollbar{display:none}.toolbar-scroll>.toolbar-section:not(.toolbar-help){flex-shrink:0}.toolbar-section{display:flex;align-items:center;gap:6px}.toolbar-title-section,.toolbar-title-addon{min-width:0}.toolbar h3,.toolbar-formation-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar h3{margin:0;font-size:16px;font-weight:600}.toolbar button{padding:5px 10px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .2s}.toolbar button:hover{background-color:#2980b9}.toolbar button:active{background-color:#21618c}.toolbar button.measure-toggle{min-width:34px;border:1px solid transparent}.toolbar button.measure-toggle[aria-pressed=true]{background-color:#f59e0b;color:#1f2937}.toolbar button.measure-toggle[aria-pressed=true]:hover{background-color:#d97706}.toolbar button.measure-toggle.vertical-reference{background-color:transparent;border-color:#f59e0b;color:#fbbf24}.toolbar button.measure-toggle.vertical-reference:hover{background-color:#f59e0b26}.toolbar-select{padding:5px 8px;border-radius:4px;border:none;font-size:13px;cursor:pointer}.toolbar-label{font-size:12px;opacity:.8;font-weight:500}.toolbar button svg{display:block}.toolbar-section button:has(svg){padding:5px 6px;display:flex;align-items:center;justify-content:center}.toolbar-help{margin-left:auto;flex-shrink:1;min-width:170px;overflow:hidden}.help-text{font-size:11px;opacity:.7;font-style:italic;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-mode{background-color:#2196f3;padding:4px 8px;border-radius:4px}.drawing-mode span{font-weight:600;font-size:13px}.drawing-mode .btn-finish{background-color:#4caf50;padding:3px 8px}.drawing-mode .btn-cancel{background-color:#f44336;padding:3px 8px}.dev-panel{background-color:#1a1a2e;padding:4px 10px;border-radius:4px;font-size:12px;gap:10px}.dev-panel .dev-label{font-weight:700;color:#ff6b6b;margin-right:4px}.dev-panel .btn-active{background-color:#9b59b6}.dev-panel .on-line-legal{color:#2ecc71;font-weight:600}.dev-panel .on-line-illegal{color:#ff6b6b;font-weight:600}#diagram-container{background-color:#f0f0f0}#diagram-container svg{touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.tablet-command-bar{display:none}.toolbar button:disabled{background-color:#7f8c8d;cursor:not-allowed;opacity:.7}.toolbar .btn-settings{background-color:#8e44ad}.toolbar .btn-settings:hover{background-color:#7d3c98}.extraction-status{background-color:#3498db;padding:4px 8px;border-radius:4px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.extraction-status span{font-size:12px;font-weight:500}.extraction-error{background-color:#e74c3c;padding:4px 8px;border-radius:4px}.extraction-error span{font-size:12px}.extraction-error .btn-dismiss{background-color:transparent;padding:2px 6px;font-size:12px;opacity:.8}.extraction-error .btn-dismiss:hover{opacity:1;background-color:#0003}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background-color:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:450px;width:90%}.modal-content h3{margin:0 0 12px;color:#2c3e50}.modal-content p{margin:0 0 16px;color:#555;font-size:14px;line-height:1.5}.modal-content a{color:#3498db}.api-key-input{width:100%;padding:10px 12px;font-size:14px;border:2px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:monospace}.api-key-input:focus{border-color:#3498db;outline:none}.modal-buttons{display:flex;gap:8px;margin-top:16px}.modal-buttons button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.modal-buttons .btn-primary{background-color:#3498db;color:#fff}.modal-buttons .btn-primary:hover{background-color:#2980b9}.modal-buttons .btn-primary:disabled{background-color:#bdc3c7;cursor:not-allowed}.modal-buttons .btn-secondary{background-color:#ecf0f1;color:#2c3e50}.modal-buttons .btn-secondary:hover{background-color:#d5dbdb}.modal-note{font-size:12px;color:#7f8c8d;margin-top:16px;margin-bottom:0}@media(pointer:coarse){.toolbar{gap:8px;padding:8px 10px}.toolbar button,.toolbar-select{min-height:44px;min-width:44px;padding:8px 12px;font-size:14px}.toolbar-section button:has(svg){min-width:44px;min-height:44px;padding:8px}.toolbar-help{display:none}.drawing-mode{min-height:44px;padding:6px 8px}.drawing-mode .btn-finish,.drawing-mode .btn-cancel{min-height:44px;padding:8px 12px}.tablet-command-bar{display:flex;align-items:center;gap:8px;min-height:56px;padding:6px 10px;overflow-x:auto;overflow-y:hidden;background:#111827;border-top:1px solid rgba(255,255,255,.08);color:#fff;-webkit-overflow-scrolling:touch}.tablet-command-bar button{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#1f2937;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.tablet-command-bar button.active{border-color:#60a5fa;background:#1d4ed8}.tablet-command-bar button.confirm{border-color:#86efac;background:#15803d}.tablet-command-bar button.danger{border-color:#fca5a5;background:#b91c1c}.tablet-command-bar button:disabled{opacity:.45;cursor:not-allowed}.tablet-command-separator{flex:0 0 1px;align-self:stretch;background:#ffffff2e}.diagram-line-handle-hit-area{r:22px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#253533;background:#f3f5f2;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d5ded8;border-radius:8px;background:#fff;padding:9px 13px;color:#29443a;font-weight:600}button:hover{background:#edf3ee}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7da895;outline-offset:2px}.primary{background:#275c49;color:#fff;border-color:#275c49}.primary:hover{background:#194b39}.danger{color:#a33434}input,select,textarea{border:1px solid #d1dbd4;border-radius:7px;padding:9px 10px;background:#fff;color:#253533;max-width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%235c7066' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}textarea{resize:vertical;width:100%;line-height:1.6}label{display:flex;gap:8px;align-items:center}label:has(textarea){display:block}input[type=checkbox]{accent-color:#275c49}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-.8px}h2{font-size:19px;font-weight:650;letter-spacing:-.3px}h3{font-size:16px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#6d8176;display:block;margin-bottom:7px}.hint{font-size:12px;line-height:1.6;color:#738078}.app-header{height:78px;padding:0 4%;background:#fff;border-bottom:1px solid #e0e5df;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand div{display:grid;gap:4px}.brand strong{font-size:17px}.brand span:not(.brand-mark){font-size:12px;color:#7b877f}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:#275c49;color:#fff;font-size:38px;border-radius:16px;width:64px;height:64px;font-weight:700}.brand-mark.small{width:36px;height:36px;font-size:24px;border-radius:10px}.header-actions{display:flex;gap:12px;align-items:center}.pilot-badge{font-size:9px;letter-spacing:1.5px;color:#7b8c82}.workspace{max-width:1500px;margin:auto;padding:30px 4% 70px}.routine-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.saved,.unsaved{font-size:11px;color:#78867d}.unsaved{color:#93612b}.review-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:22px}.video-card,.floor-card,.practice-card,.card{background:#fff;border:1px solid #dde4dd;border-radius:14px;overflow:hidden}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 21px}.video-single,.video-pair{background:#18221d;min-height:200px;display:grid;align-items:center}.video-pair{grid-template-columns:1fr 1fr;gap:2px;min-height:200px}.video-single video,.video-pair video{width:100%;display:block;max-height:430px}.video-caption{color:#d5dfd7;font-size:11px;display:block;padding:8px}.playback-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:16px 18px 8px}.playback-tools button,.playback-tools select,.loop-tools button{font-size:11px;padding:8px}.playback-tools select{padding-right:36px}.count-display{font-size:18px;min-width:60px;font-variant-numeric:tabular-nums;font-weight:650}.loop-tools{display:flex;align-items:center;gap:8px;padding:8px 18px 16px}.active{background:#e2efe7;border-color:#739a82}.video-card>.hint{margin:0 18px 18px}.floor{overflow:hidden;min-height:240px;background:#fff}.floor-tools{display:flex;gap:7px;padding:12px 16px 0;flex-wrap:wrap}.floor-tools button{font-size:11px;padding:7px 10px}.floor-tools label{font-size:11px}.floor-card>.hint{margin:10px 17px 16px}.sections{display:flex;gap:5px;margin-top:18px;background:#e6ece5;border-radius:12px;padding:6px;overflow:auto}.sections button{flex:1;min-width:130px;border:0;background:transparent;display:grid;text-align:left;gap:5px;padding:12px 15px;white-space:nowrap}.sections button[aria-current=step]{background:#fff;box-shadow:0 1px 6px #25353312}.sections button>span{font-size:10px;color:#8b9b90}.sections button>strong{font-size:13px}.sections button>small{font-size:10px;font-weight:400;color:#7a887e}.formation-picker{font-size:11px;color:#78867d;padding:12px 0}.formation-picker select{font-size:11px;border:0;background-color:transparent}.practice-card{margin-top:25px}.notes-grid{display:grid;grid-template-columns:1fr 1.45fr}.new-note{padding:0 22px 22px}.new-note>label{display:block;font-size:12px;font-weight:600}.new-note textarea{margin-top:9px;background:#fafbf9;font-weight:400}.note-options{display:flex;gap:12px;align-items:center;margin:12px 0;flex-wrap:wrap;font-size:11px}.note-options select{font-size:12px}.number-badge{font-size:12px;background:#eaf0e8;border-radius:50%;padding:3px 7px;margin-left:5px}.point-list{padding:0 24px 20px}.point{display:flex;gap:13px;border-bottom:1px solid #e9ede7;padding:12px 0}.point:first-child{padding-top:0}.point-number{background:#eef2e9;color:#6f8069;border-radius:6px;width:25px;height:25px;text-align:center;padding-top:5px;font-size:11px;flex-shrink:0}.point-category{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#768973}.point p{white-space:pre-wrap;font-size:14px;line-height:1.5;margin:5px 0}.point-actions{display:flex;flex-wrap:wrap;gap:7px}.point-actions button{padding:5px 8px;font-size:10px}.notes-empty{padding:24px 30px;border:1px dashed #d5dfd0;border-radius:10px;color:#72816f}.notes-empty p{line-height:1.6;font-size:12px;margin-top:7px}.error{background:#fff1ed;color:#a34530;padding:12px 16px;border-radius:8px;margin:12px 0;display:flex;gap:14px;align-items:center}.notice{color:#41664c;padding:10px 0;font-size:12px}.count-editor{padding:4px 20px 20px;background:#f4f7f1;border-top:1px solid #dbe3d5}.count-editor .card-title{padding:16px 0}.count-entry{display:flex;gap:10px;align-items:end;margin:15px 0}.count-entry label{display:grid;font-size:11px}.count-entry input{width:70px}.anchor-list{max-height:210px;overflow:auto;margin-bottom:12px}.anchor-list>div{display:flex;gap:10px;align-items:center;margin-bottom:7px;font-size:11px}.anchor-list input{width:90px;margin-left:auto}.anchor-list button{font-size:10px}.roles-panel{background:#f4f7f1;border-top:1px solid #dbe3d5;padding:0 18px 18px}.roles-panel .card-title{padding:15px 0}.role-row{display:flex;gap:10px;margin-top:8px}.role-row input{width:65px}.role-row select{flex:1}.settings{margin-top:16px;padding:0 22px 22px}.settings .card-title{padding-left:0;padding-right:0}.section-edit{display:flex;gap:12px;margin:10px 0}.section-edit label{font-size:11px}.section-edit input[type=number]{width:80px}.instructions{margin-top:20px;font-size:12px}.instructions textarea{margin-top:9px}.instructions-preview{padding:14px 5px;font-size:12px}.instructions-preview p{white-space:pre-wrap;line-height:1.8;margin-top:14px}summary{cursor:pointer}.practice-card>details{padding:18px 22px;border-top:1px solid #edf0ea;font-size:12px}.addressed{display:flex;justify-content:space-between;padding:10px 0;gap:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#13251ab3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal{background:#fff;border-radius:16px;width:560px;max-width:100%;max-height:90vh;overflow:auto;padding:20px}.modal .card-title{padding:0 0 18px}.modal>label,.modal>.header-actions{margin-top:15px}.modal svg{max-width:100%}.login{max-width:420px;margin:12vh auto;padding:25px}.login .eyebrow{margin-top:28px}.login h1{font-size:34px;line-height:1.15}.login>p{margin:14px 0;color:#758277;line-height:1.6}.login form{display:grid;gap:18px;margin-top:30px}.login label{display:grid;gap:8px;font-size:12px}.empty{padding:70px 30px;text-align:center}.empty p{margin-top:15px}.floor-card .diagram-canvas-container{border:0}@media(max-width:1000px){.workspace{padding:24px 20px 50px}.routine-heading{align-items:flex-start;gap:15px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.review-grid{gap:14px}.notes-grid{grid-template-columns:1fr 1fr}.saved,.unsaved{display:none}}@media(max-width:720px){.app-header{height:66px;padding:0 16px}.pilot-badge{display:none}.workspace{padding:22px 12px 40px}.routine-heading{display:block}.routine-heading h1{font-size:25px}.routine-heading .header-actions{margin-top:14px;justify-content:flex-start}.review-grid,.notes-grid{grid-template-columns:1fr}.card-title{padding:16px}.video-pair{grid-template-columns:1fr}.video-pair video{max-height:260px}.floor-card{margin-top:4px}.sections{position:relative;box-shadow:0 3px 20px #213c2520}.sections button{min-width:max-content}.practice-card .card-title>.hint{display:none}.point-list{padding:14px 20px 20px}.section-edit,.loop-tools{flex-wrap:wrap}.new-note{padding:0 16px 16px}.modal-backdrop{padding:10px}.modal .card-title h2{font-size:16px}.brand strong{font-size:15px}.login{margin:7vh auto}.role-row input{min-width:65px}.formation-picker{flex-wrap:wrap}}.formation-count{font-size:11px;color:#738078;padding:0 18px 15px}.formation-count>div{display:flex;gap:12px;margin-top:10px}.formation-count input{width:65px}.film-root{--film-page: #f5f7fa;--film-surface: #ffffff;--film-ink: #0f172a;--film-ink-2: #334155;--film-muted: #64748b;--film-line: #e2e8f0;--film-accent: #2563eb;--film-accent-hover: #1d4ed8;--film-blue-50: #eff6ff;--film-blue-100: #dbeafe;--film-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;min-height:100vh;box-sizing:border-box;background:var(--film-page);color:var(--film-ink);font-family:Outfit,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.4;outline:none}.film-root *,.film-root *:before,.film-root *:after{box-sizing:border-box}.film-root button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:0;background:transparent;padding:0;font-weight:inherit}.film-root button:hover{background:transparent}.film-root button:disabled{opacity:1;cursor:default}.film-root button:focus-visible,.film-root a:focus-visible,.film-root input:focus-visible,.film-root [tabindex]:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-root input,.film-root select,.film-root textarea{font:inherit;color:var(--film-ink);border:1px solid var(--film-line);border-radius:9px;background:#fff;padding:8px 10px;max-width:100%}.film-root label{display:block}.film-root h1,.film-root h2,.film-root h3,.film-root p{margin:0;letter-spacing:normal}.film-root a{color:var(--film-accent);text-decoration:none}.film-root a:hover{color:var(--film-accent-hover)}.film-root .film-header{height:56px;display:flex;align-items:center;gap:10px;padding:0 24px;background:#fff;border-bottom:1px solid var(--film-line)}.film-root .film-logo{width:28px;height:28px;border-radius:8px;background:var(--film-accent);display:grid;place-items:center;flex:none}.film-root .film-brand{font-size:17px;font-weight:700;letter-spacing:-.01em}.film-root .film-sep{color:#cbd5e1}.film-root .film-crumb{color:var(--film-ink-2);font-weight:500;white-space:nowrap}.film-root .film-crumb.current{color:var(--film-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis}.film-root .film-crumb.muted{color:var(--film-muted);font-weight:400}.film-root a.film-crumb:hover{color:var(--film-accent)}.film-root .film-header-actions{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px;font-weight:500}.film-root .film-link-btn{color:var(--film-accent);font-weight:500}.film-root .film-link-btn:hover{color:var(--film-accent-hover)}.film-root .film-btn{border:1px solid var(--film-line);background:#fff;border-radius:9px;padding:8px 14px;font-weight:600;font-size:14px;color:var(--film-ink)}.film-root .film-btn:hover{background:#f8fafc}.film-root .film-btn.solid{background:var(--film-accent);border-color:var(--film-accent);color:#fff}.film-root .film-btn.solid:hover{background:var(--film-accent-hover)}.film-root .film-btn.small{padding:6px 10px;font-size:13px}.film-root .film-btn:disabled{opacity:.5}.film-root .film-seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:#e8edf3}.film-root .film-seg button{padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--film-ink-2)}.film-root .film-seg button:hover{color:var(--film-ink)}.film-root .film-seg button.on{background:#fff;color:var(--film-accent-hover);box-shadow:0 1px 2px #0f172a1f}.film-root .film-chip{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;color:var(--film-ink);box-shadow:inset 0 0 0 1px #0f172a12;white-space:nowrap}.film-root .film-chip.plain{background:#f1f5f9;color:var(--film-muted);box-shadow:none;font-weight:500}.film-root .film-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:var(--film-ink-2)}.film-root .film-badge.competition{background:var(--film-blue-100);color:var(--film-accent-hover)}.film-root .film-mono{font-family:var(--film-mono)}.film-root .film-error{background:#fff1f2;color:#be123c;border-radius:9px;padding:8px 12px;font-size:13px}.film-root .film-empty{max-width:520px;margin:80px auto;padding:0 24px;text-align:center;color:var(--film-ink-2)}.film-root .film-empty h1{font-size:22px;margin-bottom:8px;color:var(--film-ink)}.film-root .film-library{max-width:1160px;margin:0 auto;padding:24px 24px 48px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.film-root .film-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:2px}.film-root .film-side-label{margin:14px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--film-muted)}.film-root .film-side-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:9px;text-align:left;font-weight:500;color:var(--film-ink-2)}.film-root .film-side-item:hover{background:#eef2f6}.film-root .film-side-item.on{background:var(--film-blue-50);color:var(--film-accent-hover);font-weight:600}.film-root .film-side-item .tint{width:12px;height:12px;border-radius:4px;flex:none;box-shadow:inset 0 0 0 1px #0f172a26}.film-root .film-side-item .n{margin-left:auto;font:600 12px var(--film-mono);color:var(--film-muted)}.film-root .film-lib-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.film-root .film-lib-head h1{font-size:24px;font-weight:600;letter-spacing:-.01em}.film-root .film-lib-head .film-seg{margin-left:auto}.film-root .film-rows{display:flex;flex-direction:column;gap:10px}.film-root .film-row{display:flex;align-items:center;gap:16px;padding:10px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--film-line);color:var(--film-ink)}.film-root .film-row-ready{position:relative}.film-root .film-row-link{display:flex;align-items:center;gap:16px;flex:1;min-width:0;color:inherit}.film-root .film-row-ready:has(.film-row-link:hover),.film-root a.film-row:hover{color:var(--film-ink);box-shadow:inset 0 0 0 2px #93c5fd}.film-root .film-thumb.pending{background:#f1f5f9}.film-root .film-thumb{width:144px;aspect-ratio:16 / 9;flex:none;border-radius:8px;background:#111827;object-fit:cover;display:block}.film-root .film-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.film-root .film-row-title{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.film-root .film-row-title span{font-weight:400;color:var(--film-muted)}.film-root .film-row-sub{font-size:13px;color:var(--film-muted)}.film-root .film-chips{display:flex;flex-wrap:wrap;gap:4px}.film-root .film-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;font-size:13px;color:var(--film-muted)}.film-root .film-review{max-width:1480px;margin:0 auto;padding:20px 24px 28px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.film-root .film-review:focus{outline:none}.film-root .film-stage{max-width:1040px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px;min-width:0}.film-root .film-player-head{display:flex;align-items:center;justify-content:flex-end;margin-bottom:-4px}.film-root .film-player{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(585px,calc(100vh - 230px));margin:0 auto;border-radius:14px;overflow:hidden;background:#111827;cursor:pointer}.film-root .film-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#111827}.film-root .film-now{position:absolute;left:16px;top:14px;display:flex;gap:8px;align-items:center;padding:6px 12px;border-radius:10px;background:#0f172a9e;color:#e2e8f0;font-size:13px;pointer-events:none}.film-root .film-now strong{color:#fff;font-weight:600}.film-root .film-now span{font-family:var(--film-mono);font-size:12px}.film-root .film-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:#0f172a8c;display:grid;place-items:center;pointer-events:none}.film-root .film-overlay{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);display:flex;align-items:center;gap:4px;padding:6px;border-radius:12px;background:#0f172abd;color:#e2e8f0;cursor:default}.film-root .film-ov-btn{width:30px;height:30px;border-radius:8px;background:transparent;color:#e2e8f0;display:grid;place-items:center;flex:none}.film-root .film-ov-btn:hover{background:#ffffff24;color:#fff}.film-root .film-ov-btn.on{background:var(--film-accent);color:#fff}.film-root .film-ov-btn:disabled{opacity:.35}.film-root .film-ov-btn:disabled:hover{background:transparent}.film-root .film-ov-label{min-width:74px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#cbd5e1;white-space:nowrap}.film-root .film-ov-div{width:1px;height:20px;background:#ffffff2e;margin:0 2px;flex:none}.film-root .film-pill{width:26px;height:28px;border-radius:7px;background:#ffffff1f;color:#ffffffb8;font:700 13px var(--film-mono);display:grid;place-items:center;flex:none}.film-root .film-pill:hover{background:#ffffff42;color:#fff}.film-root .film-pill.past{background:#60a5fa59;color:#fff}.film-root .film-pill.now{background:#fff;color:var(--film-accent-hover)}.film-root .film-pill:disabled{opacity:.3}.film-root .film-pill:disabled:hover{background:#ffffff1f;color:#ffffffb8}.film-root .film-note-dock{position:absolute;right:14px;bottom:14px;width:min(380px,42%);max-height:calc(100% - 28px);display:flex;flex-direction:column;align-items:flex-end;gap:20px;pointer-events:none}.film-root .film-note-dock>*{pointer-events:auto}.film-root .film-notes-switch{flex:none;height:34px;display:flex;align-items:center;gap:2px;padding:4px 4px 4px 12px;border-radius:12px;background:#0f172abd;color:#cbd5e1;cursor:default}.film-root .film-notes-switch span{margin-right:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.film-root .film-notes-switch button{height:26px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:700;color:#ffffffb8}.film-root .film-notes-switch button:hover{background:#ffffff24;color:#fff}.film-root .film-notes-switch button.on,.film-root .film-notes-switch button.on:hover{background:#fff;color:var(--film-accent-hover)}.film-root .film-note-card{width:100%;min-height:0;overflow:auto;padding:16px 18px 14px;border-radius:14px;background:#fff;color:var(--film-ink);box-shadow:0 10px 32px #0f172a59;cursor:pointer}.film-root .film-nc-note+.film-nc-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--film-line)}.film-root .film-nc-head{display:flex;align-items:center;gap:8px;min-width:0}.film-root .film-nc-count{flex:none;font:700 12px var(--film-mono);padding:3px 8px;border-radius:6px;background:#dbeafe;color:#1d4ed8}.film-root .film-nc-section{min-width:0;font-size:12px;color:var(--film-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-root .film-nc-text{margin:8px 0 0;font-size:19px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;text-wrap:pretty}.film-root .film-nc-more{margin:10px 0 0;font-size:13px;font-weight:600;color:var(--film-ink-2)}.film-root .film-nc-foot{margin:12px 0 0;font-size:12px;color:var(--film-muted)}.film-root .film-note-mark{position:absolute;top:-11px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--film-accent);box-shadow:0 0 0 2px #fff}.film-root .film-note-mark:hover{background:var(--film-accent-hover);transform:scale(1.25)}.film-root .film-bar-row{display:flex;align-items:center;gap:12px}.film-root .film-bar{flex:1;min-width:0;position:relative;height:44px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--film-line)}.film-root .film-bar-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:10px}.film-root .film-hint{margin:-4px 0 0;font-size:13px;color:var(--film-muted)}.film-root .film-hatch{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,#e8edf3 0,#e8edf3 6px,#f5f7fa 6px,#f5f7fa 12px);border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--film-muted);overflow:hidden;white-space:nowrap}.film-root .film-blk{position:absolute;top:4px;bottom:4px;border-radius:7px;padding:0 10px;display:flex;align-items:center;gap:6px;overflow:hidden;text-align:left;box-shadow:inset 0 0 0 1px #0f172a12}.film-root .film-blk:hover{box-shadow:inset 0 0 0 2px #93c5fd}.film-root .film-blk.cur{box-shadow:inset 0 0 0 2px var(--film-accent)}.film-root .film-blk span{font-size:13px;font-weight:600;color:var(--film-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-root .film-add-sections{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:7px;border:1.5px dashed #93c5fd;background:var(--film-blue-50);color:var(--film-accent-hover);font-weight:600;font-size:14px}.film-root .film-add-sections:hover{background:var(--film-blue-100)}.film-root .film-playhead{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--film-accent);border-radius:1px;pointer-events:none}.film-root .film-strip{position:absolute;top:4px;left:50%;display:flex;gap:14px;transition:transform .25s ease}.film-root .film-grp{flex:none;width:200px;height:36px;padding:4px;border-radius:9px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;box-shadow:inset 0 0 0 1px #0f172a12}.film-root .film-grp.cur{box-shadow:inset 0 0 0 2px var(--film-accent)}.film-root .film-grp.plain{background:#f1f5f9}.film-root .film-grp.lead{background:#f8fafc;box-shadow:inset 0 0 0 1.5px #cbd5e1}.film-root .film-grp.lead.cur{box-shadow:inset 0 0 0 2px var(--film-accent)}.film-root .film-grp .intro{display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--film-muted)}.film-root .film-cnt{border-radius:5px;background:#ffffffb3;font:700 12px var(--film-mono);color:#475569;display:grid;place-items:center}.film-root .film-cnt:hover{background:#fff;color:var(--film-accent-hover);box-shadow:inset 0 0 0 1.5px #93c5fd}.film-root .film-cnt.past{background:var(--film-blue-100);color:var(--film-accent-hover)}.film-root .film-cnt.now{background:var(--film-accent);color:#fff}.film-root .film-strip .film-hatch{position:relative;flex:none;height:36px;border-radius:9px}.film-root .film-notes{position:sticky;top:76px;height:calc(100vh - 100px);min-height:360px;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--film-line);overflow:hidden}.film-root .film-notes-head{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}.film-root .film-notes-head h2{font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px}.film-root .film-count-pill{font:600 12px var(--film-mono);padding:2px 7px;border-radius:999px;background:var(--film-blue-100);color:var(--film-accent-hover)}.film-root .film-notes-head .film-seg{margin-left:auto}.film-root .film-composer{padding:0 16px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #f1f5f9}.film-root .film-composer-line{display:flex;align-items:center;gap:8px}.film-root .film-composer-line input{flex:1;min-width:0}.film-root .film-moment{font:700 13px var(--film-mono);padding:7px 8px;border-radius:8px;background:var(--film-blue-50);color:var(--film-accent-hover);white-space:nowrap}.film-root .film-composer-cats{display:flex;align-items:center;gap:8px}.film-root .film-composer-cats .film-btn{margin-left:auto}.film-root .film-note-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px}.film-root .film-note{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:10px}.film-root .film-note:hover{background:#f8fafc}.film-root .film-note.is-active{background:var(--film-blue-50);box-shadow:inset 0 0 0 1.5px #93c5fd}.film-root .film-note.addressed .film-note-text{color:#94a3b8;text-decoration:line-through}.film-root .film-note-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;text-align:left}.film-root .film-note-count{flex:none;min-width:36px;font:700 12px var(--film-mono);padding:3px 6px;border-radius:6px;background:#f1f5f9;color:var(--film-ink-2);text-align:center}.film-root .film-note-body{min-width:0;display:flex;flex-direction:column;gap:2px}.film-root .film-note-text{font-size:14px;color:var(--film-ink);overflow-wrap:anywhere}.film-root .film-note-meta{font-size:12px;color:var(--film-muted)}.film-root .film-note-actions{display:flex;gap:2px;flex:none}.film-root .film-note-actions button{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--film-muted)}.film-root .film-note-actions button:hover{background:#e8edf3;color:var(--film-ink)}.film-root .film-note-actions button.on{color:var(--film-accent)}.film-root .film-note-empty{padding:24px 16px;text-align:center;color:var(--film-muted);font-size:14px}.film-root .film-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a6b;display:grid;place-items:center;padding:24px;overflow-y:auto}.film-root .film-modal{width:100%;max-width:980px;background:#fff;border-radius:16px;box-shadow:0 24px 60px #0f172a47;display:flex;flex-direction:column}.film-root .film-modal-head{padding:20px 24px 12px;display:flex;align-items:flex-start;gap:8px}.film-root .film-modal-head>div{flex:1;margin-right:8px}.film-root .film-modal-head h2{font-size:20px;font-weight:600;letter-spacing:-.01em}.film-root .film-modal-head p{margin-top:4px;color:var(--film-muted);font-size:14px}.film-root .film-modal-body{display:flex;flex-wrap:wrap;gap:20px;padding:4px 24px 8px}.film-root .film-modal-list{flex:1 1 240px;max-width:280px;display:flex;flex-direction:column;gap:2px}.film-root .film-modal-main{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:10px}.film-root .film-modal-bar{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.film-root .film-modal-bar strong{color:var(--film-ink)}.film-root .film-modal-bar span{margin-left:auto}.film-root .film-sec-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;width:100%;text-align:left}.film-root .film-sec-row:disabled{opacity:.6}.film-root .film-sec-row:hover{background:#f1f5f9}.film-root .film-sec-row .box{width:18px;height:18px;border-radius:5px;border:1.5px solid #cbd5e1;display:grid;place-items:center;color:#fff;font-size:12px;flex:none}.film-root .film-sec-row.on .box{background:var(--film-accent);border-color:var(--film-accent)}.film-root .film-sec-row .chip{width:12px;height:12px;border-radius:4px;flex:none;box-shadow:inset 0 0 0 1px #0f172a26}.film-root .film-sec-row .name{font-weight:600}.film-root .film-sec-row .len{margin-left:auto;font:600 12px var(--film-mono);color:var(--film-muted)}.film-root .film-track.saving .film-mblk{opacity:.7;cursor:default}.film-root .film-track{position:relative;height:112px;border-radius:12px;background:#f8fafc;box-shadow:inset 0 0 0 1px var(--film-line);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.film-root .film-mcell{position:absolute;top:0;bottom:0;border-left:1px solid var(--film-line);font:600 11px var(--film-mono);color:#94a3b8;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;pointer-events:none}.film-root .film-mblocks{position:absolute;left:0;right:0;top:14px;height:60px}.film-root .film-mblk{position:absolute;top:6px;bottom:6px;border-radius:8px;display:flex;align-items:center;gap:6px;padding:0 10px;overflow:hidden;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 1px #0f172a14}.film-root .film-mblk.sel{box-shadow:inset 0 0 0 2px var(--film-accent);overflow:visible}.film-root .film-mblk span{font-size:13px;font-weight:600;color:var(--film-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.film-root .film-mblk small{font:600 11px var(--film-mono);color:#475569;pointer-events:none}.film-root .film-handle{position:absolute;top:6px;bottom:6px;width:8px;border-radius:3px;background:var(--film-accent);cursor:ew-resize}.film-root .film-modal-hint{font-size:13px;color:#475569;min-height:18px}.film-root .film-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px 20px;border-top:1px solid #f1f5f9;margin-top:8px}.film-root .film-modal-foot .film-error{margin-right:auto}@media(max-width:1100px){.film-root .film-review{grid-template-columns:minmax(0,1fr)}.film-root .film-notes{position:static;height:auto;max-height:520px}}@media(max-width:760px){.film-root .film-note-dock{bottom:62px;width:min(380px,70%);gap:8px;max-height:calc(100% - 76px)}.film-root .film-library{grid-template-columns:minmax(0,1fr)}.film-root .film-side{position:static}.film-root .film-thumb{width:96px}.film-root .film-header{padding:0 12px}.film-root .film-review{padding:12px}}.film-root:has(>.film-signin){min-height:100vh;padding:12vh 16px 32px}.film-root .film-signin{max-width:400px;margin:0 auto;padding:32px 28px;background:var(--film-surface);border:1px solid var(--film-line);border-radius:16px;box-shadow:0 12px 32px #0f172a14;display:flex;flex-direction:column;gap:14px}.film-root .film-signin .film-logo{width:34px;height:34px;border-radius:9px}.film-root .film-signin h1{font-size:28px;font-weight:600;letter-spacing:-.01em}.film-root .film-signin-lead{color:var(--film-muted)}.film-root .film-signin form{display:flex;flex-direction:column;gap:14px}.film-root .film-signin label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px;font-weight:500;color:var(--film-ink-2)}.film-root .film-signin input{width:100%;padding:10px 12px;font-size:16px}.film-root .film-signin .film-btn{padding:10px 14px;text-align:center}.film-root .film-signin-google{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--film-ink)}.film-root .film-signin-google:hover{background:#f8fafc}.film-root .film-signin-or{display:flex;align-items:center;gap:12px;color:var(--film-muted);font-size:13px}.film-root .film-signin-or:before,.film-root .film-signin-or:after{content:"";flex:1;height:1px;background:var(--film-line)}.film-root .film-signin-code{font-size:22px;letter-spacing:.3em;text-align:center}.film-root .film-signin-links{display:flex;justify-content:space-between;gap:12px;font-size:14px}.film-root .film-signin-note{color:var(--film-ink-2);font-size:14px}.film-root .film-coaches{max-width:560px}.film-root .film-coaches-body{padding:4px 24px 8px;display:flex;flex-direction:column;gap:18px}.film-root .film-coach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.film-root .film-coach-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.film-root .film-coach-list li>div{min-width:0}.film-root .film-coach-you{color:var(--film-muted)}.film-root .film-coach-sub{display:block;color:var(--film-muted);font-size:13px;overflow-wrap:anywhere}.film-root .film-coach-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.film-root .film-coach-form label{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:13px;font-weight:500;color:var(--film-ink-2)}.film-root .film-coach-form label:first-child{flex:1 1 200px}.film-root .film-coach-form input{width:100%}.film-root .film-lib-head{flex-wrap:wrap}.film-root .film-empty-action{margin-top:18px}.film-root .film-drop-hint{position:fixed;top:12px;right:12px;bottom:12px;left:12px;z-index:40;display:grid;place-items:center;border:2px dashed var(--film-accent);border-radius:16px;background:#eff6ffeb;color:var(--film-accent-hover);font-size:18px;font-weight:600;pointer-events:none}.film-root .film-upload{position:relative;align-items:flex-start}.film-root .film-upload.failed{box-shadow:inset 0 0 0 1px #fecdd3}.film-root .film-upload.waiting,.film-root .film-upload.paused{box-shadow:inset 0 0 0 1px #fde68a}.film-root .film-upload-status{font-weight:600;color:var(--film-ink-2)}.film-root .film-upload.failed .film-upload-status{color:#be123c}.film-root .film-progress{height:6px;border-radius:999px;background:var(--film-line);overflow:hidden}.film-root .film-progress span{display:block;height:100%;background:var(--film-accent);transition:width .3s ease}.film-root .film-upload.waiting .film-progress span,.film-root .film-upload.paused .film-progress span{background:#d97706}.film-root .film-upload-actions{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}.film-root .film-upload-actions .film-link-btn{padding:6px 0}.film-root .film-link-btn:disabled{opacity:.5}.film-root .film-pop{position:absolute;top:calc(100% + 6px);right:8px;z-index:20;width:300px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--film-line),0 12px 32px #0f172a24}.film-root .film-pop label{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:4px;font-size:13px;font-weight:500;color:var(--film-ink-2)}.film-root .film-pop input{width:100%;font-size:16px}.film-root .film-pop-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px}.film-root .film-pop-foot .danger{margin-right:auto;color:#b91c1c}@media(max-width:760px){.film-root .film-header{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 12px;gap:4px 8px}.film-root .film-brand{display:none}.film-root .film-header-actions{gap:14px;white-space:nowrap}.film-root .film-library{padding:16px 12px 40px}.film-root .film-lib-head h1{flex:1;min-width:0}.film-root .film-lib-head .film-seg{margin-left:0;width:100%}.film-root .film-lib-head .film-seg button{flex:1}.film-root .film-upload .film-thumb{display:none}.film-root .film-upload{flex-direction:column;gap:8px}.film-root .film-upload .film-row-body{width:100%}.film-root .film-upload .film-row-meta{position:absolute;top:10px;right:10px}.film-root .film-upload .film-row-title{padding-right:96px}.film-root .film-pop{position:fixed;top:auto;right:12px;bottom:12px;left:12px;width:auto;max-width:none}}@media(max-width:760px){.film-root .film-side{flex-direction:row;overflow-x:auto;gap:6px;margin:0 -12px;padding:0 12px 4px;scrollbar-width:none}.film-root .film-side-label{display:none}.film-root .film-side-item{width:auto;flex:none;white-space:nowrap;padding:6px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--film-line);background:#fff}.film-root .film-side-item .n{margin-left:6px}.film-root .film-row-link{gap:10px}}
