#ss-tool .ss-controls,#ss-tool .ss-preview{background:var(--card-bg);border:1px solid rgba(0,0,0,.1)}.dark #ss-tool .ss-controls,.dark #ss-tool .ss-preview{border-color:#ffffff14}#ss-tool .ss-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;color:var(--color-text-soft)}#ss-tool .ss-field{margin-bottom:10px}#ss-tool .ss-field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}#ss-tool input[type=text],#ss-tool input[type=number],#ss-tool select{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-lg);font:inherit;font-size:14px;background:var(--card-bg);color:var(--text);transition:border-color .15s}.dark #ss-tool input[type=text],.dark #ss-tool input[type=number],.dark #ss-tool select{border-color:#ffffff26}#ss-tool input[type=text]:focus,#ss-tool input[type=number]:focus,#ss-tool select:focus{outline:none;border-color:var(--color-accent)}#ss-tool input[type=color]{width:100%;height:40px;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-lg);cursor:pointer;padding:4px;background:var(--card-bg)}.dark #ss-tool input[type=color]{border-color:#ffffff26}#ss-tool .ss-color-row{display:flex;gap:6px;align-items:stretch}#ss-tool .ss-color-swatch{width:42px!important;min-width:42px;height:36px;flex-shrink:0;border-radius:var(--radius-lg);padding:3px}#ss-tool .ss-color-hex{flex:1;min-width:0;padding:6px 8px!important;font-family:Courier New,monospace;font-size:13px!important;letter-spacing:.02em;text-transform:lowercase}#ss-tool .ss-color-disabled{opacity:.55}#ss-tool .ss-color-presets{display:flex;gap:6px;margin-bottom:10px}#ss-tool .ss-preset-btn{flex:1;padding:6px 8px;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.12);background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.dark #ss-tool .ss-preset-btn{border-color:#ffffff1f}#ss-tool .ss-preset-btn:hover{border-color:var(--color-accent);background:#885a9c0f}#ss-tool .ss-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;border:2px solid rgba(0,0,0,.15);border-radius:var(--radius-xl);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;outline:none}.dark #ss-tool .ss-dropzone{border-color:#ffffff1f}#ss-tool .ss-dropzone:hover,#ss-tool .ss-dropzone:focus-visible{border-color:var(--color-accent);background:#885a9c0a}.dark #ss-tool .ss-dropzone:hover,.dark #ss-tool .ss-dropzone:focus-visible{background:#ac5fcf0f}#ss-tool .ss-dropzone.ss-drag-over{border-color:var(--color-accent);background:#885a9c1a}#ss-tool .ss-dropzone-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#ss-tool .ss-dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:0}#ss-tool .ss-dropzone-icon{width:28px;height:28px;color:var(--color-text-soft);opacity:.5}#ss-tool .ss-dropzone-label{font-size:14px;font-weight:700}#ss-tool .ss-dropzone-hint{font-size:11px;color:var(--color-text-soft);opacity:.7}#ss-tool .ss-dropzone-filled{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;width:100%;z-index:2;position:relative;cursor:pointer}#ss-tool .ss-dropzone-thumb{max-width:100%;max-height:80px;border-radius:var(--radius-lg);object-fit:contain}#ss-tool .ss-dropzone-name{font-size:11px;color:var(--color-text-soft);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ss-tool .ss-dropzone-replace{font-size:11px;color:var(--color-accent);opacity:0;transition:opacity .15s}#ss-tool .ss-dropzone:hover .ss-dropzone-replace{opacity:.8}#ss-tool .ss-dropzone-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:var(--radius-pill);border:none;background:#00000080;color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;opacity:0;transition:opacity .15s;padding:0}#ss-tool .ss-dropzone:hover .ss-dropzone-remove{opacity:1}#ss-tool input[type=range]{width:100%;accent-color:var(--color-accent);cursor:pointer}#ss-tool input[type=checkbox]{width:auto;accent-color:var(--color-accent);cursor:pointer}#ss-tool .ss-check-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;cursor:pointer}#ss-tool .ss-btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-lg);padding:10px 16px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:opacity .15s}#ss-tool .ss-btn-primary:hover{opacity:.85}#ss-tool .ss-btn-secondary{background:transparent;color:var(--text);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-lg);padding:10px 16px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s}.dark #ss-tool .ss-btn-secondary{border-color:#ffffff26;color:var(--text)}#ss-tool .ss-btn-secondary:hover{background:#0000000d}.dark #ss-tool .ss-btn-secondary:hover{background:#ffffff12}#ss-tool .ss-mini-btn{margin-top:4px;padding:6px 10px;font-size:12px;background:transparent;color:var(--text);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-lg);font-family:inherit;font-weight:600;cursor:pointer}.dark #ss-tool .ss-mini-btn{border-color:#ffffff26}#ss-tool .ss-mini-btn:hover{background:#0000000d}.dark #ss-tool .ss-mini-btn:hover{background:#ffffff12}#ss-tool #ss-canvas{width:100%;height:auto;display:block;border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.1);background:transparent;cursor:grab}#ss-tool #ss-canvas.ss-canvas-transparent{background-image:linear-gradient(45deg,#e0e0e0 25%,#f3f3f3 25%),linear-gradient(-45deg,#e0e0e0 25%,#f3f3f3 25%),linear-gradient(45deg,#f3f3f3 75%,#e0e0e0 75%),linear-gradient(-45deg,#f3f3f3 75%,#e0e0e0 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.dark #ss-tool #ss-canvas{border-color:#ffffff14}#ss-tool .ss-hint{font-size:12px;color:var(--color-text-soft);line-height:1.5}@media (min-width: 1024px){#ss-tool .ss-preview{position:sticky;top:6rem}}.esc-root{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media (min-width: 768px) and (max-width: 1023px){.esc-root{grid-template-columns:280px 1fr}.esc-canvas-wrap{position:sticky;top:5.5rem}}@media (min-width: 1024px){.esc-root{grid-template-columns:minmax(300px,340px) 1fr}.esc-canvas-wrap{position:sticky;top:5.5rem}}@media (min-width: 1400px){.esc-root{grid-template-columns:360px 1fr}}.esc-panel{display:flex;flex-direction:column;gap:0}.esc-section{padding:0 0 6px}.esc-details{border-top:1px solid rgba(128,128,128,.1)}.esc-details[open]>.esc-summary-toggle{margin-bottom:0}.esc-summary-toggle{display:flex;align-items:center;gap:8px;padding:12px 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-soft);cursor:pointer;user-select:none;list-style:none;transition:color .15s}.esc-summary-toggle::-webkit-details-marker{display:none}.esc-summary-toggle:after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-left:auto;opacity:.5;flex-shrink:0}.esc-details[open]>.esc-summary-toggle:after{transform:rotate(45deg)}.esc-summary-toggle:hover{color:var(--text)}.esc-summary-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-md);background:#80808014;flex-shrink:0}.esc-summary-icon svg{opacity:.6}.esc-details-body{padding:4px 2px 14px}.esc-inline-btn{margin-left:auto;margin-right:16px;padding:3px 10px;border-radius:var(--radius-md);font:inherit;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:#80808014;color:var(--color-accent);border:1px solid rgba(128,128,128,.12);transition:all .15s}.esc-inline-btn:hover{background:#80808024;border-color:var(--color-accent)}.esc-field{margin-bottom:8px}.esc-field:last-child{margin-bottom:0}.esc-field label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);margin-bottom:3px;opacity:.7}#exif-tool input[type=text],#exif-tool input[type=number],#exif-tool textarea,#exif-tool select,.esc-root input[type=text],.esc-root input[type=number],.esc-root textarea,.esc-root select{width:100%;padding:7px 10px;border:1px solid rgba(128,128,128,.15);border-radius:var(--radius-lg);font:inherit;font-size:13px;background:var(--card-bg);color:var(--text);transition:border-color .15s,box-shadow .15s;outline:none;-webkit-appearance:none;appearance:none}#exif-tool select,.esc-root select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;padding-right:28px!important}#exif-tool select option,.esc-root select option{background:var(--card-bg);color:var(--text);padding:8px}.esc-root input[type=text]::placeholder,.esc-root textarea::placeholder{color:var(--color-text-soft);opacity:.5}.esc-root input[type=text]:focus,.esc-root input[type=number]:focus,.esc-root textarea:focus,.esc-root select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #885a9c1a}.esc-root textarea{resize:vertical;min-height:52px}.esc-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:10px}.esc-color-field{display:flex;flex-direction:column;align-items:center;gap:3px}.esc-color-field label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);opacity:.6;margin:0}.esc-root .esc-color-field input[type=color]{width:100%;height:26px;border:1px solid rgba(128,128,128,.12);border-radius:var(--radius-md);cursor:pointer;padding:2px;background:transparent}.esc-root .esc-color-field input[type=text]{width:100%;padding:2px;font-family:SF Mono,Fira Code,monospace;font-size:9px;text-align:center;text-transform:lowercase;border:none;background:transparent;color:var(--color-text-soft);opacity:.7}.esc-root .esc-color-field input[type=text]:focus{opacity:1;color:var(--text)}.esc-root input[type=range],.esc-root input[type=checkbox]{accent-color:var(--color-accent)}.esc-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.esc-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.esc-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media (max-width: 360px){.esc-row-4{grid-template-columns:1fr 1fr}}.esc-btn{padding:8px 14px;border-radius:var(--radius-lg);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:transparent;color:var(--text);border:1px solid rgba(128,128,128,.12);display:inline-flex;align-items:center;justify-content:center;gap:6px}.esc-btn:hover{border-color:var(--color-accent);background:#885a9c0f}.esc-btn-fill{background:var(--color-accent);color:#fff;border-color:transparent}.esc-btn-fill:hover{opacity:.9;background:var(--color-accent);border-color:transparent}.esc-btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-md)}.esc-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;border:2px dashed rgba(128,128,128,.15);border-radius:var(--radius-xl);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;outline:none}.esc-dropzone:hover,.esc-dropzone:focus-visible,.esc-dropzone.esc-drag-over{border-color:var(--color-accent);background:#885a9c0a}.esc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.esc-dropzone-empty,.esc-dropzone-filled{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:12px;z-index:1}.esc-drop-icon{width:24px;height:24px;color:var(--color-text-soft);opacity:.35}.esc-drop-title{font-size:13px;font-weight:600}.esc-drop-hint{font-size:11px;color:var(--color-text-soft);opacity:.6}.esc-thumb{max-width:100%;max-height:70px;border-radius:var(--radius-lg);object-fit:cover}.esc-drop-replace{font-size:11px;color:var(--color-accent);opacity:0;transition:opacity .15s}.esc-dropzone:hover .esc-drop-replace{opacity:.85}.esc-drop-remove{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:var(--radius-pill);border:none;background:#00000080;color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s;z-index:3;padding:0}.esc-dropzone:hover .esc-drop-remove{opacity:1}.esc-swatch-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px}.esc-swatch{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid rgba(128,128,128,.08);padding:5px;cursor:pointer;font:inherit;font-size:8px;font-weight:700;text-align:left;line-height:1.2;white-space:pre-line;transition:transform .12s,border-color .12s;display:flex;flex-direction:column;justify-content:flex-end}.esc-swatch:hover{transform:translateY(-1px);border-color:var(--color-accent)}.esc-toggle-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px}.esc-toggle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;cursor:pointer;padding:4px 6px;border-radius:var(--radius-md);transition:background .12s;color:var(--color-text-soft)}.esc-toggle:hover{background:#8080800f;color:var(--text)}.esc-toggle input[type=checkbox]{width:13px;height:13px;margin:0}.esc-export-bar{display:flex;align-items:center;gap:8px;padding:10px 2px;border-top:1px solid rgba(128,128,128,.1);margin-top:2px}.esc-export-fmt{width:80px!important;padding:5px 26px 5px 8px!important;font-size:12px!important;border-radius:var(--radius-md)!important;flex-shrink:0;background-color:var(--card-bg)!important}.esc-quality-range{width:60px}.esc-export-actions{display:flex;gap:4px;margin-left:auto}.esc-canvas-wrap canvas{width:100%;height:auto;display:block;border-radius:var(--radius-xl);border:1px solid rgba(128,128,128,.08);background:transparent}.esc-status{font-size:11px;color:var(--color-text-soft);opacity:.6;line-height:1.5;padding:4px 2px 0;min-height:20px}.esc-status:empty{display:none}.esc-range-val{float:right;font-weight:500;color:var(--color-accent);font-size:10px;font-family:Space Mono,monospace}#esc-preset-opts:empty{display:none}#esc-preset-opts .esc-field{margin-top:8px}.esc-pp-section{margin-top:14px}.esc-pp-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.esc-pp-header-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-soft);opacity:.6}.esc-pp-toggle{display:flex;align-items:center;gap:5px;padding:4px 7px 4px 5px;border-radius:var(--radius-lg);border:1px solid rgba(128,128,128,.15);background:#8080800a;color:var(--text);font:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;flex-shrink:0}.esc-pp-toggle:hover{border-color:var(--color-accent);background:#80808014}.esc-pp-toggle[aria-expanded=true] .esc-pp-chevron{transform:rotate(180deg)}.esc-pp-chevron{transition:transform .22s cubic-bezier(.4,0,.2,1);opacity:.45;flex-shrink:0}.esc-pp-preview{display:flex;gap:2px;align-items:center}.esc-pp-dot{width:9px;height:9px;border-radius:var(--radius-pill);border:1px solid rgba(128,128,128,.18);display:block;flex-shrink:0;transition:background .2s}.esc-pp-name{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.75}.esc-pp-panel{max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.4,0,.2,1),opacity .22s ease;opacity:0}.esc-pp-panel.esc-pp-open{max-height:720px;opacity:1}.esc-pp-scroll{padding:6px 0 4px}.esc-pp-group{margin-bottom:9px}.esc-pp-group:last-child{margin-bottom:0}.esc-pp-group-label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-soft);opacity:.45;margin-bottom:4px;padding-left:1px}.esc-pp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.esc-pp-card{position:relative;border:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;padding:0;font:inherit;height:50px;display:flex;flex-direction:column;transition:transform .12s ease,border-color .15s,box-shadow .15s;outline:none}.esc-pp-card:hover{transform:translateY(-2px);border-color:#80808059;box-shadow:0 3px 10px #00000026}.esc-pp-card:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px #885a9c40}.esc-pp-card.esc-pp-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),0 2px 8px #0000002e;transform:translateY(-1px)}.esc-pp-card-accent-bar{height:4px;width:100%;flex-shrink:0}.esc-pp-card-body{flex:1;display:flex;align-items:flex-end;padding:3px 5px}.esc-pp-card-name{font-size:7.5px;font-weight:600;line-height:1.2;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:left}.esc-pp-card.esc-pp-selected:after{content:"";position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:0 0 0 1.5px #ffffff80}.esc-color-editors{margin-top:12px}.esc-ce-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-soft);opacity:.6;margin-bottom:6px}#particle-lab-tool{--pl-surface: color-mix(in srgb, var(--card-bg) 84%, transparent);--pl-panel: color-mix(in srgb, var(--card-bg) 74%, var(--bg) 26%);--pl-panel-strong: color-mix(in srgb, var(--card-bg) 90%, var(--color-accent) 10%);--pl-title: var(--text);--pl-title-soft: var(--color-text-soft);--pl-text: var(--text);--pl-soft: var(--color-text-soft);--pl-control: color-mix(in srgb, var(--card-bg) 72%, var(--text) 6%);--pl-control-hover: color-mix(in srgb, var(--card-bg) 66%, var(--color-accent) 18%);--pl-screen-shadow: 0 18px 44px rgba(0, 0, 0, .22);width:min(100%,960px);margin:0 auto;padding:16px;border:0;border-radius:var(--radius-3xl);background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg) 94%,#fff 6%),var(--pl-surface));color:var(--pl-text);box-shadow:0 24px 70px #0f172a29,0 1px #ffffffbf inset;font-family:var(--font-sans, Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif);-webkit-backdrop-filter:blur(18px) saturate(1.18);backdrop-filter:blur(18px) saturate(1.18)}.dark #particle-lab-tool{--pl-surface: color-mix(in srgb, var(--card-bg) 82%, rgba(255, 255, 255, .06));--pl-panel: color-mix(in srgb, var(--card-bg) 78%, #111827 22%);--pl-panel-strong: color-mix(in srgb, var(--card-bg) 76%, var(--color-accent) 8%);--pl-title: #f3f7f8;--pl-title-soft: #aeb9bf;--pl-control: rgba(255, 255, 255, .07);--pl-control-hover: rgba(255, 255, 255, .12);--pl-screen-shadow: 0 20px 48px rgba(0, 0, 0, .45);box-shadow:0 24px 72px #0000005c,0 1px #ffffff14 inset}#particle-lab-tool .pl-titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 2px 12px;color:var(--pl-title);font-size:14px;font-weight:800;letter-spacing:0;line-height:1}#particle-lab-tool .pl-titlebar span:first-child{display:inline-flex;align-items:center;gap:6px}#particle-lab-tool .pl-titlebar span:first-child:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--color-accent) 18%,transparent)}#particle-lab-tool #pl-stats{min-width:132px;text-align:right;color:var(--pl-title-soft);font-size:12px;font-variant-numeric:tabular-nums}#particle-lab-tool .pl-screen{position:relative;overflow:hidden;aspect-ratio:16 / 10;border:0;border-radius:var(--radius-2xl);background:#000;box-shadow:var(--pl-screen-shadow)}#particle-lab-tool #particle-canvas{width:100%;height:100%;aspect-ratio:16 / 10;display:block;border:0;border-radius:inherit;background:#000;cursor:crosshair;image-rendering:pixelated;touch-action:none}#particle-lab-tool .pl-menu{margin-top:12px;overflow:hidden;border:0;border-radius:var(--radius-2xl);background:var(--pl-panel);box-shadow:0 1px #ffffff8c inset,0 8px 24px #0f172a12}#particle-lab-tool .pl-palette{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:10px;border-bottom:0}#particle-lab-tool .pl-tool,#particle-lab-tool .pl-button{min-width:0;border:0;background:transparent;color:var(--tool-color, #eee);font:inherit;font-size:10px;font-weight:850;line-height:1;letter-spacing:0;text-align:left;cursor:pointer}#particle-lab-tool .pl-tool{display:grid;grid-template-columns:13px minmax(0,1fr);align-items:center;column-gap:4px;min-height:26px;padding:6px 7px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--card-bg) 58%,transparent);color:color-mix(in srgb,var(--tool-color, var(--pl-title)) 58%,var(--pl-title) 42%);box-shadow:none}#particle-lab-tool .pl-tool:hover,#particle-lab-tool .pl-button:hover{background:var(--pl-control-hover);color:var(--pl-title)}#particle-lab-tool .pl-tool.is-left,#particle-lab-tool .pl-tool.is-right{background:var(--pl-panel-strong);color:var(--pl-title);box-shadow:0 6px 18px #0f172a14}#particle-lab-tool .pl-tool span:last-child,#particle-lab-tool .pl-button{overflow:hidden;text-overflow:clip;white-space:nowrap}#particle-lab-tool .pl-markers{position:relative;width:14px;height:10px;display:block}#particle-lab-tool .pl-markers i{position:absolute;top:1px;width:7px;height:7px;border-radius:50%;border:0;opacity:.18;box-shadow:none}#particle-lab-tool .pl-l{left:0;background:#ff4a43}#particle-lab-tool .pl-r{right:0;background:#3885ff}#particle-lab-tool .pl-tool.is-left .pl-l,#particle-lab-tool .pl-tool.is-right .pl-r{opacity:1}#particle-lab-tool .pl-controls{display:grid;grid-template-columns:minmax(145px,1.45fr) repeat(8,minmax(42px,1fr));gap:6px;align-items:center;padding:0 10px 10px;border-bottom:0}#particle-lab-tool .pl-control{display:grid;grid-template-columns:auto minmax(70px,1fr) 2ch;align-items:center;gap:7px;min-height:28px;padding:5px 8px;border-radius:var(--radius-lg);background:var(--pl-control);color:var(--pl-soft);font-size:10px;font-weight:850;line-height:1}#particle-lab-tool .pl-control input{width:100%;accent-color:var(--color-accent)}#particle-lab-tool .pl-control output{min-width:2ch;text-align:right;color:var(--pl-title);font-variant-numeric:tabular-nums}#particle-lab-tool .pl-button{min-height:28px;padding:6px;border:0;border-radius:var(--radius-lg);background:var(--pl-control);color:var(--pl-soft);text-align:center}#particle-lab-tool .pl-status{display:flex;flex-wrap:wrap;gap:12px;padding:0 12px 12px;color:var(--pl-soft);font-size:10px;font-weight:850;line-height:1}#particle-lab-tool .pl-status span{display:inline-flex;align-items:center;gap:4px}#particle-lab-tool .pl-status b{display:inline-block;width:7px;height:7px;border-radius:50%}#particle-lab-tool #pl-left-status b{background:#ff4a43}#particle-lab-tool #pl-right-status b{background:#3885ff}@media (max-width: 760px){#particle-lab-tool{width:min(100%,520px);padding:10px}#particle-lab-tool .pl-palette{grid-template-columns:repeat(4,minmax(0,1fr))}#particle-lab-tool .pl-controls{grid-template-columns:repeat(3,minmax(0,1fr))}#particle-lab-tool .pl-control-wide{grid-column:1 / -1}}@media (max-width: 420px){#particle-lab-tool{padding:8px}#particle-lab-tool .pl-titlebar{font-size:11px}#particle-lab-tool #pl-stats{min-width:92px;font-size:10px}#particle-lab-tool .pl-tool,#particle-lab-tool .pl-button,#particle-lab-tool .pl-control,#particle-lab-tool .pl-status{font-size:10px}}.tool-card,.tool-card-placeholder{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:var(--radius-2xl);font:inherit;text-align:left;cursor:pointer;transition:all .2s ease;background:var(--card-bg);color:var(--text);border:2px solid transparent;box-shadow:0 2px 8px #0000000a}.tool-card-placeholder{cursor:default;box-shadow:none;border:2px dashed rgba(0,0,0,.1);background:transparent}.dark .tool-card-placeholder{border-color:#ffffff14}.tool-card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #00000014}.tool-card.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.tool-card-icon{width:28px;height:28px;flex-shrink:0}.tool-card-title{display:block;font-size:14px;font-weight:700;line-height:1.3}.tool-card-desc{display:block;font-size:12px;opacity:.7;line-height:1.3}.tool-card.active .tool-card-desc{opacity:.85}.tool-card-featured{text-decoration:none;border-color:color-mix(in srgb,var(--color-accent) 45%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 60%),var(--card-bg);padding-right:14px}.tool-card-featured:hover{border-color:var(--color-accent);box-shadow:0 8px 24px -10px color-mix(in srgb,var(--color-accent) 60%,transparent)}.tool-card-appicon{display:inline-flex;width:34px;height:34px;flex-shrink:0}.tool-card-appicon svg{width:100%;height:100%;border-radius:9px}.tool-card-badge{display:inline-block;vertical-align:middle;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--color-accent);border-radius:var(--radius-pill)}.tool-card-arrow{width:18px;height:18px;flex-shrink:0;margin-left:4px;color:var(--color-accent);transition:transform .2s ease}.tool-card-featured:hover .tool-card-arrow{transform:translate(3px)}
