.santa-portrait{-o-object-fit:contain;object-fit:contain;mix-blend-mode:lighten;border-radius:50%;width:300px;height:300px}.present-lid{border-radius:inherit;background:linear-gradient(130deg,hsl(var(--gift)),hsl(var(--gift)/.8));transform-origin:top;transform-style:preserve-3d;isolation:isolate;backface-visibility:hidden;justify-content:center;align-items:center;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s;display:flex;position:absolute;inset:0}.present-lid .present-number{margin-top:10px}.present.is-open{background:hsl(var(--gift)/.16);border:1px solid hsl(var(--gift)/.45);box-shadow:inset 0 3px 12px hsl(var(--night)/.3)}.present.is-open .present-lid{opacity:0;pointer-events:none;transform:rotateX(115deg)}.opened-icon{filter:drop-shadow(0 3px 5px hsl(var(--night)/.3));font-size:38px;display:block}.opened-number{opacity:.55;font-size:11px;font-weight:800;position:absolute;top:7px;left:9px}.present.is-today{border-color:hsl(var(--christmas-gold));box-shadow:0 0 0 2px hsl(var(--christmas-gold)/.18),0 0 25px hsl(var(--christmas-gold)/.35);animation:2s ease-in-out infinite alternate gold-glow}.today-label{background:hsl(var(--christmas-gold));color:hsl(var(--ink));letter-spacing:.1em;z-index:2;border-radius:99px;padding:3px 9px;font-size:8px;font-weight:900;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.is-shaking{animation:.5s door-shake!important}.setup-banner,.preview-banner{border:1px solid hsl(var(--christmas-gold)/.18);background:hsl(var(--christmas-gold)/.045);color:hsl(var(--snow)/.7);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;padding:13px 16px;font-size:11px;display:flex}.setup-banner>span{align-items:center;gap:9px;display:flex}.setup-banner svg,.preview-banner svg{color:hsl(var(--christmas-gold));flex-shrink:0}.setup-banner a,.preview-banner a{color:hsl(var(--christmas-gold));white-space:nowrap;font-weight:800}.preview-banner{justify-content:center}.preview-banner a{margin-left:auto;font-size:10px;text-decoration:underline}.calendar-status{color:hsl(var(--snow)/.6);justify-content:center;align-items:center;gap:8px;margin:0 0 20px;font-size:12px;display:flex}.parents-page{z-index:2;max-width:1000px;min-height:75vh;margin:0 auto;padding:35px 28px 65px;position:relative}.parents-heading{text-align:center;padding:15px 0 35px}.parents-heading h1{font-family:var(--font-heading);color:hsl(var(--christmas-gold));font-size:40px}.parents-heading p:last-child{color:hsl(var(--snow)/.6);margin-top:10px;font-size:13px}.parents-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:24px;display:grid}.parent-card{background:hsl(var(--night-panel)/.88);border:1px solid hsl(var(--snow)/.1);border-radius:18px;padding:27px}.parent-gate{text-align:center;max-width:420px;margin:42px auto 80px;padding:34px}.gate-icon{background:hsl(var(--christmas-gold)/.1);color:hsl(var(--christmas-gold));border-radius:50%;margin-bottom:24px;padding:16px;display:inline-flex}.section-label{align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.section-label svg{color:hsl(var(--christmas-gold))}.parent-label{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.parent-label>span{color:hsl(var(--christmas-gold));font-weight:500}.parent-input{border:1px solid hsl(var(--snow)/.17);background:hsl(var(--night)/.65);width:100%;color:hsl(var(--snow));border-radius:9px;outline:none;padding:12px 13px;font-size:14px;transition:border .2s}.parent-input:focus{border-color:hsl(var(--christmas-gold));box-shadow:0 0 0 2px hsl(var(--christmas-gold)/.08)}.parent-input::placeholder{color:hsl(var(--snow)/.3)}.parent-input option{background:hsl(var(--night));color:hsl(var(--snow))}.field-help{color:hsl(var(--snow)/.48);margin-top:7px;font-size:11px;line-height:1.7}.gold-button,.outline-button{border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:12px;font-weight:800;transition:filter .2s;display:inline-flex}.gold-button{color:hsl(var(--ink));background:hsl(var(--christmas-gold))}.gold-button:hover{filter:brightness(1.06)}.outline-button{border:1px solid hsl(var(--snow)/.2);color:hsl(var(--snow));background:hsl(var(--snow)/.025)}.outline-button:hover{background:hsl(var(--snow)/.07)}button:disabled{opacity:.5;cursor:not-allowed}fieldset:disabled{opacity:.65}.behaviour-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.behaviour-options>label{border:1px solid hsl(var(--snow)/.12);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:11px 9px;font-size:12px;display:flex}.behaviour-options>label.selected{border-color:hsl(var(--christmas-gold)/.6);background:hsl(var(--christmas-gold)/.05)}.behaviour-options input{accent-color:hsl(var(--christmas-gold));width:13px;height:13px}.behaviour-options small{color:hsl(var(--snow)/.45);margin-top:3px;font-size:8px;display:block}.preview-toggle{border-top:1px solid hsl(var(--snow)/.09);justify-content:space-between;align-items:center;gap:10px;padding-top:20px;display:flex}.preview-toggle strong{font-size:12px}.preview-toggle small{color:hsl(var(--snow)/.5);margin-top:5px;font-size:10px;display:block}.preview-toggle input{width:32px;height:20px;accent-color:hsl(var(--christmas-gold));cursor:pointer}.form-error{color:#f5a8a8;overflow-wrap:anywhere;margin-top:10px;font-size:12px;line-height:1.6}.generation-progress{border:1px solid hsl(var(--christmas-gold)/.2);background:hsl(var(--christmas-gold)/.04);border-radius:10px;margin-top:20px;padding:15px}.generation-progress>span{color:hsl(var(--christmas-gold));align-items:center;gap:8px;font-size:12px;display:flex}.generation-progress progress{width:100%;height:6px;accent-color:hsl(var(--christmas-gold));margin-top:10px}.generation-progress small{color:hsl(var(--snow)/.55);font-size:10px}.saved-success{color:#a1e2c3;flex-wrap:wrap;align-items:center;gap:7px;margin-top:17px;font-size:11px;display:flex}.custom-media summary{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:800;list-style:none;display:flex}.custom-media summary>svg{color:hsl(var(--christmas-gold))}.custom-file{background:hsl(var(--snow)/.04);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px;font-size:11px;display:flex}.custom-file button{color:hsl(var(--christmas-gold));padding:5px}.letter-modal{background:hsl(var(--night));color:hsl(var(--snow));border:1px solid hsl(var(--snow)/.15);scrollbar-width:thin;border-radius:18px;gap:0;width:calc(100% - 24px);max-width:620px;max-height:92dvh;padding:0;display:block;overflow:auto}.letter-modal>button:last-child{color:hsl(var(--snow));top:17px;right:14px}.letter-topline{color:hsl(var(--christmas-gold));letter-spacing:.15em;justify-content:space-between;padding:20px 46px 18px 20px;font-size:9px;font-weight:800;display:flex}.player-stage{aspect-ratio:16/9;background:hsl(var(--night));position:relative}.sleigh-scene,.sleigh-scene svg{width:100%;height:100%}.sleigh-scene{aspect-ratio:16/9;overflow:hidden}.custom-video{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.flying-sleigh{transform:translate(110px,10px)}.playing .flying-sleigh{animation:14s linear infinite sleigh-flight}.santa-wave{transform-box:fill-box;transform-origin:0 100%}.playing .santa-wave{animation:1s ease-in-out infinite alternate santa-wave}.chimney-present{opacity:0}.playing .chimney-present{animation:14s linear infinite present-drop}.scene-play{background:hsl(var(--paper)/.93);width:66px;height:66px;color:hsl(var(--ink));box-shadow:0 0 0 10px hsl(var(--paper)/.13),0 3px 20px hsl(var(--night)/.4);border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-play:not(.is-playing) svg{margin-left:4px}.scene-play.is-playing{opacity:.1}.player-stage:hover .scene-play.is-playing,.scene-play.is-playing:focus-visible{opacity:.9}.player-status{background:hsl(var(--night)/.45);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex;position:absolute;inset:0}.playback-caption{color:hsl(var(--snow)/.6);justify-content:center;align-items:center;gap:9px;margin:13px 8px 0;font-size:10px;display:flex}.playback-caption span{color:hsl(var(--christmas-gold))}.hear-again{color:hsl(var(--christmas-gold));border:1px solid hsl(var(--christmas-gold)/.2);border-radius:99px;align-items:center;gap:7px;margin:12px auto 17px;padding:7px 12px;font-size:11px;font-weight:800;display:flex}.recording-notice{text-align:center;color:hsl(var(--christmas-gold));margin:12px 20px;font-size:11px;line-height:1.6}.santa-letter{background:hsl(var(--paper));color:hsl(var(--ink));font-family:var(--font-display);background-image:repeating-linear-gradient(transparent,transparent 32px,hsl(var(--ink)/.035) 33px);box-shadow:0 4px 15px hsl(var(--night)/.3);border-radius:3px;margin:0 20px;padding:30px 30px 24px;font-size:19px;line-height:1.75;position:relative}.letter-greeting{margin:0 45px 13px 0;font-size:23px;font-weight:700}.letter-stamp{text-align:right;margin-bottom:12px;font-size:31px;line-height:1.4;display:block}.letter-signature{color:hsl(var(--christmas-red));margin-top:18px;font-size:26px}.letter-signature>span{font-size:22px}.letter-postmark{text-align:right;font-family:var(--font-body);letter-spacing:.14em;color:hsl(var(--ink)/.35);margin-top:5px;font-size:7px;font-weight:800;line-height:1.6;display:block}.close-letter{color:hsl(var(--snow)/.65);text-underline-offset:3px;margin:19px auto 21px;padding:8px 20px;font-size:12px;text-decoration:underline;display:block}.christmas-app :focus-visible,.letter-modal :focus-visible{outline:2px solid hsl(var(--christmas-gold));outline-offset:4px}@keyframes door-shake{20%,60%{transform:rotate(-5deg)}40%,80%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes gold-glow{to{box-shadow:0 0 0 3px hsl(var(--christmas-gold)/.25),0 0 35px hsl(var(--christmas-gold)/.45)}}@keyframes sleigh-flight{0%{transform:translate(-390px,28px)}45%{transform:translate(280px,-4px)}to{transform:translate(830px,18px)}}@keyframes santa-wave{to{transform:rotate(-23deg)}}@keyframes present-drop{0%,40%{opacity:0;transform:translateY(0)}42%{opacity:1;transform-origin:481px 121px;transform:translateY(0)rotate(0)}54%{opacity:1;transform-origin:481px 121px;transform:translateY(135px)rotate(180deg)}55%,to{opacity:0;transform:translateY(140px)}}@media (width<=640px){.setup-banner{flex-direction:column;gap:7px;margin-bottom:24px;padding:12px;font-size:10px}.preview-banner{flex-wrap:wrap;gap:7px;font-size:9px}.preview-banner a{margin:0}.opened-icon{font-size:29px}.parents-page{padding:25px 16px 40px}.parents-heading{padding:5px 0 27px}.parents-heading h1{font-size:31px}.parents-heading p:last-child{font-size:12px}.parents-grid{grid-template-columns:1fr;gap:20px}.parent-card{border-radius:13px;padding:22px 18px}.parent-gate{margin:35px auto}.letter-topline{letter-spacing:.07em;padding:18px 38px 16px 14px;font-size:8px}.santa-letter{margin:0 13px;padding:24px 20px 18px;font-size:17px;line-height:1.7}.letter-greeting{font-size:21px}.letter-signature{font-size:24px}.scene-play{width:55px;height:55px}.playback-caption{font-size:9px}.behaviour-options small{font-size:8px}}@media (prefers-reduced-motion:reduce){.playing .flying-sleigh{transform:translate(110px,10px)}.playing .chimney-present{opacity:0}.present.is-open .present-lid{display:none}}
