/* User-requested original-crest welcome; all seven lines remain centred. */
:root{--hp-welcome-ready:1}
body.hp-welcome-open{overflow:hidden}
.hp-welcome{--hp-welcome-background:radial-gradient(ellipse at center,#fff 35%,#f3eedf 100%);--hp-welcome-foreground:#172c46;--hp-welcome-muted:#647084;--hp-welcome-skip:#5b6470;--hp-welcome-backdrop:#f7f3e9;--hp-welcome-ornament:#8a7448;position:fixed;inset:0;margin:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;color:var(--hp-welcome-foreground);background:var(--hp-welcome-background);overflow:hidden}
.hp-welcome::backdrop{background:var(--hp-welcome-backdrop,#f7f3e9);backdrop-filter:none}
.hp-welcome[data-season="easter"]{--hp-welcome-background:radial-gradient(ellipse at center,#fffef8 35%,#eaf4d5 72%,#f8e7ef 100%);--hp-welcome-foreground:#23472d;--hp-welcome-muted:#52634b;--hp-welcome-skip:#48613c;--hp-welcome-backdrop:#f5f5e7;--hp-welcome-ornament:#bd7350}
.hp-welcome[data-season="christmas"]{--hp-welcome-background:radial-gradient(ellipse at center,#fffef8 34%,#eef5eb 68%,#c3d7c1 88%,#6e9478 100%);--hp-welcome-foreground:#234a35;--hp-welcome-muted:#52684f;--hp-welcome-skip:#36513b;--hp-welcome-backdrop:#e3ecdf;--hp-welcome-ornament:#a9771e}
.hp-welcome[data-season="halloween"]{--hp-welcome-background:radial-gradient(ellipse at center,#fffaf0 35%,#f5dfbd 72%,#dfc1e2 100%);--hp-welcome-foreground:#472447;--hp-welcome-muted:#6a5063;--hp-welcome-skip:#68436b;--hp-welcome-backdrop:#f0d9c4;--hp-welcome-ornament:#702e78}
.hp-welcome-card{box-sizing:border-box;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto;align-items:center;justify-items:center;gap:clamp(2px,.65dvh,8px);text-align:center;padding:clamp(8px,1.7dvh,22px) clamp(12px,3vw,42px);height:100%;width:100%;font-family:Georgia,'Times New Roman',serif;line-height:1.15}
.hp-welcome h1{margin:0;font-size:clamp(1.25rem,min(5.6dvh,7vw),3.5rem);font-weight:700;line-height:1.12;color:inherit;max-width:100%;text-wrap:balance}
.hp-welcome-intro{margin:0;font-size:clamp(.9rem,2.8dvh,1.8rem);color:inherit}
.hp-welcome-brand{margin:0;min-height:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}
.hp-welcome-brand img{display:block;width:100%;height:100%;max-width:880px;object-fit:contain}
.hp-welcome-edv{margin:0;font-size:clamp(1rem,3.5dvh,2.3rem);font-weight:700;color:inherit}
.hp-welcome-software{margin:0;font-size:clamp(1.25rem,min(4.5dvh,7.8vw),3rem);font-weight:700;max-width:100%;color:inherit}
.hp-welcome-timing{margin:0;font:clamp(.7rem,1.7dvh,.95rem)/1.25 system-ui,sans-serif;color:#46556a;max-width:100%;text-wrap:balance}
.hp-welcome-skip{font:500 11px/1.2 system-ui,sans-serif;box-sizing:border-box;min-height:44px;width:auto;padding:12px 22px;border:0;border-radius:5px;background:transparent;color:var(--hp-welcome-skip);cursor:pointer;margin:0;text-decoration:underline;text-underline-offset:3px}
.hp-welcome-skip:hover{background:transparent;color:var(--hp-welcome-foreground)}.hp-welcome-skip:focus-visible{outline:2px solid #24466e;outline-offset:-5px}
.hp-welcome-timing{font-size:10px;color:var(--hp-welcome-muted)}
.hp-welcome:is([data-phase="intro"],[data-phase="outro"]){background:transparent}
.hp-welcome:is([data-phase="intro"],[data-phase="outro"])::backdrop{background:transparent;backdrop-filter:none}
.hp-welcome-card{position:relative;z-index:2}
.hp-welcome:is([data-phase="intro"],[data-phase="outro"])>.hp-welcome-card:not(.hp-welcome-piece)>:not(.hp-welcome-skip){visibility:hidden}
.hp-welcome-piece{position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--hp-welcome-background);transform-origin:50% 50%;will-change:transform,opacity;backface-visibility:hidden}
.hp-welcome-piece .hp-welcome-skip,.hp-welcome-piece .hp-welcome-timing{visibility:hidden}
/* Generous original seasonal scenes flank the centred brand; decorations never intercept input. */
.hp-welcome[data-season] .hp-welcome-card{grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto auto;padding-inline:clamp(195px,23vw,355px)}
.hp-welcome-season-copy{max-width:42rem;margin:0;font:italic clamp(.76rem,1.7dvh,1.06rem)/1.35 Georgia,'Times New Roman',serif;color:var(--hp-welcome-muted);text-wrap:balance}
.hp-welcome-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hp-welcome-scene-side{position:absolute;top:50%;width:clamp(180px,22vw,340px);max-height:72dvh;line-height:0;transform:translateY(-50%)}
.hp-welcome-scene-left{left:clamp(0px,1vw,24px)}.hp-welcome-scene-right{right:clamp(0px,1vw,24px)}
.hp-welcome-scene svg{display:block;width:100%;height:auto;max-height:72dvh;overflow:visible}
.hp-welcome-card>:not(.hp-welcome-scene){position:relative;z-index:1}
.hp-welcome-scene-light{animation:hp-welcome-twinkle 5.8s ease-in-out infinite}
@keyframes hp-welcome-twinkle{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:900px){
 .hp-welcome[data-season] .hp-welcome-card{padding-inline:clamp(12px,3vw,42px)}
 .hp-welcome[data-season] .hp-welcome-brand{width:55%}
 .hp-welcome-scene-side{top:46%;width:22vw;max-height:39dvh}
 .hp-welcome-scene svg{max-height:39dvh}
 .hp-welcome-season-copy{font-size:clamp(.72rem,1.65dvh,1rem);max-width:90%}
}
@media(prefers-reduced-motion:reduce){.hp-welcome-scene-light{animation:none;opacity:.9}}
@media(max-height:360px){.hp-welcome-card{gap:2px;padding-block:5px}.hp-welcome h1{font-size:1.15rem}.hp-welcome-intro,.hp-welcome-edv{font-size:.85rem}.hp-welcome-software{font-size:1rem}.hp-welcome-timing{font-size:.65rem}.hp-welcome-skip{min-height:36px;padding:8px 16px;font-size:10px}.hp-welcome-scene-side{max-height:55dvh;top:47%;width:19vw}.hp-welcome-scene svg{max-height:55dvh}.hp-welcome-season-copy{font-size:.6rem}}
@media print{.hp-welcome{display:none!important}body.hp-welcome-open{overflow:visible}}
/* The live card alone animates; intro/outro copies remain still and inexpensive. */
.hp-welcome[data-phase="display"] .hp-welcome-scene-light{animation:hp-welcome-twinkle 5.8s ease-in-out infinite}
.hp-welcome-scene-light{animation:none}
.hp-welcome-bat-wing{transform-box:fill-box}
.hp-welcome-bat-wing-left{transform-origin:100% 75%}.hp-welcome-bat-wing-right{transform-origin:0 75%}
.hp-welcome[data-phase="display"] .hp-welcome-bat-flight{animation:hp-welcome-bat-flight-a 4.6s ease-in-out infinite alternate}
.hp-welcome[data-phase="display"] .hp-welcome-bat-route-b{animation-name:hp-welcome-bat-flight-b;animation-duration:5.3s}
.hp-welcome[data-phase="display"] .hp-welcome-bat-wing{animation:hp-welcome-bat-flap .48s ease-in-out infinite alternate}
.hp-welcome[data-phase="display"] .hp-welcome-bat-route-b .hp-welcome-bat-wing{animation-duration:.56s;animation-delay:-.2s}
.hp-welcome-easter-bunny{transform:translate(-22px,0)}
.hp-welcome-bunny-body{transform-box:view-box;transform-origin:136px 453px}
.hp-welcome-easter-hidden-egg{transform:translate(46px,36px);opacity:1}
.hp-welcome-bunny-head{transform-box:fill-box;transform-origin:50% 92%}
.hp-welcome-bunny-ear{transform-box:fill-box;transform-origin:50% 95%}
.hp-welcome[data-phase="display"] .hp-welcome-bunny-head{animation:hp-welcome-bunny-look 4s ease-in-out infinite}
.hp-welcome[data-phase="display"] .hp-welcome-bunny-ear{animation:hp-welcome-bunny-ear 4s ease-in-out infinite}
.hp-welcome[data-phase="display"] .hp-welcome-easter-bunny{animation:hp-welcome-bunny-hide 4s ease-in-out infinite}
.hp-welcome[data-phase="display"] .hp-welcome-bunny-body{animation:hp-welcome-bunny-place 4s ease-in-out infinite}
.hp-welcome[data-phase="display"] .hp-welcome-easter-hidden-egg{animation:hp-welcome-egg-hide 4s ease-in-out infinite}
.hp-welcome-candle-flame{transform-box:fill-box;transform-origin:50% 90%}
.hp-welcome[data-phase="display"] .hp-welcome-candle-flame{animation:hp-welcome-candle-flicker 1.3s ease-in-out infinite}
@keyframes hp-welcome-bat-flight-a{from{transform:translate(-24px,12px) rotate(-8deg)}to{transform:translate(30px,-16px) rotate(8deg)}}
@keyframes hp-welcome-bat-flight-b{from{transform:translate(27px,15px) rotate(6deg)}to{transform:translate(-26px,-20px) rotate(-8deg)}}
@keyframes hp-welcome-bat-flap{from{transform:scaleY(1) rotate(-3deg)}to{transform:scaleY(.38) rotate(5deg)}}
@keyframes hp-welcome-bunny-hide{0%,8%{transform:translate(-22px,0)}18%{transform:translate(-6px,-11px)}26%{transform:translate(13px,0)}34%,63%{transform:translate(32px,0)}74%{transform:translate(9px,-9px)}84%,100%{transform:translate(-22px,0)}}
@keyframes hp-welcome-bunny-place{0%,34%,76%,100%{transform:rotate(0) translateY(0)}46%,55%{transform:rotate(18deg) translateY(5px)}63%{transform:rotate(7deg) translateY(2px)}}
@keyframes hp-welcome-bunny-look{0%,30%,75%,100%{transform:rotate(0)}8%{transform:rotate(-5deg)}44%,55%{transform:rotate(8deg)}85%,95%{transform:rotate(6deg)}}
@keyframes hp-welcome-bunny-ear{0%,30%,60%,100%{transform:rotate(0)}12%{transform:rotate(-7deg)}21%{transform:rotate(5deg)}43%{transform:rotate(4deg)}72%{transform:rotate(-4deg)}}
@keyframes hp-welcome-egg-hide{0%,8%{opacity:1;transform:translate(-22px,0)}18%{opacity:1;transform:translate(-6px,-11px)}26%{opacity:1;transform:translate(13px,0)}34%{opacity:1;transform:translate(32px,0)}46%{opacity:1;transform:translate(46px,20px)}54%,100%{opacity:1;transform:translate(46px,36px)}}
@keyframes hp-welcome-candle-flicker{0%,100%{opacity:.88;transform:scale(.94,1) rotate(-2deg)}30%{opacity:1;transform:scale(1.04,.94) rotate(2deg)}68%{opacity:.93;transform:scale(.96,1.07) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){
 .hp-welcome[data-phase="display"] :is(.hp-welcome-scene-light,.hp-welcome-bat-flight,.hp-welcome-bat-wing,.hp-welcome-easter-bunny,.hp-welcome-bunny-body,.hp-welcome-bunny-head,.hp-welcome-bunny-ear,.hp-welcome-easter-hidden-egg,.hp-welcome-candle-flame){animation:none!important;transform:none;opacity:1}
 .hp-welcome[data-phase="display"] .hp-welcome-easter-hidden-egg{transform:translate(46px,36px)}
}
