*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7fbf9;color:#17352d}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app{min-height:100vh}.top{background:linear-gradient(135deg,#0f332b,#184f40 58%,#245f4d);color:white;padding:18px 0 54px}.wrap{width:min(1160px,calc(100% - 28px));margin:0 auto}.nav{display:flex;justify-content:space-between;align-items:center;gap:14px}.brand{font-weight:850;letter-spacing:-.03em;font-size:1.2rem}.brand span{color:#8bd2b5}.privacyPill{font-size:.78rem;border:1px solid rgba(255,255,255,.26);padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08)}.hero{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:30px;gap:30px;padding-top:52px;align-items:center}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.98;letter-spacing:-.055em;margin:0;max-width:800px}.hero h1 em{font-style:normal;color:#a9e2cb}.hero p{max-width:700px;color:#d8ebe3;line-height:1.65;font-size:1.08rem}.promise{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:22px}.promise strong{display:block;font-size:1.05rem;margin-bottom:12px}.promise ul{padding-left:19px;margin:0;color:#d8ebe3;line-height:1.8}.loop{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:7px;gap:7px;margin-top:26px}.loop div{padding:10px 7px;text-align:center;border-radius:12px;background:rgba(255,255,255,.08);font-size:.76rem;color:#e5f3ed}.loop b{display:block;color:#9edfc5;font-size:.68rem;margin-bottom:2px}.main{padding:28px 0 70px}.grid{grid-template-columns:1.1fr .9fr;align-items:start}.grid,.stack{display:grid;grid-gap:20px;gap:20px}.card{background:white;border:1px solid #dfeae5;border-radius:22px;padding:22px;box-shadow:0 12px 34px rgba(23,53,45,.05)}.card h2,.card h3{margin:0}.sub{color:#60736d;line-height:1.55;margin:7px 0 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:18px}.metric{background:#f1f7f4;border-radius:16px;padding:15px}.metric strong{display:block;font-size:1.65rem;letter-spacing:-.04em}.metric span{font-size:.76rem;color:#657a72}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.btn{border:0;border-radius:13px;padding:11px 14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:#176b52;color:white}.soft{background:#e8f4ef;color:#125c48;border:1px solid #cfe5db}.outline{background:white;color:#17352d;border:1px solid #d9e6e0}.danger{background:#fff3f1;color:#913f36;border:1px solid #eed6d2}.choiceRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.choice{border:1px solid #dce8e2;background:white;color:#264b40;border-radius:999px;padding:9px 12px}.choice.active{background:#ddf1e8;border-color:#95cbb5;color:#0e5d47;font-weight:800}.rescue{background:linear-gradient(145deg,#fff9ed,#fff)}.intensity{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin-top:13px}.intensity button{border:1px solid #e5d8bd;background:white;border-radius:12px;padding:10px}.coach{background:linear-gradient(145deg,#123b32,#17654f);color:white}.coach .sub{color:#cee2d9}.chat{display:grid;grid-gap:9px;gap:9px;margin-top:16px;max-height:360px;overflow:auto;padding-right:3px}.bubble{padding:12px 14px;border-radius:15px;line-height:1.48;max-width:92%;font-size:.92rem}.bot{background:rgba(255,255,255,.12);justify-self:start}.me{background:#eff8f4;color:#17352d;justify-self:end}.inputRow{display:grid;grid-template-columns:1fr auto auto;grid-gap:7px;gap:7px;margin-top:12px}.text{width:100%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:white;border-radius:13px;padding:11px 12px;outline:none}.text::placeholder{color:#cce0d8}.mic{width:44px;padding:0}.note{font-size:.75rem;color:#cfe2db;line-height:1.45;margin-top:8px}.voiceRow{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:end;margin-top:14px}.voiceRow label{display:grid;grid-gap:6px;gap:6px;font-size:.76rem;color:#d5e8e0;font-weight:750}.voiceRow .field{background:#f6fbf8;color:#17352d}.formRow{display:grid;grid-template-columns:1fr auto;grid-gap:9px;gap:9px;margin-top:14px}.field{border:1px solid #dce7e2;border-radius:12px;padding:10px 12px;background:white;color:#17352d;min-width:0}.privacy{background:#eef7f3}.status{display:inline-flex;align-items:center;gap:6px;background:#ddf1e8;color:#0f6048;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:850}.dot{width:7px;height:7px;border-radius:50%;background:#15966c}.footer{padding:20px 0 42px;color:#6d7f78;font-size:.78rem;line-height:1.6}.toast{position:fixed;right:18px;bottom:18px;background:#123b32;color:white;padding:11px 14px;border-radius:13px;box-shadow:0 16px 45px rgba(0,0,0,.18);max-width:360px;z-index:30}.fact{border-left:4px solid #77bfa2;padding:10px 12px;background:#f5faf7;border-radius:10px;color:#4f655e;line-height:1.5;font-size:.88rem}.fact,.news{margin-top:14px}.news{display:grid;grid-gap:10px;gap:10px}.news article{border:1px solid #e0ebe6;border-radius:14px;padding:13px}.news b{display:block;margin-bottom:5px}.news p{margin:0;color:#667a72;font-size:.84rem;line-height:1.48}.news a{display:inline-block;margin-top:7px;color:#176b52;font-weight:800;font-size:.8rem}.sectionLabel{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#176b52;font-weight:900;margin-bottom:7px}.modeBar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.sectionTabs,.viceTabs{display:flex;gap:8px;flex-wrap:wrap}.sectionTabs button,.viceTab{border:1px solid #d8e6df;background:white;color:#31594e;border-radius:999px;padding:10px 15px;font-weight:800}.sectionTabs button.selected,.viceTab.selected{background:#173f34;color:white;border-color:#173f34}.moneyLayout{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:20px;gap:20px;align-items:start}.moneyLayout .chartCard,.moneyLayout .invest{grid-column:1/-1}.priceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.priceGrid label{display:grid;grid-gap:6px;gap:6px;font-size:.8rem;color:#5d716a;font-weight:750}.saveTotal{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#153d32,#1f6b54);color:white;border-radius:18px;padding:18px;margin-top:16px}.saveTotal span{font-size:.82rem;color:#d5e9e1}.saveTotal strong{font-size:1.85rem;letter-spacing:-.04em}.matrix{display:grid;grid-template-columns:1.1fr .7fr .9fr;margin-top:16px;border:1px solid #dfe9e4;border-radius:15px;overflow:hidden}.matrixHead{background:#f1f7f4;padding:10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#587068}.matrixRow{display:contents}.matrixRow>*{padding:12px 10px;border-top:1px solid #e5ede9}.matrixRow span,.matrixRow strong{text-align:right}.chartWrap{margin-top:18px;background:#f6faf8;border:1px solid #e1ebe6;border-radius:18px;padding:16px}.chartWrap svg{width:100%;height:260px;overflow:visible}.axis{stroke:#c8d9d1;stroke-width:.7}.savingLine{stroke:#176b52;stroke-width:2.4;vector-effect:non-scaling-stroke}.chartCaption{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;color:#60736d;margin-top:8px}.chartCaption b{color:#17352d}.emptyChart{margin-top:18px;border:1px dashed #c9d9d1;border-radius:16px;padding:28px;text-align:center;color:#677a73;background:#fafcfa}.invest{background:linear-gradient(135deg,#fffaf0,#f4f9f6)}.helpCard{background:linear-gradient(145deg,#f9fdfb,#fff)}.emergencyGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:18px}.emergencyButton{border:1px solid #cfe3d9;border-radius:18px;padding:16px;text-decoration:none;background:#eef7f3;display:grid;grid-gap:4px;gap:4px}.emergencyButton span{font-size:.78rem;color:#597168}.emergencyButton strong{font-size:1.55rem;color:#0f5f48}.emergencyButton:active{transform:scale(.99)}@media(max-width:900px){.grid,.hero,.moneyLayout{grid-template-columns:1fr}.loop{grid-template-columns:repeat(3,1fr)}.moneyLayout .chartCard,.moneyLayout .invest{grid-column:auto}}@media(max-width:620px){.top{padding-bottom:38px}.hero{padding-top:34px}.hero h1{font-size:2.7rem}.metrics{grid-template-columns:1fr 1fr}.metrics .metric:last-child{grid-column:1/-1}.loop{grid-template-columns:repeat(2,1fr)}.card{padding:17px;border-radius:18px}.inputRow{grid-template-columns:1fr auto}.inputRow .btn:last-child{grid-column:1/-1}.emergencyGrid,.formRow,.priceGrid,.voiceRow{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.modeBar{align-items:stretch}.sectionTabs,.viceTabs{width:100%}.sectionTabs button,.viceTab{flex:1 1}.matrix{grid-template-columns:1fr .75fr 1fr}.saveTotal{align-items:flex-start;flex-direction:column}.saveTotal strong{font-size:1.55rem}.chartWrap svg{height:200px}.voiceRow .btn{width:100%}}