:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}.logo.cloudflare:hover{filter:drop-shadow(0 0 2em #f6821faa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.site{max-width:1000px;margin:0 auto;padding:2rem}.site-header{text-align:center;margin-bottom:1.5rem}.couple-names{font-size:2.4rem;margin:0}.wedding-date{margin:.25rem 0 0;color:#aaa}.hero{display:flex;justify-content:center;margin:1.5rem 0}.hero-image{width:100%;max-width:720px;border-radius:12px;object-fit:cover;box-shadow:0 8px 30px #0006}.section{padding:1.25rem 0;text-align:left}.section h2{margin-top:0}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.detail-card{background:#ffffff05;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.rsvp{text-align:center}.btn{display:inline-block;margin-top:.75rem;background:linear-gradient(135deg,#ff8a80,#ff6bcb,#8a6bff);color:#fff;padding:.6rem 1.1rem;border-radius:999px;text-decoration:none}.site-footer{margin-top:2rem;text-align:center;color:#8d8d8d;font-size:.95rem}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-box{max-width:420px;width:100%;background:#00000059;padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 10px 40px #0009;text-align:left}.auth-box h2{margin:0 0 .5rem}.auth-hint{margin:0 0 1rem;color:#bdbdbd}.auth-form label{display:block;margin-bottom:.35rem;font-weight:600}.auth-form input[type=password]{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:inherit}.auth-form .btn{margin-left:0;margin-top:.75rem}.auth-error{margin-top:.6rem;color:#ffb4b4}.btn-venue{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:999px;background:linear-gradient(135deg,#ff8a80,#ff6bcb,#8a6bff);color:#fff;font-weight:600;text-decoration:none;box-shadow:0 6px 18px #8a6bff2e,inset 0 -2px #00000014;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent}.btn-venue:before{content:"";width:1.05rem;height:1.05rem;flex:0 0 1.05rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23fff' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1112 6.5a2.5 2.5 0 010 5z'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;transform-origin:center}.btn-venue:hover{transform:translateY(-3px);box-shadow:0 12px 28px #8a6bff38,inset 0 -2px #0000000f;opacity:.98}.btn-venue:active{transform:translateY(-1px) scale(.995)}.btn-venue:focus{outline:3px solid rgba(138,107,255,.18);outline-offset:3px}.btn-venue.small{padding:.4rem .75rem;gap:.4rem;font-size:.95rem}
