@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--green:#153d32;--green2:#2b5846;--cream:#faf8f3;--ink:#263b32;--muted:#758078;--line:#e6e8de;--gold:#b58b42;--red:#ad493c;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:14px;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c49a4e;outline-offset:4px}button{border:0}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}svg{display:block;max-width:100%}.demo-ribbon{background:var(--green);color:#f1ead5;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:.35px}.demo-ribbon span{opacity:.75}.header{height:100px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;gap:11px;font-family:var(--serif);font-size:26px;line-height:1.05;letter-spacing:-1.1px}.brand i{font-weight:400;color:var(--red)}.brand small{display:block;font:8px var(--sans);letter-spacing:2.1px;margin-top:9px;color:var(--muted)}.brand-icon{font-family:Georgia;font-size:48px;color:var(--green);line-height:1}.profile-button{display:flex;align-items:center;gap:10px;background:transparent;min-height:44px}.avatar{display:grid;place-items:center;width:35px;height:35px;background:#eadfcd;border:3px solid white;border-radius:50%;font-weight:600;font-size:12px}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr);padding:0 48px}.sidebar{border-right:1px solid var(--line);padding:38px 24px 40px 0;position:relative}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}.mode-nav{display:grid;gap:10px;margin-top:22px}.mode-nav button{display:flex;text-align:left;align-items:center;gap:12px;padding:14px 13px;background:transparent;border-radius:9px;min-height:64px;font-size:12px;font-weight:600}.mode-nav button>span:first-child{font-size:23px;width:26px;text-align:center;font-weight:400}.mode-nav small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--muted)}.mode-nav button.active{background:#e9eee5;color:var(--green)}.sidebar-note{margin-top:75px;border:1px solid #e3dfd1;padding:26px 15px;border-radius:80px 80px 10px 10px;text-align:center;background:linear-gradient(#f6f1e5,#faf8f3)}.sidebar-note>span{font-size:36px;color:var(--gold)}.sidebar-note p{font:17px/1.6 var(--serif)}.sidebar-note em{color:var(--red)}.mini-stars{color:var(--gold);letter-spacing:8px;font-size:15px}.quiet{background:transparent;font-size:11px;color:var(--muted);min-height:44px}.reset-button{margin-top:28px;width:100%;text-align:left}main{padding:32px 0 45px 36px;min-width:0}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;color:var(--muted)}.welcome strong{color:var(--green);font-weight:500}.christmas-pill{background:#f0e9d9;color:#856a32;border-radius:20px;padding:7px 12px;font-size:10px;white-space:nowrap}.hero{background:var(--green);border-radius:13px;min-height:230px;color:#fff9e9;display:flex;overflow:hidden;position:relative;padding:35px 36px;align-items:center}.hero-copy{position:relative;z-index:1;width:64%}.hero .eyebrow{color:#d9c799;font-size:9px}.hero h1{font:400 42px/1.12 var(--serif);letter-spacing:-1.4px;margin:14px 0}.hero h1 em{font-weight:400;color:#e3c68e}.hero p{font-size:12px;line-height:1.8;color:#d1ddd0;max-width:320px;margin:0}.hero-art{position:absolute;right:0;bottom:-4px;width:40%;height:100%;max-width:340px}.hero:before{content:'✧';position:absolute;left:51%;top:16px;color:#c7a55b;font-size:28px}.hero:after{content:'· ✦ ·';position:absolute;right:21px;top:25px;color:#cfb777;letter-spacing:8px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 17px}.section-title h2{font:400 26px var(--serif);letter-spacing:-.6px;margin:0}.section-title p{font-size:11px;color:var(--muted);margin:7px 0 0}.primary,.secondary,.outline,.danger{min-height:44px;border-radius:7px;padding:11px 17px;font-weight:600;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none}.primary{background:var(--green);color:#fffaf0}.primary:hover{background:#28604b}.secondary{background:#ede8dc;color:var(--green)}.outline{border:1px solid var(--line);background:white}.danger{background:#fae9e4;color:#a44536}.plus{font-size:20px;font-weight:400}.children{display:flex;gap:9px;overflow:auto;scrollbar-width:none;padding:1px 1px 5px}.child-chip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:25px;padding:7px 15px 7px 8px;min-height:44px;white-space:nowrap;font-size:12px}.child-chip.active{background:var(--green);color:white;border-color:var(--green)}.child-emoji{background:#f6e6d6;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;font-size:18px}.child-chip small{font-size:10px;opacity:.65}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 14px}.list-toolbar>span{font-size:11px;color:var(--muted)}.text-link{background:transparent;color:var(--green);min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gift{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;min-width:0}.gift.selected{border:2px solid var(--green);box-shadow:0 0 0 3px #153d320d}.gift.selected .gift-art{margin:-1px -1px 0}.gift-art{height:174px;position:relative;display:flex;align-items:center;justify-content:center;background:#eef1e8}.gift-art svg{height:145px;width:220px}.gift-art.blocks{background:#f3e9db}.gift-art.book{background:#e9edf2}.gift-art.camera{background:#f3e4e0}.gift-art.telescope{background:#ece9f3}.gift-art.headphones{background:#e4ede4}.rank-badge{position:absolute;top:12px;left:12px;background:#fffdf3ed;color:#735b2b;border-radius:5px;padding:6px 9px;font-size:10px;display:flex;gap:4px;align-items:center}.secret-badge{background:#e8e0f0;color:#664878}.select-gift{position:absolute;top:12px;right:12px;border:1px solid #bcc6b9;background:white;min-width:38px;min-height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px}.selected .select-gift{background:var(--green);color:white;border-color:var(--green)}.gift-body{padding:17px 18px}.gift h3{font-size:14px;line-height:1.5;margin:0 0 5px;font-weight:600}.gift-description{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 12px;min-height:36px}.store{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;margin:9px 0}.store a{text-underline-offset:3px}.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f1f0ea;padding-top:11px;margin-top:12px;gap:8px}.card-foot .price{font:500 23px var(--serif)}.favorite{color:var(--gold);font-size:12px}.order-buttons{display:flex;gap:5px}.icon-button{display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:16px}.funding{margin-top:15px}.funding-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:6px}.funding-label strong{font-weight:600;color:var(--green)}.progress{background:#ecefe7;height:5px;border-radius:4px;margin:9px 0;overflow:hidden}.progress>span{display:block;height:100%;background:#6b8e68;border-radius:4px}.funding small{font-size:9px;color:var(--muted)}.parent-controls{display:flex;gap:7px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;flex-wrap:wrap}.parent-controls button{flex:1;min-height:38px;min-width:70px;font-size:10px;border-radius:5px;background:#f4f5f0}.parent-controls button.active{background:#e2ecdf;color:#315d33}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:16px}.stat strong{font:26px var(--serif);display:block}.stat span{color:var(--muted);font-size:10px;display:block;margin-top:5px}.note{border:1px dashed #d3d8c8;border-radius:8px;margin:23px 0 0;padding:14px 17px;color:#74816c;font-size:11px;line-height:1.8;display:flex;gap:10px;align-items:center}.note>span{font-size:22px;color:var(--gold)}.page-footer{text-align:center;font-size:10px;color:#8c9387;margin-top:30px}.page-footer span{color:var(--red)}.mobile-nav{display:none}.contribute-tray{position:fixed;z-index:10;bottom:22px;left:calc(50% + 120px);transform:translateX(-50%);width:min(680px,calc(100% - 360px));display:flex;align-items:center;justify-content:space-between;background:#fffdf7ee;backdrop-filter:blur(16px);box-shadow:0 6px 40px #173c3229;border:1px solid #e0e3d6;padding:14px 18px;border-radius:12px;gap:12px}.contribute-tray strong{font-size:12px;display:block}.contribute-tray small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.with-tray{padding-bottom:110px}.subnav{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:20px 0 0}.subnav button{background:transparent;padding:14px 12px;border-bottom:2px solid transparent;font-size:11px;min-height:44px}.subnav .active{color:var(--green);border-color:var(--green);font-weight:700}.count{display:inline-block;margin-left:5px;font-size:9px;background:#ebe6d9;border-radius:12px;padding:2px 6px}.empty{padding:45px 20px;text-align:center;border:1px dashed var(--line);border-radius:10px;grid-column:1/-1}.empty>span{font-size:36px}.empty h3{font:24px var(--serif)}.empty p{font-size:12px;color:var(--muted);line-height:1.8}.promise-row{background:#fff;border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:18px;display:flex;align-items:flex-start;gap:12px}.promise-row h3{font-size:13px;margin:0 0 6px}.promise-row p{font-size:11px;color:var(--muted);margin:5px 0;line-height:1.7}.promise-row .amount{margin-left:auto;white-space:nowrap;font:24px var(--serif)}dialog{border:0;border-radius:16px;padding:28px;width:min(490px,calc(100% - 30px));max-height:88dvh;overflow:auto;color:var(--ink);box-shadow:0 20px 100px #0c241a55;background:var(--cream)}dialog::backdrop{background:#112b2570;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-heading h2{font:29px/1.2 var(--serif);margin:3px 0 10px;letter-spacing:-.8px}.close-dialog{border:0;background:#eaece3;border-radius:50%;font-size:22px;width:35px;height:35px;flex-shrink:0}.dialog-intro{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 20px}.field{display:block;font-size:11px;font-weight:600;margin:16px 0}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #d7dcce;border-radius:7px;min-height:46px;padding:11px 12px;margin-top:7px;color:var(--ink);background:#fff;font-size:16px}.field textarea{min-height:75px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{min-width:0}.form-actions{display:flex;gap:8px;margin-top:22px}.form-actions button{flex:1}.form-hint{font-size:10px;line-height:1.8;color:var(--muted);margin:9px 0}.form-error{font-size:12px;color:#a4382d;line-height:1.6}.allocation-line{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.allocation-line strong{margin-left:auto;white-space:nowrap}.allocation-order{display:flex;gap:3px}.allocation-order button{min-width:32px;min-height:36px}.success-symbol{width:70px;height:70px;display:grid;place-items:center;background:#e4edde;color:var(--green);border-radius:50%;font-size:32px;margin:12px auto 18px}.success{text-align:center}.success h2{font:30px var(--serif)}.success p{font-size:13px;line-height:1.8;color:var(--muted)}.success .primary{width:100%;margin-top:14px}.secret-note{background:#eee8f3;color:#755983;padding:11px 13px;border-radius:7px;font-size:11px;line-height:1.7;margin-bottom:16px}.profile-choices{display:grid;gap:10px}.profile-choices button{min-height:64px;background:white;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:12px;gap:12px;text-align:left}.profile-choices small{display:block;color:var(--muted);font-size:10px;margin-top:4px}#toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--green);color:white;padding:13px 20px;max-width:calc(100% - 30px);width:max-content;border-radius:8px;box-shadow:0 5px 25px #0002;z-index:40;font-size:12px;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.reveal{animation:none}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1350px){.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{min-height:260px}.hero h1{font-size:47px}.hero-art{right:35px}.gift-art{height:168px}}
@media(max-width:1050px){.header{padding:0 30px}.layout{padding:0 30px;grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-right:18px}main{padding-left:26px}.mode-nav button{padding:12px 8px;font-size:11px}.mode-nav small{font-size:9px}.hero{padding:28px}.hero h1{font-size:36px}.hero-copy{width:68%}.hero-art{width:39%}.contribute-tray{left:calc(50% + 100px);width:calc(100% - 320px)}}
@media(max-width:760px){.demo-ribbon{font-size:9px;padding:8px 10px}.demo-ribbon span{display:none}.header{height:79px;padding:0 21px}.brand{font-size:24px}.brand-icon{font-size:40px}.brand small{font-size:7px;letter-spacing:1.8px;margin-top:7px}.profile-button{gap:7px;font-size:11px}.avatar{height:32px;width:32px}.layout{display:block;padding:0 20px}.sidebar{display:none}main{padding:23px 0 105px}.welcome{font-size:10px;margin-bottom:16px;gap:5px}.christmas-pill{font-size:9px;padding:6px 9px}.hero{padding:25px 22px;min-height:222px;border-radius:12px}.hero-copy{width:67%}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero h1{font-size:33px;letter-spacing:-1px;margin:12px 0}.hero p{font-size:10px;line-height:1.8;max-width:200px}.hero-art{width:44%;right:-15px;height:88%}.hero:before{left:63%;font-size:17px}.hero:after{font-size:10px;right:8px;letter-spacing:3px}.section-title{margin:25px 0 17px;gap:8px}.section-title h2{font-size:25px}.section-title p{font-size:10px;line-height:1.6;max-width:200px}.section-title .primary,.section-title .secondary{font-size:10px;padding:9px 12px;min-height:44px;white-space:nowrap}.gift-grid{gap:14px}.gift-art{height:145px}.gift-art svg{width:175px;height:125px}.gift-body{padding:13px}.gift h3{font-size:12px}.gift-description{font-size:10px;min-height:50px}.store{font-size:9px;line-height:1.5;flex-wrap:wrap}.card-foot .price{font-size:21px}.rank-badge{font-size:8px;left:8px;top:8px;padding:5px 7px}.select-gift{right:8px;top:8px;min-width:36px;min-height:36px}.favorite{font-size:10px}.icon-button{min-width:34px;min-height:38px}.card-foot{flex-wrap:wrap}.funding-label{font-size:9px;flex-wrap:wrap}.funding small{font-size:8px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fffdf8f5;backdrop-filter:blur(18px);border-top:1px solid #e4e6dc;display:flex;justify-content:space-around;z-index:20;padding:7px 16px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{width:30%;background:transparent;min-height:48px;font-size:9px;color:#808b7c;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav button>span{font-size:24px;line-height:1}.mobile-nav button.active{color:var(--green);background:#eaf0e5;font-weight:700}.contribute-tray{bottom:calc(75px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;transform:none;border-radius:10px;padding:12px}.contribute-tray strong{font-size:11px}.contribute-tray small{font-size:9px}.contribute-tray .primary{font-size:11px;padding:11px 16px}.with-tray{padding-bottom:195px}.stats{gap:8px;margin:17px 0}.stat{padding:13px 10px}.stat strong{font-size:23px}.stat span{font-size:9px}.parent-controls{gap:5px}.parent-controls button{min-width:55px;font-size:9px;min-height:44px}.subnav button{font-size:10px;padding:12px 8px}.subnav{gap:0}.note{font-size:10px;padding:12px;align-items:flex-start}.page-footer{font-size:9px;line-height:1.8}dialog{position:fixed;margin:0;bottom:0;top:auto;left:0;right:0;width:100%;max-width:none;max-height:92dvh;border-radius:20px 20px 0 0;padding:25px 22px calc(25px + env(safe-area-inset-bottom))}dialog:before{content:'';position:absolute;top:9px;left:calc(50% - 18px);width:36px;height:4px;background:#dfe2d6;border-radius:5px}.dialog-heading h2{font-size:28px}.form-actions{position:sticky;bottom:0;background:var(--cream);padding-top:8px}.form-actions button{min-height:48px}#toast{bottom:calc(85px + env(safe-area-inset-bottom))}.promise-row .amount{font-size:20px}}
@media(max-width:370px){.layout{padding:0 14px}.header{padding:0 15px}.hero{padding:24px 18px}.hero h1{font-size:30px}.hero-copy{width:70%}.gift-grid{gap:10px}.gift-body{padding:11px}.gift-description{min-height:67px}.section-title h2{font-size:23px}.section-title .primary{padding:9px}.profile-button #profile-name{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.hero-copy{width:74%}.hero h1{font-size:30px}.hero p{max-width:190px}.hero-art{width:42%;right:-22px}.gift h3{font-size:13px}.gift-description{font-size:11px}.icon-button{min-width:44px;min-height:44px}.select-gift{min-width:44px;min-height:44px}.allocation-order .icon-button{min-width:38px;min-height:44px}.rank-badge{max-width:calc(100% - 62px)}.gift-art .rank-badge{font-size:8px}.gift .card-foot .order-buttons{margin-left:auto}.gift .card-foot{gap:6px}.section-title:has(.primary) h2{font-size:23px}.store a{display:inline-flex;align-items:center;min-height:30px}}
@media(max-width:370px){.hero-copy{width:79%}.hero h1{font-size:26px}.hero-art{width:34%;right:-14px}.list-toolbar{align-items:flex-start}.list-toolbar>span{font-size:10px}}
@media(max-width:350px){.gift-grid{grid-template-columns:1fr}.gift-art{height:172px}.gift-art svg{height:150px;width:220px}.gift-description{min-height:0}.gift-body{padding:17px}.gift h3{font-size:15px}.gift-description{font-size:12px}}

.hero-art svg{width:100%;height:100%}body:has(dialog[open]){overflow:hidden}

/* Rouge de Noël, lumières dorées et touches de sapin. */
:root{--red:#b43f39}
.demo-ribbon{background:#8b3034;color:#fff1da}
.hero{background:radial-gradient(ellipse at 15% 5%,#aa4444 0%,#8a3036 52%,#70272e 100%);box-shadow:inset 0 0 0 1px #e3c68e24}
.hero p{color:#f0dcd2}
.hero .eyebrow{color:#ecd4a5}
.hero h1 em{color:#f0d395}
.hero:before{color:#f1d38e;top:27px}
.hero:after{color:#eac480}
.primary{background:var(--red);color:#fffaf0}
.primary:hover{background:#942f30}
.mobile-nav button.active{color:#a53633;background:#f7e9e1}
.mode-nav button.active{background:#f3e7dd;color:#a53633}
.mode-nav button.active small{color:#9a7466}
.gift.selected{border-color:var(--red);box-shadow:0 0 0 3px #b43f3910}
.selected .select-gift{background:var(--red);border-color:var(--red)}
.rank-badge{color:#a33f35;background:#fff8ebf5}
.secret-badge{color:#745180;background:#eee6f3}
.subnav .active{color:#a43b34;border-color:#b43f39}
.christmas-lights{display:flex;position:absolute;top:-1px;left:-3%;width:106%;height:20px;justify-content:space-around;border-bottom:1px solid #d9b57770;border-radius:0 0 50% 50%;pointer-events:none;transform:rotate(-2deg)}
.christmas-lights span{position:relative;top:17px;width:6px;height:9px;border-radius:4px 4px 5px 5px;background:#efcf83;box-shadow:0 0 9px #f9d76d80;transform:rotate(12deg)}
.christmas-lights span:nth-child(2n){background:#fff1cf;box-shadow:0 0 8px #fff0b760;transform:rotate(-15deg)}
.christmas-lights span:nth-child(3n){background:#c07657}
.sidebar-note{border-color:#e8d9c7;background:linear-gradient(#f6ecdd,#faf8f3)}
.hero-art{filter:drop-shadow(0 6px 8px #3c101520)}
@media(max-width:760px){.hero{padding-top:30px}.christmas-lights{height:16px}.christmas-lights span{top:13px;width:5px;height:7px}}

/* Fond rouge Noël et surfaces vert sapin. */
:root{--cream:#173e2f;--ink:#fff5e3;--muted:#e1c9bb;--line:#f2d69b35;--gold:#e3c17a;--red:#b31f32}
body{background-color:#ad1e30;background-image:radial-gradient(ellipse at 12% 0%,#d036402e,transparent 55%),radial-gradient(ellipse at 95% 65%,#6e102333,transparent 65%);background-attachment:fixed}
.demo-ribbon{background:#851727;color:#f8e5c4}
.header{border-color:#efd3a333}
.brand,.brand-icon{color:#fff1cf}.brand i{color:#edca83}.brand small{color:#f1d0b6}
.profile-button{color:#fff3d7}.avatar{color:#f8e2b0;background:#24513c;border-color:#dfc18b80}
.sidebar{border-color:#efd3a32b}.sidebar .eyebrow{color:#f1ceb4}
.mode-nav button{color:#ffe8d5}.mode-nav small{color:#e9bca9}
.mode-nav button.active{background:#1b4935;color:#fff1d6;border:1px solid #e5c17c66}
.mode-nav button.active small{color:#d2d8b9}
.sidebar-note{background:linear-gradient(150deg,#25593e,#133e2d);border-color:#e5c17c55;color:#fff0d4;box-shadow:0 12px 30px #580d1a1c}
.sidebar-note em{color:#efc880}.quiet{color:#f1cfb5}
.welcome{color:#f1cebc}.welcome strong{color:#fff1d2}
.christmas-pill{background:#173f2f;color:#f2d48c;border:1px solid #e5c17c55}
.hero{background:radial-gradient(ellipse at 12% 0%,#2d6648,#16442f 70%,#103626);box-shadow:0 9px 30px #5b0e1d24,inset 0 0 0 1px #e8cb8755}
.hero p{color:#e0e6ce}.hero .eyebrow{color:#efcd8a}.hero h1{color:#fff4db}.hero h1 em{color:#f4d28b}
.section-title h2{color:#fff4de}.section-title p{color:#f1cebd}
.primary{background:#245d3e;color:#fff4dc;border:1px solid #e9c78175;box-shadow:0 3px 12px #5c10221c}
.primary:hover{background:#30734c}.secondary,.outline{background:#1d4c36;border:1px solid #e3c17a75;color:#ffedc8}
.child-chip{background:#15432f;color:#f9e8c6;border-color:#e0ba774d}
.child-chip.active{background:#f0d399;color:#1a422e;border-color:#ffe6b5}
.child-emoji{background:#fbebc5}.child-chip small{opacity:.8}
.list-toolbar>span{color:#f3d0b9}.text-link{color:#f5d58d}
.gift{background:#194631;border-color:#d6b67966;box-shadow:0 6px 20px #650a1c24}
.gift-body{background:linear-gradient(140deg,#215139,#16422e)}
.gift h3{color:#fff3d8}.gift-description,.store{color:#d4dfc7}
.gift-art{background:#d7dfc6}.gift-art.blocks{background:#e4d7af}.gift-art.book{background:#cbd9cb}.gift-art.camera{background:#e4c9ab}.gift-art.telescope{background:#d7d5df}.gift-art.headphones{background:#cbdcc2}
.card-foot{border-color:#d7c58c35}.favorite{color:#f0ce83}
.icon-button{background:#2b6244;color:#fff0c9;border-color:#c8c69b55}
.select-gift{background:#174831;color:#fff1ca;border-color:#f0d59e99}
.gift.selected{border-color:#f0cd81;box-shadow:0 0 0 3px #f2d79b2e}
.selected .select-gift{background:#f2cf86;color:#143e2c;border-color:#f8dca4}
.rank-badge{background:#fff0ca;color:#972434}.secret-badge{background:#eddef3;color:#664078}
.funding-label strong{color:#f3d798}.progress{background:#062d225e}.progress>span{background:#e6c279}.funding small{color:#c4d4b5}
.parent-controls{border-color:#e0cb9135}.parent-controls button{background:#ffffff12;color:#f6e4bf;border:1px solid #d4c08b33}.parent-controls button.active{background:#d2d6a6;color:#24432b}
.stat{background:#194832;border-color:#d9bc7e55}.stat strong{color:#f8dfab}.stat span{color:#d3ddc2}
.note{background:#18432f;border-color:#dec17c88;color:#dfdfc6}.note>span{color:#efcc80}
.page-footer{color:#f0c3b1}.page-footer span{color:#f8d78f}
.subnav{border-color:#f3d1a345}.subnav button{color:#f9dfc3}.subnav .active{color:#ffe5a4;border-color:#ffe0a0}.count{background:#17432e;color:#f9dda2}
.empty{background:#17432f;border-color:#e1c37d99}.empty p{color:#d2ddc2}
.contribute-tray{background:#ffe34d;color:#153d2d;border:2px solid #153d2d;box-shadow:0 8px 32px #30071cb3,0 0 0 3px #ffe34d}.contribute-tray strong{color:#153d2d;font-weight:700}.contribute-tray small{color:#39452b}.contribute-tray .primary{background:#153d2d;border-color:#153d2d;color:#fffaf0;box-shadow:0 2px 8px #704f242b}.contribute-tray .primary:hover{background:#245d3e}
.promise-row{background:#17432f;border-color:#dfbd7e66}.promise-row h3{color:#fff0d0}.promise-row p{color:#d0ddc3}.promise-row .amount{color:#f0ce87}
.mobile-nav{background:#153e2ff5;border-color:#e4bd7480}.mobile-nav button{color:#d4dfc2}.mobile-nav button.active{color:#ffe5a4;background:#326044;box-shadow:inset 0 0 0 1px #e2c58155}
dialog{background:#173e2f;color:#fff0d2;box-shadow:0 20px 100px #300a1b99}dialog::backdrop{background:#31071499}.dialog-intro{color:#d9dfc5}.close-dialog{background:#356147;color:#fff0ce}
.field{color:#f5dfb2}.field input,.field textarea,.field select{background:#fff3d9;color:#173e2f;border-color:#d9bf88}
.form-hint{color:#ccd9bc}.form-error{color:#ffc3a2}.secret-note{background:#3f3c54;color:#efe1f5}.form-actions{background:#173e2f}
.success-symbol{background:#326044;color:#f8d998}.success p{color:#d3ddc2}.profile-choices button{background:#245039;color:#fff0cf;border-color:#d7b87c66}.profile-choices small{color:#cbd8bd}
#toast{background:#edcf91;color:#183e2b;border:1px solid #fff0ba}
.section-title .secondary{background:#fffaf0;color:#84192c;border:2px solid #84192c;box-shadow:0 0 0 2px #fffaf0,0 4px 14px #4b102550;font-weight:700}.section-title .secondary:hover{background:#fff0d5}
