:root{--ink:#132e33;--navy:#102a32;--deep:#09212a;--muted:#667777;--line:#dde5e2;--paper:#f4f7f5;--white:#fff;--mint:#b7f1cd;--teal:#1f856c;--lime:#d2f5b4;--sand:#fbefd7;--orange:#e59c5a;--shadow:0 10px 36px rgba(18,53,56,.055);font-family:"Kanit","Sarabun",Tahoma,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #62bea2;outline-offset:3px}a{color:inherit}.shell{max-width:1320px;margin:0 auto;padding:0 32px}.skip{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}.site-header{background:var(--deep);color:white;border-bottom:1px solid rgba(255,255,255,.12)}.header-inner{display:flex;align-items:center;gap:32px;height:82px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{height:42px;width:42px;display:grid;place-items:center;background:#1c4345;border-radius:12px;color:var(--mint)}.brand-mark svg{width:25px}.brand-text{font-size:21px;font-weight:600;letter-spacing:normal;line-height:1}.brand-text small{display:block;color:var(--mint);font-size:9px;font-weight:600;letter-spacing:normal;margin-top:8px}.header-nav{display:flex;align-items:center;gap:29px;margin-left:auto}.header-nav a{font-size:13px;color:#b9cccb;text-decoration:none;transition:color .2s}.header-nav a:hover{color:var(--mint)}.privacy-chip{display:inline-flex;gap:9px;align-items:center;padding:8px 12px;border-radius:25px;border:1px solid #37605e;color:#c0ddcf;font-size:11px;margin-left:22px}.online-dot,.pulse-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px rgba(183,241,205,.12)}.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent,black)}.hero-layout{display:grid;grid-template-columns:1.16fr .84fr;min-height:490px;align-items:center;gap:70px;padding-top:60px;padding-bottom:68px;position:relative}.hero-copy{max-width:690px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:normal;color:var(--mint);display:flex;align-items:center;gap:12px}.eyebrow-line{width:22px;height:1px;background:var(--mint)}.sparkle{font-size:18px}.hero h1{font-size:clamp(35px,4.5vw,65px);letter-spacing:normal;line-height:1.35;margin:24px 0 18px;font-weight:600}.hero h1 em{font-style:normal;color:var(--mint)}.hero p{font-size:15px;color:#b4cbca;max-width:600px;line-height:1.95}.hero p strong{color:white}.hero-tags{display:flex;gap:22px;flex-wrap:wrap;color:#c9ded7;font-size:12px;margin:28px 0 28px}.hero-link{color:var(--deep);background:var(--mint);display:inline-flex;gap:26px;align-items:center;text-decoration:none;padding:12px 18px 12px 23px;border-radius:9px;font-size:13px;font-weight:600;transition:transform .2s}.hero-link:hover{transform:translateY(-2px)}.hero-link span{font-size:21px}.hero-visual{height:340px;position:relative;border:1px solid #3a5756;border-radius:23px;background:linear-gradient(145deg,#204543 0%,#14333a 66%,#0f2b36 100%);padding:25px 27px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 25px 55px rgba(0,0,0,.17);overflow:hidden}.orb{position:absolute;border-radius:50%;border:1px solid rgba(183,241,205,.12);pointer-events:none}.orb-one{width:350px;height:350px;top:5px;right:-96px}.orb-two{width:240px;height:240px;top:63px;right:-42px}.preview-head,.preview-footer{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.small-label{font-weight:500;font-size:11px;letter-spacing:normal;color:#d2e9df}.live-pill{border:1px solid #609079;border-radius:40px;padding:5px 9px;color:var(--mint);font-size:9px;font-weight:500;letter-spacing:normal}.live-pill span{display:inline-block;background:var(--mint);width:5px;height:5px;border-radius:50%;margin-right:5px}.preview-center{text-align:left;padding-left:37px;position:relative;z-index:1}.preview-icon{color:var(--mint);font-size:20px}.preview-big{font-size:104px;color:#f1fff5;font-weight:500;letter-spacing:normal;line-height:1.1}.preview-big span{font-size:24px;letter-spacing:normal;color:#89b8a6}.preview-caption{color:#c0d5cb;font-size:12px}.preview-footer{justify-content:space-around;color:#a4c5b9;font-size:9px;font-weight:500;letter-spacing:normal}.preview-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:-8px}.preview-bars i{height:4px;background:#6ac39e;border-radius:20px}.preview-bars i:nth-child(2){background:#a6dfbf}.preview-bars i:nth-child(3){background:#639c98}.preview-bars i:nth-child(4){background:#286763}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:64px 0 28px}.kicker{font-size:10px;letter-spacing:normal;font-weight:600;color:#318971;margin-bottom:8px}.kicker.light{color:var(--mint)}.section-heading h2,.list-heading h2{font-size:clamp(24px,3vw,34px);letter-spacing:normal;line-height:1.35;margin:0 0 8px}.section-heading p,.list-heading p{font-size:13px;color:#74807f;margin-bottom:0}.section-note{border-bottom:1px solid #b4c8c0;color:#5c8a79;font-size:12px;padding-bottom:6px;white-space:nowrap}.section-note span{font-size:18px;margin-left:8px}.workspace{display:grid;grid-template-columns:minmax(320px,410px) minmax(0,1fr);gap:25px;align-items:start}.config-col{display:grid;gap:16px}.panel{border:1px solid var(--line);background:var(--white);border-radius:15px;padding:23px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.panel-head>div{display:flex;gap:10px;align-items:center}.panel-count{border:1px solid #d5e6dd;background:#ecf8f0;color:#488d72;font-size:10px;font-weight:600;width:25px;height:25px;display:grid;place-items:center;border-radius:7px}.panel-head h3{font-size:16px;letter-spacing:normal;margin:0}.sub-icon{color:#87a49d;font-size:22px;line-height:1}.days-widget{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:8px 0}.days-number{font-size:68px;font-weight:600;line-height:1.15;letter-spacing:normal}.days-word{color:#7d9d8c;font-weight:500;font-size:15px}.card-days input[type=range]{width:100%;accent-color:#258367;cursor:pointer;height:24px}.range-labels{display:flex;justify-content:space-between;color:#8ba29a;font-size:11px}.preset-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:18px 0}.preset-row button{border:1px solid #e2e9e6;background:white;border-radius:9px;padding:8px 2px;font-size:11px;color:#688078}.preset-row button.active{background:#1b735b;color:white;border-color:#1b735b;font-weight:600}.small-hint{font-size:11px;line-height:1.8;color:#8a9994;margin:12px 0 0}.small-hint.no-top{margin-top:8px}.count-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.count-line label{font-size:13px;font-weight:500}.stepper{display:flex;align-items:center;border-radius:9px;border:1px solid #dbe6e1;overflow:hidden}.stepper button{background:#f4f9f6;border:0;font-size:20px;width:35px;height:33px;color:#398365}.stepper input{text-align:center;width:39px;border:0;outline:none;appearance:textfield;font-size:13px;font-weight:500}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.members-list{display:grid;gap:12px}.member-card{background:#f6f9f7;border:1px solid #e4ece8;border-radius:11px;padding:14px}.member-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.member-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12px}.member-index{background:#dceee5;color:#367f62;width:23px;height:23px;border-radius:7px;text-align:center;line-height:23px}.member-age-tag{font-size:10px;color:#4b8d73;background:#e7f5ed;padding:3px 8px;border-radius:20px;font-weight:500}.member-fields{display:grid;grid-template-columns:1.2fr .65fr 1.05fr;gap:8px}.field span{display:block;font-weight:500;font-size:10px;color:#6b8378;margin-bottom:5px}.field input,.field select{border:1px solid #dce6e1;border-radius:7px;background:white;color:var(--ink);width:100%;min-width:0;height:35px;padding:5px 8px;font-size:12px;outline-color:#82c8ac}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cash-grid{margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.member-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.mini-check{display:inline-flex;position:relative;align-items:center;gap:4px;font-size:10px;color:#667d73;border:1px solid #dce6e0;background:white;padding:4px 7px;border-radius:7px;cursor:pointer;user-select:none}.mini-check input{accent-color:#27775d;width:12px;height:12px;margin:0}.mini-check:has(input:checked){background:#dbf4e5;border-color:#90cfaa;color:#216549;font-weight:500}.add-member{border:1px dashed #a7c9b5;color:#28745b;background:#f7fbf8;border-radius:9px;width:100%;height:41px;margin-top:12px;font-size:12px;font-weight:600}.scenario-list{display:grid}.scenario{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf0ee;cursor:pointer}.scenario:last-child{border-bottom:0;padding-bottom:1px}.scenario:first-child{padding-top:0}.scenario span{display:grid;gap:2px;padding-right:12px}.scenario strong{font-size:12px}.scenario small{font-size:10px;color:#87958d}.scenario input{position:absolute;opacity:0;width:36px;height:22px;right:0;cursor:pointer}.scenario i{display:block;width:37px;height:21px;background:#cdd7d3;border-radius:18px;position:relative;flex-shrink:0;transition:background .2s;pointer-events:none}.scenario i:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:white;top:3px;left:3px;transition:transform .2s}.scenario input:checked+i{background:#268569}.scenario input:checked+i:after{transform:translateX(16px)}.scenario input:focus-visible+i{outline:3px solid #62bea2;outline-offset:3px}.results-col{min-width:0}.result-intro{background:#15383a;color:white;border-radius:16px 16px 0 0;padding:30px 30px 26px;display:flex;justify-content:space-between;align-items:end;gap:18px}.result-intro h2{font-size:28px;line-height:1.3;letter-spacing:normal;margin:0 0 3px}.result-intro p{font-size:12px;color:#b9cfca;margin:0}.plan-status{font-size:10px;white-space:nowrap;color:#c9e2d8;display:flex;align-items:center;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d8e4dd;border:1px solid #d8e4dd;border-top:0;border-radius:0 0 15px 15px;overflow:hidden}.stat-card{background:white;padding:23px 27px 25px;min-height:175px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-tag{font-size:10px;font-weight:600;letter-spacing:normal;color:#789789}.stat-icon{font-size:23px}.stat-main{display:flex;align-items:baseline;gap:8px;margin:16px 0 4px;white-space:nowrap}.stat-main strong{font-size:clamp(29px,3.1vw,43px);font-weight:600;letter-spacing:normal;line-height:1}.stat-main span{font-size:15px;font-weight:500;color:#568770}.stat-desc{font-size:11px;color:#85928d}.stat-card.cash .stat-main strong{font-size:clamp(27px,3vw,40px)}.breakdown{margin-top:17px}.panel-results{border:1px solid var(--line);border-radius:14px;background:#fff;padding:23px 26px;box-shadow:var(--shadow)}.breakdown-top{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.eyebrow-mini{font-size:9px;letter-spacing:normal;font-weight:600;color:#6d9d87}.breakdown-top h3{font-size:17px;margin:2px 0 0}.breakdown-top>span{font-size:11px;color:#93a29b}.formula-row{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:10px 0;border-bottom:1px solid #edf0ee;font-size:12px}.formula-row:last-child{border-bottom:0}.formula-row .formula-label{color:#667f74;flex:1}.formula-row strong{text-align:right;font-size:12px}.calc-disclaimer{font-size:10px;color:#98a29d;line-height:1.75;margin:12px 0 0}.advice-block{margin-top:17px;background:#fff9ed;border:1px solid #f1e1bb;border-radius:14px;padding:22px 25px}.advice-header{display:flex;gap:12px;align-items:center}.advice-symbol{background:#f4dfb6;border-radius:9px;width:30px;height:30px;display:grid;place-items:center;font-weight:600;color:#b7812e}.advice-header h3{font-size:15px;margin:0}.advice-header p{font-size:11px;color:#977b54;margin:0}.advice-list{margin-top:15px;display:grid;gap:9px}.advice-item{display:flex;gap:9px;color:#80673e;font-size:11px;line-height:1.7}.advice-item::before{content:"•";color:#b58237;font-weight:600;flex-shrink:0}.checklist-section{margin-top:47px}.list-heading h2{font-size:27px}.progress-panel{background:#e5f3e9;border:1px solid #cce8d4;border-radius:12px;padding:18px 21px;margin-top:20px}.progress-copy{display:flex;align-items:center;gap:15px;margin-bottom:13px}.progress-copy>strong{font-size:32px;font-weight:600;line-height:1;color:#267956;letter-spacing:normal}.progress-copy>div{display:grid}.progress-copy b{font-size:12px}.progress-copy span{font-size:10px;color:#638975}.progress-track{background:#c6e1d1;height:8px;border-radius:100px;overflow:hidden}.progress-track span{display:block;background:#2b9271;height:100%;border-radius:100px;transition:width .25s}.tools-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0 16px}.filter-pills{background:#e8eeeb;border-radius:9px;padding:4px;display:flex;gap:3px}.filter-pills button{border:0;background:transparent;border-radius:7px;color:#72827c;padding:8px 11px;font-size:11px;font-weight:500}.filter-pills button.selected{background:white;box-shadow:0 1px 5px #0000000d;color:#1f6c53}.action-buttons{display:flex;gap:7px}.action-buttons button{background:white;border:1px solid #d4e1da;color:#476e60;border-radius:8px;padding:9px 10px;font-size:11px;font-weight:500}.action-buttons button:hover{border-color:#62a98b}.checklist-groups{display:grid;gap:14px}.check-group{background:white;border:1px solid #e0e8e3;border-radius:13px;overflow:hidden}.check-head{display:flex;align-items:center;justify-content:space-between;background:#f8faf9;border-bottom:1px solid #e9eeea;padding:14px 18px;gap:12px}.check-head strong{font-size:13px;display:flex;align-items:center;gap:10px}.check-head strong span{font-size:21px}.check-head small{color:#8ba19a;font-size:10px}.check-item{display:flex;align-items:start;gap:12px;padding:13px 18px;border-bottom:1px solid #eef1ee;cursor:pointer}.check-item:last-child{border-bottom:0}.check-item:hover{background:#fbfdfb}.check-item input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0;accent-color:#2a8b68;cursor:pointer}.check-main{flex:1;min-width:0}.check-main strong{font-size:12px;font-weight:500;display:block}.check-main p{font-size:10px;color:#87938f;line-height:1.6;margin:4px 0 0}.check-qty{font-size:12px;color:#246c55;font-weight:600;text-align:right;max-width:42%;align-self:center}.check-item.is-done .check-main strong{text-decoration:line-through;color:#8d9e96}.check-item.is-done .check-qty{color:#8faba0}.nothing-here{background:white;padding:27px;text-align:center;border:1px dashed #c8d7d0;border-radius:12px;color:#81928b;font-size:13px}.guide-section{margin-top:70px;padding-bottom:56px;border-top:1px solid #dfe7e2}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.guide-card{background:#fff;border:1px solid #e1e8e3;border-radius:14px;padding:22px;min-height:215px}.guide-num{font-weight:600;letter-spacing:normal;color:#7baa96;font-size:11px}.guide-card h3{font-size:14px;margin:22px 0 9px}.guide-card p{font-size:11px;color:#758781;line-height:1.8;margin:0}.hotlines{background:#183d3e;color:white;border-radius:14px;padding:27px 29px;margin-top:21px;display:flex;align-items:center;justify-content:space-between;gap:18px}.hotline-label{font-size:10px;color:#a3d3b8;letter-spacing:normal;font-weight:600}.hotlines h3{font-size:17px;margin:6px 0 0}.hotline-items{display:flex;flex-wrap:wrap;gap:11px}.hotline-items span{display:grid;font-size:10px;color:#bbd4c9;min-width:81px}.hotline-items b{font-size:23px;color:var(--mint);line-height:1.4}.sources{margin-top:24px;padding:22px 25px;background:#eaf0ed;border-radius:13px}.sources h3{font-size:14px;margin:0 0 9px}.sources p{color:#677d73;font-size:11px;line-height:1.85}.source-links{display:flex;gap:9px;flex-wrap:wrap}.source-links a{font-size:10px;color:#286f54;text-decoration:none;background:#fff;padding:7px 11px;border:1px solid #d8e5dc;border-radius:7px}.sources .footer-fine{margin:15px 0 0;color:#879a91;font-size:10px}.site-footer{background:var(--deep);color:white;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-brand b{display:block;font-size:24px}.footer-brand b span{color:var(--mint)}.footer-brand small{color:#97b8ae;font-size:10px}.footer-actions{display:flex;gap:10px}.footer-actions button{border:1px solid #476b63;color:#b9d9cb;background:transparent;border-radius:8px;padding:8px 13px;font-size:11px}.footer-actions button:hover{color:white;border-color:#93bca6}@media(max-width:1080px){.hero-layout{gap:30px}.workspace{grid-template-columns:340px minmax(0,1fr)}.panel{padding:19px}.hero h1{font-size:43px}.guide-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:19px 20px}.stat-main strong{font-size:34px}}@media(max-width:820px){.shell{padding-left:20px;padding-right:20px}.header-inner{height:68px}.header-nav{display:none}.privacy-chip{margin-left:auto}.hero-layout{grid-template-columns:1fr;min-height:0;gap:35px;padding-top:48px;padding-bottom:42px}.hero-copy{max-width:680px}.hero h1{font-size:48px}.hero-visual{height:260px;max-width:680px;width:100%}.preview-center{padding-left:20px}.preview-big{font-size:70px}.section-heading{margin-top:42px}.workspace{grid-template-columns:1fr}.config-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.config-col .panel{height:100%}.results-col{margin-top:12px}.member-fields{grid-template-columns:1fr .8fr}.member-fields .field:nth-child(3){grid-column:1/-1}.section-note{display:none}.hotlines{align-items:start;flex-direction:column}}@media(max-width:620px){body{font-size:14px}.shell{padding:0 16px}.brand-text{font-size:18px}.brand-mark{height:36px;width:36px}.privacy-chip{font-size:9px;margin-left:auto;padding:7px 9px}.hero-layout{padding-top:42px;gap:28px}.hero h1{font-size:clamp(32px,9vw,42px);letter-spacing:normal;margin:19px 0 15px}.hero p{font-size:13px}.hero-tags{gap:9px 15px;font-size:11px}.hero-visual{height:215px;padding:17px 20px}.preview-center{padding-left:8px}.preview-big{font-size:58px}.preview-icon{font-size:16px}.preview-caption{font-size:10px}.section-heading h2{font-size:26px}.section-heading{margin:39px 0 18px}.config-col{grid-template-columns:1fr;gap:13px}.config-col .panel{height:auto}.panel{padding:20px}.member-fields{grid-template-columns:1.2fr .75fr .9fr}.member-fields .field:nth-child(3){grid-column:auto}.result-intro{padding:23px 17px;align-items:start;flex-direction:column;gap:8px}.result-intro h2{font-size:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:152px;padding:17px 13px}.stat-main{gap:5px}.stat-main strong,.stat-card.cash .stat-main strong{font-size:clamp(25px,7vw,33px)}.stat-main span{font-size:12px}.stat-desc{font-size:10px}.stat-top .stat-tag{font-size:9px}.stat-icon{font-size:19px}.panel-results{padding:21px 17px}.formula-row{gap:11px;font-size:11px}.formula-row strong{font-size:11px}.advice-block{padding:18px 16px}.list-heading h2{font-size:23px}.tools-row{flex-direction:column;align-items:stretch}.filter-pills{justify-content:space-between}.filter-pills button{flex:1;padding:9px 5px}.action-buttons>*{flex:1}.check-item{padding:12px 12px;gap:10px}.check-qty{font-size:11px}.guide-grid{grid-template-columns:1fr}.guide-card{min-height:0}.guide-card h3{margin:10px 0}.hotlines{padding:23px 19px}.hotline-items{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.footer-inner{flex-direction:column;align-items:start}.footer-actions{width:100%}.footer-actions button{flex:1}}@media print{body{background:white;font-size:11px}.site-header,.hero,.config-col,.section-heading,.guide-section,.site-footer,.tools-row,.action-buttons,.plan-status{display:none!important}.shell{padding:0;max-width:none}.workspace{display:block}.result-intro{border:1px solid #ccc;color:#111;background:white;padding:10px}.result-intro h2,.result-intro p{color:#111}.stats-grid{break-inside:avoid}.stat-card{min-height:90px;padding:10px}.stat-main strong{font-size:25px}.stat-desc{font-size:10px}.breakdown,.advice-block{break-inside:avoid}.checklist-section{margin-top:15px}.check-group{break-inside:avoid}.check-item{padding:5px 10px}.progress-panel{padding:8px}.progress-copy{margin-bottom:4px}.check-item input{appearance:auto}.check-item .check-main p{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v1.1 | Scenario additions */
.scenario-emphasis{background:#f5faf7;padding:14px 10px;border-radius:9px;border:1px solid #e1e9e4;margin:5px 0}
.scenario-emphasis:first-child{padding-top:14px}
.scenario-emphasis i{margin-right:1px}
.scenario-settings{background:#edf7f0;border:1px solid #d1e4d6;border-radius:10px;padding:13px;margin:7px 0 12px}
.scenario-settings[hidden]{display:none!important}
.scenario-settings .field{display:grid;gap:5px}
.scenario-settings select{max-width:100%;width:100%;font-size:12px;border:1px solid #cadae0;border-radius:7px;background:white;padding:10px 9px}
.scenario-settings p{margin-top:9px}
.scenario-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.scenario-tag{display:inline-flex;color:#cff6df;border:1px solid #52746b;border-radius:15px;padding:3px 9px;font-size:10px;background:rgba(255,255,255,.06)}
@media print{.scenario-tags{margin-top:7px}.scenario-tag{color:#333;border-color:#bbb;background:#fafafa}}

/* v1.2 | Individual pet profiles */
.pets-list{margin:12px 0 10px}.pet-card{border-color:#d0e2d6;background:#fcfffd}.pet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}.pet-fields .field{min-width:0}.pet-fields input,.pet-fields select{width:100%;min-width:0}.pet-index{font-size:17px!important}.pet-wide{grid-column:1/-1}.pet-empty{padding:12px;border:1px dashed #cbded4;color:#6f8478;border-radius:10px;font-size:11px}.pet-context{font-size:10px;color:#7d8f83;line-height:1.6;margin:9px 0 0}.remove-pet{display:block;margin:10px 0 0 auto;background:transparent;border:1px solid #e5b7b3;color:#9a4b43;font-size:10px;border-radius:7px;padding:6px 9px}.remove-pet:hover{background:#fff2f0}.cash-pet{grid-column:1/-1}.pet-card .member-head{gap:7px}.pet-card .member-age-tag{font-size:9px;white-space:normal;text-align:right}
@media(max-width:620px){.pet-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-fields .field span{font-size:10px}.pet-fields input,.pet-fields select{font-size:12px}}
@media(max-width:350px){.pet-fields{grid-template-columns:1fr}.pet-wide{grid-column:auto}}

/* v1.3 | Contextual human member flags + checklist exports */
.member-override{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border-radius:9px;border:1px dashed #d5e2d9;background:#fcfefc;color:#63786e;font-size:11px;line-height:1.6;margin:12px 0 0;cursor:pointer}
.member-override input{accent-color:#25785c;margin:3px 0 0;flex-shrink:0}
.member-help{font-size:10px;color:#82938a;margin:10px 0 0;line-height:1.65}
.export-hint{font-size:11px;color:#6c8677;margin:14px 0 0;line-height:1.65}
.action-buttons{flex-wrap:wrap;justify-content:flex-end}
.action-buttons button:disabled{cursor:progress;opacity:.65}
.print-report{display:none}
@media(max-width:620px){.action-buttons{justify-content:stretch}.action-buttons button{min-width:90px}}
@media print{
  @page{size:A4;margin:12mm 13mm}
  body{background:white!important;color:#142c2c!important;font-family:var(--font-primary)!important}
  body> :not(#print-report){display:none!important}
  #print-report{display:block!important;width:100%;font-size:10pt;line-height:1.45}
  .report-header{border-bottom:2px solid #376c56;padding-bottom:12px;margin-bottom:17px}
  .report-brand{font-size:16pt;font-weight:600;color:#1c5b48}
  .report-brand small{display:block;font-size:7pt;letter-spacing:normal}
  .report-header h1{font-size:18pt;line-height:1.3;margin:12px 0 8px;color:#193c34}
  .report-header p{font-size:9pt;margin:4px 0}
  .report-scenarios{color:#4e6a5a}
  .report-group{margin:0 0 13px}
  .report-group h2{background:#eff6f1;color:#193c34;font-size:12pt;padding:9px 12px;margin:12px 0 0;break-after:avoid;display:flex;justify-content:space-between}
  .report-group h2 span{font-size:9pt;font-weight:400;color:#66816f}
  .report-item{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid #ddd;padding:8px 5px;break-inside:avoid}
  .report-check{width:15px;height:15px;border:1.5px solid #447761;flex:0 0 15px;font-size:12px;text-align:center;line-height:13px}
  .report-content{flex:1;min-width:0}
  .report-content strong{font-size:10pt;font-weight:500}
  .report-content p{color:#596861;font-size:8.3pt;margin:3px 0 0}
  .report-item b{width:27%;font-size:9.5pt;color:#245e49;text-align:right;flex-shrink:0}
  .report-footer{font-size:8pt;color:#738779;text-align:center;border-top:1px solid #dde8df;padding-top:13px;margin-top:20px;break-inside:avoid}
}


/* v1.4 | Save, share, and email */
.save-share-section{margin-top:40px;padding:28px;border:1px solid #d8e5dd;border-radius:17px;background:#f7fbf8}
.save-share-section h2{font-size:23px;letter-spacing:normal;margin:7px 0 5px}
.save-share-intro{font-size:11px;color:#6b8174;line-height:1.8;max-width:670px}
.share-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:23px}
.share-tile{min-width:0;position:relative;background:white;border:1px solid #dfe9e1;border-radius:12px;padding:19px 17px;box-shadow:0 3px 16px #0a3e2410}
.share-tile-email{grid-column:1/-1}
.share-tile-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e7f6ed;color:#258463;font-size:23px;margin-bottom:11px}
.share-tile h3{font-size:14px;margin:0 0 5px}
.share-tile p{font-size:11px;color:#698276;line-height:1.75;margin:0 0 16px}
.tile-buttons{display:flex;gap:8px;flex-wrap:wrap}
.share-tile button,.import-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4e4d8;border-radius:8px;padding:10px 13px;font-size:11px;font-weight:500;line-height:1.5;cursor:pointer;text-decoration:none}
.share-tile button:disabled{opacity:.6;cursor:progress}
.action-primary{background:#197354;color:#fff;border-color:#197354!important}
.action-primary:hover{background:#155e46}
.action-secondary,.import-button{background:#fff;color:#326e58}
.action-secondary:hover,.import-button:hover{background:#f1faf4}
.import-button{margin-top:8px}
.tile-note{display:block;color:#8a9e94;font-size:10px;line-height:1.7;margin-top:13px}
.share-url-wrap{margin-top:12px;display:grid;gap:6px}
.share-url-wrap[hidden]{display:none!important}
.share-url-wrap label{color:#48745e;font-size:10px;font-weight:500}
.share-url-line{display:flex;gap:5px;min-width:0}
.share-url-line input{width:100%;min-width:0;flex:1;border:1px solid #cadfd3;background:#f9fdf9;border-radius:7px;font-size:10px;color:#426953;padding:9px}
.share-url-line button{flex-shrink:0}
.action-feedback{font-size:11px;color:#2a7754;line-height:1.8;margin:12px 0 0}
.action-feedback:empty{display:none}
.action-feedback.is-error{color:#a34f39}
.share-dialog{position:fixed;inset:0;width:min(740px,calc(100% - 28px));max-height:min(92vh,930px);border:0;border-radius:17px;padding:25px;background:#fff;box-shadow:0 20px 90px #061e1d50;color:#153b30;overflow:auto}
.share-dialog::backdrop{background:rgba(7,30,26,.75)}
.share-dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:11px;border-bottom:1px solid #e0eae2}
.share-dialog-top h2{margin:6px 0;font-size:23px}.share-dialog-top button{width:36px;height:36px;background:#eff6f0;border:0;border-radius:9px;color:#365e4b}
.shared-privacy{margin-top:15px;background:#f1f8f2;border-radius:9px;padding:12px;font-size:11px;line-height:1.75;color:#387158}
.shared-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}
.shared-stats span{background:#e7f2e9;border-radius:9px;padding:12px 6px;text-align:center;font-size:11px;color:#426d56}.shared-stats b{font-size:20px;display:block}
.shared-scenario,.shared-help{font-size:11px;line-height:1.7;color:#648575}
.shared-group{margin:19px 0;border:1px solid #e2ece4;border-radius:10px;overflow:hidden}
.shared-group h3{font-size:13px;background:#f0f6f1;padding:11px 13px;margin:0}
.shared-row{display:flex;gap:9px;align-items:center;padding:10px 12px;font-size:11px;border-top:1px solid #edf3ee}
.shared-check{display:grid;place-items:center;width:15px;height:15px;border:1px solid #78a78e;flex-shrink:0;border-radius:3px;color:#168358;font-size:11px}
.shared-row>span:nth-child(2){flex:1}.shared-row b{font-size:11px;color:#24734f;text-align:right;max-width:35%}
.shared-plan-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e1ebe3;padding-top:15px}
.shared-plan-foot span{font-size:10px;color:#73907d}.shared-plan-foot button{background:#287653;color:#fff;border:0;border-radius:8px;padding:11px 14px;font-size:11px;flex-shrink:0}
@media(max-width:1100px){.share-tiles{grid-template-columns:1fr}.share-tile-email{grid-column:auto}}
@media(max-width:620px){.save-share-section{padding:19px 15px}.save-share-section h2{font-size:21px}.share-tiles{margin-top:18px}.share-dialog{padding:17px}.shared-stats{grid-template-columns:repeat(2,1fr)}.shared-plan-foot{flex-direction:column;align-items:stretch}.shared-row b{max-width:30%}}
@media print{.save-share-section,.share-dialog{display:none!important}}

.email-to-label{display:block;margin:7px 0 6px;font-size:10px;font-weight:500;color:#557e6a}
.email-to-input{display:block;width:100%;max-width:390px;border-radius:8px;border:1px solid #cbdfd4;background:#fff;color:#234e3e;font-size:12px;padding:10px 11px;margin-bottom:11px;outline-color:#76bd94}


/* v1.4.2 | Typography: Kanit is the primary UI face; Sarabun supports longer/smaller copy.
   Google Fonts may not be available offline before a successful cached online load.
   Tahoma / the device system font is used when remote fonts are unavailable. */
:root{
  --font-primary:"Kanit","Sarabun",Tahoma,system-ui,sans-serif;
  --font-secondary:"Sarabun","Kanit",Tahoma,system-ui,sans-serif;
  font-family:var(--font-primary);
}
body,button,input,select,textarea{font-family:var(--font-primary)}
/* Descriptions and longer passages favor Sarabun for clear small-size Thai text. */
p,small,
.hero p,.hero-tags,.preview-caption,.section-heading p,.list-heading p,.section-note,
.small-hint,.range-labels,.member-help,.member-override,.member-age-tag,.mini-check,
.field span,.scenario small,.result-intro p,.stat-desc,.advice-block p,
.formula-row small,.check-main p,.check-head small,.progress-copy span,
.guide-card p,.hotline-items span,.sources p,.source-links a,.footer-fine,
.save-share-intro,.share-tile p,.tile-note,.action-feedback,.shared-privacy,.shared-help,.shared-scenario,
.shared-plan-foot span,.footer-brand small,
.export-hint,.email-to-label{
  font-family:var(--font-secondary);
}
/* Keep brand, headings, labels, figures, input and actions in Kanit. */
h1,h2,h3,h4,.brand-text,.brand-text small,.kicker,.eyebrow,
.preview-big,.days-number,.stat-main,.check-main strong,.check-qty,
.panel-head h3,.member-title,.check-head strong,.report-brand,
.report-group h2,.report-content strong,.report-item b{
  font-family:var(--font-primary);
}
/* Kanit has slightly taller Thai glyphs; prevent clipping in the brand lockup. */
.brand-text{line-height:1.2}
@media print{
  body{font-family:var(--font-primary)!important}
  #print-report{font-family:var(--font-primary)}
  #print-report .report-header p,
  #print-report .report-scenarios,
  #print-report .report-group h2 span,
  #print-report .report-content p,
  #print-report .report-footer{font-family:var(--font-secondary)}
}


/* v1.4.4 | Softer Kanit typography and natural letter spacing.
   Text remains Kanit first; helper copy remains Sarabun. */
body{font-weight:400;letter-spacing:normal}
h1,h2{font-weight:600}
h3,h4{font-weight:500}
strong,b{font-weight:600}
button,input,select,textarea{font-weight:400;letter-spacing:normal}
/* The application headings should look clean rather than condensed or heavy. */
.hero h1,.section-heading h2,.list-heading h2,.result-intro h2,.save-share-section h2{font-weight:600;letter-spacing:normal}
.member-title,.panel-head h3,.share-tile h3,.guide-card h3,.scenario strong{font-weight:500;letter-spacing:normal}
.field span,.mini-check,.member-age-tag,.share-tile button,.import-button{font-weight:400;letter-spacing:normal}
/* Numbers and important totals retain a modest emphasis. */
.days-number,.stat-main strong,.preview-big,.check-qty{font-weight:600;letter-spacing:normal}
/* Exported checklist also uses the less-heavy typography. */
@media print{.report-brand,.report-header h1{font-weight:600}.report-content strong,.report-item b,.report-group h2{font-weight:500}}


/* v1.5 | Feedback box after important notes. No donation or creator credit. */
.feedback-section{padding:64px 0 76px;background:#f1f8f3;border-top:1px solid #deebe2}
.feedback-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,5vw,80px);align-items:start}
.feedback-copy{padding-top:16px}
.feedback-copy h2{font-size:clamp(24px,3vw,36px);line-height:1.35;font-weight:600;letter-spacing:normal;color:#153c34;margin:12px 0}
.feedback-copy>p{font-family:var(--font-secondary);font-size:14px;line-height:1.9;color:#607e70;max-width:420px}
.feedback-privacy{display:flex;align-items:flex-start;gap:9px;margin-top:28px;color:#628473;font:400 12px/1.8 var(--font-secondary);max-width:440px}
.feedback-privacy>span{font-size:19px;line-height:1.1;color:#288768}
.feedback-form{background:#fff;border:1px solid #dae8dd;border-radius:18px;padding:clamp(20px,3vw,32px);box-shadow:0 12px 40px #17492a0b;display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0}
.feedback-label-top{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.feedback-label-top>span{height:40px;width:40px;border-radius:12px;background:#e9f8ed;color:#167857;display:grid;place-items:center;font-size:21px}
.feedback-label-top h3{font-weight:500;font-size:16px;color:#1a493b;margin:0}
.feedback-form>label:not(.feedback-consent){font:500 13px/1.6 var(--font-primary);color:#294c3d;margin:8px 0 2px}
.feedback-required{color:#be6847}
.feedback-form>input:not([type=checkbox]),.feedback-form textarea{display:block;width:100%;border:1px solid #cedfd3;border-radius:10px;background:#fbfdfb;padding:12px 13px;color:#173f32;font:400 14px/1.7 var(--font-secondary);outline-offset:2px;transition:border-color .15s,box-shadow .15s}
.feedback-form textarea{resize:vertical;min-height:124px}
.feedback-form>input:focus,.feedback-form textarea:focus{border-color:#2a926e;box-shadow:0 0 0 3px #2a926e1b;outline:none}
.feedback-form small,.feedback-char-count{font:400 11px/1.65 var(--font-secondary);color:#85958a}
.feedback-char-count{text-align:right}
.feedback-consent{display:flex;align-items:flex-start;gap:10px;margin-top:10px;color:#5b7868;font:400 12px/1.7 var(--font-secondary);cursor:pointer}
.feedback-consent>input{margin:3px 0 0;accent-color:#1d7e5c;width:16px;height:16px;flex-shrink:0}
.feedback-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.feedback-actions button{background:#197b5c;color:white;border:0;border-radius:10px;padding:12px 23px;font:500 14px/1.4 var(--font-primary);cursor:pointer}
.feedback-actions button:hover:not(:disabled){background:#11664b}
.feedback-actions button:disabled{opacity:.58;cursor:wait}
.feedback-connection{font:400 11px/1.6 var(--font-secondary);color:#83998b}
.feedback-status{font:400 12px/1.75 var(--font-secondary);margin:4px 0 0;color:#277a56;min-height:0}
.feedback-status:empty{display:none}
.feedback-status.is-error{color:#b44838}
.feedback-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;overflow:hidden}
@media(max-width:800px){.feedback-section{padding:44px 0 60px}.feedback-layout{grid-template-columns:1fr;gap:20px}.feedback-copy{padding-top:0}.feedback-copy>p{max-width:unset}.feedback-privacy{margin-top:12px}.feedback-form{padding:20px}}
@media print{.feedback-section{display:none!important}}
