.page{background:linear-gradient(#4fc3ea 0%,#77d2ef 44%,#b6e6f6 76%,#e6f6fc 100%);min-height:100vh;padding:1rem clamp(.75rem,2vw,1.5rem) 2rem;position:relative;overflow-x:hidden}.sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky__clouds{width:112%;height:112%;position:absolute;inset:-6%}.sky__cloud{fill:#fff}.comic-frame{z-index:1;background:color-mix(in srgb, var(--panel) 94%, transparent);border:4px solid var(--ink);max-width:940px;box-shadow:6px 6px 0 var(--shadow);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);border-radius:18px 22px 16px 20px;margin:0 auto;padding:clamp(.85rem,2vw,1.35rem);position:relative}.transformer{flex-direction:column;gap:1rem;display:flex}.app-header{border-bottom:3px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.app-header__brand-row{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;min-width:0;display:flex}.app-header__title{margin:0;line-height:1}.app-header__wordmark{font-family:var(--font-display);color:var(--ink);background:var(--yellow);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);border-radius:14px 18px 12px 16px;margin:0;padding:.2rem .5rem .1rem;font-size:clamp(1.6rem,4.5vw,2.2rem);line-height:1;display:inline-block;transform:rotate(-1.5deg)}.app-header__tagline{color:var(--muted);margin:0;font-size:.92rem}.app-header__links{flex-wrap:wrap;gap:.65rem;display:flex}.app-header__links a,.app-footer__links a{background:var(--white);border:3px solid var(--ink);min-height:2.75rem;box-shadow:2px 2px 0 var(--shadow);border-radius:999px;align-items:center;padding:.35rem .85rem;font-weight:700;text-decoration:none;display:inline-flex}.app-header__links a:hover,.app-footer__links a:hover,.btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--shadow);transform:translate(-1px,-1px)}.intro{flex-direction:column;gap:.35rem;display:flex}.intro__title{font-family:var(--font-display);margin:0;font-size:clamp(1.25rem,3.4vw,1.75rem);line-height:1.15}.intro__copy{max-width:62ch;color:var(--muted);margin:0;font-size:1rem;line-height:1.5}.input-panel{background:var(--paper);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--shadow);border-radius:20px 16px 22px 18px;flex-direction:column;display:flex}.input-panel__banner{background:var(--pink);border-bottom:3px solid var(--ink);border-radius:16px 12px 0 0;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.7rem .9rem;display:flex}.input-panel__title{font-family:var(--font-display);margin:0;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.15}.input-panel__body{flex-direction:column;gap:.75rem;padding:.85rem;display:flex}.char-count{white-space:nowrap;font-size:.85rem;font-weight:700}.char-count--over{color:#a11212}.dialogue-area{resize:vertical;border:3px solid var(--ink);background:var(--paper);width:100%;min-height:9rem;color:var(--ink);border-radius:14px 18px 12px 16px;padding:.85rem;line-height:1.45;box-shadow:inset 2px 2px #00000014}.panel-actions{flex-wrap:wrap;gap:.55rem;display:flex}.level-control{border:3px solid var(--ink);background:var(--white);box-shadow:3px 3px 0 var(--shadow);border-radius:14px 16px 12px 15px;flex-direction:column;gap:.6rem;padding:.75rem .85rem .85rem;display:flex}.level-control__heading{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:800}.level-control__stops{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.level-stop{border:2px solid var(--ink);background:var(--paper);min-height:2.75rem;color:var(--muted);font:inherit;text-align:center;cursor:pointer;box-shadow:1px 1px 0 var(--shadow);border-radius:10px 12px 9px 11px;flex-direction:column;align-items:center;gap:.25rem;padding:.4rem .3rem .45rem;font-size:.75rem;font-weight:700;line-height:1.2;display:flex}.level-stop--active{background:var(--yellow);color:var(--ink);box-shadow:3px 3px 0 var(--shadow);border-width:3px;font-weight:900}.level-stop:disabled{cursor:not-allowed;opacity:.55}.level-stop__rank{font-family:var(--font-display);font-size:1rem;font-weight:900;line-height:1}.level-stop__thumb{object-fit:contain;object-position:center bottom;width:44px;height:44px}.level-stop__name{display:block}.level-stop__pips{gap:2px;display:flex}.level-stop__pip{border:1px solid var(--ink);background:0 0;border-radius:50%;width:6px;height:6px}.level-stop__pip--on{background:var(--ink)}.level-control__readout{flex-direction:column;gap:.15rem;min-width:0;margin:0;display:flex}.level-control__readout-name{font-size:.98rem;font-weight:800;line-height:1.2}.level-control__readout-hint{color:var(--muted);font-size:.85rem;font-weight:600;line-height:1.3}.level-control__readout-helper{color:var(--ink);opacity:.72;font-size:.8rem;font-weight:600;line-height:1.3}.transformer__action{justify-content:center;display:flex}.btn{border:3px solid var(--ink);background:var(--white);min-height:2.75rem;color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--shadow);border-radius:14px 16px 12px 15px;justify-content:center;align-items:center;padding:.45rem .95rem;font-weight:800;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-chunky{background:var(--yellow)}.btn-homerify{min-width:min(100%,22rem);min-height:3.4rem;font-family:var(--font-display);background:var(--orange);color:var(--ink);border-radius:18px 22px 16px 20px;padding:.7rem 1.4rem;font-size:clamp(1.15rem,3vw,1.55rem);animation:2.4s ease-in-out infinite action-pulse}.btn-homerify--loading{background:var(--pink-deep);animation:none}.status-strip{border:3px solid var(--ink);background:var(--white);box-shadow:2px 2px 0 var(--shadow);border-radius:12px;align-items:center;gap:.7rem;padding:.5rem .75rem;display:flex}.status-strip--error{background:#ffd9d9;flex-wrap:wrap}.status-strip__body{flex:14rem;min-width:0}.status-strip__thumb{object-fit:contain;flex-shrink:0;width:auto;height:56px}.status-strip__title{font-family:var(--font-display);margin:0;font-weight:800}.status-strip__copy{margin:0;font-size:.95rem;font-weight:700;line-height:1.35}.status-strip__retry{flex-shrink:0}.status-dots{flex-shrink:0;gap:5px;display:inline-flex}.status-dots span{border:2px solid var(--ink);background:var(--yellow);border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite dot-pulse}.status-dots span:nth-child(2){animation-delay:.15s}.status-dots span:nth-child(3){animation-delay:.3s}.homer-scene{--char-w:var(--char-w-mobile);--char-h:calc(var(--char-w) / var(--char-ar));--char-tuck:calc(var(--char-h) * .12);--mouth-inset:calc(var(--char-w) * var(--mouth-near));--mouth-up:calc(var(--char-h) * var(--mouth-y-inv));--overlap:clamp(40px, calc(var(--mouth-inset) * .45), 80px);--bubble-pad:clamp(1.15rem, 1rem + 1.4vw, 1.7rem);--bubble-fill:#fff8e7;border:4px solid var(--ink);box-shadow:7px 7px 0 var(--shadow);background:#eaf7ff;border-radius:16px 20px 14px 18px;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:.85rem .85rem .95rem;animation:.32s panel-pop;display:flex;position:relative}.homer-scene:before{content:"";border-radius:inherit;background-image:radial-gradient(var(--sky-deep) 1.4px, transparent 1.5px);opacity:.35;pointer-events:none;background-size:10px 10px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(200deg,#000 0 18%,#0000 46%);mask-image:linear-gradient(200deg,#000 0 18%,#0000 46%)}.homer-scene[aria-busy=true]{opacity:.55}.homer-scene__caption{width:fit-content;max-width:100%;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:3px solid var(--ink);box-shadow:2px 2px 0 var(--shadow);border-radius:999px;margin:0;padding:.2rem .75rem;font-size:.78rem;font-weight:800;position:relative}.homer-scene__stage{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.homer-scene__balloon{z-index:1;grid-area:1/1;min-width:0}.homer-scene__character{width:var(--char-w);margin-top:calc(-1 * var(--char-tuck));z-index:2;grid-area:2/1}.homer-scene[data-facing=left] .homer-scene__character{justify-self:end}.homer-scene[data-facing=right] .homer-scene__character,.homer-scene[data-facing=front] .homer-scene__character{justify-self:start}.homer-scene__art{filter:drop-shadow(4px 4px #11111142);width:100%;height:auto;display:block}.homer-scene__actions{flex-wrap:wrap;gap:.55rem;display:flex}.comic-bubble{padding:var(--bubble-pad);color:var(--ink);background:var(--bubble-fill);border:4px solid var(--ink);box-shadow:7px 7px 0 -1px var(--yellow-deep), 7px 7px 0 2px var(--ink);border-radius:30px 34px 28px 32px/28px 30px 34px 26px;position:relative}.comic-bubble:before{content:"";z-index:-1;border-radius:inherit;background-image:radial-gradient(var(--red) 1.5px, transparent 1.6px);opacity:.5;background-size:9px 9px;position:absolute;inset:16px -20px -20px 16px}.homer-scene[data-length=long] .comic-bubble:before{opacity:.18}.comic-bubble__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:clamp(1rem,.95rem + .4vw,1.14rem);line-height:1.57}.homer-scene[data-length=long] .comic-bubble__text{-webkit-hyphens:auto;hyphens:auto}.comic-bubble__text+.comic-bubble__text{margin-top:.9rem}@media (width>=600px){.homer-scene{--char-w:var(--char-w-tablet);padding:1rem 1.05rem 1.1rem}.homer-scene__stage{align-items:end}.homer-scene[data-facing=right] .homer-scene__stage,.homer-scene[data-facing=front] .homer-scene__stage{grid-template-columns:var(--char-w) minmax(0, 1fr)}.homer-scene[data-facing=left] .homer-scene__stage{grid-template-columns:minmax(0, 1fr) var(--char-w)}.homer-scene__character{grid-row:1;align-self:end;margin-top:0}.homer-scene__balloon{margin-bottom:var(--mouth-up);grid-row:1;align-self:end;min-width:min(100%,22rem);max-width:min(100%,62ch)}.homer-scene[data-facing=right] .homer-scene__character,.homer-scene[data-facing=front] .homer-scene__character{grid-column:1;justify-self:start}.homer-scene[data-facing=right] .homer-scene__balloon,.homer-scene[data-facing=front] .homer-scene__balloon{margin-left:calc(-1 * var(--overlap));grid-column:2;justify-self:start}.homer-scene[data-facing=left] .homer-scene__character{grid-column:2;justify-self:end}.homer-scene[data-facing=left] .homer-scene__balloon{margin-right:calc(-1 * var(--overlap));grid-column:1;justify-self:end}.homer-scene[data-facing=right] .comic-bubble,.homer-scene[data-facing=front] .comic-bubble{padding-left:calc(var(--bubble-pad) + var(--overlap) + 10px)}.homer-scene[data-facing=left] .comic-bubble{padding-right:calc(var(--bubble-pad) + var(--overlap) + 10px)}.homer-scene[data-length=long] .homer-scene__stage{align-items:start}.homer-scene[data-length=long] .homer-scene__character{align-self:start}.homer-scene[data-length=long] .homer-scene__balloon{align-self:start;max-width:min(100%,68ch);margin-bottom:0}.homer-scene[data-facing=right] .homer-scene__actions,.homer-scene[data-facing=front] .homer-scene__actions{justify-content:flex-end}.homer-scene[data-facing=left] .homer-scene__actions{justify-content:flex-start}.homer-scene[data-facing=left] .homer-scene__caption{margin-left:auto}}@media (width>=1024px){.homer-scene{--char-w:var(--char-w-desktop)}}@media (width>=900px){.homer-scene{margin-inline:calc(-1*clamp(.4rem,1vw,.95rem))}}.toast{z-index:30;background:var(--white);border:3px solid var(--ink);max-width:min(92vw,24rem);box-shadow:4px 4px 0 var(--shadow);border-radius:14px 16px 12px 15px;align-items:center;gap:.6rem;padding:.5rem .85rem;animation:.22s toast-rise;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.toast__accent{border:2px solid var(--ink);border-radius:8px;flex-shrink:0;width:64px;height:auto}.toast__text{margin:0;font-weight:800}.app-footer{border-top:3px solid var(--ink);margin-top:1.25rem;padding-top:.85rem}.app-footer__skyline{justify-content:space-between;align-items:flex-end;min-height:54px;margin-bottom:.75rem;display:flex}.app-footer__plant-css{background:linear-gradient(var(--ink), var(--ink)) 18px 28px / 18px 26px no-repeat, linear-gradient(var(--ink), var(--ink)) 84px 28px / 18px 26px no-repeat, radial-gradient(circle at 27px 22px, var(--nuclear) 0 7px, transparent 8px), radial-gradient(circle at 93px 22px, var(--nuclear) 0 7px, transparent 8px), linear-gradient(var(--ink), var(--ink)) 10px 48px / 100px 6px no-repeat;opacity:.9;width:120px;height:54px}.app-footer__privacy{margin:0 0 .55rem;font-weight:700}.app-footer__links{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.app-footer__legal{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}@media (width<=599px){.btn-homerify{width:100%}.comic-bubble{--bubble-pad:.95rem;border-width:3px}.comic-bubble__text{font-size:1rem}.level-stop{padding:.35rem .15rem .4rem}.level-stop__thumb{width:34px;height:34px}.level-stop__name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.homer-scene[data-length=long]{--char-w:calc(var(--char-w-mobile) * .78)}}@keyframes action-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.06)}}@keyframes dot-pulse{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes panel-pop{0%{opacity:.5;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes cloud-drift{0%{transform:translate(-1.2%)}to{transform:translate(1.2%)}}@media (prefers-reduced-motion:no-preference){.sky__cloud--nw{animation:150s ease-in-out infinite alternate cloud-drift}.sky__cloud--ne{animation:180s ease-in-out infinite alternate-reverse cloud-drift}.sky__cloud--w{animation:120s ease-in-out infinite alternate cloud-drift}.sky__cloud--se{animation:210s ease-in-out infinite alternate-reverse cloud-drift}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (forced-colors:active){.homer-scene:before,.comic-bubble:before,.app-footer__plant-css{display:none}.comic-frame,.input-panel,.level-control,.homer-scene,.comic-bubble,.status-strip,.toast,.btn{color:canvastext;background:canvas;border-color:canvastext}.level-stop--active{outline-offset:2px;border-color:highlight;outline:3px solid highlight}.level-stop__pip{border-color:canvastext}.level-stop__pip--on{background:canvastext}.btn:disabled{color:graytext}}:root{--sky:#7ec8e3;--sky-deep:#5bb4d6;--yellow:#ffd90f;--yellow-deep:#f5c400;--pink:#f7a8c4;--pink-deep:#ef7ca6;--crayon-green:#6ecb63;--crayon-green-deep:#4fb048;--orange:#ff7a00;--red:#e53935;--ink:#111;--paper:#fffdf5;--paper-edge:#111;--panel:#fff8e7;--panel-alt:#e8f6ff;--muted:#333;--shadow:#111;--focus:#005fcc;--white:#fff;--nuclear:var(--crayon-green);--nuclear-deep:var(--crayon-green-deep);--font-display:"Comic Sans MS", "Comic Sans", "Chalkboard SE", "Marker Felt", "Segoe Print", cursive;--font-body:"Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", Tahoma, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--sky);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (forced-colors:active){:focus-visible{outline-color:highlight}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
