@font-face{font-family:Noto Music;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/NotoMusic-Regular.woff2) format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{background:#f5f3ee;font-family:Georgia,Times New Roman,serif;color:#1a1a1a;font-size:14px;line-height:1.5}.app-layout{display:flex;flex-direction:row;height:100vh;width:100%;overflow:hidden;position:relative}.main-area{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;min-width:0;width:100%;height:100%;min-height:0;position:relative}.score-workspace{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:28px}.piano-dock{flex-shrink:0;z-index:6;background:#f5f3ee;border-top:1px solid #d6d1c7;box-shadow:0 -6px 16px #1c19170f;margin-top:-16px}.app-header{display:flex;align-items:center;justify-content:center;gap:10px;padding:5px 16px;background:#fff;border-bottom:1px solid #e5e1d8;flex-shrink:0;min-height:36px}.app-header-side{display:flex;align-items:center;min-width:0}.app-header-side--left{justify-content:flex-start}.app-header-side--right{justify-content:flex-end;gap:10px}.app-header-center{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.app-brand-row{display:flex;align-items:center;justify-content:center;gap:8px 12px;flex-wrap:nowrap}.app-header h1{font-size:18px;font-weight:700;color:#1e3a8a;letter-spacing:.03em;margin:0;line-height:0}.app-brand{line-height:0}.app-menubar{position:relative;flex-shrink:0;display:flex;align-items:center;gap:0;padding:0 0 0 8px;min-height:46px;height:46px;background:#f3f0ea;border-bottom:1px solid #e5e1d8;z-index:30;box-sizing:border-box}.app-menubar--electron{padding-right:0;-webkit-app-region:drag;app-region:drag}.app-menubar-start{display:flex;align-items:center;gap:2px;height:100%;z-index:2;-webkit-app-region:no-drag;app-region:no-drag}.app-menubar-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.app-menubar-wordmark{display:block;height:36px;width:auto;max-width:min(260px,52vw);object-fit:contain;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none}.app-menubar-logo{width:24px;height:24px;margin:0 6px 0 2px;flex-shrink:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.app-menubar-drag{flex:1;align-self:stretch;min-width:32px}.app-menubar-winbtns{display:flex;align-items:stretch;height:100%;-webkit-app-region:no-drag;app-region:no-drag}.app-menubar-winbtn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:100%;margin:0;border:none;border-radius:0;background:transparent;color:#374151;cursor:pointer;padding:0;transition:background-color .12s ease,color .12s ease}.app-menubar-winicon{width:12px;height:12px;display:block;flex-shrink:0}.app-menubar-winbtn:hover{background:#e8e4dc;color:#111827}.app-menubar-winbtn:active{background:#ddd8ce}.app-menubar-winbtn--close:hover{background:#e81123;color:#fff}.app-menubar-winbtn--close:active{background:#c50f1f;color:#fff}.app-menubar-item{display:inline-flex;align-items:center;justify-content:center;height:28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;line-height:1;padding:0 10px;border:none;border-radius:4px;background:transparent;color:#1f2937;cursor:pointer;-webkit-app-region:no-drag;app-region:no-drag}.app-menubar-item:hover,.app-menubar-item.active{background:#e5e1d8}.file-menu--panel{position:absolute;top:46px;left:36px;z-index:40}.file-menu--panel.is-electron{top:46px;left:36px}.file-menu-dropdown{position:relative;min-width:120px;padding:4px;background:#fff;border:1px solid #e5e1d8;border-radius:8px;box-shadow:0 10px 24px #1c19171f}.file-menu-item-row{position:relative;display:flex;align-items:stretch;border-radius:5px}.file-menu-item-row.is-open,.file-menu-item-row:hover{background:#f3f0ea}.file-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12.5px;padding:6px 10px;border:none;border-radius:5px;background:transparent;color:#1f2937;cursor:pointer}.file-menu-item--grow{flex:1;border-radius:5px 0 0 5px}.file-menu-sep{height:1px;margin:4px 6px;background:#e5e1d8}.file-menu-item-row .file-menu-item--grow:hover,.file-menu-caret:hover{background:transparent}.file-menu-caret{display:inline-flex;align-items:center;justify-content:center;width:26px;flex-shrink:0;border:none;border-radius:0 5px 5px 0;background:transparent;color:#6b7280;cursor:pointer;padding:0}.file-menu-caret.is-open{color:#1f2937}.file-menu-caret:disabled,.file-menu-item:disabled{opacity:.4;cursor:not-allowed}.file-menu-item:hover:not(:disabled){background:#f3f0ea}.file-menu-item-hint{font-size:10px;font-weight:600;color:#9ca3af;letter-spacing:.02em}.file-menu-item:hover:not(:disabled) .file-menu-item-hint{color:#6b7280}.file-menu-submenu{position:absolute;top:-4px;left:calc(100% + 4px);min-width:168px;padding:4px;background:#fff;border:1px solid #e5e1d8;border-radius:8px;box-shadow:0 10px 24px #1c19171f;z-index:2}.settings-menu--panel{position:absolute;top:46px;left:80px;z-index:40}.settings-menu--panel.is-electron{top:46px;left:80px}.settings-panel{width:min(224px,calc(100vw - 24px));padding:12px;background:#fff;border:1px solid #e5e1d8;border-radius:10px;box-shadow:0 12px 28px #1c191724;display:flex;flex-direction:column;gap:10px}.settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-panel-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:#374151}.settings-refresh{font-size:12px;font-weight:600;border:none;background:transparent;color:#1d4ed8;cursor:pointer;padding:2px 4px}.settings-refresh:hover{text-decoration:underline}.settings-field{display:flex;flex-direction:column;gap:4px}.settings-label{font-size:12px;font-weight:600;color:#374151}.settings-select{font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid #d6d1c7;background:#fafaf9;color:#1f2937}.settings-select:disabled{opacity:.55;cursor:not-allowed}.brand-mark{letter-spacing:.02em}.brand-mark-ai{font-weight:800;letter-spacing:.06em;color:#1d4ed8}.brand-mark--inline{font-weight:700}.brand-mark--inline .brand-mark-ai{font-size:1em;color:#fff;text-shadow:0 0 1px rgba(255,255,255,.4)}.app-sub{font-size:12px;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;line-height:1;white-space:nowrap}.app-mode-toggle{margin:0;flex-shrink:0}.app-mode-toggle .tb-segmented-btn{padding:4px 12px;font-size:12px}.toolbar{position:relative;z-index:20;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:6px 16px;background:#fff;border-bottom:1px solid #e5e1d8;flex-shrink:0}.toolbar-group{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.toolbar-group:not(:last-child){padding-right:10px;border-right:1px solid #e5e1d8}.tb-label{display:flex;flex-direction:column;gap:1px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.tb-label-text{font-size:9px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.tb-label select{font-size:12.5px;padding:3px 7px;border:1px solid #d1d5db;border-radius:5px;background:#f9fafb;color:#1a1a1a;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.tb-label select:hover,.tb-label select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.tb-label select.tb-select-level{max-width:220px;min-width:168px}.tb-level-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:168px;max-width:240px;font-size:12.5px;padding:3px 7px;border:1px solid #d1d5db;border-radius:5px;background:#f9fafb;color:#1a1a1a;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;text-align:left}.tb-level-trigger:hover,.tb-level-trigger:focus,.tb-level-trigger.is-open{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.tb-level-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-level-trigger-caret{flex-shrink:0;font-size:10px;color:#6b7280;line-height:1}.tb-level-menu{position:fixed;z-index:10050;overflow-x:hidden;overflow-y:auto;padding:3px;background:#fff;border:1px solid #d1d5db;border-radius:0 0 6px 6px;box-shadow:0 8px 20px #1c191724;box-sizing:border-box}.tb-level-option{display:block;width:100%;margin:0;padding:5px 8px;border:none;border-radius:3px;background:transparent;color:#1a1a1a;cursor:pointer;text-align:left;font-family:inherit;font-size:12.5px;font-weight:400;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-level-option:hover{background:#2563eb;color:#fff}.tb-level-option.is-selected{background:#e8eefc;color:#1d4ed8;font-weight:600}.tb-level-option.is-selected:hover{background:#2563eb;color:#fff}.tb-bpm-input{width:48px;font-size:12.5px;padding:3px 7px;border:1px solid #d1d5db;border-radius:5px;background:#f9fafb;color:#1a1a1a;cursor:text;outline:none;transition:border-color .15s,box-shadow .15s;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace}.tb-bpm-input:hover,.tb-bpm-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.tb-segmented{display:inline-flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#f9fafb}.tb-segmented-btn{font-size:12px;font-weight:500;padding:3px 9px;border:none;background:transparent;color:#4b5563;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;white-space:nowrap}.tb-segmented-btn:not(:last-child){border-right:1px solid #d1d5db}.tb-segmented-btn:hover{background:#eef2ff}.tb-segmented-btn.active{background:#2563eb;color:#fff}.tb-volume-row{display:flex;flex-direction:row;align-items:center;gap:6px;height:26px}.tb-volume-slider{width:90px;accent-color:#2563eb;cursor:pointer}.tb-volume-value{font-size:12px;color:#6b7280;min-width:2ch;text-align:right;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace}.theory-base-badge{font-size:11px;font-weight:600;padding:2px 8px;margin-left:8px;border-radius:999px;background:#eef2ff;color:#4338ca;white-space:nowrap}.tb-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:12.5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.tb-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.tb-btn:active:not(:disabled){background:#e5e7eb}.tb-btn:disabled{opacity:.45;cursor:not-allowed}.tb-btn-green{background:#059669;color:#fff;border-color:#047857}.tb-btn-green:hover:not(:disabled){background:#047857;border-color:#065f46}.tb-btn-green:active:not(:disabled){background:#065f46}.tb-btn-blue{background:#2563eb;color:#fff;border-color:#1d4ed8}.tb-btn-blue:hover:not(:disabled){background:#1d4ed8;border-color:#1e40af}.tb-btn-blue:active:not(:disabled){background:#1e40af}.tb-btn-orange{background:#f59e0b;color:#1a1a1a;font-weight:600;border-color:#d97706}.tb-btn-orange:hover:not(:disabled){background:#d97706;border-color:#b45309}.tb-btn-orange:active:not(:disabled){background:#b45309}.tb-btn-stop{background:#b91c1c;color:#fff;font-weight:600;border-color:#991b1b}.tb-btn-stop:hover:not(:disabled){background:#991b1b;border-color:#7f1d1d}.tb-btn-stop:active:not(:disabled){background:#7f1d1d}.tb-btn-stop:disabled{opacity:.45;cursor:not-allowed}.tb-btn-teal{background:#0d9488;color:#fff;border-color:#0f766e}.tb-btn-teal:hover:not(:disabled){background:#0f766e;border-color:#115e59}.tb-btn-teal:active:not(:disabled){background:#115e59}.tb-file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.score-wrap{background:#fff;border-radius:0;box-shadow:0 1px 3px #0000000f;overflow-x:auto;padding:20px 16px 12px;flex-shrink:0;border-bottom:1px solid #e5e1d8}.score-container{width:100%;min-height:280px}.score-container svg{display:block}.input-area{display:flex;flex-direction:row;align-items:center;gap:8px;padding:5px 16px;background:#fff;border-bottom:1px solid #e5e1d8;flex-shrink:0;flex-wrap:wrap;min-height:0}.solve-bar{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 16px;background:#eef2ff;border-bottom:1px solid #e5e1d8;flex-shrink:0;flex-wrap:wrap}.solve-warnings{font-size:12.5px;color:#92400e;display:flex;flex-direction:column;gap:2px}.solve-progression{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;flex:1 1 220px;min-width:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.solve-progression-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.solve-progression-romans{font-size:13px;font-weight:600;color:#1e3a8a;letter-spacing:.02em;line-height:1.35;word-break:break-word}.voice-tabs{display:flex;flex-direction:row;gap:5px;flex-wrap:wrap}.vtab{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;border:1.5px solid #9ca3af;border-radius:999px;cursor:pointer;background:#fff;color:#374151;transition:background .15s,color .15s,box-shadow .15s,border-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1.2}.vtab.active{background:#1f2937;color:#f9fafb;border-color:#1f2937}.vtab-danger{border-color:#dc2626;color:#dc2626}.vtab-danger:hover{background:#fef2f2}.vtab-danger:disabled{cursor:not-allowed;opacity:.4;filter:none;box-shadow:none}.vtab:hover{filter:brightness(1.08);box-shadow:0 2px 8px #0000001f}.vtab:active{filter:brightness(.95)}.vtab:disabled{cursor:not-allowed;opacity:.4;filter:none;box-shadow:none}.duration-selector{display:flex;flex-direction:row;align-items:center;gap:5px;margin-left:auto;flex-wrap:wrap}.dur-label{font-size:11px;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;white-space:nowrap}.dur-section{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.dur-symbol{font-family:Noto Music,Segoe UI Symbol,Apple Symbols,serif;font-size:16px;line-height:1}.duration-selector .dur-section:first-of-type{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.duration-selector .dur-section:first-of-type .dur-symbol{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:16px;flex-shrink:0;overflow:visible}.duration-selector .dur-section:first-of-type .dur-btn:nth-child(3) .dur-symbol,.duration-selector .dur-section:first-of-type .dur-btn:nth-child(4) .dur-symbol{font-size:22px}.duration-selector .dur-section:first-of-type .dur-btn:nth-child(1) .dur-symbol{transform:translateY(-1px)}.duration-selector .dur-section:first-of-type .dur-btn:nth-child(2) .dur-symbol{transform:translate(-.5px)}.duration-selector .dur-section:first-of-type .dur-btn:nth-child(3) .dur-symbol{transform:translateY(-3px)}.duration-selector .dur-section:first-of-type .dur-btn:nth-child(4) .dur-symbol{transform:translate(-.5px,-2px)}.dur-btn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:3px 7px;font-size:14px;line-height:1;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,color .15s;min-width:40px;-webkit-user-select:none;user-select:none}.dur-btn:hover{background:#f0f4ff;border-color:#2563eb;color:#2563eb}.dur-btn.active{background:#2563eb;border-color:#1d4ed8;color:#fff}.dur-name{font-size:9px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;line-height:1}.piano-wrap{overflow-x:auto;padding:4px 16px 8px;background:#f5f3ee;flex-shrink:0;text-align:center}.piano-dock .input-area{border-bottom:1px solid #e5e1d8;background:#fff}.piano-stack{position:relative;display:inline-block;vertical-align:top}.piano-brackets-svg{display:block;flex-shrink:0}.piano-bracket-path{stroke:#64748b;stroke-width:1.1;stroke-linejoin:miter}.piano-bracket-label{font-size:8px;font-weight:700;font-family:Georgia,Times New Roman,serif;fill:#475569;-webkit-user-select:none;user-select:none}.piano-keyboard{position:relative;display:inline-block;-webkit-user-select:none;user-select:none}.wkey{position:absolute;top:0;width:34px;height:72px;background:#fff;border:1px solid #d8d4cc;border-radius:0 0 6px 6px;box-shadow:inset 0 -1px #1c19170a;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;z-index:1;overflow:visible}.wkey:hover{background:#f3f1ec;border-color:#c9c4ba}.wkey:active,.wkey.active{background:#e8e4dc;box-shadow:inset 0 1px 2px #1c191714}.bkey{position:absolute;top:0;width:22px;height:45px;background:linear-gradient(180deg,#3a4252,#2a3140 55%,#232936);border:1px solid rgba(15,23,42,.35);border-radius:0 0 4px 4px;box-shadow:0 1px 2px #0f172a2e,inset 0 1px #ffffff1f;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:3px 0;z-index:3;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.bkey:hover{background:linear-gradient(180deg,#4b5568,#374151 55%,#2f3644);border-color:#0f172a47}.bkey:active,.bkey.active{background:linear-gradient(180deg,#334155,#1f2937);box-shadow:inset 0 1px 2px #00000059}.bkey.out-of-range-b{background:linear-gradient(180deg,#b45353,#991b1b);border-color:#7f1d1d73}.bkey.out-of-range-b:hover{background:linear-gradient(180deg,#c45c5c,#b91c1c)}.key-label{font-size:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#6b7280;text-align:center;pointer-events:none;line-height:1}.bkey-label-sharp,.bkey-label-flat{font-size:7px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#ffffff8c;text-align:center;pointer-events:none;line-height:1;width:100%}.analysis-inline-shell{flex-shrink:0;margin:12px 16px 0;max-height:min(44vh,440px);min-height:0;display:flex;flex-direction:column}.analysis-panel{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;max-height:inherit;box-sizing:border-box;background:#fff;border:1px solid #e5e1d8;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #00000014}.analysis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;flex-shrink:0}.analysis-error{padding:20px 18px;background:#fef2f2;border-left:3px solid #dc2626;margin:16px;border-radius:4px}.analysis-error p{color:#b91c1c;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.analysis-content{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.analysis-measures-row{display:flex;flex-direction:row;align-items:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch}.grade-banner{display:flex;align-items:center;gap:16px;margin:0 0 12px;padding:14px 18px;border-bottom:1px solid #e5e1d8;background:#f8fafc}.grade-banner.grade-excellent{background:#ecfdf5}.grade-banner.grade-good{background:#eff6ff}.grade-banner.grade-fair{background:#fffbeb}.grade-banner.grade-poor{background:#fef2f2}.grade-score-block{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.grade-score-num{font-size:36px;font-weight:800;line-height:1;color:#1e3a8a;font-variant-numeric:tabular-nums}.grade-excellent .grade-score-num{color:#047857}.grade-good .grade-score-num{color:#1d4ed8}.grade-fair .grade-score-num{color:#b45309}.grade-poor .grade-score-num{color:#b91c1c}.grade-score-max{font-size:15px;font-weight:600;color:#6b7280}.grade-summary{margin:0;font-size:14px;font-weight:600;color:#1f2937}.grade-issue-count{margin:4px 0 0;font-size:12px;color:#6b7280}.grade-deductions{margin:0 18px 12px;padding:10px 12px;background:#fff;border:1px solid #e5e1d8;border-radius:8px;font-size:12.5px}.grade-deductions strong{display:block;margin-bottom:6px;color:#374151}.grade-deductions ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px}.grade-deductions li{color:#4b5563;line-height:1.35}.grade-deduct-pts{display:inline-block;min-width:2.2em;margin-right:6px;font-weight:700;color:#dc2626;font-variant-numeric:tabular-nums}.analysis-measure{flex:0 0 260px;padding:14px 18px;border-right:1px solid #f3f4f6;transition:background .15s}.analysis-measure:hover{background:#f9fafb}.analysis-measure.has-issues{border-left:3px solid #dc2626;background:#fff8f8}.analysis-measure.has-issues:hover{background:#fef2f2}.measure-header{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.analysis-engine-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;font-family:ui-monospace,monospace;letter-spacing:.02em}.analysis-engine-badge.engine-python{background:#e0e7ff;color:#3730a3}.analysis-engine-badge.engine-claude{background:#fce7f3;color:#9d174d}.analysis-engine-badge.sm{font-size:9px;padding:1px 5px}.advanced-analysis-measure{font-size:12px;color:#475569;margin-bottom:8px;line-height:1.45}.beat-advanced{flex:1 1 100%;font-size:11px;color:#64748b;line-height:1.4}.measure-num{font-size:11px;color:#9ca3af;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.chord-symbol{font-size:22px;font-weight:700;color:#1e3a8a;font-family:Georgia,Times New Roman,serif;line-height:1}.chord-symbol-editable{cursor:text;border-radius:3px;padding:1px 3px;margin:-1px -3px}.chord-symbol-editable:hover{background:#b453091f}.chord-fig-lines{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15;vertical-align:middle}.chord-i-fig64-wrap{display:inline-flex;align-items:baseline;gap:.06em}.chord-i-fig64-base{font-size:1em}.chord-i-fig64-numgrid{display:inline-grid;grid-template-columns:max-content max-content;grid-template-rows:auto auto;column-gap:.06em;row-gap:.05em;align-items:center;vertical-align:middle;margin-left:.02em;font-size:.58em;font-weight:700;line-height:1}.chord-i-fig64-b{grid-column:1;grid-row:1;align-self:end}.chord-i-fig64-d6{grid-column:2;grid-row:1;justify-self:center}.chord-i-fig64-d4{grid-column:2;grid-row:2;justify-self:center}.chord-fig-parts-wrap{display:inline-flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:.04em}.chord-fig-col{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;margin-left:.04em;vertical-align:middle;gap:.14em}.chord-fig-col-3{gap:.06em}.chord-fig-d3{font-size:.52em;font-weight:700;line-height:1}.chord-fig-dtop,.chord-fig-dbot{font-size:.58em;font-weight:700;line-height:1}.chord-fig-dtop{margin-bottom:0}.chord-fig-col-flatdigit{display:inline-grid;grid-template-columns:auto minmax(.35em,max-content);grid-template-rows:auto auto;column-gap:.1em;row-gap:.12em;align-items:center;line-height:1;margin-left:.04em;vertical-align:middle}.chord-fig-col-flatdigit .chord-fig-flatdigit-top{grid-column:2;grid-row:1;justify-self:center;margin-bottom:0}.chord-fig-col-flatdigit .chord-fig-flatdigit-flat{grid-column:1;grid-row:2;justify-self:end}.chord-fig-col-flatdigit .chord-fig-flatdigit-bottom{grid-column:2;grid-row:2;justify-self:center}.chord-fig-col-flattop{display:inline-grid;grid-template-columns:auto minmax(.35em,max-content);grid-template-rows:auto auto;column-gap:.1em;row-gap:.12em;align-items:center;line-height:1;margin-left:.04em;vertical-align:middle}.chord-fig-col-flattop .chord-fig-flattop-flat{grid-column:1;grid-row:1;justify-self:end;font-size:.58em;font-weight:700;line-height:1}.chord-fig-col-flattop .chord-fig-flattop-top{grid-column:2;grid-row:1;justify-self:center;margin-bottom:0}.chord-fig-col-flattop .chord-fig-flattop-bottom{grid-column:2;grid-row:2;justify-self:center}.chord-fig-ddigit{font-size:.58em;font-weight:700;line-height:1}.chord-fig-supdig{font-size:.58em;font-weight:700;line-height:1;vertical-align:super;margin-left:.03em}.measure-details{font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#374151}.measure-details p{margin-bottom:4px;line-height:1.4}.beat-analysis-list{list-style:none;margin:0;padding:0}.beat-analysis-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin-bottom:6px;font-size:13px}.beat-analysis-row:last-child{margin-bottom:0}.beat-label{min-width:3.2em;font-size:11px;color:#9ca3af;font-weight:500}.chord-num{min-width:1.8em;padding:1px 5px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.measure-header .chord-num{margin-left:4px}.beat-analysis-row .chord-symbol{font-size:18px}.beat-inversion{color:#64748b;font-size:12px}.nct-row{width:100%;display:flex;flex-direction:column;gap:3px;margin-top:4px;padding-left:4px;border-left:2px solid #c4b5fd}.nct-item{display:flex;align-items:center;gap:6px;font-size:11.5px}.nct-voice{color:#6d28d9;font-weight:600;min-width:4.2em}.nct-type{color:#7c3aed;font-weight:400}.measure-details strong{color:#1a1a1a}.issues{margin-top:8px;color:#dc2626;font-size:12px}.issues ul{list-style:none;margin-top:4px}.issue-item{padding:3px 0;line-height:1.4}.spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f0ed}::-webkit-scrollbar-thumb{background:#c8c4ba;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a09990}@media (max-width: 900px){.app-layout{flex-direction:column}.analysis-inline-shell{margin:10px 10px 0;max-height:min(50vh,400px)}.toolbar{gap:8px;padding:8px 12px}.input-area{padding:8px 12px}}@media (max-width: 600px){.app-header{min-height:34px;padding:4px 12px}.app-menubar-wordmark{height:24px;max-width:min(160px,42vw)}.voice-tabs{gap:5px}.vtab{padding:5px 10px;font-size:12px}.duration-selector{margin-left:0}.toolbar-group:not(:last-child){border-right:none;padding-right:0}}
