:root{font-family:Trebuchet MS,Verdana,sans-serif;color:#17374b;background:#efe2c4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #efe2c4;--bg-alt: #f8f1db;--panel: #fff8e8;--panel-strong: #f8e9bf;--border: #3a5566;--shadow: #b08f4d;--text: #17374b;--muted: #547080;--accent: #3ea5c5;--accent-2: #f58bb7;--accent-3: #f7c14f;--glow: rgba(62, 165, 197, .22)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;background:radial-gradient(circle at top,rgba(255,255,255,.75),transparent 38%),linear-gradient(180deg,#f7eccd,#e8d7af);color:var(--text)}button,textarea{font:inherit}.theme-computer-lab{--bg: #efe2c4;--bg-alt: #f8f1db;--panel: #fff8e8;--panel-strong: #f8e9bf;--border: #3a5566;--shadow: #b08f4d;--text: #17374b;--muted: #547080;--accent: #3ea5c5;--accent-2: #f58bb7;--accent-3: #f7c14f;--glow: rgba(62, 165, 197, .22)}.theme-rainbow-terminal{--bg: #d9f1ec;--bg-alt: #f9f4ff;--panel: #fbfff5;--panel-strong: #fef0f3;--border: #275a64;--shadow: #84b8bd;--text: #164048;--muted: #51727d;--accent: #34b6c9;--accent-2: #ff7ea8;--accent-3: #f7d96e;--glow: rgba(255, 126, 168, .2)}.app-shell{position:relative;min-height:100vh;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent),repeating-linear-gradient(to bottom,#ffffff2e,#ffffff2e 2px,#00000005 2px,#00000005 4px),var(--bg)}.crt-noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.08;background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.5),transparent 10%),radial-gradient(circle at 80% 35%,rgba(255,255,255,.4),transparent 12%),radial-gradient(circle at 45% 80%,rgba(255,255,255,.35),transparent 14%)}.retro-frame{position:relative;max-width:1180px;margin:0 auto;padding:18px;border:4px solid var(--border);border-radius:32px;background:linear-gradient(180deg,var(--bg-alt),#eadcb8);box-shadow:0 18px 0 var(--shadow),0 24px 38px #2431412e}.retro-frame__bezel{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:2px dashed rgba(58,85,102,.28);border-radius:22px;pointer-events:none}.retro-frame__content{position:relative;z-index:1}.app-grid{display:grid;gap:18px}.app-grid__main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}.app-grid__left,.app-grid__right{display:grid;gap:18px}.topbar,.panel__row,.prompt-panel__actions,.editor-panel__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar__actions{display:flex;gap:10px;flex-wrap:wrap}.topbar__tiny,.panel__label,.title-screen__eyebrow{margin:0 0 6px;font-family:Courier New,Lucida Console,monospace;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.topbar__title,.title-screen__title{margin:0;font-family:Courier New,Lucida Console,monospace;letter-spacing:.06em;text-transform:uppercase}.topbar__title{font-size:clamp(1.6rem,3vw,2.4rem)}.panel,.title-screen{position:relative;overflow:hidden;padding:18px;border:3px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#ffffff9e,#fff0),var(--panel);box-shadow:inset 0 2px #ffffff80}.helper-text,.prompt-panel__text,.title-screen__subtitle,.title-screen__hint,.poem-stage__status,.reward-banner,.example-card__preview{margin:0;color:var(--muted);line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 18px;border:3px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fffefa,#f6ebca);color:var(--text);font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease;box-shadow:0 4px #3a556633}.button__icon{display:inline-grid;place-items:center;min-width:1.1em;font-size:1.05em;line-height:1}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(2px);box-shadow:0 1px #3a55662e}.button:focus-visible,.poem-input:focus-visible,.example-card:focus-visible{outline:4px solid var(--accent-2);outline-offset:3px}.button--hero{background:linear-gradient(180deg,var(--accent-3),#f5b653)}.button--secondary{background:linear-gradient(180deg,#eefbff,#d7f0f4)}.title-screen{min-height:calc(100vh - 96px);display:grid;place-items:center;text-align:center;gap:18px;padding:32px}.title-screen__title{font-size:clamp(2.6rem,7vw,5rem);color:var(--accent);text-shadow:4px 4px 0 rgba(255,255,255,.9),8px 8px 0 rgba(245,139,183,.24)}.title-screen__subtitle{max-width:26rem;font-size:1.1rem}.title-screen__marquee{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.title-screen__marquee span{padding:8px 12px;border:2px solid var(--border);border-radius:999px;background:#fff;font-family:Courier New,monospace;font-weight:700;animation:bob 2.4s ease-in-out infinite}.title-screen__marquee span:nth-child(2){animation-delay:.2s}.title-screen__marquee span:nth-child(3){animation-delay:.4s}.title-screen__marquee span:nth-child(4){animation-delay:.6s}.title-screen__computer{width:min(100%,420px);padding:18px;border:4px solid var(--border);border-radius:28px;background:linear-gradient(180deg,#fbf7ef,#e7dcb8)}.title-screen__screen,.poem-stage__screen{position:relative;overflow:hidden;min-height:220px;padding:22px;border:4px solid #1b5262;border-radius:22px;background:linear-gradient(180deg,#ffffff1f,#fff0),linear-gradient(180deg,#c7f3ee,#9fdae6);box-shadow:inset 0 0 0 3px #ffffff73}.title-screen__demo-line{font-family:Courier New,monospace;font-size:1.1rem;margin-bottom:14px;color:#134457;animation:typeIn .9s steps(18,end) both}.title-screen__demo-line:nth-child(2){animation-delay:.4s}.title-screen__demo-line:nth-child(3){animation-delay:.8s}.boot-screen{min-height:calc(100vh - 96px);display:grid;place-items:center;gap:18px;text-align:center}.boot-screen__monitor{width:min(100%,560px);padding:22px;border:4px solid #1b5262;border-radius:22px;background:repeating-linear-gradient(to bottom,#ffffff0f,#ffffff0f 2px,#0000000a 2px,#0000000a 4px),linear-gradient(180deg,#173f52,#102d3c);box-shadow:inset 0 0 0 3px #ffffff1f}.boot-screen__line{margin:0 0 12px;min-height:1.4rem;text-align:left;font-family:Courier New,monospace;color:#d9fff0}.boot-screen__bar{height:18px;margin-top:18px;border:2px solid rgba(217,255,240,.45);border-radius:999px;overflow:hidden}.boot-screen__bar span{display:block;height:100%;background:linear-gradient(90deg,#68ffd6,#9be9ff);transition:width .22s ease}.poem-input{width:100%;min-height:230px;resize:vertical;padding:18px;border:3px solid var(--border);border-radius:22px;background:#ffffffc7;color:var(--text);font-size:1.3rem;line-height:1.6;box-shadow:inset 0 2px 10px #0000000d}.editor-panel__extras{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px}.editor-panel__mini-actions{display:flex;gap:10px;flex-wrap:wrap}.typing-preview,.helper-buddy{display:grid;gap:12px}.typing-preview__word{font-family:Courier New,monospace;font-size:clamp(1.35rem,3vw,2rem);color:#15465a}.typing-preview__word span{display:inline-block;padding:10px 14px;border:3px solid rgba(58,85,102,.24);border-radius:14px;background:#ffffffb3}.typing-preview__word--magic{background:linear-gradient(180deg,#fff5bcf2,#ffffffd6)!important;box-shadow:0 0 0 3px #ffffff80,0 0 20px #f7c14f47}.helper-buddy--inline{display:grid;gap:12px}.helper-buddy__top{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:start}.helper-buddy__avatar{width:62px;height:62px;border:3px solid var(--border);border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#fff6cf,#f8d67d);box-shadow:inset 0 2px #ffffffb3}.helper-buddy__avatar span{font-family:Courier New,monospace;font-size:1.8rem;color:#18455a;animation:bob 2s ease-in-out infinite}.helper-buddy__message{margin:0;line-height:1.5;color:var(--text)}.magic-meter{display:grid;gap:8px}.button--speaker{min-width:148px}.magic-meter__bar{height:18px;border:3px solid var(--border);border-radius:999px;background:#fff9;overflow:hidden}.magic-meter__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));box-shadow:0 0 20px #3ea5c559;transition:width .24s ease}.reward-banner{padding:12px 14px;border:2px dashed rgba(58,85,102,.35);border-radius:14px;background:#ffffff75}.magic-word-bank,.example-list{display:grid;gap:10px}.magic-word-bank{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.magic-chip,.example-card{padding:12px;border:2px solid rgba(58,85,102,.28);border-radius:16px;background:#ffffffb3}.magic-chip{display:grid;gap:4px}.magic-chip strong,.example-card__title{font-family:Courier New,monospace;text-transform:uppercase;font-size:.95rem}.magic-chip span{font-size:.92rem;color:var(--muted)}.example-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.example-card{text-align:left;cursor:pointer;display:grid;gap:6px}.poem-stage__screen{min-height:360px}.poem-stage--modal{display:grid}.poem-stage__screen--modal{min-height:min(68vh,720px);padding:34px;border-width:5px;border-radius:28px}.poem-stage__screen--rainy{background:linear-gradient(180deg,#ffffff14,#fff0),linear-gradient(180deg,#b9dcef,#84bbd7)}.poem-stage__screen--snowy{background:linear-gradient(180deg,#ffffff24,#fff0),linear-gradient(180deg,#d9f3ff,#b7d5e9)}.poem-stage__screen--sunny{background:linear-gradient(180deg,#fff9c438,#fff0),linear-gradient(180deg,#d8f2ea,#a8dce5)}.poem-stage__screen--moonlit{background:linear-gradient(180deg,#dce5ff2e,#fff0),linear-gradient(180deg,#b6d1ed,#8ca8d2)}.poem-stage__screen--rainbow{box-shadow:inset 0 0 0 3px #ffffff73,0 0 0 6px #ff7ea814}.poem-stage__screen--garden{box-shadow:inset 0 -16px #7ebd622e,inset 0 0 0 3px #ffffff73}.poem-stage__screen--sleepy:before,.poem-stage__screen--starry:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 18% 18%,rgba(255,255,255,.75) 0 2px,transparent 3px),radial-gradient(circle at 72% 14%,rgba(255,255,255,.65) 0 2px,transparent 3px),radial-gradient(circle at 60% 28%,rgba(255,255,255,.65) 0 2px,transparent 3px);opacity:.5;pointer-events:none}.poem-stage__screen--boom{box-shadow:inset 0 0 0 3px #ffffff73,0 0 0 5px #f58bb71f}.poem-stage__screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(255,255,255,.18),transparent 40%),repeating-linear-gradient(to bottom,#ffffff08,#ffffff08 2px,#092a3a04 2px,#092a3a04 4px);pointer-events:none;opacity:.65}.poem-stage__screen--modal:after{opacity:.38}.poem-stage__placeholder{position:relative;z-index:1;display:grid;place-items:center;min-height:280px;text-align:center;color:#1b5262;font-size:1.15rem}.poem-stage__atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.poem-stage__sun,.poem-stage__moon,.poem-stage__cloud,.poem-stage__arc,.poem-stage__stars,.poem-stage__tree-item,.poem-stage__grassline,.poem-stage__flower-item{position:absolute}.poem-stage__sun{top:18px;right:26px;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,#f7d96ef2,#f7d96e14);box-shadow:0 0 32px #f7d96e57}.poem-stage__moon{top:24px;right:30px;width:56px;height:56px;border-radius:50%;box-shadow:-12px 0 #ffffffdb,-4px 0 #b7d5e9f2}.poem-stage__cloud{top:26px;width:82px;height:26px;border-radius:999px;background:#ffffff7a;filter:blur(.4px)}.poem-stage__cloud:before,.poem-stage__cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.poem-stage__cloud:before{width:28px;height:28px;left:14px;top:-10px}.poem-stage__cloud:after{width:34px;height:34px;right:10px;top:-14px}.poem-stage__cloud--left{left:22px}.poem-stage__cloud--right{right:120px}.poem-stage__arc{top:36px;left:26px;width:120px;height:62px;border-top-left-radius:90px;border-top-right-radius:90px;border:6px solid transparent;border-top-color:#ff7ea8;box-shadow:0 -6px #f7d96e,0 -12px #89d8ff;opacity:.88}.poem-stage__stars{top:0;right:0;bottom:0;left:0}.poem-stage__stars:before{content:"✦ ✧ ✦";position:absolute;left:24px;top:18px;color:#ffffffd6;letter-spacing:16px}.poem-stage__tree-item{bottom:24px;width:38px;height:84px;transform:translate(-50%)}.poem-stage__tree-top,.poem-stage__tree-trunk,.poem-stage__flower-petal,.poem-stage__flower-center,.poem-stage__flower-stem{position:absolute}.poem-stage__tree-top{left:50%;top:0;width:38px;height:42px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,#7ad676,#4e9f4f)}.poem-stage__tree-trunk{left:50%;bottom:0;width:10px;height:36px;transform:translate(-50%);border-radius:8px;background:#8a5a3a}.poem-stage__grassline{left:0;right:0;bottom:8px;height:24px;background:linear-gradient(90deg,transparent 0 2%,rgba(84,165,82,.8) 2% 4%,transparent 4% 6%),linear-gradient(90deg,transparent 6% 10%,rgba(97,176,86,.84) 10% 12%,transparent 12% 15%),linear-gradient(90deg,transparent 16% 19%,rgba(84,165,82,.78) 19% 21%,transparent 21% 24%),linear-gradient(90deg,transparent 28% 31%,rgba(97,176,86,.86) 31% 33%,transparent 33% 36%),linear-gradient(90deg,transparent 40% 43%,rgba(84,165,82,.8) 43% 45%,transparent 45% 49%),linear-gradient(90deg,transparent 52% 55%,rgba(97,176,86,.82) 55% 57%,transparent 57% 60%),linear-gradient(90deg,transparent 64% 67%,rgba(84,165,82,.84) 67% 69%,transparent 69% 72%),linear-gradient(90deg,transparent 76% 79%,rgba(97,176,86,.8) 79% 81%,transparent 81% 84%),linear-gradient(90deg,transparent 88% 91%,rgba(84,165,82,.86) 91% 93%,transparent 93% 96%);opacity:.78}.poem-stage__flower-item{bottom:16px;width:24px;height:46px;transform:translate(-50%)}.poem-stage__flower-petal{width:10px;height:10px;border-radius:50%;background:#ff9cc2}.poem-stage__flower-item:nth-of-type(odd) .poem-stage__flower-petal{background:#ffb4d5}.poem-stage__flower-petal--top{left:50%;top:2px;transform:translate(-50%)}.poem-stage__flower-petal--left{left:2px;top:10px}.poem-stage__flower-petal--right{right:2px;top:10px}.poem-stage__flower-center{left:50%;top:12px;width:7px;height:7px;border-radius:50%;transform:translate(-50%);background:#fff0a2}.poem-stage__flower-stem{left:50%;bottom:0;width:4px;height:24px;transform:translate(-50%);border-radius:999px;background:#5ba956}.poem-stage__combo-strip{position:absolute;top:16px;left:50%;z-index:1;display:flex;gap:8px;transform:translate(-50%);flex-wrap:wrap;justify-content:center}.poem-stage__combo-badge{padding:6px 10px;border:2px solid rgba(255,255,255,.5);border-radius:999px;background:#133d533d;color:#fffef0;font-family:Courier New,monospace;font-size:.75rem}.poem-line{position:relative;z-index:1;margin:0 0 14px;min-height:2.5rem;font-family:Courier New,Lucida Console,monospace;font-size:clamp(1.3rem,3vw,2rem);line-height:1.5;color:#153d53;opacity:0;transform:translateY(10px);transition:opacity .24s ease,transform .24s ease}.poem-stage__screen--modal .poem-line{font-size:clamp(1.7rem,4.4vw,3rem);min-height:3.4rem;margin-bottom:18px}.poem-line--wave-line{animation:waveLine 1.4s ease-in-out}.poem-line--echo-line{text-shadow:.1em .08em rgba(255,255,255,.16)}.poem-line--boom-line{letter-spacing:.04em}.playback-preview{display:grid;gap:14px}.playback-preview__message{margin-top:4px}.playback-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px}.playback-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.12),transparent 36%),#102430ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.playback-modal__window{position:relative;z-index:1;width:min(1080px,100%);max-height:calc(100vh - 40px);display:grid;gap:16px;padding:22px;background:linear-gradient(180deg,#ffffffb8,#ffffff14),var(--panel);box-shadow:0 24px 60px #12293557,0 0 0 6px #ffffff29;animation:modalPop .18s ease-out}.playback-modal__header{align-items:flex-start}.playback-modal__actions{display:flex;gap:10px;flex-wrap:wrap}.playback-modal__footer{display:grid;gap:14px}.reward-card{padding:16px;border:3px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fffce3f0,#ffffffd6)}.reward-card__badge,.reward-card__title,.reward-card__text{margin:0}.reward-card__badge{font-family:Courier New,monospace;letter-spacing:.16em;font-size:.76rem;color:var(--muted);text-transform:uppercase}.reward-card__title{margin-top:6px;font-size:1.35rem}.reward-card__text+.reward-card__text{margin-top:4px}.sticker-shelf{display:flex;flex-wrap:wrap;gap:10px}.sticker-shelf__item{padding:10px 14px;border:3px solid var(--border);border-radius:999px;background:linear-gradient(180deg,#fffef6,#f3e9bf);font-family:Courier New,monospace;font-size:.84rem;transform:rotate(-2deg)}.sticker-shelf__item:nth-child(2n){transform:rotate(2deg)}.sticker-shelf__item--combo{background:linear-gradient(180deg,#ffe7f1,#fffef6)}.poem-line--visible{opacity:1;transform:translateY(0)}.poem-token{position:relative;display:inline-block;white-space:pre-wrap}.poem-token--magic{padding:0 2px}.poem-token--charged .poem-token__text{text-shadow:0 0 14px rgba(255,255,255,.34)}.poem-token--super-charged .poem-token__text{text-shadow:0 0 12px rgba(255,255,255,.5),0 0 24px rgba(255,255,255,.28)}.poem-token__text{position:relative;z-index:1}.poem-token__text--rainbow-arched{display:inline-flex;align-items:flex-end;gap:.01em;text-shadow:none}.poem-token__letter{display:inline-block}.poem-token__letter:nth-child(5n+1){color:#ff7ea8}.poem-token__letter:nth-child(5n+2){color:#f7b64d}.poem-token__letter:nth-child(5n+3){color:#f7d96e}.poem-token__letter:nth-child(5n+4){color:#65c96f}.poem-token__letter:nth-child(5n+5){color:#89d8ff}.poem-token__letter:nth-child(1),.poem-token__letter:nth-last-child(1){transform:translateY(.22em)}.poem-token__letter:nth-child(2),.poem-token__letter:nth-last-child(2){transform:translateY(.1em)}.poem-token__letter:nth-child(3),.poem-token__letter:nth-last-child(3){transform:translateY(.02em)}.poem-token__letter:nth-child(4){transform:translateY(-.06em)}.stage-burst,.fx{position:absolute;pointer-events:none}.stage-burst--rainbow{top:22px;right:28px;width:120px;height:60px;border-top-left-radius:80px;border-top-right-radius:80px;border:6px solid rgba(255,255,255,0);border-top-color:#ff7ea8;box-shadow:0 -6px #f7d96e,0 -12px #89d8ff,0 -18px #ffffffa6;animation:stageFade 1.2s ease-out both;opacity:.72}.stage-burst--rain,.stage-burst--snow,.stage-burst--cloud,.stage-burst--grass{top:0;right:0;bottom:0;left:0}.stage-burst--rain:before,.stage-burst--snow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 2px);background-size:120px 120px;animation:rainStage 1.6s linear both;opacity:.42}.stage-burst--snow:before{animation-duration:2.4s}.stage-burst--cloud:before{content:"";position:absolute;top:18px;left:20px;width:84px;height:28px;border-radius:999px;background:#ffffff4d;box-shadow:38px 12px #ffffff40,240px -4px #ffffff38,320px 16px #fff3;animation:stageFade .9s ease-out both}.stage-burst--grass:before{content:"";position:absolute;left:0;right:0;bottom:8px;height:18px;background:linear-gradient(90deg,transparent 0 3%,rgba(92,172,84,.55) 3% 4%,transparent 4% 7%),linear-gradient(90deg,transparent 12% 15%,rgba(92,172,84,.5) 15% 16%,transparent 16% 19%),linear-gradient(90deg,transparent 24% 27%,rgba(92,172,84,.55) 27% 28%,transparent 28% 31%),linear-gradient(90deg,transparent 40% 43%,rgba(92,172,84,.52) 43% 44%,transparent 44% 47%),linear-gradient(90deg,transparent 58% 61%,rgba(92,172,84,.55) 61% 62%,transparent 62% 65%),linear-gradient(90deg,transparent 76% 79%,rgba(92,172,84,.5) 79% 80%,transparent 80% 83%);animation:stageFade .9s ease-out both}.stage-burst--splash,.stage-burst--boom{width:120px;height:120px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;animation:stagePulse .7s ease-out both;opacity:.45}.stage-burst--splash{background:radial-gradient(circle,rgba(62,165,197,.35),transparent 60%)}.stage-burst--boom{background:radial-gradient(circle,rgba(245,139,183,.35),transparent 60%)}.effect--splash{animation:hop .75s ease-out}.effect--boom{animation:boomShake .52s ease-out}.effect--twinkle{animation:glowBlink .9s ease-out}.effect--flutter{animation:flutterRise 1.2s ease-out}.effect--jump{animation:hop .76s ease-out}.effect--spin{animation:spinOnce .9s ease-out}.effect--fall{animation:fallDown .9s ease-out}.effect--whisper{animation:whisperFloat 1.2s ease-out}.effect--echo{animation:echoTrail 1s ease-out}.effect--wave{animation:waveWord 1.2s ease-out}.effect--bounce{animation:bounceWord .86s ease-out}.effect--snow{animation:glowBlink .9s ease-out}.effect--grow{animation:growWord .82s ease-out}.effect--tiny{animation:tinyWord .82s ease-out}.effect--happy{animation:glowBlink .9s ease-out}.effect--sleepy{animation:sleepyDrift 1.3s ease-out}.effect--flower,.effect--bloom{animation:bloomWord .96s ease-out}.effect--seed{animation:seedDrop .9s ease-out}.effect--tree{animation:growWord .96s ease-out}.effect--cloud{animation:cloudFloat 1.2s ease-out}.effect--grass{animation:grassRise 1s ease-out}.effect--sun,.effect--moon,.effect--rainbow{animation:glowBlink 1.1s ease-out}.effect--rainbow .poem-token__text--rainbow-arched{animation:rainbowWordArc 1.1s ease-out}.fx--droplets,.fx--sparkles,.fx--flutter,.fx--rain,.fx--snow,.fx--echo,.fx--sleepy,.fx--flower,.fx--bloom,.fx--seed,.fx--tree,.fx--cloud,.fx--grass{top:-18px;right:-18px;bottom:-18px;left:-18px}.fx--droplets span,.fx--rain span,.fx--snow span{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffffffe0}.fx--droplets span:nth-child(1){left:8%;top:54%;animation:droplet .9s ease-out}.fx--droplets span:nth-child(2){left:48%;top:48%;animation:droplet .88s ease-out 70ms}.fx--droplets span:nth-child(3){left:72%;top:58%;animation:droplet .94s ease-out .14s}.fx--burst{inset:auto auto -18px 50%;transform:translate(-50%);font-size:.7rem;font-weight:700;color:var(--accent-2);animation:popLabel .7s ease-out}.fx--sparkles span,.fx--sleepy span,.fx--echo span{position:absolute;color:#fffdf2;text-shadow:0 0 8px rgba(255,255,255,.88)}.fx--sparkles span:nth-child(1){left:4%;top:8%;animation:sparkle .9s ease-out}.fx--sparkles span:nth-child(2){right:4%;top:-4%;animation:sparkle .9s ease-out .1s}.fx--sparkles span:nth-child(3){right:16%;bottom:2%;animation:sparkle .9s ease-out .18s}.fx--flutter span{position:absolute;top:22%;width:10px;height:6px;border:2px solid rgba(255,255,255,.9);border-bottom:0;border-radius:100px 100px 0 0;animation:flutterWing .9s ease-out}.fx--flutter span:nth-child(1){left:8%}.fx--flutter span:nth-child(2){right:8%}.fx--rainbow{left:50%;top:-.65em;width:1.7em;height:.85em;transform:translate(-50%);border-top-left-radius:1em;border-top-right-radius:1em;border:.18em solid rgba(255,255,255,0);border-top-color:#ff7ea8;box-shadow:0 -.16em #f7d96e,0 -.32em #89d8ff;animation:rainbowArc .9s ease-out}.fx--rain span:nth-child(1),.fx--snow span:nth-child(1){left:12%;top:2%;animation:rainDrop .98s linear}.fx--rain span:nth-child(2),.fx--snow span:nth-child(2){left:48%;top:-4%;animation:rainDrop .85s linear 80ms}.fx--rain span:nth-child(3),.fx--snow span:nth-child(3){right:12%;top:1%;animation:rainDrop .92s linear .15s}.fx--snow span{width:6px;height:6px;background:#fff;animation-name:snowDrop}.fx--sun,.fx--moon{left:50%;top:50%;width:1.5em;height:1.5em;transform:translate(-50%,-50%)}.fx--sun{border-radius:50%;background:radial-gradient(circle,#f7d96ef2,#f7d96e00);animation:glowPulse 1.1s ease-out}.fx--moon{border-radius:50%;box-shadow:-.18em 0 #fffffff2,-.05em 0 #9fdae6f2;animation:glowPulse 1.1s ease-out}.fx--echo{color:#ffffffd9}.fx--echo span:nth-child(1){right:-2px;top:2px;animation:echoDots .9s ease-out}.fx--echo span:nth-child(2){right:-12px;top:6px;animation:echoDots .9s ease-out 80ms}.fx--sleepy span:nth-child(1){right:-4px;top:-14px;animation:sleepyZ 1.2s ease-out}.fx--sleepy span:nth-child(2){right:-14px;top:-28px;animation:sleepyZ 1.2s ease-out .12s}.fx--sleepy span:nth-child(3){left:-4px;bottom:-8px;animation:sleepyDot 1.2s ease-out}.fx--flower,.fx--bloom{top:-24px;right:-24px;bottom:-24px;left:-24px}.fx__petal,.fx__center,.fx__stem,.fx__seed-dot,.fx__seed-sprout,.fx__tree-top,.fx__tree-trunk{position:absolute}.fx__petal{width:.52em;height:.52em;border-radius:50%;background:#ff9cc2}.fx--bloom .fx__petal{background:#ffd165}.fx__petal--top{left:50%;top:0;transform:translate(-50%)}.fx__petal--left{left:22%;top:24%}.fx__petal--right{right:22%;top:24%}.fx__center{left:50%;top:28%;width:.34em;height:.34em;border-radius:50%;transform:translate(-50%);background:#fff5a5}.fx__stem{left:50%;top:44%;width:.12em;height:.75em;transform:translate(-50%);background:#54a552}.fx--seed{top:-12px;right:-16px;bottom:-4px;left:-16px}.fx__seed-dot{left:50%;top:48%;width:.26em;height:.38em;border-radius:50%;transform:translate(-50%);background:#8a5a3a;animation:seedDot .8s ease-out}.fx__seed-sprout{left:50%;bottom:.38em;width:.11em;height:.62em;transform:translate(-50%);background:#54a552;border-radius:999px;animation:sproutUp .9s ease-out}.fx__seed-sprout:before,.fx__seed-sprout:after{content:"";position:absolute;top:.1em;width:.28em;height:.16em;border-radius:999px 999px 999px 0;background:#70c66e}.fx__seed-sprout:before{right:.04em;transform:rotate(-32deg)}.fx__seed-sprout:after{left:.04em;transform:rotate(32deg) scaleX(-1)}.fx--tree{top:-24px;right:-24px;bottom:-24px;left:-24px}.fx__tree-top{left:50%;top:0;width:.9em;height:.8em;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,#7ad676,#4e9f4f)}.fx__tree-trunk{left:50%;top:48%;width:.18em;height:.8em;transform:translate(-50%);border-radius:999px;background:#8a5a3a}.fx--cloud{top:-14px;right:-18px;bottom:-14px;left:-18px}.fx--cloud span{position:absolute;top:14%;background:#ffffffe0;border-radius:999px;animation:cloudPuff 1.1s ease-out}.fx--cloud span:nth-child(1){left:14%;width:.54em;height:.34em}.fx--cloud span:nth-child(2){left:36%;top:6%;width:.68em;height:.42em}.fx--cloud span:nth-child(3){left:60%;width:.54em;height:.34em}.fx--grass{inset:auto -8px .24em -8px;height:.68em}.fx--grass span{position:absolute;bottom:0;width:.13em;border-radius:999px;background:#81c96d;transform-origin:bottom center;animation:bladeRise .82s ease-out}.fx--grass span:nth-child(1){left:14%;height:.65em;transform:rotate(-10deg)}.fx--grass span:nth-child(2){left:36%;height:.82em;transform:rotate(6deg)}.fx--grass span:nth-child(3){left:58%;height:.72em;transform:rotate(-6deg)}.fx--grass span:nth-child(4){left:78%;height:.62em;transform:rotate(10deg)}.poem-stage__screen--reduced .poem-line,.effect--reduced{animation:none!important}.poem-stage__screen--reduced .poem-token--magic{border-radius:8px;background:#ffffff47;box-shadow:0 0 0 2px #ffffff40}.poem-stage__screen--reduced .fx,.poem-stage__screen--reduced .stage-burst{opacity:.2;animation:stageFade .6s ease-out both}.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}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes typeIn{0%{width:0;opacity:.3}to{width:100%;opacity:1}}@keyframes stageFade{0%{opacity:0;transform:scale(.92)}to{opacity:.72;transform:scale(1)}}@keyframes stagePulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}35%{opacity:.45}to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}@keyframes rainStage{0%{opacity:0;transform:translateY(-8px)}20%{opacity:.85}to{opacity:0;transform:translateY(26px)}}@keyframes hop{0%,to{transform:translateY(0)}35%{transform:translateY(-.42em)}70%{transform:translateY(.08em)}}@keyframes boomShake{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-6deg) scale(1.08)}40%{transform:rotate(5deg) scale(1.15)}65%{transform:rotate(-4deg) scale(1.05)}}@keyframes glowBlink{0%,to{text-shadow:0 0 0 rgba(255,255,255,0)}40%{text-shadow:0 0 10px rgba(255,255,255,.8),0 0 24px var(--glow)}}@keyframes flutterRise{0%{transform:translate(0) rotate(0)}30%{transform:translate(.08em,-.28em) rotate(-8deg)}60%{transform:translate(-.08em,-.48em) rotate(7deg)}to{transform:translate(0) rotate(0)}}@keyframes spinOnce{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes fallDown{0%{transform:translateY(-.1em)}55%{transform:translateY(.55em)}to{transform:translateY(0)}}@keyframes whisperFloat{0%{opacity:1;transform:translate(0)}50%{opacity:.45;transform:translate(.18em,-.18em)}to{opacity:1;transform:translate(0)}}@keyframes echoTrail{0%,to{text-shadow:none}50%{text-shadow:.12em .08em rgba(255,255,255,.35),.24em .16em rgba(255,255,255,.18)}}@keyframes waveWord{0%,to{transform:skew(0) translateY(0)}25%{transform:skew(-10deg) translateY(-.1em)}75%{transform:skew(10deg) translateY(.08em)}}@keyframes bounceWord{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-.34em) scale(1.05)}60%{transform:translateY(.05em) scale(.98)}}@keyframes growWord{0%,to{transform:scale(1)}45%{transform:scale(1.22)}}@keyframes tinyWord{0%,to{transform:scale(1)}45%{transform:scale(.75)}}@keyframes sleepyDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-.1em)}}@keyframes bloomWord{0%,to{transform:scale(1)}45%{transform:scale(1.14)}}@keyframes seedDrop{0%{transform:translateY(-.22em)}60%{transform:translateY(.14em)}to{transform:translateY(0)}}@keyframes cloudFloat{0%,to{transform:translate(0)}50%{transform:translate(.18em)}}@keyframes grassRise{0%,to{transform:translateY(0)}45%{transform:translateY(-.08em)}}@keyframes droplet{0%{opacity:0;transform:translateY(0) scale(.4)}30%{opacity:1}to{opacity:0;transform:translateY(.72em) scale(1)}}@keyframes sparkle{0%{opacity:0;transform:scale(.5) rotate(0)}40%{opacity:1;transform:scale(1) rotate(18deg)}to{opacity:0;transform:scale(1.1) rotate(40deg)}}@keyframes flutterWing{0%,to{transform:scaleX(1)}50%{transform:scaleX(.6)}}@keyframes rainbowArc{0%{opacity:0;transform:translate(-50%) scaleX(.6)}to{opacity:1;transform:translate(-50%) scaleX(1)}}@keyframes rainbowWordArc{0%{opacity:.55;transform:translateY(.08em) scaleX(.92)}45%{opacity:1;transform:translateY(-.02em) scaleX(1)}to{opacity:1;transform:translateY(0) scaleX(1)}}@keyframes rainDrop{0%{opacity:0;transform:translateY(-.2em)}15%{opacity:1}to{opacity:0;transform:translateY(1.05em)}}@keyframes snowDrop{0%{opacity:0;transform:translateY(-.2em) scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(.18em,1em) scale(1)}}@keyframes glowPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}45%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes echoDots{0%{opacity:0;transform:translate(0)}40%{opacity:.8}to{opacity:0;transform:translate(.2em)}}@keyframes sleepyZ{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(-.8em)}}@keyframes sleepyDot{0%,to{opacity:0}40%{opacity:.8}}@keyframes seedDot{0%{opacity:0;transform:translate(-50%,-.28em)}40%{opacity:1}to{opacity:0;transform:translate(-50%,.18em)}}@keyframes sproutUp{0%{opacity:0;transform:translate(-50%) scaleY(.2)}35%{opacity:1}to{opacity:1;transform:translate(-50%) scaleY(1)}}@keyframes cloudPuff{0%{opacity:0;transform:translate(-.1em) scale(.8)}40%{opacity:1}to{opacity:0;transform:translate(.18em) scale(1)}}@keyframes bladeRise{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}@keyframes popLabel{0%{opacity:0;transform:translate(-50%) scale(.5)}40%{opacity:1;transform:translate(-50%) scale(1.08)}to{opacity:0;transform:translate(-50%) scale(1)}}@keyframes modalPop{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes waveLine{0%,to{transform:translateY(0)}25%{transform:translateY(-3px)}50%{transform:translateY(3px)}}@media (max-width: 980px){.app-grid__main,.editor-panel__extras{grid-template-columns:1fr}}@media (max-width: 640px){.app-shell{padding:12px}.retro-frame{padding:12px;border-radius:24px}.panel,.title-screen{padding:14px;border-radius:20px}.poem-input{min-height:180px;font-size:1.15rem}.poem-stage__screen{min-height:290px;padding:16px}.poem-stage__screen--modal{min-height:58vh;padding:20px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
