.personal-journey{--profile-violet:#b19af5;--profile-mint:#52d7ac}
.personal-journey .page-heading{max-width:1000px}
.profile-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:20px;background:#f0eaff;border:1.5px solid var(--ink);border-radius:12px}
.profile-setup label,.profile-settings label{display:grid;gap:8px;font-size:15px;font-weight:700;min-width:0}
.profile-setup input,.profile-setup select,.profile-settings input{min-width:0;width:100%;min-height:50px;background:var(--paper);border:1.5px solid var(--ink);border-radius:8px;padding:10px 12px;font-size:20px;font-weight:700;color:var(--ink)}
.profile-setup input{font-family:var(--number-font);font-size:28px}
.profile-settings,.profile-method{border-bottom:1px solid #cbc7bb;padding:4px 0;margin:12px 0 26px}
.profile-settings summary,.profile-method summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:15px;font-weight:750}
.profile-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:12px 0 20px}
.profile-settings p,.profile-method p{font-size:14px;line-height:1.6}
.personal-journey #result.profile-results{padding:0;border:0;background:none;border-radius:0}
.profile-contribution{background:#e8dfff;border:2px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:28px 32px;text-align:center}
.profile-contribution-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.profile-model-label,.profile-period{font-size:12px;font-weight:750;padding:6px 10px;border-radius:6px;background:var(--paper)}
.profile-period{background:var(--ink);color:var(--paper)}
.profile-contribution>p{font-size:20px!important;margin:24px 0 6px;font-weight:700}
.profile-big-number{font-family:var(--number-font);font-size:clamp(56px,8vw,90px);font-weight:900;letter-spacing:-.045em;line-height:1.1;overflow-wrap:anywhere}
.profile-big-number>span{font-size:.55em}
.profile-contribution>p.profile-contribution-share{font-size:15px!important;font-weight:400;margin:12px 0 26px}
.profile-contribution-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #1114;padding-top:22px;gap:24px}
.profile-contribution-split>div{display:grid;gap:7px;min-width:0}
.profile-contribution-split span{font-size:15px;font-weight:700}
.profile-contribution-split strong{font-family:var(--number-font);font-size:30px;line-height:1.2}
.profile-contribution-split small{font-size:12px}
.profile-journey-section,.profile-breakdown{margin-top:38px;min-width:0}
.profile-section-title{display:flex;gap:14px;align-items:center}
.profile-section-icon{display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--ink);border-radius:12px;background:#ffc400;font-size:28px;flex-shrink:0}
.personal-journey h2{font-family:var(--title-font);font-size:28px;line-height:1.2}
.profile-section-title p{margin:6px 0 0;font-size:14px!important;color:#555}
.profile-waterfall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:28px 0 22px;min-width:0}
.water-step{display:flex;flex-direction:column;min-width:0;gap:12px}
.water-label{order:2;display:grid;gap:8px;text-align:center}
.water-label b{font-size:13px;line-height:1.35;font-weight:600}
.water-label strong{font-family:var(--number-font);font-size:20px;line-height:1.2;overflow-wrap:anywhere}
.water-track{position:relative;height:210px;border-bottom:1px solid #999;background:repeating-linear-gradient(to top,transparent 0,transparent 51px,#1111 52px,transparent 53px)}
.water-bar{display:block;position:absolute;left:14%;width:72%;height:var(--span);bottom:var(--start);background:var(--water-color);border:1.5px solid var(--ink);border-radius:5px;box-sizing:border-box;min-height:0}
.water-bar[style*="--span:0%;"]{border:0}
.water-zero{position:absolute;left:0;right:0;bottom:var(--zero);border-top:1px dashed #1118}
.profile-net{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1.5px solid var(--ink);border-radius:10px;background:#dff7ed}
.profile-net>span{font-size:15px}
.profile-net strong{font-family:var(--number-font);font-size:30px;white-space:nowrap}
.profile-net small{font-family:var(--body-font);font-size:13px;font-weight:400}
.personal-journey #result .profile-chart-note{font-size:12px;line-height:1.5;color:#555;margin:12px 0 0}
.profile-purchases{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;margin-top:30px;padding:24px;background:#fff3ba;border:1.5px solid var(--ink);border-radius:14px}
.profile-purchases img{width:72px;height:72px;object-fit:contain}
.profile-purchases p{font-size:16px!important;line-height:1.55}
.profile-purchases p>strong{font-family:var(--number-font);font-size:24px}
.profile-purchase-bar{display:flex;height:20px;border:1px solid var(--ink);border-radius:6px;overflow:hidden}
.profile-purchase-bar>span{background:var(--paper)}
.profile-purchase-bar>i{background:#52d7ac;border-left:1px solid var(--ink)}
.profile-purchase-legend{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:13px}
.profile-contribution-track{display:flex;height:24px;border:1.5px solid var(--ink);border-radius:7px;overflow:hidden;margin:18px 0}
.profile-portion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.profile-portion-grid article{display:grid;align-content:start;gap:10px;border:1px solid #cbc7bb;border-top:5px solid var(--portion-color);border-radius:9px;padding:16px;background:var(--paper);min-width:0}
.profile-portion-grid article>span{font-size:14px;line-height:1.4}
.profile-portion-grid strong{font-family:var(--number-font);font-size:26px;overflow-wrap:anywhere}
.profile-portion-grid small{font-size:12px;color:#555}
.profile-input-warning{padding:16px;background:#fff3ba;border:1.5px solid var(--ink);border-radius:10px;font-size:14px!important;line-height:1.5}
.profile-method{margin-top:30px}
.profile-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){
 .profile-setup{gap:14px;padding:16px 12px;grid-template-columns:1fr}
 .profile-setup label{font-size:14px}.profile-setup select{font-size:16px}.profile-setup input{font-size:28px}
 .profile-settings-grid{grid-template-columns:1fr;gap:16px}.profile-settings input{font-size:18px}
 .profile-contribution{padding:20px 14px;box-shadow:2px 3px 0 var(--ink)}
 .profile-contribution-top{gap:8px}.profile-model-label{font-size:11px;padding:6px}.profile-period{font-size:12px}
 .profile-contribution>p{font-size:18px!important}.profile-big-number{font-size:clamp(48px,14vw,68px)}
 .profile-contribution-split{gap:14px}.profile-contribution-split span{font-size:14px}.profile-contribution-split strong{font-size:26px}
 .profile-waterfall{display:flex;flex-direction:column;gap:18px;margin:24px 0}
 .water-step{gap:8px}.water-label{order:0;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.water-label b{font-size:14px}.water-label strong{font-size:21px;flex-shrink:0}
 .water-track{height:22px;border:0;border-radius:4px;background:#ece9e2}
 .water-bar{left:var(--start);width:var(--span);height:100%;bottom:0;border-radius:4px}
 .water-zero{left:var(--zero);top:0;bottom:0;right:auto;border-top:0;border-left:1px dashed #1118}
 .personal-journey h2{font-size:25px}.profile-section-icon{width:40px;height:40px}
 .profile-net{flex-direction:column;align-items:flex-start;padding:16px}.profile-net strong{font-size:32px;white-space:normal}
 .profile-purchases{grid-template-columns:1fr;gap:12px;padding:20px 14px}.profile-purchases img{width:64px;height:64px}
 .profile-portion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-portion-grid article{padding:12px}.profile-portion-grid strong{font-size:24px}
}

.profile-tax-control{margin:16px 0;padding:14px 16px;border:1px solid #b19af5;border-radius:10px;background:#f4efff}
.profile-tax-control label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:15px;flex-wrap:wrap}
.profile-tax-control select{max-width:100%;min-height:44px;padding:8px;border:1px solid var(--ink);border-radius:8px;background:var(--paper);font:inherit}
.profile-tax-control p{font-size:13px;line-height:1.5;margin:10px 0 0}
.profile-settings input[readonly]{background:#eee8fa;color:#555}
