@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2")}@font-face{font-family:Mountains of Christmas;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/mountains-of-christmas-latin-700-normal-DMJf4AbR.woff2)format("woff2")}:root{--red:#a31621;--red-deep:#8c1320;--red-bright:#e5383b;--pine:#12432f;--pine-deep:#0c3022;--green:#0e5a3a;--green-bright:#5ed08a;--gold:#f2c94c;--paper:#fffaf0;--ink:#1f2a24;--ink-soft:#5a6b62;--control-edge:#6b7b72;--mint:#e8f3ec;--blush:#fdecea;--focus:var(--green);--font-body:"Fredoka Variable", ui-rounded, "Segoe UI", system-ui, sans-serif;--font-display:"Mountains of Christmas", "Fredoka Variable", Georgia, serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--pine) url(/assets/wrap-HJxOHJL5.svg);min-height:100dvh;color:var(--paper);font:400 1.125rem/1.55 var(--font-body);margin:0}.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}.page{isolation:isolate;min-height:100vh;min-height:100dvh;padding:14px 12px 48px;position:relative;overflow-x:hidden}.page:before{content:"";z-index:-1;background:linear-gradient(90deg, var(--red-deep), var(--red) 30%, #a81a24 50%, var(--red) 70%, var(--red-deep));width:3.5rem;margin-left:-1.75rem;position:fixed;top:0;bottom:0;left:50%;box-shadow:0 0 0 2px #f2c94c8c}.masthead,.main{z-index:1;max-width:36rem;margin:0 auto;position:relative}.masthead{flex-direction:column;align-items:center;display:flex}.masthead-bow{width:64px;height:auto;margin-bottom:-2px}.brand{color:var(--gold);font:700 2.1rem/1.1 var(--font-display);text-align:center;margin:0}.main{margin-top:6px}.snow{z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.flake{top:-12px;left:var(--x);width:var(--size);height:var(--size);opacity:.85;will-change:transform;animation:snowfall var(--duration) linear var(--delay) infinite;background:#fff;border-radius:50%;position:absolute}@keyframes snowfall{0%{transform:translateY(-5vh)}50%{transform:translate3d(var(--drift), 55vh, 0)}to{transform:translateY(110vh)}}.lights{margin:4px 4px 0}.lights-label{color:var(--gold);text-align:center;margin:0;font-weight:600}.lights-track{height:68px;margin:0 20px;position:relative}.wire{background:var(--pine-deep);border-radius:2px;height:3px;position:absolute;top:38px;left:0;right:0}.bulb{top:40px;left:calc(var(--p) * 100%);background:#2d5c48;border-radius:50%/38% 38% 62% 62%;width:18px;height:24px;margin-left:-9px;transition:background-color .4s,box-shadow .4s;position:absolute}.bulb:before{content:"";background:var(--pine-deep);border-radius:2px;width:10px;height:7px;position:absolute;top:-5px;left:4px}.bulb.lit.bulb-0{background:var(--red-bright);box-shadow:0 0 12px 2px #e5383b8c}.bulb.lit.bulb-1{background:var(--gold);box-shadow:0 0 12px 2px #f2c94c80}.bulb.lit.bulb-2{background:var(--green-bright);box-shadow:0 0 12px 2px #5ed08a80}.bulb.lit.bulb-3{background:#fffaf0;box-shadow:0 0 12px 2px #fffaf080}.bulb.here{animation:1.8s ease-in-out infinite twinkle}.lights-sleigh{top:0;left:calc(var(--p) * 100%);width:52px;height:auto;margin-left:-26px;transition:left .7s cubic-bezier(.45,0,.2,1);position:absolute}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.7}}.tag{background:var(--paper);color:var(--ink);transform-origin:50% 20px;--focus:var(--green);border-radius:20px;margin-top:36px;padding:44px 20px 26px;animation:.6s cubic-bezier(.2,.8,.25,1) both tag-in;position:relative;box-shadow:0 10px 28px #0000004d}.tag:before{content:"";background:var(--pine);width:16px;height:16px;box-shadow:0 0 0 3px var(--gold);border-radius:50%;margin-left:-8px;position:absolute;top:14px;left:50%}.tag:after{content:"";background:#d9b36c;border-radius:2px;width:3px;height:52px;margin-left:-1.5px;position:absolute;top:-30px;left:50%}.tag-success{box-shadow:none;color:var(--paper);--focus:var(--gold);background:0 0;padding-top:8px;animation:none}.tag-success:before,.tag-success:after{display:none}@keyframes tag-in{0%{opacity:0;transform:rotate(-4deg)translateY(-12px)}60%{opacity:1;transform:rotate(1.4deg)}to{opacity:1;transform:none}}h1{color:var(--red);font:700 2.2rem/1.1 var(--font-display);outline:none;margin:0 0 12px}h2{color:var(--green);font:700 1.5rem/1.2 var(--font-display);margin:0}.lead{margin:0 0 14px;font-size:1.1875rem}p{margin:0 0 14px}.help{color:var(--ink-soft);margin:0 0 8px;font-size:1rem}.center{text-align:center}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}.field{margin-top:20px}.label{margin-bottom:6px;font-size:1.125rem;font-weight:600;display:block}.control{border:2px solid var(--control-edge);width:100%;min-height:52px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:block}textarea.control{resize:vertical;min-height:9.5rem}.control:focus{border-color:var(--green);box-shadow:0 0 0 3px #0e5a3a40}.code-input{letter-spacing:.08em;font-size:1.375rem}.field-foot{justify-content:space-between;align-items:flex-start;gap:12px;min-height:1.6rem;margin-top:4px;display:flex}.count{color:var(--ink-soft);white-space:nowrap;margin:0 0 0 auto;font-size:.9375rem}.count.over{color:var(--red-deep);font-weight:600}.error{color:var(--red-deep);margin:0;font-size:1rem;font-weight:600}.error-icon{background:var(--red-deep);width:1.2em;height:1.2em;color:var(--paper);text-align:center;border-radius:50%;margin-right:6px;font-size:.85em;line-height:1.2em;display:inline-block}.notice{border-left:6px solid var(--green);background:var(--mint);color:var(--ink);border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:1rem}.error-notice{border-color:var(--red);background:var(--blush);font-weight:600}.hint{color:var(--ink-soft);text-align:center;margin:12px 0 0;font-size:1rem}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{display:block;position:relative}.chip input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.chip span{border:2px solid var(--green);min-width:60px;min-height:52px;color:var(--green);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.chip input:checked+span{background:var(--green);color:var(--paper);animation:.3s ease-out pop}.chip input:checked+span:before{content:"✓"}.chip input:focus+span{outline:3px solid var(--ink);outline-offset:3px}.chip input:focus:not(:focus-visible)+span{outline:none}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}.list-item{border-bottom:2px dotted var(--control-edge);margin-top:8px;padding-bottom:8px}.actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.button{text-align:center;min-height:52px;font:600 1.125rem/1.2 var(--font-body);cursor:pointer;touch-action:manipulation;border:2px solid #0000;border-radius:14px;flex:8rem;justify-content:center;align-items:center;padding:0 22px;text-decoration:none;transition:transform .1s,box-shadow .1s,background-color .15s;display:inline-flex}.button.primary{background:var(--red);color:var(--paper);box-shadow:0 4px 0 var(--red-deep);flex-grow:2}.button.primary:hover:not(:disabled){background:#b81c28}.button.primary:active:not(:disabled){box-shadow:0 1px 0 var(--red-deep);transform:translateY(3px)}.button.big{min-height:60px;font-size:1.25rem}.button.secondary{border-color:var(--green);color:var(--green);background:0 0}.button.secondary:hover{background:var(--mint)}.button.danger{border-color:var(--red);background:var(--paper);color:var(--red)}.button:disabled{color:#5a5a52;box-shadow:none;cursor:not-allowed;background:#ddd6c4}.link-button{min-height:44px;color:var(--green);font:600 1rem/1.2 var(--font-body);text-underline-offset:3px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0 6px;text-decoration:underline}.more{text-align:center;margin-top:14px}.confirm{background:var(--blush);text-align:left;border-radius:12px;padding:14px}.confirm p{margin-bottom:0;font-weight:600}.confirm .actions{margin-top:12px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[tabindex="-1"]:focus{outline:none}.review-section{border-top:2px dotted var(--control-edge);margin-top:18px;padding-top:14px}.review-head{justify-content:space-between;align-items:center;gap:12px;display:flex}dl{margin:6px 0 0}.answer{margin-top:8px}dt{color:var(--ink-soft);font-size:1rem}dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-weight:500}.skipped{color:var(--ink-soft);margin:4px 0 0;font-style:italic}.send-actions{margin-top:28px}.send-actions .primary{flex-basis:100%;order:-1}.hover-sleigh{width:96px;height:auto;margin:0 auto 8px;animation:1.8s ease-in-out infinite bob;display:block}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.success{position:relative}.success-bow{width:120px;height:auto;margin:8px auto 4px;animation:.8s cubic-bezier(.3,1.5,.5,1) .2s both bow-in;display:block}.success-title{color:var(--gold);font-size:clamp(2.6rem,13vw,4.25rem);line-height:1.02}.success .lead{color:var(--paper)}.merry{color:var(--gold);font:700 1.75rem/1.2 var(--font-display);margin:6px 0 0}.stars{justify-content:center;gap:14px;margin:18px 0 4px;display:flex}.star{width:28px;height:28px;color:var(--gold);animation:1.6s ease-in-out infinite twinkle}.star.s2{width:36px;height:36px;animation-delay:.5s}.star.s3{animation-delay:1s}.sleigh-flight{z-index:3;pointer-events:none;width:130px;animation:5s ease-in-out .3s both fly;position:fixed;top:12vh;left:0}.sleigh-flight.still{width:120px;margin:0 auto 8px;animation:none;position:static}.flying-sleigh{width:100%;height:auto;display:block}@keyframes fly{0%{transform:translate(-160px,30px)rotate(8deg)}50%{transform:translate(45vw,-20px)rotate(-3deg)}to{transform:translate(calc(100vw + 40px),20px)rotate(6deg)}}@keyframes bow-in{0%{opacity:0;transform:scale(.2)rotate(-12deg)}to{opacity:1;transform:none}}.confetti{z-index:2;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.piece{top:-20px;left:var(--x);opacity:0;width:9px;height:15px;animation:confetti var(--duration) ease-in var(--delay) 1 both;position:absolute}.piece-0{background:var(--red-bright)}.piece-1{background:var(--gold)}.piece-2{background:var(--green-bright);border-radius:50%;width:11px;height:11px}.piece-3{background:var(--paper)}@keyframes confetti{0%{opacity:1;transform:translateY(-4vh)rotate(0)}50%{transform:translate3d(var(--sway), 55vh, 0) rotate(calc(var(--spin) / 2))}to{opacity:1;transform:translate3d(0, 108vh, 0) rotate(var(--spin))}}.demo-banner{z-index:1;background:var(--paper);max-width:36rem;color:var(--ink);text-align:center;--focus:var(--green);border-radius:16px;margin:0 auto 10px;padding:6px 14px;font-size:.9375rem;font-weight:600;position:relative}.demo-banner a{color:var(--red);white-space:nowrap}.demo-offer{color:var(--ink-soft);text-align:center;margin:26px 0 8px;font-size:1rem}.demo-link{width:100%;display:flex}.success .demo-leave{border-color:var(--gold);color:var(--gold)}.success .demo-leave:hover{background:#ffffff14}.nudge{--arrow:39px;background:var(--gold);width:min(15rem,100%);color:var(--pine-deep);cursor:pointer;border-radius:14px;align-self:flex-end;align-items:center;gap:4px;margin-top:18px;padding:4px 4px 4px 14px;display:flex;position:relative;box-shadow:0 4px 12px #00000040}.nudge-text{flex:1;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.25}.nudge-arrow{width:24px;height:var(--arrow);color:var(--gold);animation:1.2s ease-in-out infinite nudge-bob;position:absolute;bottom:100%;right:12px}.nudge-close{width:44px;height:44px;color:var(--pine-deep);font:700 1.75rem/1 var(--font-body);cursor:pointer;touch-action:manipulation;--focus:var(--pine-deep);background:0 0;border:0;border-radius:50%;flex:none;padding:0}@keyframes nudge-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.music{z-index:5;border:3px solid var(--gold);background:var(--red);width:48px;height:48px;color:var(--paper);cursor:pointer;touch-action:manipulation;--focus:var(--gold);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.music-note{width:24px;height:24px}.music.ready{box-shadow:0 0 0 3px #f2c94c59}.music.on{background:var(--gold);color:var(--pine-deep)}.music.on .music-note{animation:1.6s ease-in-out infinite sway}.music:focus{outline:3px solid var(--paper);outline-offset:3px}.music:focus:not(:focus-visible){outline:none}@keyframes sway{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)translateY(-1px)}}.noscript{background:var(--paper);max-width:34rem;color:var(--ink);border-radius:16px;margin:40px auto;padding:22px 20px}@media (min-width:640px){.page{padding-top:28px}.tag{padding:48px 36px 32px}.actions{flex-wrap:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.snow,.confetti{display:none}}
