*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--bg-color: #FFFAEF;--primary-font: "Fredoka", sans-serif;--secondary-font: "Quicksand", sans-serif;--keyboard-panel-height: 240px;--keyboard-edge-gap: clamp(12px, 3.5vw, 20px)}*,*:before,*:after{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;max-width:100%;height:100%;overflow:hidden;overflow-x:hidden;background-color:var(--bg-color);font-family:var(--secondary-font);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;caret-color:transparent;cursor:default}*{-webkit-user-drag:none}#game-container{position:relative;width:100%;max-width:100%;min-width:0;overflow-x:hidden;height:100vh;height:100dvh;min-height:100vh;min-height:-webkit-fill-available;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:background-color .5s ease}.bg-shape{position:absolute;z-index:0;opacity:1;transition:opacity .3s ease;display:block;overflow:visible;pointer-events:none;flex-shrink:0;box-sizing:border-box}.bg-shape--circle{width:clamp(4.75rem,16vw,8rem);height:clamp(4.75rem,16vw,8rem);color:#ecdb94;top:9%;left:8.5%}.bg-shape--square{width:clamp(6rem,20vw,10rem);height:clamp(6rem,20vw,10rem);color:#a8d7a9;right:8.7%;bottom:19%;transform:rotate(28deg);border-radius:20px}.bg-shape--triangle{width:clamp(3.75rem,12vw,6rem);height:clamp(3.75rem,12vw,6rem);color:#a8c7eb;left:5.3%;top:54%;transform:rotate(32deg)}.idle-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0 20px;text-align:center}#content-wrapper{position:relative;z-index:10;text-align:center;display:none;flex-direction:column;align-items:center;justify-content:center;min-height:100%;width:100%;max-width:min(800px,100%);min-width:0}#letter-display{font-family:var(--primary-font);font-weight:700;font-size:clamp(6rem,15vw,10rem);line-height:1;text-shadow:8px 8px 0px rgba(0,0,0,.1);margin-bottom:-10px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.1));cursor:pointer}#image-container{width:clamp(200px,35vh,400px);height:clamp(200px,35vh,400px);margin:10px 0;display:flex;align-items:center;justify-content:center;border-radius:40px;background:#fff;padding:10px;box-shadow:0 15px #0000000d;border:6px solid rgba(255,255,255,.8);overflow:hidden;position:relative}#emoji-display{font-size:clamp(6rem,18vw,12rem);line-height:1;filter:drop-shadow(0 10px 5px rgba(0,0,0,.2));animation:bounceIn 1s cubic-bezier(.68,-.55,.265,1.55);z-index:1}#generated-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:30px;display:none;animation:fadeIn .5s ease;z-index:2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}#phrase-display{font-family:var(--primary-font);font-weight:700;font-size:clamp(1.5rem,4vw,3rem);color:#333;margin-top:10px;background:#fff;padding:8px 30px;border-radius:100px;box-shadow:0 8px #0000000d}#magic-controls{display:flex;gap:12px;margin-top:16px;opacity:0;transform:translateY(10px);transition:all .5s ease .3s}#magic-controls.visible{opacity:1;transform:translateY(0)}.magic-btn{background:#fff;border:none;padding:8px 16px;border-radius:20px;font-family:var(--primary-font);font-weight:700;font-size:1.1rem;color:#555;cursor:pointer;box-shadow:0 4px #eee;transition:all .2s;display:flex;align-items:center;gap:8px;z-index:100}.magic-btn:active{transform:translateY(4px);box-shadow:none}.magic-btn:hover{background:#fff;color:#000;transform:translateY(-2px);box-shadow:0 6px #eee}.magic-btn.loading{opacity:.7;pointer-events:none}.magic-btn.share-app-pill{background:#ff5f65;color:#fff;box-shadow:0 4px #df4f54;border-radius:20px;padding:11px 12px 11px 16px;font-size:16px;gap:4px}.magic-btn.share-app-pill:hover{background:#ff6f75;color:#fff;transform:translateY(-2px);box-shadow:0 6px #df4f54}.magic-btn.share-app-pill:active{color:#fff;transform:translateY(4px);box-shadow:none}.magic-btn.share-app-pill .share-app-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;line-height:0;color:#fff}.magic-btn.share-app-pill .share-app-icon svg{display:block;color:inherit}#rhyme-display{font-family:var(--secondary-font);font-size:1.2rem;color:#555;background:#ffffffe6;padding:12px;border-radius:12px;margin-top:12px;max-width:90%;display:none;animation:popIn .3s ease;font-weight:700}#idle-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));z-index:5;text-align:center;cursor:pointer;position:absolute;inset:0}#bye-screen{position:absolute;inset:0;z-index:30;display:none;opacity:1;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#fff7d8,#ffe6c4 42%,#ffd6c9);text-align:center;padding:24px;transition:opacity 1.1s ease}#bye-screen.active{display:flex;opacity:1}#bye-screen.bye-screen--fade{opacity:0}.bye-card{background:#ffffffe0;border:4px solid rgba(255,255,255,.9);border-radius:26px;box-shadow:0 14px #00000014;padding:26px 30px;max-width:min(92vw,560px)}.bye-title{margin:0;font-family:var(--primary-font);font-size:clamp(2.1rem,7vw,3.3rem);font-weight:700;color:#ff5f65;line-height:1.05}.bye-subtitle{margin:10px 0 0;font-family:var(--secondary-font);font-size:clamp(1rem,2.6vw,1.35rem);font-weight:500;color:#4f5563;line-height:1.35}.bye-form{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:12px}.bye-form{display:none!important}.bye-input{width:min(92vw,380px);border-radius:16px;border:3px solid rgba(255,255,255,.92);background:#ffffffeb;padding:12px 16px;font-family:var(--secondary-font);font-size:1.05rem;outline:none;color:#2f2f2f;box-shadow:0 8px #00000008}.bye-input:focus{border-color:#ff5f65bf}.bye-action-btn{background:#ff5f65;color:#fff;border:none;border-radius:18px;padding:12px 18px;font-family:var(--primary-font);font-weight:700;font-size:1.05rem;cursor:pointer;box-shadow:0 4px #df4f54;transition:transform .1s ease,box-shadow .1s ease}.bye-action-btn:active{transform:translateY(3px);box-shadow:none}.bye-action-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:0 4px #df4f5466}.settings-pill{background:#eceff3;color:#6b7280;box-shadow:0 4px #0000000f;border-radius:20px;padding:11px 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.settings-pill{display:none!important}.settings-pill:hover{background:#e2e6ec;color:#4b5563}.settings-pill .settings-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:0;color:inherit}.idle-settings-btn{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(110px + env(safe-area-inset-right));left:auto;margin:0;z-index:10}.pulse-text{position:relative;z-index:2;width:min(92vw,760px);font-size:clamp(1.15rem,1.9vw,1.5rem);color:#979797;animation:pressPulse 1.8s ease-in-out infinite;font-family:var(--primary-font);font-weight:500;padding:8px 20px 0;margin:18px auto 0;letter-spacing:.2px;text-align:center}.idle-hero{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0}.idle-share-btn{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));left:auto;margin:0;z-index:10}#brand-logo-idle{width:min(62vw,380px);height:auto;margin:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;filter:none}.idle-headline{font-family:var(--primary-font);font-size:clamp(1.2rem,2.2vw,1.8rem);line-height:1.3;color:#2f2f2f;max-width:min(92vw,760px);margin:16px auto 0;padding:0 20px;text-align:center;font-weight:700;white-space:nowrap}.idle-subtext{font-family:var(--secondary-font);font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.5;color:#4a4a4a;max-width:min(92vw,780px);margin:10px auto 0;padding:0 20px;text-align:center}.mobile-only{display:none}.desktop-only{display:block}@media (max-width: 768px){.desktop-only{display:none}.mobile-only{display:block}#idle-screen{transform:none;top:0;left:0;right:0;width:100%;max-width:100%;min-width:0;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-edge-gap) + var(--keyboard-panel-height));height:auto;max-height:none;justify-content:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:12px}#brand-logo-idle{margin-top:0}.idle-headline.mobile-only{font-size:clamp(1rem,4.4vw,1.2rem);max-width:min(86vw,420px);margin-top:10px}.idle-subtext.mobile-only{font-size:clamp(.82rem,3.4vw,.95rem);max-width:min(84vw,390px);line-height:1.35;margin-top:8px}#content-wrapper{position:absolute;top:0;left:0;right:0;width:100%;max-width:100%;min-width:0;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-edge-gap) + var(--keyboard-panel-height));height:auto;max-height:none;min-height:0;justify-content:center;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:8px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box}#letter-display{font-size:clamp(5.1rem,24vw,8rem);margin-bottom:2px}#image-container{width:clamp(140px,23vh,210px);height:clamp(140px,23vh,210px);margin:4px 0;border-radius:24px}#phrase-display{font-size:clamp(1.05rem,4.2vw,1.4rem);padding:6px 16px;margin-top:6px}#rhyme-display{max-width:88vw;font-size:.95rem}#keyboard-panel{left:var(--keyboard-edge-gap);right:var(--keyboard-edge-gap);bottom:calc(var(--keyboard-edge-gap) + env(safe-area-inset-bottom));width:auto;height:auto;max-height:min(58dvh,520px);min-height:0;box-sizing:border-box;padding:12px 14px 14px;gap:6px;border-radius:28px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:44px;align-content:start;transition:none;transform:none;background:#fff;backdrop-filter:none;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 40px #00000014}.keyboard-close-btn{display:none;align-items:center;justify-content:center;justify-self:end;grid-column:1 / -1;width:30px;height:30px;border:none;border-radius:999px;background:#00000014;color:#555;font-size:18px;line-height:1;margin-bottom:2px;cursor:pointer}.key-btn{width:100%;height:44px;font-size:1.2rem;box-shadow:none}#kbd-toggle{display:none}}@keyframes pressPulse{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-3px) scale(1.06);opacity:1}}.trail-particle{position:absolute;pointer-events:none;z-index:50;transform:translate(-50%,-50%);animation:particleFade .8s ease-out forwards}@keyframes particleFade{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}to{transform:translate(-50%,-50%) scale(0) rotate(180deg);opacity:0}}.burst-particle{position:absolute;pointer-events:none;z-index:60;transform:translate(-50%,-50%)}.spinner{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.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}@media (max-width: 640px){#magic-controls{flex-wrap:wrap;justify-content:center;padding:0 12px}.magic-btn{font-size:1rem;min-height:48px;padding:10px 14px}.key-btn{width:100%;height:40px;font-size:1.08rem}}#utility-controls{position:fixed;top:calc(14px + env(safe-area-inset-top));right:14px;z-index:130;display:flex;gap:8px}.utility-btn{border:none;border-radius:999px;background:#ffffffeb;color:#2f2f2f;font-family:var(--primary-font);font-weight:500;font-size:.95rem;padding:8px 12px;box-shadow:0 6px 16px #0000001f;backdrop-filter:blur(6px);cursor:pointer;min-height:40px}.utility-btn:active{transform:translateY(1px)}#install-btn{display:none!important}.icon-only-btn{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffffb8;color:#5c5c5c;box-shadow:0 4px 10px #0000001a;opacity:.7}.icon-only-btn:hover{opacity:.95;background:#ffffffe6}@media (max-width: 640px){.utility-btn{font-size:.88rem;padding:8px 10px;min-height:38px}.icon-only-btn{width:32px;min-width:32px;height:32px;min-height:32px}}@media (hover: none) and (pointer: coarse){#kbd-toggle{display:none}}#kbd-toggle{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:20px;width:60px;height:60px;background:#ff5f65;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0000002e;cursor:pointer;z-index:100;color:#fff;transition:transform .2s}#kbd-toggle:active{transform:scale(.9)}@media (hover: none) and (pointer: coarse){#kbd-toggle{display:none!important}}#keyboard-panel{position:fixed;bottom:0;left:0;width:100%;background:#fffffff2;backdrop-filter:blur(10px);padding:20px;box-shadow:0 -10px 30px #0000001a;transition:transform .26s linear;z-index:90;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-height:50vh;overflow-y:auto;border-top-left-radius:30px;border-top-right-radius:30px;padding-bottom:calc(20px + env(safe-area-inset-bottom));transform:translateY(calc(100% + env(safe-area-inset-bottom)));will-change:transform}#keyboard-panel.open{transform:translateY(0)}.key-btn{width:55px;height:55px;background:#fff;border:3px solid #eee;border-radius:12px;font-family:var(--primary-font);font-weight:700;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px #ddd;transition:all .1s}.key-btn:active{transform:translateY(4px);box-shadow:none}@media (max-width: 640px){.pulse-text{font-size:clamp(.95rem,3.8vw,1.1rem);padding:0 16px}#idle-screen{transform:translateY(0);top:0;right:0;left:0;width:100%;max-width:100%;min-width:0;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-edge-gap) + var(--keyboard-panel-height));height:auto;max-height:none;justify-content:center;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:12px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}#brand-logo-idle{width:min(266px,70vw);margin-top:0}.idle-headline.mobile-only{font-size:18.92px;line-height:1.3;margin-top:14px}.idle-subtext.mobile-only{font-size:14.62px;line-height:1.35;margin-top:8px}#keyboard-panel{position:fixed;left:var(--keyboard-edge-gap);right:var(--keyboard-edge-gap);bottom:calc(var(--keyboard-edge-gap) + env(safe-area-inset-bottom));width:auto;height:auto;max-height:min(58dvh,520px);min-height:0;box-sizing:border-box;padding:14px 16px 16px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:28px;box-shadow:0 10px 40px #00000014;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:48px;gap:8px;align-content:start;justify-content:start;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:none;transform:none;z-index:120}#keyboard-panel.open{transform:none}#keyboard-panel .key-btn{width:100%;height:48px;min-height:48px;max-height:48px;font-size:20.3px;border:2.5px solid #eee;border-radius:10px;box-shadow:0 3.4px #ddd;padding:0;margin:0;line-height:1;white-space:nowrap}#keyboard-panel .key-btn:nth-child(25){grid-column:3}#keyboard-panel .key-btn:nth-child(26){grid-column:4}}@media (min-width: 768px) and (max-width: 1100px),(min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse){.mobile-only{display:none}.desktop-only{display:block}.pulse-text{font-size:clamp(1.05rem,1.8vw,1.35rem)}#idle-screen{top:0;right:0;left:0;width:100%;max-width:100%;min-width:0;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-edge-gap) + var(--keyboard-panel-height));height:auto;max-height:none;transform:none;justify-content:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:16px}#content-wrapper{position:absolute;top:0;left:0;right:0;width:100%;max-width:100%;min-width:0;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-edge-gap) + var(--keyboard-panel-height));height:auto;max-height:none;min-height:0;justify-content:center;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:12px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box}#brand-logo-idle{width:min(402px,52vw);margin-top:0}.idle-headline.desktop-only{font-size:clamp(2rem,2.45vw,2.3rem);line-height:1.3;margin-top:32px;max-width:90%;white-space:normal}.idle-subtext.desktop-only{font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.5;max-width:min(717px,88vw);margin-top:12px}#keyboard-panel{position:fixed;left:var(--keyboard-edge-gap);right:var(--keyboard-edge-gap);bottom:calc(var(--keyboard-edge-gap) + env(safe-area-inset-bottom));width:auto;height:auto;max-height:min(58dvh,560px);min-height:0;box-sizing:border-box;padding:16px 20px 18px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:28px;box-shadow:0 12px 44px #00000017;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:62px;gap:12px;align-content:start;justify-content:stretch;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:none;transition:none;z-index:120}#keyboard-panel.open{transform:none}#keyboard-panel .key-btn{width:100%;height:100%;min-height:0;border:4px solid #eee;border-radius:16px;font-size:clamp(1.7rem,2.35vw,2.1rem);box-shadow:0 5px #ddd;line-height:1;margin:0;padding:0}#keyboard-panel .key-btn:nth-child(21){grid-column:3}#keyboard-panel .key-btn:nth-child(22){grid-column:4}#keyboard-panel .key-btn:nth-child(23){grid-column:5}#keyboard-panel .key-btn:nth-child(24){grid-column:6}#keyboard-panel .key-btn:nth-child(25){grid-column:7}#keyboard-panel .key-btn:nth-child(26){grid-column:8}}.pop-in{animation:popIn .6s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes popIn{0%{transform:scale(0) rotate(-15deg);opacity:0}70%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.pop-out{animation:popOut .4s cubic-bezier(.6,-.28,.735,.045) forwards}@keyframes popOut{0%{transform:scale(1);opacity:1}to{transform:scale(0) rotate(15deg);opacity:0}}.wobble{animation:wobble 2s ease-in-out infinite}@keyframes wobble{0%,to{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.02)}}
