/* V3 additions retain the original voice-analysis workspace. */
.hero-actions{flex-wrap:wrap;justify-content:flex-end}.hero-actions .btn{white-space:nowrap}
.hero-copy{min-width:280px}.hero h1{font-size:29px}.hero p{max-width:560px;line-height:1.7}
.practice-savebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;color:#758093;font-size:12px}.practice-savebar .unsaved{color:#a56a17}
.reference-card{padding:24px;background:linear-gradient(140deg,#fff 60%,#fffaf0);min-width:0}
.reference-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.reference-head h2{font-size:21px;line-height:1.5;margin:13px 0 7px;letter-spacing:-.03em}.reference-head h2 small{display:block;font-size:11px;font-weight:500;letter-spacing:0;color:#949aa6;margin-top:3px}
.reference-head p,.quiet{color:#798293;font-size:12px;line-height:1.75;margin:9px 0}.reference-head h2+.quiet{margin-top:0}
.reference-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px}.reference-actions .btn{font-size:12px;padding:9px 13px}
.score-mark{width:65px;height:65px;border-radius:18px;background:#fbf1d9;color:#b99046;display:grid;place-items:center;font-size:36px;flex:none}
.text-button{border:0;background:none;color:#6b62bc;padding:7px 3px;font-size:12px}.text-button:hover{text-decoration:underline}.danger{color:#b15a59!important}.text-button:disabled{color:#9a9dab}.error-text{color:#ae504f!important}
.amber-pin{background:#d6a550!important}.reference-dot{width:15px;height:7px;border-radius:3px;background:#e6ae4d}
.pill{font-size:10px;border-radius:20px;padding:4px 9px;background:#fff1d7;color:#9b722b;margin-left:8px}.pill.good{background:#e7f5ee;color:#3c8b71}
.practice-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #eee8db;margin-top:16px;padding-top:12px}
.practice-controls label{display:flex;gap:7px;align-items:center;font-size:11px;color:#778091}
.register-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:10px;margin-top:17px;background:#fff7e8;border:1px solid #eee1c5;color:#8b672e}.register-status.confirmed{background:#f0f7f4;border-color:#dceae2;color:#4e7761}.register-status strong{font-size:12px}.register-status p{font-size:11px;line-height:1.7;margin:4px 0 0}.register-status button{flex:none}.register-choice{display:flex;flex-direction:column;gap:9px;margin:20px 0 14px}.register-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:17px;background:#f5f3fc;border-radius:11px;color:#6e5fa5}.register-summary strong{font-size:20px}.register-summary span{font-size:13px}.register-summary small{width:100%;color:#8b829e;font-size:12px}#registerDialog .check-line{display:flex;align-items:center;gap:8px;line-height:1.7;margin-top:20px}@media(max-width:730px){.register-status{align-items:flex-start;flex-direction:column;gap:9px}}
.practice-controls input{width:60px}.practice-controls select{max-width:85px}
.reference-card input,.reference-card select{border:1px solid #e4e3e9;border-radius:7px;background:#fff;padding:7px;color:#3c4657;font-size:12px}
.phrase-navigation{display:flex;gap:8px;align-items:center;margin-top:16px}.phrase-navigation select{flex:1;min-width:0;padding:10px;font-size:14px}
.square-btn{width:32px;height:35px;flex:none;border:1px solid #e8e3d6;border-radius:8px;background:#fff;font-size:23px;color:#79758c}
.reference-notes{display:flex;overflow-x:auto;gap:7px;margin-top:14px;padding:3px 1px 10px;scrollbar-width:thin}
.ref-note{display:flex;flex-direction:column;gap:6px;align-items:center;min-width:63px;padding:10px 9px 8px;border:1px solid #e9e5dc;border-radius:12px;background:#fff;color:#4d5465;box-shadow:0 3px 9px #49372a04}
.ref-note:hover,.ref-note.sounding{border-color:#9186e4;background:#f0edff;transform:translateY(-2px)}
.ref-note .degree{font:600 24px Georgia,serif;color:#464057;white-space:nowrap}.ref-note strong{font-size:12px;color:#796849}.ref-note small{font-size:10px;color:#9296a1;white-space:nowrap}.ref-note .note-lyric{font-size:13px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-note.uncertain{background:#fff8eb;border-style:dashed;border-color:#dcad6d}
.alignment-box{border-top:1px solid #ece7dd;padding-top:14px;margin-top:15px}.alignment-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}.align-inputs{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.align-inputs label{display:flex;flex-direction:column;gap:6px;color:#8a8d99;font-size:10px}.align-inputs input{width:90px}.align-inputs button{font-size:10px;padding:8px}
.score-warnings{font-size:11px;color:#967038;background:#fff8e9;border-radius:8px;padding:9px 12px;margin-top:8px}.score-warnings summary{cursor:pointer}.score-warnings p{line-height:1.7;margin:6px 0}
.comparison-card{margin-top:18px;padding:24px}.comparison-empty{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#818694}.comparison-empty strong{color:#50596e;font-size:15px}.comparison-empty p{font-size:12px;line-height:1.8}
.comparison-table{overflow:auto;margin-top:15px}.comparison-table table{min-width:570px}.comparison-table td:first-child{white-space:normal;min-width:180px}.comparison-table tr[data-phrase-result]{cursor:pointer}.comparison-table tr[data-phrase-result]:hover{background:#faf7ef}
.comparison-notes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.comparison-notes>span{display:flex;flex-direction:column;gap:5px;padding:10px 13px;background:#f7f6fc;border-radius:8px;font-size:12px}.comparison-notes small{color:#7e8193}
.practice-memo{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#798293;margin-top:20px}.practice-memo textarea{border:1px solid #e7e8ee;border-radius:9px;padding:10px;resize:vertical;color:#3e485a;font-size:13px;background:#fdfdff}
.studio-dialog{border:0;border-radius:21px;box-shadow:0 25px 100px #16213540;width:min(94vw,600px);max-height:88vh;padding:27px 30px;color:var(--ink);overflow:auto}.studio-dialog.wide{width:min(94vw,1160px)}
.studio-dialog::backdrop{background:#1720339c;backdrop-filter:blur(5px)}.studio-dialog h2{font-size:26px;letter-spacing:-.035em;margin:14px 0 9px}.studio-dialog .icon-close{font-size:25px}
.json-import{margin:12px 0 20px;font-size:12px;color:#79738f}.json-import summary{cursor:pointer;margin-bottom:10px}
.studio-dialog label{font-size:12px;color:#636d80}.studio-dialog input:not([type=checkbox]),.studio-dialog select,.studio-dialog textarea{width:100%;border:1px solid #dfe3ec;border-radius:8px;background:#fff;padding:10px 11px;outline:none;color:#39465a;font-size:13px}
.studio-dialog input:focus,.studio-dialog select:focus,.studio-dialog textarea:focus{border-color:#9488de;box-shadow:0 0 0 3px #8e80ef14}
.settings-form{display:flex;flex-direction:column;gap:13px;margin-top:22px}.settings-form label{display:flex;flex-direction:column;gap:8px}.field-help{color:#9298a5;line-height:1.65;font-size:11px;margin:-5px 0 0}.settings-form #modelTimeout{max-width:100px}
.storage-details{padding-top:18px;border-top:1px solid #eee;margin-top:20px;color:#8a8f9d;font-size:11px;line-height:1.8}.storage-details summary{cursor:pointer}.storage-details code{word-break:break-all;font-size:10px}
.upload-zone{display:flex;flex-direction:column;gap:12px;border:1px dashed #bab2e2;border-radius:12px;background:#faf9ff;text-align:center;padding:24px;margin:18px 0;color:#6f60b8!important;font-weight:650;cursor:pointer}.upload-zone small{color:#9b98b0;font-size:11px;font-weight:400}.upload-zone input{max-width:330px;margin:auto;background:#fff}
.crop-scroll{max-height:48vh;overflow:auto;border-radius:10px;background:#f5f5f5}.crop-scroll canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.crop-scroll canvas[hidden]{display:none}.import-key{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:15px}.import-key select{max-width:255px}.import-key small{width:100%;color:#9298a5;font-size:11px}
.cloud-note{padding:12px 15px;background:#f2f4fb;border-radius:8px;color:#71788e;font-size:12px;line-height:1.8}
.recognize-progress{display:flex;align-items:center;gap:12px;padding:15px 17px;background:#f5f2ff;border:1px solid #e5dffb;border-radius:11px;margin-top:15px}.recognize-progress[hidden]{display:none}.recognize-progress strong{display:block;color:#6655aa;font-size:13px}.recognize-progress small{display:block;color:#8a819c;font-size:11px;margin-top:6px;font-variant-numeric:tabular-nums}.recognize-spinner{width:19px;height:19px;border:2px solid #ddd5f6;border-top-color:#7a64d7;border-radius:50%;animation:recognize-spin 1s linear infinite;flex:none}@keyframes recognize-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.recognize-spinner{animation:none}}
.score-review-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:24px;margin-top:20px;align-items:start}.score-image-wrap{position:relative;min-width:0;border:1px solid #e5e5ea;border-radius:9px;overflow:hidden;max-height:none}.score-image-wrap img{display:block;width:100%;height:auto}.score-image-wrap svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.image-empty{min-height:260px;display:grid;place-items:center;color:#a5a7b1;background:#f7f7fa;font-size:13px}
.score-evidence-panel{position:sticky;top:12px;min-width:0}.evidence-detail{margin-top:12px;padding:14px;border:1px solid #e7e5ef;border-radius:10px;background:#faf9fe}.evidence-detail strong{font-size:13px}.evidence-detail canvas{display:block;width:100%;max-height:230px;object-fit:contain;background:#fff;margin-top:12px;border-radius:6px}.evidence-detail canvas[hidden]{display:none}.evidence-detail p{line-height:1.7;margin-bottom:0}.edit-note-table tr.evidence-selected td{background:#fff7df}
.score-edit-form{min-width:0}.score-edit-form>label{display:flex;flex-direction:column;gap:8px}.score-meta{display:grid;grid-template-columns:2fr .7fr 1fr 1fr;gap:9px;margin-bottom:15px}.score-meta label{display:flex;flex-direction:column;gap:7px;font-size:10px;line-height:1.5}
.edit-note-table{overflow:auto;max-height:360px;margin-top:15px;border:1px solid #eeeef4;border-radius:9px}.edit-note-table table{min-width:680px}.edit-note-table th{position:sticky;top:0;z-index:1;font-size:10px}.edit-note-table td{padding:7px 5px}.edit-note-table select{min-width:60px;padding:7px 3px}.edit-note-table input:not([type=checkbox]){min-width:48px;padding:7px 4px;width:58px}.edit-note-table input[data-field=lyric]{width:65px}.edit-note-table input[type=checkbox]{accent-color:#7564d7}.edit-note-table .text-button{padding:4px 3px}.edit-note-table td:last-child{min-width:47px}
.score-edit-form .check-line{display:flex;flex-direction:row;align-items:center;gap:7px;margin-top:15px;font-size:12px;line-height:1.6}.check-line input{accent-color:#6c61d0;width:16px;height:16px}
.library-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.library-toolbar input{flex:1;min-width:180px}.tab-buttons{background:#f0eef8;display:flex;gap:3px;padding:4px;border-radius:10px}.tab-buttons button{border:0;background:none;padding:9px 15px;border-radius:8px;color:#9991b2;font-size:12px}.tab-buttons button.active{background:#fff;box-shadow:0 2px 6px #54408312;color:#6957bd;font-weight:750}
.library-items{display:flex;flex-direction:column;gap:10px}.library-item{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #ebeaf0;border-radius:12px}.library-symbol{width:44px;height:48px;display:grid;place-items:center;flex:none;background:#f2effc;color:#9383d9;border-radius:10px;font-size:24px}.library-copy{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.library-copy strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-copy small{font-size:11px;color:#9599a5;line-height:1.5}.library-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-empty{text-align:center;border:1px dashed #dfe0e9;border-radius:12px;padding:60px 15px;color:#8b8f9e}.library-empty p{font-size:12px;line-height:1.8}.library-empty strong{font-size:18px;color:#626b80}
@media(min-width:1041px){.workspace{align-items:start}.inspector{position:sticky;top:20px}}
.playback-save-hint{margin:0 0 18px;font-size:11px}.export-warning{padding:12px 15px;background:#fff7e6;color:#8b6326;border-radius:10px;font-size:12px;line-height:1.7}#audioExportProgress{width:100%;height:9px;accent-color:#6858dc;margin-top:18px}
@media(max-width:1200px){.hero{align-items:flex-start}.hero-actions{max-width:330px}.score-meta{grid-template-columns:1fr 1fr}.score-review-layout{grid-template-columns:1fr}.score-image-wrap{max-width:450px}.score-edit-form{width:100%}}
@media(max-width:730px){.hero-actions{max-width:none}.hero-actions .btn{flex:1 1 40%;font-size:11px;padding:10px}.reference-card,.comparison-card{padding:17px}.reference-head h2{font-size:19px}.reference-head{flex-wrap:wrap}.score-mark{display:none}.practice-savebar{font-size:10px}.ref-note{min-width:58px}.align-inputs input{width:75px}.practice-controls{gap:8px}.comparison-empty{display:block}.studio-dialog{padding:20px 16px;width:96vw;max-height:94vh}.studio-dialog h2{font-size:22px}.library-item{gap:10px;flex-wrap:wrap;padding:13px}.library-actions{width:100%;justify-content:flex-end}.library-toolbar{gap:10px}.tab-buttons{width:100%}.tab-buttons button{flex:1}.library-copy strong{font-size:13px}.score-review-layout{gap:15px}.reference-actions .btn{padding:9px 10px;font-size:11px}}

.song-transcript{margin:14px 0;color:#68728a;font-size:12px}.song-transcript summary{cursor:pointer;padding:8px 0}.transcript-lines{display:grid;gap:5px;margin:12px 0;max-height:280px;overflow:auto}.transcript-line{display:flex;gap:18px;text-align:left;align-items:baseline;border:0;background:#f6f5fb;border-radius:8px;padding:10px 12px;color:#384259;cursor:pointer}.transcript-line span{font-size:11px;color:#7c8498;white-space:nowrap;font-variant-numeric:tabular-nums}.transcript-line strong{font-weight:500;line-height:1.6}.transcript-line:hover{background:#ede9ff}
