@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--pine:#173e32;--deep:#102f27;--red:#ac393e;--gold:#d5ab62;--cream:#faf6ed;--ink:#263e35;--muted:#69766c;--line:#e6dfd0;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans','Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{cursor:default;opacity:.5}.ribbon{background:var(--pine);color:#f4e8cb;text-align:center;font-size:11px;letter-spacing:1.1px;padding:7px}.ribbon span{margin-left:12px;color:var(--gold)}header{max-width:1400px;margin:auto;display:flex;align-items:center;gap:24px;padding:23px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;white-space:nowrap}.brand>span{font-family:var(--serif);font-size:24px;line-height:1.1}.brand small{font-family:var(--sans);font-size:9px;letter-spacing:2px;display:block;margin-top:9px;color:var(--muted)}nav{display:flex;gap:27px;align-items:center;margin-left:auto;font-size:13px}nav a{padding:8px 0;position:relative}nav a[aria-current=page]{color:var(--red)}nav a[aria-current=page]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}.icon-button{background:transparent;border:1px solid var(--line);color:var(--pine);border-radius:50%;width:38px;height:38px;font-size:20px}.wrap{max-width:1240px;margin:auto;padding:0 44px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:535px;gap:45px;align-items:center;padding-top:42px;padding-bottom:42px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--red);text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'✦';font-size:16px}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:clamp(38px,4.6vw,65px);line-height:1.06;letter-spacing:-1.7px;font-weight:500;margin:18px 0 20px}h1 em{color:var(--red);font-weight:400}p{color:var(--muted)}.intro{max-width:400px;font-size:15px;line-height:1.9}.hero-art{position:relative;min-height:440px;align-self:stretch;border-radius:160px 160px 16px 16px;overflow:hidden;background:#234c3c url('christmas-room.png') center/cover;box-shadow:0 18px 45px #173e3219}.hero-art:after{content:'';position:absolute;inset:10px;border:1px solid #f5d79060;border-radius:150px 150px 10px 10px;pointer-events:none}.art-caption{position:absolute;bottom:24px;left:25px;right:25px;background:#173e32dd;border:1px solid #d5ab6255;border-radius:10px;color:#fff4de;padding:13px 20px;text-align:center;font-family:var(--serif);font-size:18px;backdrop-filter:blur(10px)}.art-caption small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2px;color:#ddc89f}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--red);border:1px solid var(--red);border-radius:7px;color:#fff8e9;padding:13px 21px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:#8d2c32;transform:translateY(-2px)}.button.secondary{background:transparent;border-color:#cfcaba;color:var(--pine)}.button.green{background:var(--pine);border-color:var(--pine)}.button.light{background:var(--cream);border-color:var(--cream);color:var(--pine)}.countdown{display:flex;align-items:center;gap:24px;margin-top:30px;padding-top:21px;border-top:1px solid var(--line)}.counter{display:flex;gap:15px}.counter>span{text-align:center;min-width:40px}.counter b{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1;display:block}.counter small{font-size:9px;color:var(--muted)}.countdown>span{font-size:11px;color:var(--muted);max-width:85px;line-height:1.5}.section{padding:35px 0 48px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}h2{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.2;letter-spacing:-.5px}.section-head p{font-size:12px;margin-top:7px}.tiny{font-size:10px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portal{display:block;background:#fffdf6;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .25s,box-shadow .25s;text-align:left;padding:0;color:var(--ink)}.portal:hover{transform:translateY(-5px);box-shadow:0 12px 24px #173e3210}.portal-art{height:145px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#e9eddf}.portal-art svg{height:110px;width:130px;filter:drop-shadow(0 6px 5px #173e321a)}.portal:nth-child(2) .portal-art{background:#f0e1d9}.portal:nth-child(3) .portal-art{background:#ede6d5}.portal:nth-child(4) .portal-art{background:#dce8e0}.portal-copy{padding:17px 19px 20px}.portal-copy h3{font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:5px}.portal-copy p{font-size:11px;min-height:36px}.portal-copy>span{display:block;font-size:11px;color:var(--red);margin-top:14px;font-weight:600}.family-band{background:var(--pine);border-radius:12px;padding:29px 35px;display:flex;gap:30px;align-items:center;justify-content:space-between;color:#fff6e5;margin:5px 0 45px;position:relative;overflow:hidden}.family-band h3{font:500 25px var(--serif);margin-bottom:7px}.family-band p{color:#c1d0bc;font-size:12px}.family-band .eyebrow{color:#dfbc79;margin-bottom:10px}.page-top{padding:40px 0 26px}.page-top h1{font-size:45px;margin:12px 0}.page-top p{max-width:650px}.pill{display:inline-block;padding:5px 12px;border-radius:20px;background:#e8eddf;color:var(--pine);font-size:11px}.calendar{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:24px 0 40px}.door{position:relative;height:135px;border:0;border-radius:9px;background:var(--pine);color:#fff5df;box-shadow:inset 0 0 0 5px #ffffff0b;overflow:hidden}.door:nth-child(3n+2){background:var(--red)}.door:nth-child(3n){background:#b18a4f}.door:before{content:'';position:absolute;left:calc(50% - 6px);top:0;width:12px;height:100%;background:#f5ddb33d}.door:after{content:'';position:absolute;top:26px;left:0;width:100%;height:8px;background:#f5ddb33d}.door b{font:500 36px var(--serif);position:relative;z-index:1;background:inherit;text-shadow:0 2px 8px #0007}.door small{display:block;font-size:9px;position:relative;z-index:1;margin-top:15px}.door.locked{filter:saturate(.55);opacity:.8}.door.opened{outline:2px solid var(--gold);outline-offset:3px}.door:hover{transform:translateY(-3px)}.subnav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0 50px}.stage{background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:35px;margin:15px 0 45px;min-height:370px}.stage h2{margin-bottom:12px}.game-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:25px auto}.game-tile{min-height:105px;border-radius:12px;border:1px solid var(--line);background:#e8ecdf;color:var(--pine);font-size:36px;display:flex;align-items:center;justify-content:center}.game-tile svg{width:75px;height:75px}.game-tile.matched{background:#d4e7cd;opacity:1}.game-tile.revealed{background:#f4e4c9}.feedback{text-align:center;color:var(--red);min-height:30px;margin:12px 0}.star-row{text-align:center;color:#b18a4f;font-size:55px;letter-spacing:10px;margin:35px 0}.number-row{display:flex;gap:12px;justify-content:center}.number-row button{width:65px;height:65px;font:500 26px var(--serif)}.tree-stage{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}.tree-canvas{max-width:100%;height:360px;width:380px;cursor:crosshair;touch-action:none}.swatches{display:flex;gap:10px}.swatch{border:3px solid transparent;border-radius:50%;width:34px;height:34px}.swatch.selected{outline:2px solid var(--pine);outline-offset:3px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:24px 0 50px}.book-card{border:0;background:transparent;text-align:left;padding:0;color:var(--pine)}.book-cover{height:260px;background:var(--pine);color:#f3ddb4;border-radius:4px 13px 13px 4px;box-shadow:inset 9px 0 0 #0003,7px 7px 0 #e3d9c6;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;position:relative}.book-card:nth-child(2) .book-cover{background:var(--red)}.book-card:nth-child(3) .book-cover{background:#735638}.book-cover:after{content:'';position:absolute;inset:14px 16px 14px 21px;border:1px solid #e5c78d80;border-radius:2px 6px 6px 2px}.book-cover svg{width:100px;height:100px;margin-bottom:15px}.book-cover h3{text-align:center;font:500 26px/1.2 var(--serif);z-index:1}.book-card>p{font-size:12px;margin-top:18px}.book-card:hover .book-cover{transform:translateY(-4px)}.reader{max-width:880px;margin:15px auto 45px;background:#fffdf7;border:1px solid var(--line);box-shadow:0 15px 40px #453d2510;border-radius:12px;padding:35px 65px;text-align:center;min-height:470px}.reader-art svg{width:110px;height:110px}.reader h2{margin:12px 0 20px}.reader p{font:400 23px/1.8 var(--serif);color:var(--ink);min-height:160px}.reader-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.text-button{border:0;background:none;color:var(--red);font-size:12px;padding:8px}.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 45px}.family-card{padding:28px;background:#fffdf7;border:1px solid var(--line);border-radius:12px}.family-card h2{font-size:26px;margin:12px 0}.family-card p{font-size:13px;margin-bottom:20px}.family-card svg{width:80px;height:80px}.note{background:#eee8d8;border-radius:8px;padding:15px 20px;font-size:12px;color:var(--muted);margin-bottom:30px}footer{border-top:1px solid var(--line);padding:23px 5%;display:flex;gap:14px;align-items:center;max-width:1400px;margin:auto}footer span{font-family:var(--serif);font-size:14px}footer small{font:10px var(--sans);color:var(--muted);display:block;margin-top:4px}footer button{margin-left:auto}dialog{border:1px solid var(--line);border-radius:18px;background:var(--cream);color:var(--ink);padding:38px;max-width:560px;width:calc(100% - 32px);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#102f27a8;backdrop-filter:blur(5px)}dialog h2{margin:8px 0 15px}dialog p{margin:12px 0 20px}dialog .close{position:absolute;right:12px;top:6px;font-size:30px;background:none;border:0;color:var(--pine)}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:13px}.setting input{width:20px;height:20px;accent-color:var(--pine)}.setting small{display:block;color:var(--muted);font-size:11px}.snow{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:10}.snow i{position:absolute;top:-20px;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 4px #d5ab6280;animation:fall linear infinite;opacity:.6}@keyframes fall{to{transform:translate(70px,110vh)}}.no-motion .snow{display:none}.skip{position:absolute;top:-70px;padding:10px;background:white;z-index:50}.skip:focus{top:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--pine);color:white;border-radius:10px;padding:13px 24px;box-shadow:0 8px 30px #0003;z-index:30;max-width:90%;display:none}.success{padding:25px;border-radius:10px;background:#e8eddf;text-align:center}.drawing-actions{display:flex;gap:12px;justify-content:center;margin:12px 0}.book-mark{font-size:11px;color:var(--red);margin-bottom:10px}
@media(min-width:1500px){.hero{min-height:600px}.hero-art{min-height:490px}}@media(max-width:1000px){header{gap:16px;padding:18px 4%}nav{gap:15px;font-size:12px}.brand>span{font-size:20px}.brand img{width:46px;height:46px}.wrap{padding:0 28px}.hero{gap:25px}.hero-art{min-height:410px}.cards,.game-grid{gap:12px}.portal-copy{padding:14px}.calendar{gap:12px}.door{height:115px}.family-grid{grid-template-columns:1fr}.family-card{display:block}}@media(max-width:740px){header{flex-wrap:wrap;justify-content:space-between;padding-bottom:10px}.brand small{font-size:8px}.brand>span{font-size:21px}nav{order:3;width:100%;justify-content:space-between;margin:0;gap:8px;overflow:auto;font-size:12px}.icon-button{margin-left:auto}.wrap{padding:0 21px}.hero{grid-template-columns:1fr;padding-top:30px;gap:27px}.hero-copy{text-align:center}.eyebrow{justify-content:center}h1{font-size:44px;letter-spacing:-1px}.intro{margin:auto;font-size:14px}.actions,.countdown{justify-content:center}.hero-art{min-height:340px;max-width:500px;width:100%;justify-self:center;border-radius:130px 130px 14px 14px}.hero-art:after{border-radius:120px 120px 10px 10px}.cards,.game-grid{grid-template-columns:repeat(2,1fr);gap:13px}.portal-art{height:120px}.portal-copy h3{font-size:20px}.portal-copy p{min-height:52px}.section-head{align-items:start}.section-head .tiny{display:none}h2{font-size:28px}.family-band{flex-direction:column;text-align:center;padding:27px 20px;gap:18px}.family-band h3{font-size:25px}.calendar{grid-template-columns:repeat(4,1fr);gap:10px}.door{height:105px}.door b{font-size:30px}.door small{font-size:8px}.page-top h1{font-size:37px}.page-top .eyebrow{justify-content:flex-start}.stage{padding:20px 14px;min-height:320px}.game-buttons{gap:10px}.game-tile{min-height:90px}.star-row{font-size:35px;letter-spacing:3px}.number-row{gap:8px}.number-row button{width:47px;height:55px}.book-grid{grid-template-columns:1fr;max-width:330px;margin:25px auto 45px;gap:30px}.book-cover{height:290px}.reader{padding:28px 22px}.reader p{font-size:21px;min-height:240px}.reader-controls .button{padding:10px 14px}.family-card h2{font-size:26px}footer{padding:22px;flex-wrap:wrap}footer>span{font-size:12px}footer button{margin-left:48px;padding:0}.reader-art svg{height:80px}.countdown{gap:16px}.counter{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.snow{display:none}}
main:focus{outline:none}
/* La nuit enchantée : des couleurs franches, des gestes simples. */
:root{--sans:'Nunito','Segoe UI',sans-serif;--muted:#586c5c}
body{background:#123e40 url('winter-world.svg') center bottom/cover fixed;color:#fff0d1}header{border:0;background:#123c3de8;border-radius:0 0 24px 24px;position:relative;box-shadow:0 8px 28px #092c2c55}header:after{content:'✦     ●     ✦     ●     ✦     ●     ✦     ●     ✦     ●     ✦';position:absolute;bottom:-10px;left:3%;right:3%;text-align:center;font-size:15px;letter-spacing:12px;white-space:nowrap;overflow:hidden;color:#e7c06b;text-shadow:0 0 9px #f2c560b0;pointer-events:none}.ribbon{background:#a43842;color:#fff1d3;font-size:12px;letter-spacing:.5px}.brand small{color:#c4ddcc}.brand>span{color:#fff1d3}nav a{color:#d7e4d5;font-weight:700}nav a[aria-current=page]{color:#ffd480}nav a[aria-current=page]:after{background:#ffd480}.icon-button{color:#ffe1a1;border-color:#9ab6a155;background:#2c5751}.hero{padding-top:52px;padding-bottom:45px}.hero h1{color:#fff3d7}.hero h1 em{color:#f2c775}.hero .eyebrow,.page-top .eyebrow{color:#f2c775}.hero .intro,.page-top>p{color:#c9dfd1}.counter small,.countdown>span{color:#bed7c7}.counter b{color:#ffe1a1}.countdown{border-color:#90b4a43d}.button{font-size:14px;border-radius:16px;background:#bb414b;border-color:#cb5b60;box-shadow:0 5px 0 #762e3a;padding:13px 23px;min-height:48px;font-weight:800}.button:hover{transform:translateY(-2px);background:#ce535b}.button.secondary{background:#f0dfb5;border-color:#f8e8bf;color:#214c41;box-shadow:0 5px 0 #ac9460}.button.green{background:#337557;border-color:#5a9a74;box-shadow:0 5px 0 #174d38}.button.light{background:#f7dfa9;color:#244939;box-shadow:0 5px 0 #bb9b57}.section{border-color:#9ab8a43d}.section-head p,.section-head .tiny{color:#c6dac9}.portal{border:2px solid #e7d39f;border-radius:23px;background:#e6edcf;color:#284c3b;box-shadow:0 6px 0 #092e2d55}.portal:nth-child(2n){background:#f1dccb}.portal:nth-child(3n){background:#f4e5b9}.portal-art{background:#d6e5c5!important;border-bottom:1px solid #abc69c70;height:155px}.portal:nth-child(2n) .portal-art{background:#eccbbc!important}.portal:nth-child(3n) .portal-art{background:#efdda7!important}.portal:nth-child(4n) .portal-art{background:#c2ddd1!important}.portal-art svg{height:120px}.portal-copy h3{font-size:23px}.portal-copy p{font-size:13px;color:#536650;min-height:43px}.portal-copy>span{font-size:13px}.family-band{background:#154333;border:1px solid #b8c58a77;border-radius:22px;box-shadow:0 8px 0 #0a2e2b44}.family-band p{color:#cee0bd}.page-top h1{color:#fff0cc}.pill{background:#f5dfaa;color:#31513b;font-weight:800}.note{background:#245b50;color:#e4e9cd;border:1px solid #7eab8c55;border-radius:15px;font-size:13px}.tiny{color:#bed2bf}.text-button{color:#ffd78a;font-size:14px}.stage .text-button,.reader .text-button,.family-card .text-button,dialog .text-button{color:#a43742}.stage{background:#ecedcf;border:2px solid #f1d89d;color:#294d3d;border-radius:24px;box-shadow:0 10px 0 #092e2d55}.stage .tiny{color:#5d735c}.game-tile{border:2px solid #c6cfad;background:#d3e1ba;box-shadow:0 4px 0 #a1b48d;min-height:112px}.game-tile.revealed{background:#f6dda1}.game-tile.matched{background:#b9d7a5}.reader{background:#f5e9c7;color:#294d3d;border:3px solid #e3c27f;border-radius:24px;box-shadow:0 12px 0 #092e2d55}.reader .tiny{color:#667757}.reader p{color:#31503c}.book-cover{border-radius:10px 22px 22px 10px;border:2px solid #dfbf78;box-shadow:inset 10px 0 0 #0003,6px 8px 0 #c7b98c}.book-card>p{color:#d8e4ca;font-size:14px}.book-card>p span{color:#ffd78a!important}.book-card:nth-child(4) .book-cover{background:#3e646e}.book-card:nth-child(5) .book-cover{background:#655b87}.book-card:nth-child(6) .book-cover{background:#8d4e45}.family-card{background:#e8e7c7;color:#31503c;border:2px solid #dfc789;border-radius:24px}.family-card p{font-size:15px;color:#52654b}footer{border-color:#a5bba344;color:#d9e4cb;background:#123c3d88;border-radius:24px 24px 0 0}footer small{color:#acc8b4}dialog{background:#f3e7c5;color:#31503c;border:3px solid #d8b575;border-radius:25px}dialog .eyebrow{color:#a43742}dialog .tiny{color:#687356}dialog p{color:#54664e}.setting{border-color:#d5c7a5}dialog::backdrop{background:#082c35cf;backdrop-filter:blur(9px)}.game-grid{row-gap:26px}.advent-spotlight{display:flex;gap:30px;align-items:center;padding:30px 35px;border-radius:28px;background:linear-gradient(125deg,#a43847,#713447);border:2px solid #dfab69;box-shadow:0 10px 0 #092e2d55;margin:8px 0 30px}.spotlight-icon{flex:0 0 140px}.spotlight-icon svg{width:140px;filter:drop-shadow(0 12px 12px #0002)}.advent-spotlight .eyebrow{color:#ffdda0}.advent-spotlight h2{color:#fff2d1;font-size:30px;margin:6px 0 10px}.advent-spotlight p{color:#ecd6c6}.advent-spotlight .button{background:#f3d697;border-color:#ffe7b2;color:#643444;box-shadow:0 5px 0 #c49a58}.advent-spotlight .button.secondary{background:#fff1;color:#fff0cf;border-color:#e9bf8377;box-shadow:none}.gift-cta{font-size:17px;min-height:58px}.gift-cta svg{width:30px;height:30px}.calendar-progress{display:flex;gap:20px;align-items:center;justify-content:center;font-size:12px;color:#d2e4cb;font-weight:800;margin:25px 0 18px}.calendar-progress progress{height:13px;accent-color:#edc76f;max-width:280px;flex:1;border-radius:20px;overflow:hidden}.calendar-progress progress::-webkit-progress-bar{background:#396659;border-radius:20px}.calendar-progress progress::-webkit-progress-value{background:#edc76f;border-radius:20px}.calendar-guide{display:flex;justify-content:center;gap:35px;color:#e9ddbd;font-size:14px;margin-bottom:25px}.calendar{gap:18px}.door,.door:nth-child(3n+2),.door:nth-child(3n){height:175px;border-radius:22px;background:linear-gradient(155deg,#346853,#1e4f43);border:2px solid #b2c78c55;box-shadow:0 7px 0 #0a302e88;display:flex;align-items:center;flex-direction:column;padding:7px}.door:nth-child(3n+2){background:linear-gradient(145deg,#99434c,#733a46);border-color:#cd8d7855}.door:nth-child(3n){background:linear-gradient(145deg,#866b3b,#5f563b);border-color:#cdb77855}.door:before,.door:after{display:none}.door .door-art{width:85px;height:85px}.door svg{width:85px;height:85px;filter:drop-shadow(0 6px 3px #0003)}.door b{font:800 29px var(--sans);line-height:1;background:transparent;text-shadow:none;color:#fff1c9}.door small{margin-top:9px;font-size:10px;letter-spacing:1px;color:#d4e3ce}.door.locked{filter:saturate(.5);opacity:.65}.door.opened{outline:0;background:#3b6849;border-color:#e8c773}.door.next-gift{border:3px solid #ffda84;box-shadow:0 0 25px #ffe08a33,0 7px 0 #0a302e88;animation:gift-breathe 3s ease-in-out infinite}.gift-lock{position:absolute;right:12px;top:8px;font-size:20px;color:#d4dfc7}.unwrap-screen,.reward-screen{text-align:center;padding:28px 20px 55px;max-width:900px;margin:auto}.unwrap-screen .eyebrow,.reward-screen .eyebrow{justify-content:center;color:#f4d295}.unwrap-screen h1,.reward-screen h1{font-size:43px;margin:20px auto;max-width:700px}.unwrap-screen>p{color:#d0e0c9;font-size:18px}.unwrap-box{display:block;position:relative;width:280px;height:320px;margin:30px auto 15px;background:none;border:0;color:#fff1ca}.present-body{position:absolute;left:40px;top:115px;width:200px;height:150px;background:linear-gradient(135deg,#d45356,#a83345);border-radius:5px 5px 20px 20px;box-shadow:0 15px 25px #0003;overflow:hidden}.present-body:before{content:'';position:absolute;left:84px;top:0;height:100%;width:30px;background:#f0cf8d}.present-number{position:relative;z-index:1;background:#fff0c6;color:#a83d47;display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;font:800 36px var(--sans);margin-top:45px;border:3px solid #e1b565}.present-lid{position:absolute;z-index:2;width:222px;height:40px;left:29px;top:91px;border-radius:9px;background:linear-gradient(130deg,#ec6a64,#c14752);box-shadow:0 7px 0 #7d283c33;transform-origin:20% 50%}.present-lid:after{content:'';position:absolute;width:30px;height:100%;left:95px;background:#f4d597}.bow{position:absolute;font:120px/1 Georgia,serif;left:56px;top:-85px;color:#edc77a;transform:rotate(-5deg)}.sparkle{position:absolute;color:#ffe6a0;font-size:40px;animation:twinkle 2.5s ease-in-out infinite}.s1{left:0;top:55px}.s2{right:0;top:170px;animation-delay:1s}.touch-label{position:absolute;bottom:0;left:0;right:0;font:800 17px var(--sans);color:#ffe1a1}.unwrap-box:hover .present-lid{transform:rotate(-5deg) translateY(-5px)}.unwrap-box:focus-visible{outline:3px dashed #f1d28d;border-radius:25px}.unwrapping .present-lid{animation:unwrap-lid .85s ease-in forwards}.unwrapping .present-body{animation:present-wiggle .4s ease-in-out}.unwrapping .touch-label{opacity:0}.reward-art{width:150px;margin:22px auto 12px}.reward-art svg{width:150px;filter:drop-shadow(0 10px 15px #0003)}.reward-screen .gift-cta{margin-top:10px;min-width:250px}.mission-card{margin:35px auto 22px;max-width:600px;background:#346652;border:2px dashed #b6ca8a88;padding:23px;border-radius:23px}.mission-card h3{font:500 23px var(--serif);color:#ffe5ac;margin-bottom:10px}.mission-card p{color:#dce8cf;font-size:17px}.just-revealed{animation:reveal .5s ease-out}.locked-gift{width:110px;margin:auto}.center{justify-content:center}.color-prompt{display:flex;align-items:center;gap:20px;justify-content:center;flex-wrap:wrap;font-size:20px;margin:15px}.color-prompt strong{padding:18px 30px;border-radius:17px;color:white;box-shadow:0 5px 0 #0002}.color-choices{display:flex;justify-content:center;gap:30px;margin:40px 0}.color-gift{background:none;border:0;display:flex;align-items:center;flex-direction:column;gap:18px;font-size:17px;color:#31503c;min-width:100px}.mini-gift{display:block;width:95px;height:90px;border-radius:12px;background:var(--gift-color);position:relative;box-shadow:0 6px 0 #0002}.mini-gift:before{content:'';position:absolute;left:40px;width:15px;top:0;bottom:0;background:#fff1c2}.mini-gift:after{content:'';position:absolute;left:-5px;right:-5px;top:12px;height:17px;background:#fff1c2;border-radius:5px}.success>svg{width:110px;height:110px}.success h2{margin:15px 0}.success p{margin-bottom:25px}.bell-board{display:flex;justify-content:center;gap:22px;margin:35px 0}.bell{border:3px solid #fff2;border-radius:30px;width:140px;height:155px;color:white;box-shadow:0 7px 0 #0003;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:transform .15s,box-shadow .15s}.bell>span{font-size:65px;line-height:1}.bell-0{background:#b94745}.bell-1{background:#9d772c}.bell-2{background:#377258}.bell.lit{outline:5px solid #fff1ac;outline-offset:6px;box-shadow:0 0 45px #d7b65a;transform:translateY(-10px);filter:brightness(1.35)}.sound-toggle{display:flex;gap:8px;align-items:center;color:#31503c}.sound-toggle input{width:20px;height:20px;accent-color:#28634c}.puzzle-layout{display:flex;align-items:center;justify-content:center;gap:45px;margin:20px 0;flex-wrap:wrap}.puzzle-model{width:160px;height:160px;background:#dbe6c9;border-radius:15px;padding:10px;margin-top:15px}.puzzle-model svg{width:100%;height:100%}.puzzle-board{display:grid;grid-template-columns:repeat(2,1fr);width:260px;height:260px;margin-top:15px;gap:5px}.puzzle-piece{background:#d5e2c1;border:2px solid #a5b88e;border-radius:10px;padding:0;overflow:hidden}.puzzle-piece svg{width:100%;height:100%;display:block}.puzzle-piece.chosen{outline:4px solid #b94745;outline-offset:0;background:#f4dfab}.puzzle-piece:disabled{opacity:1;border-color:#589364}.snowman-layout{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}.snowman-layout>svg{width:300px;max-width:100%;height:340px}.snowman-tools{display:flex;flex-direction:column;gap:17px;max-width:310px}.snowman-tools h2{margin-bottom:10px}.story-question{background:#e6dab5;border-radius:15px;padding:15px;margin-top:22px;text-align:left;color:#36533f}.story-question summary{cursor:pointer;font-weight:800}.story-question p{font:500 18px/1.6 var(--sans);min-height:0;margin-top:12px}.no-motion *{animation:none!important;transition:none!important}
@keyframes gift-breathe{50%{box-shadow:0 0 35px #ffe08a66,0 7px 0 #0a302e88}}@keyframes twinkle{50%{opacity:.4;transform:scale(.8)}}@keyframes unwrap-lid{to{transform:translate(-55px,-135px) rotate(-26deg);opacity:0}}@keyframes present-wiggle{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:740px){header{border-radius:0 0 19px 19px;padding-bottom:16px}.hero{padding-top:38px}.hero h1{font-size:42px}.portal-copy h3{font-size:21px}.portal-art{height:125px}.portal-art svg{height:100px}.portal-copy p{font-size:12px;min-height:58px}.advent-spotlight{padding:24px 18px;gap:15px;flex-direction:column;text-align:center}.spotlight-icon{flex:0 0 auto;height:100px}.spotlight-icon svg{height:100px;width:100px}.advent-spotlight .eyebrow{justify-content:center}.advent-spotlight h2{font-size:27px}.advent-spotlight .actions{justify-content:center}.calendar{grid-template-columns:repeat(3,1fr);gap:14px}.door,.door:nth-child(3n+2),.door:nth-child(3n){height:151px;border-radius:17px}.door .door-art,.door svg{width:70px;height:70px}.door small{font-size:8px;letter-spacing:.3px}.door b{font-size:25px}.calendar-progress{gap:12px;flex-wrap:wrap}.calendar-progress progress{min-width:100px}.calendar-progress>span:last-child{display:none}.calendar-guide{font-size:11px;gap:10px;justify-content:space-between}.unwrap-screen,.reward-screen{padding:20px 0 35px}.unwrap-screen h1,.reward-screen h1{font-size:34px}.unwrap-box{transform:scale(.9);margin:15px auto 0}.mission-card{padding:20px}.mission-card h3{font-size:22px}.color-choices{gap:12px}.color-gift{min-width:75px;font-size:14px}.mini-gift{width:72px;height:75px}.mini-gift:before{left:29px;width:14px}.color-prompt{font-size:17px;gap:13px}.bell-board{gap:14px}.bell{width:82px;height:125px;border-radius:22px;font-size:13px}.bell>span{font-size:50px}.puzzle-layout{gap:20px}.puzzle-model{width:100px;height:100px}.puzzle-board{width:230px;height:230px}.stage .pill{font-size:10px}.snowman-layout{gap:25px}.snowman-tools{width:100%}.story-question p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.next-gift,.sparkle,.just-revealed,.unwrapping *{animation:none!important}}
.elf-welcome{display:flex;align-items:center;gap:40px;margin:10px 0 40px;padding:32px;border:2px solid #d8b875;border-radius:28px;background:#346853}.elf-portrait{flex:0 0 180px}.elf-portrait svg{width:180px}.elf-welcome .eyebrow{color:#f6d391}.elf-welcome h2{color:#fff1ce;margin:10px 0 15px}.elf-welcome p{color:#dce6cd}.elf-home{display:flex;align-items:center;gap:24px;background:#624254;border:2px solid #dfbc84;border-radius:24px;padding:25px;margin:0 0 30px}.elf-home>div:first-child{flex:0 0 95px}.elf-home svg{width:95px}.elf-home .eyebrow{color:#f1ce86}.elf-home h2{font-size:28px;margin:7px 0}.elf-home p{color:#e4d9cf;font-size:14px}.elf-home .button{margin-left:auto;white-space:nowrap}.prank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 40px}.prank-card{background:#f0dfb4;color:#31513e;text-align:left;border:2px solid #e6c47b;border-radius:20px;padding:24px;min-height:160px;box-shadow:0 5px 0 #0a302e66}.prank-card>span{font-size:10px;font-weight:800;letter-spacing:1px;color:#9c3d43}.prank-card h3{font:500 24px var(--serif);margin:12px 0}.prank-card small{font-size:12px}.prank-card.prepared{background:#bcd9b1;border-color:#80a66e}.prank-materials{background:#e4dbb8;padding:15px;border-radius:15px;margin:15px 0 25px}.prank-materials p{margin:5px 0 0}nav{gap:20px}@media(max-width:1100px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between;margin:0;font-size:13px}.icon-button{margin-left:auto}.prank-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:740px){nav{gap:10px;justify-content:flex-start;font-size:12px;padding-bottom:3px}.elf-welcome{padding:24px 20px;flex-direction:column;gap:15px;text-align:center}.elf-portrait{flex:0 0 auto}.elf-portrait svg{width:140px;height:140px}.elf-welcome .eyebrow{justify-content:center}.elf-home{flex-wrap:wrap;justify-content:center;text-align:center;padding:23px}.elf-home>div:first-child{flex:0 0 90px}.elf-home .eyebrow{justify-content:center}.elf-home .button{margin:auto}.prank-grid{grid-template-columns:1fr}.prank-card{min-height:145px}}
/* Les cadeaux jumeaux : un plateau de petits paquets illustrés. */
.memory-stage{background:linear-gradient(145deg,#e4ebce,#d7e2be);border:3px solid #e3c17e;padding:28px!important}.memory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.memory-levels{display:flex;gap:9px;background:#c5d4b1;border-radius:20px;padding:7px}.memory-level{border:2px solid transparent;border-radius:15px;background:transparent;color:#38573d;padding:9px 16px;min-height:64px}.memory-level span{display:block;font-size:10px;letter-spacing:.3px}.memory-level strong{font-size:18px;display:block}.memory-level.selected{background:#fff0c5;border-color:#e0b267;box-shadow:0 4px 0 #a8b48b}.memory-peek{font-size:12px;padding:10px 16px}.memory-score{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:12px auto 24px;max-width:820px;padding:12px 18px;border-radius:16px;background:#f5e8be;color:#36573e;font-weight:800;font-size:16px}#memory-stars{font-size:23px;color:#a57428;letter-spacing:3px}.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:820px;margin:0 auto;padding-bottom:10px}.memory-card{position:relative;aspect-ratio:4/5;min-width:0;background:none;border:0;padding:0;perspective:900px;border-radius:20px;-webkit-tap-highlight-color:transparent}.memory-card-inner{display:block;position:absolute;inset:0;border-radius:20px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.25,1)}.memory-card.turned .memory-card-inner{transform:rotateY(180deg)}.memory-back,.memory-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:3px solid #e6be76;overflow:hidden}.memory-back{background:radial-gradient(circle at 25% 15%,#d77c6b 0,transparent 50%),linear-gradient(145deg,#b74853,#85394c);box-shadow:0 7px 0 #a6b18b,0 9px 12px #52633f22}.memory-back:before{content:'';position:absolute;inset:8px;border:1px dashed #f6d99e88;border-radius:12px}.memory-back:after{content:'✧';position:absolute;left:13px;bottom:12px;font-size:25px;color:#edce8a}.memory-card:nth-child(3n+2) .memory-back{background:radial-gradient(circle at 25% 15%,#6f9d75 0,transparent 55%),linear-gradient(145deg,#397457,#28523f)}.memory-card:nth-child(3n) .memory-back{background:radial-gradient(circle at 25% 15%,#aaa1bd 0,transparent 55%),linear-gradient(145deg,#706087,#4c486b)}.memory-back-gift{width:65%;z-index:1;filter:drop-shadow(0 5px 5px #0003)}.memory-back-gift svg{width:100%;height:auto}.memory-back-stars{position:absolute;top:11px;right:16px;color:#ffe7ac;font-size:24px}.memory-back-number{position:absolute;bottom:11px;right:14px;color:#fff1c9;font-size:13px;font-weight:800}.memory-front{background:radial-gradient(circle at 50% 38%,#fff6db 0,#f4e1b0 65%);transform:rotateY(180deg);box-shadow:0 7px 0 #bba77d;border-color:#d8b367;padding:13px}.memory-front-picture{width:90%;display:block;filter:drop-shadow(0 6px 3px #85562322)}.memory-front-picture svg{width:100%;height:auto}.memory-front-name{font-size:14px;font-weight:800;color:#3f5a40;text-align:center;line-height:1.2;margin-top:4px;max-width:100%}.memory-card:not(:disabled):hover{transform:translateY(-3px)}.memory-card:disabled{opacity:1;cursor:default}.memory-card:focus-visible{outline:4px solid #bb414b;outline-offset:5px}.pair-check{position:absolute;top:8px;right:8px;border-radius:50%;width:24px;height:24px;background:#3f8258;color:white;font-size:16px;font-weight:800;display:none}.memory-card.pair-found .pair-check{display:block;animation:pair-pop .4s ease-out}.memory-card.pair-found .memory-front{background:radial-gradient(circle at 50% 38%,#eff8cf,#c4dca8);border-color:#5b9663;box-shadow:0 5px 0 #92b47b}.memory-card.pair-found .memory-front-picture{animation:pair-pop .4s ease-out}.memory-victory{display:flex;align-items:center;justify-content:center;gap:22px;background:#b8d4a2;border:2px solid #80a76d;border-radius:22px;padding:23px;margin:20px auto 0}.memory-victory>svg{width:90px;flex:0 0 90px}.memory-victory h2{font-size:27px}.memory-victory p{font-size:14px;margin-top:8px}.memory-victory .button{white-space:nowrap;font-size:13px}@keyframes pair-pop{50%{transform:scale(1.15)}}
/* Les petits trésors à conserver hors écran. */
.treasure-collection-link{text-align:center;margin:18px 0 25px}.treasure-screen{max-width:none;padding:20px 0 50px}.treasure-screen>.pill{margin-top:20px}.treasure-screen h1{font-size:40px}.treasure-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1fr);align-items:start;gap:40px;margin:30px 0;text-align:left}.treasure-preview{border-radius:22px;overflow:hidden;box-shadow:0 12px 0 #092f2c55;transform:rotate(-1deg)}.treasure-preview>svg{display:block;width:100%;height:auto}.treasure-details{padding-top:10px}.treasure-details>h2{font-size:27px;margin-bottom:16px}.treasure-message{font:500 21px/1.7 var(--serif);color:#f1e9cd}.treasure-details .mission-card{padding:20px;margin:25px 0}.treasure-details .mission-card h3{font-size:21px}.treasure-details .mission-card p{font-size:15px}.treasure-color-label{font-size:13px;font-weight:800;color:#e3d7b4}.treasure-details .swatches{margin:14px 0 25px}.treasure-details .swatch.selected{outline-color:#f7db9b}.treasure-details .actions{margin-bottom:20px}.treasure-details .gift-cta{font-size:14px}.treasure-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.treasure-mini-grid>a{display:flex;align-items:center;flex-direction:column;gap:5px;padding:12px 8px;background:#e5dbb8;border:1px solid #cfba84;border-radius:15px;text-align:center}.treasure-mini-grid svg{width:65px;height:65px}.treasure-mini-grid strong{font-size:16px;color:#a63b44}.treasure-mini-grid small{font-size:10px;line-height:1.4;color:#3f5c43}.treasure-mini-grid>a:hover{background:#d5dfb2}
/* Pistache : une présence discrète en bordure de l’écran. */
.wandering-elf{position:fixed;bottom:12px;left:16px;width:88px;height:118px;z-index:16;pointer-events:none;animation:elf-wander 34s linear infinite;filter:drop-shadow(0 5px 5px #0003)}.walking-elf-button{position:absolute;left:0;bottom:13px;width:82px;height:100px;background:none;border:0;padding:0;cursor:pointer;pointer-events:auto;border-radius:30px}.walking-elf-body{display:block;width:82px;height:90px;position:absolute;top:0;animation:elf-bob .6s ease-in-out infinite}.walking-elf-body svg{width:82px;height:90px}.elf-boot{position:absolute;width:23px;height:10px;background:#813140;border:2px solid #f2d49b;border-radius:8px;bottom:4px;transform-origin:50% -10px;animation:elf-step .6s ease-in-out infinite}.left-boot{left:19px}.right-boot{left:43px;animation-delay:-.3s}.elf-ground-shadow{position:absolute;width:70px;height:9px;background:#072b2a55;bottom:17px;left:5px;border-radius:50%}.elf-name-tag{position:absolute;bottom:0;left:9px;color:#fff0bf;font-weight:800;font-size:10px;background:#214f43;padding:0 8px;border:1px solid #c5b87488;border-radius:10px}.elf-rest{position:absolute;top:1px;right:0;pointer-events:auto;border-radius:50%;width:24px;height:24px;font-size:11px;background:#f1ddac;color:#32533e;border:1px solid #bb9c60;cursor:pointer;box-shadow:0 2px 5px #0002}.elf-resting,.elf-talking{animation-play-state:paused}.elf-resting *,.elf-talking *{animation-play-state:paused!important}.elf-chat{position:fixed;bottom:148px;left:20px;width:260px;background:#f4e4b9;color:#31533e;z-index:20;border:3px solid #d8b26b;border-radius:20px;padding:21px 18px 18px;box-shadow:0 9px 30px #0003}.elf-chat[hidden]{display:none}.elf-chat:after{content:'';position:absolute;bottom:-13px;left:30px;width:20px;height:20px;background:#f4e4b9;border-bottom:3px solid #d8b26b;border-right:3px solid #d8b26b;transform:rotate(45deg)}.elf-chat>strong{display:block;font:600 21px/1.3 var(--serif);padding-right:8px}.elf-chat p{font-size:14px;color:#506548;margin:12px 0}.elf-chat a{font-size:12px;font-weight:800;color:#a43c44}.elf-chat-close{position:absolute;right:5px;top:0;background:none;border:0;font-size:25px;color:#8b4441;padding:3px 8px}body.no-motion .wandering-elf,body.no-motion .wandering-elf *{animation:none!important}.walking-elf-button:focus-visible{outline:3px solid #f2d49b;outline-offset:3px}footer{padding-bottom:60px}
@keyframes elf-wander{0%,8%{transform:translateX(0)}45%,55%{transform:translateX(max(0px,calc(100vw - 124px)))}92%,100%{transform:translateX(0)}}
@keyframes elf-bob{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes elf-step{50%{transform:rotate(18deg) translateY(-2px)}}
@media(max-width:740px){.memory-stage{padding:18px 12px!important}.memory-toolbar{justify-content:center;gap:16px}.memory-levels{width:100%;justify-content:space-between;gap:3px;padding:5px}.memory-level{padding:8px 6px;min-height:60px;flex:1}.memory-level span{font-size:9px}.memory-level strong{font-size:17px}.memory-peek{font-size:12px;min-height:40px}.memory-score{gap:8px;padding:11px 9px;margin:6px 0 18px;font-size:13px}#memory-stars{font-size:17px;letter-spacing:1px}.memory-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.memory-board.pairs-4,.memory-board.pairs-8{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.memory-card{border-radius:13px;aspect-ratio:3/4}.memory-back,.memory-front,.memory-card-inner{border-radius:13px;border-width:2px}.memory-front{padding:6px}.memory-back:before{inset:5px;border-radius:8px}.memory-back-stars{top:4px;right:7px;font-size:17px}.memory-back-number{bottom:5px;right:8px;font-size:10px}.memory-back:after{bottom:4px;left:7px;font-size:16px}.memory-front-name{font-size:10px;margin-top:3px}.pairs-8 .memory-front-name,.pairs-4 .memory-front-name{font-size:8px}.pair-check{top:3px;right:3px;width:17px;height:17px;font-size:12px}.memory-victory{flex-direction:column;text-align:center;gap:12px;padding:22px}.memory-victory>svg{height:70px;flex:0 0 70px}.memory-victory h2{font-size:25px}.treasure-layout{grid-template-columns:1fr;gap:25px;margin-top:24px}.treasure-preview{max-width:380px;margin:auto;width:100%}.treasure-screen h1{font-size:32px}.treasure-details h2{font-size:26px}.treasure-message{font-size:20px}.treasure-details .actions{justify-content:center}.wandering-elf{bottom:7px;transform-origin:bottom center;zoom:.85}.elf-chat{bottom:123px;max-width:calc(100vw - 24px)}.treasure-mini-grid{gap:8px}.treasure-mini-grid small{font-size:9px}.treasure-mini-grid svg{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.wandering-elf,.wandering-elf *{animation:none!important}.memory-card-inner{transition:none!important}}
.memory-board{max-width:680px}.memory-card{aspect-ratio:1/1}.memory-score{max-width:680px}.memory-front-picture{width:72%}.memory-front-name{font-size:12px}.memory-back-gift{width:60%}.stage{position:relative;margin-top:105px}.elf-game-companion{position:absolute;animation:none;z-index:16}.elf-game-companion .walking-elf-body{animation:elf-bob 2s ease-in-out infinite}.elf-game-companion .elf-boot{animation:none}.elf-chat{max-height:calc(100vh - 30px);overflow:auto}.elf-chat:after{display:none}@media(max-width:740px){.memory-card{aspect-ratio:3/4}.memory-front-picture{width:90%}.memory-front-name{font-size:10px}.memory-board.pairs-8 .memory-front-name,.memory-board.pairs-4 .memory-front-name{font-size:8px}.elf-game-companion{zoom:1}.stage{margin-top:105px}}
/* L’atelier des jeux illustrés. */
.workshop-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:22px}.workshop-levels{display:flex;gap:7px;background:#c7d6b6;padding:6px;border-radius:18px}.workshop-level{border:2px solid transparent;border-radius:13px;background:transparent;color:#36563e;font-size:13px;padding:10px 17px;min-height:46px;font-weight:800}.workshop-level.selected{background:#fff0c3;border-color:#d8b36e;box-shadow:0 3px 0 #a3b08d}.workshop-stars{font-size:24px;letter-spacing:4px;color:#9a742a}.workshop-win{text-align:center;background:#b9d4a3;border:2px solid #8eb575;border-radius:23px;padding:25px;margin:25px auto 0;max-width:600px;animation:reveal .4s ease-out}.workshop-win>svg{width:90px;height:90px}.workshop-win h2{font-size:28px;margin:12px 0}.workshop-win p{color:#456444;font-size:15px;margin-bottom:22px}.forest-scene{position:relative;background:linear-gradient(#285c69,#43867d);border:4px solid #d1b67b;border-radius:26px;padding:40px 25px 20px;overflow:hidden}.forest-scene:before{content:'';position:absolute;width:160%;height:150px;background:#e0ebd8;bottom:-105px;left:-30%;border-radius:50%}.forest-moon{position:absolute;right:24px;top:5px;font-size:42px;color:#f4df9b}.forest-trees{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 25px;max-width:650px;margin:auto}.forest-trees.count-12{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 15px}.forest-tree{position:relative;background:none;border:0;border-radius:18px;min-width:0;min-height:125px;color:#f9efce;padding:0}.forest-tree-art{display:block;width:110px;max-width:100%;margin:auto;filter:drop-shadow(0 8px 3px #102c2433);transition:transform .3s}.forest-tree-art svg{display:block;width:100%;height:110px}.forest-tree-number{position:absolute;bottom:0;left:calc(50% - 12px);font-size:11px;background:#eef0cf;color:#39563e;border-radius:50%;width:24px;height:24px;padding-top:2px;font-weight:800}.forest-tree:hover .forest-tree-art{transform:rotate(-4deg) translateY(-3px)}.forest-tree:disabled{opacity:1}.forest-tree.forest-empty .forest-tree-art{opacity:.2;transform:scale(.85)}.forest-snow-puff{display:none;position:absolute;top:35%;left:calc(50% - 18px);font-size:36px;color:#e7f3e6}.forest-empty .forest-snow-puff{display:block;animation:pair-pop .4s ease-out}.forest-found .forest-tree-art{animation:pair-pop .6s ease-out;filter:drop-shadow(0 0 15px #ffe1a1)}.forest-hint-star{position:absolute;right:10px;top:10px;color:#ffe293;font-size:28px;animation:twinkle 1.5s infinite}.forest-rustle .forest-tree-art{animation:present-wiggle .5s ease-in-out 2}.constellation-sky{position:relative;max-width:720px;height:285px;background:radial-gradient(ellipse at top,#3f6483,#1b3c53);border:4px solid #bba26d;border-radius:25px;margin:10px auto 25px;box-shadow:inset 0 0 45px #0a283b55}.constellation-sky:before{content:'·     ✧                 ·       ·';position:absolute;top:20px;left:7%;right:5%;color:#becbc666;letter-spacing:13px;font-size:22px;pointer-events:none}.counting-star{position:absolute;transform:translate(-50%,-50%);background:none;border:0;color:#f1cd6b;width:65px;height:65px;padding:0;filter:drop-shadow(0 4px 2px #0003);border-radius:50%}.counting-star>span{font-size:55px;line-height:1}.counting-star small{display:none}.counting-star.counted{color:#fff0ac;filter:drop-shadow(0 0 10px #ffe38b)}.counting-star.counted small{position:absolute;display:block;bottom:-4px;right:0;border-radius:50%;width:23px;height:23px;background:#fff1ca;color:#4b5a3e;font-weight:800;font-size:12px;padding-top:2px}.sky-label{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:12px;color:#d3e1d6}.counting-numbers{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:680px;margin:auto}.number-cookie{border:3px solid #d7af6b;background:#f3d9a2;color:#5b623e;border-radius:18px;box-shadow:0 4px 0 #bda16c;width:57px;height:62px;font:800 25px var(--sans)}.number-cookie:disabled{opacity:.65}.creative-workshop{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:35px;align-items:start}.studio-art{display:block;width:100%;height:auto;max-width:520px;border-radius:25px;border:3px solid #c3ad76;box-shadow:0 7px 0 #afbb92;touch-action:manipulation}.creative-tools{display:flex;flex-direction:column;gap:16px;min-width:0}.creative-tools h2{font-size:29px;margin-bottom:2px}.creative-tools .button{font-size:12px;padding:11px 13px;min-height:44px}.tool-label{font-size:12px;letter-spacing:.5px;font-weight:800;color:#53714c}.tool-buttons{display:flex;gap:8px;flex-wrap:wrap}.tool-choice{flex:1;background:#d0dfb8;color:#3c5c3e;border:2px solid #acc594;border-radius:13px;min-height:46px;padding:7px 11px;font-size:12px;font-weight:800}.tool-choice.selected{background:#f9e5b3;border-color:#c19a54;box-shadow:0 3px 0 #b5b68c}.creative-tools .tiny{font-size:11px}.sorting-counter{text-align:center;font-size:15px;font-weight:800;color:#477044;margin:10px}.sorting-gift{position:relative;width:115px;height:110px;border-radius:10px;background:var(--sorting-color);margin:35px auto 0;box-shadow:0 7px 0 #a3b38b;cursor:grab}.sorting-gift:before{content:'';position:absolute;left:49px;width:18px;top:0;bottom:0;background:#ffe5b0}.sorting-gift-lid{position:absolute;left:-7px;right:-7px;top:-9px;height:23px;background:var(--sorting-color);border:3px solid #fff3;border-radius:7px}.sorting-gift>span{position:absolute;left:42px;top:40px;color:#fff5ce;font-size:30px;line-height:1;background:var(--sorting-color);border-radius:50%;width:37px;height:37px;text-align:center}.sorting-arrow{text-align:center;color:#64865b;font-size:32px;margin:6px 0}.sorting-baskets{display:flex;justify-content:center;gap:24px;margin:25px 0 30px}.sorting-basket{background:none;border:0;width:125px;max-width:23%;position:relative;color:#36563d;min-height:115px;padding:0;transition:transform .2s}.basket-handle{position:absolute;left:20%;top:-18px;width:60%;height:45px;border:8px solid var(--sorting-color);border-radius:40px 40px 0 0}.basket-front{display:block;position:relative;height:80px;background:var(--sorting-color);border:4px solid #fff2;border-radius:8px 8px 26px 26px;box-shadow:0 6px 0 #a3b38b}.basket-front:after{content:'';position:absolute;inset:8px;border:1px dashed #fff4;border-radius:4px 4px 17px 17px}.basket-front strong{font-size:34px;color:#fff0ca}.basket-label{display:block;font-size:12px;font-weight:800;margin-top:12px}.sorting-basket:hover,.sorting-basket.basket-hover{transform:translateY(-7px)}.bell-board{background:linear-gradient(#d4dfbb,#bdcfa4);border-radius:25px;border:2px solid #aec192;padding:30px 15px 25px;position:relative}.bell-board:before{content:'';position:absolute;height:5px;background:#a3925b;left:25px;right:25px;top:21px;border-radius:5px}.bell{position:relative;width:150px;height:170px;border-radius:25px;border:3px solid #f4e2ac;background:#3c694f!important;color:#cb5861;box-shadow:0 6px 0 #91a77d}.bell-1{color:#d2a647}.bell-2{color:#81bf83}.bell svg{width:105px;height:105px;filter:drop-shadow(0 5px 3px #0002)}.bell-color-name{font-size:12px;color:#f6edcd}.bell.lit{filter:brightness(1.25);outline:4px solid #eec969;box-shadow:0 0 30px #c6a64a;transform:translateY(-7px)}.bell-sequence{display:flex;justify-content:center;gap:15px;margin:18px 0 5px}.bell-sequence>span{display:flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:50%;border:2px dashed #9fb686;background:#d6e2c0;color:#6f895d;font-size:15px;font-weight:800}.bell-sequence>span.note-ready{border-style:solid;border-color:#b89c5c;background:#f1dfab;color:#806e3f}.bell-sequence>span.note-done{background:#61985b;color:#fff2c2;border-color:#4c824a}.jigsaw-scene-picker{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:20px 0 25px}.scene-choice{display:flex;align-items:center;gap:12px;flex:1;min-width:150px;max-width:260px;border:2px solid #a9be8f;background:#d1dfb8;border-radius:16px;padding:10px 13px;color:#39583e;font-size:12px;font-weight:800;text-align:left}.scene-choice svg{width:50px;height:50px;flex:0 0 50px}.scene-choice.selected{background:#f5e3b3;border-color:#c9a45a;box-shadow:0 4px 0 #b3b48c}.jigsaw-layout{display:flex;align-items:center;justify-content:center;gap:27px;flex-wrap:wrap}.jigsaw-board{display:grid;grid-template-columns:repeat(var(--jigsaw-cols),minmax(0,1fr));grid-template-rows:repeat(var(--jigsaw-rows),minmax(0,1fr));width:430px;max-width:100%;aspect-ratio:6/5;background:#658b70;border:7px solid #a48150;outline:3px solid #d8bb7b;border-radius:17px;gap:3px;overflow:hidden;box-shadow:0 9px 0 #adba8f}.jigsaw-slot{position:relative;min-width:0;min-height:0;border:0;padding:0;background:#b8c9a1;overflow:hidden;border-radius:4px}.jigsaw-slot>svg,.jigsaw-slot>.slot-ghost>svg{width:100%;height:100%;display:block}.slot-ghost{display:block;width:100%;height:100%;opacity:.17}.slot-outline{position:absolute;left:0;right:0;top:calc(50% - 13px);color:#73956c;font-size:23px;pointer-events:none}.jigsaw-slot.piece-placed{opacity:1;box-shadow:inset 0 0 0 2px #f1d28d}.jigsaw-help{display:flex;flex-direction:column;gap:15px;align-items:center;max-width:200px}.jigsaw-help .button{font-size:11px;padding:10px 15px}.jigsaw-mini{width:145px;border:4px solid #d5bd86;border-radius:12px;overflow:hidden}.jigsaw-mini svg{display:block;width:100%;height:auto}.jigsaw-help p{font-size:12px;color:#58744d;line-height:1.8}.jigsaw-tray{display:grid;grid-template-columns:repeat(var(--jigsaw-cols),minmax(0,1fr));max-width:500px;gap:13px;background:#c3d1af;border:2px dashed #a5bb8c;border-radius:20px;padding:18px;margin:20px auto 5px;min-height:80px}.jigsaw-tray:empty{display:none}.jigsaw-piece{min-width:0;border:3px solid #e5c587;border-radius:12px;padding:0;background:#e1c285;aspect-ratio:6/5;overflow:hidden;box-shadow:0 5px 0 #8da477;transition:transform .2s}.jigsaw-piece svg{width:100%;height:100%;display:block}.jigsaw-piece.chosen{outline:4px solid #b64150;outline-offset:3px;transform:translateY(-3px)}.jigsaw-piece:hover{transform:translateY(-4px)}.wrong-slot{animation:present-wiggle .35s ease-in-out}.friend-choices{display:flex;gap:12px}.friend-choice{background:#d0dfba;border:2px solid #a7bf8f;border-radius:16px;display:flex;align-items:center;justify-content:center;width:68px;height:63px;position:relative}.friend-choice.selected{border-color:#bd9654;background:#f8e5b4;box-shadow:0 3px 0 #b8b68b}.hat-thumbnail{display:block;width:38px;height:30px;border-radius:20px 20px 3px 3px;background:var(--friend-color);position:relative;border-bottom:8px solid #f6edcf}.hat-thumbnail:before{content:'';position:absolute;top:-5px;left:14px;width:10px;height:10px;border-radius:50%;background:#f5e9c6}.scarf-thumbnail{display:block;width:43px;height:13px;border-radius:5px;background:var(--friend-color);position:relative;transform:rotate(-8deg)}.scarf-thumbnail:before{content:'';position:absolute;top:7px;right:7px;width:12px;height:23px;border-radius:0 0 4px 4px;background:var(--friend-color)}.smile-choice{font-size:35px;color:#42644b}.snowfriend-studio .studio-art{height:auto;max-height:520px}
@media(max-width:740px){.workshop-bar{justify-content:center;gap:15px}.workshop-levels{gap:4px;padding:5px;max-width:100%}.workshop-level{font-size:11px;padding:8px 10px;min-height:43px}.workshop-stars{font-size:22px;letter-spacing:2px}.forest-scene{padding:35px 10px 15px;border-width:3px}.forest-trees{gap:5px}.forest-trees.count-12{gap:4px}.forest-tree{min-height:95px}.forest-tree-art{width:80px}.forest-tree-art svg{height:80px}.forest-trees.count-12 .forest-tree-art{width:62px}.forest-trees.count-12 .forest-tree-art svg{height:70px}.forest-tree-number{font-size:9px;width:20px;height:20px;left:calc(50% - 10px)}.forest-hint-star{right:0;top:8px;font-size:22px}.constellation-sky{height:250px;border-width:3px}.counting-star{width:43px;height:43px}.counting-star>span{font-size:40px}.counting-star.counted small{font-size:10px;width:19px;height:19px;bottom:-5px}.counting-numbers{gap:9px}.number-cookie{width:45px;height:51px;border-radius:14px;font-size:22px}.creative-workshop{grid-template-columns:1fr;gap:28px}.creative-tools{gap:16px}.creative-tools h2{font-size:26px}.creative-tools .button{min-height:45px}.studio-art{max-width:420px;margin:auto}.creative-tools .swatch{width:36px;height:36px}.sorting-baskets{gap:12px}.sorting-basket{width:85px;min-height:100px;max-width:23%}.basket-front{height:65px;border-radius:7px 7px 19px 19px;border-width:2px}.basket-handle{border-width:6px;top:-15px}.basket-front strong{font-size:26px}.basket-label{font-size:11px}.sorting-gift{width:95px;height:90px}.sorting-gift:before{left:40px;width:16px}.sorting-gift>span{left:32px;top:33px}.bell-board{gap:12px;padding:28px 12px 23px}.bell{width:80px;height:125px;border-radius:19px;border-width:2px}.bell svg{width:62px;height:75px}.bell-color-name{font-size:10px}.bell.lit{outline-width:3px;outline-offset:3px}.bell-sequence{gap:12px}.jigsaw-scene-picker{gap:8px}.scene-choice{min-width:0;flex:1;padding:10px 6px;gap:5px;flex-direction:column;max-width:none;text-align:center;font-size:9px;border-radius:13px}.scene-choice svg{width:42px;height:42px;flex:0 0 42px}.jigsaw-layout{gap:22px}.jigsaw-board{width:100%;border-width:5px;outline-width:2px;gap:2px}.jigsaw-help{flex-direction:row;justify-content:center;flex-wrap:wrap;max-width:none;gap:15px}.jigsaw-mini{width:80px}.jigsaw-help p{font-size:10px}.jigsaw-help .button{font-size:11px}.jigsaw-tray{padding:12px;gap:12px;border-radius:16px}.jigsaw-piece{border-radius:8px;border-width:2px}.workshop-win{padding:22px 15px}.workshop-win h2{font-size:26px}}
.bell>.bell-color-name{font-size:12px;line-height:1.2}.elf-friend-hero{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;padding:32px;background:linear-gradient(130deg,#326b53,#28584c);border:2px solid #d5b578;border-radius:28px;margin:0 0 32px}.elf-hub-portrait svg{width:180px;height:180px;filter:drop-shadow(0 10px 7px #0002)}.elf-friend-hero .eyebrow{color:#f1ce88}.elf-friend-hero #elf-hub-message{font:500 24px/1.6 var(--serif);color:#f8e8bf;min-height:80px;margin:10px 0 20px}.elf-friend-hero .tiny{margin-top:18px}.elf-friend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:35px}.elf-friend-card{padding:27px;border-radius:24px;background:#e4e7c7;color:#36533d;border:2px solid #d8bc7f;box-shadow:0 7px 0 #0c333255}.elf-friend-card:nth-child(2){background:#efdbc8}.elf-friend-card:nth-child(3){background:#d7e3c5}.elf-friend-card:nth-child(4){background:#e1d5e2}.elf-friend-card h2{font-size:28px;margin:10px 0 15px}.elf-friend-card p{font-size:15px;color:#55704d;margin-bottom:20px}.elf-friend-card .button{font-size:12px}.elf-section-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff2c2;border-radius:16px;color:#a3484c;font-size:28px;box-shadow:0 3px 0 #c4b483}.elf-action-buttons{display:flex;flex-wrap:wrap;gap:14px}.elf-friend-card small{display:block;font-size:12px;color:#607e53;margin-top:19px}#elf-joke strong{font:500 22px/1.5 var(--serif);display:block;margin-bottom:15px}#elf-joke details{border-radius:13px;background:#e0c9b0;padding:13px;margin-bottom:20px}#elf-joke summary{cursor:pointer;font-size:13px;font-weight:800}#elf-joke details p{margin:14px 0 0}.elf-hat-choices{display:flex;gap:12px;flex-wrap:wrap}.elf-hat-choice{background:#c5b5ce;border:2px solid #ac97b7;border-radius:16px;width:67px;height:65px;display:flex;align-items:center;justify-content:center}.elf-hat-choice.selected{background:#f4dfae;border-color:#c2a362;box-shadow:0 4px 0 #af9b85}.elf-chat-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.elf-chat-actions button{background:#d2dfb7;color:#315342;border:1px solid #a1b383;border-radius:10px;font:800 11px var(--sans);padding:7px 9px;min-height:33px}.reset-calendar-box{border-top:1px solid #c7b891;margin-top:25px;padding-top:20px}.reset-calendar-box h3{font:500 23px var(--serif)}.reset-calendar-box p{font-size:13px}.reset-calendar-button{font-size:12px!important}.fresh-elf-line{animation:reveal .3s ease-out}.elf-dancing .walking-elf-body{animation:elf-dance .8s ease-in-out 4!important;animation-play-state:running!important}.elf-giggling .walking-elf-body{animation:elf-giggle .25s ease-in-out 10!important;animation-play-state:running!important}.elf-snacking .walking-elf-body{animation:elf-munch .4s ease-in-out 7!important;animation-play-state:running!important}.elf-snacking:after{content:'🍪';position:absolute;top:38px;right:0;font-size:24px;pointer-events:none}.no-motion .elf-dancing .walking-elf-body,.no-motion .elf-giggling .walking-elf-body,.no-motion .elf-snacking .walking-elf-body{animation:none!important}@keyframes elf-dance{25%{transform:translateY(-8px) rotate(-15deg)}75%{transform:translateY(-5px) rotate(15deg)}}@keyframes elf-giggle{50%{transform:rotate(7deg) translateX(3px)}}@keyframes elf-munch{50%{transform:scale(1.07) rotate(-4deg)}}@media(max-width:740px){.bell>.bell-color-name{font-size:10px}.elf-friend-hero{grid-template-columns:1fr;text-align:center;gap:15px;padding:24px 18px}.elf-hub-portrait svg{width:125px;height:125px}.elf-friend-hero .eyebrow{justify-content:center}.elf-friend-hero #elf-hub-message{font-size:22px;min-height:110px}.elf-friend-grid{grid-template-columns:1fr;gap:20px}.elf-friend-card{padding:23px}.elf-friend-card h2{font-size:27px}.elf-action-buttons{flex-direction:column}.elf-hat-choice{width:58px;height:60px}.elf-hat-choices{gap:10px}.reset-calendar-button{width:100%;font-size:11px!important}}@media(prefers-reduced-motion:reduce){.elf-dancing .walking-elf-body,.elf-giggling .walking-elf-body,.elf-snacking .walking-elf-body{animation:none!important}}
.jigsaw-tray{grid-template-columns:repeat(var(--jigsaw-tray-cols),minmax(0,1fr));max-width:650px}.jigsaw-piece{aspect-ratio:var(--jigsaw-piece-ratio)}@media(max-width:740px){.jigsaw-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.jigsaw-tray[data-size="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:10px}}
/* La danse de Pistache : le corps est articulé, et la promenade s’arrête. */
.elf-rig{overflow:visible;display:block}.walking-elf-body{height:106px;top:-7px}.walking-elf-body .elf-rig{width:82px;height:105px}.walking-elf-button .elf-boot,.wandering-elf .elf-ground-shadow{display:none}#elf-hub-portrait .elf-rig{width:180px;height:220px}.elf-performance{height:245px;border-radius:22px;background:radial-gradient(ellipse at 50% 65%,#fff1c5,#d0dfb9 70%);border:2px solid #b3c58f;margin:16px 0 8px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.elf-performance:before{content:'';position:absolute;bottom:17px;width:190px;height:18px;border-radius:50%;background:#9fb58355}.elf-performance .elf-rig{width:180px;height:220px;position:relative}.elf-performance-caption{min-height:45px;font-size:13px!important;font-weight:800;text-align:center;margin:12px 0 20px!important}.elf-performing{animation-play-state:paused!important}.elf-performing .walking-elf-body{animation:none!important;transform:none!important}.elf-performing.elf-snacking:after{display:none}.rig-dance-body{transform-box:fill-box;transform-origin:50% 93%}.rig-left-arm{transform-box:view-box;transform-origin:64px 106px}.rig-right-arm{transform-box:view-box;transform-origin:116px 106px}.rig-left-leg{transform-box:view-box;transform-origin:73px 154px}.rig-right-leg{transform-box:view-box;transform-origin:106px 154px}.rig-head{transform-box:view-box;transform-origin:90px 100px}.rig-hat{transform-box:view-box;transform-origin:90px 55px}.rig-cookie,.rig-laugh-eyes,.rig-laugh-mouth,.rig-chew-mouth,.rig-ha,.rig-hearts,.rig-sparkles,.rig-cookie-bite{opacity:0}.elf-performing .elf-rig *{animation-play-state:running!important}.elf-dancing .rig-dance-body{animation:rig-party-body 3s ease-in-out 2!important}.elf-dancing.elf-dance-style-1 .rig-dance-body{animation:rig-hopping-body 3s ease-in-out 2!important}.elf-dancing.elf-dance-style-2 .rig-dance-body{animation:rig-twirl-body 3s ease-in-out 2!important}.elf-dancing .rig-left-arm{animation:rig-wave-left .75s ease-in-out 8!important}.elf-dancing .rig-right-arm{animation:rig-wave-right .75s ease-in-out 8!important}.elf-dancing .rig-left-leg{animation:rig-kick-left .75s ease-in-out 8!important}.elf-dancing .rig-right-leg{animation:rig-kick-right .75s ease-in-out 8!important}.elf-dancing .rig-head{animation:rig-head-bop .75s ease-in-out 8!important}.elf-dancing .rig-hat{animation:rig-hat-bounce .75s ease-in-out 8!important}.elf-dancing .rig-sparkles{opacity:1}.elf-dancing .rig-spark,.elf-dancing .rig-note{transform-box:fill-box;transform-origin:center;animation:rig-stars 1.5s ease-out 4!important}.elf-dancing .spark-two,.elf-dancing .note-two{animation-delay:.35s!important}.elf-dancing .spark-three{animation-delay:.7s!important}.elf-dancing .rig-shadow{transform-box:fill-box;transform-origin:center;animation:rig-shadow-dance .75s ease-in-out 8!important}.elf-giggling .rig-dance-body{animation:rig-laugh-body .4s ease-in-out 15!important}.elf-giggling .rig-head{animation:rig-laugh-head .4s ease-in-out 15!important}.elf-giggling .rig-left-arm{animation:rig-tickle-left .4s ease-in-out 15!important}.elf-giggling .rig-right-arm{animation:rig-tickle-right .4s ease-in-out 15!important}.elf-giggling .rig-eyes,.elf-giggling .rig-smile{opacity:0}.elf-giggling .rig-laugh-eyes,.elf-giggling .rig-laugh-mouth{opacity:1}.elf-giggling .rig-ha{animation:rig-giggle-text 1.2s ease-out 5!important}.elf-snacking .rig-cookie{opacity:1;animation:rig-eat-cookie 6s linear 1!important}.elf-snacking .rig-right-arm{animation:rig-eating-arm 2s ease-in-out 3!important}.elf-snacking .rig-head{animation:rig-head-bop .5s ease-in-out 12!important}.elf-snacking .rig-smile{opacity:0}.elf-snacking .rig-chew-mouth{opacity:1;transform-box:fill-box;transform-origin:center;animation:rig-chew .4s ease-in-out 15!important}.elf-snacking .rig-cookie-bite{animation:rig-show-bite 6s linear 1!important}.elf-snacking .rig-hearts{animation:rig-cookie-hearts 2s ease-out 3!important}
@keyframes rig-party-body{0%,100%{transform:translateY(0) rotate(0) scaleX(1)}10%{transform:translateY(-22px) rotate(-7deg) scaleX(1)}20%{transform:translateY(0) rotate(5deg) scaleX(1)}32%{transform:translateY(-13px) rotate(0) scaleX(1)}40%{transform:translateY(-10px) rotate(0) scaleX(.15)}50%{transform:translateY(-10px) rotate(0) scaleX(-1)}60%{transform:translateY(-10px) rotate(0) scaleX(.15)}70%{transform:translateY(0) rotate(0) scaleX(1)}85%{transform:translateY(-28px) rotate(8deg) scaleX(1)}}
@keyframes rig-hopping-body{0%,100%{transform:translate(0,0) rotate(0)}15%{transform:translate(-15px,-28px) rotate(-10deg)}30%{transform:translate(-10px,0) rotate(0)}45%{transform:translate(15px,-28px) rotate(10deg)}60%{transform:translate(10px,0) rotate(0)}80%{transform:translate(0,-36px) rotate(-5deg)}}
@keyframes rig-twirl-body{0%,100%{transform:translateY(0) rotate(0) scaleX(1)}15%{transform:translateY(-15px) rotate(-10deg) scaleX(1)}30%{transform:translateY(-10px) rotate(0) scaleX(.1)}45%{transform:translateY(-10px) rotate(0) scaleX(-1)}60%{transform:translateY(-10px) rotate(0) scaleX(.1)}75%{transform:translateY(-24px) rotate(10deg) scaleX(1)}90%{transform:translateY(0) rotate(-4deg) scaleX(1)}}
@keyframes rig-wave-left{0%,100%{transform:rotate(0)}50%{transform:rotate(115deg)}}@keyframes rig-wave-right{0%,100%{transform:rotate(-110deg)}50%{transform:rotate(0)}}@keyframes rig-kick-left{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(30deg)}75%{transform:rotate(-12deg)}}@keyframes rig-kick-right{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-30deg)}}@keyframes rig-head-bop{50%{transform:translateY(-3px) rotate(5deg)}}@keyframes rig-hat-bounce{50%{transform:translateY(-3px) rotate(-4deg)}}@keyframes rig-stars{0%,100%{opacity:0;transform:translateY(5px) scale(.6) rotate(0)}30%{opacity:1;transform:translateY(-8px) scale(1.2) rotate(15deg)}80%{opacity:.5;transform:translateY(-24px) scale(.9) rotate(30deg)}}@keyframes rig-shadow-dance{50%{transform:scaleX(.65);opacity:.5}}
@keyframes rig-laugh-body{25%{transform:translateY(-3px) rotate(-4deg)}75%{transform:translateY(-3px) rotate(4deg)}}@keyframes rig-laugh-head{25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}@keyframes rig-tickle-left{50%{transform:rotate(35deg)}}@keyframes rig-tickle-right{50%{transform:rotate(-35deg)}}@keyframes rig-giggle-text{0%,100%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:.6;transform:translateY(-13px)}}
@keyframes rig-eating-arm{0%,100%{transform:rotate(0)}35%,70%{transform:rotate(-145deg)}}@keyframes rig-eat-cookie{0%,25%{opacity:1}30%,60%{opacity:1;transform:scale(.9);transform-origin:149px 132px}65%,90%{opacity:1;transform:scale(.7);transform-origin:149px 132px}100%{opacity:0;transform:scale(.3);transform-origin:149px 132px}}@keyframes rig-show-bite{0%,25%{opacity:0}30%,100%{opacity:1}}@keyframes rig-chew{50%{transform:scale(.6,1.2)}}@keyframes rig-cookie-hearts{0%,100%{opacity:0;transform:translateY(0)}35%{opacity:1}80%{opacity:.4;transform:translateY(-16px)}}
@media(max-width:740px){#elf-hub-portrait .elf-rig{width:140px;height:170px}.elf-performance{height:230px}.elf-performance .elf-rig{width:170px;height:205px}}
body.no-motion .elf-performing .elf-rig *,body.no-motion .elf-performing .walking-elf-body{animation:none!important}.no-motion .elf-dancing .rig-left-arm{transform:rotate(100deg)}.no-motion .elf-dancing .rig-right-arm{transform:rotate(-100deg)}.no-motion .elf-dancing .rig-sparkles{opacity:1}.no-motion .elf-giggling .rig-ha{opacity:1}.no-motion .elf-snacking .rig-cookie{opacity:1}@media(prefers-reduced-motion:reduce){.elf-performing .elf-rig *,.elf-performing .walking-elf-body{animation:none!important}.elf-dancing .rig-left-arm{transform:rotate(100deg)}.elf-dancing .rig-right-arm{transform:rotate(-100deg)}.elf-dancing .rig-sparkles{opacity:1}.elf-giggling .rig-ha{opacity:1}.elf-snacking .rig-cookie{opacity:1}}
.elf-performance{height:300px}@media(max-width:740px){.elf-performance{height:275px}}
.wandering-elf:not(.elf-performing):not(.elf-resting):not(.elf-game-companion) .rig-left-leg{animation:rig-walk-leg .6s ease-in-out infinite}.wandering-elf:not(.elf-performing):not(.elf-resting):not(.elf-game-companion) .rig-right-leg{animation:rig-walk-leg .6s ease-in-out -.3s infinite}.wandering-elf:not(.elf-performing):not(.elf-resting):not(.elf-game-companion) .rig-left-arm{animation:rig-walk-arm .6s ease-in-out -.3s infinite}.wandering-elf:not(.elf-performing):not(.elf-resting):not(.elf-game-companion) .rig-right-arm{animation:rig-walk-arm .6s ease-in-out infinite}@keyframes rig-walk-leg{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes rig-walk-arm{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@media(prefers-reduced-motion:reduce){.wandering-elf .elf-rig *{animation:none!important}}
/* Les messages restent séparés du personnage ; les actions dégagent sa scène. */
.elf-chat{z-index:20;overflow-y:auto;overscroll-behavior:contain}.wandering-elf.elf-performing .walking-elf-body{width:112px;height:150px;left:-15px;top:-48px}.wandering-elf.elf-performing .walking-elf-body .elf-rig{width:112px;height:145px}.wandering-elf.elf-performing .elf-rest{top:-37px;right:-12px}.wandering-elf.elf-performing .elf-name-tag{bottom:-3px}.elf-chat-actions button{min-height:38px}
