:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}#root{min-height:100vh}.app-shell{width:min(1500px,100% - 24px);margin:0 auto;padding:12px 0 18px}h1{color:#0f172a;margin:0;font-size:1.1rem;line-height:1.15}.player-card{background:#fff;border:1px solid #cbd5e1;border-radius:7px;overflow:visible}.file-toolbar{background:#e2e8f0;border-bottom:1px solid #cbd5e1;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;padding:7px 9px;display:flex}.file-toolbar h1{white-space:nowrap}.file-toolbar .open-audio-button{order:1;margin-left:auto;font-size:.8rem}.current-file{flex:1}.open-audio-button,.playback-controls button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:4px;justify-content:center;align-items:center;min-height:32px;padding:0 11px;font-weight:600;display:inline-flex}.open-audio-button:hover,.playback-controls button:hover:not(:disabled){background:#1d4ed8}.open-audio-button:focus-within,.playback-controls button:focus-visible{outline-offset:1px;outline:3px solid #93c5fd}.open-audio-button input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.current-file{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.empty-state{color:#64748b;margin:18px}.workspace-toolbar{background:#f8fafc;border-bottom:1px solid #cbd5e1;padding:0}.workbench-band{border-bottom:1px solid #e2e8f0;grid-template-columns:78px minmax(0,1fr);gap:8px;min-width:0;padding:6px 9px;display:grid}.training-band{background:#f1f5f9}.study-controls{color:#334155;font-size:.8rem}.study-controls label{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.study-controls select{text-overflow:ellipsis;width:clamp(140px,23vw,270px);min-width:0;max-width:100%}.study-status{color:#64748b;overflow-wrap:anywhere;font-size:.76rem}.study-status.persistence-warning{color:#b45309}.alignment-workspace{color:#334155;border-top:1px solid #cbd5e1;min-width:0;padding-top:6px;font-size:.82rem}.alignment-heading{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:5px 12px;margin-bottom:6px;display:flex}.alignment-heading h3{text-transform:uppercase;letter-spacing:.025em;margin:0;font-size:.72rem}.alignment-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;display:grid}.alignment-preview{min-width:0}.alignment-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px}.alignment-translation{color:#64748b}.alignment-boundaries{align-content:start;gap:5px;display:grid}.alignment-boundaries label{align-items:center;gap:5px;display:inline-flex}.alignment-boundaries input{width:108px}@media (width<=1000px){.alignment-editor{grid-template-columns:minmax(0,1fr)}}.workbench-band-title{color:#475569;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;align-self:start;align-items:center;min-height:30px;margin:0;font-size:.69rem;font-weight:700;line-height:1;display:flex}.workbench-band-content{gap:6px;min-width:0;display:grid}.workbench-control-row,.playback-controls{flex-wrap:wrap;align-items:center;gap:5px 6px;min-width:0;margin:0;display:flex}.workspace-toolbar button,.workspace-toolbar select,.workspace-toolbar input,.workspace-toolbar output{font-family:inherit}.workspace-toolbar button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-height:30px;padding:0 8px;font-size:.82rem;font-weight:500;line-height:1}.workspace-toolbar select,.workspace-toolbar input[type=number]{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-height:30px;font-size:.8rem;line-height:1.2}.workspace-toolbar select{padding:0 24px 0 7px}.workspace-toolbar input[type=number]{padding:0 5px}.playback-controls button,.workspace-toolbar .primary-action{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}.playback-controls button:hover:not(:disabled),.workspace-toolbar .primary-action:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.playback-controls .play-pause-button{min-width:58px}.playback-volume{color:#334155;white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.playback-volume input{width:90px}.playback-volume output{text-align:right;min-width:4ch}.playback-boost{color:#334155;white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.workspace-toolbar button:disabled,.workspace-toolbar select:disabled,.workspace-toolbar input[type=number]:disabled{color:#94a3b8;cursor:not-allowed;opacity:1;background:#edf1f5;border-color:#d7dee8}.workspace-toolbar input[type=range]:disabled{accent-color:#94a3b8;cursor:not-allowed;filter:grayscale();opacity:.45}.playback-controls output,.zoom-controls output{color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.training-settings{color:#334155;gap:5px 10px;font-size:.8rem}.training-settings label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.training-settings input[type=number]{width:56px}.training-settings input[type=range]{width:110px}.training-loop input{accent-color:#2563eb;width:16px;height:16px;margin:0}.training-loop input:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}.training-preset-controls{color:#334155;font-size:.8rem}.training-preset-controls label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.training-preset-controls select{text-overflow:ellipsis;width:clamp(130px,20vw,230px);max-width:100%}.segmentation-profile-controls{color:#334155;font-size:.8rem}.segmentation-profile-controls label{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:inline-flex}.segmentation-profile-controls select{text-overflow:ellipsis;width:clamp(150px,24vw,270px);max-width:100%}.profile-use-note{color:#64748b;white-space:nowrap;font-size:.72rem}.inline-control-label{color:#334155;white-space:nowrap;font-size:.8rem}.zoom-controls label{align-items:center;display:inline-flex}.preset-dialog-backdrop{z-index:20;background:#0f172a61;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.preset-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:min(360px,100%);padding:16px;box-shadow:0 18px 45px #0f172a3d}.preset-dialog h2{color:#0f172a;margin:0 0 12px;font-size:1rem}.preset-dialog p{color:#334155;margin:0 0 14px;font-size:.9rem}.preset-dialog form>label{color:#334155;gap:5px;font-size:.82rem;font-weight:600;display:grid}.preset-dialog input{min-height:34px;font:inherit;border:1px solid #94a3b8;border-radius:4px;padding:4px 7px}.segmentation-dialog>label{color:#334155;gap:5px;font-size:.82rem;font-weight:600;display:grid}.segmentation-dialog select{color:#334155;width:100%;min-width:0;min-height:34px;font:inherit;background:#fff;border:1px solid #94a3b8;border-radius:4px;padding:4px 7px}.preset-dialog-error{color:#b91c1c!important;margin:6px 0 0!important;font-size:.78rem!important}.preset-dialog-actions{justify-content:flex-end;gap:7px;margin-top:14px;display:flex}.preset-dialog-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-height:31px;padding:0 10px}.preset-dialog-actions button[type=submit],.preset-dialog-actions .primary-button{color:#fff;background:#2563eb;border-color:#2563eb}.preset-dialog-actions .danger-button{color:#fff;background:#dc2626;border-color:#dc2626}.toolbar-status{color:#64748b;flex-wrap:wrap;align-items:center;gap:3px 14px;padding:6px 9px;font-size:.76rem;display:flex}.toolbar-status span{margin:0}.training-status{color:#334155;font-weight:600}.error-message{color:#b91c1c}.persistence-warning,.boost-warning{color:#b45309}.waveform-container{min-width:0;padding:6px 9px}.waveform-area{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px 4px 0 0;align-self:start;min-width:0;min-height:0;position:relative}.waveform{width:100%;min-width:0;min-height:80px}.waveform-status{color:#64748b;pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}.study-panel{background:#fff;border:1px solid #cbd5e1;border-top:0;min-width:0}.study-panel-header{background:#f1f5f9;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;min-width:0;padding:6px 8px;display:flex}.study-panel-identity{flex-wrap:wrap;align-items:baseline;gap:4px 9px;min-width:0;display:flex}.study-panel-identity h2{color:#334155;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.72rem}.study-panel-identity span{color:#475569;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.study-panel-controls{color:#475569;flex-wrap:wrap;align-items:center;gap:5px 9px;font-size:.76rem;display:flex}.study-panel-controls label{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.study-panel-controls input{accent-color:#2563eb;width:14px;height:14px;margin:0}.study-panel-controls button{color:#334155;min-height:27px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:0 7px}.study-panel-controls button:hover{background:#f8fafc;border-color:#94a3b8}.study-panel-body{min-width:0;padding:2px 10px}.study-panel-empty{color:#64748b;margin:10px 0;font-size:.82rem}.study-unit-content{border-bottom:1px solid #e2e8f0;min-width:0;padding:10px 2px}.study-unit-content:last-child{border-bottom:0}.study-scene-context{color:#475569;margin-bottom:4px;font-size:.76rem;font-weight:700}.study-unit-context{color:#64748b;margin-bottom:3px;font-size:.7rem}.study-source-text{color:#0f172a;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:1.05rem;line-height:1.55}.study-translation{color:#334155;overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-size:.92rem;line-height:1.45}.study-note{color:#64748b;overflow-wrap:anywhere;white-space:pre-wrap;margin:4px 0 0;font-size:.8rem;line-height:1.4}.study-vocabulary-wrap{width:100%;min-width:0;margin-top:8px}.study-vocabulary{table-layout:fixed;border-collapse:collapse;color:#334155;width:100%;font-size:.76rem}.study-vocabulary th,.study-vocabulary td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:4px 6px}.study-vocabulary th{color:#475569;background:#f8fafc;font-weight:700}.segment-list{background:#fff;border:1px solid #cbd5e1;border-radius:4px}.segment-list>header{background:#f1f5f9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:5px 12px;min-height:30px;padding:4px 7px;display:flex}.segment-list h2{color:#334155;margin:0;font-size:.85rem}.segment-list>header span{color:#64748b;font-size:.7rem}.segment-list>div{overscroll-behavior:contain;scrollbar-gutter:stable;height:clamp(180px,34vh,390px);overflow-y:auto}.segment-row{color:#334155;text-align:left;background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:4px;width:100%;min-height:29px;padding:1px 6px;display:flex}.segment-row:nth-child(2n){background:#f8fafc}.segment-row:last-child{border-bottom:0}.segment-row.selected{color:#1d4ed8;background:#dbeafe;box-shadow:inset 3px 0 #2563eb}.segment-row button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:3px 2px;font-size:.8rem;display:flex}.segment-row button:disabled{cursor:not-allowed}.segment-row .chunk-play{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;flex:0 0 28px;justify-content:center;min-height:28px}.segment-row .chunk-play:hover:not(:disabled){background:#e2e8f0}.segment-row .chunk-play:disabled{opacity:.45}.chunk-runtime{color:#334155;font-size:.68rem;font-weight:650}.segment-list>div:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.segment-name{white-space:nowrap}.skipped-label{color:#475569;background:#cbd5e1;border-radius:999px;padding:1px 5px;font-size:.66rem}.segment-times{color:#475569;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:128px;margin-left:auto;font-size:.76rem}.training-toggle{color:#475569;place-items:center;min-width:21px;display:grid}.training-toggle input{margin:0}.segment-row button:focus-visible,.training-toggle input:focus-visible{outline-offset:0;outline:3px solid #93c5fd}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.app-shell{width:calc(100% - 10px);padding:6px 0 10px}.file-toolbar,.waveform-container{padding-left:6px;padding-right:6px}.workbench-band{grid-template-columns:68px minmax(0,1fr);padding-left:6px;padding-right:6px}.zoom-controls input{width:min(120px,30vw)}.segment-list>header{flex-direction:column;align-items:flex-start}.segment-list>div{height:clamp(170px,32vh,300px)}.study-panel-body{padding-left:6px;padding-right:6px}}.audio-player{min-width:0}.listening-speed label{color:#334155;align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.listening-feedback{grid-column:2;font-size:.78rem}.listening-feedback:empty{display:none}.training-settings{flex-wrap:wrap;display:inline-flex}.training-execution{flex-wrap:wrap;gap:5px;display:inline-flex}.training-scope{color:#64748b;font-size:.75rem}.training-feedback{font-size:.76rem}.training-preset-controls select{width:clamp(120px,15vw,190px)}.management-note{color:#64748b;overflow-wrap:anywhere;margin:4px 0;font-size:.76rem;line-height:1.4}.workspace-toolbar summary{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-height:30px;padding:6px 8px;font-size:.8rem}.workspace-toolbar summary:hover{background:#f8fafc;border-color:#94a3b8}.workspace-toolbar :is(button,summary,select,input):focus-visible,.study-panel-controls :is(button,input):focus-visible{outline-offset:2px;outline:2px solid #2563eb}.disclosure-content{background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-width:0;padding:8px}details:not([open])>.disclosure-content{display:none}.management-disclosure[open]>summary{margin-bottom:5px}.disclosure-content .workbench-control-row+.workbench-control-row{margin-top:6px}.preset-management-menu{z-index:100;background:#fff;border:1px solid #cbd5e1;border-radius:5px;width:min(245px,100vw - 16px);max-height:calc(100dvh - 16px);padding:5px;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #0f172a26}.preset-management-menu button{color:#334155;text-align:left;width:100%;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:5px 8px;font-size:.82rem;display:block}.preset-management-menu button:hover:not(:disabled),.preset-management-menu button:focus-visible{outline-offset:-2px;background:#eff6ff;outline:2px solid #2563eb}.preset-management-menu button:disabled{color:#94a3b8;cursor:not-allowed}.preset-management-menu p{color:#64748b;margin:4px 8px;font-size:.75rem}.waveform-tools{flex-wrap:wrap;align-items:start;gap:6px 10px;padding:6px 9px;display:flex}.waveform-tools .zoom-controls{justify-content:flex-end}.zoom-controls input{width:85px}.study-management{flex-wrap:wrap;flex:1;align-items:start;gap:5px 8px;min-width:0;display:flex}.study-disclosure{min-width:0;max-width:100%}.study-association{text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;max-width:24ch;display:inline-block;overflow:hidden}.timing-entry{flex-shrink:0}.training-preset-controls{gap:6px 12px}.training-settings{gap:12px}.number-with-unit{background:#fff;border:1px solid #cbd5e1;border-radius:4px;align-items:center;padding-right:6px;display:inline-flex}.workspace-toolbar .number-with-unit input{background:0 0;border:0;width:48px;min-width:0}.number-with-unit>span{color:#64748b;font-size:.75rem}.training-loop,.training-scope{white-space:nowrap;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px}.training-execution{margin-left:auto}.workspace-toolbar :is(.training-execution,.edit-chunks-heading,.timing-entry):focus-visible{outline-offset:2px;outline:2px solid #2563eb}.chunk-tools.editing{display:contents}.chunk-tools.editing>.disclosure-content{flex-basis:100%;order:4;min-width:0}.study-disclosure>summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.study-association{color:#475569}.chunk-tools.editing{grid-column:1/-1}.study-management:has(.study-disclosure[open],.alignment-workspace){grid-column:1/-1}.edit-chunks-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-chunks-heading strong{letter-spacing:.05em;font-size:.75rem}.chunk-tools.editing .disclosure-content{margin-top:5px}.chunk-tools [hidden]{display:none}.alignment-workspace{margin-top:6px}.learning-panes{gap:8px;min-width:0;padding:0 9px 8px;display:grid}.learning-panes>[hidden]{display:none!important}.text-timing-pane{border-top:1px solid #cbd5e1;order:2;min-width:0;padding:8px}.text-timing-pane .alignment-editor{flex-direction:column;display:flex}.timing-navigation{margin-bottom:6px}.timing-navigation label{align-items:center;gap:5px;min-width:0;max-width:100%;display:flex}.timing-navigation select{width:260px;min-width:0;max-width:100%;min-height:30px;font:inherit;text-overflow:ellipsis;border:1px solid #cbd5e1;border-radius:4px}.timing-navigation select:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.text-timing-pane :is(button,input){color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-height:30px;font-family:inherit;font-size:.82rem}.text-timing-pane button{cursor:pointer;padding:0 8px}.text-timing-pane input{padding:0 5px}.text-timing-pane :is(button,input):disabled{color:#94a3b8;cursor:not-allowed;background:#edf1f5}.text-timing-pane :is(button,input):focus-visible{outline-offset:2px;outline:2px solid #2563eb}.learning-panes>.study-panel{border-top:1px solid #cbd5e1;border-radius:4px}.toolbar-status{background:#f8fafc;border-top:1px solid #e2e8f0}html,body,#root{min-width:0;height:100%;min-height:0;overflow:hidden}.app-shell{width:min(1500px,100%);height:100dvh;padding:0;overflow:hidden}.player-card{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.file-toolbar{flex:0 auto;min-height:0;max-height:15dvh;overflow:auto}.audio-player{flex:1;grid-template-rows:minmax(0,auto) minmax(0,auto) minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.workspace-toolbar{min-height:0;max-height:40dvh;overflow:auto}.waveform-container{min-height:0;max-height:30dvh;overflow:auto}.learning-panes{grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.learning-panes.with-study{grid-template-columns:280px minmax(0,1fr)}.learning-panes>:is(.segment-list,.study-panel){flex-direction:column;min-width:0;min-height:0;margin:0;display:flex;overflow:hidden}.learning-panes :is(.segment-list>header,.study-panel-header){flex:0 auto;min-height:0;max-height:40%;overflow:auto}.learning-panes .segment-list>div,.learning-panes .study-panel-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;height:auto;min-height:0;max-height:none;overflow-y:auto}.learning-panes>.text-timing-pane{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.learning-panes.with-study .segment-list>header{flex-direction:column;align-items:start}.learning-panes.with-study .segment-row button{flex-wrap:wrap}.learning-panes.with-study .segment-times{text-align:left;flex-basis:100%;margin-left:0}.toolbar-status{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:4px 12px;min-height:0;max-height:15dvh;padding:5px 9px;display:grid;overflow:auto}.toolbar-status>div{overflow-wrap:anywhere;min-width:0}.status-runtime{text-align:center}.status-persistence{text-align:right}.status-persistence>span{display:block}@media (width<=999px){.learning-panes.with-study{grid-template-rows:minmax(0,2fr) minmax(0,3fr);grid-template-columns:minmax(0,1fr)}.toolbar-status{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.status-runtime{text-align:left;grid-area:1/1/auto/-1}}@media (width<=720px){.waveform-tools{grid-template-columns:auto minmax(0,1fr)}.waveform-tools .zoom-controls{grid-column:1/-1;justify-content:flex-start}.training-execution{flex-basis:100%}.study-vocabulary th,.study-vocabulary td{padding:4px}.listening-feedback{grid-column:1/-1}}@media (width<=430px){.workbench-band{grid-template-columns:1fr;gap:4px}.training-preset-controls label,.segmentation-profile-controls label{grid-template-columns:auto minmax(0,1fr);width:100%;display:grid}.training-preset-controls select,.segmentation-profile-controls select{width:100%}.training-settings input[type=range]{width:90px}.segment-row button{flex-wrap:wrap;gap:2px 6px}.segment-times{min-width:118px;font-size:.7rem}}
