:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f8f3e8;background:#102b28}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 5%,#2b5a50 0,transparent 34%),radial-gradient(circle at 90% 85%,#4a3b29 0,transparent 30%),#102b28}header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem max(5vw,1rem);font-size:.82rem;color:#d5e3d8;letter-spacing:.08em}.brand{font-family:Georgia,serif;font-size:1.25rem;color:#f8e5b2;letter-spacing:0}main{max-width:1060px;margin:auto;padding:2rem 1rem 6rem;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);min-height:calc(100vh - 120px)}.hero h1{font:normal clamp(3rem,6vw,5.4rem)/1.02 Georgia,serif;letter-spacing:-.05em;margin:1rem 0 1.5rem}.hero h1 span{font-size:.65em}.hero>p:last-child{font-size:1.1rem;line-height:1.7;color:#d1ded6;max-width:30rem}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.7rem;font-weight:700;color:#efcf86}.card{position:relative;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid #ffffff30;border-radius:24px;background:linear-gradient(145deg,#ffffff1c,#ffffff0c);box-shadow:0 24px 70px #071a1890;backdrop-filter:blur(15px)}.card h2{font:normal 2rem Georgia,serif;margin:.3rem 0 1rem}.card p{color:#d1ded6;line-height:1.55}.gift-icon{font-size:3.6rem;filter:drop-shadow(0 12px 15px #061b17aa);animation:float 3s ease-in-out infinite}@keyframes float{50%{transform:translateY(-9px) rotate(5deg)}}form{display:grid;gap:1rem;margin-top:1.6rem}label{display:grid;gap:.45rem;font-size:.85rem;color:#f5eddc}small{color:#c6d4cb}input,select{width:100%;min-height:2.8rem;border:1px solid #ffffff45;border-radius:10px;padding:.7rem .8rem;font:inherit;background:#122c2a;color:white}input:focus,select:focus{outline:2px solid #dfc27d}button{border:0;border-radius:10px;min-height:2.9rem;padding:.7rem 1rem;font:700 .9rem inherit;cursor:pointer;background:#eacb84;color:#17322c;transition:transform .2s,box-shadow .2s}button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0005}button:focus-visible{outline:3px solid white;outline-offset:3px}.quiet{background:transparent;color:#e4e9df;border:1px solid #ffffff55}.danger{background:#f5dca4}.hidden{display:none!important}.reveal{margin:1.5rem 0;padding:1.4rem;border:1px solid #efcf8690;border-radius:18px;background:#e6c9851c;text-align:center;animation:appear .7s ease both}.reveal span{display:block;color:#e7d6ad}.reveal strong{display:block;font:normal 2.6rem Georgia,serif;margin:.6rem 0;color:#fff1c3}@keyframes appear{from{opacity:0;transform:scale(.7) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.admin{grid-column:1/-1}.admin-top{display:flex;justify-content:space-between;align-items:center}.inline-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.admin h3{margin-top:2rem;font:normal 1.4rem Georgia,serif}.household{padding:1rem 0;border-top:1px solid #ffffff2b}.household h4{margin:.2rem 0}.person{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.45rem 0;flex-wrap:wrap;font-size:.85rem;color:#e3e8de}.person button{min-height:2rem;font-size:.8rem}.muted{color:#b3c5b8}.status{padding:.85rem 1rem;background:#eacb841c;border-radius:10px}#notice{grid-column:1/-1;color:#ffdf9d;text-align:center;min-height:1.5rem}footer{text-align:center;padding:2rem 1rem;color:#a8c2b1;font-size:.8rem}.snow{pointer-events:none;position:fixed;inset:0;background-image:radial-gradient(#fff7 1px,transparent 1px);background-size:83px 83px;opacity:.2;animation:snow 30s linear infinite}@keyframes snow{to{background-position:0 83px}}@media(max-width:760px){main{grid-template-columns:1fr;max-width:570px;padding-top:2rem;gap:1rem}.hero{text-align:center}.hero h1{font-size:3.2rem}.hero>p:last-child{margin-inline:auto}header>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
