:root{--primary-color: #2563eb;--secondary-color: #7e22ce;--accent-color: #0ea5e9;--background-color: #f8fafc;--surface-color: #ffffff;--border-color: #e2e8f0;--text-color: #1e293b;--text-muted: #64748b;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}html,body{height:100%;width:100%;overflow-x:hidden}body{font-family:var(--font-family);line-height:1.6;color:var(--text-color);background-color:var(--background-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:#1d4ed8;text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;border:none;background:none}input,select,textarea{outline:none}img{max-width:100%;height:auto}@media (prefers-color-scheme: dark){:root{--background-color: #0f172a;--surface-color: #1e293b;--border-color: #334155;--text-color: #e2e8f0;--text-muted: #94a3b8}}:root{--primary-color: #2563eb;--secondary-color: #7e22ce;--accent-color: #0ea5e9;--background-color: #f8fafc;--surface-color: #ffffff;--border-color: #e2e8f0;--text-color: #1e293b;--text-muted: #64748b;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--grid-line-color: #cbd5e1;--grid-line-major: #94a3b8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-color);background-color:var(--background-color);line-height:1.5}button,select,input{font-family:inherit}.music-analyzer-app{display:flex;flex-direction:column;min-height:100vh;max-width:100%}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.text-right{text-align:right}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@keyframes pulse{0%{box-shadow:0 0 #2563ebb3}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 #2563eb00}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#bec3c9;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media (max-width: 768px){.music-analyzer-app{font-size:14px}}@media (prefers-color-scheme: dark){:root{--background-color: #0f172a;--surface-color: #1e293b;--border-color: #334155;--text-color: #e2e8f0;--text-muted: #94a3b8;--grid-line-color: #334155;--grid-line-major: #475569}}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.header-title{display:flex;align-items:center}.arrangement-title{font-size:1.5rem;font-weight:600;margin:0;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.arrangement-title:hover{background-color:#0000000d}.title-input{font-size:1.5rem;font-weight:600;padding:.25rem .5rem;border:1px solid var(--primary-color);border-radius:4px;outline:none;background-color:var(--surface-color);color:var(--text-color)}.header-actions{display:flex;gap:.75rem}.header-button{padding:.5rem 1rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-color)}.new-button{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color)}.new-button:hover{background-color:#0000000d}.export-button{background-color:var(--primary-color);border:1px solid var(--primary-color);color:#fff}.export-button:hover{background-color:#1d4ed8}.import-button:hover{background-color:#0000000d}@media (max-width: 768px){.header{padding:.75rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.header-actions{width:100%;justify-content:flex-end}.arrangement-title{font-size:1.25rem}.title-input{font-size:1.25rem;width:100%}}@media (prefers-color-scheme: dark){.arrangement-title:hover,.import-button:hover,.new-button:hover{background-color:#ffffff1a}}.section-bar{position:relative;width:100%;padding:1.5rem 2rem .5rem;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);margin-bottom:1rem;overflow-y:hidden;overflow-x:auto}.section-timeline{height:60px;width:100%;cursor:pointer;position:relative;min-width:min-content;z-index:1}.bar-indicator{position:absolute;top:0;bottom:0;width:1px;background-color:var(--grid-line-color);z-index:2;pointer-events:none}.major-bar{background-color:var(--grid-line-major);width:2px}.bar-number{position:absolute;bottom:-20px;left:-10px;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.section-container{position:absolute;height:40px;top:10px;border-radius:4px;background-color:#2563eb1a;border:1px solid rgba(37,99,235,.3);display:flex;justify-content:space-between;align-items:center;overflow:hidden;cursor:move;z-index:10}.section-preview{opacity:.6;border-style:dashed;pointer-events:none}.section-handle{position:absolute;width:8px;top:0;bottom:0;cursor:col-resize;background-color:#2563eb80;transition:background-color .2s}.section-handle:hover{background-color:#2563ebcc}.section-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 12px;overflow:hidden;cursor:move}.section-name{font-weight:500;font-size:.9rem;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .2s}.section-name:hover{background-color:#2563eb1a}.section-name-input{background:transparent;border:none;border-bottom:1px solid var(--primary-color);color:var(--primary-color);font-weight:500;font-size:.9rem;outline:none;width:100%;padding:2px 4px}.delete-section-button{border:none;background:transparent;color:var(--text-muted);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-left:4px;opacity:.6;transition:all .2s}.delete-section-button:hover{opacity:1;background-color:#ef44441a;color:var(--danger-color)}.section-instructions{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:1.5rem;padding-bottom:.5rem}.section-container.dragging{opacity:.8;box-shadow:var(--shadow-md)}@media (max-width: 768px){.section-bar{padding:1rem 1rem .5rem}.section-container{height:30px}.section-name{font-size:.8rem}.section-instructions{display:none}}.instrument-row{display:flex;flex-direction:column;width:100%;height:50px;position:relative;border-bottom:1px solid var(--border-color)}.instrument-label{position:absolute;top:0;left:0;display:flex;align-items:center;width:100px;height:25px;padding:0 8px;font-weight:500;background-color:transparent;z-index:10;cursor:pointer;border-bottom:1px solid var(--border-color);box-sizing:border-box;color:var(--text-color)}.instrument-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;text-align:center;width:100%}.instrument-name-input{width:100%;border:none;text-align:center;font-size:.9rem;font-weight:500;outline:none;background-color:transparent;border-bottom:1px solid var(--primary-color);padding:2px 4px;border-radius:2px;color:var(--primary-color)}.instrument-row-content{position:absolute;top:25px;left:0;right:0;height:25px}.instrument-row-background{position:absolute;inset:0;z-index:3}.activity-bar{position:absolute;height:20px;top:2px;z-index:5;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center;overflow:hidden;box-sizing:border-box;border:1px solid rgba(0,0,0,.1);transition:background-color .2s ease}.activity-handle{position:absolute;width:4px;top:0;bottom:0;cursor:col-resize;background-color:#0000004d;opacity:.7;transition:opacity .2s;z-index:2}.activity-handle:hover{opacity:1}.left-handle{left:0}.right-handle{right:0}.activity-content{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 12px;cursor:move;-webkit-user-select:none;user-select:none}.activity-info{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-weight:500;width:100%}.delete-activity-button{border:none;background:transparent;color:#ffffffb3;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;margin-left:4px;opacity:.6;transition:all .2s}.delete-activity-button:hover{opacity:1;background-color:#0000004d}.activity-bar.dragging{opacity:.7}.activity-bar.activity-preview{opacity:.6;border-style:dashed;pointer-events:none}.arrangement-grid-container{display:flex;flex-direction:column;width:100%;overflow-x:auto;padding:0 2rem;flex-grow:1}.timeline-ruler{position:relative;height:24px;width:100%;margin-bottom:4px;border-bottom:1px solid var(--border-color)}.ruler-mark{position:absolute;top:0;bottom:0;width:1px;background-color:var(--grid-line-color)}.ruler-mark.major-bar{background-color:var(--grid-line-major);width:2px}.bar-number{position:absolute;top:2px;left:4px;font-size:.75rem;color:var(--text-muted)}.grid-content{position:relative;display:flex;flex-direction:column;flex-grow:1;min-height:200px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--surface-color);overflow:hidden;min-width:min-content}.section-backgrounds{position:absolute;inset:0;z-index:1;pointer-events:none}.section-background{position:absolute;top:0;height:100%}.grid-lines{position:absolute;inset:0;z-index:2;pointer-events:none}.grid-line{position:absolute;top:0;bottom:0;width:1px;background-color:var(--grid-line-color);pointer-events:none;z-index:2}.grid-line.major-line{background-color:var(--grid-line-major);width:1px}.instrument-rows{position:relative;z-index:3;display:flex;flex-direction:column;width:100%;border-bottom:1px solid var(--border-color);min-width:min-content}.add-instrument-area{padding:1rem;display:flex;justify-content:center;align-items:center;background-color:#00000005;border-top:1px dashed var(--border-color);cursor:pointer;transition:background-color .2s;min-height:60px;position:relative;z-index:10}.add-instrument-area:hover{background-color:#2563eb0d}.add-instrument-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--primary-color);font-weight:500;border-radius:4px;transition:all .2s}.plus-icon{font-size:1.2rem;font-weight:700}@media (max-width: 768px){.arrangement-grid-container{padding:0 1rem}.arrangement-grid-container{overflow-x:auto}.arrangement-grid-container[data-bars-count="65"] .grid-content,.arrangement-grid-container[data-bars-count="65"] .timeline-ruler,.arrangement-grid-container[data-bars-count="65"] .instrument-rows{min-width:1300px}.timeline-ruler{height:20px}.bar-number{font-size:.7rem}}@media (prefers-color-scheme: dark){.add-instrument-area{background-color:#ffffff05}.add-instrument-area:hover{background-color:#2563eb1a}}.footer{position:sticky;bottom:0;width:100%;background-color:var(--surface-color);border-top:1px solid var(--border-color);padding:.75rem 2rem;box-shadow:0 -2px 4px #0000000d;z-index:10}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.bar-count-control{display:flex;align-items:center;gap:.5rem}.bar-count-control label{font-size:.875rem;font-weight:500;color:var(--text-color)}.bar-count-control select{padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-color);font-size:.875rem;cursor:pointer;outline:none}.bar-count-control select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb33}.shortcuts-info{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.8rem}.shortcut-key{display:inline-block;padding:.1rem .4rem;background-color:var(--border-color);border-radius:3px;font-family:monospace;font-size:.75rem;color:var(--text-color);margin:0 .25rem}.app-info{font-size:.8rem;color:var(--text-muted);white-space:nowrap}@media (max-width: 768px){.footer{padding:.5rem 1rem}.footer-content{flex-direction:column;gap:.5rem;align-items:flex-start}.shortcuts-info,.app-info{display:none}}@media (prefers-color-scheme: dark){.shortcut-key{background-color:var(--grid-line-major)}}
