:root{
  --ink:#12181f;
  --ink-soft:#2b333b;
  --muted:#5c6672;
  --paper:#fff;
  --panel:#f5f6f8;
  --panel-2:#eef0f3;
  --line:#dfe3e8;
  --profit:#1f7a53;
  --profit-soft:#e5f4ec;
  --charge:#a4402f;
  --charge-soft:#fbe9e6;
  --accent:#2f4b9c;
  --accent-soft:#e8ecf8;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Space Grotesk','Inter',system-ui,sans-serif;
  --mono:'IBM Plex Mono','SF Mono',Consolas,monospace;
}
body{font-family:var(--sans);color:var(--ink-soft);background:#fff;line-height:1.55}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.2}
.alpha-tool>.wrap,.detail-hero>.wrap{width:min(1180px,calc(100% - 34px))}
.detail-hero{padding:46px 0 34px;background:#fff}
.detail-hero h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;max-width:800px}
.detail-hero p{color:var(--muted);max-width:700px}
.feature-strip{gap:38px}
.eyebrow{color:var(--accent)}

.mode-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.mode-tabs button,.breakdown-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600}
.mode-tabs button.active,.breakdown-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.mode-summary{padding:10px 13px;border-left:3px solid var(--accent);background:var(--accent-soft);color:#43516a;font-size:.84rem;margin:0 0 22px}

.alpha-tool .tool-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);gap:28px;align-items:start}
.alpha-tool .tool-form,.alpha-tool .tool-results{border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--paper);box-shadow:0 1px 2px rgba(18,24,31,.06)}
.panel-title{font-size:1.15rem;margin:0 0 4px}
.panel-sub,.panel-copy{font-size:.88rem;color:var(--muted);margin:0 0 20px}
.section-label{grid-column:1/-1;margin:8px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.section-label h3{font-size:1rem;margin:0 0 3px}
.section-label p{font-size:.8rem;color:var(--muted);margin:0}
.alpha-tool .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.alpha-tool .field{margin-bottom:17px}
.alpha-tool .field label,.brokerage-block>label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.field-note{font-size:.76rem;color:var(--muted);margin:4px 0 0}
.alpha-tool input[type=number],.alpha-tool input[type=date],.alpha-tool select{width:100%;height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:600 .98rem var(--mono);outline:none}
.alpha-tool select{font-family:var(--sans);font-weight:600}
.alpha-tool input:focus,.alpha-tool select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,75,156,.1)}
.unit-input,.prefix-input{position:relative}
.unit-input input{padding-right:42px!important}
.unit-input span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font:600 .85rem var(--mono);pointer-events:none}
.prefix-input input{padding-left:38px!important}
.prefix-input span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font:600 .95rem var(--mono);pointer-events:none}
.brokerage-block{grid-column:1/-1;margin:7px 0 16px}
.segmented{display:flex;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--panel);overflow:auto}
.segmented button{white-space:nowrap;border:0;background:transparent;color:var(--muted);border-radius:999px;padding:8px 18px;font-size:.84rem;font-weight:600}
.segmented button.active{background:var(--ink);color:#fff}
.brokerage-help{font-size:.79rem;color:var(--muted);margin:7px 0 14px}
.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.preset-label{font-size:.79rem;font-weight:600;color:var(--muted);margin-right:2px}
.preset-btn{border:1px dashed var(--line);background:#fff;color:var(--ink-soft);font-size:.77rem;font-weight:600;padding:6px 11px;border-radius:999px}
.preset-btn:hover{border-color:var(--accent);color:var(--accent)}
.toggle-field{grid-column:1/-1;margin:2px 0 18px!important}
.toggle-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;margin:0!important;padding:15px 16px;border:1px solid var(--line);border-radius:9px;background:var(--paper);cursor:pointer}
.toggle-copy{min-width:0}
.toggle-copy strong{display:block;color:var(--ink);font:600 .9rem var(--sans);margin-bottom:2px}
.toggle-copy small{display:block;color:var(--muted);font:400 .78rem/1.45 var(--sans)}
.switch-control{position:relative;width:52px;height:30px;flex:0 0 52px}
.switch-control input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.switch-track{position:absolute;inset:0;border-radius:999px;background:#cbd3de;transition:background .18s ease,box-shadow .18s ease}
.switch-track::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(18,24,31,.22);transition:transform .18s ease}
.switch-control input:checked+.switch-track{background:var(--accent)}
.switch-control input:checked+.switch-track::after{transform:translateX(22px)}
.switch-control input:focus-visible+.switch-track{box-shadow:0 0 0 3px rgba(47,75,156,.18)}
.is-hidden{display:none!important}
.withdrawal-toggle{margin-bottom:0!important}
.withdrawal-settings{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;padding:18px;margin-bottom:18px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}
.withdrawal-frequency>label{display:block;margin-bottom:8px;font-size:.85rem;font-weight:600;color:var(--ink-soft)}
.withdrawal-settings .field{margin-bottom:0}
.weekday-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.weekday-picker label{margin:0!important;cursor:pointer}
.weekday-picker input{position:absolute;opacity:0;pointer-events:none}
.weekday-picker span{display:block;min-width:43px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.76rem;font-weight:650;text-align:center;transition:background .15s ease,color .15s ease,border-color .15s ease}
.weekday-picker input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.weekday-picker input:focus-visible+span{box-shadow:0 0 0 3px rgba(47,75,156,.18)}
.calculate{width:100%;background:var(--ink);color:#fff;border:0;border-radius:7px;padding:14px 18px;font-family:var(--display);font-weight:700;margin-top:4px}
.calculate:hover{background:#242e38}
.error{min-height:20px;color:var(--charge);font-size:.82rem;margin-top:7px}

.compound-results h2{font-size:1.15rem;margin:0 0 4px}
.compound-results .hero-value{padding:22px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fbfcfd,#fff);margin-bottom:14px}
.hero-value span{display:block;color:var(--muted);font-size:.8rem;font-weight:600}
.hero-value strong{display:block;font:600 clamp(1.7rem,4vw,2.15rem)/1.25 var(--mono);color:var(--ink);margin:3px 0 8px}
.hero-value small{display:block;color:var(--muted)}
.metric-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.metric{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fff}
.metric span{display:block;color:var(--muted);font-size:.76rem;font-weight:600;margin-bottom:3px}
.metric strong{font:600 1rem var(--mono);color:var(--ink)}
.metric.gain{background:var(--profit-soft);border-color:#c9e6d6}
.metric.gain strong{color:var(--profit)}
.metric.charge{background:var(--charge-soft);border-color:#f0c9c1}
.metric.charge strong{color:var(--charge)}

.chart-card{margin:28px 0 0;padding:22px 24px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:8px}
.chart-head h2{font-size:1.2rem;margin:0 0 4px}
.chart-head p{font-size:.87rem;color:var(--muted);margin:0}
.chart-legend{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.82rem}
.chart-legend span,.chart-legend label{display:flex;align-items:center;cursor:pointer}
.chart-legend input{width:auto;height:auto;margin:0 7px 0 0;box-shadow:none}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}
.capital-dot{background:#2f4b9c}.profit-dot{background:#a4402f}
#compoundChart{display:block;width:100%;height:300px;background:#fff;cursor:crosshair}

.breakdown-head{display:block;margin:42px 0 19px}
.breakdown-head h2{font-size:1.5rem;margin:0 0 7px}
.breakdown-head p{max-width:780px;color:var(--muted);margin:0}
.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.breakdown-tabs{display:flex;gap:7px;flex-wrap:wrap}
.save-btn{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);padding:9px 16px;border-radius:999px;font-size:.85rem;font-weight:600}
.save-btn:hover{background:var(--accent);color:#fff}
.table-scroll-shell{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:8px 12px;border:1px solid #d5dced;border-radius:9px;background:linear-gradient(180deg,#f8faff,#eef2fb)}
.table-scroll-shell>span{flex:0 0 auto;color:var(--accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.table-scroll-top{width:100%;height:14px;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--accent) #dce3f3;scrollbar-width:thin}
.table-scroll-top>div{height:1px}
.table-scroll-top::-webkit-scrollbar{height:10px}
.table-scroll-top::-webkit-scrollbar-track{background:#dce3f3;border-radius:999px}
.table-scroll-top::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#4564b5,var(--accent));border:2px solid #dce3f3;border-radius:999px}
.table-scroll-top::-webkit-scrollbar-thumb:hover{background:#243f8a}
.compound-table{margin-top:0;border:1px solid var(--line);border-radius:10px;overflow:auto;scrollbar-width:none}
.compound-table::-webkit-scrollbar{display:none}
.compound-table table{width:100%;min-width:1120px;border-collapse:collapse;font-size:.84rem}
.compound-table thead th{background:var(--panel);color:var(--ink-soft);font-family:var(--sans);font-weight:600;text-align:right;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.compound-table thead th:first-child,.compound-table thead th:nth-child(2){text-align:left}
.compound-table tbody td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line);font:500 .82rem var(--mono);white-space:nowrap;color:var(--ink-soft)}
.compound-table tbody td:first-child,.compound-table tbody td:nth-child(2){text-align:left;font-family:var(--sans)}
.compound-table tbody tr.data-row{cursor:pointer;background:#fff}
.compound-table tbody tr.data-row:hover{background:var(--panel)}
.compound-table td.net-pos{color:var(--profit);font-weight:600}
.compound-table td.net-neg{color:var(--charge);font-weight:600}
.expand-btn{width:26px;height:26px;padding:0;margin-right:8px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--accent);font:600 1rem/24px var(--sans);vertical-align:middle;transition:background .15s ease,color .15s ease,border-color .15s ease}
.expand-btn:hover,.expand-btn[aria-expanded="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.detail-row td{background:var(--panel)!important;text-align:left!important;white-space:normal!important;font:500 .8rem/1.75 var(--mono)!important;color:var(--ink-soft)!important;padding:13px 16px!important}
.calculation-lines span{display:block}
.table-note{font-size:.78rem;color:var(--muted);margin:10px 0 0}

@media(max-width:900px){.alpha-tool .tool-grid{grid-template-columns:1fr}.chart-card{padding:18px}.alpha-tool .tool-form,.alpha-tool .tool-results{padding:21px}}
@media(max-width:580px){.alpha-tool .form-grid{grid-template-columns:1fr}.withdrawal-settings{grid-template-columns:1fr}.metric-cards{grid-template-columns:1fr}.mode-tabs button{flex:1 1 45%}.segmented{width:100%}.segmented button{flex:1;padding:8px 10px}.chart-legend{width:100%;justify-content:space-between;gap:8px}.chart-card{padding:16px 10px}#compoundChart{height:250px}.breakdown-head{margin-top:32px}.save-btn{width:100%}.table-scroll-shell{align-items:flex-start;flex-direction:column;gap:5px;padding:7px 10px}.table-scroll-top{height:13px}}
