:root{--bg: #111115;--surface-1: #1a1a20;--surface-2: #22222c;--surface-3: #2c2c38;--border: #38383f;--border-hi: #55556a;--text-1: #ececf0;--text-2: #8888a0;--text-3: #55556a;--red: #e05555;--green: #55c888;--blue: #5588ff;--orange: #e07835;--radius-s: 3px;--radius: 5px;--radius-l: 8px;--font: ui-monospace, "Cascadia Code", "Fira Code", "Courier New", monospace;--font-size: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-1);font-family:var(--font);font-size:var(--font-size);line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hi)}.dimmed{color:var(--text-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app{display:flex;flex-direction:column;height:100%;min-height:100vh}.app-header{display:flex;align-items:center;gap:24px;padding:0 20px;height:48px;background:var(--surface-1);border-bottom:1px solid var(--border);flex-shrink:0}.app-device-img{height:36px;width:auto;border-radius:var(--radius-s);object-fit:cover;flex-shrink:0}.app-logo{font-size:16px;font-weight:700;letter-spacing:.05em;color:var(--text-1)}.app-logo-accent{color:var(--red)}.app-nav{display:flex;gap:2px}.nav-btn{padding:5px 14px;border-radius:var(--radius-s);font-size:11px;letter-spacing:.08em;color:var(--text-2);transition:color .1s,background .1s}.nav-btn:hover,.nav-btn--active{color:var(--text-1);background:var(--surface-3)}.app-sub{margin-left:auto;font-size:11px}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column}.app-footer{flex-shrink:0;padding:0 20px;height:32px;display:flex;align-items:center;border-top:1px solid var(--border);font-size:11px;color:var(--text-3)}.app-version{margin-left:auto}.app-footer a{color:var(--text-2);text-decoration:none}.app-footer a:hover{color:var(--text-1);text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--surface-2);border:1px solid var(--border-hi);border-radius:var(--radius-l);padding:22px 24px;width:380px;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 48px #0009}.modal-title{font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--text-1)}.modal-body{font-size:12px;color:var(--text-2);line-height:1.6}.modal-body strong{color:var(--text-1)}.modal-warning{font-size:11px;color:var(--orange);background:#e078351a;border:1px solid rgba(224,120,53,.3);border-radius:var(--radius-s);padding:8px 10px;line-height:1.5}.modal-warning strong{color:var(--orange)}.modal-checkboxes{display:flex;flex-direction:column;gap:7px}.modal-checkbox{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.modal-checkbox input{cursor:pointer;accent-color:var(--blue)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.modal-btn-secondary{padding:6px 14px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-2)}.modal-btn-secondary:hover{color:var(--text-1);border-color:var(--border-hi)}.modal-btn-primary{padding:6px 14px;background:var(--blue);border:1px solid var(--blue);border-radius:var(--radius-s);color:#fff;font-weight:700}.modal-btn-primary:hover{opacity:.85}.sample-library{display:flex;flex-direction:column;height:100%;overflow:hidden}.sample-library-top{display:flex;gap:12px;padding:16px;flex-shrink:0;align-items:flex-start}.drop-zone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 20px;border:1px dashed var(--border-hi);border-radius:var(--radius-l);color:var(--text-2);cursor:pointer;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone--active{border-color:var(--blue);background:#5588ff0d;color:var(--text-1)}.drop-zone-icon{font-size:28px;line-height:1;color:var(--text-3)}.record-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-l);white-space:nowrap}.record-dot{width:8px;height:8px;background:var(--red);border-radius:50%;animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}}.record-time{color:var(--red);min-width:28px}.record-error{color:var(--red);font-size:11px}.btn{padding:5px 12px;border-radius:var(--radius-s);background:var(--surface-3);color:var(--text-1);border:1px solid var(--border);transition:background .1s}.btn:hover{background:var(--border)}.btn--record{color:var(--red);border-color:var(--red)}.btn--record:hover{background:#e055551f}.btn--danger{border-color:var(--red);color:var(--red)}.icon-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);color:var(--text-2);transition:color .1s,background .1s}.icon-btn:hover{color:var(--text-1);background:var(--surface-3)}.icon-btn--danger:hover{color:var(--red)}.processing-bar{padding:8px 16px;font-size:11px;border-top:1px solid var(--border)}.decode-error-box{position:relative;margin:0 16px;padding:10px 38px 10px 14px;background:#e055551f;border:1px solid var(--red);border-radius:var(--radius);color:var(--text-1);font-size:12px;line-height:1.6}.decode-error-box strong{color:var(--red)}.decode-error-box ul{margin:4px 0 0 16px;color:var(--text-2)}.decode-error-dismiss{position:absolute;top:8px;right:10px;color:var(--text-3);font-size:12px;line-height:1;transition:color .1s}.decode-error-dismiss:hover{color:var(--red)}.sample-list{flex:1;overflow-y:auto;padding:0 16px 16px}.sample-empty{padding:32px;text-align:center}.sample-list-header{display:grid;grid-template-columns:52px 1fr 70px 80px 90px 36px;align-items:center;gap:10px;padding:5px 10px 6px;color:var(--text-3);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:4px}.sort-header{background:none;border:none;padding:0;color:var(--text-3);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color .1s;white-space:nowrap}.sort-header:hover{color:var(--text-2)}.sort-header--active{color:var(--text-1)}.sort-arrow{font-size:8px;opacity:.6}.sort-header--active .sort-arrow{opacity:1}.sample-row{display:flex;flex-direction:column;padding:6px 10px 0;border-radius:var(--radius-s);transition:background .1s}.sample-row:hover,.sample-row--active{background:var(--surface-2)}.sample-row-controls{display:grid;grid-template-columns:52px 1fr 70px 80px 90px 36px;align-items:center;gap:10px;width:100%}.waveform-wrap{position:relative;width:100%;margin-top:5px}.waveform-canvas{display:block;width:100%;height:36px;border-radius:2px;opacity:.85}.waveform-cursor{position:absolute;top:0;bottom:0;width:2px;background:#ffffffe0;border-radius:1px;transform:translate(-50%);pointer-events:none;transition:opacity .1s}.playback-btns{display:flex;gap:2px}.icon-btn--active{color:var(--green)}.name-input-wrap{position:relative;display:flex;flex-direction:column}.name-input{width:38px;padding:3px 5px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-1);text-align:center;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:700}.name-input:focus{outline:none;border-color:var(--blue)}.name-input--error{border-color:var(--orange)!important}.name-input-error{position:absolute;top:calc(100% + 4px);left:0;white-space:nowrap;font-size:11px;color:var(--orange);background:var(--surface-1);border:1px solid var(--orange);border-radius:var(--radius-s);padding:2px 6px;z-index:10;pointer-events:none}.sample-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1)}.sample-duration{text-align:right}.bitdepth-select{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-s);padding:3px 4px;color:var(--text-2);cursor:pointer}.bitdepth-select:focus{outline:none;border-color:var(--blue)}.preset-editor{display:flex;height:100%;overflow:hidden}.preset-sidebar{width:160px;flex-shrink:0;border-right:1px solid var(--border);padding:14px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.sidebar-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.bp-grid{display:flex;flex-direction:column;gap:3px}.bp-grid-header,.bp-row{display:grid;grid-template-columns:14px repeat(6,16px);gap:3px;align-items:center}.bp-label{font-size:9px;color:var(--text-3);text-align:center;line-height:1}.bp-cell{width:16px;height:16px;border-radius:2px;background:var(--surface-2);border:1px solid var(--border);transition:background .1s,border-color .1s}.bp-cell:hover{border-color:var(--border-hi)}.bp-cell--has-data{border-color:var(--blue)}.bp-cell--imported{border-color:var(--green)}.bp-cell--active{background:var(--blue)!important;border-color:var(--blue)}.bp-legend{display:flex;align-items:center;gap:5px;font-size:10px;margin-top:6px}.bp-dot{width:8px;height:8px;border-radius:1px;border:1px solid}.bp-dot--data{border-color:var(--blue)}.bp-dot--imported{border-color:var(--green)}.preset-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.preset-toolbar{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.preset-title{color:var(--text-2);font-size:12px}.preset-title strong{color:var(--text-1)}.btn-import{padding:4px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-2);transition:color .1s,border-color .1s}.btn-import:hover{color:var(--text-1);border-color:var(--border-hi)}.slots-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px;overflow-y:auto;align-content:start;flex:1;min-height:0}.slot-card{width:auto;display:flex;flex-direction:column;gap:0;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-l)}.slot-card--selected{border-color:#5588ff8c;box-shadow:0 0 0 1px #58f3,inset 0 0 0 1px #5588ff0f;background:#5588ff08}.slot-header{display:flex;align-items:center;gap:8px;padding:20px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.slot-num{font-size:13px;font-weight:700;width:16px}.slot-sample{flex:1}.slot-sample-select{width:100%;padding:5px 8px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-1);font-size:14px;font-weight:700;letter-spacing:.05em;cursor:pointer}.slot-sample-select:focus{outline:none;border-color:var(--blue)}.slot-params{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}.param-row{display:grid;grid-template-columns:62px 1fr 52px;align-items:center;gap:8px}.param-label{font-size:12px;color:var(--text-2);letter-spacing:.05em}.param-slider{width:100%;height:4px;accent-color:var(--blue);cursor:pointer}.param-value{font-size:13px;color:var(--text-2);text-align:right}.param-value--center{color:var(--green)}.slot-params-divider{grid-column:1 / -1;margin:4px 0 2px;padding-top:8px;border-top:1px solid var(--border);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.slot-play-btn{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);font-size:11px;background:var(--surface-3);border:1px solid var(--border);color:var(--text-2);transition:color .1s,border-color .1s,background .1s}.slot-play-btn:hover:not(:disabled){color:var(--text-1);border-color:var(--border-hi)}.slot-play-btn--on{color:var(--green);border-color:var(--green);background:#55c8881f}.slot-play-btn:disabled{opacity:.3;cursor:default}.slot-flags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px}.flag-btn{padding:5px 10px;border-radius:var(--radius-s);font-size:12px;letter-spacing:.05em;background:var(--surface-3);border:1px solid var(--border);color:var(--text-3);transition:color .1s,border-color .1s,background .1s}.flag-btn:hover{color:var(--text-2);border-color:var(--border-hi)}.flag-btn--on{color:var(--green);border-color:var(--green);background:#55c8881a}.rand-btn{margin-left:auto;padding:5px 10px;border-radius:var(--radius-s);font-size:12px;letter-spacing:.05em;background:var(--surface-3);border:1px solid var(--border);color:var(--text-3);transition:color .15s,border-color .15s,background .15s}.rand-btn:hover{color:#f55;border-color:#f55;background:#ff55551a}.slot-waveform-wrap{position:relative;padding:8px 10px 10px;border-top:1px solid var(--border)}.slot-waveform-canvas{display:block;width:100%;height:44px;border-radius:2px}.slot-waveform-cursor{position:absolute;top:8px;bottom:10px;width:1px;background:#ffffffb3;pointer-events:none;transition:opacity .1s}.slot-duration{position:absolute;bottom:12px;right:13px;font-size:10px;color:var(--text-3);pointer-events:none;text-shadow:0 0 5px rgba(0,0,0,.9);letter-spacing:.04em}.export-panel{max-width:860px;padding:24px;display:flex;flex-direction:column;gap:28px;overflow-y:auto;height:100%}.export-heading{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin-bottom:10px}.export-section{display:flex;flex-direction:column}.export-table{border-collapse:collapse;width:100%}.export-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:4px 10px;border-bottom:1px solid var(--border)}.export-table td{padding:5px 10px;border-bottom:1px solid var(--surface-2)}.export-table tfoot td{border-top:1px solid var(--border);border-bottom:none}.mono{font-family:var(--font)}.bold{font-weight:700;color:var(--text-1)}.export-checkbox{width:13px;height:13px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}.export-col-check{width:28px;text-align:center}.export-row--unchecked{opacity:.4}.export-heading-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.export-heading-row .export-heading{margin-bottom:0}.export-preset-list{display:flex;flex-direction:column;gap:2px}.export-preset-row{display:flex;align-items:center;gap:14px;padding:5px 10px;border-radius:var(--radius-s)}.export-preset-row:hover{background:var(--surface-2)}.export-instructions{display:flex;flex-direction:column}.export-steps{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-2);line-height:1.5}.export-steps code{font-family:var(--font);font-size:12px;background:var(--surface-3);border:1px solid var(--border);border-radius:3px;padding:1px 5px;color:var(--text-1)}.export-note{font-size:12px;color:var(--text-3);line-height:1.5;margin:0}.export-actions{display:flex;align-items:center;gap:16px;padding-top:4px}.export-btn{padding:9px 24px;background:var(--blue);color:#fff;border-radius:var(--radius);font-size:13px;font-weight:700;letter-spacing:.05em;border:none;transition:opacity .15s}.export-btn:hover:not(:disabled){opacity:.85}.export-btn:disabled{opacity:.35;cursor:not-allowed}.export-hint{font-size:11px}.docs-panel{padding:32px 40px;display:flex;flex-direction:column;gap:32px;overflow-y:auto}.docs-section{display:flex;flex-direction:column;gap:12px}.docs-heading{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);padding-bottom:6px}.docs-section p{font-size:13px;line-height:1.7}.docs-section p strong{color:var(--text-1)}.docs-section .stuff{padding-left:1.5em}.docs-links{list-style:none;display:flex;flex-direction:column;gap:10px}.docs-links li{font-size:13px;line-height:1.6}.docs-links a{color:var(--blue);text-decoration:none}.docs-links a:hover{text-decoration:underline}
