.nomi{--n-body:hsl(var(--brand));--n-pod:hsl(var(--brand-strong));--n-ink:hsl(var(--text-primary));--n-eye:hsl(var(--background));--n-cream:hsl(var(--background));--n-surface:hsl(var(--surface));--n-border:hsl(var(--border));--n-accent:hsl(var(--accent));--n-rating:hsl(var(--rating));--n-sage:hsl(var(--brand));--n-shadow:0.12;--n-hl:0.1}.dark .nomi{--n-pod:color-mix(in srgb,hsl(var(--brand)) 68%,hsl(var(--background)));--n-ink:hsl(var(--background));--n-eye:hsl(var(--text-primary));--n-cream:hsl(var(--text-primary));--n-surface:hsl(var(--text-primary));--n-shadow:0.6}.dark .nomi.nomi-light,.nomi.nomi-light{--n-body:#627255;--n-pod:#465639;--n-ink:#272420;--n-eye:#faf8f4;--n-cream:#faf8f4;--n-surface:#fff;--n-border:#e7e2da;--n-accent:#db6424;--n-rating:#fbbd23;--n-sage:#627255;--n-shadow:0.12}.dark .nomi.nomi-dark,.nomi.nomi-dark{--n-body:#92ae7a;--n-pod:#718c5a;--n-ink:#191715;--n-eye:#f4f3f0;--n-cream:#f4f3f0;--n-surface:#f4f3f0;--n-border:#423d38;--n-accent:#ec8751;--n-rating:#f5c447;--n-sage:#acc398;--n-shadow:0.3}.nomi .n-body{fill:var(--n-body)}.nomi .n-pod{fill:var(--n-pod)}.nomi .n-ink{fill:var(--n-ink)}.nomi .n-cream{fill:var(--n-cream)}.nomi .n-hat,.nomi .n-surface{fill:var(--n-surface)}.nomi .n-hat{stroke:var(--n-border);stroke-width:1.5}.nomi .n-accent{fill:var(--n-accent)}.nomi .n-sage{fill:var(--n-sage)}.nomi .n-eye{fill:var(--n-eye)}.nomi .n-eye-s{fill:none;stroke:var(--n-eye);stroke-linecap:round;stroke-linejoin:round}.nomi .n-rating{fill:var(--n-rating);stroke:var(--n-rating);stroke-width:3;stroke-linejoin:round}.nomi .n-ring{fill:none;stroke:var(--n-eye);stroke-width:3;opacity:.9}.nomi .n-line{fill:var(--n-border)}.nomi .n-chip{fill:var(--n-surface);stroke:var(--n-border)}.nomi .n-chip-t{fill:var(--n-ink);font-family:Inter,system-ui,sans-serif;font-weight:600}.nomi .n-shadow{fill:var(--n-ink);opacity:var(--n-shadow)}.nomi .n-hl{fill:var(--n-surface);opacity:var(--n-hl)}.nomi .n-steam{fill:none;stroke:var(--n-eye);stroke-width:2.5;stroke-linecap:round;opacity:0}.nomi .all{transform-box:view-box;transform-origin:120px 270px}.nomi .hat{transform:rotate(var(--hat-rot,0deg)) translateY(var(--hat-dy,0));transform-origin:120px 76px;transition:transform .2s cubic-bezier(.4,0,.2,1)}.nomi .look{transition:transform .16s cubic-bezier(.4,0,.2,1)}.nomi .blink,.nomi .dots>*,.nomi .ing>*,.nomi .pan,.nomi .stars>*,.nomi .steam>*,.nomi .zz>*{transform-box:fill-box;transform-origin:center}.nomi[data-pose=hello] .look,.nomi[data-pose=rest] .look{transform:translate(var(--lx,0),var(--ly,0))}.nomi[data-pose=think] .look{transform:translate(5px,-5px)}.nomi[data-pose=hello] .hat{animation:nomi-hat-tip 1.1s cubic-bezier(.4,0,.2,1) both}.nomi[data-pose=hello] .blink{animation:nomi-blink .32s .75s both}@keyframes nomi-hat-tip{0%{transform:rotate(0)}30%{transform:rotate(-13deg) translateY(-4px)}62%{transform:rotate(4deg)}to{transform:rotate(0)}}@keyframes nomi-blink{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.nomi[data-pose=think] .led{animation:nomi-led 1.4s ease-in-out infinite}.nomi[data-pose=think] .dots>*{animation:nomi-dot 1.2s ease-in-out infinite}.nomi[data-pose=think] .dots>:nth-child(2){animation-delay:.15s}.nomi[data-pose=think] .dots>:nth-child(3){animation-delay:.3s}@keyframes nomi-led{0%,to{opacity:.45}50%{opacity:1}}@keyframes nomi-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.nomi[data-pose=cook] .pan{animation:nomi-pan 1.1s ease-in-out infinite;transform-origin:182px 226px;transform-box:view-box}.nomi[data-pose=cook] .ing>*{animation:nomi-hop 1.1s ease-in-out infinite}.nomi[data-pose=cook] .ing>:nth-child(2){animation-delay:.2s}.nomi[data-pose=cook] .ing>:nth-child(3){animation-delay:.4s}.nomi[data-pose=cook] .steam>*{animation:nomi-steam 1.6s ease-out infinite}.nomi[data-pose=cook] .steam>:nth-child(2){animation-delay:.5s}@keyframes nomi-pan{0%,to{transform:rotate(0)}30%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}}@keyframes nomi-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-12px) rotate(25deg)}}@keyframes nomi-steam{0%{opacity:0;transform:translateY(4px)}30%{opacity:.55}to{opacity:0;transform:translateY(-10px)}}.nomi[data-pose=recommend] .stars>*{animation:nomi-swell .7s cubic-bezier(.3,1.4,.5,1) both}.nomi[data-pose=recommend] .rchip{animation:nomi-pop .25s cubic-bezier(.3,1.4,.5,1) .15s both;transform-box:fill-box;transform-origin:left center}@keyframes nomi-swell{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes nomi-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.nomi[data-pose=yum] .all{animation:nomi-hopall .6s cubic-bezier(.3,1.3,.5,1) both}.nomi[data-pose=yum] .mouth{animation:nomi-mouth .3s .1s both;transform-box:fill-box;transform-origin:top center}@keyframes nomi-hopall{0%{transform:translateY(0)}35%{transform:translateY(-9px)}to{transform:translateY(0)}}@keyframes nomi-mouth{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.nomi[data-pose=sorry] .all{animation:nomi-tilt .5s cubic-bezier(.4,0,.2,1) both}.nomi[data-pose=sorry] .sweat{animation:nomi-sweat 1.4s ease-in .3s both}@keyframes nomi-tilt{0%{transform:rotate(0)}to{transform:rotate(-5deg)}}@keyframes nomi-sweat{0%{opacity:0;transform:translateY(-4px)}20%{opacity:.9}to{opacity:0;transform:translateY(14px)}}.nomi[data-pose=quiet] .zz>*{animation:nomi-zz 3.2s ease-in-out infinite}.nomi[data-pose=quiet] .zz>:nth-child(2){animation-delay:1.1s}@keyframes nomi-zz{0%{opacity:0;transform:translateY(6px)}30%{opacity:.8}to{opacity:0;transform:translate(6px,-10px)}}.nomi[data-pose=game] .btnA{animation:nomi-btn 1s steps(1) infinite}.nomi[data-pose=game] .btnB{animation:nomi-btn 1s steps(1) .5s infinite}@keyframes nomi-btn{0%{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.nomi *{animation:none!important;transition:none!important}}.nomi-bubble{animation:nomi-bubble-in .22s cubic-bezier(.4,0,.2,1) both}@keyframes nomi-bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nomi-bubble{animation:none}}.po-green{--g-bg:92 20% 28%;--g-ink:40 38% 97%;--g-soft:87 23% 82%;--g-btn-label:92 25% 19%;background-color:hsl(var(--g-bg));color:hsl(var(--g-ink))}.po-green :where(a,button):focus-visible{outline-color:hsl(var(--g-ink))}@keyframes po-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.po-bob{animation:po-bob 5.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.po-bob{animation:none}}@keyframes po-dot{0%,to{opacity:.25}50%{opacity:1}}.po-dot{animation:po-dot 1s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.po-dot{animation:none;opacity:.6}}