:root{color:#171717;background:#f7f3ec;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}.app-shell{display:grid;align-content:start;gap:44px;min-height:100vh;padding:56px}.intro-section{display:grid;gap:18px;max-width:840px}.eyebrow{margin:0;color:#9f4f28;font-size:15px;font-weight:800}h1{margin:0;color:#111;font-size:72px;line-height:.95}.intro-copy{max-width:620px;margin:0;color:#45413b;font-size:22px;line-height:1.55}.calculator-layout{display:grid;align-items:start;grid-template-columns:minmax(360px,480px) minmax(420px,1fr);gap:28px;max-width:1120px}.regret-form,.result-preview{border:1px solid #24201a;background:#fffaf1;box-shadow:8px 8px #24201a}.regret-form{animation:card-rise .36s ease-out both;display:grid;align-content:start;gap:18px;padding:26px}.field-group{display:grid;gap:8px}.field-group span{color:#45413b;font-size:14px;font-weight:800}.field-group input,.field-group select{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%;min-height:54px;border:1px solid #24201a;border-radius:0;background:#fff;color:#171717;padding:0 14px;font-size:18px}.field-group input:focus,.field-group select:focus{outline:none;border-color:#9f4f28;box-shadow:4px 4px #f3d35d;transform:translate(-2px,-2px)}.date-presets,.amount-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.date-presets button,.amount-presets button,.mode-tabs button{transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;min-height:42px;border:1px solid #24201a;background:#fff;color:#45413b;cursor:pointer;font-size:13px;font-weight:900}.date-presets button:hover,.date-presets button.is-selected,.amount-presets button:hover,.amount-presets button.is-selected,.mode-tabs button:hover,.mode-tabs button.is-selected{background:#f3d35d;color:#111}.date-presets button:hover:not(:disabled),.amount-presets button:hover,.mode-tabs button:hover{box-shadow:3px 3px #24201a;transform:translate(-2px,-2px)}.date-presets button:active:not(:disabled),.amount-presets button:active,.mode-tabs button:active{box-shadow:1px 1px #24201a;transform:translate(0)}.date-presets button.is-selected,.amount-presets button.is-selected,.mode-tabs button.is-selected{animation:selected-bump .26s ease-out both}.date-presets button:disabled{background:#eee7dc;color:#a3998d;cursor:not-allowed}.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-preview{animation:card-rise .36s ease-out both;display:grid;align-content:space-between;gap:28px;min-height:320px;padding:30px}.result-capture-area{display:grid;gap:28px}.result-summary{display:grid;align-content:start}.result-preview p{max-width:520px;margin:0;color:#514b43;font-size:18px;line-height:1.6}.result-kicker{margin-bottom:14px;color:#9f4f28;font-size:14px;font-weight:900}.result-preview .result-disclaimer{max-width:none;border-top:1px solid #e7dccd;color:#6e665c;padding-top:12px;font-size:13px;font-weight:800;line-height:1.5}h2{animation:amount-pop .36s 80ms ease-out both;margin:0;color:#111;font-size:42px;line-height:1.05;overflow-wrap:anywhere}.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.result-stats div{animation:stat-rise .36s ease-out both;border-top:1px solid #24201a;padding-top:14px}.result-stats div:nth-child(1){animation-delay:80ms}.result-stats div:nth-child(2){animation-delay:.15s}.result-stats div:nth-child(3){animation-delay:.22s}.result-stats dt{margin-bottom:8px;color:#6e665c;font-size:14px;font-weight:800}.result-stats dd{margin:0;color:#111;font-size:24px;font-weight:900}.price-chart{display:grid;gap:12px;margin:0;border:1px solid #24201a;background:#fff;padding:16px}.price-chart figcaption,.comparison-heading,.comparison-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.price-chart figcaption span,.comparison-heading span{color:#6e665c;font-size:14px;font-weight:900}.price-chart figcaption strong,.comparison-heading strong{color:#111;font-size:16px;font-weight:900}.chart-legend{display:flex;flex-wrap:wrap;gap:8px;color:#111;font-size:12px;font-weight:900}.chart-legend span{display:inline-flex;align-items:center;gap:7px;min-height:28px;border:1px solid #24201a;background:#fffaf1;padding:5px 8px}.chart-legend i{display:block;width:28px;height:8px;border-radius:999px;border:1px solid #24201a;background:#9f4f28}.chart-legend .bank-legend i{background:#2f6f73}.price-chart svg{display:block;width:100%;height:auto}.chart-grid{fill:none;stroke:#e7dccd;stroke-width:1}.chart-line{animation:draw-line .85s ease-out both;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.chart-line-asset{stroke:#9f4f28;stroke-width:6}.chart-line-bank{animation-delay:.12s;stroke:#2f6f73;stroke-width:4}.price-chart circle{animation:point-pop .26s ease-out both;fill:#fff;stroke:#24201a;stroke-width:3}.price-chart .chart-point-asset{stroke:#9f4f28}.price-chart .chart-point-bank{stroke:#2f6f73;stroke-width:2}.price-chart circle.is-selected{fill:#f3d35d;stroke:#9f4f28}.price-chart text{fill:#514b43;font-size:13px;font-weight:800}.price-chart .chart-axis-label{fill:#6e665c;font-size:11px;font-weight:900}.comparison-meter{display:grid;gap:14px;border:1px solid #24201a;background:#fff;padding:16px}.comparison-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.comparison-item{animation:stat-rise .34s ease-out both;animation-delay:var(--item-delay);display:grid;gap:9px;border:1px solid #24201a;background:#fffaf1;padding:12px}.comparison-item-top span,.comparison-item-top strong{color:#111;font-size:13px;font-weight:900}.comparison-bar{height:12px;overflow:hidden;border:1px solid #24201a;background:#f7f3ec}.comparison-bar span{animation:fill-bar .72s ease-out both;animation-delay:var(--item-delay);display:block;height:100%;background:#9f4f28;width:var(--target-width)}.comparison-item.medium .comparison-bar span{background:#4f7c73}.comparison-item.large .comparison-bar span{background:#111}.comparison-item.dream .comparison-bar span{background:#f3d35d}.regret-message{animation:card-rise .36s .14s ease-out both;overflow:hidden;position:relative;display:grid;gap:10px;border:1px solid #24201a;background:#f3d35d;padding:20px}.regret-message:after{animation:message-sweep .9s .22s ease-out both;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 32%),transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform:translate(-120%)}.regret-message p,.regret-message h3,.regret-message span{margin:0}.regret-message p{color:#6d3f00;font-size:14px;font-weight:900}.regret-message h3{color:#111;font-size:25px;line-height:1.25}.regret-message span{color:#3c3325;font-size:16px;font-weight:800}.share-action{transition:background .16s ease,box-shadow .16s ease,transform .16s ease;min-height:50px;border:1px solid #24201a;background:#fff;color:#111;cursor:pointer;font-weight:900}.share-action:hover{background:#f3d35d;box-shadow:4px 4px #24201a;transform:translate(-2px,-2px)}.share-action:active{box-shadow:1px 1px #24201a;transform:translate(0)}.share-preview{display:grid;gap:8px}.share-preview span{color:#6e665c;font-size:13px;font-weight:900}.share-preview img{width:100%;border:1px solid #24201a;background:#fff}.share-preview a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #24201a;background:#f3d35d;color:#111;font-size:14px;font-weight:900;text-decoration:none}@keyframes card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes point-pop{0%{opacity:0;transform:scale(.65);transform-box:fill-box;transform-origin:center}to{opacity:1;transform:scale(1);transform-box:fill-box;transform-origin:center}}@keyframes amount-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stat-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes selected-bump{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes message-sweep{to{transform:translate(120%)}}@keyframes fill-bar{0%{width:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media (min-width: 1180px){.app-shell{gap:22px;padding:26px 48px}.intro-section{gap:12px}h1{font-size:52px}.intro-copy{max-width:760px;font-size:17px;line-height:1.35}.calculator-layout{grid-template-columns:minmax(340px,420px) minmax(720px,1fr);width:100%;max-width:none}.regret-form{gap:12px;padding:20px}.field-group input,.field-group select{min-height:48px}.date-presets button,.amount-presets button,.mode-tabs button{min-height:38px}.result-preview{gap:14px;padding:20px}.result-capture-area{grid-template-areas:"summary stats" "chart comparison" "message comparison" "disclaimer disclaimer";grid-template-columns:minmax(0,1fr) minmax(400px,1fr);gap:16px}.result-summary{grid-area:summary}.result-summary h2{font-size:38px}.result-stats{grid-area:stats;align-self:end;gap:14px}.result-stats dd{font-size:17px;white-space:nowrap}.price-chart{grid-area:chart;padding:14px}.comparison-meter{grid-area:comparison;align-content:start;gap:10px;padding:14px}.comparison-track{grid-template-columns:1fr}.comparison-item{gap:7px;padding:8px 10px}.regret-message{grid-area:message;gap:8px;padding:16px}.regret-message h3{font-size:21px}.result-preview .result-disclaimer{grid-area:disclaimer}}@media (max-width: 860px){.app-shell{padding:28px}h1{font-size:48px}.intro-copy{font-size:18px}.calculator-layout{grid-template-columns:1fr}.date-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.result-stats,.comparison-track{grid-template-columns:1fr}}@media (max-width: 520px){.app-shell{gap:28px;padding:20px}.regret-form,.result-preview{box-shadow:5px 5px #24201a}h2{font-size:34px}.regret-message h3{font-size:22px}}
