:root{color-scheme:light;--ink:#172d3d;--muted:#5a6d7a;--line:#dbe3e8;--blue:#1565c0;--orange:#b85619;--paper:#fff;--base:#f4f7f9}*{box-sizing:border-box}body{margin:0;background:var(--base);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}header{height:78px;max-width:1200px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}header>a:last-child{font-size:13px;text-decoration:none}.brand{text-decoration:none;font-weight:750;font-size:26px;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:white;border-radius:8px;font-size:25px}.brand-detail{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:12px}main{max-width:1132px;margin:32px auto 0;padding:0 34px}.intro h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px;margin:0 0 9px;font-weight:650}.intro p{margin:0 0 30px;color:var(--muted);font-size:17px}form{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:25px 27px}.stocks{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;gap:12px}.stock-field label{font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.blue{background:var(--blue)}.orange{background:var(--orange)}.gray{background:#83919a}.versus{align-self:end;text-align:center;color:#71838e;padding-bottom:14px;font-size:13px}.search-wrap{position:relative}.search-wrap>input{font-size:19px;font-weight:550;height:53px;padding:11px 14px;width:100%;background:#fafcfd}.search-wrap ul{position:absolute;z-index:10;top:54px;left:0;right:0;list-style:none;padding:5px;margin:0;background:white;border:1px solid var(--line);box-shadow:0 8px 24px #172d3d20;border-radius:9px;max-height:300px;overflow:auto}.search-wrap li{padding:11px 12px;cursor:pointer;border-radius:5px;display:flex;gap:13px}.search-wrap li:hover,.search-wrap li.selected{background:#eaf2fa}.search-wrap li strong{min-width:65px}.search-wrap li span{font-size:13px;color:var(--muted)}input,select,button{font:inherit;color:inherit;border:1px solid #cdd7de;border-radius:6px;background:white;height:42px;padding:8px 11px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fbce8;outline-offset:3px}button{cursor:pointer;font-weight:550}button:hover{background:#edf3f7}button:disabled{opacity:.6;cursor:wait}.settings{display:grid;grid-template-columns:1.1fr 1fr 1.1fr 1.1fr auto;gap:16px;margin-top:23px;align-items:end}.settings label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.settings input,.settings select{width:100%;min-width:0;font-size:14px;color:var(--ink)}.money-input{position:relative}.money-input span{position:absolute;left:12px;top:9px;font-size:15px}.money-input input{padding-left:27px}.primary{background:var(--ink);color:white;border-color:var(--ink);padding:8px 22px}.primary:hover{background:#29485d}.presets{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;color:var(--muted)}.presets button{height:30px;border:0;background:none;font-size:12px;padding:3px 10px;font-weight:450}.presets button.active{background:#e9f0f5;color:var(--ink)}#status{min-height:43px;padding:11px 2px;font-size:13px;color:var(--muted)}#status.error{color:#a42525}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 21px}h2{font-size:20px;font-weight:600;letter-spacing:-.4px;margin:0}.result-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.quiet{border:0;background:transparent;height:34px;font-size:12px}.summary{display:grid;grid-template-columns:1fr 1fr .8fr;margin-bottom:22px;gap:25px}.summary article{display:flex;flex-direction:column;padding:1px 0 0 16px;border-left:3px solid var(--line)}.summary .blue-border{border-color:var(--blue)}.summary .orange-border{border-color:var(--orange)}.small-label{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary strong{font-size:30px;letter-spacing:-1px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}.summary article>span:last-child{font-size:12px;color:var(--muted)}.gain{color:#236246!important}.loss{color:#a13232!important}.chart-wrap{position:relative;border-bottom:1px solid var(--line);background:white;border:1px solid var(--line);border-radius:10px;padding:16px 12px 6px}svg{display:block;width:100%;overflow:visible;touch-action:pan-y}svg text{font-family:inherit;font-size:11px;fill:var(--muted)}#chart-tip{position:absolute;pointer-events:none;top:16px;left:65px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:12px;box-shadow:0 3px 10px #172d3d12}.legend{display:flex;gap:23px;justify-content:center;font-size:12px;margin:15px 0}.legend>span{display:flex;align-items:center;gap:7px}.legend i{width:18px;height:3px;display:inline-block}.legend .dashed{background:repeating-linear-gradient(90deg,#83919a 0 5px,transparent 5px 8px)}.outcome{font-size:14px;text-align:center;color:var(--muted);margin:20px 0 32px}.method{border-top:1px solid var(--line);padding:18px 0;font-size:13px;color:var(--muted)}.method summary{cursor:pointer;color:var(--ink);font-weight:550}.method div{max-width:820px}.method p{line-height:1.7}footer{max-width:1132px;margin:20px auto 0;padding:20px 34px 35px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:760px){header{height:65px;padding:0 20px}.brand-detail{display:none}main{margin:23px auto 0;padding:0 20px}.intro h1{font-size:31px}.intro p{font-size:15px;margin-bottom:23px}form{padding:19px 17px}.stocks{grid-template-columns:1fr;gap:14px}.versus{display:none}.search-wrap>input{font-size:17px;height:47px}.settings{grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.primary{grid-column:1/-1}.presets{gap:2px;justify-content:space-between}.presets button{padding:3px 5px;font-size:11px}.summary{grid-template-columns:1fr 1fr;gap:19px 12px}.summary strong{font-size:26px}.summary .contribution{grid-column:1/-1;display:flex;flex-direction:row;align-items:baseline;gap:11px;border-left:0;padding:0}.contribution strong{font-size:17px;letter-spacing:-.3px}.summary .contribution>span:last-child{font-size:11px}.small-label{font-size:12px}.result-heading{margin-bottom:20px}h2{font-size:18px}.chart-wrap{padding:16px 3px 8px;margin:0 -5px}#chart{min-height:220px}.legend{gap:15px}.outcome{font-size:13px}.method{margin-top:20px}footer{padding:16px 20px 27px;display:block}footer>a{display:block;margin-top:8px}}

/* Let native date controls shrink inside narrow phone grids. */
.settings>*{min-width:0}.settings label,.money-input,.stock-field,.search-wrap{min-width:0}.settings input[type=date]{min-width:0;max-width:100%;width:100%}.settings input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}@media(max-width:760px){.settings{grid-template-columns:repeat(2,minmax(0,1fr))}.stocks{grid-template-columns:minmax(0,1fr)}.settings input[type=date]{font-size:12px;padding:8px 6px}.presets{flex-wrap:wrap}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary .contribution{flex-wrap:wrap;gap:3px 10px}.summary article{min-width:0}.legend{flex-wrap:wrap}}

#chart{height:340px;min-height:0}#chart text{font-size:11px}#chart-tip{left:52px;right:16px;max-width:400px;white-space:normal;line-height:1.6}@media(max-width:760px){#chart{height:270px;min-height:0}#chart-tip{left:48px;right:12px;font-size:11px;top:12px;padding:7px 9px}}

.end-setting{min-width:0}.end-setting>input:not([hidden]){margin-top:7px}
