@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;0,800;1,700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#fff8ea;background:#021a24}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#021a24 url(../../../assets/winter-hero-v1.png) center top/cover fixed no-repeat}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#00182222,#001b29a8 82%,#001621e8);z-index:0}.snow{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.42;background-image:radial-gradient(#fff 1px,transparent 1.7px),radial-gradient(#f7d98f 1px,transparent 1.9px);background-size:34px 41px,130px 155px;background-position:0 0,25px 45px;animation:snowfall 16s linear infinite}@keyframes snowfall{to{background-position:0 460px,25px 505px}}header,main,footer{position:relative;z-index:1;max-width:1080px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem}.brand{padding:.6rem 1rem;border-radius:999px;background:#001d2dde;box-shadow:0 8px 30px #0008;font-family:Playfair Display;font-size:1.35rem;color:#fff9ed;text-decoration:none}.brand:first-letter{color:#ffd46d}.brand span{color:#f6c660;font-family:DM Sans;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-left:.35rem}.small-link,a{color:#ffe5a9}main{padding:1rem 1.1rem 3.5rem;min-height:calc(100vh - 130px)}footer{text-align:center;padding:1.2rem;color:#d8e5dd;font-size:.8rem;text-shadow:0 2px 5px #00111d}.card{max-width:590px;margin:1.5rem auto;padding:clamp(1.5rem,5vw,2.7rem);border:1px solid #f4d48755;border-radius:28px;background:linear-gradient(145deg,#00313de8,#002631e8);box-shadow:0 18px 50px #000a,0 0 0 1px #ffffff10 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wide{max-width:1000px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;color:#ffd36d;text-align:center}.hero{max-width:760px;text-align:center;background:linear-gradient(145deg,#002d3bb8,#00253288);border-color:#f7d98048;padding-top:clamp(2.2rem,7vw,4.2rem)}.hero h1,h1,h2{font-family:Playfair Display;line-height:1.04;margin:.55rem 0 1rem}.hero h1{font-size:clamp(3rem,7vw,5.3rem);text-shadow:0 4px 12px #00131c}.hero h1 em{color:#ffd46e}.hero p,.muted{color:#ecf4eb;line-height:1.58}.hero .muted{font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.7rem}.choice-actions{justify-content:center}button,.button{border:1px solid #ffe19a;border-radius:999px;padding:.9rem 1.25rem;background:linear-gradient(135deg,#ffdf7a,#e8ae3f);color:#21190c;font:700 .94rem DM Sans;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;box-shadow:0 8px 22px #0006,0 0 18px #ffc74a38;transition:transform .2s,filter .2s,box-shadow .2s}button:hover,.button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 11px 28px #0008,0 0 26px #ffd15c66}.button.alt,button.alt{background:#002c3bd9;color:#fff9ee;border-color:#f5dc9a99;box-shadow:none}.button.danger,button.danger,.danger{background:#9e2639!important;border-color:#e77a87!important;color:#fff!important}button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #fff2a8;outline-offset:3px}label{display:block;margin:1rem 0 .38rem;font-weight:700;font-size:.9rem;color:#fff4d2}input,textarea,select{width:100%;border:1px solid #d9d7b66b;border-radius:12px;background:#001b27dc;color:#fff;padding:.85rem;font:inherit;box-shadow:0 1px #fff1 inset}textarea{min-height:126px;resize:vertical}.error,.notice{padding:.9rem 1rem;border-radius:13px;margin:1rem 0}.error{background:#8e2739d9;border:1px solid #fa8e9b}.notice{background:#064c48d9;border:1px solid #94ddb8}.seasonal-note{margin:1.2rem auto 0;max-width:36rem;color:#ffe39b;font-size:.9rem;text-align:center}.reveal{text-align:center}.recipient{font-family:Playfair Display;font-size:clamp(2.7rem,10vw,4.5rem);color:#192116;background:#fff1d0;border:3px double #9a6030;border-radius:8px;padding:.45em .65em;margin:.7rem auto 1.2rem;max-width:440px;box-shadow:0 8px 20px #0007}.gift-stage{position:relative;width:min(260px,76vw);height:220px;margin:1rem auto;display:grid;place-items:center}.gift{width:192px;height:145px;border:0;margin-top:40px;background:linear-gradient(135deg,#b6243d,#74132d);border-radius:7px;position:relative;box-shadow:0 19px 30px #0009}.gift:before{content:"";position:absolute;background:#e8b752;width:27px;inset:0 auto 0 50%;transform:translate(-50%)}.gift:after{content:"";position:absolute;width:208px;height:35px;left:-8px;top:-28px;border-radius:7px 7px 2px 2px;background:#b82b43;box-shadow:0 -5px #e8b752 inset}.gift .bow{position:absolute;z-index:2;top:-55px;left:50%;width:82px;height:45px;transform:translate(-50%)}.gift .bow:before,.gift .bow:after{content:"";position:absolute;width:37px;height:29px;border:8px solid #e8b752;border-radius:70% 30% 65% 35%}.gift .bow:before{left:3px;transform:rotate(27deg)}.gift .bow:after{right:3px;transform:scaleX(-1) rotate(27deg)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.8rem;text-align:left;border-bottom:1px solid #f8df9b2e;vertical-align:top}th{color:#ffd56e}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat{padding:1.1rem;border-radius:18px;background:#ffffff12;border:1px solid #f7db8b35}.stat b{font-size:1.55rem;color:#ffd56e}.admin-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.participant-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.participant-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:end}.participant-row form:last-child button{min-width:100px}.mobile-cards{display:none}.admin-person-card,.assignment-card{padding:1rem;margin:.75rem 0;border:1px solid #f5dc9750;border-radius:18px;background:#ffffff0d}.admin-person-card form,.assignment-card{display:grid;gap:.65rem}.assignment-card strong{color:#f4cd83}.status-pill{font-size:.78rem;font-weight:700;padding:.25rem .55rem;border-radius:99px;background:#ffffff14;justify-self:start}.status-pill.revealed{background:#226a6088;color:#d7ffec}.assignment-note{margin-top:.6rem;color:#ffd997;font-size:.88rem}@media(max-width:700px){.desktop-table{display:none}.mobile-cards{display:block}.participant-row,.participant-form{grid-template-columns:1fr}.participant-row form:last-child button{width:100%}.wide{padding:1.25rem}.admin-nav .button{flex:1}}@media(max-width:500px){body{background-position:center top}header{padding:.75rem .8rem}.brand{font-size:1.08rem;padding:.55rem .75rem}.brand span{font-size:.66rem}main{padding:.5rem .8rem 2.5rem}.card{margin:.4rem auto;border-radius:23px;padding:1.4rem}.hero{padding-top:2.25rem}.hero h1{font-size:clamp(2.65rem,13vw,3.35rem)}.actions>*{width:100%}.actions{gap:.7rem}.gift-stage{transform:scale(.92);margin:.3rem auto}.recipient{font-size:2.45rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.snow{animation:none}}.card:not(.wide) .actions{justify-content:center}
