@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--bg-deep:#08090c;--bg-surface:#10121a;--bg-panel:#161924;--bg-card:#1d2130;--border-subtle:#252a3d;--border-focus:#3f4766;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-secondary:#d946ef;--accent-secondary-hover:#c084fc;--danger:#ef4444;--danger-hover:#dc2626;--success:#22c55e;--shadow-lg:0 10px 25px -5px #00000080, 0 8px 10px -6px #00000080;--shadow-glow:0 0 20px #6366f133}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-deep);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app-container{background-image:radial-gradient(at 0 0,#6366f114 0,#0000 50%),radial-gradient(at 100% 100%,#d946ef14 0,#0000 50%);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:10;background-color:#10121ad9;flex:none;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.header-logo{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 8px #6366f180);-webkit-background-clip:text;background-clip:text;font-size:1.5rem}.app-header h1{letter-spacing:.075em;background:linear-gradient(to right, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.35rem;font-weight:700}.logo-badge{letter-spacing:.05em;background-color:var(--border-subtle);color:var(--text-secondary);border:1px solid #ffffff0d;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:500}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.app-main{flex:1;grid-template-columns:minmax(0,1fr) 400px;min-height:0;display:grid;overflow:hidden}@media (width<=1024px){body{overflow:auto}.app-container{height:auto;min-height:100dvh;overflow:visible}.app-main{grid-template-rows:auto minmax(520px,70vh);grid-template-columns:1fr;height:auto;min-height:0;overflow:auto}}.viewport-section{background-color:#0003;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;padding:2rem;display:flex;position:relative;overflow:hidden}.viewport-statusbar{justify-content:space-between;align-items:flex-end;gap:1rem;width:100%;max-width:960px;margin-bottom:.75rem;display:flex}.viewport-statusbar>div:first-child{flex-direction:column;gap:.15rem;display:flex}.eyebrow{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:700;display:block}.viewport-status-pills{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.status-pill{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);background:#ffffff06;border-radius:9999px;padding:.25rem .55rem;font-size:.64rem}.status-pill-accent{color:var(--accent-secondary-hover);background:#d946ef14;border-color:#d946ef59}.status-pill-warning{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2459}.canvas-wrapper{aspect-ratio:16/9;width:100%;max-width:960px;box-shadow:var(--shadow-lg), var(--shadow-glow);border:1px solid var(--border-subtle);background-color:#000;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gl-canvas{object-fit:contain;width:100%;height:100%}.canvas-error-overlay{text-align:center;background-color:#08090cf2;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.canvas-error-overlay p{color:var(--danger);font-size:1.1rem;font-weight:500}.video-controls-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);background-color:#161924b3;border-radius:8px;align-items:center;gap:1rem;width:100%;max-width:960px;margin-top:1.25rem;padding:.75rem 1.25rem;display:flex}.control-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;transition:background-color .2s,transform .1s;display:flex}.control-btn:hover{background-color:#ffffff1a;transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.timeline-container{flex:1;align-items:center;gap:.75rem;display:flex}.time-display{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;min-width:45px;font-size:.8rem}.timeline-slider{appearance:none;background:var(--border-subtle);cursor:pointer;border-radius:9999px;outline:none;flex:1;height:6px}.timeline-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);border-radius:50%;width:12px;height:12px;transition:transform .1s}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.live-indicator-container{align-items:center;gap:.5rem;margin-left:auto;display:flex}.live-dot{background-color:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse-red}.live-label{letter-spacing:.05em;color:var(--danger);font-size:.75rem;font-weight:600}.sidebar-section{background-color:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.sidebar-header h2{letter-spacing:.025em;font-size:1.15rem;font-weight:600}.stack-title-row{justify-content:space-between;align-items:center;display:flex}.stack-limit-badge{font-family:var(--font-mono);color:var(--accent-secondary);background:#d946ef1a;border:1px solid #d946ef38;border-radius:9999px;padding:.2rem .55rem;font-size:.72rem}.select-dropdown{background-color:var(--bg-panel);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);border-radius:8px;outline:none;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.add-filter-selector{flex-direction:column;gap:.55rem;display:flex}.category-filter{scrollbar-width:thin;gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.category-chip{border:1px solid var(--border-subtle);color:var(--text-muted);font:600 .64rem var(--font-sans);cursor:pointer;background:#ffffff05;border-radius:9999px;flex:none;padding:.28rem .55rem}.category-chip:hover{color:var(--text-secondary);border-color:var(--border-focus)}.effect-search-shell{border:1px solid var(--border-subtle);background:#08090c73;border-radius:8px;align-items:center;gap:.55rem;padding:0 .8rem;transition:border-color .2s,box-shadow .2s;display:flex}.effect-search-shell:focus-within{border-color:var(--accent-secondary);box-shadow:0 0 0 2px #d946ef24}.effect-search-icon{color:var(--text-muted);font-family:var(--font-mono);font-size:1rem}.effect-search-input{width:100%;color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:0;outline:0;padding:.68rem 0;font-size:.82rem}.effect-search-input::placeholder{color:var(--text-muted)}.effect-search-input::-webkit-search-cancel-button{filter:invert(.7)}.select-dropdown:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f140}.select-dropdown:disabled{cursor:not-allowed;opacity:.65}.recipe-section{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;overflow:hidden}.recipe-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;list-style:none;display:flex}.recipe-summary::-webkit-details-marker{display:none}.recipe-summary>span:first-child{flex-direction:column;gap:.12rem;display:flex}.recipe-summary strong{color:var(--text-secondary);font-size:.72rem}.recipe-summary-icon{color:var(--accent-secondary-hover);font-family:var(--font-mono);transition:transform .2s}.recipe-section[open] .recipe-summary-icon{transform:rotate(45deg)}.recipe-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}.recipe-buttons{flex-wrap:wrap;gap:.45rem;max-height:132px;padding:0 .75rem .75rem;display:flex;overflow-y:auto}.recipe-button{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:#ffffff06;border-radius:9999px;padding:.35rem .65rem;font-size:.72rem;transition:border-color .2s,color .2s,background-color .2s}.recipe-button:hover{color:var(--text-primary);border-color:var(--accent-primary);background:#6366f11a;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.workspace-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.workspace-button{border:1px solid var(--border-subtle);min-width:0;color:var(--text-secondary);background:var(--bg-trigger);font:600 .65rem var(--font-sans);cursor:pointer;border-radius:6px;padding:.45rem .35rem;transition:color .2s,border-color .2s,background-color .2s}.workspace-button:hover{color:var(--text-primary);border-color:var(--border-focus)}.workspace-button-active{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2473}.workspace-button-random{color:var(--accent-secondary-hover);background:#d946ef0f;border-color:#d946ef4d}.workspace-button-random:hover{color:var(--text-primary);border-color:var(--accent-secondary);background:#d946ef1f}.workspace-button-danger:hover{color:#fca5a5;background:#ef444414;border-color:#ef444466}.stack-notice{color:var(--accent-secondary-hover);border-left:2px solid var(--accent-secondary);background:#d946ef14;border-radius:4px;padding:.55rem .65rem;font-size:.75rem;line-height:1.4}.effects-stack-container{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.empty-stack-message{text-align:center;height:100%;color:var(--text-muted);border:2px dashed var(--border-subtle);border-radius:12px;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-stack-message p{font-size:.9rem;line-height:1.5}.effect-card{background-color:var(--bg-panel);border:1px solid var(--border-effect-card);border-radius:10px;flex:none;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.effect-card-disabled{opacity:.65;border-style:dashed}.effect-card-solo{border-color:#d946ef99;box-shadow:0 0 0 1px #d946ef26}.effect-card-header{background-color:#ffffff05;border-bottom:1px solid #ffffff05;justify-content:space-between;align-items:center;gap:.65rem;padding:.85rem 1rem;display:flex}.effect-card-info{flex-wrap:wrap;flex:auto;align-items:center;gap:.55rem;min-width:0;display:flex}.effect-toggle-checkbox{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.effect-name{cursor:pointer;color:var(--text-primary);white-space:normal;word-break:normal;font-size:.95rem;font-weight:600}.shader-source-link{color:var(--text-muted);font-family:var(--font-mono);border:1px solid var(--border-subtle);border-radius:9999px;padding:.1rem .35rem;font-size:.62rem;text-decoration:none}.effect-category-badge{color:var(--accent-primary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid #6366f140;border-radius:9999px;padding:.1rem .32rem;font-size:.56rem}.shader-source-link:hover{color:var(--accent-secondary-hover);border-color:#d946ef66}.effect-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.2rem;display:flex}.reorder-btn,.delete-btn,.effect-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .3rem;font-size:.75rem;transition:background-color .15s,color .15s;display:flex}.reorder-btn:hover:not(:disabled),.effect-action-btn:hover{color:var(--text-primary);background-color:#ffffff0d}.reorder-btn:disabled,.effect-action-btn:disabled{opacity:.25;cursor:not-allowed}.effect-action-btn{font-size:.62rem;font-weight:600}.effect-action-btn-active{color:var(--accent-secondary-hover);background:#d946ef14;border-color:#d946ef59}.delete-btn:hover{color:var(--danger);background-color:#ef444426}.effect-card-body{border-top:1px solid #ffffff08;flex-direction:column;gap:1rem;padding:1rem;display:flex}.effect-mix-control{background:#6366f10e;border:1px solid #6366f12e;border-radius:7px;padding:.75rem}.uniform-control-row{flex-direction:column;gap:.5rem;display:flex}.uniform-label{color:var(--text-secondary);justify-content:space-between;font-size:.8rem;font-weight:500;display:flex}.uniform-value-text{font-family:var(--font-mono);color:var(--text-primary)}.uniform-slider{appearance:none;background:var(--border-subtle);cursor:pointer;border-radius:9999px;outline:none;width:100%;height:4px}.uniform-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:50%;width:14px;height:14px;transition:transform .1s;box-shadow:0 0 6px #6366f180}.uniform-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.color-picker-wrapper{align-items:center;gap:.75rem;display:flex}.uniform-color-picker{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:50%;width:30px;height:30px;overflow:hidden}.uniform-color-picker::-webkit-color-swatch-wrapper{padding:0}.uniform-color-picker::-webkit-color-swatch{border:1px solid var(--border-subtle);border-radius:50%}.color-hex-text{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8rem}.sidebar-footer{border-top:1px solid var(--border-subtle);background-color:#0000001a;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.fps-counter-badge{color:var(--text-muted);background-color:#ffffff05;border:1px solid #22c55e33;border-radius:9999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:flex}.fps-counter-badge[data-active=true]{color:var(--success);background-color:#22c55e1a;border-color:#22c55e33}.pulse-dot{background-color:var(--text-muted);border-radius:50%;width:6px;height:6px}.fps-counter-badge[data-active=true] .pulse-dot{background-color:var(--success);animation:1.5s infinite pulse-green}.pipeline-tip{color:var(--text-muted);font-size:.7rem;line-height:1.4}.btn{font-family:var(--font-sans);cursor:pointer;border-radius:6px;outline:none;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-outline{border:1px solid var(--border-subtle);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--border-focus);color:var(--text-primary);background-color:#ffffff05;transform:translateY(-2px);box-shadow:0 8px 20px #00000038}.btn-active{background-color:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-active:hover{background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}@keyframes pulse-red{0%{transform:scale(.9);box-shadow:0 0 #ef444480}70%{transform:scale(1);box-shadow:0 0 0 6px #ef444400}to{transform:scale(.9);box-shadow:0 0 #ef444400}}@keyframes pulse-green{0%{transform:scale(.9);box-shadow:0 0 #22c55e80}70%{transform:scale(1);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(.9);box-shadow:0 0 #22c55e00}}.vec2-control-group{background-color:#00000026;border:1px solid #ffffff05;border-radius:6px;flex-direction:column;gap:.5rem;width:100%;padding:.5rem;display:flex}.vec2-slider-row{align-items:center;gap:.5rem;display:flex}.vec2-axis-label{font-family:var(--font-mono);color:var(--accent-secondary);width:12px;font-size:.75rem;font-weight:700}.vec2-val{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;min-width:45px;font-size:.75rem}.effect-card-dragging{opacity:.4;border-style:dashed;border-color:var(--accent-primary);background-color:#6366f10d}.drag-handle-grip{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--text-muted);touch-action:none;padding-right:.25rem;font-size:1rem;font-weight:700;transition:color .15s}.drag-handle-grip:hover{color:var(--text-secondary)}.drag-handle-grip:active{cursor:grabbing}.btn-danger{background-color:var(--danger);border:1px solid var(--danger);color:#fff;box-shadow:0 0 10px #ef444433}.btn-danger:hover{background-color:var(--danger-hover);border-color:var(--danger-hover);box-shadow:0 0 15px #ef444466}.recording-status-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--font-mono);color:#fff;pointer-events:none;z-index:5;background-color:#08090cd9;border:1px solid #ef44444d;border-radius:4px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 10px #0006}.recording-dot{background-color:var(--danger);border-radius:50%;width:8px;height:8px;animation:1s infinite pulse-red}@media (pointer:coarse),(prefers-reduced-motion:reduce){.effect-card,.recipe-button,.btn{transition-duration:.01ms}.effect-card:hover,.recipe-button:hover,.btn-outline:hover{transform:none}}@media (width>=1025px) and (width<=1280px){.app-header{padding:.75rem 1rem}.header-actions{gap:.4rem}.btn{padding:.45rem .65rem}.app-main{grid-template-columns:minmax(0,1fr) 380px}}@media (width<=720px){.app-header{flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{justify-content:flex-start;width:100%}.logo-badge{display:none}.viewport-section{padding:1rem}.viewport-statusbar{align-items:flex-start}.workspace-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--bg-deep:#070810;--bg-surface:#0c0e18;--bg-panel:#111522;--bg-card:#161b2b;--border-subtle:#ffffff14;--border-focus:#818cf885;--text-primary:#f5f7ff;--text-secondary:#a7aec2;--text-muted:#70788f;--accent-primary:#7c3aed;--accent-primary-hover:#8b5cf6;--accent-secondary:#0891b2;--accent-secondary-hover:#67e8f9;--focus-ring:0 0 0 3px #67e8f93d;--ease-out:cubic-bezier(.16, 1, .3, 1);--shadow-panel:0 20px 60px #0000006b;--bg-header:#090b13db;--bg-sidebar:#0c0e18f5;--bg-sidebar-header:#0c0e18fa;--bg-sidebar-footer:#080a12f0;--bg-controls-bar:#0c0e18c7;--bg-utility-popover:#0e111dfb;--bg-effect-card:linear-gradient(145deg, #161b2bfa, #101421fa);--border-effect-card:var(--border-subtle);--bg-badge:#ffffff09;--bg-trigger:#ffffff06}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-deep:#f1f5f9;--bg-surface:#fff;--bg-panel:#f8fafc;--bg-card:#fff;--border-subtle:#0f172a14;--border-focus:#6366f185;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-secondary:#0d9488;--accent-secondary-hover:#14b8a6;--focus-ring:0 0 0 3px #14b8a63d;--shadow-panel:0 20px 60px #0f172a0f;--bg-header:#ffffffdb;--bg-sidebar:#f8fafcf5;--bg-sidebar-header:#f8fafcfa;--bg-sidebar-footer:#f1f5f9f0;--bg-controls-bar:#f1f5f9d1;--bg-utility-popover:#fffffffb;--bg-effect-card:linear-gradient(145deg, #fff, #f8fafc);--border-effect-card:#0f172a14;--bg-badge:#0f172a09;--bg-trigger:#0f172a06}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}button,select,input{font:inherit}button,summary,select{touch-action:manipulation}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent-secondary-hover);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:var(--text-primary);background:var(--accent-primary);transition:transform .18s var(--ease-out);border-radius:8px;padding:.65rem .85rem;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-container{background:radial-gradient(circle at 18% -10%, #7c3aed24, transparent 36%), radial-gradient(circle at 95% 80%, #0891b214, transparent 30%), var(--bg-deep)}.app-header{background:var(--bg-header);border-bottom-color:var(--border-subtle);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);min-height:64px;padding:.65rem 1rem}.header-logo{gap:.65rem;min-width:max-content}.logo-icon{color:#c4b5fd;background:linear-gradient(145deg,#7c3aed33,#0891b214);border:1px solid #8b5cf64d;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 1px #ffffff14,0 0 24px #7c3aed2e}.brand-lockup{flex-direction:column;gap:.08rem;display:flex}.app-header h1{letter-spacing:-.01em;-webkit-text-fill-color:currentColor;background:0 0;font-size:.95rem}.logo-badge{color:var(--text-muted);font:500 .61rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:0}.header-actions{flex-wrap:nowrap;gap:.4rem}.btn{min-height:40px;transition:color .18s var(--ease-out), border-color .18s var(--ease-out), background-color .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:9px;justify-content:center;align-items:center;gap:.42rem;padding:.45rem .72rem;font-size:.75rem;display:inline-flex}.btn svg{flex:none}.btn-outline{color:var(--text-secondary);background:#ffffff06}.btn-outline:hover{color:var(--text-primary);box-shadow:none;background:#67e8f90e;border-color:#67e8f952;transform:none}.btn-active{background:#7c3aed33;border-color:#8b5cf6a6;box-shadow:0 0 24px #7c3aed29}.app-main{grid-template-columns:minmax(0,1fr) clamp(420px,31vw,500px)}.viewport-section{background-color:#0000;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:clamp(1rem,2.2vw,2rem)}.viewport-statusbar{max-width:1100px}.canvas-wrapper{border-color:#ffffff1a;border-radius:14px;max-width:1100px;box-shadow:0 28px 80px #0000007a,0 0 0 1px #7c3aed14,0 0 48px #7c3aed1f}.video-controls-bar{background:var(--bg-controls-bar);border-radius:10px;max-width:1100px;min-height:46px;margin-top:.8rem;padding:.45rem .75rem}.sidebar-section{background:var(--bg-sidebar);position:relative;box-shadow:-16px 0 48px #00000029}.sidebar-header{z-index:15;background:var(--bg-sidebar-header);gap:.65rem;padding:.9rem 1rem .75rem;position:relative}.sidebar-header h2{letter-spacing:-.02em;margin-top:.1rem;font-size:1.05rem}.stack-limit-badge{color:var(--text-muted);background:var(--bg-badge);border-color:var(--border-subtle);align-items:baseline;gap:.2rem;padding:.3rem .55rem;display:inline-flex}.stack-limit-badge strong{color:var(--accent-secondary-hover);font-size:.86rem}.sidebar-utilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid;position:relative}.utility-panel{min-width:0;position:relative}.utility-trigger{cursor:pointer;border:1px solid var(--border-subtle);min-height:48px;color:var(--text-secondary);background:var(--bg-trigger);transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out);border-radius:9px;align-items:center;gap:.5rem;padding:.55rem .65rem;list-style:none;display:flex}.utility-trigger::-webkit-details-marker{display:none}.utility-trigger:hover,.utility-panel[open] .utility-trigger{color:var(--text-primary);background:#67e8f90b;border-color:#67e8f947}.utility-trigger>span{flex-direction:column;flex:1;gap:.08rem;min-width:0;display:flex}.utility-trigger strong{color:currentColor;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.utility-trigger small{color:var(--text-muted);font:500 .57rem var(--font-mono)}.utility-chevron{transition:transform .18s var(--ease-out)}.utility-panel[open] .utility-chevron{transform:rotate(180deg)}.utility-popover{z-index:20;background:var(--bg-utility-popover);width:calc(200% + .5rem);box-shadow:var(--shadow-panel);animation:inspector-popover-in .18s var(--ease-out);border:1px solid #818cf83d;border-radius:12px;padding:.75rem;position:absolute;top:calc(100% + .5rem);left:0}.recipe-section{background:0 0;border:0;border-radius:0;overflow:visible}.recipe-section .utility-popover{left:auto;right:0}.effect-library-popover{flex-direction:column;gap:.65rem;display:flex}.effect-search-shell{border-radius:9px;min-height:42px}.category-filter{padding:.05rem 0 .25rem}.category-chip{min-height:32px;transition:color .16s var(--ease-out), border-color .16s var(--ease-out), background-color .16s var(--ease-out);padding:.35rem .62rem;font-size:.62rem}.category-chip-active{color:#e0faff;background:#0891b229;border-color:#67e8f96b}.select-dropdown{background:var(--bg-panel);border-radius:9px;min-height:44px}.recipe-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:min(360px,48vh);padding:0;display:grid}.recipe-button{text-align:left;border-radius:8px;min-height:40px;padding:.48rem .6rem}.recipe-button:hover{box-shadow:none;background:#7c3aed1a;border-color:#8b5cf66b;transform:none}.stack-notice{z-index:30;border:1px solid #67e8f929;border-left:2px solid var(--accent-secondary);color:#bae6fd;pointer-events:none;background:#0891b214;margin:0;position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;box-shadow:0 12px 32px #00000047}.effects-stack-container{overscroll-behavior:contain;scrollbar-gutter:stable;gap:.65rem;padding:.75rem .85rem 1rem}.effect-card{background:var(--bg-effect-card);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:10px}.effect-card:hover{border-color:#818cf84d;transform:none;box-shadow:0 12px 34px #0000003d}.effect-card-header{gap:.45rem;min-height:52px;padding:.55rem .65rem}.effect-card-info{gap:.42rem}.drag-handle-grip{border-radius:6px;place-items:center;width:28px;height:32px;padding:0;display:grid}.drag-handle-grip:hover{color:var(--accent-secondary-hover);background:#67e8f90f}.effect-name{font-size:.82rem}.effect-category-badge{color:#a5b4fc;background:#6366f112;border-color:#818cf838}.shader-source-link{align-items:center;gap:.25rem;min-height:25px;display:inline-flex}.effect-card-actions{flex-wrap:nowrap;gap:.18rem}.reorder-btn,.delete-btn,.effect-action-btn{border-radius:6px;min-width:30px;height:30px}.effect-action-btn:first-child{min-width:42px}.expand-icon-open{transform:rotate(90deg)}.effect-card-body{animation:effect-controls-in .16s var(--ease-out);gap:.85rem;padding:.8rem}.effect-mix-control{background:#7c3aed11;border-color:#8b5cf633;padding:.65rem}.uniform-slider{height:5px}.uniform-slider::-webkit-slider-thumb{background:var(--accent-secondary-hover);border:3px solid #11222b;width:16px;height:16px;box-shadow:0 0 0 1px #67e8f966}.sidebar-footer{background:var(--bg-sidebar-footer);gap:.55rem;padding:.7rem .85rem}.workspace-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.workspace-button{border-radius:8px;justify-content:center;align-items:center;gap:.3rem;min-height:42px;padding:.35rem .25rem;display:flex}.workspace-button svg{width:15px;height:15px}.sidebar-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fps-counter-badge{align-self:auto}.pipeline-tip{white-space:nowrap}@keyframes inspector-popover-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes effect-controls-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=1280px){.app-main{grid-template-columns:minmax(0,1fr) 420px}.header-actions .btn{padding-inline:.6rem}.header-actions .btn span{display:none}.header-actions .btn{width:40px;padding:0}}@media (width<=1024px){.app-main{grid-template-rows:minmax(460px,64dvh) minmax(560px,auto);grid-template-columns:1fr}.sidebar-section{border-top:1px solid var(--border-subtle);border-left:0;min-height:620px}.utility-popover{width:min(680px,100vw - 2rem)}.recipe-section .utility-popover{right:0}}@media (width<=720px){.app-header{flex-direction:row;align-items:center;min-height:auto;padding:.65rem .75rem}.header-actions{justify-content:flex-end;width:auto;margin-left:auto;overflow-x:auto}.header-actions .btn:first-of-type,.header-actions .btn:nth-of-type(2){display:none}.app-main{grid-template-rows:minmax(400px,58dvh) minmax(620px,auto)}.viewport-section{padding:.75rem}.sidebar-header{padding-inline:.75rem}.effects-stack-container{padding-inline:.65rem}.effect-category-badge,.shader-source-link span,.effect-card-actions .effect-action-btn:nth-child(2),.effect-card-actions .reorder-btn:first-of-type,.effect-card-actions .reorder-btn:nth-of-type(2){display:none}.workspace-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.workspace-button span{display:none}.workspace-button{min-height:44px}}@media (pointer:coarse){.category-chip,.recipe-button,.reorder-btn,.delete-btn,.effect-action-btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.utility-popover,.effect-card-body{animation:none}.utility-chevron,.expand-icon-open,.skip-link{transition-duration:.01ms}}.toast-notification{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #818cf83d;border-left:3px solid var(--accent-secondary);color:#bae6fd;pointer-events:none;background:#0e111df2;border-radius:8px;align-items:center;gap:.65rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;animation:.24s cubic-bezier(.16,1,.3,1) toast-in;display:flex;position:fixed;bottom:2rem;right:50%;box-shadow:0 12px 32px #00000080}.toast-icon{color:var(--accent-secondary-hover);font-size:.95rem}@keyframes toast-in{0%{opacity:0;transform:translateY(1rem)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
