:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#17324a;background:#f4f7f9;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{max-width:1100px;margin:auto;min-height:100vh}.topbar{height:74px;display:flex;align-items:center;gap:10px;padding:0 24px;background:#fff;border-bottom:1px solid #e8eef1}.brand-mark{height:35px;width:35px;border-radius:11px;background:#102d4b;color:#fff;display:grid;place-items:center;font-size:23px}.topbar strong{font-size:16px;letter-spacing:-.3px}.topbar strong span{color:#159b91}.topbar small{display:block;color:#8595a3;font-size:10px;margin-top:2px}.top-badge{margin-left:auto;font-size:11px;color:#438b83;background:#e7f6f2;padding:7px 10px;border-radius:99px}main{padding:0 24px 110px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.hero{grid-column:1/-1;padding:37px 4px 22px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#149a91;text-transform:uppercase}.hero h1{font-size:38px;line-height:1.2;letter-spacing:-1px;color:#102d4b;margin:12px 0}.hero h1 em{font-style:normal;color:#158f87}.hero p{color:#708495;font-size:14px;line-height:1.7;margin:0}.card{background:#fff;border:1px solid #e7edf1;box-shadow:0 15px 40px rgba(17,53,77,.045);border-radius:22px;padding:24px;min-width:0}.input-card{grid-column:1;grid-row:2/4}.result-card{grid-column:2;grid-row:2;background:#102d4b;color:#fff;border:0;box-shadow:0 24px 40px rgba(16,45,75,.16)}.schedule-card{grid-column:2;grid-row:3}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.section-heading>div{display:flex;align-items:center;gap:10px}.step{background:#e8f6f2;color:#18988b;border-radius:8px;padding:6px;font-size:11px;font-weight:800}.section-heading h2{font-size:18px;margin:0}.subtle{font-size:11px;color:#91a0aa}.field{margin-bottom:20px;min-width:0}.field label{display:block;font-size:13px;font-weight:700;color:#455d70;margin-bottom:9px}.field small{display:block;color:#97a6af;font-size:11px;margin-top:7px;line-height:1.4}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-wrap{height:46px;border:1px solid #dfe8ec;background:#fafcfd;border-radius:11px;display:flex;align-items:center;padding:0 12px;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#19a197;box-shadow:0 0 0 3px #19a1971e}.input-wrap input{width:100%;min-width:0;border:0;outline:0;background:none;color:#17324a;font-size:16px;font-weight:700}.input-wrap span{color:#8ca0ac;font-size:12px;white-space:nowrap}.segmented{display:flex;gap:4px;padding:4px;border-radius:11px;background:#f0f4f6}.segmented button{border:0;background:transparent;color:#718595;border-radius:8px;min-width:0;flex:1;min-height:38px;font-size:12px;font-weight:700;padding:5px}.segmented button.active{background:#fff;color:#147f79;box-shadow:0 2px 8px #1d506019}.form-error{color:#bc493e;background:#fff1ee;border-radius:9px;padding:11px;font-size:12px}.result-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#c1d4e1}.pill{font-size:11px;background:#ffffff1a;color:#a7eee4;padding:6px 10px;border-radius:99px}.monthly{display:flex;align-items:baseline;gap:5px;white-space:nowrap;margin:18px 0 5px}.monthly span:first-child{font-size:29px;color:#67d6ca}.monthly strong{font-size:clamp(34px,5vw,54px);letter-spacing:-2px;font-variant-numeric:tabular-nums}.monthly span:last-child{font-size:12px;color:#bbd1dc}.result-note{font-size:12px;color:#a9bfcd;margin:0 0 26px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:19px 10px;border-top:1px solid #ffffff29;padding-top:22px}.metrics small{display:block;color:#9bb4c3;font-size:11px;margin-bottom:7px}.metrics strong{font-size:17px;white-space:nowrap}.composition{margin-top:25px}.composition-bar{height:7px;background:#315f83;border-radius:10px;overflow:hidden}.composition-bar span{display:block;background:#4bcbba;height:100%;border-radius:10px}.composition>div:last-child{display:flex;gap:18px;color:#adcad8;font-size:11px;margin-top:11px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.teal{background:#4bcbba}.blue{background:#629ac5}.schedule-summary{font-size:11px;color:#91a0aa;margin-bottom:12px}.year{border-top:1px solid #e9eef1}.year summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:16px 0}.year summary::-webkit-details-marker{display:none}.year summary span{flex:1;min-width:0}.year summary b{font-size:13px}.year summary small{display:block;color:#92a2ae;font-size:10px;margin-top:5px}.year summary strong{font-size:13px;white-space:nowrap}.year summary i{font-style:normal;color:#8ca0ad}.year[open] summary i{transform:rotate(180deg)}.table-scroll{overflow-x:auto;margin-bottom:15px}table{border-collapse:collapse;width:100%;min-width:510px;font-size:10px;font-variant-numeric:tabular-nums}th,td{padding:9px 5px;text-align:right;border-bottom:1px solid #eef2f3;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:#8fa0a9;font-weight:600}td{color:#445c6b}.disclaimer{grid-column:1/-1;color:#91a1ab;font-size:11px;line-height:1.7;margin:0 4px}.bottom-nav{display:none}[hidden]{display:none!important}@media(max-width:760px){.topbar{height:63px;padding:0 18px}main{display:block;padding:0 15px 93px}.hero{padding:29px 6px 23px}.hero h1{font-size:31px}.hero p{font-size:12px}.card{padding:19px;border-radius:19px;margin-bottom:14px}.input-card{margin-bottom:14px}.result-card{margin-bottom:14px}.monthly strong{font-size:clamp(30px,8vw,46px)}.metrics strong{font-size:15px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e7eef2;display:flex;z-index:5;box-shadow:0 -5px 25px #16374b0c}.bottom-nav a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:10px;color:#8da0ab}.bottom-nav a span{font-size:21px;line-height:1.1}.bottom-nav a.active{color:#158e85}.disclaimer{margin:13px 7px}}@media(max-width:370px){.field-grid{gap:8px}.segmented button{font-size:11px;padding:4px}.input-wrap input{font-size:14px}.monthly strong{font-size:31px}.metrics strong{font-size:13px}}
