:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#20231f;background:#f5f4ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{transition:.16s ease}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #d7a84a;outline-offset:2px}.workspace-shell{min-height:100vh;width:min(1360px,calc(100% - 40px));margin:0 auto;padding-bottom:96px}.sticky-app-header{position:sticky;top:0;z-index:100;background:#f5f4ee;box-shadow:0 7px 14px #34362c0f}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dfddd2}.brand{display:grid;gap:2px;padding:0;background:transparent;color:#28382e;text-align:left}.brand span{font-size:1rem;font-weight:850;letter-spacing:-.03em}.brand strong{color:#98772d;text-transform:uppercase;letter-spacing:.11em;font-size:.63rem}.topbar-account{display:flex;align-items:center;gap:12px;color:#6b7068;font-size:.79rem;font-weight:700}.provider-badge{border-radius:999px;padding:5px 8px;background:#e7eee8;color:#367155;font-size:.7rem}.provider-badge.simulated{background:#fbefd7;color:#876b29}.global-playback{position:fixed;right:auto;bottom:max(12px,env(safe-area-inset-bottom));left:50%;z-index:200;width:min(720px,calc(100% - 32px));min-height:52px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;transform:translate(-50%);padding:9px 13px;border:1px solid #d8d6cc;border-radius:15px;background:#f7f6f0;box-shadow:0 12px 34px #23282333;color:#656a62;font-size:.77rem}.global-playback.active{border-color:#b9d1bd;background:#edf5ee;color:#314a3b;box-shadow:0 12px 38px #274c3138}.global-playback strong{min-width:0;overflow:hidden;margin-right:auto;text-overflow:ellipsis;white-space:nowrap}.global-playback>div{display:flex;gap:7px}.global-playback .primary,.global-playback .secondary{padding:6px 9px;font-size:.71rem}.playback-indicator{color:#7a7e76;font-weight:850;white-space:nowrap}.global-playback.active .playback-indicator{color:#267049}.stop-button{padding:6px 9px;border-radius:8px;background:#9b463c;color:#fff;font-size:.71rem;font-weight:800}.stop-button:hover{background:#7d352d}.dashboard{padding:36px 0}.dashboard-hero{display:grid;gap:15px;max-width:700px;margin-bottom:42px}.dashboard-hero label{display:grid;gap:5px;max-width:360px;font-size:.8rem;font-weight:700;color:#4b5349}.dashboard-hero input{width:100%;border:1px solid #d8d8ce;border-radius:8px;padding:9px 38px 9px 10px;background:#fff;color:#252922}.password-field{position:relative;display:block}.password-visibility{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border-radius:6px;background:transparent;color:#526050;font-size:1.35rem;line-height:1}.password-visibility:hover{background:#eff1e9}.eyebrow{margin:0;color:#98772d;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.1rem,4.5vw,4rem);letter-spacing:-.06em;line-height:.98}h2{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:0}.dashboard-hero>p:not(.eyebrow){color:#62675d;line-height:1.55;margin-bottom:0}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card,.panel{border:1px solid #e2e0d7;background:#fffefa;border-radius:16px;box-shadow:0 8px 32px #34362c0b}.project-card{min-height:205px;display:flex;justify-content:space-between;flex-direction:column;padding:21px}.project-card>div>p:not(.eyebrow){color:#6e736a;font-size:.84rem;margin:11px 0 0}.project-card footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#8b8f86;font-size:.68rem}.project-card-actions{display:grid;justify-items:end;gap:1px}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:760;text-decoration:none}.primary{padding:11px 15px;background:#314a3b;color:#fff}.primary:hover{background:#263c30}.secondary{padding:9px 12px;background:#eeece3;color:#3d443a}.secondary:hover{background:#e4e1d6}.text-button{padding:6px 0;background:transparent;color:#876b29}button:disabled,.disabled{opacity:.5;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#1c201c7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{width:min(440px,100%);display:grid;gap:13px;padding:25px;border:1px solid #dedbd0;border-radius:16px;background:#fffefa;box-shadow:0 24px 70px #181d1847}.confirm-dialog h2{font-size:1.35rem;color:#29352c}.confirm-dialog>p:not(.eyebrow){margin:0;color:#62685f;font-size:.88rem;line-height:1.55}.confirm-dialog-subject{display:block;padding:10px 12px;border-radius:9px;background:#f3f1e9;color:#303a32;font-size:.9rem;overflow-wrap:anywhere}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.danger-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:9px;background:#a14e44;color:#fff;font-weight:780}.danger-button:hover{background:#863c34}.project-tabs{min-height:48px;display:flex;align-items:end;gap:4px;overflow:auto;border-bottom:1px solid #dfddd2}.project-tabs button{background:transparent;color:#5f665d}.dashboard-tab{padding:10px 9px;font-size:.77rem;font-weight:750}.project-tab{display:flex;align-items:center;border:1px solid #dfddd2;border-bottom:0;border-radius:9px 9px 0 0;background:#eeece3}.project-tab.active{background:#fffefa}.project-tab button:first-child{padding:10px 10px 9px 13px;font-size:.77rem;font-weight:750;white-space:nowrap}.project-tab button:last-child{padding:6px 9px;font-size:1.08rem;color:#9d685b}.project-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 120px)}.project-sidebar{padding:25px 15px 25px 0;border-right:1px solid #dfddd2;display:grid;align-content:start;gap:3px}.sidebar-project{display:grid;gap:5px;margin:0 9px 18px;color:#7c8178;font-size:.69rem}.sidebar-project strong{color:#3a493d;font-size:.88rem}.project-sidebar>button{display:grid;gap:3px;padding:10px 11px;text-align:left;background:transparent;color:#6e736a;border-radius:9px}.project-sidebar>button strong{font-size:.8rem}.project-sidebar>button small{font-size:.67rem}.project-sidebar>button.active{background:#e8efe8;color:#314a3b}.workspace-content{padding:34px 0 0 33px;min-width:0}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:31px}.workspace-header h1{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-top:6px}.project-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.project-meta>span,.view-intro span{padding:5px 8px;border-radius:7px;background:#efeee7;color:#676c63;font-size:.72rem;font-weight:750}.view-stack,.tracks-view{display:grid;gap:17px;max-width:940px}.view-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:#666c63;font-size:.87rem;line-height:1.5}.view-intro p{margin:0;max-width:650px}.compact-editor{border:1px solid #e2e0d7;background:#fffefa;border-radius:13px;overflow:hidden}.editor-label{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #ebe9e0;color:#475248;font-size:.82rem}.chord-table{max-height:265px;overflow:auto}.chord-row{display:grid;grid-template-columns:32px minmax(100px,1fr) 70px 44px 30px;align-items:center;gap:8px;min-height:43px;padding:5px 12px;border-bottom:1px solid #f0eee7}.chord-row:last-child{border-bottom:0}.chord-row>span:first-child{color:#999c93;font-size:.74rem;font-weight:700;text-align:center}.chord-row input,select,textarea{width:100%;border:1px solid #d8d8ce;background:#fff;border-radius:8px;padding:8px 9px;color:#252922}.chord-row>span:nth-of-type(2){color:#8b8f86;font-size:.69rem}.icon-button{color:#a15a4e;background:transparent;padding:4px;font-size:1.3rem}.progression-notation{border:1px solid #e2e0d7;border-radius:12px;background:#f9f8f2;overflow:hidden}.notation-heading{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1px solid #e7e5dc;color:#556057;font-size:.73rem;font-weight:750}.notation-heading small{color:#8a8e85}.notation-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:11px}.notation-cell{min-height:56px;display:grid;justify-items:center;align-content:center;gap:4px;border-right:1px solid #aaa99f;color:#657064}.notation-cell:nth-child(8n){border-right:0}.notation-cell small{font-size:.56rem;color:#a0a39c}.notation-cell i{color:#314a3b;font-size:.48rem;font-style:normal}.notation-cell strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#39443b;font-size:.7rem}.view-actions{display:flex;justify-content:flex-end}.progression-editor{border:1px solid #e2e0d7;border-radius:13px;overflow:hidden;background:#fffefa}.editor-label small{color:#858a80;font-size:.68rem;font-weight:650}.progression-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:13px 12px 10px}.progression-canvas{position:relative;min-height:88px;border:1px solid #dcdad0;border-radius:9px;background:repeating-linear-gradient(90deg,#faf9f3 0,#faf9f3 41px,#f0eee6 42px);touch-action:pan-x}.progression-canvas:focus-visible{outline:3px solid #d7a84a;outline-offset:2px}.timeline-bar{position:absolute;top:0;bottom:0;width:1px;background:#9b9a90;z-index:1}.timeline-bar small{position:absolute;top:4px;left:5px;color:#898d84;font-size:.59rem;font-weight:800}.timeline-chord{position:absolute;top:25px;bottom:9px;z-index:2;display:grid;align-content:center;gap:2px;padding:7px 13px 7px 25px;border:1px solid #819787;border-radius:7px;background:#edf5ee;color:#314a3b;cursor:default;-webkit-user-select:none;user-select:none}.timeline-chord.selected{border:2px solid #367155;padding:6px 12px 6px 24px}.timeline-chord.dragging{opacity:.22}.timeline-chord-symbol{font-size:.76rem;font-weight:850;white-space:nowrap}.timeline-chord small{color:#627567;font-size:.61rem}.drag-handle{position:absolute;top:5px;left:4px;bottom:5px;width:15px;border-radius:5px;background:#d6e4d8;color:#456b50;font-size:.82rem;line-height:1;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.duration-handle{position:absolute;top:5px;right:3px;bottom:5px;width:7px;padding:0;border:0;border-radius:4px;background:repeating-linear-gradient(180deg,#62806b 0,#62806b 2px,transparent 2px,transparent 4px);cursor:ew-resize;touch-action:none}.timeline-caret{position:absolute;top:18px;bottom:4px;z-index:7;width:2px;border-radius:2px;background:#9a681d;box-shadow:0 0 0 1px #fffefad9;opacity:.58;pointer-events:none}.cursor-active .timeline-caret{opacity:1;animation:timeline-caret-blink 1s steps(1,end) infinite}@keyframes timeline-caret-blink{0%,48%{opacity:1}49%,to{opacity:.12}}.timeline-insertion{position:absolute;top:19px;bottom:4px;z-index:4;width:3px;border-radius:2px;background:#b98028;box-shadow:0 0 0 2px #fffefad1;pointer-events:none}.timeline-drag-ghost{position:fixed;z-index:20;padding:8px 11px;border:1px solid #497a57;border-radius:7px;background:#f3faf4;box-shadow:0 7px 17px #263c2d33;color:#294d34;font-size:.76rem;font-weight:850;pointer-events:none}.timeline-rest{position:absolute;top:25px;bottom:9px;display:grid;place-items:center;border:1px dashed #bbb8ae;border-radius:7px;color:#9a978d;font-size:.58rem}.progression-actions{display:grid;gap:10px;padding:10px 13px 13px;border-top:1px solid #ebe9e0}.progression-actions form{display:flex;gap:7px}.progression-actions form input,.selected-chord-editor input{min-width:0;width:100%;border:1px solid #d8d8ce;border-radius:8px;padding:8px 9px;background:#fff;color:#252922}.selected-chord-editor{display:grid;gap:8px;padding:10px;border-radius:9px;background:#f5f4ee}.selected-chord-editor>div{display:flex;flex-wrap:wrap;gap:7px}.selected-chord-editor .secondary{padding:6px 9px;font-size:.72rem}.selected-chord-editor .text-button{padding:5px 2px;font-size:.72rem}.interpretation-layout,.score-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.72fr);gap:18px;align-items:start}.interpretation-main,.interpretation-list{display:grid;gap:14px}.interpretation-list{gap:8px}.interpretation{border-left:3px solid #b8964d;padding:10px 12px;background:#fbfaf5}.interpretation.selected{border-left-color:#367155;background:#f0f7f1}.interpretation-title{display:flex;justify-content:space-between;font-weight:800;font-size:.82rem;margin-bottom:4px}.interpretation-title small{color:#898d84;font-weight:650}.harmony-section-strip{position:relative;height:58px;margin:4px 0 0;border:1px solid #dedbd0;border-radius:5px;background:#f9f8f2}.harmony-section-strip>span{position:absolute;top:0;height:14px;border-right:2px solid rgba(94,91,75,.45);background:#e3eee4}.harmony-section-details{position:absolute;top:16px;right:0;bottom:0;left:0}.harmony-section-details>span{position:absolute;top:0;bottom:2px;display:grid;align-content:start;gap:2px;overflow:hidden;padding:3px 5px;border-right:1px solid #d4d1c6;color:#465546}.harmony-section-details strong,.harmony-section-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.harmony-section-details strong{font-size:.63rem}.harmony-section-details small{color:#757970;font-size:.58rem;line-height:1.25}.section-1{background:#e9edf6!important;color:#425579!important}.section-2{background:#f5ead9!important;color:#765125!important}.section-3{background:#f0e8f3!important;color:#63466b!important}.section-4{background:#e3eff0!important;color:#356167!important}.select-interpretation{margin-top:7px;padding:6px 9px;background:#eeece3;color:#3d443a;border-radius:8px;font-size:.72rem;font-weight:700}.interpretation-score,.interpretation-track-library{display:grid;gap:9px;border:1px solid #e2e0d7;border-radius:13px;padding:18px;background:#fffefa}.interpretation-score h2,.interpretation-track-library h2{margin:0}.interpretation-score>p:not(.eyebrow),.interpretation-track-library>div>p:not(.eyebrow){margin:0;color:#737870;font-size:.76rem;line-height:1.45}.interpretation-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.interpretation-track-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.interpretation-track-heading strong{font-size:.81rem}.generation-panel,.score-tracks{border:1px solid #e2e0d7;border-radius:13px;padding:18px;background:#fffefa;display:grid;gap:13px}label{display:grid;gap:7px;color:#4d534a;font-size:.78rem;font-weight:750}textarea{resize:vertical;line-height:1.45}.generation-target{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#efeee7;border-radius:9px}.generation-target button{padding:8px 4px;background:transparent;color:#63685f;font-size:.72rem;border-radius:6px}.generation-target button.active{background:#fffefa;color:#314a3b;box-shadow:0 1px 4px #00000014}.simulation-notice,.unavailable-notice{margin:0;padding:9px;border-radius:8px;font-size:.74rem;line-height:1.45}.simulation-notice{background:#fbefd7;color:#795e20}.unavailable-notice{background:#f3f1eb;color:#70756c}code{font-family:ui-monospace,monospace;font-size:.9em}.track-group{display:grid;gap:8px}.track-group h2{font-size:.92rem;margin:7px 0 0}.track-card{display:grid;gap:9px;border:1px solid #e4e2d9;border-radius:10px;padding:12px;background:#fffefa;text-align:left;color:#3d443a}.track-card.selected{border-color:#6d9a78;background:#f0f7f1}.track-card.outdated{background:#f7f6f0}.track-select{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0;background:transparent;color:inherit;text-align:left}.track-select:hover:not(:disabled) strong{color:#276443}.track-select span{display:grid;gap:4px}.track-select strong{font-size:.81rem}.track-select small{color:#777c73;font-size:.72rem}.track-select em{color:#3b795a;font-size:.66rem;font-style:normal;font-weight:800;white-space:nowrap}.track-lifecycle{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.track-lifecycle .secondary{padding:6px 9px;font-size:.71rem}.track-lifecycle .text-button{padding:5px 2px;font-size:.71rem}.text-button.destructive{color:#a14e44}.lifecycle-badge{padding:4px 7px;border-radius:999px;background:#f6ecd3;color:#7e6427;font-size:.65rem;font-weight:800}.lifecycle-badge.approved{background:#e5f1e7;color:#29603d}.lifecycle-badge.outdated{background:#eceae4;color:#73776f}.outdated-note{color:#777c73;font-size:.7rem;line-height:1.4}.score-layout{grid-template-columns:230px minmax(0,1fr)}.score-tracks{gap:7px}.track-toggle{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:8px;margin:0;padding:8px;background:#f7f6f0;border-radius:7px;font-size:.74rem}.track-toggle input{width:auto;margin:0}.track-toggle small{grid-column:2;color:#3b795a;font-size:.62rem}.track-toggle.missing{color:#858980}.track-toggle.missing small{color:#9b9e96}.score-main{display:grid;gap:14px}.score-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.score-toolbar>div{display:flex;gap:7px}.loop-toggle{display:flex;gap:7px;align-items:center;margin:0;font-size:.72rem}.loop-toggle input{width:auto;margin:0}.score-preview{min-height:310px;border:1px solid #e2e0d7;border-radius:13px;background:#fffefa;padding:23px}.score-preview h2{font-family:Georgia,serif;font-size:1.4rem;margin:6px 0}.score-note{color:#777d74;font-size:.78rem}.settings-view{max-width:440px;padding:22px;display:grid;gap:8px}.settings-view label{margin-bottom:7px}.control-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.new-project{width:min(760px,100%);margin:42px auto}.creation-form{display:grid;gap:14px;padding:26px}.notice{margin:12px 0;padding:12px 14px;border-radius:10px;font-size:.86rem}.notice.error{background:#fff0ec;color:#8c3426;border:1px solid #f2c7bd}.empty-state{color:#83877f;font-size:.86rem;line-height:1.6;margin:0}.creation-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.creation-actions{display:flex;justify-content:flex-end;gap:9px}.creation-actions .primary{flex:1}.empty-project-hint{color:#876b29}.dashboard-primary-actions,.import-source-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.import-or{color:#73786f;font-size:.9rem;font-weight:700}.ireal-import{width:min(900px,100%)}.import-form{display:grid;gap:17px;padding:26px}.import-intro{max-width:680px;margin:11px 0 0;color:#656b62;line-height:1.55}.import-form textarea{width:100%;border:1px solid #d8d8ce;border-radius:9px;padding:11px;background:#fff;color:#252922;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.import-account-note{color:#70766d}.import-preview{display:grid;gap:14px;padding-top:17px;border-top:1px solid #e5e2d8}.import-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.import-summary>div{display:grid;gap:4px}.import-summary>div strong{font-size:1.15rem}.import-summary>div small{color:#777c73}.import-summary dl{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin:0}.import-summary dl div{padding:6px 9px;border-radius:8px;background:#f0eee7}.import-summary dt{color:#858980;font-size:.6rem;font-weight:750;text-transform:uppercase}.import-summary dd{margin:2px 0 0;color:#3d463e;font-size:.73rem;font-weight:800}.import-issues{display:grid;gap:5px;margin:0;padding:0;list-style:none}.import-issues li{padding:8px 10px;border-radius:8px;font-size:.75rem;line-height:1.4}.import-issues .warning{background:#fbefd7;color:#795e20}.import-issues .error{background:#fff0ec;color:#8c3426}.import-chord-table{max-height:360px;overflow:auto;border:1px solid #e1dfd6;border-radius:10px}.import-chord-header,.import-chord-row{display:grid;grid-template-columns:40px minmax(90px,1fr) minmax(120px,1.2fr) 70px;align-items:center;gap:9px;padding:7px 10px}.import-chord-header{position:sticky;top:0;z-index:1;background:#efeee7;color:#70756c;font-size:.66rem;font-weight:800}.import-chord-row{border-top:1px solid #efede5;font-size:.75rem}.import-chord-row>span:first-child{color:#999d94;text-align:center}.import-chord-row input{min-width:0;border:1px solid #d8d8ce;border-radius:7px;padding:7px 8px}.import-chord-row.invalid{background:#fff4f1}.import-chord-row.invalid input{border-color:#d88979}@media(max-width:650px){.import-summary{display:grid}.import-summary dl{justify-content:flex-start}.import-chord-header,.import-chord-row{grid-template-columns:28px 75px minmax(100px,1fr) 54px;padding-inline:7px}}@media(max-width:900px){.workspace-shell{width:min(100% - 24px,760px)}.project-cards,.project-workspace{grid-template-columns:1fr}.project-sidebar{grid-template-columns:repeat(5,minmax(0,1fr));padding:12px 0;border-right:0;border-bottom:1px solid #dfddd2;overflow:auto}.sidebar-project{display:none}.project-sidebar>button{min-width:120px}.workspace-content{padding:26px 0 0}.interpretation-layout,.score-layout{grid-template-columns:1fr}.score-tracks{grid-template-columns:repeat(2,1fr)}}.progression-history{display:flex;gap:5px;margin-left:auto}.progression-history .secondary{padding:5px 7px;font-size:.67rem}.timeline-chord.invalid{border-color:#b45c50;background:#fff1ee;color:#80382f}.symbol-valid,.symbol-invalid{font-size:.72rem;line-height:1.35}.symbol-valid{color:#37704a}.symbol-invalid{color:#a04438}.timeline-boundary-handle{position:absolute;top:23px;bottom:7px;z-index:5;width:12px;padding:0;border-top:0;border-bottom:0;border-left:3px solid #b98028;border-right:1px solid rgba(185,128,40,.4);border-radius:3px;cursor:col-resize;touch-action:none;background:#fffefa59}.timeline-boundary-handle:after{content:"";position:absolute;top:50%;left:-4px;width:7px;height:18px;transform:translateY(-50%);border-radius:3px;background:repeating-linear-gradient(180deg,#b98028 0,#b98028 2px,transparent 2px,transparent 4px)}.editor-tooltip:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;z-index:30;width:max-content;max-width:210px;transform:translate(-50%);padding:5px 7px;border-radius:5px;background:#28332b;color:#fff;box-shadow:0 4px 12px #20231f33;font-size:.65rem;font-weight:700;line-height:1.25;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease}.editor-tooltip:hover:before,.editor-tooltip:focus-visible:before{opacity:1}.drag-handle:before{left:0;transform:none}.duration-handle:before{right:0;left:auto;transform:none}.timeline-boundary-handle:before{top:0;bottom:auto;left:calc(100% + 7px);transform:none}@media(max-width:560px){.workspace-shell{padding-bottom:126px}.topbar,.workspace-header,.topbar-account{align-items:flex-start}.topbar{padding:15px 0}.topbar-account{display:grid;justify-items:end}.workspace-header{display:grid}.project-meta{justify-content:flex-start}.dashboard{padding:28px 0}.chord-row{grid-template-columns:24px minmax(70px,1fr) 54px 34px 25px;gap:5px;padding:4px 7px}.notation-bars{grid-template-columns:repeat(4,minmax(0,1fr))}.notation-cell:nth-child(8n){border-right:1px solid #aaa99f}.notation-cell:nth-child(4n){border-right:0}.score-tracks{grid-template-columns:1fr}.global-playback{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);gap:7px 10px;padding:8px 10px;border-radius:13px}.global-playback strong{flex:1 1 45%}}@media(max-width:560px){.creation-controls{grid-template-columns:1fr}.creation-actions{flex-direction:column-reverse}}.reference-picker{display:grid;gap:7px;margin:0;padding:10px;border:1px solid #e2e0d7;border-radius:9px}.draft-preview-notice{margin:0;padding:8px 10px;border-radius:8px;background:#f4f1e6;color:#71663d;font-size:.74rem;line-height:1.4}.timeline-beat-tick{position:absolute;top:14px;z-index:1;width:1px;height:7px;background:#c4c1b7;pointer-events:none}.timeline-boundary-handle{width:18px;border:0;border-radius:0;background:transparent}.timeline-boundary-handle:before{content:"";position:absolute;top:0;bottom:0;left:8px;width:3px;border-radius:3px;background:#b98028}.timeline-boundary-handle:after{left:5px}.timeline-boundary-handle.active{background:#f0cc7873}.boundary-tooltip{position:absolute;top:0;left:calc(100% + 7px);z-index:30;width:max-content;max-width:220px;padding:5px 7px;border-radius:5px;background:#28332b;color:#fff;box-shadow:0 4px 12px #20231f33;font-size:.65rem;font-weight:700;line-height:1.25;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease}.timeline-boundary-handle:hover .boundary-tooltip,.timeline-boundary-handle:focus-visible .boundary-tooltip{opacity:1}.timeline-chord.range-selected{border:2px solid #b98028;padding:6px 12px 6px 24px;background:#fbf0d2;box-shadow:inset 0 0 0 1px #b980282e}.timeline-chord.voicing-voice-leading{border-color:#5f88a2;background:#d9ebf6;box-shadow:inset 0 3px #4e7d99}.timeline-chord.voicing-voice-leading:before{content:"";position:absolute;top:-6px;right:-5px;left:-5px;height:4px;background:#5f88a2;pointer-events:none}.timeline-voicing-mode{position:absolute;top:3px;right:5px;color:#777d74;font-size:.58rem;font-weight:850}.voicing-voice-leading .timeline-voicing-mode{color:#356986}.voicing-plan-editor{display:grid;gap:12px;padding:15px;border:1px solid #e2e0d7;border-radius:13px;background:#fffefa}.voicing-plan-editor>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.voicing-plan-editor>header>div{display:grid;gap:3px}.voicing-plan-editor>header strong{color:#3d493f;font-size:.84rem}.voicing-plan-editor>header small,.voicing-plan-editor>header>span{color:#7b8077;font-size:.69rem;line-height:1.4}.voicing-whole-material{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.voicing-whole-material>span{margin-right:3px;color:#686e66;font-size:.72rem;font-weight:750}.voicing-whole-material button{padding:6px 9px;border:1px solid #dedbd1;border-radius:7px;background:#f3f1e9;color:#596159;font-size:.7rem;font-weight:750}.voicing-whole-material button.active{border-color:#769181;background:#e9f2ea;color:#31523c}.voicing-range-controls{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:9px}.voicing-range-controls label{gap:4px;font-size:.68rem}.voicing-range-controls select{min-width:0;padding:7px 8px;font-size:.7rem}.voicing-range-controls .primary{padding:8px 11px;font-size:.71rem;white-space:nowrap}.voicing-plan-notice{margin:0;padding:7px 9px;border-radius:7px;background:#f4f1e6;color:#71663d;font-size:.69rem}.voicing-plan-runs{display:flex;flex-wrap:wrap;gap:6px}.voicing-plan-runs span{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#efeee7;color:#666c64;font-size:.66rem}.voicing-plan-runs span.voice-leading{background:#e7f0f5;color:#35617b}.voicing-plan-runs strong{font-size:.64rem}.voicing-plan-runs>small{color:#858a82;font-size:.68rem}.voicing-plan-runs button{width:20px;height:20px;padding:0;border-radius:50%;background:#fffefa;color:#8f4b43;font-size:.9rem;line-height:1}.playback-range{display:grid;gap:7px;padding:10px;margin:13px 0;border:1px solid #e3e0d3;border-radius:9px;background:#f9f8f2}.playback-range>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#586258;font-size:.75rem}.playback-range .text-button{padding:3px 0;font-size:.68rem}.playback-range-status{display:flex;align-items:center;gap:9px}.playback-bars{display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;padding:2px 1px 5px}.playback-bars button{padding:6px 8px;border:1px solid #d9d7ce;border-radius:6px;background:#fffefa;color:#697068;font-size:.67rem;font-weight:750}.playback-bar-picker>button{cursor:default;-webkit-user-select:none;user-select:none}.playback-bars button.selected{border-color:#74937d;background:#e9f2ea;color:#31513a}.playback-bars button.anchor{outline:2px solid #c39a43;outline-offset:1px}.playback-bars button.playing{box-shadow:inset 0 -3px #b98028}.playback-range .clear-playback-range{padding:3px 0;border:0;background:transparent;color:#776f60;font-size:.67rem;font-weight:650;white-space:nowrap}.playback-range .clear-playback-range:disabled{color:#b1afa7}.playback-range-heading output{color:#7b806f;font-size:.67rem;font-weight:700}.playback-bar-picker{display:grid;gap:3px;min-width:86px}.playback-beat-picker{display:grid;grid-template-columns:repeat(var(--half-beats, 8),minmax(0,1fr));gap:1px}.playback-beat-picker button{min-width:0;padding:3px 1px;border:0;border-radius:2px;background:#ecebe4;color:#858981;font-size:.58rem;font-weight:750}.playback-beat-picker button:nth-child(2n){color:#b0b2aa;font-size:.72rem;line-height:.5}.playback-beat-picker button.playing{background:#f0d897;color:#745718;box-shadow:inset 0 -2px #b98028}.playback-beat-picker button.range-start{background:#dcebdd;color:#2d5d39;box-shadow:inset 2px 0 #3e8051}.playback-beat-picker button.range-end{background:#dcebdd;color:#2d5d39;box-shadow:inset -2px 0 #3e8051}.playback-range small{color:#7d8179;font-size:.66rem}.musicxml-score{position:relative}.score-section-overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.score-section-overlay{position:absolute;z-index:2;background:transparent}.score-section-overlay.section-1,.score-section-overlay.section-2,.score-section-overlay.section-3,.score-section-overlay.section-4{background:transparent!important;color:inherit!important}.with-harmony-lanes .score-section-overlay:before{position:absolute;right:0;bottom:calc(100% + 3px);left:0;height:4px;border-radius:2px;background:#b9d2bd;content:""}.with-harmony-lanes .score-section-overlay.section-1:before{background:#c8d3e8}.with-harmony-lanes .score-section-overlay.section-2:before{background:#e6cea5}.with-harmony-lanes .score-section-overlay.section-3:before{background:#dac6df}.with-harmony-lanes .score-section-overlay.section-4:before{background:#bad7d9}.score-section-overlay.starts-section{border-left:2px solid rgba(55,105,71,.78)}.score-section-overlay.ends-section{border-right:1px solid rgba(55,105,71,.55)}.score-section-overlay small{position:absolute;bottom:calc(100% + 9px);left:3px;max-width:160px;overflow:hidden;padding:1px 3px;border-radius:3px;background:#fffefaf0;color:#365b40;font-size:.55rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.score-measure-hotspots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.score-measure-hotspots button{position:absolute;z-index:3;pointer-events:auto;border:1px solid transparent;border-radius:4px;background:#e0ece10a;cursor:pointer}.score-measure-hotspots button:hover{border-color:#446f4f8c;background:#cae1cd2e}.score-measure-hotspots button.selected{border-color:#498054b8;background:#c8e1cc2e}.score-measure-hotspots button.anchor{outline:2px solid rgba(195,154,67,.8);outline-offset:-2px}.score-measure-hotspots button.playing{box-shadow:inset 4px 0 #b98028;background:#f1daa224}.score-range-marker{position:absolute;z-index:5;width:3px;border-radius:2px;pointer-events:none}.score-range-marker.start,.score-range-marker.end{background:#3e8051}.score-measure-hotspots .score-chord-hotspot{z-index:4;background:transparent}.score-measure-hotspots .score-chord-hotspot:hover{border-color:#b98028bf;background:#f3dba538}.reference-picker legend{padding:0 4px;color:#596057;font-size:.72rem;font-weight:800}.reference-picker label{display:flex;align-items:center;gap:7px;font-size:.72rem}.reference-picker input{width:auto;margin:0}.reference-picker small{color:#81867d;font-size:.7rem}.track-library{display:grid;gap:8px}.track-library>div{display:flex;justify-content:space-between;align-items:center}.track-library h2{margin:0;font-size:.96rem}.real-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:11px}.notation-bar{position:relative;min-height:82px;border:1px solid #aaa99f;background:#fffefa;overflow:hidden}.bar-number{position:absolute;top:4px;left:6px;color:#95988f;font-size:.56rem}.bar-beats{position:absolute;left:0;right:0;top:21px;display:flex}.bar-beats small{flex:1;padding-left:4px;border-left:1px solid #dedcd2;color:#a0a39c;font-size:.56rem}.bar-events{position:absolute;left:0;right:0;top:36px;bottom:0}.notation-event{position:absolute;top:0;display:grid;justify-items:start;align-content:start;color:#314a3b;transform:translate(-1px)}.notation-event i{font-size:1rem;line-height:1;font-style:normal}.notation-event strong{margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;white-space:nowrap}.trailing-rest{position:absolute;top:0;bottom:0;display:grid;place-items:center;padding:0 3px;background:repeating-linear-gradient(135deg,#f1efe6 0,#f1efe6 4px,#e5e2d8 4px,#e5e2d8 8px);color:#878b82;font-size:.58rem}.mix-controls{display:grid;gap:8px;margin:8px 0 4px;padding:12px;border:1px solid #e2e0d7;border-radius:9px}.mix-controls legend{padding:0 4px;color:#596057;font-size:.75rem;font-weight:800}.mix-controls label{margin:0}.mix-controls label>span{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:10px}.mix-controls input{width:100%}.mix-controls output{color:#6b7068;font-size:.72rem;text-align:right}.ambience-control{display:grid;gap:5px;margin:8px 0 4px;padding:12px;border:1px solid #e2e0d7;border-radius:9px}.ambience-control legend{padding:0 4px;color:#596057;font-size:.75rem;font-weight:800}.ambience-control label{margin:0}.ambience-control label>span{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:10px}.ambience-control input{width:100%}.ambience-control output,.ambience-control small{color:#6b7068;font-size:.72rem}.ambience-control output{text-align:right}.score-preview{overflow:hidden}.score-sheet-scroll{height:min(68vh,720px);min-height:360px;margin-top:18px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.musicxml-score{min-width:720px;margin-top:18px}.score-sheet-scroll .musicxml-score{margin-top:0}.musicxml-score svg{max-width:none}@media(max-height:700px),(max-width:700px){.score-sheet-scroll{height:58vh;min-height:280px}}.project-workspace{display:block;min-height:calc(100vh - 120px)}.project-sidebar{display:flex;align-items:stretch;gap:5px;padding:12px 0;border:0;border-bottom:1px solid #dfddd2;overflow-x:auto}.project-sidebar>button{min-width:0;padding:9px 13px;border:1px solid transparent;text-align:left;white-space:nowrap}.project-sidebar>button strong{font-size:.77rem}.project-sidebar>button small{display:none}.project-sidebar>button.active{border-color:#d2ded3;background:#e8efe8}.project-sidebar>button:last-child{margin-left:auto}.workspace-content{padding:28px 0 0}.workspace-header{margin-bottom:24px}.workspace-actions{display:grid;justify-items:end;gap:9px}.project-meta-controls{align-items:end;gap:8px}.project-meta-controls label{display:grid;gap:3px;margin:0;color:#747970;font-size:.61rem;font-weight:800;text-align:left}.project-meta-controls label>span:first-child{padding:0 2px;background:transparent;color:inherit;font-size:inherit}.project-meta-controls input,.project-meta-controls select{height:32px;margin:0;padding:5px 8px;border:1px solid #d8d8ce;border-radius:8px;background:#fffefa;color:#30372f;font-size:.72rem;font-weight:750}.project-meta-controls .tempo-input{display:flex;align-items:center;gap:5px;height:32px;padding:0 7px 0 0;border:1px solid #d8d8ce;border-radius:8px;background:#fffefa}.project-meta-controls .tempo-input input{width:62px;height:30px;padding-right:2px;border:0;background:transparent}.project-meta-controls .tempo-input small{color:#777c73;font-size:.6rem}.project-meta-meter select{width:72px}.project-meta-style select{width:min(230px,32vw)}.project-save-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.project-save-actions .secondary{padding:6px 9px;font-size:.71rem}.project-save-actions .text-button{font-size:.7rem}.settings-tooltip{position:relative;cursor:help}.settings-tooltip:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 7px);left:50%;z-index:40;width:190px;transform:translate(-50%);padding:6px 8px;border-radius:6px;background:#28332b;color:#fff;box-shadow:0 5px 14px #20231f38;font-size:.65rem;font-weight:700;line-height:1.35;text-align:center;opacity:0;pointer-events:none;transition:opacity .12s ease}.settings-tooltip:last-child:after{right:0;left:auto;transform:none}.settings-tooltip:hover:after,.settings-tooltip:focus-visible:after{opacity:1}.save-state{color:#457151;font-size:.67rem;font-weight:800}.save-state.saving,.save-state.dirty,.analysis-state{color:#876b29}.analysis-state{font-size:.67rem;font-weight:800}.save-state.failed{color:#a14e44}.material-view{max-width:none}.interpretation-layout{grid-template-columns:minmax(0,1fr) 220px}.generation-panel{padding:14px;gap:11px}.generation-panel h2{font-size:1rem}.invalid-melody-proposal{display:grid;gap:7px;padding:10px;border:1px solid #d99687;border-radius:8px;background:#fff4f0;color:#8f3024;font-size:.72rem}.invalid-melody-proposal p{margin:0}.invalid-melody-proposal code{overflow-wrap:anywhere;color:#603a34;font-size:.68rem}.invalid-melody-proposal .invalid-note{font-weight:800;text-decoration:underline}.generation-panel label,.generation-panel .reference-picker label{font-size:.72rem}.score-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.score-tracks{align-content:start;gap:7px}.score-tracks .track-library{padding-top:12px;border-top:1px solid #e4e2d9}.score-tracks .track-library h2{font-size:.82rem}.score-tracks .track-card{gap:7px;padding:9px}.score-tracks .track-select{gap:8px}.score-tracks .track-select strong{font-size:.75rem}.score-tracks .track-select small,.score-tracks .outdated-note{font-size:.66rem}.score-tracks .track-lifecycle{gap:5px}.score-tracks .track-lifecycle .secondary,.score-tracks .track-lifecycle .text-button{font-size:.66rem}@media(max-width:900px){.project-sidebar{padding:9px 0}.project-sidebar>button{min-width:max-content}.project-sidebar>button:last-child{margin-left:0}.workspace-content{padding-top:24px}}.language-picker{display:flex;align-items:center;gap:5px;margin:0;font-size:.68rem;white-space:nowrap}.language-picker select{width:auto;padding:4px 6px;border:1px solid #d8d8ce;border-radius:6px;background:#fffefa;color:#3d443a;font-size:.7rem}.settings-view{width:100%;max-width:940px;padding:18px;gap:14px}.settings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #e7e5dc}.settings-toolbar>div{display:grid;gap:4px}.settings-toolbar h2{font-size:1.1rem}.settings-toolbar .primary{padding:9px 13px}.sound-settings>label{margin:0}.sound-settings small{color:#777c73;font-size:.67rem;line-height:1.35}.settings-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:13px;align-items:start}.settings-detail-grid .mix-controls,.settings-detail-grid .ambience-control{margin:0}.mix-control-grid{display:grid;grid-template-columns:1fr;gap:8px}.sound-settings{display:grid;gap:12px}.sound-panel{max-width:1180px}.settings-toolbar small{color:#747970;font-size:.7rem;line-height:1.4}.sound-preset-panel{display:grid;grid-template-columns:repeat(2,minmax(220px,.75fr)) minmax(320px,1.25fr);gap:12px 18px;align-items:end;padding:14px;border:1px solid #e2e0d7;border-radius:10px;background:#faf9f4}.sound-preset-panel p:last-child{grid-column:1 / -1}.sound-preset-panel label{margin:0}.sound-preset-panel p{margin:0;color:#666d65;font-size:.72rem;line-height:1.5}.track-mix-table,.master-sound-controls{display:grid;gap:9px;margin:0;padding:14px;border:1px solid #e2e0d7;border-radius:10px}.track-mix-table legend,.master-sound-controls legend{padding:0 5px;color:#4f5d52;font-size:.78rem;font-weight:850}.track-mix-table>small,.master-sound-controls>small{color:#737970;font-size:.68rem;line-height:1.4}.track-mix-header,.track-mix-row{display:grid;grid-template-columns:minmax(76px,.65fr) minmax(150px,1.2fr) repeat(4,minmax(118px,1fr));gap:10px;align-items:center}.track-mix-header{padding:0 8px;color:#7a7f77;font-size:.62rem;font-weight:800}.track-mix-row{padding:9px 8px;border-radius:8px;background:#f7f6f0}.track-enabled{display:flex;align-items:center;gap:8px;cursor:pointer}.track-enabled input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#345b45}.track-enabled strong{color:#3e4d42;font-size:.72rem}.track-mix-row.track-disabled{background:#efeee8}.track-mix-row.track-disabled>:not(.track-enabled){opacity:.5}.track-mix-row label,.master-sound-controls label{min-width:0;margin:0;font-size:.66rem}.track-mix-row label>span:first-child{display:none}.track-mix-row select{min-width:0;width:100%;padding:6px;font-size:.67rem}.instrument-cell{align-content:start}.instrument-cell .instrument-library{color:#7a7f77;font-size:.58rem;font-weight:650;line-height:1.2}.range-cell>span:last-child{display:grid;grid-template-columns:minmax(55px,1fr) 43px;align-items:center;gap:5px}.delay-values{display:grid;grid-template-columns:auto minmax(45px,1fr) 34px;align-items:center;gap:3px 5px}.delay-values small{color:#777c73;font-size:.56rem}.range-cell input,.delay-values input{min-width:0;width:100%}.range-cell output,.delay-values output{color:#666d65;font-size:.64rem;text-align:right}.delay-cell{display:grid;gap:4px}.master-sound-controls{grid-template-columns:repeat(3,minmax(170px,1fr))}.master-sound-controls legend,.master-sound-controls>small{grid-column:1 / -1}.master-sound-controls label{display:grid;gap:5px}.master-sound-controls .range-cell>span:first-child{display:block}@media(max-width:1000px){.track-mix-header{display:none}.track-mix-row{grid-template-columns:110px repeat(2,minmax(150px,1fr))}.track-mix-row label>span:first-child{display:block}.master-sound-controls{grid-template-columns:repeat(2,minmax(170px,1fr))}}@media(max-width:700px){.sound-preset-panel,.track-mix-row,.master-sound-controls{grid-template-columns:1fr}.track-enabled{padding-bottom:4px;border-bottom:1px solid #e2e0d7}.master-sound-controls legend,.master-sound-controls>small{grid-column:auto}}@media(max-width:760px){.settings-detail-grid,.mix-control-grid{grid-template-columns:1fr}.project-meta-style{flex-basis:100%}.project-meta-style select{width:min(100%,280px)}}.dashboard-tab.active{border-radius:8px 8px 0 0;background:#fffefa;color:#314a3b}.project-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.project-card{min-height:0;display:grid;gap:16px;padding:15px 16px}.project-card-main{display:grid;gap:9px;min-width:0}.project-card-main h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-meta{display:flex;flex-wrap:wrap;gap:5px}.project-card-meta span{padding:4px 7px;border-radius:7px;background:#efeee7;color:#666c63;font-size:.68rem;font-weight:750}.project-card footer{align-items:flex-end;flex-wrap:wrap}.project-card-footer-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.project-card-footer-actions>.secondary{padding:7px 10px;font-size:.72rem}.project-card-actions .text-button{padding:2px 0;font-size:.67rem}.workspace-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 12px}.workspace-title .text-button{font-size:.7rem}.rename-dialog input{width:100%;padding:9px 10px;border:1px solid #d8d8ce;border-radius:8px;background:#fff;color:#252922}@media(max-width:560px){.project-card footer{align-items:flex-start}.project-card-footer-actions{align-items:flex-end}}.progression-actions .add-chord-form{display:flex;gap:7px}.progression-actions .add-chord-form input{min-width:0;width:100%;border:1px solid #d8d8ce;border-radius:8px;padding:8px 9px;background:#fff;color:#252922}@media(max-width:760px){.voicing-range-controls{grid-template-columns:1fr 1fr}}@media(max-width:500px){.voicing-range-controls{grid-template-columns:1fr}}:root{font-family:Segoe UI,system-ui,sans-serif;color:#192c40;background:#f4f7fa;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ccm-ink: #192c40;--ccm-navy: #183951;--ccm-blue: #365e7a;--ccm-muted: #617084;--ccm-border: #dce3ec;--ccm-border-strong: #c7d3de;--ccm-canvas: #f4f7fa;--ccm-panel: #fff;--ccm-panel-header: #edf2f6;--ccm-hover: #f3f7fb;--ccm-selected: #e9f2fa;--ccm-focus: #72abd0;--ccm-success: #14643b;--ccm-danger: #a32323;--ccm-warning: #8a651f}body{background:var(--ccm-canvas);color:var(--ccm-ink)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-color:var(--ccm-focus);outline-offset:3px}.workspace-shell{width:min(1540px,calc(100% - 32px));padding-bottom:86px}.sticky-app-header{background:var(--ccm-canvas);box-shadow:none}.topbar{min-height:60px;border-color:var(--ccm-border)}.brand{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;color:var(--ccm-ink)}.brand:before{content:"MHT";grid-row:1 / 3;padding:8px 11px;border-radius:7px;background:var(--ccm-navy);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.08em}.brand span{align-self:end;color:var(--ccm-ink);font-size:.9rem;font-weight:700;letter-spacing:0}.brand strong{align-self:start;color:var(--ccm-muted);font-size:.57rem;letter-spacing:.13em}.topbar-account{color:var(--ccm-muted);font-size:.75rem}.provider-badge{border-radius:6px;padding:5px 8px;background:#e6f4eb;color:var(--ccm-success)}.provider-badge.simulated{background:#fff7e8;color:var(--ccm-warning)}.provider-badge.unavailable{background:#edf1f5;color:#516176}.primary,.secondary,.text-button,.danger-button,.stop-button{border-radius:7px;font-weight:650}.primary{border:1px solid var(--ccm-navy);background:var(--ccm-navy);color:#fff}.primary:hover{background:#28556f}.secondary{border:1px solid var(--ccm-border-strong);background:#fff;color:#24455c}.secondary:hover{background:var(--ccm-hover)}.text-button{color:var(--ccm-blue)}.danger-button,.stop-button{background:var(--ccm-danger)}.danger-button:hover,.stop-button:hover{background:#861b1b}input,select,textarea,.dashboard-hero input,.progression-actions form input,.selected-chord-editor input,.project-meta-controls input,.project-meta-controls select,.rename-dialog input,.progression-actions .add-chord-form input,.import-form textarea,.import-chord-row input{border-color:#bccbd8;border-radius:7px;background:#fff;color:var(--ccm-ink)}label{color:#334b60;font-weight:650}.eyebrow{color:#61748a;letter-spacing:.16em}h1{font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.04em;line-height:1.03}h2{color:var(--ccm-ink)}.project-card,.panel,.progression-editor,.voicing-plan-editor,.interpretation-score,.interpretation-track-library,.generation-panel,.score-tracks,.score-preview,.track-mix-table,.master-sound-controls,.sound-preset-panel,.compact-editor,.progression-notation,.reference-picker,.mix-controls,.ambience-control{border-color:var(--ccm-border);border-radius:8px;background:var(--ccm-panel);box-shadow:none}.dashboard{padding:28px 0}.dashboard-hero{gap:11px;max-width:760px;margin-bottom:26px}.dashboard-hero>p:not(.eyebrow){color:var(--ccm-muted)}.project-cards{gap:12px}.project-card{min-height:0;padding:16px}.project-card>div>p:not(.eyebrow),.project-card footer{color:var(--ccm-muted)}.project-card-meta span,.import-summary dl div{border:1px solid #e2e8ef;background:#f4f7fa;color:#516176}.project-tabs{min-height:48px;gap:4px;border-color:var(--ccm-border)}.project-tabs button{color:var(--ccm-blue)}.dashboard-tab{padding:10px 9px}.dashboard-tab.active{border-radius:7px 7px 0 0;background:#fff;color:var(--ccm-navy)}.project-tab{border-color:var(--ccm-border);border-radius:7px 7px 0 0;background:var(--ccm-panel-header)}.project-tab.active{background:#fff}.project-tab button:last-child{color:#a14f47}.project-workspace{min-height:calc(100vh - 120px)}.project-sidebar{gap:4px;padding:11px 0;border-color:var(--ccm-border)}.project-sidebar>button{padding:9px 13px;border:1px solid transparent;border-radius:7px 7px 0 0;color:var(--ccm-blue)}.project-sidebar>button:hover{background:var(--ccm-hover)}.project-sidebar>button.active{border-color:#c6dbea;background:var(--ccm-selected);color:var(--ccm-navy)}.workspace-content{padding-top:24px}.workspace-header{margin-bottom:22px}.workspace-header h1{font-size:clamp(1.8rem,3.5vw,2.5rem)}.project-meta>span,.view-intro span{border:1px solid #e2e8ef;background:#f4f7fa;color:#516176}.project-meta-controls label{color:var(--ccm-muted)}.project-meta-controls .tempo-input{border-color:#bccbd8;border-radius:7px;background:#fff}.project-meta-controls .tempo-input small{color:var(--ccm-muted)}.save-state{color:var(--ccm-success)}.save-state.saving,.save-state.dirty,.analysis-state{color:var(--ccm-warning)}.save-state.failed{color:var(--ccm-danger)}.editor-label,.notation-heading{border-color:var(--ccm-border);background:var(--ccm-panel-header);color:#24455c}.editor-label small,.notation-heading small{color:var(--ccm-muted)}.progression-canvas{border-color:#cbd5df;border-radius:7px;background:repeating-linear-gradient(90deg,#fff 0,#fff 41px,#e6ebf1 42px)}.progression-canvas:focus-visible{outline-color:var(--ccm-focus)}.timeline-bar{background:#8290a0}.timeline-bar small{color:var(--ccm-muted)}.timeline-chord{border-color:#9bb7aa;border-radius:6px;background:#edf5f0;color:#234336}.timeline-chord.selected{border-color:var(--ccm-navy);box-shadow:inset 0 0 0 1px var(--ccm-navy)}.timeline-chord small{color:#5f7469}.drag-handle{background:#dcebe3;color:#3f6f58}.duration-handle{background:repeating-linear-gradient(180deg,#537e6b 0,#537e6b 2px,transparent 2px,transparent 4px)}.timeline-caret,.timeline-insertion,.timeline-boundary-handle:before{background:#537e9a}.timeline-rest{border-color:#bccbd8;color:#78889a}.progression-actions{border-color:var(--ccm-border)}.selected-chord-editor{border:1px solid var(--ccm-border);border-radius:7px;background:#f8fafc}.timeline-chord.range-selected{border-color:#537e9a;background:#e9f2fa;box-shadow:inset 0 0 0 1px #c6dbea}.boundary-tooltip,.editor-tooltip:before,.settings-tooltip:after{background:var(--ccm-navy)}.voicing-plan-editor>header strong{color:var(--ccm-ink)}.voicing-plan-editor>header small,.voicing-plan-editor>header>span,.voicing-whole-material>span{color:var(--ccm-muted)}.voicing-whole-material button{border-color:var(--ccm-border-strong);background:#fff;color:var(--ccm-blue)}.voicing-whole-material button.active{border-color:#bfd5e5;background:var(--ccm-selected);color:var(--ccm-navy)}.interpretation{border-color:#83b2d0;background:#fbfcfd}.interpretation.selected{border-color:var(--ccm-navy);background:var(--ccm-selected)}.interpretation-title small,.interpretation-score>p:not(.eyebrow),.interpretation-track-library>div>p:not(.eyebrow){color:var(--ccm-muted)}.harmony-section-strip{border-color:var(--ccm-border);background:#f8fafc}.select-interpretation,.generation-target{border:1px solid var(--ccm-border);background:var(--ccm-panel-header);color:var(--ccm-blue)}.generation-target button{color:var(--ccm-blue)}.generation-target button.active{border:1px solid var(--ccm-border-strong);background:#fff;color:var(--ccm-navy);box-shadow:none}.simulation-notice{border:1px solid #ecd9b4;background:#fff7e8;color:#715016}.unavailable-notice{border:1px solid var(--ccm-border);background:#f4f7fa;color:var(--ccm-muted)}.track-toggle,.track-card{border-color:var(--ccm-border);background:#f8fafc}.track-toggle small{color:var(--ccm-success)}.score-preview{padding:20px}.score-toolbar{padding-bottom:8px;border-bottom:1px solid var(--ccm-border)}.score-note,.outdated-note{color:var(--ccm-muted)}.playback-range,.playback-beat-picker{border-color:var(--ccm-border);background:#f8fafc}.playback-beat-picker button.range-start,.playback-beat-picker button.range-end{background:var(--ccm-selected);color:var(--ccm-navy)}.playback-beat-picker button.playing{background:#d9e9f3;color:var(--ccm-navy);box-shadow:inset 0 -2px #537e9a}.settings-toolbar{border-color:var(--ccm-border)}.settings-toolbar small,.sound-settings small,.sound-preset-panel p,.track-mix-table>small,.master-sound-controls>small,.instrument-cell .instrument-library,.delay-values small,.range-cell output,.delay-values output{color:var(--ccm-muted)}.sound-preset-panel{background:#fbfcfd}.track-mix-table legend,.master-sound-controls legend{color:#24455c}.track-mix-header{color:var(--ccm-muted)}.track-mix-row{border-top:1px solid #e6ebf1;border-radius:0;background:#fff}.track-mix-row:first-of-type{border-top:0}.track-mix-row.track-disabled{background:#f4f7fa}.track-enabled input,.track-toggle input,.loop-toggle input,.reference-picker input{accent-color:var(--ccm-navy)}.track-enabled strong{color:var(--ccm-ink)}.global-playback{right:16px;bottom:0;left:16px;width:auto;min-height:58px;transform:none;border-color:#cbd5df;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;box-shadow:0 -8px 28px #18395114;color:var(--ccm-muted)}.global-playback.active{border-color:#9fc1d5;background:#f7fbfd;color:var(--ccm-ink);box-shadow:0 -8px 28px #1839511f}.playback-indicator{color:var(--ccm-muted)}.global-playback.active .playback-indicator{color:var(--ccm-success)}.modal-backdrop{background:#13283d6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog{border-color:var(--ccm-border);border-radius:12px;background:#fff;box-shadow:0 24px 80px #18395133}.confirm-dialog h2{color:var(--ccm-ink)}.confirm-dialog>p:not(.eyebrow){color:var(--ccm-muted)}.confirm-dialog-subject{border:1px solid var(--ccm-border);background:#f4f7fa;color:var(--ccm-ink)}.notice{border-radius:7px}.notice.error,.invalid-melody-proposal,.import-issues .error{border-color:#dfb9b9;background:#fff2f2;color:var(--ccm-danger)}.import-issues .warning{border:1px solid #ecd9b4;background:#fff7e8;color:#715016}.empty-state,.import-intro,.import-account-note,.import-summary>div small{color:var(--ccm-muted)}.import-preview{border-color:var(--ccm-border)}.import-chord-table{border-color:var(--ccm-border);border-radius:7px}.import-chord-header{background:var(--ccm-panel-header);color:var(--ccm-muted)}.import-chord-row{border-color:#e6ebf1}@media(max-width:900px){.workspace-shell{width:min(100% - 16px,760px)}.project-sidebar{border-color:var(--ccm-border)}}@media(max-width:560px){.topbar{padding:10px 0}.global-playback{right:8px;bottom:0;left:8px;width:auto;border-radius:8px 8px 0 0}}
