:root{--cream: #d4a87c;--cream-dark: #F5E6DE;--black: #FDF5F0;--black-light: #f0ddd4;--gold-accent: #d4a87c;--maroon: #6B0F1A;--maroon-light: #8B1A2B;--maroon-dark: #4A0A12}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;font-weight:300;color:var(--cream);background-color:var(--maroon);line-height:1.6}h1,h2,h3,h4{font-family:Cormorant Garamond,serif;font-weight:400}a{color:var(--cream);text-decoration:none}button{font-family:Montserrat,sans-serif;cursor:pointer}.scroll-spacer{height:25vh;position:relative}.invitation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(160deg,#4a0a12,#3a0810,#2a060b 60%,#3a0810);will-change:transform,opacity}.envelope-scene{position:relative;width:min(80vw,500px);height:min(80vh,620px);perspective:1800px}.invitation-card{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:8px;overflow:hidden}.card-inner{width:100%;height:100%;background:radial-gradient(ellipse at 50% 50%,rgba(139,26,43,.03) 0%,transparent 70%),linear-gradient(175deg,#fffefb,#fbf3ee);border:1.5px solid rgba(139,26,43,.2);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 2rem;box-shadow:0 2px 8px #0000000f,0 6px 20px #0000000a;position:relative}.card-inner:before{content:"";position:absolute;width:calc(100% - 20px);height:calc(100% - 20px);top:10px;left:10px;border:1px solid rgba(139,26,43,.12);pointer-events:none}.card-inner:after{content:"";position:absolute;width:calc(100% - 28px);height:calc(100% - 28px);top:14px;left:14px;border:.5px solid rgba(139,26,43,.08);pointer-events:none}.card-ornament-top,.card-ornament-bottom{font-size:1rem;color:#8b1a2b;opacity:.5;line-height:1}.card-ornament-top{margin-bottom:.8rem}.card-ornament-bottom{margin-top:.8rem}.card-prelude{font-family:Montserrat,sans-serif;font-size:.65rem;letter-spacing:3.5px;text-transform:uppercase;color:#4a4a4a;margin-bottom:.15rem;line-height:1.8}.card-names{font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:400;font-style:italic;color:#1a1a1a;line-height:1.15}.card-ampersand{font-family:Cormorant Garamond,serif;font-size:1.6rem;color:#8b1a2b;margin:.1rem 0;font-style:italic}.card-divider-top,.card-divider-bottom{width:60px;height:1px;background:linear-gradient(90deg,transparent,#8B1A2B,transparent);margin:.6rem 0}.card-date{font-family:Montserrat,sans-serif;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;margin-top:.4rem;color:#1a1a1a;font-weight:400}.card-venue-name{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:#1a1a1a;margin-top:.6rem;font-style:italic}.card-venue{font-family:Montserrat,sans-serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:#4a4a4a;margin-top:.2rem}.gate-door{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;z-index:3;will-change:transform}.gate-door-left{left:0;transform-origin:left center}.gate-door-right{right:0;transform-origin:right center}.gate-door-front,.gate-door-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden}.gate-door-front{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23d4a87c' opacity='0.18'%3E%3C!-- Center flower --%3E%3Ccircle cx='40' cy='40' r='4' stroke-width='0.6'/%3E%3Cellipse cx='40' cy='32' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='40' cy='48' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='32' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='48' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='34' rx='4' ry='2.5' transform='rotate(45 34 34)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='34' rx='4' ry='2.5' transform='rotate(-45 46 34)' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='46' rx='4' ry='2.5' transform='rotate(-45 34 46)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='46' rx='4' ry='2.5' transform='rotate(45 46 46)' stroke-width='0.5'/%3E%3C!-- Corner flourishes --%3E%3Cpath d='M0 0 C10 5, 10 15, 5 20' stroke-width='0.5'/%3E%3Cpath d='M0 0 C5 10, 15 10, 20 5' stroke-width='0.5'/%3E%3Cpath d='M80 0 C70 5, 70 15, 75 20' stroke-width='0.5'/%3E%3Cpath d='M80 0 C75 10, 65 10, 60 5' stroke-width='0.5'/%3E%3Cpath d='M0 80 C10 75, 10 65, 5 60' stroke-width='0.5'/%3E%3Cpath d='M0 80 C5 70, 15 70, 20 75' stroke-width='0.5'/%3E%3Cpath d='M80 80 C70 75, 70 65, 75 60' stroke-width='0.5'/%3E%3Cpath d='M80 80 C75 70, 65 70, 60 75' stroke-width='0.5'/%3E%3C!-- Leaf accents --%3E%3Cpath d='M20 15 C25 10, 30 12, 28 18 C26 22, 20 20, 20 15z' stroke-width='0.4'/%3E%3Cpath d='M60 65 C55 70, 50 68, 52 62 C54 58, 60 60, 60 65z' stroke-width='0.4'/%3E%3Cpath d='M15 55 C20 52, 22 56, 18 60 C14 62, 12 58, 15 55z' stroke-width='0.4'/%3E%3Cpath d='M65 20 C60 23, 58 19, 62 15 C66 13, 68 17, 65 20z' stroke-width='0.4'/%3E%3C!-- Tiny dots --%3E%3Ccircle cx='20' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='60' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='20' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='60' r='1' stroke-width='0.3'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%23721525' opacity='0.4'/%3E%3Crect x='0' y='0' width='1' height='1' fill='%23ffffff' opacity='0.03'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000000' opacity='0.03'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23ffffff' opacity='0.02'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000000' opacity='0.02'/%3E%3C/svg%3E"),radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(0,0,0,.06) 0%,transparent 50%),linear-gradient(170deg,#7a1525,#5c0e18);border:1px solid rgba(212,168,124,.2);overflow:hidden}.gate-door-left .gate-door-front{border-radius:8px 0 0 8px;border-right:none;box-shadow:-4px 0 20px #0000001a,0 8px 40px #00000026}.gate-door-right .gate-door-front{border-radius:0 8px 8px 0;border-left:none;box-shadow:4px 0 20px #0000001a,0 8px 40px #00000026}.gate-door-back{transform:rotateY(180deg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%23601020' opacity='0.4'/%3E%3Crect x='0' y='0' width='1' height='1' fill='%23ffffff' opacity='0.03'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000000' opacity='0.03'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23ffffff' opacity='0.02'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000000' opacity='0.02'/%3E%3C/svg%3E"),repeating-linear-gradient(45deg,rgba(212,168,124,.05) 0px,rgba(212,168,124,.05) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(-45deg,rgba(212,168,124,.05) 0px,rgba(212,168,124,.05) 1px,transparent 1px,transparent 10px),radial-gradient(ellipse at 50% 50%,rgba(212,168,124,.06) 0%,transparent 60%),linear-gradient(170deg,#6e1220,#520c15)}.gate-door-left .gate-door-back{border-radius:0 8px 8px 0}.gate-door-right .gate-door-back{border-radius:8px 0 0 8px}.gate-botanical{position:absolute;top:50%;transform:translateY(-60%);width:100%;height:60%;pointer-events:none}.gate-botanical-left{right:0}.gate-botanical-right{left:0}.gate-double-happiness{position:absolute;bottom:15%;left:50%;transform:translate(-50%);font-family:Cormorant Garamond,serif;font-size:1.4rem;color:#d4a87c80;letter-spacing:2px;font-weight:600}.envelope-seal{position:absolute;top:35%;left:calc(50% - 52px);width:104px;height:104px;z-index:10;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45)) drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:sealPulse 2.5s ease-in-out infinite}@keyframes sealPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.seal-shape{position:absolute;top:-8px;left:-8px;width:120px;height:120px;pointer-events:none}.scroll-hint{position:absolute;bottom:2.5rem;text-align:center;animation:fadeInUp 1.2s ease-out .8s both;cursor:pointer}.scroll-hint p{font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--black-light);margin-bottom:.6rem}.scroll-arrow{color:var(--gold-accent);animation:bounceDown 2s ease-in-out infinite;display:flex;justify-content:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media(max-width:768px){.envelope-scene{width:90vw;height:55vh}.card-names{font-size:2rem}.card-prelude{font-size:.55rem;letter-spacing:2.5px}.card-date{font-size:.65rem}.card-venue-name{font-size:.95rem}.card-venue{font-size:.5rem}.card-inner{padding:1.5rem 1rem}.envelope-seal{width:72px;height:72px;left:calc(50% - 36px)}.envelope-seal:after{width:48px;height:48px}.envelope-seal span{font-size:.85rem}}.wedding-site{min-height:100vh}.nav{position:fixed;top:0;left:0;right:0;background-color:#6b0f1af2;padding:1rem 2rem;display:flex;justify-content:center;gap:3rem;z-index:100;border-bottom:1px solid rgba(253,245,240,.15)}.nav a{font-size:.85rem;letter-spacing:2px;text-transform:uppercase;transition:color .3s ease}.nav a:hover{color:var(--gold-accent)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--gold-accent);overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 50%,rgba(212,168,124,.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(212,168,124,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 0%,rgba(212,168,124,.06) 0%,transparent 60%),linear-gradient(180deg,#6b0f1a,#5c0e18 40%,#4a0a12,#5c0e18);z-index:0}.hero-bg:before{content:"";position:absolute;top:15%;left:50%;transform:translate(-50%);width:300px;height:300px;border:1.5px solid rgba(212,168,124,.2);border-radius:50%;pointer-events:none}.hero-bg:after{content:"";position:absolute;top:15%;left:50%;transform:translate(-50%) rotate(45deg);width:220px;height:220px;border:1.5px solid rgba(212,168,124,.15);pointer-events:none}.hero-content{position:relative;z-index:2;padding:3rem 4rem;border:1.5px solid rgba(212,168,124,.3);background:#6b0f1a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hero-subtitle{font-size:.9rem;letter-spacing:4px;text-transform:uppercase;margin-bottom:1rem}.hero h1{font-size:4rem;font-weight:300;margin-bottom:1.5rem;font-style:italic}.hero-date{font-size:1.2rem;letter-spacing:3px;margin-bottom:2rem}.hero-divider{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-accent),transparent);margin:1.2rem auto;position:relative}.hero-divider:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%) rotate(45deg);width:7px;height:7px;background-color:var(--gold-accent)}.slide-indicators{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.75rem;z-index:2}.indicator{width:10px;height:10px;border-radius:50%;border:1px solid var(--cream);background:transparent;padding:0;cursor:pointer;transition:background-color .3s ease}.indicator.active{background-color:var(--maroon)}.section{padding:6rem 2rem;max-width:1000px;margin:0 auto;text-align:center}.section h2{font-size:2.5rem;margin-bottom:.5rem;font-style:italic}.section-subtitle{font-size:.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--black-light);margin-bottom:3rem}.schedule-items{display:flex;flex-direction:column;gap:2rem;max-width:500px;margin:0 auto}.schedule-item{display:flex;align-items:center;gap:1.5rem;text-align:left}.schedule-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold-accent);border-radius:50%;padding:10px;color:var(--gold-accent)}.schedule-icon svg{width:100%;height:100%}.schedule-time{font-size:1.1rem;font-weight:500;min-width:80px}.schedule-event h3{font-size:1.5rem;margin-bottom:.25rem}.schedule-event p{color:var(--black-light);font-size:.9rem}.location-section{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23d4a87c' opacity='0.07'%3E%3Ccircle cx='40' cy='40' r='4' stroke-width='0.6'/%3E%3Cellipse cx='40' cy='32' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='40' cy='48' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='32' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='48' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='34' rx='4' ry='2.5' transform='rotate(45 34 34)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='34' rx='4' ry='2.5' transform='rotate(-45 46 34)' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='46' rx='4' ry='2.5' transform='rotate(-45 34 46)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='46' rx='4' ry='2.5' transform='rotate(45 46 46)' stroke-width='0.5'/%3E%3Cpath d='M0 0 C10 5, 10 15, 5 20' stroke-width='0.5'/%3E%3Cpath d='M0 0 C5 10, 15 10, 20 5' stroke-width='0.5'/%3E%3Cpath d='M80 0 C70 5, 70 15, 75 20' stroke-width='0.5'/%3E%3Cpath d='M80 0 C75 10, 65 10, 60 5' stroke-width='0.5'/%3E%3Cpath d='M0 80 C10 75, 10 65, 5 60' stroke-width='0.5'/%3E%3Cpath d='M0 80 C5 70, 15 70, 20 75' stroke-width='0.5'/%3E%3Cpath d='M80 80 C70 75, 70 65, 75 60' stroke-width='0.5'/%3E%3Cpath d='M80 80 C75 70, 65 70, 60 75' stroke-width='0.5'/%3E%3Cpath d='M20 15 C25 10, 30 12, 28 18 C26 22, 20 20, 20 15z' stroke-width='0.4'/%3E%3Cpath d='M60 65 C55 70, 50 68, 52 62 C54 58, 60 60, 60 65z' stroke-width='0.4'/%3E%3Cpath d='M15 55 C20 52, 22 56, 18 60 C14 62, 12 58, 15 55z' stroke-width='0.4'/%3E%3Cpath d='M65 20 C60 23, 58 19, 62 15 C66 13, 68 17, 65 20z' stroke-width='0.4'/%3E%3Ccircle cx='20' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='60' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='20' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='60' r='1' stroke-width='0.3'/%3E%3C/g%3E%3C/svg%3E"),var(--maroon-dark)}.location-details{margin-top:2rem}.location-details h3{font-size:1.8rem;margin-bottom:.5rem}.location-address{color:var(--black-light);font-size:1rem;line-height:1.8}.map-link{display:inline-block;margin-top:2rem;padding:1rem 2.5rem;border:1px solid var(--cream);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease}.map-link:hover{background-color:var(--cream);color:var(--maroon)}.gallery-section{max-width:1200px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{overflow:hidden;aspect-ratio:3 / 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.rsvp-section{background-color:var(--cream);color:var(--maroon);padding:6rem 2rem;text-align:center}.rsvp-section h2{font-size:2.5rem;margin-bottom:1rem;font-style:italic}.rsvp-section p{margin-bottom:2rem;font-size:1rem}.rsvp-button{background-color:transparent;color:var(--cream);border:1px solid var(--cream);padding:1rem 3rem;font-size:.85rem;letter-spacing:3px;text-transform:uppercase;transition:all .3s ease}.rsvp-button:hover{background-color:var(--maroon);color:var(--black)}.footer{padding:3rem 2rem;text-align:center;font-size:.85rem;color:var(--black-light)}.footer-names{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-style:italic;margin-bottom:.5rem;color:var(--black)}@media(max-width:768px){.nav{gap:1.5rem;padding:1rem}.nav a{font-size:.75rem;letter-spacing:1px}.hero h1{font-size:2.5rem}.hero-content{padding:2rem;margin:0 1rem}.section{padding:4rem 1.5rem}.section h2{font-size:2rem}.schedule-item{flex-direction:column;gap:.5rem;text-align:center}.gallery-grid{grid-template-columns:repeat(2,1fr)}}.games-modal{position:fixed;inset:0;background-color:#000c;z-index:1000;display:flex;justify-content:center;align-items:center;padding:1rem}.games-modal-content{background-color:var(--maroon);border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--black);cursor:pointer;z-index:10}.login-container{padding:3rem 2rem;text-align:center}.login-card h2{font-family:Cormorant Garamond,serif;font-size:2rem;margin-bottom:.5rem}.login-subtitle{color:var(--black-light);margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1rem;max-width:300px;margin:0 auto}.login-input{padding:1rem;font-size:1.2rem;text-align:center;border:1px solid var(--cream);background-color:var(--maroon);font-family:Montserrat,sans-serif;letter-spacing:2px}.login-input:focus{outline:none;border-color:var(--gold-accent)}.login-button{padding:1rem 2rem;background-color:var(--cream);color:var(--maroon);border:none;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease}.login-button:hover:not(:disabled){background-color:var(--black-light)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#c0392b;font-size:.9rem}.login-help{margin-top:2rem;font-size:.85rem;color:var(--black-light)}.skip-login{margin-top:1.5rem;background:none;border:none;color:var(--black-light);font-size:.85rem;text-decoration:underline;cursor:pointer}.skip-login:hover{color:var(--black)}.dashboard{padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.guest-info h2{font-family:Cormorant Garamond,serif;font-size:1.8rem;margin-bottom:.25rem}.table-info{color:var(--black-light);font-size:.9rem}.logout-button{padding:.5rem 1rem;background:none;border:1px solid var(--cream);font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.logout-button:hover{background-color:var(--cream);color:var(--maroon)}.score-summary{background-color:var(--maroon-dark);padding:1.5rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.total-score{display:flex;flex-direction:column}.score-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--black-light)}.score-value{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:600}.leaderboard-button,.back-button{padding:.75rem 1.5rem;background-color:var(--cream);color:var(--maroon);border:none;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.back-button{margin-bottom:1.5rem}.games-section h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;margin-bottom:1rem}.games-list{display:flex;flex-direction:column;gap:1rem}.game-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--cream-dark);border-radius:4px}.game-info h4{font-family:Cormorant Garamond,serif;font-size:1.2rem;margin-bottom:.25rem}.game-type{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--black-light)}.game-status .score{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.game-status .participated{color:var(--gold-accent);font-size:.85rem}.game-status .not-played{color:var(--black-light);font-size:.85rem}.no-games{color:var(--black-light);text-align:center;padding:2rem}.leaderboard{padding:1rem 0}.leaderboard h2{font-family:Cormorant Garamond,serif;font-size:1.8rem;text-align:center;margin-bottom:1.5rem}.leaderboard-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.tab{padding:.5rem 1.5rem;background:none;border:1px solid var(--cream);font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.tab.active{background-color:var(--cream);color:var(--maroon)}.leaderboard-list{display:flex;flex-direction:column;gap:.75rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--maroon-dark);border-radius:4px}.leaderboard-item.rank-1{background-color:#fef3c7}.leaderboard-item.rank-2{background-color:#f3f4f6}.leaderboard-item.rank-3{background-color:#fed7aa}.leaderboard-item .rank{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;min-width:30px}.leaderboard-item .item-info{flex:1}.leaderboard-item .item-name{display:block;font-weight:500}.leaderboard-item .item-meta{font-size:.8rem;color:var(--black-light)}.leaderboard-item .item-score{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600}.no-scores{text-align:center;color:var(--black-light);padding:2rem}.dashboard-loading,.leaderboard-loading,.seating-loading{text-align:center;padding:3rem;color:var(--black-light)}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(253,245,240,.15);padding-bottom:.5rem}.dashboard-tab{padding:.5rem 1rem;background:none;border:none;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:var(--black-light);cursor:pointer;transition:all .3s ease}.dashboard-tab.active{color:var(--black);border-bottom:2px solid var(--cream);margin-bottom:-.5rem;padding-bottom:calc(.5rem + 1px)}.dashboard-tab:hover:not(.active){color:var(--black)}.seating-section{max-width:1300px}.seating-arrangement{padding:1rem 0}.seating-arrangement h2{font-family:Cormorant Garamond,serif;font-size:1.8rem;text-align:center;margin-bottom:.5rem}.seating-subtitle{text-align:center;color:var(--black-light);font-size:.85rem;margin-bottom:1.5rem}.tables-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.table-card{border:1px solid var(--cream-dark);border-radius:8px;padding:1rem;transition:all .3s ease}.table-card.my-table{border-color:var(--gold-accent);background-color:#8b1a2b1a}.table-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(253,245,240,.15)}.table-number{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--black-light)}.table-header h3{font-family:Cormorant Garamond,serif;font-size:1.2rem;margin-top:.25rem}.guest-list{list-style:none;padding:0;margin:0}.guest-list li{padding:.4rem 0;font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.guest-list li.current-guest{font-weight:500;color:var(--black)}.you-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;background-color:var(--gold-accent);color:#fff;padding:.15rem .4rem;border-radius:3px}.viking-tables{display:flex;gap:2rem;justify-content:center;max-width:1200px;margin:0 auto}.viking-table{flex:1;display:flex;flex-direction:column;align-items:center;max-width:550px}.viking-table-label{font-family:Cormorant Garamond,serif;font-size:1.4rem;margin-bottom:1rem;letter-spacing:1px}.viking-table-layout{display:flex;align-items:stretch;width:100%}.viking-side{flex:1;display:flex;flex-direction:column;gap:0}.viking-side-left{align-items:flex-end;padding-right:.5rem}.viking-side-right{align-items:flex-start;padding-left:.5rem}.viking-table-surface{width:32px;min-width:32px;min-height:100px;background:linear-gradient(180deg,var(--cream-dark) 0%,#d4c5a9 50%,var(--cream-dark) 100%);border:1px solid #c4b48a;border-radius:4px}.viking-seat{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;transition:background-color .3s ease;line-height:1.4}.viking-side-left .viking-seat{flex-direction:row-reverse}.viking-seat-you{background-color:#8b1a2b26;font-weight:500}.viking-seat-plus-one{opacity:.8;font-style:italic}.plus-one-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;background-color:var(--sage);color:#fff;padding:.1rem .35rem;border-radius:3px}.viking-seat-couple{background-color:#8b1a2b33;border:1px solid var(--gold-accent);padding:.35rem .6rem;margin:.15rem 0;font-weight:600}.couple-icon{font-size:.9rem;line-height:1}.couple-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;background-color:var(--gold-accent);color:#fff;padding:.1rem .35rem;border-radius:3px;white-space:nowrap}.viking-seat-name{white-space:nowrap}@media(max-width:768px){.viking-tables{flex-direction:column;align-items:center}.viking-table{max-width:100%}}@media(max-width:500px){.viking-table-surface{width:20px;min-width:20px}.viking-seat{font-size:.7rem;padding:.2rem .35rem}.tables-grid{grid-template-columns:1fr}.dashboard-tabs{justify-content:center}}.rsvp-container{padding:1rem 0}.rsvp-container h2{font-family:Cormorant Garamond,serif;font-size:1.8rem;text-align:center;margin-bottom:.5rem}.rsvp-subtitle{text-align:center;color:var(--black-light);font-size:.85rem;margin-bottom:1.5rem}.rsvp-form{display:flex;flex-direction:column;gap:1.25rem}.rsvp-attendance{display:flex;gap:1rem}.attendance-option{flex:1;cursor:pointer}.attendance-option input{display:none}.attendance-option .option-content{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;border:1px solid var(--cream-dark);border-radius:8px;transition:all .3s ease}.attendance-option:hover .option-content{border-color:var(--black-light)}.attendance-option.selected .option-content{border-color:var(--cream);background-color:var(--maroon-dark)}.option-icon{font-size:1.5rem;margin-bottom:.5rem}.option-text{font-size:.85rem;text-align:center}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input{width:18px;height:18px;cursor:pointer}.rsvp-input,.rsvp-textarea{padding:.75rem;font-size:1rem;border:1px solid var(--cream-dark);background-color:var(--maroon);font-family:Montserrat,sans-serif;border-radius:4px}.rsvp-input:focus,.rsvp-textarea:focus{outline:none;border-color:var(--cream)}.rsvp-textarea{resize:vertical;min-height:80px}.rsvp-submit-button{padding:1rem 2rem;background-color:var(--cream);color:var(--maroon);border:none;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.rsvp-submit-button:hover:not(:disabled){background-color:var(--black-light)}.rsvp-submit-button:disabled{opacity:.5;cursor:not-allowed}.rsvp-confirmed{text-align:center;padding:1rem 0}.rsvp-status-icon{width:60px;height:60px;border-radius:50%;background-color:var(--cream);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem}.rsvp-confirmed h2{margin-bottom:.5rem}.rsvp-message{color:var(--black-light);margin-bottom:1.5rem}.rsvp-summary{background-color:var(--maroon-dark);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.rsvp-summary p{margin:.5rem 0;font-size:.9rem}.rsvp-edit-button{padding:.75rem 1.5rem;background:none;border:1px solid var(--cream);font-size:.8rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.rsvp-edit-button:hover{background-color:var(--cream);color:var(--maroon)}.login-prompt{text-align:center;padding:3rem 2rem;background-color:var(--maroon-dark);border-radius:8px;max-width:400px;margin:0 auto}.login-prompt p{margin-bottom:1.5rem;color:var(--black-light)}.prompt-login-button{padding:1rem 2rem;background-color:var(--cream);color:var(--maroon);border:none;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.prompt-login-button:hover{background-color:var(--black-light)}.welcome-banner{display:flex;justify-content:space-between;align-items:center;background-color:var(--maroon-dark);padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem}.welcome-banner span:first-child{font-weight:500}.your-table{color:var(--black-light);font-size:.9rem}.nav-login,.nav-logout{color:var(--gold-accent)!important}.hero+.rsvp-page-section{margin-top:4rem}.rsvp-page-section{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23d4a87c' opacity='0.07'%3E%3Ccircle cx='40' cy='40' r='4' stroke-width='0.6'/%3E%3Cellipse cx='40' cy='32' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='40' cy='48' rx='3' ry='6' stroke-width='0.5'/%3E%3Cellipse cx='32' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='48' cy='40' rx='6' ry='3' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='34' rx='4' ry='2.5' transform='rotate(45 34 34)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='34' rx='4' ry='2.5' transform='rotate(-45 46 34)' stroke-width='0.5'/%3E%3Cellipse cx='34' cy='46' rx='4' ry='2.5' transform='rotate(-45 34 46)' stroke-width='0.5'/%3E%3Cellipse cx='46' cy='46' rx='4' ry='2.5' transform='rotate(45 46 46)' stroke-width='0.5'/%3E%3Cpath d='M0 0 C10 5, 10 15, 5 20' stroke-width='0.5'/%3E%3Cpath d='M0 0 C5 10, 15 10, 20 5' stroke-width='0.5'/%3E%3Cpath d='M80 0 C70 5, 70 15, 75 20' stroke-width='0.5'/%3E%3Cpath d='M80 0 C75 10, 65 10, 60 5' stroke-width='0.5'/%3E%3Cpath d='M0 80 C10 75, 10 65, 5 60' stroke-width='0.5'/%3E%3Cpath d='M0 80 C5 70, 15 70, 20 75' stroke-width='0.5'/%3E%3Cpath d='M80 80 C70 75, 70 65, 75 60' stroke-width='0.5'/%3E%3Cpath d='M80 80 C75 70, 65 70, 60 75' stroke-width='0.5'/%3E%3Cpath d='M20 15 C25 10, 30 12, 28 18 C26 22, 20 20, 20 15z' stroke-width='0.4'/%3E%3Cpath d='M60 65 C55 70, 50 68, 52 62 C54 58, 60 60, 60 65z' stroke-width='0.4'/%3E%3Cpath d='M15 55 C20 52, 22 56, 18 60 C14 62, 12 58, 15 55z' stroke-width='0.4'/%3E%3Cpath d='M65 20 C60 23, 58 19, 62 15 C66 13, 68 17, 65 20z' stroke-width='0.4'/%3E%3Ccircle cx='20' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='60' cy='40' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='20' r='1' stroke-width='0.3'/%3E%3Ccircle cx='40' cy='60' r='1' stroke-width='0.3'/%3E%3C/g%3E%3C/svg%3E"),var(--maroon-dark)}.rsvp-page-section .rsvp-container{max-width:500px;margin:0 auto;background-color:var(--maroon);padding:2rem;border-radius:8px}.logged-in-section{max-width:800px;margin:0 auto}@media(max-width:600px){.welcome-banner{flex-direction:column;gap:.5rem;text-align:center}}.games-page{min-height:100vh;padding-top:5rem}.games-page-header{text-align:center;padding:3rem 2rem 1rem}.games-page-header h2{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-style:italic;margin-bottom:.5rem}.games-page-content{max-width:1000px;margin:0 auto;padding:0 2rem 4rem}.nav-active{color:var(--gold-accent)!important}.checklist-container{max-width:600px;margin:0 auto;padding:1rem 0}.checklist-header{text-align:center;margin-bottom:1.5rem}.checklist-header h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;margin-bottom:.25rem}.checklist-subtitle{color:var(--black-light);font-size:.85rem}.checklist-progress{margin-bottom:1.5rem}.checklist-progress-bar{height:8px;background-color:var(--maroon-dark);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.checklist-progress-fill{height:100%;background-color:var(--gold-accent);border-radius:4px;transition:width .4s ease}.checklist-progress-text{font-size:.8rem;color:var(--black-light);letter-spacing:1px}.checklist-list{display:flex;flex-direction:column;gap:.5rem}.checklist-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--cream-dark);border-radius:4px;background:none;cursor:pointer;text-align:left;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--black);transition:all .3s ease;width:100%}.checklist-item:hover{border-color:var(--gold-accent)}.checklist-item.checked{background-color:#8b1a2b14;border-color:var(--gold-accent)}.checklist-item.checked .checklist-text{color:var(--black-light);text-decoration:line-through}.checklist-checkbox{width:22px;height:22px;min-width:22px;border:2px solid var(--cream-dark);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.checklist-item.checked .checklist-checkbox{background-color:var(--gold-accent);border-color:var(--gold-accent)}.checklist-checkmark{color:#fff;font-size:.75rem;font-weight:700;line-height:1}.checklist-text{flex:1;transition:color .3s ease}.guest-directory{padding:1rem 0}.guest-search{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--cream-dark);background-color:var(--maroon);font-family:Montserrat,sans-serif;border-radius:4px;margin-bottom:1.5rem;box-sizing:border-box}.guest-search:focus{outline:none;border-color:var(--cream)}.guest-cards{display:flex;flex-direction:column;gap:1rem}.guest-card{padding:1rem;border:1px solid var(--cream-dark);border-radius:4px}.guest-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.guest-card-name{font-family:Cormorant Garamond,serif;font-size:1.2rem;margin:0 0 .25rem}.guest-relationship{font-size:.8rem;color:var(--black-light);letter-spacing:.5px}.guest-table-badge{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--black-light);white-space:nowrap}.guest-fun-facts{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.4rem}.guest-fun-facts li{font-size:.78rem;background-color:var(--maroon-dark);padding:.3rem .6rem;border-radius:12px;color:var(--black-light)}.guest-note{position:relative}.guest-note-input{width:100%;padding:.5rem .75rem;font-size:.85rem;border:1px solid var(--cream-dark);background-color:var(--maroon);font-family:Montserrat,sans-serif;border-radius:4px;resize:vertical;box-sizing:border-box}.guest-note-input:focus{outline:none;border-color:var(--cream)}.my-profile{max-width:500px;margin:0 auto;padding:1.5rem 0;display:flex;flex-direction:column;align-items:center}.profile-avatar{width:64px;height:64px;border-radius:50%;background-color:var(--cream);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.profile-header{text-align:center;margin-bottom:2rem}.profile-header h3{font-family:Cormorant Garamond,serif;font-size:1.8rem;margin-bottom:.25rem}.profile-subtitle{color:var(--black-light);font-size:.85rem}.profile-card{width:100%;border:1px solid var(--cream-dark);border-radius:8px;padding:1.25rem}.profile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(253,245,240,.15)}.profile-card-title{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.profile-card-count{font-size:.75rem;color:var(--black-light);letter-spacing:1px;text-transform:uppercase}.fun-facts-list{display:flex;flex-direction:column;gap:.6rem}.fun-fact-row{display:flex;gap:.6rem;align-items:center}.fun-fact-number{width:24px;min-width:24px;height:24px;border-radius:50%;background-color:var(--maroon-dark);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--black-light)}.fun-fact-input{flex:1;padding:.65rem .75rem;font-size:.9rem;border:1px solid var(--cream-dark);background-color:var(--maroon);font-family:Montserrat,sans-serif;border-radius:6px;transition:border-color .3s ease}.fun-fact-input:focus{outline:none;border-color:var(--cream)}.fun-fact-remove{width:28px;height:28px;min-width:28px;background:none;border:1px solid transparent;border-radius:50%;font-size:1.2rem;color:var(--black-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.fun-fact-remove:hover{border-color:var(--cream-dark);background-color:var(--maroon-dark);color:var(--black)}.fun-fact-add{background:none;border:1px dashed var(--cream-dark);border-radius:6px;color:var(--black-light);font-size:.85rem;cursor:pointer;margin-top:.6rem;padding:.6rem;text-align:center;font-family:Montserrat,sans-serif;transition:all .2s ease;width:100%}.fun-fact-add:hover{border-color:var(--black-light);color:var(--black)}.profile-save-button{width:100%;margin-top:1.5rem;padding:1rem;background-color:var(--cream);color:var(--maroon);border:none;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;transition:all .3s ease}.profile-save-button:hover{background-color:var(--black-light)}.profile-save-success,.profile-save-success:hover{background-color:var(--gold-accent)}.guest-note-saved{position:absolute;right:.5rem;bottom:.5rem;font-size:.7rem;color:var(--gold-accent);letter-spacing:1px;text-transform:uppercase}
