/* Particle & VFX Generator — Studio workspace */
.sg{--sg-b:#604773;--sg-m:#c9b8d7;--sg-a:#b784e6}
.sg-hero{padding:20px 0 24px}.sg-hero h1{font-size:clamp(30px,3.3vw,46px);margin:10px 0 12px}.sg-hero p{max-width:880px;margin:0;font-size:16px;line-height:1.6;color:#d8cde8}
.sg-steps{list-style:none;counter-reset:s;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:18px 0 12px}
.sg-steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;column-gap:12px;align-items:center;padding:10px 16px 10px 10px;border:1px solid #6c4f80;border-radius:12px;background:#241a30;flex:1 1 220px;max-width:330px}
.sg-steps li::before{content:counter(s);grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8a56dd,#c06cf2);color:#fff;font-weight:800}
.sg-steps b{font-size:14.5px;align-self:end}.sg-steps span{font-size:12.5px;color:var(--sg-m);align-self:start}
.sg-tags{display:flex;flex-wrap:wrap;gap:8px}.sg-tags span{font-size:12.5px;padding:6px 12px;background:#30213e;border:1px solid #6c4f80;border-radius:20px}
.sg-workspace{border:1px solid #725389;border-radius:18px;overflow:hidden;background:#1c1428;display:flex;flex-direction:column;height:calc(100vh - 104px);min-height:600px;max-height:1000px;scroll-margin-top:96px}
.sg-command{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 14px;background:#30203e;border-bottom:1px solid var(--sg-b);flex-wrap:wrap}
.sg-brand{display:flex;gap:10px;align-items:center;min-width:0}.sg-brand>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#ff8a3d,#c06cf2);color:#fff;font-size:17px;flex:none}
.sg-brand strong{display:block;font-size:15px}.sg-brand small{display:block;font-size:12px;color:var(--sg-m)}
.sg-actions{display:flex;flex-wrap:wrap;gap:6px}
.sg button,.sg .sg-file{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#342341;border:1px solid #725887;color:#f4eafa;border-radius:8px;min-height:34px;padding:5px 11px;font:600 13px/1.2 inherit;cursor:pointer;white-space:nowrap}
.sg button:hover:not(:disabled),.sg .sg-file:hover{background:#4c315f}.sg button:disabled{opacity:.4;cursor:default}
.sg .sg-primary{background:linear-gradient(135deg,#8a56dd,#c06cf2);border-color:transparent;color:#fff}
.sg button[aria-pressed=true]{background:#5a3a80;border-color:#c59be9}
.sg-file{position:relative}.sg-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.sg input:not([type=checkbox]):not([type=range]):not([type=color]),.sg select{width:100%;min-width:0;background:#140e1e;border:1px solid #694f7d;color:#f7f0fc;padding:7px 9px;border-radius:7px;font:13px/1.4 inherit}
.sg input[type=range]{width:100%;accent-color:var(--sg-a)}.sg input[type=color]{width:100%;height:32px;padding:2px;border:1px solid #694f7d;border-radius:7px;background:#140e1e}
.sg-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 320px;flex:1;min-height:0}
.sg-library,.sg-inspector{background:#241a30;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#6b4d80 transparent}
.sg-library{padding:14px;border-right:1px solid var(--sg-b)}.sg-library h2{font-size:16px;margin:0 0 10px}
.sg-cats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.sg .sg-cats button{min-height:26px;padding:2px 8px;font-size:11.5px;border-radius:14px}
.sg-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.sg .sg-preset{flex-direction:column;padding:6px 4px;gap:4px;white-space:normal;font-size:11.5px;line-height:1.2;background:#1a1224}
.sg-preset img{width:48px;height:48px;image-rendering:pixelated;background:#0f0b16;border-radius:6px}
.sg .sg-preset[aria-pressed=true]{border:2px solid #d0a8f3;background:#3a2650}
.sg-center{display:flex;flex-direction:column;gap:10px;padding:14px;min-width:0;min-height:0;background:radial-gradient(ellipse at top,#32203e,#171020 70%)}
.sg-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sg-inline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sg-m)}.sg-inline select{width:auto!important}
.sg-seg{display:inline-flex;border:1px solid #725887;border-radius:9px;overflow:hidden}.sg .sg-seg button{border:0;border-radius:0;min-height:32px}
.sg-bar .sg-seg{margin-left:auto}
.sg-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:auto;border:1px solid #594168;border-radius:12px;padding:12px}
.sg-stage[data-bg=dark]{background:#16121f}.sg-stage[data-bg=light]{background:#e9e6ef}.sg-stage[data-bg=grass]{background:#4c8a3c}.sg-stage[data-bg=night]{background:radial-gradient(ellipse at 50% 30%,#1b2a5c,#0b1030 70%)}
.sg-stage[data-bg=checker]{background:repeating-conic-gradient(#251d30 0% 25%,#32273d 0% 50%) 0 0/16px 16px}
.sg-stage canvas{display:block}
.sg-busy{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:8px;background:#000a;font-size:12px}
.sg-timeline{display:grid;grid-template-columns:auto 1fr 64px;gap:10px;align-items:center;font-size:12.5px;color:var(--sg-m)}.sg-timeline output{text-align:right;font-variant-numeric:tabular-nums}
.sg-status{margin:0;padding:8px 12px;border-radius:8px;background:#30213d;font-size:12.5px;min-height:34px}.sg-status[data-error=true]{color:#ffc3d4}
.sg-inspector{border-left:1px solid var(--sg-b);padding:0 14px 16px}
.sg-tabs{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 -14px 10px;padding:10px 12px;background:#241a30;border-bottom:1px solid var(--sg-b)}
.sg .sg-tabs button{min-height:32px}.sg .sg-tabs [aria-selected=true]{background:#8351b3;border-color:#c59be9}
.sg-inspector h3{margin:16px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#e3cdf5}
.sg-field{display:grid;gap:4px;margin:0 0 10px;font-size:12.5px;color:#e7d8f2}.sg-field span{display:flex;justify-content:space-between;gap:6px}.sg-field output{color:#d9b6ff;font-variant-numeric:tabular-nums}
.sg-check{display:flex;gap:8px;align-items:center;font-size:12.5px;margin:6px 0 10px}.sg-check input{accent-color:var(--sg-a)}
.sg-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sg-row{display:flex;gap:6px;align-items:center}.sg-row input{flex:1}
.sg-style{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-bottom:8px}
.sg-help{font-size:12px;line-height:1.55;color:var(--sg-m);margin:10px 0}
.sg-layers{display:grid;gap:4px;margin-bottom:8px}
.sg-layer{display:grid;grid-template-columns:auto 22px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:6px 8px;border:1px solid #4d3a60;border-radius:9px;background:#1c1428;cursor:pointer}
.sg-layer.on{border-color:#c59be9;background:#3a2650}.sg-layer input{grid-row:span 2;accent-color:var(--sg-a)}.sg-layer i{grid-row:span 2;width:22px;height:22px;border-radius:6px}
.sg-layer b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-layer small{grid-column:3;font-size:11px;color:var(--sg-m)}.sg-layer .sg-mini{grid-row:1/span 2;grid-column:4;display:flex;gap:2px}
.sg .sg-mini button{min-height:24px;padding:0 6px;font-size:12px}
.sg-add{margin-bottom:6px}.sg-add select{flex:1}
.sg-colors{display:flex;gap:6px;align-items:center;margin-bottom:10px}.sg-colors input{flex:1;min-width:0}.sg .sg-colors button{min-height:32px;padding:0 9px}
.sg-export{display:grid;gap:8px}
.sg-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.sg-guide article{padding:22px;background:#241a30;border:1px solid #5d456e;border-radius:14px}.sg-guide span{font-size:11px;color:#dbb1f3;letter-spacing:1px}.sg-guide h2{font-size:18px;margin:10px 0}.sg-guide p{font-size:14px;line-height:1.6;margin:0;color:#d8cde8}
.sg-workspace:fullscreen{height:100dvh;max-height:none;border-radius:0;border:0}
@media(max-width:1150px){.sg-layout{grid-template-columns:190px minmax(0,1fr) 290px}.sg-presets{grid-template-columns:1fr}}
@media(max-width:900px){.sg-workspace{height:auto;max-height:none}.sg-layout{display:flex;flex-direction:column}.sg-center{order:0}.sg-stage{height:56vh;flex:none}
 .sg-library{order:1;border-right:0;border-top:1px solid var(--sg-b)}.sg-presets{display:flex;overflow-x:auto;padding-bottom:6px}.sg .sg-preset{flex:0 0 96px}
 .sg-inspector{order:2;border-left:0;border-top:1px solid var(--sg-b);overflow:visible}.sg-guide{grid-template-columns:1fr}.sg-bar .sg-seg{margin-left:0}}
@media(max-width:520px){.sg-actions{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.sg .sg-actions>*{padding:5px 4px;font-size:12px}.sg-steps li{max-width:none}}
.sg-library h2 small{font-size:11px;font-weight:400;color:var(--sg-m);margin-left:6px}.sg-library>input[type=search]{margin-bottom:8px}
.sg-cut{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:8px;background:#7a2a3a;color:#fff;font-size:12px}
.sg .sg-attn{border-color:#ff8aa0;box-shadow:0 0 0 2px #ff8aa055}.sg .sg-wide{width:100%;margin:2px 0 6px}

/* tabs: effect groups (scrollable strip) and the Effect / Layers / Export panels */
.sg-cats{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;margin:0 -14px 10px;padding:0 10px;border-bottom:1px solid var(--sg-b);scrollbar-width:thin;scrollbar-color:#6b4d80 transparent}
.sg .sg-cats button{flex:none;flex-direction:column;gap:1px;min-height:0;padding:6px 8px 7px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--sg-m);font-size:11.5px;font-weight:600}
.sg .sg-cats button i{font-style:normal;font-size:15px;line-height:1}
.sg .sg-cats button:hover{background:#ffffff0d;color:#fff}
.sg .sg-cats button[aria-selected=true]{color:#fff;border-bottom-color:#c59be9;background:linear-gradient(to top,#8351b333,transparent)}
.sg-tabs{display:flex;gap:0;padding:0 8px;margin:0 -14px 12px;border-bottom:1px solid var(--sg-b);background:#241a30}
.sg .sg-tabs button{flex:1;min-height:44px;gap:6px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--sg-m);font-size:13.5px}
.sg .sg-tabs button i{font-style:normal;opacity:.8}
.sg .sg-tabs button:hover{background:#ffffff0d;color:#fff}
.sg .sg-tabs [aria-selected=true]{color:#fff;border-bottom-color:#c59be9;background:linear-gradient(to top,#8351b333,transparent)}
.sg [role=tab]:focus-visible{outline:2px solid #e3c8ff;outline-offset:-2px}
.sg-cats{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;padding:0 6px}.sg .sg-cats button{padding:6px 2px 7px;font-size:11px;min-width:0}
@media(max-width:900px){.sg-cats{grid-template-columns:repeat(8,1fr)}}@media(max-width:520px){.sg-cats{grid-template-columns:repeat(4,1fr)}}
/* item grid */
.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;align-content:start;overflow:auto;flex:1;min-height:0;padding:4px}
.sg .sg-card{position:relative;flex-direction:column;gap:4px;padding:6px 4px 5px;background:#1a1224;border:2px solid var(--rc,#5c4b72);white-space:normal;font-weight:500;font-size:10.5px;line-height:1.15;min-height:0}
.sg-card canvas{width:64px;height:64px;image-rendering:pixelated}.sg .sg-card[aria-pressed=true]{background:#3a2650;box-shadow:0 0 0 2px #fff}
.sg-card .sg-lock{position:absolute;top:2px;right:4px;font-size:12px}
.sg-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.sg .sg-chips button{min-height:26px;padding:2px 8px;font-size:11.5px;border-radius:14px}
.sg-detail{display:flex;gap:12px;align-items:center;margin:4px 0 10px}.sg-detail canvas{width:96px;height:96px;image-rendering:pixelated;background:#140e1e;border-radius:8px;border:2px solid var(--rc,#5c4b72)}
.sg-detail h3{margin:0 0 4px!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;color:var(--rc,#fff)!important}.sg-detail p{margin:0;font-size:12px;color:var(--sg-m)}
.sg-stats{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12.5px;margin:0 0 10px}.sg-stats dt{color:var(--sg-m)}.sg-stats dd{margin:0;font-weight:600}
.sg-sub{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#e3cdf5;margin:4px 0 6px}.sg .sg-library{display:flex;flex-direction:column}

/* left menu: collapsible categories */
.sg-library>input[type=search]{margin-bottom:8px}.sg-sub small{text-transform:none;letter-spacing:0;font-weight:400;color:var(--sg-m);margin-left:6px}
.sg-presets{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.sg .sg-presets button{min-height:26px;padding:2px 9px;font-size:11.5px;border-radius:14px;background:#2a1e38}
.sg-catlist{display:grid;gap:4px;margin-bottom:12px}
.sg-cat{border:1px solid #4d3a60;border-radius:10px;background:#1c1428}.sg-cat[open]{background:#21182e}
.sg-cat summary{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}.sg-cat summary::-webksg-details-marker{display:none}
.sg-cat summary::before{content:'▸';color:var(--sg-m);font-size:11px;transition:transform .15s}.sg-cat[open] summary::before{transform:rotate(90deg)}
.sg-cat-name{flex:1}.sg-cat summary small{color:var(--sg-m);font-weight:400;font-size:11px}
.sg .sg-cat-toggle{width:22px;height:22px;min-height:0;padding:0;border-radius:6px;font-size:13px;line-height:1;background:#140e1e;border:1px solid #725887}
.sg .sg-cat-toggle[data-state=all]{background:#8351b3;border-color:#c59be9;color:#fff}.sg .sg-cat-toggle[data-state=some]{background:#4a3870;color:#fff}
.sg-cat .sg-chips{padding:0 8px 8px;margin:0}

/* grid views: rows always fit their content (they used to shrink and overlap in big batches) */
.sg-grid{grid-auto-rows:max-content}.sg .sg-card{overflow:hidden}
.sg-gridbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sg-gridbar input{flex:1;min-width:140px;max-width:260px}.sg-gridbar span{font-size:12px;color:var(--sg-m)}
.sg-viewseg{display:inline-flex;border:1px solid #725887;border-radius:9px;overflow:hidden}.sg .sg-viewseg button{border:0;border-radius:0;min-height:30px;padding:3px 10px;font-size:12px}
.sg-grid[data-view=compact]{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.sg-grid[data-view=compact] .sg-card{padding:4px 2px;font-size:9.5px}.sg-grid[data-view=compact] .sg-card canvas{width:40px;height:40px}
.sg-grid[data-view=compact] .sg-card span{display:-webksg-box;-webksg-line-clamp:2;-webksg-box-orient:vertical;overflow:hidden}
.sg-grid[data-view=icons]{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.sg-grid[data-view=icons] .sg-card{padding:3px;border-width:2px}.sg-grid[data-view=icons] .sg-card canvas{width:32px;height:32px}.sg-grid[data-view=icons] .sg-card span{display:none}.sg-grid[data-view=icons] .sg-lock{font-size:9px;top:0;right:1px}
.sg-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.sg-card canvas{background:radial-gradient(circle at 30% 25%,#1c1840,#07060f);border-radius:6px}.sg-detail canvas{background:radial-gradient(circle at 30% 25%,#1c1840,#07060f)}

/* left menu */
.sg-presets{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.sg .sg-presets button{min-height:26px;padding:2px 10px;font-size:11.5px;border-radius:14px;background:#2a1e38}
.sg-cat{border:1px solid #4d3a60;border-radius:10px;background:#1c1428;margin-bottom:6px}.sg-cat summary{display:flex;align-items:center;gap:6px;padding:7px 9px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}.sg-cat summary::-webkit-details-marker{display:none}
.sg-cat summary::before{content:'▸';font-size:11px;color:var(--sg-m);transition:transform .15s}.sg-cat[open] summary::before{transform:rotate(90deg)}.sg-cat summary span{flex:1}.sg-cat summary small{color:var(--sg-m);font-weight:400;font-size:11px}
.sg .sg-cat-toggle{min-height:22px;padding:0 8px;font-size:11px;border-radius:6px}
.sg-cat .sg-chips{padding:0 9px 9px;margin:0}
.sg-famgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0 9px 9px}.sg .sg-famgrid button{justify-content:flex-start;min-height:30px;padding:3px 8px;font-size:12px;gap:6px}.sg-famgrid i{font-style:normal}
.sg .sg-chips button b{width:10px;height:10px;border-radius:50%;display:inline-block}.sg .sg-chips button[data-rar]{border-color:var(--rc)}
.sg .sg-famgrid button[aria-pressed=false],.sg .sg-chips button[aria-pressed=false]{opacity:.5}
.sg-famgrid button{min-width:0;padding:3px 6px;gap:5px;letter-spacing:-.01em}.sg-famgrid button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-famgrid i{flex:none}
.sg-famgrid button{font-size:11px;padding:3px 4px;gap:4px;letter-spacing:-.02em}
.sg-famgrid{padding:0 6px 8px;gap:3px}.sg-famgrid button{font-size:10.5px;padding:3px;gap:3px}.sg-famgrid i{font-size:11px}
.sg .sg-famgrid button{padding:3px 4px;gap:3px;font-size:10.5px;letter-spacing:-.02em}.sg .sg-famgrid i{font-size:11px;width:14px;text-align:center}
.sg-play{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:6px 0}.sg-play button{font-size:12px;padding:6px 2px}.sg-shots{display:block;width:100%;max-width:300px;image-rendering:pixelated;background:radial-gradient(circle at 30% 25%,#1c1840,#07060f);border-radius:8px;padding:4px;box-sizing:border-box}.sg-shotnames{font-size:11px;margin-top:2px}
