@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2)format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2)format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-ext-700-normal-CS4sQkGV.woff2)format("woff2"),url(/assets/figtree-latin-ext-700-normal-BoDi4KL2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#2f5d3a;--ink:#1c2b1f;--ground:#f3f5ee;--surface:#fff;--muted:#55624f;--line:#d8dfd0;--line-soft:#e6ebe0;--input-line:#c9d3c0;--input-bg:#fafbf7;--accent:#3d5ba9;--profit:#23683f;--loss:#a8401b;--loss-bg:#fbf3ef;--wage-bg:#eef1f8;--wage-ink:#2c4482;--tint:#eaf0e4;--leaf:#bfd6b0;--clay:#e7c3a6;--water:#c9d3ec;--sun:#f2c14e;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", Figtree, system-ui, sans-serif;--font-body:Figtree, system-ui, sans-serif;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.45}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;width:16px;height:16px}.muted{color:var(--muted)}.profit{color:var(--profit)}.loss{color:var(--loss)}.topbar{background:var(--primary);color:#fff}.topbar-inner{flex-wrap:wrap;align-items:center;gap:12px 16px;max-width:1240px;margin:0 auto;padding:12px 20px;display:flex}.brand{flex:auto;align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.1}.brand-sub{color:#dce7d6;font-size:13px}.save-status{color:#dce7d6;align-items:center;gap:6px;font-size:13px;display:flex}.save-error{color:#fff;background:var(--loss);border-radius:999px;padding:4px 10px}.topbar .rate{flex-direction:row;align-items:center;gap:8px}.topbar .rate label{color:#fff;font-size:14px;font-weight:400}.topbar .rate input{text-align:right;width:72px;height:40px;color:var(--ink);background:#fff;border:0}.icon-btn{cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:40px;display:flex}.icon-btn.on-dark{color:#fff;border:1px solid #a9c2a0}.menu{position:relative}.menu-list{z-index:10;background:var(--surface);min-width:240px;color:var(--ink);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #1c2b1f26}.menu-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.menu-list button:hover{background:var(--tint)}.page{flex-direction:column;gap:20px;max-width:1240px;margin:0 auto;padding:16px 20px 40px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.page-title{font-family:var(--font-display);margin:0 0 4px;font-size:28px;font-weight:700;line-height:1.15}.btn{border:1px solid var(--input-line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.btn:hover{background:var(--input-bg)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:#264d30}.btn-danger{color:var(--loss);border-color:#e8c9bc}.btn-lg{min-height:48px;padding:0 22px;font-size:16px}.link{min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:600}.field input{border:1px solid var(--input-line);background:var(--input-bg);font-variant-numeric:tabular-nums;border-radius:10px;width:100%;min-width:0;height:44px;padding:0 12px;font-size:16px}.field input[inputmode=decimal]{text-align:right}.field input[aria-invalid=true]{border-color:var(--loss);background:var(--loss-bg)}.plant-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tabs{flex:auto;gap:4px;display:flex}.tab{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600}.tab[aria-current=page]{background:var(--ink);color:#fff}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{border-color:var(--primary);background:var(--tint)}.chip-add{color:var(--primary);background:0 0;border-style:dashed;border-color:#a9b8a0}.details{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;padding:16px 20px;display:flex}.name-field{flex:3 240px}.name-field input{font-family:var(--font-display);font-size:22px;font-weight:700}.price-field{flex:140px}.details-actions{gap:8px;display:flex}.flow{align-items:stretch;display:flex}.step{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:10px;min-width:0;padding:16px 14px;display:flex}.step-art{background:var(--tint);width:84px;height:84px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.step-art .art{width:60px;height:60px}.step-title{font-family:var(--font-display);margin:0;font-size:18px;font-weight:700}.step-inputs{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.step-inputs .span-2{grid-column:span 2}.step-inputs .field label{font-size:12px;font-weight:400}.step-inputs .field input{border-radius:8px;height:40px;padding:0 8px;font-size:15px}.step-result{border-top:1px dashed var(--line);width:100%;margin-top:auto;padding-top:10px}.step-per-plant{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.step-note{color:var(--muted);font-size:12px}.flow-arrow{color:#a9b8a0;flex:none;justify-content:center;align-items:center;width:22px;display:flex}.flow-arrow .icon{width:20px;height:20px}.result-card{background:var(--primary);color:#fff;border-radius:var(--radius);flex-grow:1.15;gap:8px}.result-card.is-below{background:var(--loss)}.result-card .step-art{color:var(--ink);background:#fff}.result-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.result-verdict{font-size:14px;font-weight:600}.breakdown{padding:16px 20px}.breakdown h2{font-family:var(--font-display);margin:0 0 12px;font-size:18px}.equation{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:8px;margin:0;display:flex}.term{flex:150px;align-items:stretch;gap:8px;min-width:0;display:flex}.op{text-align:center;color:#a9b8a0;flex:none;align-self:center;width:20px;font-size:26px;font-weight:700}.term-box{background:var(--input-bg);border:1px solid var(--line);border-radius:14px;flex:auto;min-width:0;margin:0;padding:12px 16px}.term-box dt{color:var(--muted);font-size:13px}.term-box dd{margin:0;font-size:22px;font-weight:700}.term-wage .term-box{background:var(--wage-bg);border-color:#d3dbee}.term-wage dt{color:#3a4a78}.term-wage dd{color:var(--wage-ink)}.hint{color:var(--muted);margin:12px 0 0;font-size:14px}.hint strong{color:var(--ink)}.comparison{padding:20px}.comparison>.muted{margin:0 0 18px;font-size:14px}.table-scroll{overflow-x:auto}.comparison table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:820px}.comparison th{color:var(--muted);text-align:right;padding:10px 8px;font-size:13px;font-weight:600}.comparison td{text-align:right;border-top:1px solid var(--line-soft);padding:8px}.comparison .left{text-align:left}.comparison th:first-child,.comparison td:first-child{padding-left:0}.comparison tr.is-below td{background:var(--loss-bg)}.th-note{font-weight:400}.comparison .link{color:var(--ink);font-weight:600}.bar-col{width:380px}.bar-cell{align-items:center;gap:8px;display:flex}.bar-value{white-space:nowrap;text-align:right;min-width:118px;color:var(--wage-ink);font-weight:700}.bar-value.below{color:var(--loss)}.bar{background:var(--line-soft);border-radius:6px;flex:auto;height:12px;position:relative}.bar-target{background:var(--ink);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.bar-fill{background:var(--accent);border-radius:6px;height:100%}.bar-fill.below{background:repeating-linear-gradient(135deg, var(--loss) 0 4px, #c9744f 4px 8px)}.alert{background:var(--loss-bg);color:#7a2e12;border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:14px;display:flex}.alert .icon{width:18px;height:18px;margin-top:2px}.empty{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:720px;margin:0 auto;padding:56px 0;display:flex}.empty-logo{color:var(--primary)}.empty h1{font-family:var(--font-display);margin:0;font-size:40px;font-weight:700;line-height:1.1}.empty p{max-width:540px;color:var(--muted);margin:0;font-size:17px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.load-error{padding:20px}@media (width<=860px){.topbar-inner{padding:10px 16px}.brand-sub{display:none}.page{gap:14px;padding:12px 16px 32px}.tabs{flex-basis:100%}.tab{border-color:var(--line);flex:1 1 0}.chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chip{flex:none}.details{gap:12px;padding:14px 16px}.details-actions{flex-basis:100%}.details-actions .btn{flex:1 1 0}.flow{flex-direction:column}.flow-arrow{width:auto;height:30px;transform:rotate(90deg)}.step{text-align:left;grid-template-columns:56px minmax(0,1fr);grid-template-areas:"art title""inputs inputs""result result";align-items:center;gap:10px 12px;padding:14px 16px;display:grid}.step-art{grid-area:art;width:56px;height:56px}.step-art .art{width:40px;height:40px}.step-title{grid-area:title}.step-inputs{grid-area:inputs;grid-template-columns:repeat(3,minmax(0,1fr))}.step-inputs .span-2{grid-column:span 1}.step[data-phase=saaning] .step-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.step-inputs .field input{height:44px;font-size:16px}.step-result{flex-wrap:wrap;grid-area:result;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.result-card{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"art title""art value""art verdict";gap:0 14px}.result-card .step-art{width:64px;height:64px}.result-card .step-title{font-size:14px;font-family:var(--font-body)}.result-value{grid-area:value}.result-verdict{grid-area:verdict}.breakdown{padding:14px 16px}.equation{flex-direction:column;gap:0}.term{border-top:1px solid var(--line-soft);flex:none;gap:0}.term:first-child{border-top:0}.op{width:18px;font-size:16px}.term:first-child .term-box{padding-left:18px}.term-box{background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 0;display:flex}.term-box dt{color:var(--ink);font-size:15px}.term-box dd{font-size:16px}.term-wage{background:var(--wage-bg);border-top:0;border-radius:10px;margin-top:4px;padding:2px 8px 2px 0}.term-wage .term-box{background:0 0}.term-wage dt,.term-wage .op{color:var(--wage-ink)}.term-wage dd{font-size:19px}.comparison{padding:16px}.empty{padding:32px 0}.empty h1{font-size:30px}}.login-form{text-align:left;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:20px;display:flex}.login-form p{color:var(--loss);margin:0;font-size:15px}
