.tool{padding-block:24px 80px}.tool .tool__head{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;margin:32px 0;display:grid}.tool .tool__head h1{margin:12px 0;font-size:clamp(1.8rem,4.2vw,2.8rem);line-height:1.4}.tool .tool__lead{color:var(--text-muted)}.tool .tool__head-mascot{justify-self:center;width:min(100%,300px);height:auto}@media (width>=800px){.tool .tool__head--with-mascot{grid-template-columns:minmax(0,1fr) 300px}}.tool .card{background:var(--fund-white);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:clamp(20px,4vw,32px)}.tool .form{grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;display:grid}.tool .form__main{flex-direction:column;gap:24px;min-width:0;display:flex}.tool .form__mascot{flex-direction:column;align-items:center;gap:14px;display:flex}.tool .form__mascot-img{-webkit-user-select:none;user-select:none;width:min(100%,190px);height:auto}.tool .form__mascot .bubble{text-align:center;font-weight:600}.tool .form__submit{align-self:flex-start}.tool .privacy{color:var(--text-muted);font-size:.82rem}@media (width>=800px){.tool .form{grid-template-columns:minmax(0,1fr) 330px;gap:32px}.tool .form__mascot .bubble--oneline{white-space:nowrap}}.tool .field{flex-direction:column;gap:8px;display:flex}.tool .field>label{font:600 1.02rem/1.5 var(--font-head);color:var(--fund-navy)}.tool .hint{color:var(--text-muted);font-size:.86rem;line-height:1.6}.tool .input-wrap{align-items:center;gap:10px;max-width:460px;display:flex}.tool .input-wrap input{width:100%;min-width:0;font:600 1.25rem var(--font-num);color:var(--fund-navy);background:var(--fund-white);border:2px solid var(--border-hair);border-radius:var(--r-sm);flex:1;padding:14px 16px}.tool .input-wrap input::placeholder{color:var(--text-muted);opacity:.6;font-weight:400}.tool .input-wrap input:focus-visible{border-color:var(--fund-navy);outline-offset:2px}.tool .input-wrap input[aria-invalid]{border-color:var(--fund-coral)}.tool .unit{color:var(--text-muted);flex-shrink:0;font-size:.88rem}.tool .error{color:#b8402f;font-size:.88rem;font-weight:600}.tool .error:not(:empty):before{content:"⚠ "}@media (width<=480px){.tool .input-wrap{flex-wrap:wrap}.tool .unit{flex-basis:100%;margin-top:-4px}.tool .form__submit{align-self:stretch}}.tool .bubble{background:var(--fund-white);border:2px solid var(--border-hair);border-radius:var(--r-md);width:100%;color:var(--fund-navy);padding:16px 18px;font-size:.92rem;line-height:1.7;position:relative}.tool .bubble:after{content:"";background:var(--fund-white);border-right:2px solid var(--border-hair);border-bottom:2px solid var(--border-hair);width:16px;height:16px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.tool .bubble ul{margin:6px 0;padding:0;list-style:none}.tool .bubble__end{font-weight:600}.tool .result[hidden]{display:none}.tool .result{flex-direction:column;gap:28px;margin-top:48px;scroll-margin-top:24px;display:flex}.tool .result.is-in{animation:tool-fade-up .5s var(--ease-soft) both}@keyframes tool-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.tool .result h2{outline:none;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.4}.tool .result h3{margin-bottom:14px;font-size:1.2rem;line-height:1.5}.tool .note{color:var(--text-muted);font-size:.88rem;line-height:1.7}.tool .target{font:700 1.05rem/1.6 var(--font-head);color:var(--fund-navy);margin-bottom:10px}.tool .steps{gap:6px;margin:0 0 14px;padding-left:1.3em;line-height:1.7;list-style:outside;display:grid}.tool .result__actions{flex-wrap:wrap;gap:12px;display:flex}.tool .article{background:var(--fund-cream-deep)}.tool .article__summary{margin:0 0 18px;line-height:1.7}.tool .disclaimer{color:var(--text-muted);text-align:center;margin-top:40px;font-size:.82rem}@media (prefers-reduced-motion:reduce){.tool .result.is-in{animation:none}}.tool .jars{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;max-width:760px;margin:0;padding:0;list-style:none;display:grid}.tool .jar{background:var(--fund-cream);border-radius:var(--r-md);color:var(--fund-navy);grid-template-columns:96px minmax(0,1fr);align-items:center;gap:4px 16px;padding:14px;display:grid}.tool .jar__glass{border:3px solid var(--jar-color);background:var(--fund-white);border-radius:14px 14px 26px 26px;width:96px;height:120px;margin-top:10px;display:block;position:relative}.tool .jar__lid{background:var(--jar-color);border-radius:6px;height:10px;position:absolute;top:-12px;left:12px;right:12px}.tool .jar__fill{height:var(--fill);background:var(--jar-soft);border-top:3px solid var(--jar-color);border-radius:0 0 22px 22px;position:absolute;bottom:0;left:0;right:0}.tool .jar__pct{font:800 1.35rem var(--font-num);color:var(--fund-navy);background:var(--fund-white);border:2px solid var(--jar-color);border-radius:var(--r-pill);padding:2px 10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tool .jar__text{flex-direction:column;gap:3px;min-width:0;display:flex}.tool .jar__title{font:700 1.05rem var(--font-head)}.tool .jar__amt{font:700 1.5rem var(--font-num)}.tool .jar__hint{color:var(--text-muted);font-size:.84rem}.tool .jar__uses{color:var(--text-body);gap:2px;margin:6px 0 0;padding:0;font-size:.86rem;line-height:1.6;list-style:none;display:grid}.tool .jar__uses li:before{content:"•";color:var(--jar-color);margin-right:6px;font-weight:700}.tool .jar--need{--jar-color:var(--fund-navy);--jar-soft:#d5deec}.tool .jar--want{--jar-color:var(--fund-yellow-deep);--jar-soft:#ffefb8}.tool .jar--future{--jar-color:var(--fund-green);--jar-soft:#bfe5d0}@media (width>=720px){.tool .jars{grid-template-rows:repeat(5,auto);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;margin-top:-6px}.tool .jar{grid-row:span 5;grid-template-rows:subgrid;text-align:center;grid-template-columns:minmax(0,1fr);place-items:start center;gap:0;padding:16px 12px;display:grid}.tool .jar__text{display:contents}.tool .jar__glass{width:88px;height:128px}.tool .jar__title{margin-top:12px}.tool .jar__hint{margin-top:2px}.tool .jar__uses{align-self:start;justify-items:center}.tool .jar__uses li:before{display:none}}.tool .jar--m3{--jar-color:var(--fund-navy);--jar-soft:#d5deec}.tool .jar--m6{--jar-color:var(--fund-yellow-deep);--jar-soft:#ffefb8}.tool .jar--m12{--jar-color:var(--fund-green);--jar-soft:#bfe5d0}.tool .jar__status{font:600 .86rem/1.5 var(--font-head);color:var(--fund-navy);margin-top:6px}.tool .jar__status:before{content:attr(data-mark) " ";color:var(--jar-color)}.tool .jar[aria-current=true]{outline:3px solid var(--jar-color);outline-offset:2px}@media (width>=720px){.tool .jar__status{align-self:start}}.tool .article .btn,.tool .article .btn__label{white-space:normal;line-height:1.4}.tool .article .btn{max-width:100%;padding-block:12px}.tool .form__submit,.tool .form__submit .btn__label{white-space:normal;line-height:1.4}.tool .form__submit{text-align:center}.tool .plan{grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;display:grid}@media (width>=900px){.tool .plan{grid-template-columns:minmax(0,1fr) 320px}}.tool .flow__parts{color:var(--text-muted);text-align:center;font-size:.84rem}.tool .flow__parts[hidden]{display:none}.tool .plan__main{flex-direction:column;gap:14px;display:flex}.tool .flow{background:var(--fund-white);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:6px;padding:clamp(16px,3vw,28px);display:flex}.tool .flow__source{background:var(--fund-yellow);border-radius:var(--r-pill);color:var(--fund-navy);align-items:center;gap:14px;padding:12px 24px 12px 14px;display:flex;box-shadow:0 8px 20px #fecf3d59}.tool .flow__coin{background:var(--fund-white);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.tool .flow__source-text{flex-direction:column;line-height:1.3;display:flex}.tool .flow__source-label{font-size:.82rem}.tool .flow__source-text b{font:700 1.5rem var(--font-num)}.tool .flow__how{font:600 .92rem var(--font-head);color:var(--text-muted);margin-top:8px}.tool .flow__pipes{width:100%;max-width:760px;height:70px;display:none;overflow:visible}.tool .pipe{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:2 12;animation:1.6s linear infinite tool-flow}.tool .pipe--need{stroke:var(--fund-navy);stroke-width:10px}.tool .pipe--want{stroke:var(--fund-yellow-deep);stroke-width:6px}.tool .pipe--future{stroke:var(--fund-green);stroke-width:4px}@keyframes tool-flow{to{stroke-dashoffset:-28px}}@media (width>=720px){.tool .flow__pipes{display:block}}.tool .mascot-help{flex-direction:column;align-items:center;gap:16px;display:flex}.tool .mascot-help__img{-webkit-user-select:none;user-select:none;width:min(100%,220px);height:auto}@media (prefers-reduced-motion:reduce){.tool .pipe{animation:none}}.tool .chip{position:relative}.tool .chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.tool .chip span{border:2px solid var(--border-hair);border-radius:var(--r-pill);background:var(--fund-white);font:600 .95rem var(--font-head);color:var(--fund-navy);padding:10px 20px;display:block}.tool .chip input:checked+span{background:var(--fund-navy);border-color:var(--fund-navy);color:#fff}.tool .chip input:checked+span:before{content:"✓ "}.tool .chip input:focus-visible+span{outline:3px solid var(--fund-navy);outline-offset:3px}.tool .extras{gap:14px;display:grid}@media (width>=800px){.tool .extras{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.tool .extra{padding:0;overflow:hidden}.tool .extra__toggle{width:100%;font:700 1.02rem var(--font-head);color:var(--fund-navy);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.tool .extra__chev{transition:transform .2s var(--ease-soft);font-size:1.4rem}.tool .extra__toggle[aria-expanded=true] .extra__chev{transform:rotate(180deg)}.tool .extra__panel{flex-direction:column;gap:14px;padding:0 22px 22px;display:flex}.tool .extra__panel[hidden]{display:none}.tool .extra__out{color:var(--fund-navy);gap:6px;font-weight:600;line-height:1.7;display:grid}.tool .jar__amt{overflow-wrap:anywhere;font-size:clamp(1rem,1.8vw,1.5rem)}@media (width<=480px){.tool .flow__source-text b{font-size:1.25rem}}
