:root{color:#253b33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#173e33;--muted:#56634f;--line:#e4e2d8;--gold:#b89655;background:#f8f5ee;font-family:Segoe UI,Arial,sans-serif;font-size:125%;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button,input,a{outline-offset:5px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold)}input{width:100%;min-width:0;color:var(--green);background:#fffdf8;border:1px solid #d8dace;border-radius:7px;padding:14px 15px}input:focus{border-color:#6d8b75}input::placeholder{color:#858b7c}input[type=checkbox],input[type=radio]{width:24px;height:24px;accent-color:var(--green);flex-shrink:0}label:not(.statement-card):not(.timing-card):not(.confirmation){margin-bottom:9px;font-size:1rem;font-weight:600;display:block}small{font-size:.9rem;line-height:1.6}p{line-height:1.75}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.8px;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.15}h2{font-size:1.7rem;line-height:1.2}em{color:#49745b;font-weight:400}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;padding:0}strong{font-weight:600}.site-shell{max-width:1240px;margin:auto;padding:0 44px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:20px 0;display:flex}.brand{align-items:center;gap:13px;text-decoration:none;display:flex}.brand svg{width:28px;height:34px;color:var(--green)}.brand>span{letter-spacing:-.6px;font-family:Georgia,serif;font-size:1.2rem}.brand small{letter-spacing:1.2px;margin-top:7px;font-family:Segoe UI,Arial,sans-serif;font-size:.55rem;display:block}.season{color:#717760;letter-spacing:.6px;white-space:nowrap;align-items:center;gap:9px;font-size:.65rem;display:flex}.status-dot{background:#6c876b;border-radius:50%;width:6px;height:6px;display:inline-block}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:32px;padding:48px 0 36px;display:grid}.eyebrow{letter-spacing:1.4px;color:#796237;margin-bottom:20px;font-size:.8rem;font-weight:600;line-height:1.6}.hero .eyebrow{align-items:center;gap:9px;display:flex}.hero .eyebrow>span{background:#b09b6f;width:24px;height:1px}.hero h1{margin-bottom:22px}.lead{color:#687565;margin-bottom:20px;font-size:1.05rem;line-height:1.7}.hero-caption{color:#737b68;margin-bottom:0;font-size:1rem}.hero-art{align-self:center;padding:12px 0 0;position:relative}.christmas-art{width:100%;height:auto;display:block}.art-caption{text-align:center;color:#767c65;letter-spacing:1px;margin-top:4px;font-size:.8rem;display:block}.welcome-card{background:#eeeee3;border:1px solid #e2e3d7;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:36px;margin:12px 0 40px;padding:32px;display:grid;position:relative}.welcome-card:before{content:"✧";color:#a8915a;font-size:1rem;position:absolute;top:12px;right:18px}.welcome-card .eyebrow{margin-bottom:9px;font-size:.8rem}.welcome-card h2{margin-bottom:8px;font-size:1.6rem}.welcome-card p{color:var(--muted);margin:0;font-size:1rem}.welcome-card form{padding-top:5px}.input-with-button{gap:10px;display:flex}.input-with-button input{background:#fafaf4;flex:1}.input-with-button .primary{white-space:nowrap;flex:none}.primary{background:var(--green);border:1px solid var(--green);color:#fffdf6;white-space:normal;border-radius:7px;justify-content:center;align-items:center;gap:20px;min-height:54px;padding:15px 24px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.primary:hover:not(:disabled){background:#2b5745;transform:translateY(-1px)}.welcome-card small{color:#727a65;margin-top:10px;font-size:.9rem;display:block}.how-it-works{color:#717a65;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;padding:8px 0 45px;font-size:.9rem;display:flex}.how-it-works>span{white-space:nowrap}.how-it-works b{color:#90713a;margin-right:8px;font-size:.8rem;font-weight:500}.step-line{background:#d6d7c8;width:38px;height:1px}.footer{border-top:1px solid var(--line);color:#737b66;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:27px 0 30px;font-size:.9rem;line-height:1.7;display:flex}.footer span span{color:var(--gold);margin-left:8px}.name-badge{align-items:center;gap:11px;max-width:55%;font-size:.8rem;display:flex}.name-badge small{letter-spacing:1.4px;color:#737d66;font-size:.55rem;display:block}.name-badge strong{overflow-wrap:anywhere;max-width:230px;display:block}.avatar{color:#55725a;background:#e7ebdf;border:1px solid #d5dfcd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.text-button{color:#4d7058;background:0 0;border:0;align-items:center;min-height:44px;padding:8px 3px;font-size:1rem;text-decoration:none;display:inline-flex}.text-button:hover{text-decoration:underline}.name-badge .text-button{margin-left:9px;font-size:.7rem}.name-edit{align-items:center;gap:8px;max-width:55%;display:flex}.name-edit input{max-width:200px;padding:9px;font-size:.8rem}.name-edit button{font-size:.7rem}.small-button,.secondary{color:var(--green);white-space:normal;background:0 0;border:1px solid #ccd4c3;border-radius:6px;min-height:48px;padding:10px 16px;font-size:1rem}.small-button{padding:9px}.secondary:hover:not(:disabled){background:#edf0e6}.section-divider{color:#a78d56;align-items:center;gap:20px;margin:4px 0 45px;display:flex}.section-divider:before,.section-divider:after{content:"";background:var(--line);flex:1;height:1px}.form-navigation{margin:0 0 28px;display:flex}.form-navigation .secondary{align-items:center;gap:10px;display:inline-flex}.questionnaire{padding-bottom:25px}.questionnaire .eyebrow{margin-bottom:12px;display:block}.question-heading{letter-spacing:-1px;margin-bottom:9px;font-family:Georgia,serif;font-size:1.8rem;display:block}.question-intro{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.question-intro p{color:var(--muted);margin:0;font-size:1rem}.selection-count{white-space:nowrap;color:#5f7354;background:#edf0e6;border:1px solid #d9decf;border-radius:20px;padding:7px 13px;font-size:.9rem}.statements-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.statement-card{cursor:pointer;background:#fcfaf5;border:1px solid #dedfd3;border-radius:9px;flex-direction:column;gap:12px;min-height:220px;padding:24px;transition:border-color .15s,background .15s;display:flex;position:relative}.statement-card:hover{background:#f5f6eb;border-color:#98ac90}.statement-card.selected{background:#edf1e5;border-color:#6e8b67;box-shadow:inset 0 0 0 1px #6e8b67}.statement-card input,.timing-card input{opacity:0;width:1px;height:1px;position:absolute}:is(.statement-card:has(input:focus-visible),.timing-card:has(input:focus-visible)){outline:2px solid var(--gold);outline-offset:4px}.statement-icon{color:#a08245;margin-bottom:12px;font-size:1.4rem;line-height:1}.statement-card.selected .statement-icon{color:#52744b}.statement-card strong{font-size:1rem;line-height:1.5}.statement-card small{color:#717b64;font-size:.9rem}.card-check{color:#77876c;border:1px solid #c7cfba;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;display:flex;position:absolute;top:20px;right:20px}.selected .card-check{color:#fff;background:#58774f;border-color:#58774f}.selection-note{color:#707b62;min-height:21px;margin:14px 0 0;font-size:.9rem}.timing-section{margin:48px 0}.timing-section .muted{margin:5px 0 22px;font-size:1rem}.timings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.timing-card{border:1px solid var(--line);cursor:pointer;background:#fcfaf5;border-radius:8px;align-items:center;gap:12px;min-height:126px;padding:22px 18px;display:flex;position:relative}.timing-card.selected{background:#edf1e5;border-color:#6e8b67;box-shadow:inset 0 0 0 1px #6e8b67}.timing-icon{color:#9e8044;font-size:1.4rem}.timing-card strong{font-size:1rem;line-height:1.5;display:block}.timing-card small{color:#6f7a62;margin-top:4px;font-size:.9rem;line-height:1.5;display:block}.radio-mark{border:1px solid #bbc4ad;border-radius:50%;flex-shrink:0;width:24px;height:24px;margin-left:auto}.selected .radio-mark{border:7px solid #58774f}.contact-section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding-top:35px;display:grid}.contact-section .eyebrow{margin-bottom:10px}.contact-section h2{margin-bottom:10px;font-size:1.6rem}.contact-section p{color:var(--muted);font-size:1rem}.contact-section small{color:var(--muted);margin-top:8px;font-size:.9rem;display:block}.submit-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 16px;padding-top:25px;display:flex}.submit-row>span{color:var(--muted);font-size:.9rem}.submit-row>span>span{color:#a68d59;margin-right:6px}.error{color:#97462f;background:#f8e9df;border:1px solid #e8c9b6;border-radius:7px;margin:20px 0;padding:13px 17px;font-size:1rem;line-height:1.6}.muted{color:var(--muted);font-size:1rem}.review-card{border:1px solid var(--line);background:#fffdf8;border-radius:12px;max-width:760px;margin:0 auto 45px;padding:38px 42px}.review-card h2{margin-bottom:10px;font-size:1.8rem}.review-card>p:not(.eyebrow){color:var(--muted);font-size:1rem}dl{margin:28px 0}dl>div{border-top:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:24px;padding:17px 0;font-size:1rem;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}.review-answers{margin:0;padding:0;list-style:none}.review-answers li{align-items:flex-start;gap:12px;display:flex}.review-answers li+li{margin-top:12px}.review-answer-icon{color:#a08245;text-align:center;flex:0 0 1.4em;font-size:1.2em;line-height:1.35}.confirmation{cursor:pointer;align-items:flex-start;gap:12px;margin:20px 0;font-size:1rem;line-height:1.7;display:flex}.confirmation input{margin:3px 0 0;padding:0}.review-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;display:flex}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success-page{text-align:center;outline:none;padding:55px 20px 65px}.success-seal{color:#ab8b4d;background:#f0eddf;border:1px solid #d9c89e;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 25px;font-size:2rem;display:grid}.success-page h1{overflow-wrap:anywhere;font-size:clamp(1.9rem,4vw,2.6rem)}.success-page>.eyebrow{margin-bottom:15px}.success-page .lead{margin-bottom:33px}.elf-certificate{outline-offset:6px;background:#f0eee1;border:1px solid #c8b88f;outline:1px solid #e6ddc7;max-width:760px;margin:0 auto 35px;padding:30px 40px}.tiny-stars{color:#a58a51;font-size:1rem}.elf-certificate p{letter-spacing:1px;color:#897742;margin:20px 0 15px;font-size:.8rem}.elf-certificate h2{color:#3d634a;margin-bottom:20px;font-size:1.7rem;line-height:1.35}.certificate-rule{background:#c4b587;width:60px;height:1px;margin:auto auto 17px;display:block}.elf-certificate small{color:#757b64;font-size:.9rem}.sms-note{text-align:left;justify-content:center;align-items:center;gap:18px;max-width:620px;margin:30px auto;display:flex}.sms-note>span{color:#a58f5b;font-size:1.4rem}.sms-note p{color:var(--muted);margin:0;font-size:1rem}.sms-note strong{color:var(--green)}.success-page>.muted{font-size:.9rem}.admin-main{min-height:70vh;padding:50px 0 65px}.admin-login{max-width:660px;margin:30px auto 60px}.admin-login h1{font-size:2.4rem}.admin-login p{color:var(--muted)}.admin-login form{max-width:520px;margin-top:30px}.admin-login .primary{width:100%;margin-top:20px}.admin-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-title h1{font-size:2.25rem}.admin-title .eyebrow{margin-bottom:10px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin:15px 0 45px;display:grid}.admin-stats>div{border:1px solid var(--line);background:#f0f1e7;border-radius:9px;padding:22px}.admin-stats strong{margin-bottom:8px;font-family:Georgia,serif;font-size:2.1rem;font-weight:400;display:block}.admin-stats .state-word{padding-top:10px;font-size:1.25rem}.admin-stats span{color:var(--muted);font-size:.9rem}.section-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-toolbar h2{margin:0;font-size:1.6rem}.section-toolbar .eyebrow{margin-bottom:10px}.notice{color:#806028;background:#f3ecdc;border:1px solid #e8d7b3;border-radius:7px;padding:15px 18px;font-size:1rem}.filter-input{max-width:450px;margin-bottom:20px}.participant-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.participant-info{min-width:0}.participant-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:15px;display:flex}.participant-row p{color:var(--muted);margin:7px 0 12px;font-size:1rem}.duplicate-tag{color:#806028;background:#f1e2c6;border-radius:15px;padding:5px 9px;font-size:.9rem}.answer-chips{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.answer-chips>span{color:#617253;background:#eeefe4;border-radius:5px;padding:5px 8px;font-size:.9rem}.delete-controls{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;font-size:.9rem;display:flex}.danger-text{color:#a55943}.danger{color:#fff;background:#a95740;border:0;border-radius:6px;padding:10px 15px;font-size:1rem}.empty-state{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:7px;padding:30px}.draw-panel{background:#e9eddf;border:1px solid #d7dfca;border-radius:10px;margin-top:40px;padding:35px}.draw-panel h2{font-size:1.7rem}.draw-panel>p:not(.eyebrow){color:#627357;max-width:780px;font-size:1rem}.draw-input-row{flex-wrap:wrap;gap:15px;display:flex}.draw-input-row input{max-width:220px}.sms-section{border-top:1px solid var(--line);margin-top:45px;padding-top:35px}.sms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:25px;display:grid}.sms-card{border:1px solid var(--line);background:#fcfaf5;border-radius:9px;padding:25px}.sms-card .eyebrow{overflow-wrap:anywhere;margin-bottom:7px}.sms-card>strong{font-size:1rem}.sms-body{white-space:pre-wrap;-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;margin:20px 0;font-size:1rem;line-height:1.9}.sms-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){.site-shell{max-width:1280px}.hero{padding-top:56px;padding-bottom:40px}}@media (width<=1000px){.site-shell{padding:0 28px}.hero{gap:24px;padding-top:40px}.welcome-card{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;padding:28px}.input-with-button{flex-direction:column}.input-with-button input{flex:none}.statements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timings-grid{grid-template-columns:1fr}.timing-card{min-height:108px;padding:22px}.contact-section{gap:28px}.hero-art{padding-top:20px}.name-badge strong{max-width:180px}.name-edit{flex-wrap:wrap;max-width:55%}.participant-row{flex-wrap:wrap;align-items:flex-start}.delete-controls{flex-flow:wrap;align-items:center}.draw-input-row{flex-wrap:wrap}}@media (width<=700px){.site-shell{padding:0 20px}.header{flex-wrap:wrap;gap:12px;min-height:88px;padding:16px 0}.brand{gap:10px;min-width:0;max-width:100%}.brand svg{flex-shrink:0;width:25px;height:31px}.brand>span{min-width:0;font-size:1.1rem}.brand small{letter-spacing:.6px;margin-top:5px}.season{white-space:normal;flex-wrap:wrap}.hero{text-align:center;grid-template-columns:minmax(0,1fr);gap:12px;padding:32px 0 24px}.hero .eyebrow{justify-content:center}.hero .eyebrow>span{display:none}.hero h1{letter-spacing:-.6px;margin-bottom:20px;font-size:2rem}.hero .lead{margin-bottom:16px}.hero-art{justify-self:center;max-width:240px;padding:0}.art-caption{letter-spacing:.8px;margin-top:4px}.welcome-card{grid-template-columns:minmax(0,1fr);gap:24px;margin:12px 0 32px;padding:24px}.welcome-card h2{font-size:1.5rem}.input-with-button{gap:12px}.how-it-works{flex-direction:column;gap:12px;padding:12px 0 32px}.how-it-works>span{white-space:normal;text-align:center}.step-line{width:1px;height:14px}.footer{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0}.footer>span{max-width:100%}.name-badge{flex-wrap:wrap;gap:12px;width:100%;max-width:100%}.name-badge strong{max-width:100%}.name-badge>span:nth-child(2){flex:1;min-width:0}.name-badge .text-button{margin-left:0}.name-edit{gap:10px;width:100%;max-width:100%}.name-edit input{flex:160px;max-width:100%;padding:12px}.name-edit button{padding:10px 12px}.section-divider{margin:8px 0 32px}.question-heading{font-size:1.6rem;line-height:1.3}.question-intro{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.statements-grid{grid-template-columns:minmax(0,1fr);gap:16px}.statement-card{gap:10px;min-height:0;padding:24px}.statement-icon{margin-bottom:8px}.selection-note{margin-top:18px}.timing-section{margin:40px 0}.timing-card{gap:14px;padding:20px}.timing-icon{flex-shrink:0}.contact-section{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:32px}.contact-section h2{font-size:1.5rem}.contact-section p{margin-bottom:0}.submit-row{flex-direction:column-reverse;align-items:stretch;gap:20px}.submit-row>span{text-align:center}.review-card{padding:28px 22px}.review-card h2{overflow-wrap:anywhere;font-size:1.6rem}.review-card dl>div{grid-template-columns:minmax(0,1fr);gap:10px}.review-actions{flex-direction:column-reverse;align-items:stretch;gap:16px}.success-page{padding:36px 0 44px}.success-page h1{font-size:1.9rem}.elf-certificate{margin-left:7px;margin-right:7px;padding:28px 20px}.elf-certificate h2{font-size:1.5rem}.sms-note{align-items:flex-start;gap:16px}.sms-note>span{flex-shrink:0}.admin-main{padding-top:32px}.admin-login{margin-top:16px}.admin-login h1{font-size:2rem}.admin-title{flex-wrap:wrap;align-items:flex-start;margin-bottom:24px}.admin-title h1{margin-bottom:0;font-size:1.9rem}.admin-stats{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:36px}.admin-stats>div{padding:22px}.admin-stats .state-word{padding-top:0}.section-toolbar{align-items:flex-start;gap:16px}.section-toolbar h2{font-size:1.5rem}.participant-row{gap:16px}.participant-name{gap:10px}.delete-controls{gap:12px}.draw-panel{padding:28px 22px}.draw-panel h2{font-size:1.5rem}.draw-input-row{flex-direction:column}.draw-input-row input{max-width:100%}.sms-grid{grid-template-columns:minmax(0,1fr)}.sms-section .section-toolbar{flex-direction:column}.sms-card{padding:24px 20px}.admin-shell .header .season{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
