html,body{min-height:100%;}body{overflow-x:hidden}main#app{display:flex;flex-direction:column;align-items:center;gap:24px;padding:84px 18px 30px}.card{width:min(940px,100%);text-align:left;padding:clamp(22px,4vw,38px);color:#fff}.home-card{text-align:center;max-width:760px}.card h1{font-size:clamp(2rem,6vw,3rem);line-height:1.08}.card h2{font-size:clamp(1.45rem,4vw,2rem)}.card p{line-height:1.55}.intro{max-width:58ch;margin:18px auto}.status-pill,.package-status{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(242,193,78,.18);color:#ffe39a;font-size:.82rem;font-weight:700;letter-spacing:.03em}.small-note{font-size:.92rem!important;opacity:.82}.link-button{display:inline-block;text-decoration:none;margin-top:8px}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.package{padding:18px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16)}.package h3{font-size:1.2rem;margin:12px 0 6px}.package p{font-size:1rem!important}.package-price{font-weight:700;color:#ffe39a}.site-footer{display:flex;justify-content:center;gap:12px;color:#fff;padding:10px 18px 30px;font-size:.9rem}.site-footer a,.card a{color:#ffe39a}.flash{position:relative;z-index:20;width:min(940px,100%);padding:12px 16px;border-radius:12px;background:#e8f6e9;color:#174c28}.flash.error{background:#fff2e8;color:#6d3100}.admin-card{max-width:1020px}.inline-form{display:flex;justify-content:flex-end;margin:14px 0}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.admin-panel{padding:20px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.admin-panel h2{margin-top:0}.admin-panel p{font-size:1rem!important}.admin-panel form label,.letter label{display:block;margin:12px 0 7px;font-size:.8rem;letter-spacing:.08em;font-weight:700}.admin-panel select,.letter input,.letter textarea,.letter select{width:100%;min-height:44px;padding:11px 12px;border:1px solid #c7d2dd;border-radius:10px;font:inherit;color:#26364b;background:#fff}.admin-panel select{margin-top:7px}.admin-panel button{margin-top:16px}.letter{max-width:680px;margin:20px auto}.letter label{color:#26364b}.letter .cta{margin-top:14px}.status-list{padding-left:20px;line-height:1.9}.secondary{border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;padding:10px 16px;font:inherit;cursor:pointer}.cta,.secondary,a,select,input{transition:box-shadow .15s ease,transform .15s ease}.cta:hover,.link-button:hover{transform:translateY(-1px)}:focus-visible{outline:3px solid #f2c14e;outline-offset:3px}.music{font-size:.85rem;opacity:.82;cursor:not-allowed}.mode-day .sky{filter:brightness(1.25) saturate(.8)}.appearance-classic .aurora{display:none}.appearance-classic .sky{background:linear-gradient(#1d3154 0%,#497798 55%,#d9edf4 100%)}
@media(max-width:640px){main#app{padding:76px 12px 20px;gap:16px}.card{border-radius:20px}.home-card{padding:25px 18px}.card h1{margin:8px 0 12px}.card p{font-size:1rem}.santa{font-size:58px}.music{right:10px;top:10px;padding:10px 12px;font-size:.76rem}.package-grid,.admin-grid{grid-template-columns:1fr;gap:11px}.package{padding:15px}.admin-panel{padding:16px}.site-footer{flex-wrap:wrap;text-align:center}.flight{font-size:30px}.moon{font-size:62px}.house{font-size:50px}.tree{font-size:65px}.north{font-size:15px;letter-spacing:5px}.lights{font-size:19px}}
@media(max-width:360px){main#app{padding-left:9px;padding-right:9px}.card{padding:21px 14px}.music{max-width:135px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
.card a.cta{color:#271a00}.site-footer{position:relative;z-index:8;background:rgba(5,20,42,.9);border:1px solid rgba(255,255,255,.18);border-radius:12px;margin-bottom:16px}
.toy-shop,.creator-section{max-width:1040px}.shop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.shop-heading>div:first-child{min-width:0;flex:1}.shop-heading h2,.creator-section h2{margin:8px 0 10px}.shop-heading p,.creator-section>p{max-width:65ch}.shop-badge{flex:0 0 118px;display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:18px;background:rgba(242,193,78,.14);color:#ffe39a;font-size:38px;text-align:center}.shop-badge span{font-size:9px;line-height:1.3;letter-spacing:1.3px;font-weight:bold}.shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.toy-shelf{display:grid;grid-template-columns:60px minmax(0,1fr);gap:13px;padding:17px;border-radius:18px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13)}.toy-icon{display:grid;place-items:center;align-self:start;width:54px;height:54px;border-radius:16px;background:rgba(242,193,78,.15);font-size:31px}.toy-shelf-copy{min-width:0}.trend-tag,.creator-label{display:block;color:#ffe39a;font-size:.68rem;font-weight:700;letter-spacing:.09em;line-height:1.45}.toy-shelf h3,.creator-example h3{margin:6px 0;font-size:1.18rem}.toy-shelf p,.creator-example p{font-size:.94rem!important}.trend-signal{margin:10px 0;color:#cfe5f5;font-size:.86rem!important}.toy-list{padding-left:18px;margin:10px 0 0;line-height:1.65;font-size:.88rem;overflow-wrap:anywhere}.source-note{font-size:.82rem!important;opacity:.9}.source-links a{white-space:normal}.parent-note{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);font-size:.86rem!important;opacity:.86}.creator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.creator-example{min-width:0;padding:16px 0;border-top:2px solid rgba(242,193,78,.65)}.creator-example a{display:block;margin:10px 0;font-size:.86rem;overflow-wrap:anywhere}.creator-example .shelf-jump{font-weight:bold}.traffic-loop{margin-top:20px}.traffic-loop h3{font-size:1rem;margin-bottom:12px}.traffic-loop ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;list-style:none;padding:0;counter-reset:path}.traffic-loop li{counter-increment:path;min-width:0;padding:12px;border-radius:14px;background:rgba(255,255,255,.075);font-size:.85rem;line-height:1.4}.traffic-loop li::before{content:counter(path,decimal-leading-zero);display:block;margin-bottom:5px;color:#ffe39a;font-weight:bold;letter-spacing:.08em}
@media(max-width:640px){.shop-heading{align-items:center}.shop-badge{flex-basis:86px;min-height:86px;font-size:29px;border-radius:14px}.shop-badge span{font-size:7px}.shelf-grid,.creator-grid{grid-template-columns:1fr;gap:10px}.toy-shelf{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:14px}.toy-icon{width:42px;height:42px;border-radius:13px;font-size:25px}.creator-example{padding:13px 0}.traffic-loop ol{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.shop-heading{display:block}.shop-badge{display:none}.toy-shelf{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:12px}.toy-icon{width:36px;height:36px;font-size:22px}.traffic-loop ol{grid-template-columns:1fr}}
#toy-shop,#creator-playbook{scroll-margin-top:88px}
.music{position:absolute}

/* Enchanted North Pole homepage */
.enchanted-hero{position:relative;isolation:isolate;overflow:hidden;max-width:980px;min-height:420px;padding:clamp(30px,6vw,62px);border:1px solid rgba(255,255,255,.2);background:radial-gradient(ellipse at 50% 0%,rgba(80,148,218,.32),transparent 58%),linear-gradient(150deg,rgba(7,25,57,.96),rgba(12,55,83,.92) 58%,rgba(57,32,73,.94));box-shadow:0 28px 85px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.14)}
.enchanted-hero:before,.enchanted-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.enchanted-hero:before{width:380px;height:380px;right:-130px;top:-185px;background:radial-gradient(circle,rgba(255,207,112,.2),rgba(255,207,112,0) 70%)}.enchanted-hero:after{width:220px;height:220px;left:-130px;bottom:-130px;background:radial-gradient(circle,rgba(94,219,203,.18),transparent 70%)}
.hero-skyline{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.hero-star{position:absolute;color:#ffe9ad;text-shadow:0 0 18px #ffda86;animation:twinkle 3s ease-in-out infinite alternate}.star-a{top:18%;left:12%;font-size:24px}.star-b{top:36%;right:14%;font-size:30px;animation-delay:.9s}.star-c{top:68%;left:7%;font-size:18px;animation-delay:1.7s}.hero-sleigh{position:absolute;top:5%;left:-18%;font-size:clamp(28px,4vw,48px);white-space:nowrap;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25));animation:sleigh-glide 18s linear infinite}
.hero-santa{font-size:74px;display:inline-grid;place-items:center;width:112px;height:112px;margin:4px auto 14px;border:1px solid rgba(255,255,255,.28);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));box-shadow:0 12px 35px rgba(0,0,0,.2);animation:santa-float 4s ease-in-out infinite}.enchanted-hero .eyebrow{color:#ffe09a}.enchanted-hero h1{max-width:760px;margin:12px auto 16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,7.5vw,5rem);font-weight:500;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 4px 26px rgba(1,8,27,.45)}.hero-lede{max-width:600px;margin:0 auto;color:#e5f2ff;font-size:clamp(1.08rem,2.8vw,1.35rem)!important}.enchanted-hero .magic{margin:24px auto 12px;color:#ffe6ac;font-size:.9rem;letter-spacing:.05em}.enchanted-hero .intro{max-width:56ch;color:#d5e5f4}.hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 8px}.hero-actions .link-button{margin:0;padding:14px 22px}.hero-actions .secondary{display:inline-block;text-decoration:none;background:rgba(255,255,255,.1)}.enchanted-hero .small-note{max-width:64ch;margin:17px auto 0;color:#d4dfed}.hero-seal{position:absolute;right:20px;bottom:17px;color:rgba(255,229,175,.54);font-family:Georgia,serif;font-size:.62rem;letter-spacing:.13em;transform:rotate(-8deg)}
.sample-wish{max-width:980px;border:1px solid rgba(255,232,177,.28);background:linear-gradient(135deg,rgba(24,52,77,.96),rgba(31,38,69,.94));box-shadow:0 20px 60px rgba(0,0,0,.22)}.sample-wish h2{margin:6px 0}.wish-copy{max-width:68ch}.sample-toys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.wish-pick{min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;padding:17px 10px;border:1px solid rgba(255,255,255,.17);border-radius:17px;background:rgba(255,255,255,.075);color:#fff;font:inherit;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.wish-pick span{font-size:38px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25))}.wish-pick b{font-size:.88rem}.wish-pick:hover,.wish-pick:focus-visible{transform:translateY(-4px);background:rgba(255,218,139,.17);border-color:rgba(255,225,162,.62)}
.wish-sack{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;border-radius:16px;background:rgba(4,15,34,.48);border:1px dashed rgba(255,225,162,.46)}.sack-icon{font-size:36px}.wish-sack ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:7px 0 0}.wish-sack li{padding:5px 9px;border-radius:999px;background:rgba(255,228,170,.14);color:#ffe6ad;font-size:.82rem}.sack-clear{white-space:nowrap}.sample-wish>.small-note{margin-bottom:0}
.music{position:fixed;z-index:30;top:16px;right:18px;display:block;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:11px 16px;color:#fff;background:rgba(5,19,43,.82);font:600 .82rem system-ui, sans-serif;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 5px 20px rgba(0,0,0,.2)}.music:hover{background:rgba(24,61,88,.96)}.music[aria-pressed="true"]{color:#fff0bd;border-color:#ffe09a;box-shadow:0 0 24px rgba(255,217,136,.28)}
@keyframes twinkle{from{opacity:.42;transform:scale(.78)}to{opacity:1;transform:scale(1.14)}}@keyframes sleigh-glide{0%{transform:translateX(0) translateY(0)}25%{transform:translateX(38vw) translateY(-9px)}55%{transform:translateX(83vw) translateY(5px)}100%{transform:translateX(125vw) translateY(-3px)}}@keyframes santa-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@media(max-width:640px){.enchanted-hero{min-height:0;padding:32px 20px 38px}.hero-santa{width:88px;height:88px;font-size:57px;border-radius:30px}.enchanted-hero h1{font-size:clamp(2.4rem,11vw,3.5rem)}.hero-seal{display:none}.sample-toys{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wish-pick{padding:13px 8px}.wish-sack{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:13px}.sack-clear{grid-column:2;justify-self:start}.music{top:10px;right:10px;padding:9px 12px;font-size:.74rem}.hero-sleigh{animation-duration:15s}}
@media(max-width:360px){.enchanted-hero{padding:27px 15px 32px}.hero-actions{gap:9px}.hero-actions .link-button{width:100%;box-sizing:border-box}.wish-sack{grid-template-columns:auto minmax(0,1fr)}.wish-sack li{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.hero-star,.hero-sleigh,.hero-santa{animation:none!important}.hero-sleigh{left:8%;top:10%;opacity:.75}}

/* Private family letter experience */
.letter-cta{display:inline-block;margin:10px 14px;padding:10px 16px;text-decoration:none}.letter-form-card,.letter-gate,.letter-thanks{max-width:820px;background:linear-gradient(145deg,rgba(16,42,73,.97),rgba(42,37,71,.96));border:1px solid rgba(255,228,174,.28);box-shadow:0 24px 75px rgba(0,0,0,.3)}.letter-form-card h1,.letter-thanks h1,.letter-gate h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.05}.letter-intro{max-width:62ch;color:#e2eef9}.letter-privacy{display:flex;gap:12px;align-items:flex-start;margin:18px 0 22px;padding:13px 15px;border-radius:14px;background:rgba(255,232,180,.1);border:1px solid rgba(255,232,180,.24)}.letter-privacy>span{font-size:23px}.letter-privacy p{margin:0;font-size:.9rem!important}.santa-letter-form{display:grid;gap:15px}.santa-letter-form label{display:block;font-weight:700;color:#fff3d2;line-height:1.4}.santa-letter-form label span{font-weight:400;color:#cbdceb;font-size:.88rem}.santa-letter-form input,.santa-letter-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px 14px;border:1px solid #b9c6d6;border-radius:12px;background:#fff;color:#243750;font:500 1rem/1.5 system-ui,sans-serif}.santa-letter-form textarea{resize:vertical;min-height:92px}.santa-letter-form input:focus,.santa-letter-form textarea:focus{outline:3px solid rgba(255,214,118,.7);outline-offset:2px}.santa-letter-form button{justify-self:start;min-height:48px;padding:12px 22px}.letter-count-hint,.letter-small-print{margin:0;color:#cad9e8;font-size:.84rem!important}.letter-thanks{text-align:center;padding-top:42px}.thank-santa{display:grid;place-items:center;width:112px;height:112px;margin:0 auto 18px;border:1px solid rgba(255,255,255,.25);border-radius:38px;background:rgba(255,255,255,.1);font-size:70px;animation:thank-bounce 1.1s ease-in-out 3}.thank-sparkles{margin:24px;color:#ffe4a3;font-size:1.55rem;letter-spacing:.4em;animation:thank-glow 2s ease-in-out infinite alternate}.letter-thanks .link-button{display:inline-block;margin-top:12px;text-decoration:none}.letter-gate{text-align:center}.letter-gate .link-button{display:inline-block;margin-top:15px;text-decoration:none}.staff-letters{margin-top:18px}.staff-letter{padding:14px 0;border-top:1px solid rgba(255,255,255,.16)}.staff-letter-meta{display:flex;justify-content:space-between;gap:14px;align-items:center}.staff-letter-meta time{font-size:.82rem;opacity:.8}.staff-letter details{margin-top:8px}.staff-letter summary{cursor:pointer;color:#ffe39a;font-weight:700}.staff-letter-body{margin-top:11px;padding:14px;border-radius:12px;background:rgba(0,0,0,.18);font-size:.96rem;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.empty-letters{padding:12px;border:1px dashed rgba(255,255,255,.22);border-radius:12px}
@keyframes thank-bounce{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-10px) rotate(-5deg)}70%{transform:translateY(0) rotate(5deg)}}@keyframes thank-glow{from{opacity:.55;text-shadow:0 0 3px #ffe6ad}to{opacity:1;text-shadow:0 0 22px #ffe6ad}}
@media(max-width:640px){.letter-cta{margin:8px 0}.letter-form-card{padding:24px 18px}.letter-form-card h1{font-size:2.45rem}.santa-letter-form{gap:13px}.staff-letter-meta{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){.thank-santa,.thank-sparkles{animation:none!important}}
.family-start,.family-parent{max-width:900px;background:linear-gradient(145deg,rgba(16,42,73,.97),rgba(42,37,71,.96));border:1px solid rgba(255,228,174,.28)}.family-start h1,.family-parent h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,6vw,3.5rem)}.family-qr{display:flex;align-items:center;gap:18px;margin:22px 0;padding:16px;background:#fff;border-radius:17px;width:max-content;max-width:100%;box-sizing:border-box}.family-qr img{display:block;width:220px;height:220px;image-rendering:pixelated}.family-qr a{color:#142942;font-weight:700;overflow-wrap:anywhere}.family-closed{max-width:820px;border:1px solid rgba(255,228,174,.25);background:rgba(12,30,55,.94)}.family-notice,.family-panel,.family-invite{margin:18px 0;padding:18px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.family-notice h2,.family-panel h2{margin-top:0}.family-signup-form,.family-profile-form{display:grid;gap:12px;max-width:600px}.family-signup-form label,.family-profile-form label{display:grid;gap:7px;font-weight:700}.family-signup-form input,.family-profile-form input,.family-invite input{box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;border-radius:10px;border:1px solid #cad4df;background:#fff;color:#21364f;font:inherit}.family-child{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid rgba(255,255,255,.17)}.family-child p{margin:6px 0 0;font-size:.9rem!important}.child-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.child-actions form{margin:0}.family-invite{background:rgba(255,225,163,.12);border-color:rgba(255,225,163,.28)}.family-invite label{display:block;margin:10px 0 6px;font-size:.86rem;font-weight:700}.family-invite .secondary{margin-top:10px}.family-controls{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.family-controls h2{width:100%}.family-controls form{margin:0}.family-profile-form .cta{justify-self:start}.family-start .family-closed{margin-top:20px}
@media(max-width:640px){.family-qr{width:100%;flex-direction:column;align-items:flex-start}.family-qr img{width:min(220px,100%);height:auto;aspect-ratio:1}.family-child{align-items:flex-start;flex-direction:column}.child-actions{justify-content:flex-start}.family-controls{flex-direction:column}}
.dictation-hint{margin:8px 0;padding:12px 14px;border-radius:12px;background:rgba(255,225,163,.12);border:1px solid rgba(255,225,163,.25);font-size:.93rem}.santa-letter-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:90px;resize:vertical}.family-invite input{overflow-wrap:anywhere}@media(max-width:380px){.family-invite,.family-panel{padding:13px}.family-parent h1,.family-start h1{font-size:2rem}.child-actions form,.child-actions button{width:100%}.family-qr{padding:12px}}
.family-wishlist{max-width:820px}.family-wishlist h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,6vw,3.2rem)}.family-wish-items{display:grid;gap:9px;padding-left:1.5rem}.family-wish-items li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.08);overflow-wrap:anywhere}.family-wish-items form{margin:0}.family-wish-add{display:flex;align-items:flex-end;gap:12px;margin:18px 0}.family-wish-add label{display:grid;gap:7px;flex:1;min-width:0;font-weight:700}.family-wish-add input{box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;border-radius:10px;border:1px solid #cad4df;background:#fff;color:#21364f;font:inherit}.family-limit-note{padding:12px;border-radius:12px;background:rgba(255,225,163,.12)}
@media(max-width:640px){.family-wish-add{align-items:stretch;flex-direction:column}.family-wish-add button{width:100%}.family-wish-items li{align-items:flex-start}}
.letter-write-cta{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;text-align:center;white-space:normal;line-height:1.25}.letter-write-cta .letter-cta-art{width:32px;height:32px;flex:0 0 32px}.letter-write-cta span{min-width:0}

.letter-form-card{color:#20364c;background:linear-gradient(90deg,transparent 0 51px,rgba(193,80,83,.55) 52px 54px,transparent 55px),repeating-linear-gradient(to bottom,#fffdf4 0 31px,#bfd2e3 32px 33px);border-color:#f1dfb8;box-shadow:0 20px 55px rgba(0,0,0,.28)}.letter-form-card .eyebrow{color:#8f413c}.letter-form-card h1{color:#21364d}.letter-form-card .letter-intro,.letter-form-card .letter-small-print,.letter-form-card .letter-count-hint{color:#2f4b65}.letter-form-card .dictation-hint{color:#2b4660;background:rgba(255,255,255,.76);border-color:rgba(62,97,132,.22)}.letter-form-card .letter-privacy{background:rgba(255,255,255,.77);border-color:rgba(62,97,132,.24)}.letter-form-card .letter-privacy p{color:#2d4660}.letter-form-card .santa-letter-form label{color:#21364d}.letter-form-card .santa-letter-form textarea{background-color:rgba(255,255,255,.68);background-image:repeating-linear-gradient(to bottom,transparent 0 29px,rgba(95,137,177,.27) 30px 31px);border:1px solid rgba(71,103,137,.38);border-radius:7px;line-height:30px;padding:8px 12px}
.letter-form-card{padding-left:72px}@media(max-width:640px){.letter-form-card{padding-left:62px}}@media(max-width:380px){.letter-form-card{padding-left:54px}}

.retailer-links{margin:22px 0 10px;padding:18px;border:1px solid rgba(255,228,174,.25);border-radius:18px;background:linear-gradient(130deg,rgba(242,193,78,.12),rgba(255,255,255,.045))}.retailer-links h3{margin:0 0 12px;color:#ffe39a;font-family:Georgia,serif}.retailer-link-row{display:flex;flex-wrap:wrap;gap:10px}.retailer-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid rgba(255,228,174,.45);border-radius:999px;background:rgba(8,26,50,.72);color:#fff3d2;font-weight:700;text-decoration:none}.retailer-link:hover,.retailer-link:focus-visible{background:rgba(242,193,78,.22);outline:2px solid #ffe39a;outline-offset:2px}.retailer-link span{font-size:.85em;color:#ffe39a}@media(max-width:480px){.retailer-links{padding:14px}.retailer-link-row{display:grid;grid-template-columns:1fr}.retailer-link{justify-content:center}}

.wish-add-form{display:flex;align-items:flex-end;gap:12px;margin:18px 0}.wish-add-form label{display:grid;gap:7px;flex:1;min-width:0;font-weight:700}.wish-add-form input{box-sizing:border-box;width:100%;min-height:48px;padding:11px 13px;border:1px solid rgba(255,255,255,.26);border-radius:11px;background:rgba(4,15,34,.65);color:#fff;font:inherit}.wish-add-form input::placeholder{color:rgba(255,255,255,.62)}.wish-add-form button:disabled{opacity:.55;cursor:not-allowed}.wish-list-content{min-width:0}.wish-list-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.wish-list-heading>span{color:#ffe6ad;font-size:.88rem;white-space:nowrap}.wish-capacity{height:7px;overflow:hidden;margin:9px 0 11px;border-radius:99px;background:rgba(255,255,255,.15)}.wish-capacity span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ee4ca,#ffe29a);transition:width .2s ease}.wish-items{display:grid;gap:7px;list-style:none;padding:0;margin:0}.wish-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.08)}.wish-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,228,170,.18);color:#ffe6ad;font-size:.8rem}.wish-name{overflow-wrap:anywhere}.wish-remove{border:0;background:transparent;color:#ffe6ad;text-decoration:underline;font:inherit;font-size:.82rem;cursor:pointer}.wish-empty{padding:10px;color:rgba(255,255,255,.7);font-size:.9rem}.wish-status{min-height:1.25em;margin:8px 0 0;color:#ffe6ad;font-size:.85rem}.sample-wish>.small-note a{color:#ffe6ad}
@media(max-width:640px){.wish-add-form{align-items:stretch;flex-direction:column}.wish-add-form button{width:100%}.wish-list-heading{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:360px){.wish-item{grid-template-columns:24px minmax(0,1fr);gap:7px}.wish-remove{grid-column:2;justify-self:start}}
.sample-wish{scroll-margin-top:92px}

.home-letter-section{text-align:center}.home-letter-section p{max-width:640px;margin:16px auto 24px}.holiday-movies summary{cursor:pointer;font-family:Georgia,serif;font-size:1.55rem;font-weight:700;color:#ffe39a;padding:8px 0}.holiday-movies summary:focus-visible{outline:2px solid #ffe39a;outline-offset:6px;border-radius:4px}.holiday-movies details[open] summary{margin-bottom:16px}.holiday-movies .retailer-link-row{margin-top:20px}.magical-book-link{text-align:right}

.santa-editor-card{color:#20364c;background:#fffdf4}.santa-editor-card h1,.santa-editor-card .eyebrow,.santa-editor-card .small-note{color:#304b65}.santa-editor-toolbar,.santa-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.santa-editor-toolbar button{font:inherit;min-height:44px;padding:8px 13px;border:1px solid #8398ae;border-radius:8px;color:#20364c;background:#fff;cursor:pointer}.santa-editor-toolbar button[aria-pressed=true]{background:#d6e8f3}.santa-editor-toolbar button:focus-visible,.santa-letter-draft:focus-visible{outline:3px solid #2875a6;outline-offset:3px}.santa-letter-draft{box-sizing:border-box;min-height:330px;max-height:650px;overflow:auto;overflow-wrap:anywhere;margin-top:8px;padding:20px;line-height:1.8;border:1px solid #8ca4b9;border-radius:10px;background:#fff;color:#20364c;font:1.1rem/1.8 Georgia,serif}.santa-letter-draft p{margin:0 0 1em}.santa-editor-card #santa-draft-label{font-weight:700}.santa-editor-actions .secondary{color:#20364c;border-color:#8398ae}@media(max-width:480px){.santa-letter-draft{padding:12px;min-height:290px}.santa-editor-actions>*{width:100%}}

.wish-category{display:flex;flex-direction:column;gap:10px;min-width:0;text-align:center}.wish-category .wish-pick{width:100%;flex:1}.wish-retailer{display:block;padding:9px 5px;min-height:44px;box-sizing:border-box;color:#ffe6ad;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.wish-retailer:focus-visible{outline:2px solid #ffe39a;outline-offset:2px;border-radius:6px}
/* Storybook first screen and keepsakes */
.immersive-hero{max-width:1180px!important;width:100%;min-height:640px;text-align:left;padding:55px!important;border-radius:28px;background:#0a2236;box-shadow:0 22px 80px #0006}.north-pole-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.immersive-hero:before{inset:0;width:100%;height:100%;border-radius:0;background:linear-gradient(90deg,rgba(4,20,36,.96),rgba(4,20,36,.65) 36%,transparent 70%);z-index:-1}.immersive-hero:after{display:none}.hero-welcome{max-width:465px;position:relative;padding:60px 0 20px}.immersive-hero h1{font-size:clamp(3.3rem,5.4vw,4.6rem);line-height:1.02;margin:18px 0 24px;letter-spacing:-.035em;color:#fff5dc;max-width:440px}.immersive-hero .hero-lede{font-size:1.15rem!important;color:#e2eeed}.immersive-hero .hero-actions{justify-content:flex-start;gap:10px;margin:26px 0 20px}.immersive-hero .hero-actions .cta{background:#f9ce76;color:#36230b;box-shadow:0 0 25px #eaa75044}.hero-parent-link{font:13px system-ui;color:#f3dfb6!important;text-underline-offset:4px}.north-pole-postmark{position:absolute;bottom:25px;right:25px;border:1px solid #fff0b77a;border-radius:50%;padding:22px 14px;transform:rotate(-12deg);color:#fff4c8;font-size:14px;letter-spacing:2px;text-align:center;background:#07253966}.north-pole-postmark span{font-size:9px;letter-spacing:0}.warm-lights{position:absolute;left:0;right:0;top:0;height:45px;display:flex;justify-content:space-around;border-top:3px solid #325442;border-radius:0 0 50% 50%;pointer-events:none}.warm-lights span{display:block;position:relative;top:7px;width:10px;height:17px;border-radius:45%;background:#ffda86;box-shadow:0 0 12px 4px #ffce7588,0 0 35px 10px #ffc76944;animation:warm-glow 3s ease-in-out infinite alternate}.warm-lights span:before{content:"";position:absolute;width:5px;height:8px;background:#3c5541;left:3px;top:-7px}.warm-lights span:nth-child(3n){background:#ffd9b2;animation-delay:1.4s}.warm-lights span:nth-child(2n){top:19px;animation-delay:.8s}@keyframes warm-glow{from{opacity:.65;filter:brightness(.85)}to{opacity:1;filter:brightness(1.25)}}.wish-picture{display:block;width:100%;aspect-ratio:1.2;background-image:url('/assets/wish-toy-pictures.png');background-size:200% 200%;border-radius:12px}.toy-picture-0{background-position:0 0}.toy-picture-1{background-position:100% 0}.toy-picture-2{background-position:0 100%}.toy-picture-3{background-position:100% 100%}.wish-category .wish-pick{padding:8px 8px 16px}.wish-item-controls{display:flex;gap:5px}.wish-item-controls button{min-width:35px;min-height:38px;border:1px solid #ffffff38;border-radius:8px;color:#ffe6ad;background:#17324d;font:12px system-ui;cursor:pointer}.wish-item-controls button:disabled{opacity:.3}.wish-keepsake-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.wish-keepsake-actions button:disabled{opacity:.45;cursor:default}.wish-sack{align-items:start}.wish-list-content{width:100%}.wish-item{border-radius:10px!important}.sample-wish .wish-sack{display:grid;grid-template-columns:42px minmax(0,1fr)}
@media(max-width:760px){.immersive-hero{min-height:720px;padding:24px!important}.north-pole-art{height:370px;object-position:80% center}.immersive-hero:before{background:linear-gradient(0deg,#0a2236 0%,#0a2236 44%,transparent 70%)}.hero-welcome{padding-top:325px;max-width:100%}.immersive-hero h1{font-size:3rem;max-width:100%;margin:12px 0 15px}.immersive-hero .hero-lede{font-size:1rem!important}.north-pole-postmark{display:none}.immersive-hero .eyebrow{font-size:10px;letter-spacing:2px}.immersive-hero .hero-actions{margin:20px 0 14px}.immersive-hero .hero-actions .link-button{padding:12px 16px}.wish-item{grid-template-columns:24px minmax(0,1fr)!important}.wish-item-controls{grid-column:2}.wish-keepsake-actions button{width:100%}}
@media print{body{background:white!important;color:#203b34!important}.sky,.music,main#app>*{display:none!important}main#app{display:block!important;padding:0!important}.sample-wish{display:block!important;max-width:none!important;width:100%!important;color:#203b34!important;background:#fffdf5!important;border:8px double #a6363c!important;box-shadow:none!important;break-inside:avoid}.sample-wish .sample-toys,.sample-wish .wish-add-form,.sample-wish>.small-note,.sample-wish .wish-copy>p,.sample-wish .wish-item-controls,.sample-wish .wish-keepsake-actions,.sample-wish .wish-status,.sample-wish .wish-capacity{display:none!important}.sample-wish .wish-sack{color:#203b34!important;background:none!important;border:0!important}.sample-wish .wish-name,.sample-wish .wish-list-heading>span{color:#203b34!important}.sample-wish .wish-item{background:none!important;border-bottom:1px dashed #a9987e!important;padding:14px!important}.sample-wish .wish-list-heading{display:none!important}.sample-wish h2{color:#a6363c!important}}
.letter-personalize{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.letter-personalize label{display:grid;gap:8px;font-size:14px;font-weight:bold}.letter-personalize input,.letter-personalize select{width:100%;padding:12px;border:1px solid #8aa3b7;border-radius:8px;background:white;color:#234138;font:inherit}.letter-keepsake-preview{margin:20px 0;padding:30px;border:10px double #b43b40;background:#fffdf4;box-shadow:0 8px 25px #38241218}.letter-keepsake-preview h2{text-align:center;color:#a42d37;margin:10px 0 20px}.letter-ornament{text-align:center;color:#b28b3d;font-size:26px}.letter-keepsake-preview[data-theme=stars]{background:#f2f5ff;border-color:#c6a45c}.letter-keepsake-preview[data-theme=stars] h2{color:#263d66}.letter-keepsake-preview[data-theme=forest]{background:#f1f6eb;border-color:#3e6c52}.letter-keepsake-preview[data-theme=forest] h2{color:#315c44}.letter-signature{font-style:italic;color:#405c4c}.letter-keepsake-preview .santa-letter-draft{min-height:270px;background:#ffffff88}.family-value-price{font-size:2.5rem!important;color:#ffe19c;margin:15px 0}.family-value-price span{font-size:1.1rem}.family-value{border-color:#f1c56d66;background:linear-gradient(130deg,#16382f,#152d42)}
@media(max-width:600px){.letter-personalize{grid-template-columns:1fr}.letter-keepsake-preview{padding:13px;border-width:7px}.santa-editor-card{padding:20px!important}.santa-editor-actions button{width:100%}}
@media print{main#app>.santa-editor-card{display:block!important;color:#264037!important;background:white!important;box-shadow:none!important;border:0!important;padding:0!important;max-width:none!important;width:100%!important}.santa-editor-card>*:not(.letter-keepsake-preview){display:none!important}.letter-keepsake-preview{box-shadow:none!important;margin:0!important;min-height:90vh}.letter-keepsake-preview .santa-editor-toolbar,.letter-keepsake-preview #santa-draft-count,.letter-keepsake-preview #santa-draft-label{display:none!important}.letter-keepsake-preview .santa-letter-draft{border:0!important;max-height:none!important;overflow:visible!important;padding:10px 0!important}}
.real-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:25px}.real-product{overflow:hidden;border-radius:18px;background:#fffaf0;color:#273e39;display:flex;flex-direction:column}.product-photo{display:block;background:white;aspect-ratio:1}.product-photo img{width:100%;height:100%;object-fit:contain;padding:12px}.product-info{padding:18px;display:flex;flex-direction:column;flex:1}.product-category{color:#997143;font:700 10px system-ui;letter-spacing:1.2px;text-transform:uppercase}.real-product h3{font-size:1.08rem;margin:10px 0;line-height:1.35}.real-product .product-age{font:12px system-ui;margin:0;color:#5d7069}.real-product .product-price{font-size:1.6rem!important;color:#a82e39;margin:12px 0}.product-price span{display:block;font:11px system-ui;color:#67746c;margin-top:4px}.real-product .product-description{font-size:.86rem!important;line-height:1.5;flex:1}.real-product .product-add{border:0;background:#234f44;color:white;display:block;padding:11px 6px;font:600 12px system-ui;border-radius:8px;min-height:44px;width:100%}.real-product .product-shop{display:block;margin-top:12px;font:12px system-ui;color:#375a4e;text-align:center;text-underline-offset:3px}.toy-shop{max-width:1180px}@media(max-width:950px){.real-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.product-info{padding:12px}.real-product-grid{gap:10px}.real-product h3{font-size:.94rem}}
@media print{main#app>.sample-wish{display:block!important}}

#send-wish-list-form{display:none}.wish-keepsake-actions{align-items:center}.wish-keepsake-actions>button{margin:0;min-height:46px;font:600 14px system-ui;box-sizing:border-box}

.home-parent-qr{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px!important;border-radius:18px!important}.home-parent-qr img{display:block;width:160px;height:160px;max-width:100%;padding:10px;background:#fff;border-radius:10px}.home-parent-qr span{text-align:center}

#ideas .letter-write-cta{position:relative;overflow:hidden;flex-direction:column;gap:16px;min-height:260px;padding:28px 20px;border:3px solid #ffe5a1;border-radius:26px;background:linear-gradient(145deg,#ffe8a8,#f9c55e);color:#673018;box-shadow:0 8px 0 #bc8137,0 16px 35px #0003;text-decoration:none}#ideas .letter-write-cta .letter-cta-art{display:grid;place-items:center;width:86px;height:86px;font-size:64px;flex-basis:auto;filter:drop-shadow(0 5px 2px #b77a3c33);transform:rotate(-8deg)}.letter-invitation-copy{display:flex;flex-direction:column;gap:10px;z-index:1}.letter-invitation-copy strong{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;line-height:1.15;max-width:310px}.letter-invitation-copy small{font:600 .95rem/1.4 'Trebuchet MS',system-ui,sans-serif;color:#7a4624}.letter-invitation-stars{position:absolute;right:20px;top:22px;color:#bb5f31;font-size:32px}#ideas .letter-write-cta:hover{transform:translateY(-3px);box-shadow:0 11px 0 #bc8137,0 18px 38px #0004}#ideas .letter-write-cta:focus-visible{outline:4px solid white;outline-offset:5px}@media(max-width:640px){#ideas .letter-write-cta{min-height:250px;padding:25px 18px}.letter-invitation-copy strong{font-size:1.9rem}}

.music-credit{position:fixed;z-index:30;top:59px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:min(430px,calc(100vw - 36px));padding:5px 9px;border-radius:10px;background:rgba(5,19,43,.86);color:#fff;font:11px/1.35 system-ui,sans-serif;text-align:right}.music-credit a{color:#ffe39a}.music-attribution{opacity:.9}@media(max-width:640px){.music-credit{top:51px;right:10px;max-width:calc(100vw - 20px);font-size:10px}.music-attribution{max-height:28px;overflow:auto}}

.daily-new-items{display:inline-block;margin:0 0 8px;padding:6px 11px;border:1px solid rgba(255,224,154,.45);border-radius:999px;color:#ffe39a;font-size:.86rem;font-weight:700}.wish-idea-description{display:block;margin-top:4px;font-size:.82rem;line-height:1.35;opacity:.8}

.daily-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-gift-image{aspect-ratio:1;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,#fff8db,#d6e9e4 74%);font-size:clamp(3.6rem,7vw,5.7rem)}.daily-gift-card .product-info{flex:1}.daily-gift-card .product-description{min-height:3.2em}.daily-new-items{display:inline-block;margin:0 0 8px;padding:6px 11px;border:1px solid rgba(255,224,154,.45);border-radius:999px;color:#ffe39a;font-size:.86rem;font-weight:700}@media(max-width:950px){.daily-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.daily-product-grid{grid-template-columns:1fr}}

.parent-signup-options{display:grid;gap:10px;align-content:start}.parent-signup-options .home-parent-qr{margin-top:8px}.traditional-signup{max-width:700px}.traditional-signup-form{display:grid;gap:16px;margin-top:22px}.traditional-signup-form>label{display:grid;gap:7px;font-weight:700}.traditional-signup-form input{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid #b8c8c1;border-radius:10px;background:#fff;color:#21362f;font:inherit}.secure-payment-panel{padding:20px;border:1px solid rgba(255,224,154,.4);border-radius:16px;background:rgba(4,20,38,.4)}.secure-payment-panel h2{margin-top:0}.secure-card-placeholder{padding:15px;border:1px dashed rgba(255,255,255,.55);border-radius:10px;text-align:center}.secure-payment-panel button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:640px){.parent-signup-options{width:100%}.parent-signup-options>*{width:100%;box-sizing:border-box}.traditional-signup{padding:22px 16px}}

.signup-plan-options{display:block;margin:20px 0;padding:0;border:0;line-height:1.9}.signup-plan-options legend{padding:0 0 5px;font-weight:700}.signup-plan-options label{display:inline;background:transparent;padding:0;border-radius:0;cursor:pointer}.signup-plan-options input{display:inline-block;vertical-align:middle;width:16px;min-height:16px;margin:0 5px 0 0;accent-color:#ffe09a}.signup-plan-or{padding:0 3px}

/* Sitewide North Pole polish: vector lights, soft entrances, and gentle motion. */
.holiday-garland{position:fixed;inset:0 0 auto;height:76px;z-index:5;pointer-events:none;opacity:.94;filter:drop-shadow(0 4px 8px rgba(255,202,91,.26))}.holiday-garland svg{display:block;width:100%;height:100%;overflow:visible}.garland-wire{fill:none;stroke:#214c39;stroke-width:8;stroke-linecap:round}.garland-drop{fill:none;stroke:#315a43;stroke-width:3;stroke-linecap:round}.garland-bulb{stroke:rgba(255,255,255,.72);stroke-width:1.5;animation:holiday-bulb-glow 2.4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.bulb-red{fill:#f36b65;animation-delay:-.5s}.bulb-gold{fill:#ffd76b;animation-delay:-1.6s}.bulb-green{fill:#6fe0a7;animation-delay:-.9s}.bulb-blue{fill:#86caff;animation-delay:-2s}.garland-star{fill:#ffe39a;opacity:.8;animation:holiday-star-twinkle 3.1s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.garland-star:last-child{animation-delay:-1.2s}
@keyframes holiday-bulb-glow{from{filter:brightness(.8);opacity:.72}to{filter:brightness(1.5);opacity:1}}
@keyframes holiday-star-twinkle{from{opacity:.38;transform:scale(.85)}to{opacity:1;transform:scale(1.12)}}
@keyframes holiday-card-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
main#app>.card,main#app>.flash{animation:holiday-card-arrive .62s cubic-bezier(.2,.7,.25,1) both}main#app>.card:nth-child(2){animation-delay:.08s}main#app>.card:nth-child(3){animation-delay:.15s}main#app>.card:nth-child(4){animation-delay:.22s}
.real-product,.package,.daily-gift-card{transition:transform .22s ease,box-shadow .22s ease}.real-product:hover,.package:hover,.daily-gift-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.22)}.music[aria-pressed="true"]{animation:music-glow 2.3s ease-in-out infinite alternate}@keyframes music-glow{from{box-shadow:0 0 10px rgba(255,217,136,.25)}to{box-shadow:0 0 25px rgba(255,217,136,.75)}}
@media(max-width:640px){.holiday-garland{height:53px;opacity:.8}.garland-bulb{r:7}.garland-wire{stroke-width:10}.music-credit{top:51px}}

.music-credit{top:12px;right:18px}.music-credit #music-now-playing{font-weight:700}@media(max-width:640px){.music-credit{top:8px;right:10px}}

.holiday-movie-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.holiday-movie-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.16)}.holiday-movie-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.holiday-movie-copy{padding:13px 15px 16px}.holiday-movie-copy h3{margin:0 0 6px;color:#ffe39a;font-size:1.04rem;line-height:1.25}.holiday-movie-copy p{margin:0;font-size:.91rem;line-height:1.45}.holiday-movies details>summary{cursor:pointer;min-height:48px;display:flex;align-items:center}.holiday-movies details[open]>summary{margin-bottom:12px}@media(max-width:950px){.holiday-movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.holiday-movie-copy{padding:11px 12px 14px}}@media(max-width:360px){.holiday-movie-grid{grid-template-columns:1fr}.holiday-movie-copy h3{font-size:1rem}}

.movie-watch-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:12px;padding:9px 13px;border:1px solid rgba(255,227,154,.5);border-radius:999px;background:rgba(242,193,78,.14);color:#ffe39a!important;font:700 .88rem/1.2 system-ui,sans-serif;text-decoration:none}.movie-watch-link:hover{background:rgba(242,193,78,.25);text-decoration:underline;text-underline-offset:3px}.movie-watch-link:focus-visible{outline:3px solid #fff;outline-offset:3px}.movie-availability-note{margin:6px 0 18px;font-size:.82rem!important;opacity:.82}

/* Festive touches across every route, kept clear of page content. */
body::before{content:"";position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.38;background-image:radial-gradient(2px 2px at 22px 30px,rgba(255,255,255,.9) 98%,transparent),radial-gradient(2px 2px at 76px 112px,rgba(255,232,181,.85) 98%,transparent);background-size:160px 190px,230px 270px;animation:sitewide-holiday-snow 17s linear infinite}
main#app>.card:not(.flash){position:relative;border-color:rgba(255,228,174,.34);box-shadow:0 25px 80px rgba(0,0,0,.4),0 0 28px rgba(242,193,78,.08)}
main#app>.card:not(.flash)::before{content:"";position:absolute;z-index:2;top:7px;left:20px;right:20px;height:8px;border-radius:10px;pointer-events:none;background:radial-gradient(circle at 8px 4px,#ffd66e 0 3px,transparent 4px) 0 0/38px 8px repeat-x,radial-gradient(circle at 27px 4px,#fa7970 0 3px,transparent 4px) 0 0/38px 8px repeat-x,linear-gradient(#47704a,#47704a) center/100% 1px no-repeat;filter:drop-shadow(0 0 4px rgba(255,211,112,.35))}
@keyframes sitewide-holiday-snow{to{background-position:0 190px,76px 270px}}

.signup-festive-banner{display:flex;align-items:center;justify-content:center;gap:clamp(18px,6vw,44px);margin:0 0 18px;padding:13px 18px;border:1px solid rgba(255,226,160,.38);border-radius:16px;background:radial-gradient(circle at 50% 0,rgba(255,224,149,.22),transparent 68%),linear-gradient(120deg,rgba(157,46,57,.38),rgba(24,95,67,.42));box-shadow:0 8px 24px rgba(0,0,0,.16)}.signup-festive-banner span{display:inline-grid;place-items:center;min-width:42px;min-height:42px;font-size:30px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.22));animation:signup-festive-float 2.8s ease-in-out infinite alternate}.signup-festive-banner span:nth-child(2){animation-delay:-1.4s}.signup-festive-banner span:nth-child(3){animation-delay:-.7s}.traditional-signup{position:relative;background:radial-gradient(ellipse at 50% 0,rgba(255,224,149,.12),transparent 45%),linear-gradient(145deg,rgba(16,42,73,.98),rgba(42,37,71,.98));border:1px solid rgba(255,228,174,.34);box-shadow:0 20px 52px rgba(0,0,0,.25)}.traditional-signup::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#b6313d 0 25%,#f2c14e 25% 50%,#24815a 50% 75%,#b6313d 75%);border-radius:inherit}.family-start .family-qr{border:3px solid #f2c14e;box-shadow:0 8px 24px rgba(6,22,39,.18)}@keyframes signup-festive-float{from{transform:translateY(2px) rotate(-3deg)}to{transform:translateY(-4px) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.signup-festive-banner span{animation:none}}

/* Plan choices are selectable tabs directly below secure card entry. */
.traditional-signup .secure-payment-panel .signup-plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;padding:0;border:0;line-height:1.35}.traditional-signup .signup-plan-options legend{grid-column:1/-1;padding:0 0 3px;font-weight:700;white-space:nowrap}.traditional-signup .signup-plan-options label{display:block;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:12px;cursor:pointer}.traditional-signup .signup-plan-options input{position:absolute;width:1px;height:1px;min-height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}.traditional-signup .signup-plan-options label>span{display:flex;min-height:92px;flex-direction:column;justify-content:center;gap:7px;padding:13px;border:1px solid rgba(255,228,174,.3);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.traditional-signup .signup-plan-options label>span strong{font-size:.98rem;line-height:1.25}.traditional-signup .signup-plan-options label>span small{font-size:.82rem;line-height:1.4;opacity:.88}.traditional-signup .signup-plan-options input:checked+span{background:linear-gradient(145deg,#ffe8a8,#f2c14e);border-color:#fff0b6;color:#342409;box-shadow:0 5px 16px rgba(242,193,78,.2)}.traditional-signup .signup-plan-options input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}@media(max-width:360px){.traditional-signup .secure-payment-panel .signup-plan-options{grid-template-columns:1fr}.traditional-signup .signup-plan-options label>span{min-height:70px}}@media(prefers-reduced-motion:reduce){.traditional-signup .signup-plan-options label>span{transition:none}}
/* Center the North Pole Workshop title and illustration block. */
#ideas>.eyebrow,#ideas>h2{text-align:center}#ideas .letter-cta-art{margin-inline:auto}
#ideas .letter-write-cta{grid-column:1/-1;justify-self:center;width:min(360px,100%)}
#ideas{text-align:center}

/* Tablet portrait and compact laptop refinements */
@media (min-width: 761px) and (max-width: 900px) {
  .immersive-hero {
    min-height: 600px;
    padding: 32px !important;
  }
  .north-pole-art {
    object-position: 76% center;
  }
  .immersive-hero:before {
    background: linear-gradient(90deg, rgba(4,20,36,.98), rgba(4,20,36,.78) 46%, rgba(4,20,36,.18) 80%);
  }
  .hero-welcome {
    max-width: min(50%, 390px);
    padding: 52px 0 20px;
  }
  .immersive-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 5.2vw, 3.25rem);
    overflow-wrap: anywhere;
  }
  .immersive-hero .hero-lede {
    max-width: 100%;
    font-size: 1.05rem !important;
  }
  .immersive-hero .hero-actions {
    justify-content: flex-start;
    gap: 9px;
  }
  .immersive-hero .hero-actions .link-button {
    padding: 12px 15px;
  }
}

/* Keep signup choices easy to read and tap on common phone widths */
@media (max-width: 440px) {
  .traditional-signup .secure-payment-panel .signup-plan-options {
    grid-template-columns: 1fr;
  }
  .traditional-signup .signup-plan-options label > span {
    min-height: 68px;
  }
}


.signup-subtabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px auto 24px}.signup-subtabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid rgba(255,228,174,.4);border-radius:999px;background:rgba(255,255,255,.07);color:#fff3d2;text-decoration:none;font-weight:700}.signup-subtabs a[aria-current=page]{background:linear-gradient(145deg,#ffe8a8,#f2c14e);border-color:#fff0b6;color:#342409}.signup-subtabs a:focus-visible{outline:3px solid #fff;outline-offset:3px}.parent-terms{text-align:left}.parent-terms h1{text-align:center}.parent-terms h2{margin-top:24px;color:#ffe7af}.parent-terms li{margin:8px 0;line-height:1.55}.parent-terms-status{padding:14px 16px;border:1px solid rgba(255,204,125,.5);border-radius:12px;background:rgba(140,63,15,.24);color:#fff1d6;font-weight:700}


.parent-consent-preview{margin:18px 0;padding:18px;border:1px solid rgba(255,224,154,.4);border-radius:16px;background:rgba(4,20,38,.32);text-align:left}.parent-consent-preview h2{margin:0 0 10px}.parent-consent-preview label{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px;border-radius:10px;background:rgba(255,255,255,.06);font-size:.94rem;line-height:1.5}.parent-consent-preview input[type=checkbox]{flex:0 0 auto;width:20px;min-height:20px;margin:2px 0 0;accent-color:#f2c14e}.parent-consent-preview input:disabled{opacity:.75}.parent-terms p,.parent-terms li{line-height:1.6}.parent-terms h2{margin-top:25px}

/* Make the existing family setup link easy to find and tap. */
.immersive-hero .hero-parent-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:52px;margin-top:18px;padding:14px 22px;border:2px solid #fff0bd;border-radius:14px;background:#f9ce76;color:#36230b!important;font:700 clamp(1rem,2.5vw,1.15rem)/1.35 system-ui,sans-serif;text-align:center;text-decoration:none;box-shadow:0 5px 18px #0005}
.immersive-hero .hero-parent-link:hover{background:#ffe3a3;box-shadow:0 7px 22px #0006}
.immersive-hero .hero-parent-link:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Improve readability of the existing hero introduction. */
.immersive-hero .hero-lede{font-size:clamp(1.25rem,2.4vw,1.5rem)!important;font-weight:650;line-height:1.55;color:#fff8e8;text-shadow:0 2px 6px #000;max-width:34ch}

.santa-personal-reply{margin-top:28px;padding:clamp(20px,4vw,36px);border:2px solid #e2bd6d;border-radius:24px;background:linear-gradient(145deg,#102c3b,#1c4944);text-align:center;overflow:hidden}.santa-personal-reply[hidden]{display:none}.santa-reply-scene{position:relative;width:min(320px,100%);margin:0 auto;border-radius:50%;background:radial-gradient(circle,#f4dc9e33,transparent 70%)}.talking-santa{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 12px #0003)}.santa-personal-reply h2{color:#ffe6a4;margin:12px 0}.santa-reply-message{max-width:48ch;margin:14px auto 22px;color:#fff8e8;font-size:clamp(1.1rem,3vw,1.3rem)!important;line-height:1.65;overflow-wrap:anywhere}.santa-reply-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.santa-reply-controls button{min-height:48px;max-width:100%;white-space:normal}.santa-wave{transform-box:fill-box;transform-origin:30% 90%;animation:santa-hand-wave 2.8s ease-in-out 2}.santa-eyes{transform-box:fill-box;transform-origin:center;animation:santa-blink 5s infinite}.santa-mouth{transform-box:fill-box;transform-origin:center}.is-speaking .santa-mouth{animation:santa-talk-mouth .24s ease-in-out infinite alternate}.santa-reply-star{position:absolute;color:#ffe6a4;font-size:28px;animation:santa-star-glow 2s ease-in-out infinite alternate}.star-one{left:6%;top:18%}.star-two{right:5%;top:47%;animation-delay:1s}@keyframes santa-hand-wave{0%,45%,100%{transform:rotate(0)}15%,35%{transform:rotate(12deg)}25%{transform:rotate(-9deg)}}@keyframes santa-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes santa-talk-mouth{from{transform:scaleY(.45)}to{transform:scaleY(1.7)}}@keyframes santa-star-glow{from{opacity:.5;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.santa-personal-reply *{animation:none!important}}

.signup-contact-tabs{display:flex;flex-wrap:wrap;gap:8px}.signup-contact-tabs [role=tab]{flex:1 1 180px;min-height:48px;padding:12px 16px;border:1px solid rgba(255,228,174,.5);border-radius:12px;background:rgba(255,255,255,.08);color:#fff3d2;font:inherit;font-weight:700;cursor:pointer}.signup-contact-tabs [aria-selected=true]{background:linear-gradient(145deg,#ffe8a8,#f2c14e);color:#342409;border-color:#fff0b6}.signup-contact-tabs [role=tab]:focus-visible{outline:3px solid #fff;outline-offset:3px}.signup-contact-panel{display:grid;gap:16px;text-align:left}.signup-contact-panel[hidden]{display:none}.signup-contact-panel>label{display:grid;gap:7px;font-weight:700}.signup-contact-panel input[type=checkbox]{width:20px;min-height:20px;accent-color:#f2c14e}.signup-contact-panel>label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px}

.signup-list-entry{min-width:0;display:grid;gap:12px;margin:8px 0;padding:18px;border:1px solid rgba(255,224,154,.4);border-radius:16px;text-align:left}.signup-list-entry legend{padding:0 8px;font-weight:700;color:#ffe7af}.list-input-options{display:flex;flex-wrap:wrap;gap:8px}.list-input-options button{min-height:44px}.list-input-options [aria-pressed=true]{background:#ffe3a1;color:#342409}.signup-list-entry textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:150px;padding:12px 14px;border:1px solid #b8c8c1;border-radius:10px;background:#fff;color:#21362f;font:inherit;resize:none}.signup-list-entry [hidden]{display:none}

.site-navigation{width:min(1180px,100%);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #ffe4ab44;border-radius:16px;background:#081c34ed;position:relative;z-index:10}.site-navigation a{font:600 14px/1.3 system-ui;color:#fff0cf;padding:10px 14px;text-decoration:none;border-radius:10px;min-height:40px;display:flex;align-items:center}.site-navigation a:hover,.site-navigation a[aria-current=page]{background:#ffe3a222;color:#ffe3a2}.site-navigation a:focus-visible{outline:3px solid #ffd477;outline-offset:2px}.admin-setup-ready{padding:12px;border-radius:10px;background:#fff1c5;color:#4b371b;font:600 15px/1.5 system-ui}.admin-card label[hidden]{display:none!important}@media(max-width:600px){.site-navigation{gap:4px;padding:8px}.site-navigation a{font-size:12px;padding:9px 10px}}
