.tree-journey{color:#243b34;max-width:1000px;margin:auto;padding:20px;font-size:16px}.journey-heading{flex-wrap:wrap;justify-content:space-between;gap:16px;padding:10px 0 20px;display:flex}.journey-heading span,.journey-footnote{color:#53655d;font-size:14px}.journey-controls{background:#eef2f4;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:16px;display:flex}.journey-controls button{color:#344b44;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #bdccc4;border-radius:8px;padding:8px 12px;font-size:14px}.journey-controls strong{width:100%}.journey-card{isolation:isolate;text-align:center;background:#fff;border:1px solid #cadace;border-radius:28px;padding:26px;position:relative;overflow:hidden;box-shadow:0 10px 34px #2944330c}.journey-message h1{margin:8px 0;font-size:clamp(25px,4vw,34px)}.journey-message p{color:#53655d;margin:8px 0 12px}.journey-eyebrow{color:#5c437f;font-size:14px;font-weight:700}.journey-art{aspect-ratio:1;object-fit:contain;border-radius:22px;width:min(100%,360px);margin:12px auto;display:block}.journey-atlas{background-repeat:no-repeat;background-size:300% 200%}.journey-progress{max-width:540px;margin:20px auto}.journey-progress>div{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.journey-progress progress{accent-color:#7757a5;width:100%;height:18px}.journey-actions button{color:#fff;font:inherit;cursor:pointer;background:#24634e;border:0;border-radius:14px;min-height:52px;padding:16px 24px;font-weight:700}.tree-journey button:focus-visible{outline-offset:4px;outline:3px solid #ac7330}.journey-bag{background:#fff;border:1px solid #d5ddd7;border-radius:16px;flex-wrap:wrap;gap:18px;margin-top:16px;padding:20px;display:flex}.journey-medal{flex-direction:column;justify-content:center;align-items:center;min-height:330px;font-size:110px;animation:.8s ease-out journey-arrive;display:flex}.journey-medal strong{color:#81591d;font-size:25px}.journey-medal span{color:#6b6453;margin:8px;font-size:16px}.journey-seed{min-height:290px;padding:30px 0}.journey-seed>span{font-size:80px}.journey-celebrate{background:radial-gradient(at 50% 40%,#fff5d8,#fff 70%);border-color:#c5a657}.journey-celebrate .journey-art{animation:1s ease-out journey-arrive}.journey-confetti{pointer-events:none;z-index:-1;position:absolute;inset:0}.journey-confetti i{left:var(--x);background:hsl(var(--hue) 65% 60%);width:8px;height:14px;animation:journey-fall 3s var(--delay) ease-in forwards;position:absolute;top:-20px}@keyframes journey-fall{to{opacity:0;transform:translateY(850px)rotate(500deg)}}@keyframes journey-arrive{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.tree-journey{padding:12px}.journey-card{padding:20px 14px}.journey-art{width:min(100%,290px)}.journey-actions button{width:100%}}@media (prefers-reduced-motion:reduce){.journey-confetti{display:none}.journey-celebrate .journey-art,.journey-medal{animation:none}}.journey-finale{color:#fff8e6;overscroll-behavior:contain;text-align:center;isolation:isolate;background:radial-gradient(at 50% 48%,#436f53 0%,#163e32 48%,#09271f 100%);border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.journey-finale::backdrop{background:#09271f}.finale-content{z-index:2;max-width:780px;margin:auto;padding:24px clamp(18px,4vw,42px) 32px;position:relative}.finale-topline{letter-spacing:.04em;justify-content:space-between;align-items:center;gap:14px;font-size:14px;display:flex}.finale-topline button,.finale-later{font:inherit;color:#fff4d6;cursor:pointer;background:#123829;border:1px solid #d6cfaa70;border-radius:12px;min-height:44px;padding:10px 16px}.finale-achievement{color:#ffe5a0;border:1px solid #e5cb7e80;border-radius:100px;margin:26px 0 12px;padding:8px 20px;font-weight:700;display:inline-block}.finale-content h2{color:#fff9e5;text-shadow:0 2px 28px #f7d27155;margin:0;font-size:clamp(32px,5vw,54px);line-height:1.2;animation:.8s ease-out both finale-rise}.finale-tree{filter:drop-shadow(0 0 34px #ffda7155);width:min(70vw,36vh,350px);margin:18px auto;animation:1.6s cubic-bezier(.2,.7,.2,1) both finale-bloom;position:relative}.finale-tree .journey-art{border-radius:50%;width:100%;margin:0;box-shadow:0 0 0 8px #f5e1a215,0 0 0 22px #f5e1a209}.finale-content h3{color:#ffe19a;margin:12px 0;font-size:24px}.finale-content #finale-description{color:#f4f1df;margin:10px 0 22px;font-size:17px;line-height:1.7}.finale-claim{color:#283e2d;min-height:56px;font:inherit;cursor:pointer;background:linear-gradient(120deg,#ffe9a2,#eac26d);border:1px solid #ffe8a4;border-radius:16px;margin:0 auto 12px;padding:16px 28px;font-size:19px;font-weight:800;display:block;box-shadow:0 6px 30px #efd07b22}.finale-later{background:0 0;border:0}.finale-light{z-index:0;pointer-events:none;background:repeating-conic-gradient(#0000 0deg 14deg,#ffeaa00d 15deg 24deg,#0000 25deg 40deg);animation:5s ease-out both finale-light-turn;position:fixed;inset:-45%}.finale-particles{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.finale-particles i{top:-24px;left:var(--x);background:hsl(var(--hue) 68% 74%);width:7px;height:13px;animation:finale-rain 4.5s var(--delay) cubic-bezier(.12,.5,.6,1) both;border-radius:60% 15%;position:absolute;box-shadow:0 0 9px #ffe9a740}.finale-particles i:nth-child(3n){background:#fff1bc;border-radius:50%;width:4px;height:4px}.journey-finale button:focus-visible{outline-offset:5px;outline:3px solid #fff}@keyframes finale-rain{0%{opacity:0;transform:translateY(-10px)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(320deg)}}@keyframes finale-light-turn{0%{opacity:0;transform:rotate(-18deg)}to{opacity:1;transform:rotate(12deg)}}@keyframes finale-bloom{0%{opacity:0;transform:scale(.7)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes finale-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.journey-finale.is-still *{animation:none!important}.journey-finale.is-still .finale-particles{display:none}@media (prefers-reduced-motion:reduce){.journey-finale *{animation:none!important}.finale-particles{display:none}}@media (max-width:480px){.finale-content{padding-top:16px}.finale-topline{letter-spacing:0}.finale-achievement{margin-top:18px}.finale-content #finale-description{font-size:16px}.finale-claim{width:100%}}
