@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;background-color:#0d0d0d;color:#fff;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:#9945ff;text-decoration:none}a:hover{text-decoration:underline}:root{--sol-purple: #9945FF;--sol-green: #14F195;--sol-blue: #00C2FF;--bg-dark: #0D0D0D;--bg-card: #1A1A1A;--bg-input: #2A2A2A;--text-primary: #FFFFFF;--text-secondary: #888888;--border-color: #333333;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{touch-action:manipulation}body{margin:0;background:var(--bg-dark);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overscroll-behavior:none}.app{min-height:100vh;min-height:100dvh;padding:1rem;padding-top:calc(1rem + var(--safe-area-top));padding-bottom:calc(1rem + var(--safe-area-bottom));max-width:800px;margin:0 auto}.header{text-align:center;padding:1.5rem 0;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.header h1{margin:0;font-size:2rem;background:linear-gradient(135deg,var(--sol-purple),var(--sol-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.wallet-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--sol-purple),var(--sol-green));border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.wallet-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #9945ff4d}.wallet-btn.connected{background:var(--bg-input);border:1px solid var(--sol-purple)}.wallet-address{font-size:.75rem;color:var(--text-secondary)}.wallet-balance{font-size:.85rem;color:var(--sol-green);font-weight:600}.main{display:flex;flex-direction:column;gap:1.5rem}.input-section,.results-section{background:var(--bg-card);border-radius:12px;padding:1.25rem}.input-section h2,.results-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--sol-green)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.results-header h2{margin:0}.share-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--sol-purple),var(--sol-green));border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.share-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #9945ff4d}.share-btn:active{transform:scale(.98)}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.input-group input[type=number],.input-group select{width:100%;padding:.75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:border-color .2s}.input-group input[type=number]:focus,.input-group select:focus{outline:none;border-color:var(--sol-purple)}.input-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary)}.sol-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.sol-input-wrapper input{width:100%}.use-wallet-btn{padding:.5rem .75rem;background:linear-gradient(135deg,var(--sol-purple),var(--sol-green));border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.use-wallet-btn:hover{transform:scale(1.02);box-shadow:0 2px 8px #9945ff4d}.use-wallet-btn:active{transform:scale(.98)}.price-display{padding:.75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;font-size:1rem}.price-loading{color:var(--text-secondary);font-style:italic}.price-value{color:var(--text-primary);font-weight:600}.price-note{font-size:.7rem;color:var(--sol-green);margin-left:.5rem;font-weight:400}.slider-group label{display:flex;align-items:baseline;gap:.25rem}.slider-value{color:var(--sol-green);font-weight:600;font-size:1rem;text-transform:capitalize}.slider-group input[type=range]{width:100%;height:24px;margin:.75rem 0 .25rem;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer}.slider-group input[type=range]::-webkit-slider-runnable-track{height:24px;background:linear-gradient(to bottom,#1a1a1a,#2a2a2a 20%,#3a3a3a,#2a2a2a 80%,#1a1a1a);border-radius:12px;border:1px solid #444;box-shadow:inset 0 2px 4px #00000080}.slider-group input[type=range]::-moz-range-track{height:24px;background:linear-gradient(to bottom,#1a1a1a,#2a2a2a 20%,#3a3a3a,#2a2a2a 80%,#1a1a1a);border-radius:12px;border:1px solid #444;box-shadow:inset 0 2px 4px #00000080}.slider-group input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:20px;margin-top:2px;background:linear-gradient(to bottom,#ff9f43,#ee7b30 40%,#d35400 60%,#a04000);border-radius:6px;cursor:pointer;border:1px solid #8b3a00;box-shadow:0 2px 4px #0006,inset 0 1px #ffffff4d,inset 0 -1px #0003}.slider-group input[type=range]::-moz-range-thumb{width:28px;height:20px;background:linear-gradient(to bottom,#ff9f43,#ee7b30 40%,#d35400 60%,#a04000);border-radius:6px;cursor:pointer;border:1px solid #8b3a00;box-shadow:0 2px 4px #0006,inset 0 1px #ffffff4d,inset 0 -1px #0003}.slider-group input[type=range]::-webkit-slider-thumb:hover{background:linear-gradient(to bottom,#ffb366,#ff8c42 40%,#e67300 60%,#b84d00)}.slider-group input[type=range]::-moz-range-thumb:hover{background:linear-gradient(to bottom,#ffb366,#ff8c42 40%,#e67300 60%,#b84d00)}.slider-group input[type=range]:active::-webkit-slider-thumb{background:linear-gradient(to bottom,#d35400,#a04000 40%,#8b3a00 60%,#6b2d00);box-shadow:0 1px 2px #0006,inset 0 -1px #fff3,inset 0 1px #0003}.slider-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);padding:0 4px;position:relative}.slider-marker{position:absolute;transform:translate(-50%);color:var(--sol-green);font-weight:500;white-space:nowrap;font-size:.65rem}.limit-buttons{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.limit-btn{padding:4px 10px;border:1px solid #444;background:linear-gradient(to bottom,#2a2a2a,#1a1a1a);color:var(--text-secondary);font-size:.7rem;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s ease}.limit-btn:hover:not(.active){color:var(--text-primary);border-color:#555}.limit-btn.active{background:linear-gradient(to bottom,#ff9f43,#d35400);color:#fff;border-color:#8b3a00;font-weight:600}.frequency-buttons{display:flex;gap:0;background:linear-gradient(to bottom,#1a1a1a,#2a2a2a 20%,#3a3a3a,#2a2a2a 80%,#1a1a1a);border-radius:12px;border:1px solid #444;box-shadow:inset 0 2px 4px #00000080;padding:4px;overflow:hidden}.freq-btn{flex:1;padding:10px 8px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;border-radius:8px;position:relative}.freq-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.freq-btn.active{background:linear-gradient(to bottom,#ff9f43,#ee7b30 40%,#d35400 60%,#a04000);color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 4px #0006,inset 0 1px #ffffff4d,inset 0 -1px #0003}.freq-btn.active:active{background:linear-gradient(to bottom,#d35400,#a04000 40%,#8b3a00 60%,#6b2d00);box-shadow:0 1px 2px #0006,inset 0 -1px #fff3,inset 0 1px #0003}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group{margin-top:.5rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--sol-purple)}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.summary-card{background:var(--bg-input);border-radius:8px;padding:.75rem;text-align:center}.card-label{display:block;font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.card-value{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary)}.card-value.highlight{color:var(--sol-green)}.summary-row{display:flex;justify-content:space-around;margin-bottom:1rem;padding:.75rem;background:var(--bg-input);border-radius:8px}.summary-item{text-align:center}.item-label{font-size:.75rem;color:var(--text-secondary);margin-right:.5rem}.item-value{font-weight:600;color:var(--text-primary)}.item-value.gain{color:var(--sol-green)}.section-divider{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.chart-container{margin:0 -.5rem;background:var(--bg-input);border-radius:8px;padding:.5rem 0}.chart-mode-toggle{display:flex;gap:0;margin:.5rem;background:var(--bg-dark);border-radius:8px;padding:3px;width:fit-content}.mode-btn{padding:.4rem .75rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.mode-btn:hover:not(.active){color:var(--text-primary)}.mode-btn.active{background:linear-gradient(135deg,var(--sol-purple),var(--sol-green));color:#fff;font-weight:600}.chart-wrapper{width:100%}.chart-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:0 .5rem}.scale-toggle{padding:.4rem .75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.scale-toggle:hover{border-color:var(--sol-purple);color:var(--text-primary)}.scale-toggle.active{background:linear-gradient(135deg,#9945ff33,#14f19533);border-color:var(--sol-purple);color:var(--sol-green)}.scale-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic}.chart-tooltip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;font-size:.85rem}.tooltip-year{margin:0 0 .5rem;font-weight:600;color:var(--sol-purple)}.chart-tooltip p{margin:.25rem 0}.projection-table{margin-top:1.5rem}.projection-table h3{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.projection-table table{width:100%;border-collapse:collapse;font-size:.85rem}.projection-table th,.projection-table td{padding:.5rem;text-align:right;border-bottom:1px solid var(--border-color)}.projection-table th{color:var(--text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase}.projection-table th:first-child,.projection-table td:first-child{text-align:left}.projection-table tbody tr:hover{background:var(--bg-input)}.footer{text-align:center;padding:2rem 0 1rem;margin-top:2rem;border-top:1px solid var(--border-color)}.footer p{margin:.25rem 0;font-size:.8rem;color:var(--text-secondary)}.disclaimer{font-size:.7rem!important;opacity:.6}@media(min-width:600px){.app{padding:2rem}.header h1{font-size:2.5rem}.input-section,.results-section{padding:1.5rem}.summary-cards{gap:1rem}.summary-card{padding:1rem}.card-label{font-size:.75rem}.card-value{font-size:1.1rem}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.model-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:linear-gradient(to bottom,#1a1a1a,#2a2a2a 20%,#3a3a3a,#2a2a2a 80%,#1a1a1a);border-radius:12px;border:1px solid #444;box-shadow:inset 0 2px 4px #00000080;padding:4px;overflow:hidden}.model-btn{padding:10px 4px;border:none;background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;border-radius:8px;position:relative;white-space:nowrap}.model-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.model-btn.active{background:linear-gradient(to bottom,#9945ff,#73d 40%,#52b 60%,#419);color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 4px #0006,inset 0 1px #ffffff4d,inset 0 -1px #0003}.rainbow-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(min-width:600px){.rainbow-buttons{grid-template-columns:repeat(6,1fr)}}.rainbow-btn{padding:8px 4px;border:1px solid #444;background:linear-gradient(to bottom,#2a2a2a,#1a1a1a);color:var(--text-secondary);font-size:.7rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease}.rainbow-btn:hover:not(.active){color:var(--text-primary);border-color:var(--band-color)}.rainbow-btn.active{background:var(--band-color);color:#000;font-weight:600;border-color:var(--band-color);box-shadow:0 0 10px var(--band-color)}.rainbow-btn.typical:not(.active){border-color:var(--band-color);border-width:2px}.rainbow-btn .band-mult{display:block;font-size:.6rem;opacity:.7;margin-top:2px}.rainbow-btn.active .band-mult{opacity:1}@media(hover:none)and (pointer:coarse){.freq-btn,.model-btn,.limit-btn,.rainbow-btn,.wallet-btn,.share-btn,.scale-toggle,.mode-btn{min-height:44px}.slider-group input[type=range]::-webkit-slider-thumb{width:32px;height:24px}.slider-group input[type=range]::-moz-range-thumb{width:32px;height:24px}.freq-btn:hover:not(.active),.model-btn:hover:not(.active),.rainbow-btn:hover:not(.active),.limit-btn:hover:not(.active){background:transparent;color:var(--text-secondary)}}.freq-btn:active,.model-btn:active,.rainbow-btn:active,.limit-btn:active,.wallet-btn:active,.share-btn:active{transform:scale(.97)}button{transition:transform .1s ease,background .2s ease,color .2s ease,box-shadow .2s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.price-loading{animation:pulse 1.5s ease-in-out infinite}.summary-card .card-value{word-break:break-word}.projection-table{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-height:500px)and (orientation:landscape){.header{padding:.75rem 0;margin-bottom:1rem}.header h1{font-size:1.5rem}.input-section,.results-section{padding:1rem}}.wallet-adapter-button{background-color:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;height:48px;line-height:48px;padding:0 24px;border-radius:4px}.wallet-adapter-button-trigger{background-color:#512da8}.wallet-adapter-button:not([disabled]):focus-visible{outline-color:#fff}.wallet-adapter-button:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-button[disabled]{background:#404144;color:#999;cursor:not-allowed}.wallet-adapter-button-end-icon,.wallet-adapter-button-start-icon,.wallet-adapter-button-end-icon img,.wallet-adapter-button-start-icon img{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.wallet-adapter-button-end-icon{margin-left:12px}.wallet-adapter-button-start-icon{margin-right:12px}.wallet-adapter-collapse{width:100%}.wallet-adapter-dropdown{position:relative;display:inline-block}.wallet-adapter-dropdown-list{position:absolute;z-index:99;display:grid;grid-template-rows:1fr;grid-row-gap:10px;padding:10px;top:100%;right:0;margin:0;list-style:none;background:#2c2d30;border-radius:10px;box-shadow:0 8px 20px #0009;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif}.wallet-adapter-dropdown-list-active{opacity:1;visibility:visible;transform:translateY(10px)}.wallet-adapter-dropdown-list-item{display:flex;flex-direction:row;justify-content:center;align-items:center;border:none;outline:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;padding:0 20px;width:100%;border-radius:6px;font-size:14px;font-weight:600;height:37px;color:#fff}.wallet-adapter-dropdown-list-item:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-modal-collapse-button svg{align-self:center;fill:#999}.wallet-adapter-modal-collapse-button.wallet-adapter-modal-collapse-button-active svg{transform:rotate(180deg);transition:transform ease-in .15s}.wallet-adapter-modal{position:fixed;inset:0;opacity:0;transition:opacity linear .15s;background:#00000080;z-index:1040;overflow-y:auto}.wallet-adapter-modal.wallet-adapter-modal-fade-in{opacity:1}.wallet-adapter-modal-button-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;padding:12px;cursor:pointer;background:#1a1f2e;border:none;border-radius:50%}.wallet-adapter-modal-button-close:focus-visible{outline-color:#fff}.wallet-adapter-modal-button-close svg{fill:#777;transition:fill .2s ease 0s}.wallet-adapter-modal-button-close:hover svg{fill:#fff}.wallet-adapter-modal-overlay{background:#00000080;position:fixed;inset:0}.wallet-adapter-modal-container{display:flex;margin:3rem;min-height:calc(100vh - 6rem);align-items:center;justify-content:center}@media(max-width:480px){.wallet-adapter-modal-container{margin:1rem;min-height:calc(100vh - 2rem)}}.wallet-adapter-modal-wrapper{box-sizing:border-box;position:relative;display:flex;align-items:center;flex-direction:column;z-index:1050;max-width:400px;border-radius:10px;background:#10141f;box-shadow:0 8px 20px #0009;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;flex:1}.wallet-adapter-modal-wrapper .wallet-adapter-button{width:100%}.wallet-adapter-modal-title{font-weight:500;font-size:24px;line-height:36px;margin:0;padding:64px 48px 48px;text-align:center;color:#fff}@media(max-width:374px){.wallet-adapter-modal-title{font-size:18px}}.wallet-adapter-modal-list{margin:0 0 12px;padding:0;width:100%;list-style:none}.wallet-adapter-modal-list .wallet-adapter-button{font-weight:400;border-radius:0;font-size:18px}.wallet-adapter-modal-list .wallet-adapter-button-end-icon,.wallet-adapter-modal-list .wallet-adapter-button-start-icon,.wallet-adapter-modal-list .wallet-adapter-button-end-icon img,.wallet-adapter-modal-list .wallet-adapter-button-start-icon img{width:28px;height:28px}.wallet-adapter-modal-list .wallet-adapter-button span{margin-left:auto;font-size:14px;opacity:.6}.wallet-adapter-modal-list-more{cursor:pointer;border:none;padding:12px 24px 24px 12px;align-self:flex-end;display:flex;align-items:center;background-color:transparent;color:#fff}.wallet-adapter-modal-list-more svg{transition:all .1s ease;fill:#fff;margin-left:.5rem}.wallet-adapter-modal-list-more-icon-rotate{transform:rotate(180deg)}.wallet-adapter-modal-middle{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 24px 24px;box-sizing:border-box}.wallet-adapter-modal-middle-button{display:block;cursor:pointer;margin-top:48px;width:100%;background-color:#512da8;padding:12px;font-size:18px;border:none;border-radius:8px;color:#fff}
