*{box-sizing:border-box}body,html{height:100%;margin:0}body{align-items:center;background:var(--theme-color);color:#000;display:flex;justify-content:center;min-height:100vh;overflow-x:hidden;padding:32px 20px}.ticket-wrap{animation:.7s cubic-bezier(.16,1,.3,1) both rise;max-width:420px;position:relative;width:100%}@keyframes rise{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.ticket{background:#fff;border-radius:16px;position:relative}.ticket__main{padding:44px 36px 32px;text-align:center}.ticket__logo{display:block;height:auto;margin:0 auto 28px;max-height:72px;max-width:200px;object-fit:contain;width:auto}.ticket__phrase{color:#272d2f;font-size:26px;font-weight:600;line-height:1.3;margin:0 0 12px}.ticket__caption{color:#5b6d78;font-size:15px;line-height:1.5;margin:0;margin-inline:auto;max-width:34ch}.perforation{border-top:2px dashed #c7d3d8;margin:0 24px;position:relative}.perforation::after,.perforation::before{background:var(--theme-color);border-radius:50%;content:'';height:36px;position:absolute;top:-18px;width:36px}.perforation::before{left:-42px}.perforation::after{right:-42px}.ticket__stub{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px 32px 22px}.ticket__code{color:#5b6d78;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em}.ticket__credit{color:#5b6d78;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.02em;line-height:1.5;text-align:right}.ticket__credit a{color:#0072ce;font-weight:600;text-decoration:none}@media (max-width:480px){.ticket__main{padding:36px 24px 26px}.ticket__phrase{font-size:22px}.perforation{margin:0 16px}.perforation::before{left:-28px}.perforation::after{right:-28px}.ticket__stub{align-items:flex-start;flex-direction:column;gap:6px;padding:16px 24px 20px}.ticket__credit{text-align:left}}@media (prefers-reduced-motion:reduce){.ticket-wrap{animation:none}}