:root{--pink:#ff2d55;--pink-strong:#ff0a3a;--gold:#ffd60a;--gold-bright:#ffe44d;--cyan:#00e5ff;--ink:#08060c;--ink-raised:#1a1230;--ink-input:#1e1440;--ink-card:#17101f;--line:#ffffff1c;--line-strong:#ffffff2e;--text:#f5f1fa;--text-dim:#f5f1fa8c;--text-faint:#f5f1fa52;--font-display:"Anton", "Arial Narrow", sans-serif;--font-body:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--shadow-pop:0 20px 60px #0000008c;--shadow-glow-pink:0 0 40px #ff2d5540, 0 0 80px #ff2d551a;--shadow-glow-cyan:0 0 40px #00e5ff33, 0 0 80px #00e5ff14;--radius:18px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.25, .46, .45, .94)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}#app{min-height:100vh}a{color:inherit}button{font-family:inherit}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site{isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.site-glow{z-index:-1;--mx:50%;--my:28%;background:radial-gradient(38rem 30rem at var(--mx) var(--my), #ff2d5538, transparent 52%), radial-gradient(60rem 40rem at 50% -10%, #7828c838, transparent 60%), radial-gradient(44rem 28rem at 100% 0%, #00e5ff24, transparent 55%), radial-gradient(36rem 24rem at 50% 110%, #ffd60a14, transparent 60%), radial-gradient(28rem 20rem at 0% 60%, #ff2d550f, transparent 65%), var(--ink);transition:--mx .6s,--my .6s;animation:22s ease-in-out infinite alternate drift;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.site-glow{--mx:50%!important;--my:30%!important}}@keyframes drift{0%{filter:hue-rotate()brightness()}to{filter:hue-rotate(8deg)brightness(1.08)}}.site-grain{z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.view-enter-active{transition:opacity .32s ease, transform .36s var(--ease-pop)}.view-leave-active{transition:opacity .2s,transform .22s ease-in}.view-enter-from{opacity:0;transform:translateY(12px)scale(.98)}.view-leave-to{opacity:0;transform:translateY(-8px)scale(.98)}@media (prefers-reduced-motion:reduce){.view-enter-active,.view-leave-active{transition:opacity .15s!important}.view-enter-from,.view-leave-to{transform:none!important}}.reveal-enter-active{transition:opacity .38s ease, transform .42s var(--ease-pop)}.reveal-leave-active{transition:opacity .2s,transform .2s ease-in}.reveal-enter-from{opacity:0;transform:translateY(16px)scale(.97)}.reveal-leave-to{opacity:0;transform:translateY(-8px)}.swap-enter-active{transition:opacity .28s ease, transform .32s var(--ease-pop)}.swap-leave-active{transition:opacity .18s}.swap-enter-from{opacity:0;transform:translateY(10px)}.swap-leave-to{opacity:0}.site-header{justify-content:center;padding:1.75rem 1.5rem .5rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.08em;transition:transform .2s var(--ease-pop), filter .2s ease;font-size:clamp(1.4rem,2.4vw,1.9rem);text-decoration:none}.brand:hover{filter:brightness(1.15);transform:scale(1.04)}.brand:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.brand:hover,.brand:active{filter:none;transform:none}}.brand-word--pink{color:var(--pink)}.brand-word--gold{color:var(--gold)}.brand-word--cyan{color:var(--cyan)}.site-main{flex-direction:column;flex:1;align-items:center;gap:0;padding:1.5rem;display:flex}.site-footer{text-align:center;color:var(--text-dim);letter-spacing:.04em;padding:2rem 1.5rem 3rem;font-size:.85rem}.maker-view{flex-direction:column;gap:0;width:100%;max-width:640px;display:flex}.meme-view{flex-direction:column;gap:2.25rem;width:100%;max-width:640px;display:flex}.maker-view .gallery{width:100vw;max-width:min(960px,100vw - 2rem);margin-top:2rem;margin-left:50%;transform:translate(-50%)}.hero{text-align:center;animation:hero-in .9s var(--ease-pop) both;padding:.4rem 0 0;position:relative}.hero:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(36rem 24rem at 50% 38%,#ff2d5524,#0000 65%),radial-gradient(24rem 16rem at 50% 10%,#ffd60a0f,#0000 70%);position:absolute;inset:-3rem -6rem -2rem}@keyframes hero-in{0%{opacity:0;transform:translateY(-18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.03em;margin:.85rem 0 0;font-size:clamp(3.2rem,12vw,5.8rem);font-weight:400;line-height:.9}.hero-title-line{color:var(--text);text-shadow:0 1px #ffffff0f,0 12px 48px #0009;display:block}.hero-title-line--accent{background:linear-gradient(92deg, var(--pink) 0%, var(--gold) 42%, var(--cyan) 100%);color:#0000;filter:drop-shadow(0 3px 20px #ff2d5566);text-shadow:none;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:5s ease-in-out infinite sheen}@keyframes sheen{0%,to{background-position:0%}50%{background-position:100%}}.composer{animation:hero-in .9s var(--ease-pop) .14s both;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#ffffff12,#ffffff05),radial-gradient(44rem 18rem at 50% 0,#ffffff0f,#0000 68%),radial-gradient(40rem 20rem at 50% 0,#785aff12,#0000 72%);border:1px solid #ffffff24;border-radius:22px;margin-top:1.6rem;padding:1.4rem 1.2rem 1.2rem;position:relative;box-shadow:0 24px 64px #00000080,inset 0 1px #ffffff21,inset 0 0 0 1px #ffffff0d,inset 0 -1px #ffffff08,0 0 90px #ff2d550d}.composer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#ffd60a80,#ffffff59,#0000);border-radius:999px;height:1px;position:absolute;top:0;left:8%;right:8%}.phrase-field{border-radius:var(--radius);background:#ffffff21;border:1.5px solid #ffffff42;align-items:center;padding:.45rem .65rem;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1c,0 2px 20px #00000052}.phrase-field:hover{background:#ffffff29;border-color:#ffffff61}.phrase-field:focus-within{border-color:var(--cyan);background:#00e5ff24;box-shadow:0 0 0 4px #00e5ff33,inset 0 1px #ffffff24,0 6px 32px #00e5ff33}.phrase-field--disabled{opacity:.5}.phrase-input{color:var(--text);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.7rem .5rem;font-size:1.15rem;font-weight:500}.phrase-input::placeholder{color:#f5f1fa94}.phrase-hint-caret{color:var(--cyan);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;margin-right:.15rem;font-weight:700;transition:opacity .15s}.phrase-hint-caret--blink{animation:.9s step-end infinite caret-blink}@keyframes caret-blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.phrase-hint-caret{display:none}}.phrase-counter{font-variant-numeric:tabular-nums;color:var(--text-dim);background:#ffffff14;border-radius:999px;padding:.32rem .6rem;font-size:.85rem;font-weight:700;transition:color .2s,background .2s}.phrase-counter--warm{color:var(--gold);background:#ffd60a2e}.phrase-counter--hot{color:var(--pink);background:#ff2d5533;animation:.8s ease-in-out infinite counter-pulse}@keyframes counter-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.phrase-errors{color:var(--pink);margin:0;padding-left:1.1rem;font-size:.85rem}.submit-button{font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;color:#1a0a00;cursor:pointer;transition:transform .18s var(--ease-pop), box-shadow .18s ease, filter .2s ease, border-color .2s ease;text-shadow:0 1px #fff9;-webkit-font-smoothing:antialiased;background:linear-gradient(100deg,#fff6a0 0%,#ffe600 14%,#ffd000 26%,#f36 58%,#e6003a 88%,#a80028 100%);border:1.5px solid #ffffff52;border-radius:999px;align-self:stretch;margin-top:.7rem;padding:1.1rem 2.2rem;font-size:1.3rem;font-weight:400;position:relative;overflow:hidden;box-shadow:0 16px 48px #ff1e417a,0 0 48px #ffdc004d,inset 0 1.5px #ffffff80,inset 0 -2px 8px #00000026}.submit-button:before{content:"";transition:transform .6s var(--ease-smooth);background:linear-gradient(100deg,#0000 28%,#ffffff3d 50%,#0000 72%);position:absolute;inset:0;transform:translate(-100%)}.submit-button:hover:not(:disabled):before{transform:translate(100%)}.submit-button:hover:not(:disabled){filter:brightness(1.08)saturate(1.12);border-color:#ffd60acc;transform:translateY(-2px)scale(1.015);box-shadow:0 18px 52px #ff1e3c8f,0 0 40px #ffd60a47,inset 0 2px #ffffff61}.submit-button:active:not(:disabled){transform:translateY(1px)scale(.98)}.submit-button:disabled{opacity:.36;cursor:not-allowed;box-shadow:none;filter:grayscale(.35)}.submit-button--busy{animation:1.1s ease-in-out infinite submit-throb}@keyframes submit-throb{0%,to{box-shadow:0 10px 30px #ff2d5547}50%{box-shadow:0 10px 46px #00e5ff66}}.scene-picker{flex-direction:column;gap:.5rem;display:flex}.scene-picker-head{align-items:center;gap:.6rem;display:flex}.scene-picker-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);padding-left:.2rem;font-size:.72rem;font-weight:600}.scene-dice{color:var(--text);cursor:pointer;width:30px;height:30px;transition:border-color .2s ease, transform .2s var(--ease-pop), background .2s ease;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.scene-dice:hover:not(:disabled){border-color:var(--gold);background:#ffd60a24;transform:rotate(18deg)scale(1.08)}.scene-dice:active:not(:disabled){transform:scale(.92)}.scene-dice:disabled{opacity:.4;cursor:not-allowed}.scene-dice--rolling{animation:.5s dice-shake}@keyframes dice-shake{0%{transform:rotate(0)}20%{transform:rotate(-18deg)scale(1.15)}40%{transform:rotate(18deg)scale(1.15)}60%{transform:rotate(-12deg)}80%{transform:rotate(12deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.scene-dice--rolling{animation:none}}.scene-picker-rail{position:relative}.scene-picker-rail:before,.scene-picker-rail:after{content:"";pointer-events:none;opacity:0;z-index:1;width:2.5rem;transition:opacity .2s;position:absolute;top:0;bottom:0}.scene-picker-rail:before{background:linear-gradient(to right, var(--ink), transparent);left:0}.scene-picker-rail:after{background:linear-gradient(to left, var(--ink), transparent);right:0}.scene-picker-rail--more-left:before,.scene-picker-rail--more-right:after{opacity:1}.scene-picker-chips{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.5rem;padding:3px 0;display:flex;overflow-x:auto}.scene-picker-chips::-webkit-scrollbar{display:none}.scene-picker-chips>.scene-chip{scroll-snap-align:center;flex:none}.scene-picker--disabled{opacity:.55}.scene-chip{border:1.5px solid var(--line-strong);color:var(--text-dim);font-family:var(--font-body);white-space:nowrap;cursor:pointer;transition:border-color .2s ease, color .2s ease, background .2s ease, transform .15s var(--ease-pop), box-shadow .2s ease;background:#ffffff0a;border-radius:999px;padding:.5rem 1rem;font-size:.82rem;font-weight:600}.scene-chip:hover:not(:disabled){border-color:var(--cyan);color:var(--text);background:#00e5ff14;transform:translateY(-1px);box-shadow:0 4px 12px #00e5ff1f}.scene-chip:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.scene-chip--active{border-color:var(--cyan);color:var(--text);background:#00e5ff29;box-shadow:0 2px 16px #00e5ff2e,inset 0 1px #ffffff14}.scene-chip:disabled{cursor:not-allowed}.scene-picker-description{color:var(--text-dim);margin:0;padding-left:.2rem;font-size:.82rem}.composer-error{color:var(--pink);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.link-button{border:2px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s,transform .15s;display:inline-flex}.link-button:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}.link-button--ghost{background:#ffffff0d;border-color:#0000}.link-button--accent{border-color:var(--gold);color:var(--gold);background:#ffd60a24}.link-button--accent:hover{border-color:var(--gold);color:var(--ink);background:var(--gold)}.back-link{color:var(--text-dim);align-self:flex-start;font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--cyan)}.result-panel{background:var(--ink-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:1.6rem}.result-panel--failed{border-color:#ff2d5566}.failure-message{color:var(--text-dim);margin:0}.failure-state{text-align:center;flex-direction:column;align-items:center;gap:.6rem;width:100%;display:flex}.failure-headline{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--pink);margin:0;font-size:clamp(1.3rem,4vw,1.7rem)}.failure-reason{color:var(--text-dim);max-width:32rem;margin:0}.failure-phrase{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:.2rem 0 0;font-size:.85rem;display:flex}.failure-scene{border:1px solid var(--line);color:var(--gold);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0f;border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.failure-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.4rem;display:flex}.regenerate{justify-content:center;display:flex}.regenerate-confirm{text-align:center;background:#ffd60a14;border:1px solid #ffd60a59;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;padding:.9rem 1.1rem;display:flex}.regenerate-confirm-copy{color:var(--text);margin:0;font-size:.85rem}.regenerate-confirm-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.regenerate-status{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:.85rem;display:flex}.regenerate-status--limited{color:var(--gold)}.regenerate-status--error{color:var(--pink)}.meme-view-ready{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.reveal-enter-active{animation:hero-in .5s var(--ease-pop) both}.reveal-leave-active{animation:.25s reverse both hero-in}.swap-enter-active,.swap-leave-active{transition:opacity .22s ease-out,transform .22s ease-out}.swap-enter-from,.swap-leave-to{opacity:0;transform:translateY(6px)}.render-progress{flex-direction:column;gap:1.4rem;display:flex}.render-progress-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.render-progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--pink), var(--gold), var(--cyan));background-size:200% 100%;height:100%;transition:width .6s;animation:3s linear infinite sheen}.ladder{width:100%}.ladder-viewport{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:.3rem;max-height:17rem;margin:0;padding:.2rem 0;list-style:none;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.ladder-viewport::-webkit-scrollbar{display:none}.ladder-rung{align-items:baseline;gap:.65rem;padding:.3rem .1rem;display:flex}.ladder-rung--c0{--rung-accent:var(--pink)}.ladder-rung--c1{--rung-accent:var(--gold)}.ladder-rung--c2{--rung-accent:var(--cyan)}.ladder-rung-index{width:1.4rem;font-family:var(--font-display);color:var(--text-dim);opacity:.5;flex-shrink:0;font-size:.75rem}.ladder-rung-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text-dim);opacity:.3;font-size:.82rem;font-weight:400;line-height:1.08;transition:font-size .26s ease-out,opacity .26s ease-out,color .26s ease-out;display:inline-block;position:relative}.ladder-rung--pending .ladder-rung-label{color:var(--text-dim);opacity:.28;font-size:.78rem}.ladder-rung--done .ladder-rung-label{color:var(--rung-accent);opacity:.55;font-size:1rem}.ladder-rung--active .ladder-rung-label{color:var(--rung-accent);opacity:1;font-size:clamp(1.35rem,6vw,1.85rem)}.ladder-rung--failed .ladder-rung-label{color:var(--pink);opacity:1;font-size:clamp(1.35rem,6vw,1.85rem)}.ladder-stamp{pointer-events:none;position:absolute;inset:0}.ladder-stamp-ghost{white-space:nowrap;mix-blend-mode:screen;position:absolute;inset:0}.ladder-stamp-ghost--pink{color:var(--pink);animation:.4s ease-out both ladder-stamp-pink}.ladder-stamp-ghost--gold{color:var(--gold);animation:.4s ease-out 40ms both ladder-stamp-gold}.ladder-stamp-ghost--cyan{color:var(--cyan);animation:.4s ease-out 80ms both ladder-stamp-cyan}@keyframes ladder-stamp-pink{0%{opacity:.85;transform:translate(-7px,-3px)}to{opacity:0;transform:translate(0)}}@keyframes ladder-stamp-gold{0%{opacity:.85;transform:translateY(5px)}to{opacity:0;transform:translate(0)}}@keyframes ladder-stamp-cyan{0%{opacity:.85;transform:translate(7px,-3px)}to{opacity:0;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ladder-stamp{display:none}}.ladder-rung--active{animation:2.8s ease-in-out infinite ladder-breathe}@keyframes ladder-breathe{0%,to{opacity:1}50%{opacity:.92;transform:translate(1px)}}@media (prefers-reduced-motion:reduce){.ladder-rung--active{animation:none}}.ladder-rung--done .ladder-rung-index:after{content:" ✓";color:var(--rung-accent);font-size:.8em}.ladder-ticker{text-align:center;color:var(--text-dim);opacity:.85;min-height:1.2em;margin:.5rem 0 0;font-size:.82rem;font-style:italic}.ticker-enter-active{transition:opacity .3s,transform .3s}.ticker-leave-active{transition:opacity .2s}.ticker-enter-from{opacity:0;transform:translateY(6px)}.ticker-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.ticker-enter-active,.ticker-leave-active{transition:opacity .15s!important}.ticker-enter-from{transform:none!important}}.eta-countdown{border-top:1px solid var(--line);justify-content:center;align-items:baseline;gap:.6rem;padding-top:.4rem;display:flex}.eta-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:.75rem}.eta-value{font-family:var(--font-display);color:var(--cyan);font-variant-numeric:tabular-nums;font-size:1.8rem}.eta-value--imminent{color:var(--pink);animation:.7s ease-in-out infinite counter-pulse}.render-progress-hint{text-align:center;color:var(--text-dim);margin:0;font-size:.82rem}.gif-result{text-align:center;animation:gif-pop .6s var(--ease-pop) both;flex-direction:column;align-items:center;gap:1rem;display:flex}@keyframes gif-pop{0%{opacity:0;transform:scale(.8)rotate(-3deg)}60%{transform:scale(1.04)rotate(1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.gif-result-note{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.85rem}.gif-frame{background:linear-gradient(var(--ink-card), var(--ink-card)) padding-box, linear-gradient(120deg, var(--pink), var(--gold), var(--cyan)) border-box;width:fit-content;max-width:100%;box-shadow:var(--shadow-pop);border:3px solid #0000;border-radius:14px;margin-inline:auto;position:relative;overflow:hidden}.scene-badge{border:1px solid var(--line);color:var(--gold);text-transform:uppercase;letter-spacing:.05em;background:#08060cb8;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.gif-frame img{max-width:100%;height:auto;display:block}.gif-caption{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text);margin:0;font-size:1.2rem}.gif-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.remix-cta{color:var(--gold);font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;transition:border-color .2s ease, background .2s ease, transform .15s var(--ease-pop);background:#ffd60a14;border:2px dashed #ffd60a66;border-radius:999px;margin-top:.4rem;padding:.6rem 1.4rem;font-size:.85rem;font-weight:700}.remix-cta:hover{border-color:var(--gold);background:#ffd60a29;transform:translateY(-1px)}.remix-cta:active{transform:scale(.97)}.remix-cta-icon{margin-right:.15rem;font-size:1rem}.konami-burst{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.konami-burst i{background:var(--c);width:10px;height:10px;animation:konami-pop var(--d) ease-out both;border-radius:50%;position:absolute;top:50%;left:50%}@keyframes konami-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--r)) scale(0);opacity:0}}.brand--konami{animation:.5s 2 konami-wobble}@keyframes konami-wobble{0%,to{transform:none}25%{transform:rotate(-4deg)scale(1.08)}75%{transform:rotate(4deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.konami-burst{display:none}.brand--konami{animation:none}}.gallery{flex-direction:column;gap:1rem;display:flex}.gallery-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.4rem;display:flex}.gallery-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:.95rem;display:flex}.gallery-heading:before{content:"";background:linear-gradient(180deg, var(--pink), var(--gold));border-radius:999px;flex-shrink:0;width:3px;height:1em}.gallery-vibes{flex-wrap:wrap;gap:.35rem;display:flex}.vibe-pill{border:1px solid var(--line);background:var(--ink-raised);color:var(--text-dim);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:700;transition:border-color .2s,color .2s,background .2s}.vibe-pill:hover{border-color:var(--cyan);color:var(--text)}.vibe-pill--active{border-color:var(--gold);color:var(--gold);background:#ffd60a24}.vibe-pill:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.gallery-empty{text-align:center;color:var(--text-dim);padding:1.2rem 0;font-size:.9rem;font-style:italic}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.9rem;display:grid;position:relative}@media (width>=700px){.maker-view .gallery-grid{grid-template-columns:repeat(6,1fr)}.maker-view .gallery-card:nth-child(8n+1),.maker-view .gallery-card:nth-child(8n+5){grid-column:span 2}.maker-view .gallery-card:nth-child(8n+1) .gallery-card-phrase,.maker-view .gallery-card:nth-child(8n+5) .gallery-card-phrase{font-size:.78rem}}.gallery-card{border:1px solid var(--line);background:var(--ink-card);aspect-ratio:440/538;transition:transform .2s var(--ease-pop), border-color .2s ease;border-radius:12px;text-decoration:none;position:relative;overflow:hidden}.gallery-card:hover{border-color:var(--cyan);transform:translateY(-4px)rotate(-1deg)}.gallery-card img{object-fit:contain;width:100%;height:100%;display:block}.gallery-card-phrase{color:var(--text);background:linear-gradient(#0000,#08060ceb);padding:.4rem .55rem;font-size:.72rem;font-weight:600;position:absolute;inset:auto 0 0}.gallery-card-chip{border:1px solid var(--line);color:var(--text);letter-spacing:.05em;pointer-events:none;background:#08060cb8;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:700;transition:color .2s,border-color .2s;position:absolute;top:.5rem;right:.5rem}.gallery-card:hover .gallery-card-chip{color:var(--cyan);border-color:var(--cyan)}.gallery-card-scene{border:1px solid var(--line);color:var(--gold);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#08060cb8;border-radius:999px;max-width:calc(100% - 1rem);padding:.15rem .45rem;font-size:.62rem;font-weight:700;position:absolute;top:.5rem;left:.5rem;overflow:hidden}.card-enter-active{transition:opacity .4s ease-out, transform .4s var(--ease-pop)}.card-leave-active{transition:opacity .25s ease-in,transform .25s ease-in;position:absolute}.card-move{transition:transform .4s}.card-enter-from{opacity:0;transform:scale(.85)translateY(12px)}.card-leave-to{opacity:0;transform:scale(.85)}.meme-view-loading,.meme-view-missing{text-align:center;color:var(--text-dim);flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.site-glow{animation:none}}@media (width<=768px){.maker-view,.meme-view{gap:1.9rem;max-width:560px}.hero-title{font-size:clamp(2.3rem,7.5vw,3.6rem)}.hero-gif{width:min(260px,56vw)}.phrase-input{font-size:1.05rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.7rem}.ladder-viewport{max-height:15rem}.ladder-rung--active .ladder-rung-label,.ladder-rung--failed .ladder-rung-label{font-size:clamp(1.2rem,5.5vw,1.6rem)}.scene-chip{padding:.45rem .85rem;font-size:.8rem}}@media (width<=480px){.site-header{padding-top:1.25rem}.result-panel{padding:1.1rem}.submit-button{text-align:center;align-self:stretch}.regenerate-confirm-actions .link-button{flex:auto}.scene-picker-chips{gap:.4rem}.scene-chip{padding:.4rem .7rem;font-size:.76rem}}.hero-gif{width:min(300px,62vw);height:auto;animation:hero-gif-in .7s var(--ease-pop) both;transition:transform .4s var(--ease-pop), box-shadow .4s ease, opacity .35s ease;border:1px solid #ffffff1f;border-radius:14px;margin:0 auto 1.4rem;display:block;box-shadow:0 18px 50px #ff2d5538,0 4px 14px #00000080}.hero-gif--fading{opacity:0;transform:scale(.97)}.hero-gif:hover{transform:translateY(-4px)rotate(-1deg)scale(1.02);box-shadow:0 24px 60px #ff2d554d,0 8px 20px #00000080}@keyframes hero-gif-in{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}.hero-rotator{flex-direction:column;align-items:center;display:flex}.hero-rotator-dots{gap:5px;margin-top:.5rem;display:flex}.hero-dot{background:#ffffff2e;border-radius:50%;width:5px;height:5px;transition:background .3s,transform .3s}.hero-dot--active{background:var(--gold);transform:scale(1.4);box-shadow:0 0 6px #ffd60a80}@media (prefers-reduced-motion:reduce){.hero-gif{animation:none}.hero-gif:hover{transform:none}.hero-dot{transition:none}}.suggestions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.2rem;display:flex}.suggestions-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding-right:.15rem;font-size:.7rem}.suggestion-chip{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;transition:border-color .2s ease, color .2s ease, background .2s ease, transform .15s var(--ease-pop);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:600}.suggestion-chip:hover:not(:disabled){color:var(--gold-bright);background:#ffd60a1f;border-color:#ffd60a80;transform:translateY(-1px);box-shadow:0 4px 12px #ffd60a1f}.suggestion-chip:active:not(:disabled){transform:scale(.96)}.suggestion-chip:disabled{opacity:.35;cursor:not-allowed}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;padding:.6rem 0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{flex-shrink:0;align-items:center;gap:1.2rem;padding-right:1.2rem;animation:28s linear infinite marquee-scroll;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-phrase{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);white-space:nowrap;font-size:.85rem}.marquee-dot{color:var(--gold);opacity:.6;margin-right:.3rem}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{-webkit-mask-image:none;mask-image:none}}.gallery-card{will-change:transform}.gallery-card:after{content:"";background:radial-gradient(300px 200px at var(--foil-x,50%) var(--foil-y,50%), #ffffff14, transparent 60%);opacity:0;pointer-events:none;border-radius:12px;transition:opacity .3s;position:absolute;inset:0}.gallery-card:hover:after{opacity:1}@media (prefers-reduced-motion:reduce){.gallery-card{will-change:auto}.gallery-card:after{display:none}}@media (hover:none){.gallery-card:after{display:none}}
