:root{--green:#183f34;--cream:#f5f1e8;--gold:#ac8346;--muted:#73776e}*{box-sizing:border-box}body{background:var(--cream);color:var(--green);background-image:radial-gradient(at 85% 35%,#e5e8d980,#0000 45%);margin:0;font-family:DM Sans,sans-serif}header,footer{justify-content:space-between;align-items:center;max-width:1260px;margin:auto;padding:34px 54px;display:flex}.brand{color:var(--green);align-items:center;gap:13px;font-size:34px;text-decoration:none;display:flex}.brand>span{letter-spacing:4px;font-size:19px;font-weight:700}.brand-sub{letter-spacing:2px;margin-top:5px;font-size:8px;display:block}.year{letter-spacing:3px;color:var(--muted);font-size:10px}main{grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;max-width:1152px;margin:52px auto 90px;padding:0 34px;display:grid}.eyebrow,.tag{letter-spacing:2px;font-size:10px;font-weight:600}.eyebrow{color:var(--gold)}h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:500}h1{letter-spacing:-4px;margin:29px 0;font-size:clamp(65px,6.9vw,100px);line-height:1.05;position:relative}h1 em{color:#a4463d;font-weight:500}.spark{color:var(--gold);font-size:50px;position:absolute;top:0;right:0}.intro>p{color:var(--muted);font-size:15px;line-height:1.9}.status{align-items:center;gap:10px;margin:32px 0;font-size:11px;display:flex}.dot{background:#6e8262;border-radius:100%;width:7px;height:7px}.divider{color:#c6c6b5;margin:0 5px}.steps{border-top:1px solid #dbd9ce;gap:38px;margin-top:45px;padding-top:25px;display:flex}.steps div{flex-direction:column;gap:8px;font-size:11px;display:flex}.steps b{color:var(--gold);font-size:11px;font-weight:400}.card{text-align:center;background:#fffcf6;border:1px solid #e6e0d3;border-radius:12px;padding:35px 38px;position:relative;box-shadow:0 24px 70px #304b3010}.tag{color:#938366;border:1px solid #e6ddc8;border-radius:20px;padding:7px 12px;font-size:8px;display:inline-block}.small-gift{color:var(--gold);margin:21px auto 8px;font-size:46px}h2{margin:14px 0;font-size:35px}h3{margin:12px 0;font-size:24px}.muted,.card>p{color:var(--muted);font-size:13px;line-height:1.7}.card form{text-align:left;margin-top:25px}label{text-align:left;margin:16px 0;font-size:11px;font-weight:500;display:block}input{width:100%;font:inherit;color:var(--green);background:#fffefb;border:1px solid #dddccf;border-radius:5px;margin-top:8px;padding:14px;font-size:13px;display:block}input:focus{outline-offset:2px;outline:2px solid #ac834680}button{background:var(--green);color:#fff9eb;font:inherit;cursor:pointer;border:0;border-radius:5px;width:100%;padding:15px 18px;font-size:12px;transition:background .2s}button:hover{background:#2d5e4e}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.text-button{color:var(--muted);background:0 0;margin-top:12px;padding:7px;font-size:11px}.text-button:hover{background:#edeadf}.secondary{color:var(--green);background:#eceadd}.fine{margin-top:22px;font-size:10px!important;line-height:1.8!important}.code{text-align:center;letter-spacing:12px;font-size:27px}.error{background:#fae7df;border-radius:6px;padding:12px;color:#8d3028!important}.notice{background:#e9efe2;border-radius:6px;padding:12px;color:var(--green)!important}.waiting{color:var(--gold);justify-content:center;align-items:center;gap:25px;margin:38px 0;font-size:28px;display:flex}.bag-mini{font-size:70px}.reveal{height:235px;margin:12px 0;overflow:hidden}.reveal svg{width:100%;height:100%}.paper{opacity:0;transform:translateY(60px)}.hand{transform:translateY(-140px)}.pulling .hand{animation:3.4s ease-in-out forwards reach}.pulling .paper{animation:3.4s ease-in-out forwards paper}.pulling svg{animation:3.4s ease-in-out wiggle}.done .paper{opacity:1;transform:translateY(-65px)}.recipient{animation:.8s both appear}.recipient>span{letter-spacing:3px;color:var(--gold);font-size:10px}.recipient h2{color:#a4463d;overflow-wrap:anywhere;font-size:43px}.recipient p{color:var(--muted);font-size:12px}@keyframes reach{0%{transform:translateY(-140px)}40%,60%{transform:translateY(35px)}to{transform:translateY(-140px)}}@keyframes paper{0%,45%{opacity:0;transform:translateY(60px)}60%{opacity:1;transform:translateY(50px)}to{opacity:1;transform:translateY(-65px)}}@keyframes wiggle{45%,55%{transform:rotate(-3deg)}50%,60%{transform:rotate(3deg)}0%,70%,to{transform:rotate(0)}}@keyframes appear{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.admin{border-top:1px solid #dcd8ca;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:30px;padding-top:35px;display:grid}.admin p{color:var(--muted);font-size:13px;line-height:1.7}.admin-controls{gap:10px;display:grid}.admin-controls label{margin:0}.admin details{grid-column:1/-1;font-size:13px}.admin li{padding:8px}.admin small{color:var(--muted);margin-left:10px}footer{color:#8b8d80;border-top:1px solid #dedbd1;padding-top:25px;font-size:10px}footer span:last-child{letter-spacing:2px;font-size:8px}.stars{letter-spacing:37px;color:#b9945225;z-index:-1;white-space:nowrap;font-size:30px;position:absolute;top:120px;left:5%;right:5%;overflow:hidden}.modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:5;background:#12271f99;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal .card{max-width:430px}@media (max-width:760px){header{padding:25px}.year{letter-spacing:1px;font-size:8px}main{grid-template-columns:1fr;gap:35px;margin:25px auto 55px;padding:0 24px}.intro{text-align:center}h1{letter-spacing:-3px;font-size:72px}.spark{right:5px}.status,.steps{justify-content:center}.steps{margin-top:28px}.card{padding:28px 25px}.admin{grid-template-columns:1fr}.admin details{grid-column:1}footer{gap:20px;padding:25px}.brand>span{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}select,textarea{width:100%;font:inherit;color:var(--green);background:#fffefb;border:1px solid #dddccf;border-radius:5px;margin-top:8px;padding:12px;font-size:13px;display:block}select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.round-picker{max-width:340px}.check{align-items:center;gap:10px;display:flex}.check input{width:auto;margin:0}.new-round{grid-column:1/-1;max-width:600px}.member-settings{text-align:left;margin:25px 0;font-size:12px}summary{cursor:pointer;padding:10px 0}.wish-text{white-space:pre-wrap;overflow-wrap:anywhere}.settings-form{align-self:start}@media (max-width:760px){.round-picker{margin:20px auto}}
