:root{--ink:#36332f;--paper:#f2eee5;--photo-paper:#fbfaf6;--burgundy:#6b2931;--body:#2a2825;color:var(--paper);background:var(--body);font-family:Libre Baskerville,Georgia,serif}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden}.login{gap:.75rem;width:min(20rem,90vw);margin:20vh auto 0;display:grid}.login input,.login button{font:inherit;border:1px solid color-mix(in srgb, var(--paper) 30%, transparent);color:inherit;background:0 0;border-radius:.4rem;padding:.6rem .75rem}.login button{background:var(--burgundy);cursor:pointer;border:0}.error{min-height:1.5em;margin:0}.stage{cursor:none;place-items:center;display:grid;position:fixed;inset:0 0 17vmin}.print{background:var(--photo-paper);opacity:0;transform:rotate(var(--tilt,0deg)) scale(.97);grid-area:1/1;margin:0;padding:1.6vmin 1.6vmin 0;transition:opacity 1.4s,transform 7s ease-out;box-shadow:0 1.5vmin 5vmin #00000080}.print.active{opacity:1;transform:rotate(var(--tilt,0deg)) scale(1)}.print img{max-width:82vw;max-height:calc(100vh - 36vmin);display:block}.print figcaption{height:8vmin;color:var(--ink);letter-spacing:.08em;justify-content:center;align-items:center;font-size:clamp(.8rem,2.2vmin,1.4rem);display:flex}.empty{letter-spacing:.16em;text-transform:uppercase;grid-area:1/1;justify-items:center;gap:2rem;margin:0;font-size:clamp(1rem,2.5vmin,1.6rem);display:grid}.monogram{letter-spacing:.08em;text-transform:none;font-size:2em}.amp{color:#b5737b}.add-yours{color:var(--ink);background:var(--paper);border-radius:1vmin;align-items:center;gap:1.5vmin;padding:1.2vmin 2vmin 1.2vmin 1.2vmin;display:flex;position:fixed;bottom:2.5vmin;right:2.5vmin;box-shadow:0 .5vmin 2vmin #00000059}.add-yours img{width:11vmin;height:11vmin;display:block}.add-yours p{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:clamp(.7rem,1.8vmin,1.2rem);line-height:1.6}.add-yours span{letter-spacing:.04em;text-transform:none;opacity:.75;font-size:.75em}
