.pa-world{position:relative;isolation:isolate;overflow:hidden;padding:42px 24px 32px;color:#fff;background:radial-gradient(ellipse at 50% 25%,#28516d 0%,#0b2943 45%,#06182b 100%);font-family:Georgia,serif;border-radius:14px}.pa-world *{box-sizing:border-box}.pa-head{text-align:center;position:relative;z-index:1;margin:0 auto 42px;max-width:850px}.pa-kicker{font:700 12px Arial,sans-serif;letter-spacing:3px;color:#e6bf77}.pa-head h1{color:#f8d995;font-size:clamp(34px,5.5vw,66px);line-height:1.1;margin:18px 0 12px;text-shadow:0 3px 15px #0009}.pa-head p{font:17px/1.6 Arial,sans-serif;color:#fff5e4}.pa-market{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 14px;max-width:1250px;margin:auto}.pa-hut{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;aspect-ratio:.88;border:0;background:linear-gradient(90deg,#55301a,#aa6933 14%,#58311c 28%,#8d512b 70%,#3b2317);box-shadow:0 6px 0 #2a180f,0 13px 20px #0008,inset 0 0 0 5px #b87838,inset 0 0 22px #ffc76c7a;cursor:pointer;transition:transform .3s,filter .3s;border-radius:8px 8px 4px 4px;color:#f9da95;padding:8px;margin-top:18px}.pa-hut:hover,.pa-hut:focus-visible{transform:translateY(-6px);filter:brightness(1.2);outline:2px solid #ffe1a2;outline-offset:4px}.pa-roof{position:absolute;left:-9%;right:-9%;height:38px;top:-24px;background:linear-gradient(#fff,#e8f3ff 40%,#b8d2e5 54%,#59331f 57%,#a46a39 100%);clip-path:polygon(0 75%,50% 0,100% 75%,100% 100%,0 100%);filter:drop-shadow(0 2px 3px #000);z-index:2}.pa-garland{position:absolute;top:17px;left:0;right:0;text-align:center;color:#f6c55d;font-size:clamp(10px,1.5vw,19px);text-shadow:0 0 7px #ffd45a;white-space:nowrap}.pa-door{position:relative;display:flex;align-items:center;justify-content:center;width:64%;height:66%;margin-top:10%;border:5px ridge #d09b53;background:repeating-linear-gradient(90deg,#5d291b 0 10px,#6c3421 11px 20px,#492317 21px 27px);box-shadow:inset 0 0 20px #1c0e0b,0 0 12px #ffb54d;transform-origin:left center;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.pa-num{font:clamp(27px,4vw,51px) Georgia,serif;color:#ffdf91;text-shadow:0 2px 8px #000}.pa-knob{position:absolute;right:7px;top:54%;width:7px;height:7px;border-radius:50%;background:#ffe1a0;box-shadow:0 0 7px #fff}.pa-sill{position:absolute;bottom:0;color:#ffe9ac;text-shadow:0 0 10px #fba71b;font-size:13px}.pa-locked{filter:saturate(.65)}.pa-locked:after{content:'✧';position:absolute;right:7px;bottom:4px;color:#f7d78c}.pa-hut.pa-opening .pa-door{transform:perspective(500px) rotateY(-75deg)}.pa-bottom{position:relative;z-index:1;max-width:1080px;margin:55px auto 0;background:linear-gradient(110deg,#fff4d7,#f5dfb1,#fff7e8);border:2px solid #dba850;border-radius:18px;padding:22px 30px;display:flex;align-items:center;gap:28px;color:#442415;box-shadow:0 6px 25px #0006}.pa-bottom h2{color:#42241b;font-size:clamp(22px,3vw,32px);margin:0 0 8px}.pa-bottom p{font:15px/1.6 Arial,sans-serif;margin:0}.pa-gift{font-size:65px}.pa-credit{text-align:center;margin-top:24px;font:12px Arial,sans-serif;color:#e8c78b}.pa-snow{pointer-events:none;position:absolute;inset:0;opacity:.4;background-image:radial-gradient(2px 2px at 10% 15%,white 90%,transparent),radial-gradient(3px 3px at 80% 35%,white 90%,transparent),radial-gradient(2px 2px at 40% 75%,white 90%,transparent);background-size:190px 210px;animation:pa-fall 22s linear infinite}.pa-overlay[hidden]{display:none!important}.pa-overlay{position:fixed;z-index:999999;inset:0;background:#04101dd9;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(7px)}.pa-modal{position:relative;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;text-align:center;padding:38px 32px;background:linear-gradient(145deg,#fff9eb,#f5e4be);border:3px solid #d9ac59;border-radius:20px;color:#372219;box-shadow:0 0 0 8px #e1b86230,0 30px 100px #000}.pa-modal h2{color:#5e271f;font:34px Georgia,serif;margin:10px 0 16px}.pa-modal-kicker{color:#a46c26;letter-spacing:2px;font:700 12px Arial,sans-serif}.pa-modal #pa-modal-body{font:17px/1.7 Arial,sans-serif}.pa-close{position:absolute;right:15px;top:10px;background:transparent;border:0;font-size:32px;color:#69412c;cursor:pointer}.pa-play,.pa-choice{border:1px solid #bc8c4b;background:#fff8e8;color:#48291e;border-radius:12px;padding:12px 18px;cursor:pointer;font:600 15px Arial,sans-serif;margin:6px}.pa-play:hover,.pa-choice:hover{background:#f1d89d}.pa-game{margin-top:18px}.pa-memory{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:360px;margin:20px auto}.pa-memory button{aspect-ratio:1;font-size:26px;border:2px solid #bd8c46;border-radius:9px;background:#74412a;color:#fff;cursor:pointer}.pa-memory button.revealed{background:#fff6e1}.pa-particle{position:fixed;pointer-events:none;z-index:1000001;width:5px;height:5px;border-radius:50%;background:#ffe7a3;box-shadow:0 0 8px 3px #ffd76b;animation:pa-spark var(--dur) ease-out forwards}@keyframes pa-spark{0%{opacity:1;transform:translate(0,0) scale(1.3)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.1)}}@keyframes pa-fall{to{background-position:0 400px}}@media(max-width:900px){.pa-market{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 12px}}@media(max-width:540px){.pa-world{padding:28px 12px}.pa-market{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}.pa-hut{margin-top:12px}.pa-roof{height:26px;top:-18px}.pa-garland{top:10px;font-size:10px}.pa-door{border-width:3px}.pa-num{font-size:27px}.pa-sill{font-size:9px}.pa-bottom{margin-top:36px;padding:16px;gap:10px}.pa-gift{font-size:34px}.pa-modal{padding:32px 18px}.pa-modal h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.pa-snow,.pa-particle{animation:none!important}.pa-door,.pa-hut{transition:none!important}}

/* V2: Premium-Beleuchtung, goldene Türchen und mobile Optimierung */
.pa-world{background:radial-gradient(ellipse at 48% 18%,#315774 0%,#102e4a 40%,#061426 100%);border:1px solid #c99a4d;box-shadow:inset 0 0 100px #e4ad3115,0 12px 35px #06152625}
.pa-world:before{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,#ffcb7033 0 2px,transparent 5px),radial-gradient(circle at 82% 10%,#fff2c033 0 2px,transparent 5px),radial-gradient(circle at 65% 65%,#f4d19e33 0 2px,transparent 5px);background-size:230px 190px;opacity:.8}
.pa-hut{isolation:isolate;background:linear-gradient(90deg,#3b2016,#8c4e29 12%,#b57b3b 16%,#62331c 22%,#8b502b 73%,#3c2016 100%);box-shadow:0 7px 0 #2d1a10,0 16px 28px #000a,inset 0 0 0 4px #d09c54,inset 0 0 30px #ffc46e85}
.pa-hut:before{content:"";position:absolute;inset:-3px;z-index:-1;pointer-events:none;border:1px solid #f5cb75;border-radius:8px;box-shadow:0 0 14px #ffc66c4d}
.pa-roof{background:linear-gradient(#fff,#f4f9ff 36%,#c8dbea 54%,#65402b 56%,#a66b3b 100%);filter:drop-shadow(0 4px 5px #0009)}
.pa-lights{position:absolute;left:3%;right:3%;top:12px;height:18px;z-index:4;pointer-events:none;background:radial-gradient(circle,#fff8ce 0 2px,#ffbd45 3px,transparent 6px) 0 0/20px 16px repeat-x;filter:drop-shadow(0 0 5px #ffb52d);animation:pa-twinkle 2.8s ease-in-out infinite alternate}
.pa-door{z-index:2;backface-visibility:hidden;border-color:#dfb777;box-shadow:inset 0 0 25px #1c0e0b,0 0 18px #ffbe5977}
.pa-hut-glow{position:absolute;z-index:0;inset:26% 22% 12%;background:radial-gradient(ellipse,#ffe5a7 0%,#efaa4088 40%,transparent 70%);opacity:.3;pointer-events:none;transition:opacity .4s}
.pa-hut:hover .pa-hut-glow,.pa-hut.pa-opening .pa-hut-glow{opacity:1}
.pa-hut.pa-opening .pa-door{transform:perspective(650px) rotateY(-88deg)}
.pa-locked{filter:saturate(.82)}
.pa-locked:hover{filter:saturate(.82) brightness(1.05)}
.pa-status{text-align:center;position:relative;z-index:1;font:600 14px/1.5 Arial,sans-serif;color:#f8d89c;margin:24px 0 0}
.pa-modal{box-shadow:0 0 0 8px #e1b86230,0 0 75px #ffd56d40,0 30px 100px #000}
.pa-modal:before{content:"✦ ✧ ✦";display:block;color:#bd8a3c;letter-spacing:15px;font-size:19px;margin-bottom:12px}
.pa-particle{width:var(--size,5px);height:var(--size,5px);background:radial-gradient(circle,#fffef0,#ffd873 55%,#ba7a26);box-shadow:0 0 9px 2px #ffd76b;animation:pa-spark var(--dur) cubic-bezier(.14,.53,.33,1) forwards}
.pa-particle.pa-star{border-radius:0;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%)}
@keyframes pa-twinkle{from{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 9px #ffcb59)}}
@media(max-width:540px){.pa-lights{top:7px;height:12px;background-size:13px 11px}.pa-world{border-radius:9px}.pa-head{margin-bottom:35px}.pa-head p{font-size:14px}.pa-hut{min-width:0}.pa-status{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pa-lights{animation:none}.pa-hut-glow{transition:none}}


/* Porta Adventszauber 3.0 – Weihnachtsmarkt-Premiumkulisse */
.pa-world{
 --pa-gold:#efc679;--pa-night:#07192e;
 background:
 radial-gradient(ellipse at 50% 2%,#f4c67d25 0,transparent 36%),
 radial-gradient(ellipse at 50% 58%,#3b6c8b48 0,transparent 68%),
 linear-gradient(165deg,#071a31,#153852 46%,#071524 100%);
 border:2px solid #d8ab60;
 border-radius:20px;
 box-shadow:0 0 0 5px #e7b96c17,inset 0 0 90px #f2bf6b1c,0 25px 65px #06101f65;
}
.pa-world:after{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
 background-image:
 radial-gradient(circle at 12% 8%,#fff9d9 0 1px,transparent 2px),
 radial-gradient(circle at 75% 16%,#f7d69a 0 1px,transparent 2px),
 radial-gradient(circle at 45% 37%,#ffffff 0 1px,transparent 2px),
 radial-gradient(circle at 88% 56%,#f9dcb2 0 1px,transparent 2px);
 background-size:230px 190px,310px 280px,200px 250px,350px 300px;
 opacity:.75;
}
.pa-head{margin-bottom:55px}
.pa-head h1{
 font-weight:700;letter-spacing:.02em;
 background:linear-gradient(180deg,#fff9e8,#ffe0a0 47%,#c78c3e);
 -webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 5px 8px #0007);
}
.pa-kicker{letter-spacing:3.5px;text-shadow:0 0 12px #efb84f88}
.pa-market{gap:44px 17px;perspective:1200px;padding:10px 7px 15px}
.pa-hut{
 overflow:visible;min-height:145px;border-radius:6px 6px 4px 4px;
 background:
 linear-gradient(90deg,#311b15 0%,transparent 8%,transparent 92%,#291711 100%),
 repeating-linear-gradient(90deg,#7c4325 0 9px,#955a30 9px 11px,#66361e 11px 18px,#ae7140 18px 20px);
 box-shadow:0 7px 0 #2d1a10,0 16px 27px #000b,
 inset 0 0 0 5px #b77942,inset 0 0 35px #f9b95d70,
 0 0 25px #e4a95220;
 transform-style:preserve-3d;
}
.pa-hut:before{
 content:"";position:absolute;inset:-5px -5px auto;height:11px;z-index:5;
 border-radius:6px;background:linear-gradient(180deg,#fffefa,#f1f6ff 55%,#c4d6e2);
 box-shadow:0 3px 7px #fff9,0 4px 5px #0007;
}
.pa-roof{
 top:-37px;height:45px;left:-12%;right:-12%;
 background:linear-gradient(180deg,#fff 0%,#e5f1fa 28%,#bbd2df 42%,#56311e 44%,#9c5c30 70%,#4d2a1d 100%);
 clip-path:polygon(0 85%,50% 0,100% 85%,100% 100%,0 100%);
 filter:drop-shadow(0 6px 5px #0009);
}
.pa-roof:after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(125deg,transparent 20%,#fff9 33%,transparent 42%);
 opacity:.7;
}
.pa-lights{top:11px;left:2%;right:2%;height:20px;z-index:7;
 background:radial-gradient(circle,#fffdeb 0 2px,#ffd260 3px,#ff9c28 4px,transparent 7px) 0 0/19px 17px repeat-x;
 filter:drop-shadow(0 0 7px #ffc34b);
}
.pa-garland{top:31px;z-index:4;color:#ffe4a2;letter-spacing:2px;text-shadow:0 0 9px #ffb54b}
.pa-door{
 z-index:3;margin-top:22%;width:67%;height:61%;
 border:5px ridge #cfa064;border-radius:3px;
 background:
 linear-gradient(90deg,#2d170f70,transparent 12%,transparent 85%,#24100d85),
 repeating-linear-gradient(90deg,#55271a 0 12px,#793e27 12px 15px,#4a2319 15px 23px);
 box-shadow:inset 0 0 25px #180b0a,0 0 0 2px #5d331e,0 0 17px #ffca7566;
 transform-style:preserve-3d;
}
.pa-num{font-size:clamp(27px,3.6vw,48px);color:#fff0bb;text-shadow:0 2px 3px #000,0 0 16px #ffca5e}
.pa-knob{height:9px;width:9px;background:radial-gradient(circle at 35% 30%,#fff9d5,#b77b2f);box-shadow:0 0 8px #ffd26a}
.pa-hut-glow{inset:20% 15% 9%;opacity:.36;filter:blur(3px)}
.pa-hut.pa-opening .pa-door{transform:perspective(680px) rotateY(-105deg)}
.pa-hut.pa-opening{filter:brightness(1.2);box-shadow:0 7px 0 #2d1a10,0 16px 30px #000b,inset 0 0 0 5px #d8a45e,0 0 55px #ffc766aa}
.pa-locked{filter:saturate(.63) brightness(.79)}
.pa-locked .pa-lights{opacity:.4;animation:none}
.pa-hut:focus-visible{outline:3px solid #ffe6ad;outline-offset:8px}
.pa-bottom{background:linear-gradient(130deg,#fff9ed,#efd7a7 52%,#fff8e9);box-shadow:0 12px 38px #0007,inset 0 0 0 2px #fff8e7}
.pa-modal{border:4px solid #d4a45b;background:radial-gradient(ellipse at 50% 0,#fffef5,#f6e9ce 55%,#eed6a8);box-shadow:0 0 0 8px #f5d39436,0 0 90px #ffc66d4d,0 30px 90px #000c}
.pa-play,.pa-choice{transition:transform .18s,box-shadow .18s}
.pa-play:hover,.pa-choice:hover{transform:translateY(-2px);box-shadow:0 4px 13px #9b662b40}
.pa-particle{will-change:transform,opacity}
@media(max-width:900px){.pa-market{gap:40px 14px}}
@media(max-width:540px){
 .pa-world{padding:26px 10px;border-radius:12px}
 .pa-head{margin-bottom:42px}
 .pa-market{gap:31px 8px;padding:5px 2px}
 .pa-hut{min-height:95px;padding:4px}
 .pa-roof{top:-26px;height:32px}
 .pa-hut:before{height:7px}
 .pa-lights{top:7px;background-size:12px 12px}
 .pa-garland{top:21px;font-size:8px;letter-spacing:0}
 .pa-door{border-width:3px;margin-top:23%;height:57%}
 .pa-num{font-size:clamp(22px,6vw,32px)}
 .pa-bottom{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.pa-hut,.pa-door,.pa-play,.pa-choice{transition:none!important}}

/* Version 4.1: echte interaktive Schneekugel (Türchen 4 und 22) */
.pa-snow-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:16px auto 22px;filter:drop-shadow(0 12px 15px #46311f55)}
.pa-snow-globe{width:min(260px,72vw);height:min(260px,72vw);position:relative;border-radius:50%;overflow:hidden;isolation:isolate;border:7px solid #eaf8ff;background:radial-gradient(circle at 35% 20%,#fff9 0%,#d7f3ff55 25%,transparent 48%),linear-gradient(160deg,#4d85aa,#a9d8e6 60%,#e2f3ff);box-shadow:inset -20px -14px 35px #244a7480,inset 12px 12px 22px #ffffffaa,0 0 0 3px #a9c5d2,0 0 25px #d7efff}
.pa-globe-sky{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,#fff8 0 2px,transparent 3px),radial-gradient(circle at 20% 40%,#fff9 0 2px,transparent 3px),radial-gradient(circle at 50% 17%,#fff8 0 2px,transparent 3px)}
.pa-globe-tree{position:absolute;z-index:2;left:0;right:0;bottom:17%;font-size:clamp(85px,16vw,132px);line-height:1;text-align:center;filter:drop-shadow(2px 6px 5px #193d5377)}
.pa-globe-ground{position:absolute;z-index:3;left:-12%;right:-12%;bottom:-12%;height:35%;border-radius:50% 50% 0 0;background:linear-gradient(#fff,#e0f0fc);box-shadow:0 -5px 20px #fff9}
.pa-globe-flakes{position:absolute;z-index:5;inset:0;overflow:hidden;border-radius:50%;pointer-events:none}
.pa-globe-flake{position:absolute;top:var(--y);left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff;box-shadow:0 0 4px 1px #fff;animation:pa-globe-fall var(--duration) var(--delay) ease-in forwards;opacity:0}
.pa-globe-neck{width:140px;height:19px;margin-top:-5px;z-index:1;background:linear-gradient(90deg,#8b5d28,#fce3a0,#b17a35);border-radius:8px 8px 3px 3px}
.pa-globe-base{width:190px;max-width:66vw;padding:14px 8px 16px;margin-top:-2px;background:linear-gradient(90deg,#6c3c20,#c08b47 25%,#f0cf8a 50%,#b37b37 75%,#6b3b20);border:3px solid #ad7b3b;border-radius:12px 12px 30px 30px;color:#fff9e6;text-shadow:0 2px 4px #4b271b;font:700 11px Arial,sans-serif;letter-spacing:1px;text-align:center;box-shadow:inset 0 2px 8px #fff7}
.pa-snow-globe.pa-shaking{animation:pa-globe-shake .65s ease-in-out}
@keyframes pa-globe-shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(8deg)}65%{transform:rotate(-5deg)}85%{transform:rotate(3deg)}}
@keyframes pa-globe-fall{0%{opacity:0;transform:translate(0,-20px)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(var(--drift),160px)}}
@media(prefers-reduced-motion:reduce){.pa-snow-globe.pa-shaking,.pa-globe-flake{animation:none!important}.pa-globe-flake{opacity:.9!important}}

/* 4.2 – Heiligabend: eigenständiges, interaktives Weihnachtsfinale */
.pa-finale{position:relative;overflow:hidden;min-height:245px;margin:15px auto 6px;padding:12px 10px 20px;border-radius:18px;background:radial-gradient(ellipse at 50% 30%,#325476,#102a49 60%,#071b30);box-shadow:inset 0 0 0 1px #e7bd7a,0 10px 28px #56331c2e;text-align:center}
.pa-finale:before{content:'✧  ✦  ✧  ✦  ✧';position:absolute;top:20px;left:0;right:0;color:#ffebbb66;letter-spacing:18px;font-size:15px;pointer-events:none}
.pa-finale-star{font-size:70px;line-height:1.15;color:#ffe3a1;text-shadow:0 0 16px #ffe4a3,0 0 40px #ffb64b;animation:pa-finale-pulse 2.6s ease-in-out infinite alternate}
.pa-finale-present{display:block;margin:10px auto 0;border:0;background:transparent;font-size:80px;line-height:1.2;cursor:pointer;filter:drop-shadow(0 8px 10px #0009);transition:transform .35s,filter .35s}
.pa-finale-present:hover,.pa-finale-present:focus-visible{transform:scale(1.09);filter:drop-shadow(0 0 15px #ffd46d)}
.pa-finale-present:focus-visible{outline:3px solid #ffda8c;border-radius:12px}
.pa-finale-present.pa-finale-open{transform:scale(1.22) rotate(-7deg)}
.pa-finale-message[hidden]{display:none}
.pa-finale-message{margin:14px auto 0;max-width:470px;padding:15px 14px;border-radius:12px;background:#fff7e9ee;color:#4c2b1a;box-shadow:0 0 22px #ffcd7770}
.pa-finale-greeting{margin:0 0 8px!important;color:#8d401f!important;font:700 clamp(23px,4vw,34px) Georgia,serif!important}
.pa-finale-words{font:15px/1.6 Arial,sans-serif;margin:0}
.pa-finale-reveal{animation:pa-finale-in .8s ease-out both}
.pa-finale-shine{animation:pa-finale-pulse .8s ease-in-out infinite alternate}
@keyframes pa-finale-pulse{to{transform:scale(1.12);text-shadow:0 0 24px #fff5c8,0 0 65px #ffbe52}}
@keyframes pa-finale-in{from{opacity:0;transform:translateY(15px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.pa-finale-star,.pa-finale-shine,.pa-finale-reveal{animation:none!important}.pa-finale-present{transition:none!important}}

/* V4.4: sichtbarer und dauerhaft interaktiver Weihnachtszauber, besonders Türchen 1 */
.pa-magic-scene{position:relative;overflow:hidden;margin:14px auto 15px;padding:18px 12px 22px;min-height:250px;border:1px solid #d9ad68;border-radius:18px;text-align:center;background:radial-gradient(ellipse at 50% 75%,#315d67,#18304c 60%,#0b1a35);box-shadow:inset 0 0 24px #ffe6a525,0 9px 25px #3d2b2440;color:#fff4ce}
.pa-magic-heading{font:700 clamp(16px,3vw,23px) Georgia,serif;color:#ffe6a8;text-shadow:0 0 10px #f5c56a88}
.pa-magic-star{font-size:68px;line-height:1;color:#b7c5d3;text-shadow:0 0 8px #d8e8ff55;transition:color 1s,text-shadow 1s,transform 1s}
.pa-magic-tree{font-size:85px;line-height:1.1;filter:brightness(.65);transition:filter 1s,transform 1s}
.pa-magic-glow{font-size:23px;opacity:.18;transition:opacity .9s;letter-spacing:18px}
.pa-magic-message[hidden]{display:none}
.pa-magic-message{margin:13px auto 0;max-width:360px;color:#fff1cc;font:16px/1.5 Georgia,serif}
.pa-magic-active{background:radial-gradient(ellipse at 50% 70%,#68895c,#24445c 60%,#14213f);box-shadow:inset 0 0 38px #ffe8a35c,0 0 25px #ffca6b55}
.pa-magic-active .pa-magic-star{color:#ffdf79;text-shadow:0 0 12px #fff4b8,0 0 30px #ffd34f,0 0 65px #ffb537;transform:scale(1.14);animation:pa-magic-pulse 2s ease-in-out infinite alternate}
.pa-magic-active .pa-magic-tree{filter:brightness(1.25) drop-shadow(0 0 17px #ffd65c);transform:scale(1.06)}
.pa-magic-active .pa-magic-glow{opacity:1;animation:pa-magic-pulse 2s ease-in-out infinite alternate}
.pa-magic-replay .pa-magic-star{animation:pa-magic-replay .9s ease-in-out}
@keyframes pa-magic-pulse{to{filter:brightness(1.4);transform:scale(1.18)}}
@keyframes pa-magic-replay{50%{transform:scale(1.5) rotate(35deg)}}
@media(prefers-reduced-motion:reduce){.pa-magic-star,.pa-magic-tree,.pa-magic-glow{animation:none!important;transition:none!important}}

.pa-fireworks-scene{position:relative;isolation:isolate;overflow:hidden;min-height:280px;margin:12px auto 15px;border:1px solid #e4c17e;border-radius:18px;background:radial-gradient(ellipse at 50% 85%,#33506b 0%,#152b4d 48%,#08132b 100%);text-align:center;color:#ffedc8;box-shadow:inset 0 0 30px #ffc85c26}
.pa-fireworks-sky{position:absolute;inset:0 0 48px;pointer-events:none;z-index:2}
.pa-fireworks-stars{padding-top:15px;letter-spacing:30px;font-size:22px;color:#e9d49e;opacity:.85}
.pa-fireworks-market{position:relative;z-index:1;margin:85px 0 0;font-size:clamp(25px,5vw,42px);white-space:nowrap;filter:drop-shadow(0 0 12px #e4b657a6)}
.pa-fireworks-caption{position:relative;z-index:3;margin:7px 8px 0;font:17px Georgia,serif}
.pa-fireworks-greeting{position:relative;z-index:3;margin:7px 8px 14px;font:700 21px Georgia,serif;color:#ffdd8a;text-shadow:0 0 12px #ffbd51}
.pa-fireworks-greeting[hidden]{display:none}
.pa-firework-burst{position:absolute;width:1px;height:1px;animation:pa-firework-appear .1s both;animation-delay:var(--delay)}
.pa-firework-ray{position:absolute;left:0;top:0;width:5px;height:5px;border-radius:50%;box-shadow:0 0 9px currentColor;opacity:0;animation:pa-firework-fly 1.4s ease-out forwards;animation-delay:var(--delay)}
@keyframes pa-firework-fly{0%{opacity:0;transform:translate(0,0) scale(.2)}12%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.5)}}
@keyframes pa-firework-appear{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.pa-firework-ray{animation:none;opacity:1;transform:translate(calc(var(--dx)*.65),calc(var(--dy)*.65))}}
