body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html,body,#root{height:100%;margin:0;overflow:hidden}.App{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#000}.cakeLoop{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;-webkit-user-select:none;user-select:none}.cakeLoop img,.cakeLoop canvas{image-rendering:pixelated;image-rendering:crisp-edges;image-rendering:-moz-crisp-edges;-ms-interpolation-mode:nearest-neighbor;display:block;width:auto;height:auto;max-width:100%;max-height:100%}.birthdayText{width:auto;height:auto;max-width:100vw;max-height:30vh;image-rendering:pixelated}:root{--cake-overlap: 24px;--cake-offset-x: 0px;--birthday-max-width: 10vw}.cake{position:relative;transform:translateY(calc(-1 * var(--cake-overlap))) translate(var(--cake-offset-x));z-index:2;padding-right:200px}.cake,.cake img,.cake canvas{cursor:crosshair}.birthdayText{z-index:1;max-width:900px;max-height:900px;position:relative}.confetti-root{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:9999}.confetti-piece{position:absolute;top:-10vh;border-radius:2px;opacity:.95;will-change:transform,top;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:1}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}70%{opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:.85}}.matthew-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000a6;z-index:10000;pointer-events:auto}.matthew-card{background:transparent;border-radius:12px;padding:8px;display:inline-flex;align-items:center;justify-content:center;transform-origin:center center;animation:matthew-pop .54s cubic-bezier(.2,.8,.2,1) forwards}.matthew-card img{display:block;max-width:80vw;max-height:80vh;border-radius:8px;box-shadow:0 10px 30px #0009}@keyframes matthew-pop{0%{transform:scale(.6) translateY(8px);opacity:0}60%{transform:scale(1.05) translateY(-6px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@media(max-width:767px){.App{flex-direction:column;padding:20px;box-sizing:border-box}.cakeLoop{order:1}.birthdayText{order:2;margin-top:20px;max-width:600px;max-height:30vh}.cake{padding-right:0;transform:none}.cakeLoop img,.cakeLoop canvas{max-width:55vw;max-height:30vh}}
