:root{--ink:#193c36;--green:#244f43;--cream:#f6f3ea;--gold:#bc793f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;font-size:17px;line-height:1.55}main{max-width:1160px;margin:0 auto;padding:55px 28px}header{padding:20px 0 32px}h1{font-family:Georgia,serif;font-weight:normal;line-height:1.1;font-size:clamp(42px,7vw,76px);letter-spacing:-2px;margin:15px 0}h2{font-size:25px;margin:0 0 15px}h3{font-size:15px;text-transform:uppercase;letter-spacing:2px;color:#706b5e}.dot{color:var(--gold)}p{color:#53665d}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:bold}.card{background:#fffdf7;border:1px solid #dfdfd2;border-radius:22px;padding:30px;margin:22px 0;box-shadow:0 8px 35px #244f4305}.narrow{max-width:500px}.families{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.person{padding:16px 0;border-top:1px solid #e5e3d9}.check{display:flex;align-items:center;gap:7px;margin:0 0 8px}.check input{width:19px;height:19px;accent-color:var(--green)}label{display:block;margin:14px 0 8px}input:not([type=checkbox]),select{width:100%;font:inherit;font-size:16px;border:1px solid #c9cec3;border-radius:9px;padding:12px;background:white;color:var(--ink);margin:7px 0}button,.button{display:inline-block;border:0;background:var(--green);color:white;border-radius:10px;padding:14px 23px;font:inherit;font-weight:bold;cursor:pointer;text-decoration:none;margin:10px 0}button:hover,.button:hover{background:#163c30}button:disabled{opacity:.6;cursor:wait}.secondary{background:#e8ede4;color:var(--ink)}.subtle{background:transparent;color:var(--ink);padding:6px 12px}.small{font-size:13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.alert,.notice{padding:16px 20px;border-radius:10px;background:#f8e3dc;color:#873c23}.notice{background:#e2eddc;color:#335b32}nav{display:flex;align-items:center;justify-content:space-between}.badge{display:inline-block;border:1px solid #cfd7c5;border-radius:30px;padding:8px 16px;font-size:12px;letter-spacing:1px;color:var(--green)}hr{border:0;border-top:1px solid #ddd;margin:30px 0}.status{border-bottom:1px solid #e5e3d9;padding:20px 0;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.status label{width:100%}.status a,a{color:var(--green)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.tile{display:flex;flex-direction:column;background:#fffdf7;border:1px solid #d9dccd;border-radius:18px;text-decoration:none;text-align:center;padding:28px 14px;gap:10px;transition:transform .2s}.tile:hover{transform:translateY(-4px);border-color:var(--gold)}.tile strong{font:30px Georgia,serif}.tile span:last-child{font-size:13px}.tile.done{background:#e7eddf}.gift{color:var(--gold);font-size:36px}.center{max-width:700px;text-align:center;padding-top:12vh}.biggift{font-size:85px;color:var(--gold);line-height:1.3}.draw{padding:40px 25px}.large{font-size:24px;padding:19px 55px}.back{display:block;margin-top:30px;font-size:15px}footer{text-align:center;font-size:12px;color:#6e7b6b;padding:28px 0}.spin{animation:spin 1s ease-in-out infinite}@keyframes spin{50%{transform:rotate(80deg) scale(1.2)}}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:900px){.families,.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){main{padding:28px 17px}.families,.columns{grid-template-columns:1fr}.card{padding:22px}.tiles{gap:12px}.tile{padding:20px 8px}.tile strong{font-size:25px}}@media(prefers-reduced-motion:reduce){.spin{animation:none}.tile{transition:none}}
