/* Transparent scene, integrated into the page. */
.plan-main:has(.thinking-panel:not([hidden])){min-height:calc(100svh - 190px);display:grid;align-items:center;padding:32px 0}
.first-plan-page .loading-panel.thinking-panel{padding:32px 0 48px;text-align:center;min-height:0;max-width:760px;margin:auto}
.first-plan-page .thinking-panel h1{font-size:clamp(34px,5.5vw,55px);line-height:1.04;letter-spacing:-1.8px;max-width:680px;margin:0 auto 12px}
.thinking-panel h1 span{color:var(--blue)}
.thinking-panel #loading-status{font-size:15px;line-height:1.5;margin:0 auto 20px;max-width:490px;color:#64665c}
.thinking-stage{height:310px;position:relative;isolation:isolate;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
.thinking-scene{position:absolute;inset:0}.thinking-scene canvas{display:block;width:100%;height:100%}
.thinking-fallback{position:absolute;inset:0;pointer-events:none}.thinking-ready .thinking-fallback{opacity:0}



.thinking-icons{position:absolute;inset:0;pointer-events:none}.thinking-paper-icon{position:absolute;display:grid;place-items:center;width:54px;height:58px;background:#fffdf7;border:1px solid #d7cdb8;box-shadow:3px 4px 0 #baa98525;animation:thinking-float 4.8s ease-in-out infinite;color:var(--blue)}
.thinking-paper-icon:after{content:'';position:absolute;top:0;right:0;width:10px;height:10px;background:linear-gradient(45deg,#d7cdb8 48%,#f5eedf 50%)}
.thinking-paper-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.thinking-paper-icon:nth-child(1){left:24%;top:49px;transform:rotate(-9deg)}.thinking-paper-icon:nth-child(2){left:calc(50% - 20px);top:28px;animation-delay:-1.7s;transform:rotate(6deg);color:#b57e25}.thinking-paper-icon:nth-child(3){right:22%;top:62px;animation-delay:-3s;transform:rotate(11deg)}
.thinking-spark{position:absolute;left:calc(50% + 105px);bottom:131px;color:#c49b35;font-size:24px;animation:thinking-glint 3.8s ease-in-out infinite}
.thinking-caption{display:flex;align-items:center;justify-content:center;margin:0;min-height:24px}.thinking-pause{font-size:12px;font-weight:500;color:#747469;padding:3px 0;border:0;border-bottom:1px solid #c4beaf;background:none;border-radius:0;box-shadow:none;min-height:24px}
.thinking-pause:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.thinking-resting .thinking-fallback-goose,.thinking-resting .thinking-paper-icon,.thinking-resting .thinking-spark{animation-play-state:paused}
#plan-result.thinking-arrival .paper-card,#plan-result.thinking-arrival .move{animation:thinking-unfold .55s cubic-bezier(.2,.7,.25,1) both}.thinking-arrival .offer-card{animation-delay:.06s!important}.thinking-arrival .move:nth-child(2){animation-delay:.1s!important}.thinking-arrival .move:nth-child(3){animation-delay:.15s!important}
#rating-meter.thinking-meter .meter-marker{animation:thinking-meter .8s cubic-bezier(.2,.75,.25,1) both}
@keyframes thinking-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes thinking-glint{0%,65%,100%{opacity:.15;scale:.75}78%{opacity:.8;scale:1}}@keyframes thinking-unfold{from{opacity:.3;transform:translateY(10px) rotateX(8deg);transform-origin:top}to{opacity:1;transform:none}}@keyframes thinking-meter{from{left:18px}to{left:clamp(18px,calc(var(--score) * 1%),calc(100% - 18px))}}
@media(max-width:600px){.first-plan-page .loading-panel.thinking-panel{padding-top:24px}.first-plan-page .thinking-panel h1{font-size:37px;max-width:330px;letter-spacing:-1.3px}.thinking-panel #loading-status{font-size:14px;max-width:300px}.thinking-stage{height:260px}.thinking-paper-icon{width:44px;height:48px}.thinking-paper-icon svg{width:27px;height:27px}.thinking-paper-icon:nth-child(1){left:12%;top:35px}.thinking-paper-icon:nth-child(2){left:calc(50% - 17px);top:18px}.thinking-paper-icon:nth-child(3){right:10%;top:45px}.thinking-spark{left:calc(50% + 86px);bottom:108px}.thinking-caption{min-height:24px;margin:0}}
@media(prefers-reduced-motion:reduce){.thinking-stage *,#plan-result.thinking-arrival *{animation:none!important;transition:none!important}.thinking-pause{display:none!important}}

/* Keep the paper icons clear of Goose and the falling egg. */
.thinking-paper-icon{width:43px;height:45px}
.thinking-paper-icon svg{width:27px;height:27px}
.thinking-paper-icon:nth-child(1){top:12px}
.thinking-paper-icon:nth-child(2){top:10px}
.thinking-paper-icon:nth-child(3){top:18px}
@media(max-width:600px){.thinking-paper-icon{width:38px;height:41px}.thinking-paper-icon svg{width:24px;height:24px}.thinking-paper-icon:nth-child(1){top:10px}.thinking-paper-icon:nth-child(2){top:7px}.thinking-paper-icon:nth-child(3){top:16px}}
/* Optional module failure leaves a static illustration and no dead control. */
.thinking-paper-icon,.thinking-spark{animation-play-state:paused}
.thinking-active .thinking-paper-icon,.thinking-active .thinking-spark{animation-play-state:running}
.thinking-active .thinking-resting .thinking-paper-icon,.thinking-active .thinking-resting .thinking-spark{animation-play-state:paused}

@media(max-width:600px){.plan-main:has(.thinking-panel:not([hidden])){min-height:calc(100svh - 256px);padding:24px 0}}

/* A little thought above Goose, with an open page around him. */
.thinking-joke{position:absolute;z-index:1;left:calc(50% - 132px);top:4px;width:210px;padding:10px 14px;margin:0;background:var(--white);border:1px solid #d7cdb8;border-radius:12px;box-shadow:2px 3px 0 #baa98518;font-size:13px;line-height:1.4;color:#5e6157;transform:rotate(-3deg);pointer-events:none}
.thinking-joke:after{content:"";position:absolute;width:9px;height:9px;left:64%;bottom:-6px;background:var(--white);border-right:1px solid #d7cdb8;border-bottom:1px solid #d7cdb8;transform:rotate(45deg)}
@media(max-width:600px){.thinking-joke{left:calc(50% - 110px);top:16px;width:200px;font-size:12px;padding:9px 12px}}

.thinking-fallback-scene{width:100%;height:100%;object-fit:contain}
