.kindness-tree-invite{order:4;width:min(100%,880px);box-sizing:border-box;margin:14px auto;padding:22px;background:#fff9e6c9;border-radius:24px;text-align:center}
.kindness-tree-invite h2{margin:0 0 8px}.kindness-tree-invite p{max-width:600px;margin:0 auto 14px}
.kindness-tree{max-width:880px;margin:auto}.tree-intro{text-align:center;font-size:18px!important}.kindness-tree-scene{position:relative;width:100%;aspect-ratio:800/530;border-radius:28px;overflow:hidden;background-size:cover;background-position:center;box-shadow:inset 0 0 50px #18353035,0 8px 20px #22362924}
.kindness-tree-scene svg{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 2px #17342933)}
.tree-caption{text-align:center;padding:14px;background:#fff8e8ed;border-radius:0 0 20px 20px;margin:0 12px 16px}.tree-caption strong,.tree-caption span{display:block}.tree-caption strong{font-family:Georgia,serif;font-size:24px;color:#345247}.tree-caption span{font-size:15px;margin-top:5px}
.tree-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:18px 0}.tree-controls button,.tree-confirm button{min-height:48px;white-space:normal}.tree-controls>span{font-weight:600}.tree-controls button:disabled{opacity:.65;cursor:default}
.tree-confirm{padding:20px;margin:16px 0;background:#fff3c9;border:1px solid #c6a362;border-radius:18px}.tree-confirm>strong{font-size:20px}.tree-confirm button{margin:6px}.tree-status:not(:empty){padding:14px;border-radius:14px;background:#fff3bf;color:#34513d;text-align:center;font-weight:600}
.tree-ideas,.tree-memories{background:#fff9e5e0;border-radius:18px;padding:16px;margin:18px 0}.tree-ideas summary,.tree-memories summary{display:list-item;cursor:pointer;font-weight:600;min-height:44px;align-content:center}.tree-ideas ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.tree-ideas li strong,.tree-ideas li span{display:block}.tree-ideas li span{margin-top:4px;line-height:1.5}.tree-memories ul{padding-left:22px;line-height:1.8}
.tree-sparkles{position:absolute;inset:0;pointer-events:none}.tree-sparkles i{position:absolute;left:var(--x);top:var(--y);font-style:normal;color:#fff1a5;text-shadow:0 0 8px #ffca42;opacity:0;animation:tree-spark 1.5s ease-out both}
@keyframes tree-spark{15%{opacity:1;transform:scale(.7)}60%{opacity:.9}100%{opacity:0;transform:translateY(-25px) scale(1.5)}}
@media(max-width:600px){.tree-ideas ul{grid-template-columns:1fr}.tree-controls{flex-direction:column}.tree-controls>button{width:100%}.tree-caption strong{font-size:21px}.kindness-tree-invite{padding:18px}.tree-confirm button{display:block;width:100%;margin:8px 0}}
@media(prefers-reduced-motion:reduce){.tree-sparkles{display:none}}body.reduced .tree-sparkles{display:none}

.tree-illustration{position:absolute;width:76%;aspect-ratio:1;left:12%;bottom:1%;filter:drop-shadow(0 6px 3px #142b3438)}.tree-illustration img{display:block;width:100%;height:100%;object-fit:contain}.tree-illustration svg{position:absolute;inset:0;filter:none}.tree-age-0{width:52%;left:24%;bottom:0}.tree-age-1{width:65%;left:17.5%;bottom:0}.tree-unplanted{width:38%;left:31%}.tree-blossom{filter:drop-shadow(0 1px 1px #34292c75)}.tree-planted .tree-blossom:last-child{animation:tree-unfurl .85s ease-out both;animation-delay:var(--bloom-delay)}@keyframes tree-unfurl{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:drop-shadow(0 1px 1px #34292c75)}}@media(prefers-reduced-motion:reduce){.tree-planted .tree-blossom{animation:none}}body.reduced .tree-blossom{animation:none}
