@property --mo-amp{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx{syntax:"<number>";inherits:true;initial-value:1}@property --mo-esy{syntax:"<number>";inherits:true;initial-value:1}@property --mo-tilt{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edx{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-tilt2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-lock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-shake{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rockp{syntax:"<number>";inherits:true;initial-value:1}@property --mo-bdy{syntax:"<number>";inherits:true;initial-value:0}.mo-root,.mo-breathe,.mo-bob{transform-box:view-box;transform-origin:center}.mo-root{--mo-amp:0;--mo-morph:calc(.4s*var(--mo-rate,1));--mo-morph-ease:ease-in-out;--mo-tp:--mo-esx,--mo-esy,--mo-tilt,--mo-edy,--mo-edx,--mo-esx2,--mo-esy2,--mo-tilt2,--mo-edy2,--mo-lock,--mo-shake,--mo-rock,--mo-bdy;--mo-md:var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph);--mo-me:var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease);transition-property:--mo-amp,transform,var(--mo-tp);transition-duration:calc(.4s*var(--mo-rate,1)),calc(.16s*var(--mo-rate,1)),var(--mo-md);transition-timing-function:ease-out,cubic-bezier(.23,1,.32,1),var(--mo-me);animation:mo-shake calc(.112s*var(--mo-rate,1))linear infinite}.mo-bob>g:not(.mo-eyes){fill:var(--mo-head);transition:fill var(--mo-morph)var(--mo-morph-ease)}.mo-eyes{fill:var(--mo-eye);transition:fill var(--mo-morph)var(--mo-morph-ease)}@keyframes mo-shake{0%,to{translate:calc(.62px*var(--mo-shake))calc(-.34px*var(--mo-shake))}25%{translate:calc(-.7px*var(--mo-shake))calc(.22px*var(--mo-shake))}50%{translate:calc(.38px*var(--mo-shake))calc(.66px*var(--mo-shake))}75%{translate:calc(-.44px*var(--mo-shake))calc(-.6px*var(--mo-shake))}}.mo-root.mo-expr{--mo-morph:calc(.3s*var(--mo-rate,1));--mo-morph-ease:cubic-bezier(.45,.05,.5,1)}.mo-root:hover{--mo-amp:1;transition-duration:calc(.4s*var(--mo-rate,1)),calc(.22s*var(--mo-rate,1)),var(--mo-md);transform:translateY(-1.5px)scale(1.04)}.mo-root.mo-always{--mo-amp:1}.mo-breathe{animation-name:mo-breathe;animation-duration:calc(2.8s*var(--mo-rate,1));animation-delay:calc(var(--mo-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes mo-breathe{to{transform:scaleX(calc(1 + .022*var(--mo-amp)))scaleY(calc(1 - .018*var(--mo-amp)))}}.mo-bob{translate:0 calc(var(--mo-bdy)*1px);animation-name:mo-bob;animation-duration:calc(3.4s*var(--mo-rate,1));animation-delay:calc(var(--mo-bob-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes mo-bob{0%{transform:translateY(0)}to{transform:translateY(calc(-1.1px*var(--mo-amp)))}}.mo-eye{transform-box:view-box;--mo-sel:calc((var(--mo-wrap,1) + 1)/2);--mo-x:calc(var(--mo-esx) + var(--mo-esx2)*var(--mo-sel));--mo-y:calc(var(--mo-esy) + var(--mo-esy2)*var(--mo-sel));--mo-t:calc(var(--mo-tilt) + var(--mo-tilt2)*var(--mo-sel));--mo-ph:calc(var(--mo-sel)*(1 - var(--mo-rock)) + var(--mo-rock)*((1 + var(--mo-wrap,1)*var(--mo-rockp))/2));translate:calc(var(--mo-edx)*var(--mo-wrap,1)*1px)calc((var(--mo-edy) + var(--mo-edy2)*var(--mo-ph))*1px);rotate:calc((var(--mo-t)*var(--mo-wrap,1) - var(--mo-lean,0)*var(--mo-lock))*1deg);transform:rotate(calc(var(--mo-lean,0)*1deg))scaleX(var(--mo-x))scaleY(var(--mo-y))rotate(calc(var(--mo-lean,0)*-1deg));animation-name:mo-rock;animation-duration:calc(.9s*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:ease-in-out}@container style(--mo-rock:0){.mo-eye{animation-name:none}}@keyframes mo-rock{0%,to{--mo-rockp:1}50%{--mo-rockp:-1}}.mo-eye>*{transform-box:fill-box;transform-origin:center;animation-name:mo-blink,mo-wrap;animation-duration:calc(var(--mo-blink,4.8s)*var(--mo-rate,1)),calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-blink-phase,0s)*var(--mo-rate,1)),calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:linear}@keyframes mo-blink{0%,97.2%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-in}98.6%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(calc(1 - .92*var(--mo-amp)))rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-out}to{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg))}}.mo-eyes{animation-name:mo-saccade;animation-duration:calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:linear}@keyframes mo-saccade{0%,15%{translate:0}16.5%,31%{translate:calc(-.8px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.9px*var(--mo-look-y,1.1)*var(--mo-amp))}32.5%,47%{translate:calc(1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.1px*var(--mo-look-y,1.1)*var(--mo-amp))}48.5%,63%{translate:calc(-.15px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.85px*var(--mo-look-y,1.1)*var(--mo-amp))}64.5%,79%{translate:calc(.75px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.8px*var(--mo-look-y,1.1)*var(--mo-amp))}80.5%,98.5%{translate:calc(-1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.15px*var(--mo-look-y,1.1)*var(--mo-amp))}to{translate:0}}@keyframes mo-wrap{0%,15%{scale:1;rotate:none}16.5%,31%{scale:calc(1 - .0176*var(--mo-look-mx,1.4)*var(--mo-amp) + .008*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .027*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.648deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}32.5%,47%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) - .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .003*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.09deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}48.5%,63%{scale:calc(1 - .0033*var(--mo-look-mx,1.4)*var(--mo-amp) + .0015*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0255*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.115deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}64.5%,79%{scale:calc(1 - .0165*var(--mo-look-mx,1.4)*var(--mo-amp) - .0075*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .024*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.54deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}80.5%,98.5%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) + .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0045*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.135deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}to{scale:1;rotate:none}}@media not ((hover:hover) and (pointer:fine)){.mo-root:hover{--mo-amp:0;transform:none}.mo-root.mo-always{--mo-amp:1}.mo-root:not(.mo-always),.mo-root:not(.mo-always) *{animation-play-state:paused}.mo-root.mo-expr:not(.mo-always) .mo-eye{animation-play-state:running}}.mo-slow{--mo-rate:5}@media (prefers-reduced-motion:reduce){.mo-root,.mo-breathe,.mo-bob,.mo-eyes,.mo-eye,.mo-eye>*{animation:none;transition:none}.mo-bob>g:not(.mo-eyes){transition:none}}:root{--paper: #0f1115;--card: #171a21;--line: #2a2f3a;--ink: #eef0f4;--muted: #8a93a6;--accent: #ffcf5a;--accent-ink: #1a1400;--danger: #ff7a7a;--radius: 14px;--mono: ui-monospace, "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--whimsy: "Caveat", "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}h1,h2{margin:0;font-weight:600;letter-spacing:-.01em}h2{font-size:.8rem;text-transform:lowercase;color:var(--muted);margin:1.25rem 0 .6rem}code{font-family:var(--mono)}.muted{color:var(--muted);font-size:.78rem}.error{color:var(--danger)}.spacer{flex:1}.home{min-height:100vh;min-height:100dvh;display:grid;place-items:center;align-content:center;gap:1rem;padding:16px}.home-blob{width:clamp(12rem,42vmin,30rem);height:clamp(12rem,42vmin,30rem);display:block}.home-caption{display:none;margin:0;font-family:var(--whimsy);font-size:clamp(1.6rem,7vmin,2.6rem);line-height:1.2;text-align:center;text-wrap:balance}@media not ((hover: hover) and (pointer: fine)){.home-caption{display:block}}.btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:.5rem .9rem;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:default}.btn.small{padding:.3rem .65rem;font-size:.78rem}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.login{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:min(100%,22rem);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.6rem}.login-card h1{font-size:1.1rem;margin-bottom:.4rem}.login-card label{font-size:.78rem;color:var(--muted)}.login-card input{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}.login-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.admin{min-height:100dvh;padding:16px;max-width:1400px;margin:0 auto}.admin-head{display:flex;align-items:center;gap:1rem;padding-bottom:12px}.admin-head .back{color:var(--muted);text-decoration:none;font-size:.85rem}.admin-head .back:hover{color:var(--ink)}.admin-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 900px){.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"preview panel" "config panel"}.preview{grid-area:preview}.config{grid-area:config}.panel{grid-area:panel}}@media (min-width: 1200px){.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"preview config panel"}}section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;min-width:0}.preview{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#111;position:relative}.preview .segmented{background:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.preview .segmented button{color:#333}.preview .segmented button.on{background:#111;color:#fff}.name-row{display:flex;gap:.5rem;width:100%;max-width:22rem}.name-row input{flex:1;min-width:0;background:#ffffffbf;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:.5rem .75rem;color:#111}.name-row input:focus{outline:2px solid #111;outline-offset:1px}.name-row .btn{background:#ffffffbf;color:#111;border-color:#0000001f}.stage{display:grid;place-items:center;min-height:14rem;width:100%}.preview-blob{width:min(15rem,34vmin,28vh);height:min(15rem,34vmin,28vh);display:block}.segmented{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;border-radius:999px;padding:.3rem .8rem;font-size:.78rem;cursor:pointer;color:var(--muted)}.segmented button.on{background:var(--ink);color:var(--paper)}.field-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.field-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;color:var(--muted)}.field-grid select,.field-grid input[type=text]{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;color:var(--ink);width:100%}.color-field{display:flex;gap:.4rem;align-items:center}.color-field input[type=color]{width:2.4rem;height:2.2rem;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer}.color-field input[type=text]{font-family:var(--mono)}.save-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}.api-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.export{display:flex;gap:.4rem;align-items:center}.snippet{position:relative;margin-top:.6rem}.snippet pre{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem;font-size:.74rem;line-height:1.5;overflow:auto;font-family:var(--mono)}.snippet .copy{position:absolute;top:.45rem;right:.45rem}.install code{font-size:.72rem}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:0}.group{border:0;border-top:1px solid var(--line);padding:.8rem 0 .4rem;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.7rem}.group legend{padding:0 .4rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.picker-block{display:flex;flex-direction:column;gap:.4rem}.hint{margin:.8rem 0 0;line-height:1.5}.control{display:flex;flex-direction:column;gap:.3rem}.control-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.control-label{font-size:.75rem;text-transform:lowercase;color:var(--muted);transition:color .12s}.control.pinned .control-label{color:var(--ink)}.control-value{font-family:var(--mono);font-size:.7rem;color:var(--muted);opacity:.7}.control.pinned .control-value{color:var(--ink);opacity:1}.control-row{display:flex;align-items:center;gap:.5rem}.control input[type=range]{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer}.control input[type=range][data-unpinned]{accent-color:var(--muted);opacity:.75}.pin{border:0;background:transparent;border-radius:8px;padding:4px;cursor:pointer;color:var(--muted);opacity:.6;display:inline-flex}.pin:hover{opacity:1;background:var(--line)}.pin[aria-pressed=true]{color:var(--accent);opacity:1}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .2rem;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer}.tile:hover{background:var(--line)}.tile.on{border-color:var(--accent);background:#ffcf5a14}.tile-blob{width:2.25rem;height:2.25rem}.tile-auto{width:2.25rem;height:2.25rem;display:grid;place-items:center;border:1px dashed var(--muted);border-radius:50%;color:var(--muted);font-family:var(--mono)}.tile-label{font-family:var(--mono);font-size:.66rem;color:var(--muted);text-transform:lowercase}.tile.on .tile-label{color:var(--ink)}.tick{position:absolute;top:3px;right:6px;font-size:.65rem;color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);background:transparent;font-size:.72rem;color:var(--muted);cursor:pointer;text-transform:lowercase}.chip:hover{border-color:var(--muted)}.chip.on{color:var(--ink);background:var(--line)}.swatch{width:.75rem;height:.75rem;border-radius:50%;display:inline-block}.swatch.auto{border:1px dashed var(--muted)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
