.editor{--ruler:22px;height:100dvh;font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-1);background:var(--bg-0);flex-direction:column;display:flex}.editor__header{align-items:center;gap:var(--sp-4);height:60px;padding:0 var(--sp-4);background:var(--bg-2);border-bottom:1px solid var(--border-1);flex:none;display:flex}.editor__brand-wrap{flex-direction:column;flex:none;line-height:1.1;display:flex}.editor__brand{letter-spacing:-.02em;white-space:nowrap;background:var(--grad-accent);color:#0000;cursor:default;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;margin:0;font-size:21px;font-style:italic;font-weight:900;line-height:1}.editor__brand span{color:#45d8ff;-webkit-text-fill-color:#45d8ff}.editor__tagline{letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--text-3);margin-top:2px;font-size:9px}.editor__project{align-items:center;gap:var(--sp-3);padding-left:var(--sp-3);border-left:1px solid var(--border-1);display:inline-flex}.editor__project-name{width:150px;font-family:var(--font-mono);font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.editor__status{font-size:var(--fs-xs);white-space:nowrap;color:var(--text-2);align-items:center;gap:6px;display:inline-flex}.editor__status-dot{width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);background:currentColor;border-radius:50%}.editor__status--saved{color:var(--ok)}.editor__status--saving,.editor__status--pending{color:var(--warn)}.editor__status--error{color:var(--danger);cursor:help}.editor__status--idle{color:var(--text-3)}.editor__spacer{flex:1}.editor__undo{background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-round);flex:none;padding:2px}.editor__undo .btn--icon{border-radius:var(--r-round)}.editor__actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.editor__quick-export{gap:var(--sp-1)}.editor__load-error{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);border-bottom:1px solid var(--danger-line);flex:none;display:flex}.editor__load-error-text{flex:1}.editor__workspace{flex:1;min-height:0;display:flex}.editor__center{background:#070a0e;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.workflow{border-bottom:1px solid var(--border-1);background:linear-gradient(#11171ffa,#080c11fa);flex-wrap:wrap;flex:none;align-items:stretch;gap:12px;min-height:62px;padding:8px 12px;display:flex}.workflow__stages{flex:430px;gap:6px;min-width:min(100%,390px);display:flex}.workflow__stage{min-width:130px;color:var(--text-2);text-align:left;border:1px solid var(--border-2);cursor:pointer;background:#10151c;border-radius:9px;flex:1;align-items:center;gap:10px;padding:7px 12px;display:flex}.workflow__stage:hover{color:#fff;border-color:var(--border-3)}.workflow__stage.is-active{color:#fff;background:linear-gradient(135deg,#22d3ee21,#d946ef21);border-color:#22d3ee;box-shadow:inset 0 -2px #22d3ee,0 0 22px #22d3ee14}.workflow__index{color:#22d3ee;font:700 11px var(--font-mono)}.workflow__stage strong{font-size:12px;display:block}.workflow__stage small{color:var(--text-3);margin-top:2px;font-size:9px;display:block}.workflow__readout,.workflow__paint{min-width:0;max-width:430px;color:var(--text-2);border-left:1px solid var(--border-2);flex-wrap:wrap;flex:270px;justify-content:center;align-items:center;gap:5px 10px;padding:6px 10px;font-size:10px;display:flex}.workflow__paint{max-width:300px}.workflow__readout strong{color:#fff}.workflow__readout .is-low{color:#fb7185}.workflow__readout button,.workflow__paint button{color:var(--text-1);border:1px solid var(--border-2);cursor:pointer;background:#151c25;border-radius:6px;padding:5px 9px}.workflow__paint button:hover,.workflow__readout button:hover{border-color:#22d3ee}.workflow__status{width:100%;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em}.workflow__status--running{color:#22d3ee}.workflow__status--ready{color:#a3e635}.panel{background:var(--bg-1);overflow:auto}.panel__title{margin:0 0 var(--sp-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);font-weight:700}.library{border-right:1px solid var(--border-1);flex:none;min-height:0;display:flex}.rail{gap:var(--sp-1);width:72px;padding:var(--sp-2) var(--sp-1);background:var(--bg-2);border-right:1px solid var(--border-1);flex-direction:column;flex:none;display:flex}.rail__btn{padding:var(--sp-2) 2px;color:var(--text-2);border-radius:var(--r-3);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;display:flex}.rail__btn:hover{color:var(--text-1);background:var(--bg-hover)}.rail__btn.is-active{color:#fff;background:var(--grad-accent-soft);border-color:var(--accent-line)}.rail__btn.is-active>svg{color:var(--accent)}.rail__label{letter-spacing:.02em;white-space:nowrap;font-size:9.5px}.library__panel{width:264px;padding:var(--sp-3) var(--sp-3) var(--sp-4);flex:none}.library__search{min-height:34px;color:var(--text-3);border:1px solid var(--border-2);background:#0a0e13;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;display:flex}.style-library{gap:22px;display:grid}.style-library__group{gap:10px;display:grid}.style-library__heading{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.library__search input{width:100%;min-width:0;color:var(--text-1);background:0 0;border:0;outline:0;padding:7px 0}.lib-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.lib-card{text-align:left;background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-3);color:var(--text-1);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);flex-direction:column;gap:6px;padding:7px;display:flex;position:relative}.lib-card:hover{background:var(--bg-hover);border-color:var(--border-3)}.lib-card:active{transform:translateY(1px)}.lib-card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 1px var(--accent-line)}.lib-card.is-hint{border-color:var(--accent-line)}.lib-card.is-hint .lib-card__badge{color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-line)}.lib-card__thumb{aspect-ratio:16/9;border-radius:var(--r-2);border:1px solid var(--border-2);background-color:var(--bg-0);background-image:linear-gradient(135deg,#a855f714,#ec48990f),linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:cover,12px 12px,12px 12px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.lib-card__thumb-svg{box-sizing:border-box;background:0 0;width:100%;height:100%;padding:10%;display:block;position:relative}.lib-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.lib-card__label{font-size:var(--fs-sm);font-weight:600;line-height:1.25}.lib-card__meta{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;font-size:9.5px;line-height:1.3}.lib-card__badge{top:var(--sp-2);right:var(--sp-2);color:#fff;background:var(--grad-accent);border-radius:var(--r-round);padding:2px 6px;font-size:9px;font-weight:700;position:absolute}.canvas{background:var(--bg-0);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.canvas__frame{grid-template-columns:var(--ruler) minmax(0, 1fr);grid-template-rows:var(--ruler) minmax(0, 1fr);flex:1;min-height:0;display:grid}.canvas__ruler-corner{background:var(--bg-2);border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);grid-area:1/1}.canvas__ruler{background:var(--bg-2);overflow:hidden}.canvas__ruler--top{border-bottom:1px solid var(--border-1);grid-area:1/2}.canvas__ruler--left{border-right:1px solid var(--border-1);grid-area:2/1}.canvas__ruler-tick{stroke:var(--border-3);stroke-width:1px}.canvas__ruler-text{fill:var(--text-3);font-family:var(--font-mono);font-size:8.5px}.canvas__ruler-text--v{writing-mode:vertical-rl;text-orientation:sideways}.canvas__stage{background-color:var(--bg-0);background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:24px 24px;grid-area:2/2;min-height:0;position:relative;overflow:hidden}.canvas__stage:before{content:"";pointer-events:none;background:radial-gradient(circle at 72% 36%,#10aff01f,#0000 28%),radial-gradient(circle at 28% 70%,#e530b817,#0000 25%);border:1px solid #69b7e824;position:absolute;inset:7% 5% 9%;box-shadow:0 24px 80px #00000080}.canvas__svg{-webkit-user-select:none;user-select:none;display:block}.canvas__artboard{top:var(--sp-3);left:var(--sp-3);border:1px solid var(--border-1);border-radius:var(--r-2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#121218b8;flex-direction:column;gap:1px;padding:6px 10px;display:flex;position:absolute}.canvas__artboard-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:8.5px}.canvas__artboard-size{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-1);font-variant-numeric:tabular-nums}.canvas__artboard-sub{font-family:var(--font-mono);color:var(--text-2);font-variant-numeric:tabular-nums;font-size:10px}.canvas__warnings{left:var(--sp-3);gap:var(--sp-2);max-width:min(420px, calc(100% - 2 * var(--sp-3)));pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:64px}.canvas__warning{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:#f4c169;border:1px solid var(--warn-line);border-radius:var(--r-2);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a160ceb;padding:6px 10px 6px 7px;display:flex}.canvas__warning-badge{color:#191204;background:var(--warn);border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.canvas__floating{left:50%;bottom:var(--sp-4);align-items:center;gap:var(--sp-2);border:1px solid var(--border-2);border-radius:var(--r-round);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:calc(100% - 2 * var(--sp-3));background:#16161dd1;flex-wrap:wrap;justify-content:center;padding:5px;display:flex;position:absolute;transform:translate(-50%)}.canvas__modes{gap:2px;display:inline-flex}.canvas__mode-btn{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-2);border-radius:var(--r-round);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;align-items:center;gap:5px;padding:5px 11px;font-weight:550;display:inline-flex}.canvas__mode-btn:hover{color:var(--text-1);background:var(--bg-hover)}.canvas__mode-btn.is-active{color:#fff;background:var(--grad-accent)}.canvas__floating-sep{background:var(--border-2);width:1px;height:20px}.canvas__zoombar{align-items:center;gap:2px;display:inline-flex}.canvas__zoom{font-size:var(--fs-sm);color:var(--text-1);font-variant-numeric:tabular-nums;text-align:center;min-width:46px}.glyph-inspector{top:var(--sp-3);right:var(--sp-3);gap:var(--sp-2);width:246px;max-height:calc(100% - 32px);padding:var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-3);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16161df5;flex-direction:column;display:flex;position:absolute;overflow:auto}.glyph-inspector__title{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:2px}.glyph-inspector__title strong{color:var(--text-1);font-family:var(--font-mono)}.glyph-inspector__index{color:var(--text-3)}.glyph-inspector__field{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2);display:flex}.glyph-inspector__field input{width:76px}.glyph-inspector__masters{grid-template-columns:1fr 1fr;gap:6px;display:grid}.glyph-inspector__master{color:var(--text-2);border:1px solid var(--border-2);cursor:pointer;background:#0b1016;border-radius:7px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.glyph-inspector__master svg{width:100%;height:38px;overflow:visible}.glyph-inspector__master path{fill:currentColor}.glyph-inspector__master small{font-size:8px}.glyph-inspector__master small span{color:#8a9aac;letter-spacing:.04em;font-size:7px;display:block}.glyph-inspector__master.is-active{color:#fff;border-color:#d946ef;box-shadow:inset 0 0 0 1px #d946ef4d}.glyph-inspector__motion{background:#0a0f15;border:1px solid #253140;border-radius:7px;margin-bottom:10px;padding:8px}.glyph-inspector__motion-stroke{border-top:1px solid #64748b24;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:24px;font-size:9px;display:grid}.glyph-inspector__motion-stroke:first-of-type{border-top:0}.glyph-inspector__motion-stroke b{color:#22d3ee;font:700 9px var(--font-mono)}.glyph-inspector__motion-stroke span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.glyph-inspector__motion-stroke small{color:#8a9aac;font-size:8px}.glyph-inspector__lock{color:var(--text-2);grid-column:1/-1;align-items:center;gap:6px;font-size:10px;display:flex}.glyph-inspector__refine{border-top:1px solid var(--border-2);gap:7px;padding-top:7px;display:grid}.glyph-inspector__section-title{color:var(--text-1);justify-content:space-between;align-items:baseline;font-size:10px;font-weight:700;display:flex}.glyph-inspector__section-title small{color:var(--text-3);font-size:8px;font-weight:500}.glyph-inspector__anchor-list{gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.glyph-inspector__anchor-list button{min-width:54px;color:var(--text-2);border:1px solid var(--border-2);cursor:pointer;background:#0b1016;border-radius:6px;padding:5px}.glyph-inspector__anchor-list button small{color:var(--text-3);text-transform:uppercase;margin-top:2px;font-size:7px;display:block}.glyph-inspector__anchor-list button.is-entry{border-bottom-color:#22d3ee}.glyph-inspector__anchor-list button.is-exit{border-bottom-color:#f43fba}.glyph-inspector__anchor-list button.is-active{color:#fff;background:#c96bff1f;border-color:#c96bff}.glyph-inspector__grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.glyph-inspector__grid .glyph-inspector__field{gap:3px;display:grid}.glyph-inspector__grid .glyph-inspector__field input{width:100%}.glyph-inspector__reset-node{color:var(--text-2);border:1px solid var(--border-2);cursor:pointer;background:#111720;border-radius:6px;padding:5px 8px}.glyph-inspector__gesture{color:var(--text-2);grid-template-columns:75px 1fr 34px;align-items:center;gap:6px;font-size:9px;display:grid}.glyph-inspector__gesture input{accent-color:#c96bff;min-width:0}.glyph-inspector__gesture output{color:#fff;font:9px var(--font-mono);text-align:right}.canvas__stroke-plan polyline{fill:none;stroke:#22d3ee;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;vector-effect:non-scaling-stroke;animation:1.1s forwards stroke-plan-draw}.canvas__stroke-plan text{fill:#071015;stroke:#22d3ee;stroke-width:5px;paint-order:stroke;font:700 14px var(--font-mono)}.canvas__stroke-plan text.is-low{stroke:#fb7185}.canvas__skeleton-nodes circle{fill:#0b1119;stroke:#c96bff;stroke-width:2px}.canvas__skeleton-nodes .is-entry circle{stroke:#22d3ee}.canvas__skeleton-nodes .is-exit circle{stroke:#f43fba}.canvas__skeleton-nodes text{fill:#fff;stroke:#071015;stroke-width:3px;paint-order:stroke;font:700 10px var(--font-mono)}@keyframes stroke-plan-draw{to{stroke-dashoffset:0}}.rpanel{background:var(--bg-1);border-left:1px solid var(--border-1);flex-direction:column;flex:none;width:320px;min-height:0;display:flex}.rpanel__tabs{gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) 0;border-bottom:1px solid var(--border-1);flex:none;display:flex}.rpanel__tab{font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-weight:600}.rpanel__tab.is-active{color:var(--text-1);border-bottom-color:var(--accent)}.rpanel__body{gap:var(--sp-4);flex-direction:column;flex:1;min-height:0;padding:12px 14px 18px;display:flex;overflow:auto}.rpanel__section{gap:var(--sp-2);flex-direction:column;display:flex}.rpanel__section+.rpanel__section{padding-top:var(--sp-4);border-top:1px solid var(--border-1)}.rpanel__section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0;font-weight:700}.params__grid{flex-direction:column;gap:2px;display:flex}.params__row{border-radius:var(--r-2);align-items:center;gap:7px;min-height:34px;padding:2px;display:flex}.params__row.is-disabled{opacity:.5}.params__target{flex:none;margin:0}.params__body{flex:1;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.params__label-row{justify-content:flex-start;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.params__label{color:var(--text-1);white-space:nowrap;align-items:baseline;gap:6px;font-weight:550;display:inline-flex}.params__key{font-family:var(--font-mono);color:var(--text-3);display:none}.params__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent-text);cursor:pointer;display:none}.params__control{align-items:center;gap:var(--sp-2);display:flex}.params__track{cursor:pointer;touch-action:none;flex:1;min-width:0;height:18px;position:relative}.params__track:before{content:"";background:var(--bg-active);border-radius:var(--r-round);height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.params__track-fill{background:var(--grad-accent);border-radius:var(--r-round);pointer-events:none;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.params__track-thumb{background:var(--text-1);border:2px solid var(--accent);pointer-events:none;width:14px;height:14px;transition:transform var(--t-fast);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000080}.params__track:hover .params__track-thumb{transform:translate(-50%,-50%)scale(1.12)}.params__track.is-disabled{cursor:not-allowed}.params__track.is-disabled .params__track-fill,.params__track.is-disabled .params__track-thumb{background:var(--bg-active);border-color:var(--border-3)}.params__number{text-align:right;width:52px;font-family:var(--font-mono);font-size:var(--fs-sm);flex:none;height:30px}.params__hint{font-size:var(--fs-xs);color:var(--warn);grid-column:1/-1;line-height:1.4}.params__hint--clamp{color:var(--accent-text)}.params__hint--warn{color:var(--danger)}.params__seed-row{align-items:center;gap:var(--sp-2);display:flex}.params__seed-input{min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:1}.params__seed-randomize{flex:none;margin-left:auto}.colors__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.colors__item{align-items:center;gap:var(--sp-2);border-radius:var(--r-1);flex-direction:column;padding:3px 4px;display:flex}.colors__swatch{border-radius:var(--r-1);border:1px solid var(--border-3);flex:none;width:100%;height:28px}.colors__meta{flex-direction:column;min-width:0;display:flex}.colors__key{font-size:var(--fs-sm);color:var(--text-1)}.colors__hex{font-family:var(--font-mono);color:var(--text-3);text-transform:uppercase;font-size:10px}.colors__key{font-size:9px}.colors__hex{display:none}.colors__empty{font-size:var(--fs-sm);color:var(--text-3)}.layers__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.layers__head{flex-direction:column;gap:8px;display:flex}.layers__add{flex-wrap:wrap;gap:6px;display:flex}.layers__add button{font:inherit;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-line);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:10px}.layers__row{align-items:center;gap:var(--sp-2);font-size:var(--fs-base);border-radius:var(--r-2);transition:background var(--t-fast);padding:3px 6px;display:flex}.layers__row:hover{background:var(--bg-2)}.layers__row.is-hidden .layers__kind,.layers__row.is-hidden .layers__swatch{opacity:.4}.layers__toggle{width:28px;height:24px;color:var(--text-1);border-radius:var(--r-1);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.layers__toggle:hover{background:var(--bg-hover)}.layers__row.is-hidden .layers__toggle{color:var(--text-3)}.layers__swatch{border-radius:var(--r-1);border:1px solid var(--border-3);flex:none;width:16px;height:16px}.layers__kind{font-size:var(--fs-base);color:var(--text-1)}.layers__rendered{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border-1);flex-direction:column;gap:4px;display:flex}.layers__rendered-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.layers__rendered-stack{font-size:var(--fs-xs);color:var(--text-2);line-height:1.55}.bottompanel{background:var(--bg-1);border:1px solid #df3fc957;border-top:1px solid var(--border-1);border-radius:14px;flex-direction:column;flex:none;height:216px;margin:0 12px 12px;display:flex;overflow:hidden;box-shadow:0 18px 50px #00000061}.bottompanel__tabs{gap:var(--sp-1);padding:var(--sp-2) var(--sp-4) 0;border-bottom:1px solid var(--border-1);flex:none;display:flex}.bottompanel__tab{font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-weight:600}.bottompanel__tab:hover{color:var(--text-1)}.bottompanel__tab.is-active{color:var(--text-1);border-bottom-color:var(--accent)}.bottompanel__body{flex:1;min-height:0;padding:12px 16px;overflow:auto}.quick{flex-wrap:wrap;align-items:flex-start;gap:14px 22px;display:flex}.quick__textures{order:-1;grid-template-columns:repeat(5,minmax(82px,1fr));gap:10px;width:100%;display:grid}.quick__texture{color:var(--text-2);font:inherit;border:1px solid var(--border-2);cursor:pointer;background:#151a21;border-radius:8px;grid-template-rows:44px auto;gap:5px;padding:7px;font-size:10px;display:grid}.quick__texture:hover,.quick__texture.is-active{color:#fff;border-color:#d946ef;box-shadow:0 0 0 1px #d946ef4d,0 0 22px #a855f71f}.quick__texture-mark{background:#090c10;border-radius:5px;display:block;position:relative;overflow:hidden}.quick__texture-mark:before,.quick__texture-mark:after{content:"";background:#e8edf5;border-radius:50%;height:13px;position:absolute;top:35%;left:10%;right:10%;transform:rotate(-8deg)skew(-18deg)}.quick__texture-mark:after{opacity:.55;top:50%;transform:rotate(7deg)skew(22deg)}.quick__texture-mark--sharp:before{border-radius:0;transform:rotate(-12deg)skew(-35deg)}.quick__texture-mark--dynamic:before{background:linear-gradient(90deg,#6b4ce8,#e8edf5);transform:rotate(-18deg)skew(-28deg)}.quick__texture-mark--rough:before{filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.3' numOctaves='2'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='8'/%3E%3C/filter%3E%3C/svg%3E%23n")}.quick__texture-mark--punk:before{clip-path:polygon(0 35%,15% 0,28% 48%,44% 8%,58% 56%,74% 12%,100% 62%,90% 100%,0 80%);background:#fff}.quick__field{flex-direction:column;gap:5px;display:flex}.quick__field-label{font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;color:var(--text-2)}.quick__field--seed{min-width:220px}.quick__seed-row{align-items:center;gap:var(--sp-2);display:inline-flex}.quick__seed-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-1);background:var(--bg-3);border-radius:var(--r-1);border:1px solid var(--border-2);padding:5px 10px}.params__engine--flat{border:none;margin:0;padding:0}.params__engine h3{margin:0 0 var(--sp-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-weight:700}.params__engine h3:not(:first-child){margin-top:14px}.params__engine-row{gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.params__engine-field{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2);display:inline-flex}.params__engine-field input[type=range]{width:128px}.params__engine-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);text-align:right;min-width:36px}.randomize{gap:var(--sp-3);flex-direction:column;max-width:720px;display:flex}.randomize__head{align-items:center;gap:var(--sp-3);display:flex}.randomize__label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.randomize__chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.randomize__chip{font-size:var(--fs-sm);color:var(--text-2);background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--r-round);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);padding:5px 11px}.randomize__chip:hover{color:var(--text-1);border-color:var(--border-3)}.randomize__chip.is-on{color:#fff;background:var(--grad-accent-soft);border-color:var(--accent)}.randomize__run{align-self:flex-start}.export-dialog{width:384px}.export-dialog__png-size{margin:0 0 var(--sp-2);border:none;padding:0}.export-dialog__png-size legend{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:0 0 var(--sp-2)}.export-dialog__row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.export-dialog__radio{font-size:var(--fs-sm);color:var(--text-1);cursor:pointer;align-items:center;gap:5px;display:inline-flex}.export-dialog__long-edge{text-align:right;width:74px;font-family:var(--font-mono)}.export-dialog__unit{font-size:var(--fs-xs);color:var(--text-2)}.projects-dialog{width:440px}.projects-dialog__current{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.projects-dialog__current-info{align-items:center;gap:var(--sp-3);display:inline-flex}.projects-dialog__current-info strong{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-1)}.projects-dialog__tools{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-1);display:flex}.projects-dialog__status{font-size:var(--fs-xs);color:var(--text-2)}.projects-dialog__status--saving,.projects-dialog__status--pending{color:var(--warn)}.projects-dialog__status--saved{color:var(--ok)}.projects-dialog__status--error{color:var(--danger)}.projects-dialog__list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.projects-dialog__item{align-items:center;gap:var(--sp-2);display:flex}.projects-dialog__load{justify-content:space-between;align-items:center;gap:var(--sp-3);text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--bg-3);color:var(--text-1);cursor:pointer;font-size:var(--fs-base);transition:background var(--t-fast), border-color var(--t-fast);flex:1;display:flex}.projects-dialog__load:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-3)}.projects-dialog__load:disabled{opacity:.5;cursor:not-allowed}.projects-dialog__item-text{font-family:var(--font-mono);font-weight:600}.projects-dialog__item-meta{font-size:var(--fs-xs);color:var(--text-2)}.projects-dialog__confirm{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--danger);white-space:nowrap;display:inline-flex}@media (width<=900px){.editor{height:auto;min-height:100dvh}.editor__header{gap:var(--sp-2);height:auto;padding:var(--sp-2) var(--sp-3);flex-wrap:wrap}.editor__brand{font-size:20px}.editor__tagline{display:none}.editor__project{border-left:none;padding-left:0}.editor__project-name{width:120px}.editor__workspace{flex-direction:column}.editor__center{flex:none;order:-1}.workflow{overflow-x:auto}.workflow__stages{min-width:520px}.workflow__readout,.workflow__paint{min-width:210px}.canvas{border-bottom:1px solid var(--border-1);flex:none;order:-1;height:54vh;min-height:320px}.library{border-right:none;border-top:1px solid var(--border-1);flex-direction:column}.rail{border-right:none;border-bottom:1px solid var(--border-1);flex-direction:row;width:100%;overflow-x:auto}.rail__btn{flex:1 0 auto}.library__panel{width:100%}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.rpanel{border-left:none;border-top:1px solid var(--border-1);width:100%}.rpanel__body{overflow:visible}.bottompanel{height:auto}.bottompanel__body{overflow:visible}}main{max-width:720px;font-family:var(--font-sans,system-ui, sans-serif);color:var(--text-1,#e8eaf0);margin:0 auto;padding:2rem 1rem}pre{background:var(--bg-2,#1b1e26);color:var(--text-1,#e8eaf0);border-radius:.5rem;padding:.75rem;overflow-x:auto}:root{--bg-0:#0b0b10;--bg-1:#121218;--bg-2:#16161d;--bg-3:#20212b;--bg-hover:#2a2b37;--bg-active:#34364a;--text-1:#edeef4;--text-2:#9aa1b1;--text-3:#626a7b;--accent:#a855f7;--accent-hover:#b671ff;--accent-press:#9440e0;--accent-2:#ec4899;--accent-cyan:#22d3ee;--accent-lime:#a3e635;--accent-soft:#a855f729;--accent-line:#a855f780;--accent-text:#d9c2ff;--grad-accent:linear-gradient(118deg, #a855f7 0%, #ec4899 100%);--grad-accent-soft:linear-gradient(118deg, #a855f738 0%, #ec489938 100%);--danger:#ff6070;--danger-hover:#ff7683;--danger-soft:#ff607024;--danger-line:#ff607073;--warn:#f2b13c;--warn-soft:#f2b13c21;--warn-line:#f2b13c66;--ok:#3ccf8e;--ok-soft:#3ccf8e24;--border-1:#ffffff12;--border-2:#ffffff1f;--border-3:#fff3;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-1:4px;--r-2:6px;--r-3:8px;--r-4:12px;--r-round:999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 20px #00000073;--shadow-3:0 18px 48px #0009;--t-fast:.12s ease;--t-med:.19s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--bg-0);color:var(--text-1);font-family:var(--font-sans);margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-color:var(--bg-active) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:var(--r-round);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:#414958 padding-box content-box}.toast{right:var(--sp-4);bottom:var(--sp-4);z-index:1000;max-width:340px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-3);background:var(--bg-2);color:var(--text-1);border:1px solid var(--border-2);box-shadow:var(--shadow-3);font-size:var(--fs-base);animation:toast-in var(--t-med);line-height:1.55;position:fixed}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast__body{margin:0 0 var(--sp-3);color:var(--text-1)}.toast__actions{gap:var(--sp-2);justify-content:flex-end;display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-base);white-space:nowrap;color:var(--text-1);background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--r-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);padding:6px 12px;font-weight:550;line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-3)}.btn:active:not(:disabled){background:var(--bg-active)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn>svg{flex:none}.btn--sm{font-size:var(--fs-sm);gap:5px;padding:4px 9px}.btn--primary{color:#fff;background:var(--grad-accent);border-color:#0000;box-shadow:inset 0 1px #ffffff14}.btn--primary:hover:not(:disabled){filter:brightness(1.08);border-color:#0000}.btn--primary:active:not(:disabled){filter:brightness(.94)}.btn--primary:disabled{background:var(--bg-3);color:var(--text-3);box-shadow:none}.btn--secondary{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-line)}.btn--secondary:hover:not(:disabled){border-color:var(--accent);background:#a855f742}.btn--accent-svg{color:#ffd6ec;border-color:var(--accent-2);letter-spacing:.03em;background:#ec48991f;font-weight:650}.btn--accent-svg:hover:not(:disabled){color:#fff;background:#ec489938}.btn--accent-png{color:#c7f6ff;border-color:var(--accent-cyan);letter-spacing:.03em;background:#22d3ee1f;font-weight:650}.btn--accent-png:hover:not(:disabled){color:#fff;background:#22d3ee38}.btn--install{color:#d8f5a0;background:#a3e6351f;border-color:#a3e6358c;font-weight:600}.btn--install:hover:not(:disabled){color:#eaffc4;border-color:var(--accent-lime);background:#a3e63538}.btn--ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){color:var(--text-1);background:var(--bg-hover)}.btn--danger{color:#fff;background:var(--danger);border-color:#0000}.btn--danger:hover:not(:disabled){background:var(--danger-hover)}.btn--danger-ghost{color:var(--danger);border-color:var(--danger-line);background:0 0}.btn--danger-ghost:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn--icon{color:var(--text-2);background:0 0;border-color:#0000;padding:6px}.btn--icon:hover:not(:disabled){color:var(--text-1);background:var(--bg-hover)}.btn--icon-sm{padding:3px;font-size:18px}.btn-group{align-items:center;gap:var(--sp-1);display:inline-flex}.editor select,.dialog select,.editor input[type=text],.dialog input[type=text],.editor input[type=number],.dialog input[type=number]{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-1);background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--r-2);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:5px 8px}.editor select:hover:not(:disabled),.dialog select:hover:not(:disabled),.editor input[type=text]:hover:not(:disabled),.dialog input[type=text]:hover:not(:disabled),.editor input[type=number]:hover:not(:disabled),.dialog input[type=number]:hover:not(:disabled){border-color:var(--border-3)}.editor input::placeholder,.dialog input::placeholder{color:var(--text-3)}.editor select:disabled,.dialog select:disabled,.editor input:disabled,.dialog input:disabled{opacity:.5;cursor:not-allowed}.editor select,.dialog select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa1b1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}.editor select option,.dialog select option{background:var(--bg-2);color:var(--text-1)}.editor input[type=checkbox],.dialog input[type=checkbox],.editor input[type=radio],.dialog input[type=radio],.editor input[type=range],.dialog input[type=range]{accent-color:var(--accent);cursor:pointer}.dialog__overlay{z-index:50;padding:var(--sp-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlay-in var(--t-fast);background:#06070aa3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.dialog{width:420px;max-width:100%;max-height:calc(100vh - var(--sp-6));color:var(--text-1);background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-4);box-shadow:var(--shadow-3);font-size:var(--fs-base);animation:dialog-in var(--t-med);overflow:auto}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog__header{padding:var(--sp-4) var(--sp-4) var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--border-1);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.dialog__header h2{font-size:var(--fs-lg);margin:0;font-weight:650}.dialog__section{padding:var(--sp-4);border-top:1px solid var(--border-1)}.dialog__section:first-of-type{border-top:none}.dialog__section h3{margin:0 0 var(--sp-3);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-weight:600}.dialog__note{margin:var(--sp-1) 0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-2);line-height:1.65}.dialog__error{margin:var(--sp-3) var(--sp-4);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--r-2)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{margin:0}
