:root{color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: oklch(1 0 0);--surface: oklch(1 0 0);--surface-subtle: oklch(.965 .008 279);--surface-pressed: oklch(.925 .016 279);--ink: oklch(.19 .02 279);--muted: oklch(.46 .028 279);--quiet: oklch(.59 .022 279);--hairline: oklch(.885 .014 279);--hairline-strong: oklch(.79 .025 279);--primary: oklch(.445 .206 279.1);--primary-hover: oklch(.39 .21 279.1);--primary-subtle: oklch(.945 .028 279.1);--success: oklch(.63 .145 167);--warning: oklch(.72 .15 70);--danger: oklch(.55 .205 25);--canvas: oklch(.12 .015 279);--canvas-panel: oklch(.2 .02 279 / .92);--canvas-text: oklch(.98 .004 279);--canvas-muted: oklch(.77 .02 279);--focus: oklch(.62 .2 279.1);--z-sticky: 20;--z-overlay: 30}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid oklch(.67 .17 279.1 / .46);outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{display:grid;grid-template-rows:64px minmax(0,1fr);height:100svh;min-height:620px;background:var(--bg)}.app-shell.has-capability-warning{grid-template-rows:64px auto minmax(0,1fr)}.topbar{position:relative;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 20px;border-bottom:1px solid var(--hairline);background:var(--surface)}.brand,.brand-copy,.topbar-actions,.button,.stage-bottom,.interaction-hint,.inspector-heading>div,.inspector-footer{display:flex;align-items:center}.brand{min-width:0;gap:10px}.brand-mark{position:relative;display:grid;grid-template-columns:repeat(3,6px);gap:3px;width:24px;height:24px;align-content:center;justify-content:center;border-radius:7px;background:var(--ink)}.brand-mark i{display:block;width:6px;height:6px;border-radius:50%;background:var(--surface)}.brand-mark i:nth-child(2){background:#9299ff;background:oklch(.72 .16 279.1)}.brand-mark i:nth-child(3){background:#4fd9b4}.brand-copy{gap:5px;white-space:nowrap;letter-spacing:-.01em}.brand-copy strong{font-size:.9rem;font-weight:720}.brand-copy span{color:var(--muted);font-size:.9rem;font-weight:520}.topbar-actions{gap:7px}.capability-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:9px 16px;border-bottom:1px solid oklch(.84 .055 279.1);background:#f1f3ff;background:oklch(.965 .025 279.1)}.capability-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:var(--primary);background:#dadfff;background:oklch(.91 .065 279.1)}.capability-copy{min-width:0}.capability-copy strong,.capability-copy p{margin:0}.capability-copy strong{display:block;font-size:.75rem;font-weight:720}.capability-copy p{max-width:74ch;margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.45;text-wrap:pretty}.capability-action{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;gap:3px 7px}.capability-action code{padding:6px 8px;border-radius:7px;color:var(--primary-hover);background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.63rem}.capability-action code a{color:inherit;text-decoration-color:#888fd2;text-underline-offset:2px}.capability-action button{display:inline-flex;min-height:30px;align-items:center;gap:6px;padding:0 9px;border:0;border-radius:7px;color:#fbfcfd;background:var(--primary);font-size:.66rem;font-weight:660;cursor:pointer}.capability-action button:hover{background:var(--primary-hover)}.capability-action small{grid-column:1 / -1;color:var(--muted);font-size:.58rem}.button{min-height:34px;justify-content:center;gap:7px;padding:0 12px;border:0;border-radius:8px;font-size:.76rem;font-weight:650;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.button:active{transform:translateY(1px)}.button-quiet{color:var(--ink);background:transparent}.button-quiet:hover{background:var(--surface-subtle)}.button-primary{color:#fbfcfd;background:var(--primary)}.button-primary:hover{background:var(--primary-hover)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:0}.stage-shell{display:grid;grid-template-rows:minmax(0,1fr) 24px;min-width:0;min-height:0;padding:16px 16px 10px;overflow:hidden;background:var(--surface-subtle)}.stage{position:relative;min-width:0;min-height:430px;overflow:hidden;border-radius:16px;background:var(--canvas);box-shadow:0 4px 8px #0f101d24;isolation:isolate}.particle-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.stage-top,.stage-bottom,.error-notice,.drop-overlay{position:absolute;z-index:var(--z-overlay)}.stage-top{top:14px;left:14px;right:14px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.button-stage,.preset-control,.interaction-hint{background:var(--canvas-panel);color:var(--canvas-text)}.button-stage{justify-self:end;pointer-events:auto}.button-stage:hover{background:#242531f5}.stage-bottom{right:14px;bottom:14px;left:14px;justify-content:space-between;gap:14px;pointer-events:none}.preset-control{display:flex;gap:3px;padding:4px;border-radius:10px;pointer-events:auto}.preset-control button{min-width:48px;min-height:28px;padding:0 9px;border:0;border-radius:7px;color:var(--canvas-muted);background:transparent;font-size:.67rem;font-weight:620;cursor:pointer;transition:color .18s cubic-bezier(.22,1,.36,1),background-color .18s cubic-bezier(.22,1,.36,1)}.preset-control button:hover{color:var(--canvas-text)}.preset-control button[aria-pressed=true]{color:var(--canvas-text);background:#35347d}.interaction-hint{gap:6px;padding:8px 10px;border-radius:9px;color:var(--canvas-muted);font-size:.66rem;font-weight:540}.interaction-hint span{margin:0 1px;opacity:.5}.drop-overlay{top:12px;right:12px;bottom:12px;left:12px;display:grid;place-content:center;justify-items:center;gap:8px;border:1px dashed oklch(.76 .16 279.1);border-radius:12px;color:var(--canvas-text);background:#0c0d1ef5;pointer-events:none}.drop-overlay>span{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;color:#ced4ff;color:oklch(.88 .09 279.1);background:#2b2d5a}.drop-overlay strong{margin-top:4px;font-size:.9rem}.drop-overlay small{color:var(--canvas-muted);font-size:.72rem}.error-notice{top:50%;left:50%;display:grid;width:min(340px,calc(100% - 32px));gap:7px;padding:18px;border-radius:12px;color:var(--canvas-text);background:#261210fa;transform:translate(-50%,-50%)}.error-notice strong{font-size:.82rem}.error-notice span{color:#e0bab6;font-size:.72rem;line-height:1.5}.error-notice button{width:fit-content;margin-top:4px;padding:0;border:0;color:#ffd1cd;color:oklch(.9 .07 25);background:transparent;font-size:.72rem;font-weight:680;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.stage-caption{display:flex;align-items:center;gap:6px;min-width:0;margin:7px 2px 0;color:var(--muted);font-size:.66rem;line-height:1}.stage-caption span{margin-left:auto;color:var(--quiet);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.inspector{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;border-left:1px solid var(--hairline);background:var(--surface)}.inspector-heading{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:13px 16px;border-bottom:1px solid var(--hairline)}.inspector-heading>div{min-width:0;gap:10px}.heading-icon{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-subtle)}.inspector-heading h2,.inspector-heading p{margin:0}.inspector-heading h2{font-size:.86rem;font-weight:720;letter-spacing:-.01em}.inspector-heading p{margin-top:3px;color:var(--muted);font-size:.65rem}.icon-button{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;transition:color .18s cubic-bezier(.22,1,.36,1),background-color .18s cubic-bezier(.22,1,.36,1)}.icon-button:hover{color:var(--ink);background:var(--surface-subtle)}.inspector-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.inspector-section{border-bottom:1px solid var(--hairline)}.inspector-section summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 16px;cursor:pointer;list-style:none;transition:background-color .18s cubic-bezier(.22,1,.36,1)}.inspector-section summary::-webkit-details-marker{display:none}.inspector-section summary:hover{background:var(--surface-subtle)}.section-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;color:var(--muted);background:var(--surface-subtle)}.section-copy{display:grid;gap:2px}.section-copy strong{font-size:.75rem;font-weight:680}.section-copy small{color:var(--muted);font-size:.64rem}.section-chevron{color:var(--quiet);transition:transform .18s cubic-bezier(.22,1,.36,1)}.inspector-section[open] .section-chevron{transform:rotate(180deg)}.section-content{display:grid;gap:18px;padding:7px 16px 20px}.range-field{display:grid;gap:9px}.field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.field-heading label,.color-field>label{color:var(--ink);font-size:.7rem;font-weight:580}.field-heading output{flex:0 0 auto;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:18px;margin:0;accent-color:var(--primary);cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--surface-pressed)}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-5.5px;border:3px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary);-webkit-appearance:none}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--surface-pressed)}input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--primary)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border:3px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.toggle-row>span:first-child{display:grid;gap:3px}.toggle-row strong{font-size:.7rem;font-weight:600}.toggle-row small{max-width:31ch;color:var(--muted);font-size:.62rem;line-height:1.4}.switch{position:relative;display:inline-flex;flex:0 0 auto}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{display:flex;width:34px;height:20px;align-items:center;padding:2px;border-radius:999px;background:var(--hairline-strong);transition:background-color .18s cubic-bezier(.22,1,.36,1)}.switch-track span{width:16px;height:16px;border-radius:50%;background:var(--surface);transform:translate(0);transition:transform .18s cubic-bezier(.22,1,.36,1)}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track span{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:3px solid oklch(.67 .17 279.1 / .46);outline-offset:2px}.color-field{display:flex;align-items:center;justify-content:space-between;gap:14px;transition:opacity .18s cubic-bezier(.22,1,.36,1)}.color-field>span{display:flex;align-items:center;gap:8px}.color-field input[type=color]{width:28px;height:28px;padding:2px;border:1px solid var(--hairline-strong);border-radius:7px;background:var(--surface);cursor:pointer}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.color-field code{min-width:62px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.63rem}.color-field.is-disabled{opacity:.42}.color-field.is-disabled input{cursor:not-allowed}.inspector-footer{gap:9px;min-height:50px;padding:8px 16px;border-top:1px solid var(--hairline);color:var(--muted);background:var(--surface)}.inspector-footer>span{display:grid;flex:1;gap:1px}.inspector-footer strong{color:var(--ink);font-size:.66rem;font-weight:650}.inspector-footer small{font-size:.58rem}@media(max-width:1080px){.workspace{grid-template-columns:minmax(0,1fr) 338px}.interaction-hint{display:none}.stage-bottom{justify-content:flex-start}.capability-action code{display:none}.capability-action{grid-template-columns:auto}}@media(max-width:760px){.app-shell{display:block;height:auto;min-height:100svh}.topbar{position:sticky;top:0;min-height:58px;padding:0 12px}.brand-copy span,.topbar-actions .button-quiet{display:none}.button-primary{padding:0 10px}.workspace{display:block}.capability-warning{grid-template-columns:auto minmax(0,1fr);padding:11px 12px}.capability-action{grid-column:2;justify-items:start}.capability-action small{text-align:left}.stage-shell{display:block;padding:8px 8px 7px}.stage{min-height:58svh;border-radius:12px}.stage-top{top:9px;right:9px;left:9px}.stage-bottom{right:9px;bottom:9px;left:9px}.stage-caption{margin:8px 3px 0;min-height:16px}.inspector{min-height:auto;border-top:1px solid var(--hairline);border-left:0}.inspector-heading{position:sticky;top:58px;z-index:var(--z-sticky);background:var(--surface)}.inspector-scroll{overflow:visible}.inspector-footer{margin-bottom:env(safe-area-inset-bottom)}}@media(max-width:440px){.brand-copy strong{font-size:.82rem}.topbar-actions .button-primary{font-size:0}.topbar-actions .button-primary svg{margin:0}.button-stage{width:36px;padding:0;font-size:0}.preset-control button{min-width:45px;padding:0 7px}.capability-warning{gap:9px}.capability-copy p{font-size:.62rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
