:root{--bg:#eef0f4;--panel:#f8f9fb;--card:#fff;--border:#e1e5ec;--border-strong:#cdd3df;--text:#1a1d24;--text-secondary:#5a6270;--text-muted:#8b929e;--brand:#c02626;--brand-soft:#4f46e5;--accent-hover:#4338ca;--accent-muted:#eef2ff;--success:#059669;--error:#dc2626;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-card:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--font-sans:"Noto Sans SC",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Consolas,monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:clamp(1.35rem,2.5vw,1.65rem)}*,:after,:before{box-sizing:border-box}.lab-root[dir=rtl]{font-family:Noto Naskh Arabic,Noto Sans Arabic,Noto Sans Hebrew,Noto Sans SC,system-ui,sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;margin:0;-webkit-font-smoothing:antialiased}#app{box-sizing:border-box;margin:0 auto;max-width:100%;overflow-x:auto;padding:1rem 1.125rem 1.75rem;width:100%}.header{border-bottom:1px solid var(--border);justify-content:center;margin-bottom:1.125rem;padding-bottom:.75rem;padding-inline:.25rem;padding-inline-end:clamp(12rem,52vw,26rem);position:relative;z-index:100000}.header,.header-actions{align-items:center;display:flex}.header-actions{gap:.65rem;inset-inline-end:0;max-width:min(100%,26rem);position:absolute;top:50%;transform:translateY(-50%);z-index:1}.header-settings{flex-shrink:0;position:relative;z-index:2}.settings-summary{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;list-style:none;padding:.35rem .55rem}.settings-summary::-webkit-details-marker{display:none}.settings-summary:hover{border-color:var(--accent-hover);color:var(--text)}.settings-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);inset-inline-end:0;min-width:12rem;padding:.65rem .85rem;position:absolute;top:calc(100% + .35rem);z-index:100001}.settings-panel-title{color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;margin-bottom:.45rem}.settings-option{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:var(--text-sm);gap:.45rem;margin-bottom:.35rem}.settings-option:last-child{margin-bottom:0}.header-lang{flex-shrink:1;max-width:14rem;min-width:0}.lang-field{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:.45rem;margin:0}.lang-label{flex-shrink:0;white-space:nowrap}.lang-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235a6270' d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;background-size:10px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;font:inherit;font-weight:500;max-width:10rem;min-width:6.75rem;padding-block:.35rem;padding-inline:.5rem 1.75rem}.lab-root[dir=rtl] .lang-select{background-position:left .4rem center;padding-inline:1.75rem .5rem}.lang-select:hover{border-color:var(--accent-hover)}.lang-select:focus{border-color:var(--brand-soft);box-shadow:0 0 0 2px var(--accent-muted);outline:none}.workspace-shell{box-sizing:border-box;display:flex;justify-content:center;max-width:100%;overflow-x:auto;width:100%}.title{color:var(--brand);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0}.workspace{align-items:start;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:190px max-content;max-width:none;width:-moz-max-content;width:max-content}.lab-root.layout-compact .workspace{grid-template-columns:max-content}.lab-root.layout-compact .device-panel,.lab-root.layout-sidebar .device-dropdown-row{display:none}.panel-title{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;margin-bottom:.75rem;text-align:center}.device-panel{padding-top:.5rem}.device-btn{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;display:block;font-family:inherit;font-size:var(--text-sm);font-weight:500;line-height:1.3;margin-bottom:.5rem;min-height:2.625rem;overflow:hidden;padding:.375rem .625rem;text-overflow:ellipsis;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap;width:100%}.device-btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);color:var(--text)}.device-btn.active{background:var(--accent-muted);border-color:var(--brand-soft);box-shadow:0 0 0 1px #4f46e533;color:var(--brand-soft)}.center-panel{max-width:none;min-width:0;width:-moz-max-content;width:max-content}.center-toolbar-col{flex:1 1 100%;flex-direction:column;gap:.35rem}.center-toolbar-col,.preview-toolbar-row{align-items:center;display:flex;min-width:0}.preview-toolbar-row{box-sizing:border-box;container-name:preview-toolbar;container-type:inline-size;flex-direction:row;flex-wrap:wrap;gap:.75rem 1rem;justify-content:flex-start;width:100%}.preview-toolbar-row .center-toolbar-col{align-items:center;flex:1 1 auto;min-width:0}.preview-toolbar-row .preview-file-section{display:flex;flex:0 1 auto;justify-content:end;margin-inline-start:auto;min-width:0}@container preview-toolbar (max-width: 720px){.preview-file-section{flex-basis:100%;margin-inline-start:0}}.device-dropdown-row{max-width:22rem;width:100%}.lab-root.layout-compact .center-toolbar-col{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.lab-root.layout-compact .device-dropdown-row{display:flex;flex:0 1 auto;justify-content:center;max-width:none;width:auto}.device-select-field{align-items:stretch;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;width:100%}.lab-root.layout-compact .device-select-field{align-items:center;flex-direction:row;gap:.5rem;max-width:100%;width:auto}.device-select-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;text-align:center}.lab-root.layout-compact .device-select-label{flex-shrink:0;text-align:end;white-space:nowrap}.lab-root.layout-compact[dir=rtl] .device-select-label{text-align:start}.device-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235a6270' d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;background-size:10px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:500;margin-inline:auto;max-width:22rem;padding-block:.4rem;padding-inline:.5rem 1.75rem;width:100%}.lab-root[dir=rtl] .device-select{background-position:left .4rem center;padding-inline:1.75rem .5rem}.lab-root.layout-compact .device-select{flex:1 1 auto;margin-inline:0;max-width:22rem;min-width:min(12rem,100%);width:auto}.device-select:hover{border-color:var(--accent-hover)}.device-select:focus{border-color:var(--brand-soft);box-shadow:0 0 0 2px var(--accent-muted);outline:none}.resolution-row{margin-top:.15rem}.lab-root.layout-compact .resolution-row{flex:0 1 auto;margin-top:0;min-width:0}@media(min-width:720px){.center-toolbar-col{flex:0 1 auto}}.preview-toolbar-row .panel-title{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;margin:0;text-align:start}.preview-toolbar-row .panel-title strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;margin-inline-start:.35rem}.input-section{align-items:center;display:flex;gap:.5rem}.file-label{align-items:center;background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem .875rem;position:relative;transition:border-color .15s ease,background .15s ease}.file-label:hover{background:var(--accent-muted);border-color:var(--brand-soft)}.file-label-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.file-input{cursor:pointer;inset:0;opacity:0;position:absolute}.fusion-input-wrap .file-label{min-height:2.25rem;position:relative;width:100%}.fusion-input-wrap .file-label input[type=file]{cursor:pointer;font-size:0;height:100%;inset:0;opacity:0;position:absolute;width:100%;z-index:1}.fusion-input-wrap .fusion-file-row{align-items:center;display:flex;justify-content:center;max-width:100%;min-height:1.5rem;pointer-events:none;position:relative;z-index:0}.fusion-input-wrap .fusion-file-name{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;max-width:100%;overflow:hidden;padding-inline:.25rem;text-overflow:ellipsis;white-space:nowrap}.fusion-input-wrap .file-label input[type=file]::file-selector-button{display:none}.file-name{color:var(--text-muted);font-size:var(--text-xs);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-with-sidebar{align-items:flex-start;display:flex;flex-direction:row;gap:1rem;margin-inline:auto;max-width:none;width:-moz-fit-content;width:fit-content}.preview-column{-moz-column-gap:0;column-gap:0;display:inline-grid;flex:0 1 auto;grid-template-columns:max-content;justify-items:stretch;min-width:0;row-gap:0;width:-moz-max-content;width:max-content}.preview-column,.preview-section{box-sizing:border-box;max-width:none}.preview-section{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-width:-moz-min-content;min-width:min-content;overflow-x:visible;overflow-y:visible;width:-moz-fit-content;width:fit-content}.preview-column>.fusion-section{align-self:start;justify-self:stretch;margin-top:.75rem;max-width:none;min-width:0;width:var(--fusion-stack-width,100%)}.preview-area{align-self:center;margin-inline:auto;max-width:none;min-height:0;min-width:-moz-min-content;min-width:min-content;overflow-x:visible;padding:.75rem 0;position:relative;width:-moz-fit-content;width:fit-content}.placeholder,.preview-area{align-items:center;display:flex;justify-content:center}.placeholder{background:linear-gradient(180deg,#eceef2,#e2e5eb);border:12px solid #d8dce4;border-radius:2.25rem;color:var(--text-muted);flex-direction:column;font-size:var(--text-xl);font-weight:500;height:1020px;width:540px}.placeholder-icon{border:3px solid #b8bec8;border-radius:var(--radius-sm);height:5.5rem;margin-bottom:1.25rem;position:relative;width:4.5rem}.placeholder-icon:after{background:#c8ced6;border-radius:8px;bottom:14px;content:"";height:14px;left:14px;position:absolute;right:14px}.dual-canvas-wrapper{align-items:flex-start;display:flex;flex-shrink:0;gap:.75rem;justify-content:center;margin-inline:auto;max-width:none;min-height:0;min-width:-moz-min-content;min-width:min-content;width:-moz-max-content;width:max-content}@media(max-width:640px){.center-panel,.workspace{max-width:100%}.center-panel{overflow-x:auto}.preview-with-sidebar{align-items:stretch;flex-direction:column;max-width:100%}.preview-column,.preview-section{max-width:100%;width:100%}.preview-area,.preview-section{min-width:0;overflow-x:auto}.dual-canvas-wrapper,.preview-area{max-width:100%}}.canvas-column{border-right:1px solid var(--border);display:flex;flex:0 0 auto;flex-direction:column;min-width:-moz-min-content;min-width:min-content;padding:.625rem;position:relative}.canvas-column:last-child{border-right:none}.canvas-column-title{color:var(--text-muted);font-size:var(--text-sm);font-weight:600;inset-inline-start:.65rem;letter-spacing:.04em;line-height:1.25;padding:0;pointer-events:none;position:absolute;text-align:start;top:.75rem;white-space:nowrap;z-index:2}.player-container{align-items:center;background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex:0 0 auto;justify-content:center;max-width:100%;min-height:0;min-width:0;overflow:hidden;padding:.75rem;width:auto}.lab-root{--player-canvas-empty-hint:"Waiting for file…";--player-canvas-drop-hint:"Drop .svga or .mp4 here"}.player-container:empty:before{color:var(--text-muted);content:var(--player-canvas-empty-hint);font-size:var(--text-sm);font-weight:500}.player-container.drop-target:empty:before{color:var(--text-secondary);content:var(--player-canvas-drop-hint);font-size:var(--text-xs)}.canvas-column.drop-active .player-container{background:var(--accent-muted);border-color:var(--brand-soft)}.svga-canvas-wrap canvas,.vap-canvas-wrap canvas,.vap-canvas-wrap video{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.input-row.config-row{margin:.5rem 0}.controls,.input-row.config-row{display:flex;flex-wrap:wrap;justify-content:center}.controls{align-items:center;border-top:1px solid var(--border);gap:.5rem .625rem;padding:.625rem .75rem;width:100%}.btn{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:500;padding:.4rem .875rem;transition:background .15s ease,border-color .15s ease}.btn:hover{background:var(--panel);border-color:var(--text-muted)}.btn-primary{background:var(--brand-soft);border-color:var(--brand-soft);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.loop-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin-left:0}.content-mode-group{display:inline-flex;flex-wrap:wrap;gap:.375rem;margin-left:.25rem}.mode-btn{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:600;height:2.25rem;min-width:5.5rem;padding:0 .625rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.mode-btn:hover{border-color:var(--brand-soft);color:var(--brand-soft)}.mode-btn.active{background:var(--brand-soft);border-color:var(--brand-soft);box-shadow:inset 0 1px #ffffff26;color:#fff}.hint{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;margin:.5rem .75rem .75rem;text-align:center}.hint.success{color:var(--success);font-weight:500}.hint.error{color:var(--error);font-weight:500}.right-panel{flex-shrink:0;min-width:0;width:400px}.info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:.75rem;overflow:hidden}.json-card{min-height:6.5rem;padding:.5rem .75rem}.json-pre{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.media-card{align-items:center;display:flex;height:360px;justify-content:center;padding:.75rem}.media-preview-empty{color:var(--text-muted);font-size:var(--text-sm);font-weight:500}.media-preview{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;height:100%;justify-content:center;width:100%}.media-preview img,.media-preview video{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.list-card{display:flex;flex-direction:column;height:480px}.stats-row{background:linear-gradient(180deg,#fafbfc 0,var(--card) 100%);border-bottom:1px solid var(--border);color:var(--text);display:flex;flex-wrap:wrap;font-size:var(--text-sm);font-weight:600;gap:.5rem .75rem;justify-content:space-between;padding:.625rem .875rem}.stats-row span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.resource-list{color:var(--text-secondary);flex:1;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65;overflow-y:auto;padding:.5rem .875rem .75rem}.fusion-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;margin-top:0;margin-inline:0;min-width:0;padding:.65rem .75rem}.fusion-section-head{align-items:center;display:flex;flex-direction:row;gap:.5rem .75rem;justify-content:space-between;margin-bottom:.5rem;min-width:0}.fusion-head-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.fusion-apply-btn{white-space:nowrap}.fusion-ui{max-width:100%;min-width:0}.fusion-title{color:var(--text);flex:1 1 auto;font-size:var(--text-md);font-weight:600;line-height:1.35;margin:0;min-width:0}.fusion-keys{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.fusion-keys code{background:#4f46e514;border-radius:4px;color:var(--brand-soft);font-family:var(--font-mono);font-size:var(--text-xs);padding:.1em .35em;word-break:break-all}.fusion-list{align-items:start;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.5rem;max-width:100%;min-width:0}@media(max-width:640px){.fusion-list{grid-template-columns:1fr}}.fusion-item{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;min-width:0;padding:.5rem .625rem}.fusion-item-header{color:var(--text-muted);font-size:var(--text-xs);font-weight:600;grid-column:1/-1;letter-spacing:.04em;text-transform:uppercase}@media(max-width:640px){.fusion-item-header{grid-column:auto}}.fusion-keyword{color:var(--brand-soft);font-size:var(--text-sm);font-weight:600;min-width:5rem}.fusion-type-label,.fusion-type-readonly{color:var(--text-secondary);font-size:var(--text-xs);font-weight:500}.fusion-image-size-hint{color:var(--text-secondary);display:block;font-size:var(--text-xs);line-height:1.35;margin-bottom:.35rem;width:100%}.fusion-input-wrap{flex:1 1 12rem;max-width:100%;min-width:0}.fusion-item input[type=text].fusion-value-text,.fusion-item select.fusion-type{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);padding:.45rem .5rem;width:100%}.fusion-item select.fusion-type{cursor:pointer}
