:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:1150px;min-height:100vh}h1{font-size:3em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-color: #f5f5f5;--text-color: #333;--header-color: #333;--border-color: #e0e0e0;--shadow-color: rgba(0, 0, 0, .08);--preview-border: #7fc1ff;--preview-bg: #f7faff;--editor-border: #a3d9a5;--editor-bg: #f7fff8;--render-bg: #f9f9f9;--input-bg: #f9f9f9;--input-border: #ddd;--input-text: #333;--button-bg: #3498db;--button-hover: #2980b9;--stop-button: #e74c3c;--stop-button-hover: #c0392b;--play-button: #2ecc71;--play-button-hover: #27ae60}[data-theme=dark]{--bg-color: #1a1a1a;--text-color: #e0e0e0;--header-color: #f0f0f0;--border-color: #444;--shadow-color: rgba(0, 0, 0, .3);--preview-border: #3a6ea5;--preview-bg: #1c2c3f;--editor-border: #406b42;--editor-bg: #1c3f1e;--render-bg: #2a2a2a;--input-bg: #2a2a2a;--input-border: #555;--input-text: #e0e0e0;--button-bg: #2573b3;--button-hover: #1a5789;--stop-button: #c0392b;--stop-button-hover: #922b1f;--play-button: #27ae60;--play-button-hover: #1e8449}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}#root{margin:0 auto;padding:2rem;width:100%}.app-container{text-align:left;display:flex;flex-direction:column;gap:2rem}.header-container{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:1rem}.app-container h1{text-align:center;margin-bottom:1rem;color:var(--header-color)}.theme-toggle-button{position:absolute;right:0;top:0;width:40px;height:40px;font-size:20px;background-color:transparent;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease}.theme-toggle-button:hover{background-color:var(--button-hover);color:#fff}.preview-area,.editor-area{border-radius:12px;padding:1.5rem;background-color:var(--preview-bg);box-shadow:0 6px 12px var(--shadow-color);position:relative;transition:background-color .3s ease,box-shadow .3s ease}.preview-area{margin-bottom:2rem;border:2px solid var(--preview-border)}.editor-area{border:2px solid var(--editor-border);background-color:var(--editor-bg)}.preview-area h2,.editor-area h2{margin-top:0;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);color:var(--text-color);display:flex;justify-content:space-between;align-items:center}.render-area{padding:2%;min-height:150px;border-radius:6px;background-color:var(--render-bg);margin:0 auto;transition:background-color .3s ease;display:flex;justify-content:center;align-items:center;width:96%;overflow-x:auto}.score-editor{font-family:Fira Code,Consolas,monospace;font-size:18px;padding:2%;border-radius:8px;border:1px solid var(--input-border);resize:none;width:96%;box-shadow:inset 0 1px 4px var(--shadow-color);line-height:1.5;color:var(--input-text);background-color:var(--input-bg);transition:all .2s ease-in-out;outline:none;min-height:200px}.score-editor:focus{box-shadow:inset 0 1px 4px var(--shadow-color),0 0 0 2px #0076ff40;border-color:#0070f3}.button-group{display:flex;align-items:center;gap:10px;position:relative}.button-group button{width:40px;height:40px;font-size:18px;display:flex;align-items:center;justify-content:center;padding:0;border:none;cursor:pointer;transition:all .3s ease}.examples-button,.settings-button,.help-button,.export-button{background-color:var(--button-bg)}.examples-button:hover,.settings-button:hover,.help-button:hover,.export-button:hover{background-color:var(--button-hover)}.button-group button:hover{box-shadow:0 2px 5px #0003;transform:translateY(-2px)}[data-theme=dark] .button-group button:hover{box-shadow:0 2px 5px #0006}.button-group button:after{content:attr(title);position:absolute;bottom:125%;left:50%;transform:translate(-50%);padding:5px 10px;background:#000c;color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;z-index:10}.button-group button:hover:after{opacity:1;visibility:visible}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center}.settings-modal{background-color:var(--preview-bg);border-radius:8px;padding:20px;box-shadow:0 4px 12px var(--shadow-color);max-width:400px;width:100%;box-sizing:border-box;overflow:hidden;color:var(--text-color);border:1px solid var(--border-color)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.settings-header h3{margin:0;color:var(--header-color)}.settings-group{margin-bottom:20px}.settings-group label{display:inline-block;margin-bottom:8px;font-size:18px;color:var(--text-color)}.settings-group input,.settings-group select{width:100%;padding:10px;border:1px solid var(--input-border);border-radius:4px;font-size:16px;box-sizing:border-box;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;background-color:var(--input-bg);color:var(--input-text)}.settings-group input:focus,.settings-group select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.settings-group input[type=range]{height:6px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-border)}.settings-group input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--button-bg);cursor:pointer;border:none}.settings-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--button-bg);cursor:pointer;border:none}.volume-value{display:inline-block;margin-left:10px;font-size:16px;min-width:36px;color:var(--text-color)}.settings-group input[type=checkbox]{width:auto;margin:16px;width:16px;height:16px}.audition-button{border:none;border-radius:4px;padding:10px;margin-left:16px;width:40px;height:40px;font-size:16px;cursor:pointer;transition:background-color .2s ease-in-out}.stop-button{color:#fff;background-color:var(--stop-button)}.stop-button:hover{background-color:var(--stop-button-hover)}.play-button{color:#fff;background-color:var(--play-button)}.play-button:hover{background-color:var(--play-button-hover)}.examples-panel{position:absolute;z-index:100;background-color:var(--preview-bg);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 10px var(--shadow-color);width:300px;max-height:400px;overflow-y:auto;right:0;top:40px;color:var(--text-color)}.examples-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--border-color)}.examples-panel-header h3{margin:0;padding-left:4px;font-size:16px;color:var(--header-color)}.close-button{background:none;border:none;font-size:24px;cursor:pointer;padding:0;color:var(--text-color)}.examples-list{display:flex;flex-direction:column;padding:10px}.example-item{text-align:left;padding:8px 12px;margin-bottom:5px;background:var(--input-bg);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;color:var(--text-color)}.example-item:hover{background:var(--input-border)}
