:root,[data-theme=light]{--primary:#ff6d00;--primary-hover:#e65100;--primary-soft:#fff3e0;--bg:#f5f5f5;--surface:#fff;--surface-2:#fafafa;--hover:#f0f0f0;--border:#e0e0e0;--text:#222;--text-muted:#6b6b6b;--danger:#db504a;--warning:#f0ad4e;--success:#46ba61;--progress-track:#ececec;--code-bg:#fff;--overlay:#1414148c;--warning-soft:#fff4df;--warning-text:#9a6700;--header-height:50px;--shadow:0 1px 4px #00000014;--shadow-strong:0 16px 48px #00000047;--radius:8px;--font:"Nunito", "Segoe UI", sans-serif;--font-brand:"Syne", "Nunito", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--primary:#ff7a1a;--primary-hover:#ff922b;--primary-soft:#3a2414;--bg:#121212;--surface:#1e1e1e;--surface-2:#262626;--hover:#2c2c2c;--border:#3a3a3a;--text:#f0f0f0;--text-muted:#a8a8a8;--danger:#f07167;--warning:#f0ad4e;--success:#5dce7a;--progress-track:#333;--code-bg:#2a2a2a;--overlay:#000000b8;--warning-soft:#3a3018;--warning-text:#f0c674;--shadow:0 1px 4px #00000059;--shadow-strong:0 16px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#app{max-width:100%;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg);margin:0;overflow-x:hidden}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:20;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:auto;max-width:min(160px,36vw);height:40px;display:block}.brand-wordmark{font-family:var(--font-brand);letter-spacing:-.04em;white-space:nowrap;align-items:baseline;gap:0;font-size:1.35rem;font-weight:800;line-height:1;display:inline-flex}.brand-wordmark-score{color:var(--text)}.brand-wordmark-split{color:var(--primary);position:relative}.brand-wordmark-split:before{content:"";background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 35%, transparent));opacity:.85;border-radius:999px;height:.18em;position:absolute;bottom:-.12em;left:.02em;right:.02em}.brand-mark{background:var(--primary);color:#fff;border-radius:7px;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:grid}.header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.theme-toggle{gap:.25rem;margin-right:.15rem;display:inline-flex}.theme-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-right:.2rem;display:inline-flex}.theme-switch-icon{color:var(--text-muted);place-items:center;display:inline-grid}.theme-switch-input{opacity:0;clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.theme-switch-track{background:var(--progress-track);border:1px solid var(--border);border-radius:999px;width:44px;height:24px;transition:background .2s,border-color .2s;position:relative}.theme-switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.theme-switch-input:checked+.theme-switch-track{background:color-mix(in srgb, var(--primary) 35%, var(--progress-track));border-color:var(--primary)}.theme-switch-input:checked+.theme-switch-track .theme-switch-thumb{background:var(--primary);transform:translate(20px)}.theme-switch-input:focus-visible+.theme-switch-track{outline:2px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:2px}.theme-switch:hover .theme-switch-icon{color:var(--text)}.theme-switch:has(.theme-switch-input:not(:checked))>.theme-switch-icon:first-child{color:var(--primary)}.theme-switch:has(.theme-switch-input:checked)>.theme-switch-icon:last-child{color:var(--primary)}.icon-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);place-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--hover);border-color:var(--primary);color:var(--primary)}.icon-btn.active-theme{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.btn{border-radius:var(--radius);background:var(--surface);color:var(--text);border:1px solid #0000;padding:.45rem .9rem;line-height:1.25;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-ghost{border-color:var(--border);background:0 0}.btn-danger{background:var(--danger);color:#fff}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 3rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.25rem}.panel+.panel{margin-top:1rem}.panel h1,.panel h2,.panel h3{margin:0 0 .75rem}.muted{color:var(--text-muted)}.form-row{gap:.35rem;margin-bottom:1rem;display:grid}.form-row label{font-size:.92rem;font-weight:600}.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.form-row textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:2.55rem;color:var(--text);padding:.55rem .7rem}.form-row input[type=checkbox],.form-row input[type=radio]{width:1.1rem;min-width:1.1rem;height:1.1rem;min-height:1.1rem;accent-color:var(--primary);flex-shrink:0;margin:0;padding:0}.form-row-check{align-items:center;gap:.55rem;display:flex}.form-row-check label{align-items:center;gap:.55rem;margin:0;font-weight:600;display:inline-flex}.form-row textarea{resize:none}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.error{color:var(--danger);margin:.5rem 0}.success{color:var(--success)}.progress{background:var(--progress-track);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--primary);height:100%;transition:width .25s;display:block}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--surface-2);padding:2.5rem 1rem;transition:border-color .15s,background .15s}.upload-zone.dragover{border-color:var(--primary);background:var(--primary-soft)}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.thumb{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.thumb img{aspect-ratio:3/4;object-fit:contain;background:var(--surface-2);width:100%;height:auto;display:block}.thumb .page-no{color:#fff;background:#000000a6;border-radius:4px;padding:1px 5px;font-size:.7rem;position:absolute;bottom:4px;left:4px}.thumb.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent)}.voice-list{gap:.65rem;display:grid}.voice-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:12px 1fr;align-items:start;gap:.5rem;padding:.75rem;display:grid}.voice-swatch{border-radius:4px;width:12px;height:100%;min-height:42px}.voice-fields{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.5rem;display:grid}.voice-fields-naming{grid-template-columns:minmax(8rem,1.5fr) 4.25rem 5.25rem 5.5rem 5.5rem auto;align-items:end;column-gap:.65rem}.voice-fields-naming>.form-row{min-width:0}.voice-fields-naming>.form-row input{width:100%;min-width:0}.voice-fields-naming .voice-actions-row{min-width:max-content}.voice-fields-naming .voice-actions{flex-wrap:nowrap}.voice-fields-naming .voice-actions .btn{white-space:nowrap;flex-shrink:0;padding:0 .65rem}.naming-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-top:1rem;padding:1rem}.naming-grid{grid-template-columns:2fr 1fr;gap:.75rem;display:grid}.naming-preview{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;display:flex}.naming-preview code,.voice-file-preview{background:var(--code-bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.25rem .5rem;font-size:.85rem}.voice-actions-row .voice-actions-label{visibility:hidden;-webkit-user-select:none;user-select:none}.voice-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.voice-actions .btn{box-sizing:border-box;justify-content:center;align-items:center;height:2.55rem;min-height:2.55rem;padding:0 .85rem;display:inline-flex}.btn-icon{align-items:center;margin-right:.35rem;display:inline-flex}.preview-overlay{z-index:100;background:var(--overlay);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preview-modal{background:var(--surface);width:min(1100px,100%);height:min(90vh,920px);box-shadow:var(--shadow-strong);border-radius:12px;grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.preview-modal-header{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.preview-modal-tools{align-items:center;gap:.65rem;display:flex}.preview-modal-body{background:var(--progress-track);min-height:0;position:relative}.preview-zoom-controls{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.45rem;padding:.2rem .5rem;display:flex}.preview-tool-btn,.preview-side-btn,.preview-close{background:var(--surface);color:var(--text);cursor:pointer;border:none;border-radius:999px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.preview-tool-btn{border:1px solid #0000;width:32px;height:32px}.preview-tool-btn:hover,.preview-side-btn:hover:not(:disabled),.preview-close:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.preview-zoom-slider{width:120px;accent-color:var(--primary)}.preview-zoom-label{color:var(--text-muted);text-align:right;min-width:3.2rem;font-size:.85rem;font-weight:600}.preview-close{border:2px solid var(--border);flex-shrink:0;width:40px;height:40px}.preview-side-btn{z-index:5;border:2px solid var(--border);width:44px;height:44px;box-shadow:var(--shadow);position:absolute;top:50%;transform:translateY(-50%)}.preview-side-btn:disabled{opacity:.35;cursor:not-allowed}.preview-side-left{left:.75rem}.preview-side-right{right:.75rem}.preview-viewport{padding:.75rem 3.5rem;position:absolute;inset:0;overflow:auto}.preview-hires{-webkit-user-select:none;user-select:none;background:#fff;max-width:none;height:auto;margin:0 auto;display:block;box-shadow:0 2px 12px #0000001f}.preview-minimap{aspect-ratio:3/4;border:2px solid var(--surface);cursor:crosshair;background:var(--surface);z-index:4;border-radius:8px;width:130px;position:absolute;bottom:1rem;right:1rem;overflow:hidden;box-shadow:0 8px 24px #00000040}.preview-minimap img{object-fit:contain;pointer-events:none;background:#fff;width:100%;height:100%;display:block}.preview-minimap-viewport{border:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 22%, transparent);box-sizing:border-box;pointer-events:none;position:absolute}.dialog-overlay{z-index:110;background:var(--overlay);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog-modal{background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow-strong);border-radius:12px;overflow:hidden}.dialog-header{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.dialog-body{gap:.9rem;padding:1rem 1.1rem .35rem;display:grid}.dialog-field{gap:.35rem;min-width:0;display:grid}.dialog-field label{font-size:.92rem;font-weight:600}.dialog-field input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-sizing:border-box;width:100%;min-width:0;min-height:2.55rem;color:var(--text);padding:.55rem .7rem}.dialog-field input:focus{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.dialog-grid-2{grid-template-columns:1fr 1fr;gap:.9rem .75rem;display:grid}.dialog-filename{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;display:flex}.dialog-filename code{background:var(--code-bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.25rem .5rem;font-size:.85rem}.dialog-pages{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding:.85rem 1rem 1rem;display:flex}.settings-layout{grid-template-columns:220px 1fr;align-items:start;gap:1rem;display:grid}.settings-sidebar{flex-direction:column;gap:.65rem;display:flex}.settings-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.settings-nav button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:.65rem .75rem;transition:background .15s,color .15s,transform .15s,box-shadow .15s}.settings-nav button.active{background:var(--primary-soft);color:var(--primary-hover)}.settings-nav button:hover{background:var(--primary-soft);color:var(--primary-hover);transform-origin:0;transform:scale(1.03);box-shadow:0 2px 8px #0000001f}.settings-nav-back{background:color-mix(in srgb, var(--danger) 16%, var(--surface));width:100%;color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));cursor:pointer;border-radius:6px;justify-content:flex-start;align-items:center;gap:.45rem;padding:.65rem .75rem;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.settings-nav-back:hover{background:color-mix(in srgb, var(--danger) 26%, var(--surface));box-shadow:0 2px 8px color-mix(in srgb, var(--danger) 25%, transparent);transform-origin:0;transform:scale(1.03)}.login-wrap{background:radial-gradient(circle at top right, color-mix(in srgb, var(--primary) 18%, transparent), transparent 40%), var(--bg);place-items:center;min-height:100vh;padding:1rem;display:grid;position:relative}.login-theme-btn{position:absolute;top:1rem;right:1rem}.login-card{width:min(420px,100%)}.login-brand{flex-direction:column;align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.login-logo{object-fit:contain;width:min(280px,100%);height:auto;max-height:140px;display:block}.login-wordmark{font-size:1.85rem}.login-card .brand{justify-content:center;margin-bottom:1rem;font-size:1.4rem}.badge{background:var(--primary-soft);color:var(--primary-hover);border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.warn{background:var(--warning-soft);color:var(--warning-text)}@media (width<=800px){.app-header{gap:.4rem;padding:0 .75rem}.brand{gap:.45rem;min-width:0}.brand-logo{max-width:28vw;height:32px}.brand-wordmark{font-size:1.05rem}.page{min-width:0;padding:1rem .85rem 2.5rem;overflow-x:hidden}.panel{min-width:0;max-width:100%;padding:1rem;overflow:hidden}.voice-fields{grid-template-columns:1fr 1fr}.voice-fields-naming{grid-template-columns:1fr 1fr;grid-template-areas:"instrument instrument""start end""part key""actions actions";align-items:end;gap:.65rem}.voice-fields-naming .vf-instrument{grid-area:instrument}.voice-fields-naming .vf-start{grid-area:start}.voice-fields-naming .vf-end{grid-area:end}.voice-fields-naming .vf-part{grid-area:part}.voice-fields-naming .vf-key{grid-area:key}.voice-fields-naming .vf-actions{grid-area:actions}.voice-fields-naming .voice-actions-row{min-width:0}.voice-fields-naming .voice-actions-label{display:none}.voice-fields-naming .voice-actions{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.voice-fields-naming .voice-actions .btn{justify-content:center;width:100%}.naming-grid{grid-template-columns:1fr}.preview-side-left{left:.4rem}.preview-side-right{right:.4rem}.preview-viewport{padding:.5rem 2.6rem}.preview-minimap{width:96px}.preview-modal-header{grid-template-columns:1fr auto;grid-template-areas:"title close""zoom zoom";align-items:start;gap:.7rem .75rem;padding:.75rem .85rem;display:grid}.preview-modal-heading{grid-area:title;min-width:0;padding-right:.25rem}.preview-modal-heading h2{padding-right:0}.preview-modal-tools{display:contents}.preview-zoom-controls{box-sizing:border-box;border-radius:12px;grid-area:zoom;width:100%;padding:.35rem .7rem}.preview-zoom-slider{flex:1;width:auto;min-width:0}.preview-close{grid-area:close;align-self:start;margin-top:.1rem}.dialog-pages,.dialog-grid-2{grid-template-columns:1fr}.settings-layout{grid-template-columns:minmax(0,1fr);gap:.85rem;min-width:0;max-width:100%}.settings-sidebar{gap:.55rem;min-width:0;max-width:100%}.settings-nav-back{order:-1;justify-content:center;box-shadow:none!important;transform:none!important}.settings-nav-back:hover{transform:none!important}.settings-nav{flex-direction:unset;border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:.4rem;padding:.4rem;display:grid;overflow:visible}.settings-nav button{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;width:100%;min-width:0;padding:.5rem .35rem;font-size:.82rem;font-weight:600;overflow:hidden;box-shadow:none!important;transform:none!important}.settings-nav button:hover{box-shadow:none!important;transform:none!important}.settings-nav button.active{background:var(--primary);color:#fff}}.modal-backdrop{z-index:80;background:#14121073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100%);max-height:min(90vh,720px);padding:1rem 1.15rem 1.15rem;overflow:auto;box-shadow:0 16px 48px #0000002e}.modal-panel-wide{width:min(640px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.modal-header h2{margin:0;font-size:1.15rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.upload-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.nc-breadcrumbs{flex-wrap:wrap;gap:.15rem;margin:.5rem 0 .75rem;display:flex}.nc-crumb{padding:.2rem .45rem;font-size:.9rem}.nc-crumb:after{content:"/";color:var(--muted);margin-left:.35rem}.nc-crumb:last-child:after{content:""}.nc-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-height:220px;max-height:360px;overflow:auto}.nc-entry{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.55rem .75rem;display:grid}.nc-entry:last-child{border-bottom:0}.nc-entry:hover{background:var(--hover)}.nc-entry.selected{background:var(--primary-soft)}.nc-entry-icon{width:1.5rem;min-width:1.5rem;color:var(--muted);justify-content:center;align-items:center;line-height:0;display:inline-flex}.nc-icon-folder{color:var(--primary)}.nc-icon-pdf{color:#c43d2e}.nc-entry-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nc-entry-size{font-size:.85rem}
