:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffeb;background-color:#14151a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden}#root{position:relative;width:100vw;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;max-width:min(300px,calc(50vw - 2.5rem));background:#14151a66;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.55rem .9rem;cursor:help}.app-header h1{font-size:1.15rem;margin:0;font-weight:700;white-space:nowrap}.status-pill{display:inline-block;font-size:.85rem;padding:.3rem .7rem;border-radius:999px;background:#23252d;border:1px solid #34363f}.status-pill--ok{border-color:#2f7d4f;color:#7fe0a4}.status-pill--warn{border-color:#8a6d1f;color:#e0c56a}.status-pill--error{border-color:#8a2f2f;color:#f0908f}.status-pill--pending{color:#fff9}.status-detail{color:#ffffff80}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.mode-tab{background:#1b1c22;border:1px solid #34363f;border-radius:8px;padding:.5rem 1.1rem;color:#ffffffb3;cursor:pointer}.mode-tab--active{background:#2b2d78;border-color:#4f52c9;color:#fff}.stage{position:relative;width:100%;height:100%;background:#0e0f13}.left-stack{position:absolute;top:1.25rem;left:1.25rem;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;max-height:calc(100vh - 2.5rem)}.dropzones-row{display:flex;flex-direction:column;gap:1rem}.dropzone-wrapper{display:flex;flex-direction:column;gap:.4rem}.dropzone-label{font-size:.85rem;font-weight:600;color:#ffffffbf}.dropzone{border:2px dashed #3a3c46;border-radius:12px;min-height:140px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:#1b1c22;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone--active{border-color:#6a6dff;background:#1f212c}.dropzone--filled{border-style:solid}.dropzone-placeholder{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#ffffff80;font-size:.9rem;text-align:center;padding:1rem}.dropzone-placeholder small{color:#ffffff59}.dropzone-error{color:#f0908f!important}.dropzone-preview{width:100%;height:100%;max-height:220px;object-fit:contain}.template-popup{position:fixed;z-index:50;width:max-content;max-width:min(260px,calc(100vw - 3rem));background:#14151a66;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 8px 30px #00000059;padding:.85rem}.builtin-templates{display:flex;flex-direction:column;gap:.5rem}.builtin-templates-label{font-size:.78rem;color:#ffffff73}.builtin-templates-row{display:flex;gap:.6rem;flex-wrap:wrap}.builtin-template-thumb{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:#1b1c22;border:1px solid #2c2e38;border-radius:10px;padding:.4rem;cursor:pointer;width:84px}.builtin-template-thumb:hover:not(:disabled){border-color:#6a6dff}.builtin-template-thumb:disabled{opacity:.4;cursor:not-allowed}.builtin-template-thumb img{width:72px;height:72px;border-radius:6px;object-fit:cover}.builtin-template-thumb span{font-size:.75rem;color:#ffffffb3}.preset-panel,.slider-panel{display:flex;flex-direction:column;gap:.9rem}.field-row{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#ffffffbf}.field-row select{background:#14151a;color:#fff;border:1px solid #34363f;border-radius:6px;padding:.4rem .5rem}.field-hint{margin:-.4rem 0 0;font-size:.78rem;color:#ffffff73}.slider-row{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.slider-label{display:flex;justify-content:space-between;color:#ffffffbf}.slider-value{color:#9a9dff;font-variant-numeric:tabular-nums}.slider-row input[type=range]{width:100%;accent-color:#6a6dff}.actions-panel{display:flex;flex-direction:column;gap:.6rem}.controls-actions{display:flex;align-items:center;gap:.6rem}.progress-track{height:4px;border-radius:2px;background:#ffffff1f;overflow:hidden}.progress-fill{height:100%;background:#6a6dff;transition:width .15s linear}.actions-status-text{margin:0;font-size:.8rem;color:#fff9}.actions-status-text--error{color:#f0908f}.recording-indicator{color:#ff6b6b;font-weight:600;margin-right:.5em}.btn{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:.95em;font-weight:500;cursor:pointer;transition:border-color .2s,opacity .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:#4f52c9;color:#fff;flex:1}.btn--primary:hover:not(:disabled){border-color:#9a9dff}.btn--secondary{background:#23252d;color:#ffffffd9;border:1px solid #34363f}.btn--secondary:hover:not(:disabled){border-color:#6a6dff}.btn--icon{flex:0 0 auto;width:2.25rem;height:2.25rem;padding:0;display:flex;align-items:center;justify-content:center}.btn--icon-armed{background:#3a1414;border-color:#e0524f;color:#ff9c9a}.btn--icon-armed:hover:not(:disabled){border-color:#ff6b6b}.result-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.result-canvas{width:100%;height:100%;object-fit:contain;display:block}.overlay-panel{z-index:30;background:#14151a66;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 8px 30px #00000059;flex-shrink:0}.overlay-panel--right{position:absolute;top:1.25rem;right:1.25rem}.overlay-panel--open{width:min(300px,calc(50vw - 2.5rem));max-height:calc(100vh - 2.5rem);overflow-y:auto;padding:.85rem 1rem 1.1rem;display:flex;flex-direction:column;gap:1rem}.overlay-panel--collapsed{width:2.75rem;height:2.75rem;border-radius:50%}.overlay-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.overlay-panel--collapsed .overlay-panel-header{width:100%;height:100%;justify-content:center}.overlay-panel-title{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffa6}.overlay-toggle{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1}.overlay-toggle:hover{border-color:#6a6dff}.overlay-panel--collapsed .overlay-toggle{width:100%;height:100%;border-radius:50%;border:none;background:transparent}.overlay-panel-body{display:flex;flex-direction:column;gap:1rem}
