.nft-card{animation:rise .8s .15s cubic-bezier(.2,.7,.2,1) both}.nft-flag{animation:nft-flag .5s 1s ease both}.nft-flag-2{animation-delay:1.8s}.nft-flag .nft-badge{animation:nft-pop .4s 1.1s cubic-bezier(.3,1.6,.5,1) both,nft-pulse 1.8s 1.5s ease-out infinite}.nft-flag-2 .nft-badge{animation-delay:1.9s,2.3s}.nft-fix{animation:nft-fix .5s 1.3s cubic-bezier(.2,.7,.2,1) both}.nft-fix-2{animation-delay:2.1s}@keyframes nft-flag{0%{background-color:transparent;outline-color:transparent}}@keyframes nft-pop{0%{transform:scale(0)}}@keyframes nft-pulse{0%{box-shadow:0 0 #f2d649bf}to{box-shadow:0 0 0 12px #f2d64900}}@keyframes nft-fix{0%{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.nft-card,.nft-flag,.nft-flag .nft-badge,.nft-fix{animation:none}}[style*="background:#FFFFFF;border:"],li[style*="border:2px solid #D6E5E0;border-radius:20px"],div[style*="border:1px solid #D6E5E0;border-radius:20px"]{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}[style*="background:#FFFFFF;border:"]:hover,li[style*="border:2px solid #D6E5E0;border-radius:20px"]:hover,div[style*="border:1px solid #D6E5E0;border-radius:20px"]:hover{transform:translateY(-6px);box-shadow:0 20px 44px #0f4a4529;border-color:#0f7a6b}a[style*="background:#F2D649"],a[style*="background:#7FD6C6"],a[style*="background:#10211F"]{transition:transform .2s ease,box-shadow .2s ease}a[style*="background:#F2D649"]:hover,a[style*="background:#7FD6C6"]:hover,a[style*="background:#10211F"]:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f4a452e}.libby-float{animation:float 6s ease-in-out infinite}.jump{transition:transform .2s ease,border-color .2s ease}.jump:hover{transform:translateY(-2px);border-color:#0f7a6b!important}.jump:focus-visible{outline:3px solid #0F7A6B;outline-offset:3px}.mark{background-image:linear-gradient(#f2d649,#f2d649);background-repeat:no-repeat;background-position:0 88%;background-size:0% 28%;animation:mark .9s .6s ease forwards}@keyframes mark{to{background-size:100% 28%}}@media(prefers-reduced-motion:reduce){.mark{background-size:100% 28%;animation:none}}@media(prefers-reduced-motion:reduce){.libby-float{animation:none}}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(-1deg)}}@supports (animation-timeline: view()){section>div>*{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 20%}}.checks .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}.app{border:2px solid #10211F;border-radius:20px;background:#fff;overflow:hidden;box-shadow:8px 8px #10211f}.app-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#0b3a36;color:#d6e5e0;font-size:13px}.app-dots{display:flex;gap:6px}.app-dots i{width:10px;height:10px;border-radius:50%;background:#3e9487}.app-url{flex:1;min-width:0;background:#ffffff14;border-radius:8px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-badge{flex:0 0 auto;font-size:12px;font-weight:800;background:#f2d649;color:#10211f;padding:3px 9px;border-radius:999px}.app-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.app-pane{margin:0;padding:28px;display:flex;flex-direction:column;gap:20px;border-right:1px solid #D6E5E0}.app-stage{padding:32px 28px;background:#f3f8f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:460px}@media(max-width:860px){.app-body{grid-template-columns:1fr}.app-pane{border-right:0;border-bottom:1px solid #D6E5E0;padding:22px}.app-stage{padding:24px 16px;min-height:0}}.pane-title{margin:0;font-size:19px;font-weight:800;color:#10211f}.pane-meta{margin:2px 0 0;font-size:14px;color:#4a625d}.presets{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;font-size:14px;font-weight:700;border:1.5px solid #D6E5E0;background:#fff;color:#10211f;padding:7px 13px;border-radius:999px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.chip:hover{border-color:#0f7a6b}.chip[aria-pressed=true]{background:#f2d649;border-color:#f2d649;color:#10211f}.ingredients{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.ingredients label{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;color:#10211f;margin-bottom:6px}.ingredients output{font-weight:800;font-variant-numeric:tabular-nums}.ingredients input[type=range]{width:100%;margin:0;accent-color:#0F7A6B;cursor:pointer}.format{display:flex;gap:4px;background:#f3f8f6;border:1px solid #D6E5E0;border-radius:999px;padding:4px}.seg{flex:1;font:inherit;font-size:14px;font-weight:700;border:0;background:transparent;color:#3e5752;padding:9px 12px;border-radius:999px;cursor:pointer}.seg[aria-pressed=true]{background:#f2d649;color:#10211f}.stage-row{display:flex;gap:14px;align-items:flex-start;justify-content:center;width:100%}.stage-panel{flex:0 1 330px;min-width:0}.stage-fop:empty{display:none}.stage-note{margin:0;font-size:14px;line-height:1.5;color:#3e5752;text-align:center;max-width:420px}.field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}.field>span,.field legend{font-size:14px;font-weight:700;color:#10211f;padding:0;margin-bottom:6px}.field>span{margin-bottom:0}.field input,.field select{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #D6E5E0;border-radius:10px;background:#fff;color:#10211f;width:100%;box-sizing:border-box}.field input:focus,.field select:focus{border-color:#0f7a6b}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{position:relative}.swatch input{position:absolute;opacity:0;width:1px;height:1px}.swatch span{display:flex;align-items:center;gap:8px;padding:6px 13px 6px 6px;border:1.5px solid #D6E5E0;border-radius:999px;font-size:14px;font-weight:700;color:#10211f;cursor:pointer;background:#fff}.swatch span:before{content:"";width:20px;height:20px;border-radius:50%;background:var(--sw);border:1.5px solid #10211F}.swatch input:checked+span{border-color:#10211f;box-shadow:inset 0 0 0 1px #10211f}.swatch input:focus-visible+span,.chip:focus-visible,.seg:focus-visible,.generate:focus-visible,.field input:focus-visible,.field select:focus-visible,.ingredients input:focus-visible{outline:3px solid #0F7A6B;outline-offset:2px}.generate{align-self:flex-start;font:inherit;font-size:17px;font-weight:700;background:#f2d649;color:#10211f;border:0;border-radius:12px;padding:15px 24px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.generate:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f4a452e}.generate:disabled{cursor:progress;opacity:.8;transform:none;box-shadow:none}.gen-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px;font-size:15px;font-weight:600;color:#4a625d}.gen-steps li{display:flex;align-items:center;gap:10px}.gen-steps li:before{content:"";flex:0 0 auto;width:16px;height:16px;border-radius:50%;border:2px solid #B9CFC9;border-top-color:#0f7a6b;box-sizing:border-box;animation:demo-spin .7s linear infinite}.gen-steps li.done{color:#10211f}.gen-steps li.done:before{content:"✓";display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;background:#0f7a6b;border-color:#0f7a6b;animation:none}.stage-label{display:flex;justify-content:center;width:100%;transition:opacity .3s ease,filter .3s ease}.is-generating .stage-label,.is-generating .checks{opacity:.2;filter:blur(6px)}.label-in{animation:label-in .6s cubic-bezier(.16,1,.3,1)}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;font-size:14px;line-height:1.45;color:#3e5752;transition:opacity .3s ease,filter .3s ease}@keyframes demo-spin{to{transform:rotate(360deg)}}@keyframes label-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}@media(prefers-reduced-motion:reduce){.gen-steps li:before{animation:none}.label-in{animation:none}.stage-label,.checks{transition:none}}
