:root{--green:#173f35;--cream:#f7f3e9;--red:#ab473a;--gold:#b68c4b;--muted:#68766c}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--cream);color:var(--green);font:15px/1.6 system-ui,sans-serif;background-image:radial-gradient(#b68c4b16 1px,transparent 1px);background-size:22px 22px}header,main,footer{max-width:1120px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:30px 28px;border-bottom:1px solid #173f351c}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font:36px Georgia,serif}.brand>span{font-size:25px;line-height:1.2}.brand small{display:block;font:8px system-ui;letter-spacing:3px;margin-top:7px}.quiet{border:0;background:transparent;color:var(--green);cursor:pointer;padding:10px}.snow{position:absolute;top:155px;left:0;width:100%;text-align:center;word-spacing:60px;color:var(--gold);opacity:.45;pointer-events:none}.intro{text-align:center;padding:65px 20px 38px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--gold)}h1{font:clamp(42px,6vw,70px)/1.08 Georgia,serif;letter-spacing:-2px;margin:24px 0}h1 em{color:var(--red);font-weight:400}p{color:var(--muted)}h2{font:30px/1.2 Georgia,serif;margin:16px 0}main{padding:0 28px 45px}.card{background:#fffcf6;border:1px solid #dddfd0;border-radius:18px;padding:34px;box-shadow:0 12px 35px #173f3506}.login{max-width:460px;margin:0 auto 50px;text-align:center}.ornament{font:48px Georgia;color:var(--red);line-height:1;margin-bottom:25px}label{display:block;font-size:12px;font-weight:650;margin:19px 0 7px;text-align:left}input,select,textarea{width:100%;border:1px solid #ccd2c5;background:#fffefa;color:var(--green);border-radius:7px;padding:13px;font:14px/1.5 system-ui}select{text-transform:capitalize}textarea{resize:vertical}button{font:inherit}button:disabled{opacity:.6;cursor:wait}.primary,.secondary{border-radius:7px;padding:14px 20px;cursor:pointer;font-size:13px;font-weight:600}.primary{background:var(--green);border:1px solid var(--green);color:#fff9ed;width:100%;margin-top:24px;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#255747}.secondary{background:transparent;color:var(--green);border:1px solid #bdc6b7;margin-top:15px}.secondary:hover{background:#edf0e7}.login small{display:block;font-size:11px;color:var(--muted);margin-top:21px}.welcome,.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome{margin:15px 0 25px}.welcome h2{font-size:37px}.pill{border:1px solid #d4d9ca;border-radius:30px;padding:7px 13px;font-size:11px;white-space:nowrap}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:25px}.draw{text-align:center;background:var(--green);color:var(--cream);border:0;position:relative;overflow:hidden}.draw:before,.draw:after{content:'✦';position:absolute;color:#f0d39944;font-size:80px;top:60px;left:25px;transform:rotate(15deg)}.draw:after{left:auto;right:20px;top:180px;font-size:45px}.draw .eyebrow{color:#debf80}.gift{font-size:62px;margin:25px 0 15px}.draw h2{font-size:33px}.draw p{color:#c2d1c4;max-width:300px;margin:12px auto}.draw .primary{background:#f2e5c8;color:var(--green);max-width:290px;margin:22px auto 0}.draw .tiny{font-size:10px;margin-top:19px}#result{font:44px Georgia;color:#f5d99d;margin:25px 0;text-transform:capitalize}.family{margin-top:50px}.family>p{margin-top:0}.people{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.person{text-align:left;background:#fffcf6;border:1px solid #dcdfd2;border-radius:12px;padding:20px;cursor:pointer;color:var(--green)}.person:hover{border-color:var(--gold);transform:translateY(-2px)}.avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ece6d8;font:22px Georgia;margin-bottom:14px}.person:nth-child(3n) .avatar{background:#e5eadd}.person:nth-child(2n) .avatar{background:#f2e1d8}.person strong{display:block;text-transform:capitalize;font:21px Georgia}.status{font-size:10px;color:var(--muted);display:block;margin:7px 0 13px}.done{color:#38705a}.profileLink{font-size:10px;color:var(--red)}#saved{font-size:12px;margin-left:12px}#message{text-align:center;color:var(--red)}footer{border-top:1px solid #173f3522;padding:25px 28px 35px;display:flex;gap:12px;align-items:center;color:var(--gold)}footer span:first-of-type{font:italic 17px Georgia;color:var(--green)}footer span:last-child{margin-left:auto;font-size:8px;letter-spacing:2px}dialog{background:var(--cream);color:var(--green);border:1px solid #d4d9ca;border-radius:16px;padding:36px;width:min(500px,90vw)}dialog::backdrop{background:#102c26aa;backdrop-filter:blur(4px)}.close{position:absolute;right:10px;top:10px}#profileName{text-transform:capitalize}#profileWish{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:700px){.dashboard{grid-template-columns:1fr}.people{grid-template-columns:repeat(2,1fr)}.intro{padding-top:45px}.welcome,.sectionTitle{align-items:flex-start}.welcome h2{font-size:30px}.card{padding:25px}main{padding:0 18px 30px}header{padding:22px 18px}footer span:last-child{display:none}.snow{word-spacing:20px}.pill{font-size:9px}}
