Rule of 72 ESTIMATE
-
Exact Math PRECISE
-
Exponential Growth Timeline
Enter your investment details to see a projection.
'), var(--bg-color); padding: clamp(1rem, 2vw, 1.5rem); } .main-content { display: grid; gap: clamp(1rem, 2vw, 1.5rem); overflow: hidden; } @media (min-width: 1024px) { .main-content { grid-template-columns: 400px 1fr; } .controls-container, .result-container { overflow-y: auto; padding-right: 1rem; } .controls-container::-webkit-scrollbar, .result-container::-webkit-scrollbar { width: 6px; } .controls-container::-webkit-scrollbar-track, .result-container::-webkit-scrollbar-track { background: transparent; } .controls-container::-webkit-scrollbar-thumb, .result-container::-webkit-scrollbar-thumb { background-color: var(--glass-border); border-radius: 10px; } } @media (max-width: 1023px) { .app-container { grid-template-rows: auto auto 1fr; } .main-content { grid-template-rows: auto 1fr; overflow-y: auto; } } /* --- Common Components --- */ .glass-pane { background: var(--glass-bg); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); border: 1px solid var(--glass-border); border-radius: 20px; box-shadow: 0 8px 32px 0 var(--shadow-color); padding: clamp(1.5rem, 4vw, 2rem); } .app-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: clamp(1rem, 2vw, 1.5rem); } .app-title { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 700; } .theme-toggle { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 50px; cursor: pointer; padding: 0.5rem; position: relative; width: 60px; height: 32px; } .theme-toggle i { position: absolute; top: 50%; transform: translateY(-50%); font-size: 1rem; color: var(--text-secondary); transition: opacity 0.3s ease, transform 0.3s ease; } .theme-toggle .fa-sun { left: 8px; } .theme-toggle .fa-moon { right: 8px; } [data-theme="dark"] .theme-toggle .fa-sun { opacity: 0; } [data-theme="light"] .theme-toggle .fa-moon { opacity: 0; } /* --- Controls --- */ .controls-container { display: flex; flex-direction: column; gap: 1.5rem; } .control-group { display: flex; flex-direction: column; gap: 0.75rem; } .control-group label { font-weight: 600; color: var(--text-secondary); font-size: 0.9rem;} .input-wrapper { display: flex; align-items: center; background-color: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); border-radius: 12px; transition: border-color 0.2s ease; } .input-wrapper:focus-within { border-color: var(--accent-primary); } .input-prefix { font-size: 1.25rem; font-weight: 600; color: var(--text-secondary); padding-left: 1rem; } .custom-input { width: 100%; padding: 0.75rem 1rem 0.75rem 0.5rem; font-family: var(--font-primary); font-size: 1.25rem; font-weight: 600; color: var(--text-primary); background: transparent; border: none; outline: none; text-align: right; } .inline-group { display: flex; align-items: center; gap: 1rem; } .inline-group .custom-input { text-align: center; } #rate-slider { width: 100%; -webkit-appearance: none; appearance: none; height: 6px; background: var(--glass-border); border-radius: 5px; outline: none; } #rate-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; background: var(--accent-primary); border-radius: 50%; border: 3px solid var(--bg-color); cursor: pointer; } /* --- Result Container --- */ .result-container { display: flex; flex-direction: column; gap: 2rem; } .doubling-results { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; } .result-box { text-align: center; } .result-box h3 { font-size: 1rem; font-weight: 400; color: var(--text-secondary); } .result-box .value { font-size: clamp(2rem, 6vw, 2.75rem); font-weight: 700; line-height: 1.1; } #rule-72-value { color: var(--accent-secondary); } #exact-value { color: var(--accent-primary); } .result-box .badge { font-size: 0.7rem; font-weight: 600; padding: 0.2rem 0.5rem; border-radius: 5px; display: inline-block; margin-top: 0.25rem; } .badge.estimate { background-color: var(--accent-secondary); color: #fff; } .badge.exact { background-color: var(--accent-primary); color: #fff; } /* Timeline Visualization */ .timeline-container h2 { font-weight: 600; color: var(--text-secondary); margin-bottom: 2rem; text-align: center; } .timeline { position: relative; display: flex; flex-direction: column; gap: 2.5rem; } .timeline::before { content: ''; position: absolute; left: 15px; top: 15px; bottom: 15px; width: 4px; background-color: var(--glass-border); border-radius: 2px; } .timeline-event { display: flex; align-items: center; gap: 1.5rem; position: relative; opacity: 0; animation: fadeIn 0.5s forwards; } @keyframes fadeIn { to { opacity: 1; } } .timeline-event:nth-child(1) { animation-delay: 0.1s; } .timeline-event:nth-child(2) { animation-delay: 0.2s; } .timeline-event:nth-child(3) { animation-delay: 0.3s; } .timeline-event:nth-child(4) { animation-delay: 0.4s; } .timeline-dot { width: 34px; height: 34px; background-color: var(--bg-color); border: 4px solid var(--accent-primary); border-radius: 50%; z-index: 1; display: flex; justify-content: center; align-items: center; font-weight: 700; flex-shrink: 0; } .timeline-content .time { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); } .timeline-content .description { font-size: 0.9rem; color: var(--text-secondary); } .timeline-content .description strong { color: var(--accent-primary); font-weight: 600; } #result-summary { font-size: 0.9rem; text-align: center; color: var(--text-secondary); line-height: 1.6; margin-top: 1rem; }
-
-
Enter your investment details to see a projection.