:root{
  --ink:#16302b;--ink-soft:#4a6560;--bg:#f8fafc;--card:#fff;--line:#dce6e3;
  --accent:#199a63;--accent-dark:#127a4e;--sky:#0ea5e9;--blue:#2563eb;
  --warn:#d97706;--danger:#dc2626;--ok:#16a34a;--violet:#7c3aed;
  --grad:linear-gradient(135deg,#10b981 0%,#0ea5e9 100%);--radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.62;text-rendering:optimizeLegibility}
a{color:var(--accent-dark)}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:0}
header.site::before{content:"";display:block;height:3px;background:var(--grad)}
header.site .wrap{max-width:1400px;display:flex;align-items:center;justify-content:space-between;position:relative;padding-top:12px;padding-bottom:12px}
.logo{font-weight:850;font-size:1.2rem;letter-spacing:-.025em;color:var(--ink);text-decoration:none}.logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo .ldot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--grad);margin-left:3px;animation:ldot 2.4s ease-in-out infinite}
@keyframes ldot{50%{transform:scale(1.35)}}
.nav2{display:flex;align-items:center;gap:6px}.nav2>a{color:var(--ink-soft);text-decoration:none;font-size:.88rem;font-weight:650;padding:8px 10px;border-radius:8px}.nav2>a:hover{color:var(--accent-dark);background:#ecfdf5}
.mega-btn{display:flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-size:.88rem;font-weight:750;color:var(--ink);padding:8px 10px;border-radius:8px;cursor:pointer}.mega-btn:hover{background:#ecfdf5;color:var(--accent-dark)}.mega-btn .car{display:inline-block;transition:transform .25s;font-size:.7rem}.mega-btn[aria-expanded=true] .car{transform:rotate(180deg)}
.cta-pill{background:var(--grad);color:#fff!important;padding:8px 14px!important;border-radius:999px!important;font-weight:800!important;box-shadow:0 4px 14px rgba(16,185,129,.28)}
.mega-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-8px);width:min(920px,calc(100vw - 24px));background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(15,60,90,.18);padding:14px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:60;max-height:min(72vh,620px);overflow:auto}.mega-panel.open{opacity:1;visibility:visible;transform:translate(-50%,0)}.mega-panel::before{content:"";display:block;height:3px;border-radius:3px;background:var(--grad);margin:-2px 2px 10px}.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:4px}.mitem{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.82rem;font-weight:700}.mitem .mi{font-size:1.05rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-radius:8px;flex:none}.mitem:hover{background:linear-gradient(135deg,#ecfdf5,#e0f2fe)}.mfootline{margin-top:10px;text-align:center}.mfootline a{font-size:.8rem;font-weight:800;text-decoration:none}
main{padding:36px 0 56px}.crumbs{font-size:.82rem;color:var(--ink-soft);margin-bottom:18px}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs span{font-weight:700;color:var(--ink)}
.heroicon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:1.45rem;margin-bottom:12px;background:linear-gradient(135deg,#d1fae5,#dbeafe);box-shadow:inset 0 0 0 1px rgba(14,165,233,.12)}
h1{font-size:2rem;letter-spacing:-.035em;line-height:1.15;margin-bottom:8px;background:linear-gradient(120deg,#16302b 25%,#0ea5e9 115%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sub{color:var(--ink-soft);margin-bottom:10px}.updated-line{font-size:.82rem;color:var(--ink-soft);margin-bottom:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chip{background:linear-gradient(135deg,#d1fae5,#dbeafe);color:#127a4e;font-weight:800;font-size:.72rem;padding:3px 10px;border-radius:20px}
.answer-box{display:grid;grid-template-columns:auto 1fr;gap:12px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #bae6d3;border-left:4px solid var(--accent);border-radius:13px;padding:14px 16px;margin:18px 0 22px}.answer-box .ab-icon{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center}.answer-box strong{display:block;font-size:.88rem}.answer-box p{color:var(--ink-soft);font-size:.9rem}
.calc{position:relative;overflow:hidden;background:var(--card);border:1px solid #e2e8f0;border-radius:var(--radius);padding:26px;box-shadow:0 8px 30px rgba(15,60,90,.075)}.calc::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--grad)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;min-width:0}.field.full{grid-column:1/-1}label,.label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--ink-soft);margin-bottom:6px}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:1rem;color:var(--ink);background:#fbfdfc;width:100%;font:inherit}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(25,154,99,.3);border-color:var(--accent)}.help{font-size:.76rem;color:var(--ink-soft);margin-top:5px}.inline{display:flex;gap:10px;align-items:end}.inline>*{flex:1}.segmented{display:flex;gap:4px;background:#eef5f2;border-radius:11px;padding:4px;margin-bottom:18px}.segmented button{flex:1;border:0;background:transparent;padding:9px;border-radius:8px;font-weight:750;color:var(--ink-soft);cursor:pointer}.segmented button.active{background:#fff;color:var(--accent-dark);box-shadow:0 2px 8px rgba(15,60,90,.09)}
.btnrow{display:flex;gap:10px;margin-top:22px}.btn{flex:1;border:0;border-radius:11px;padding:14px;background:var(--grad);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(16,185,129,.28);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(14,165,233,.3)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none;flex:0 0 auto}.btn:focus-visible,.xbtn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.err{display:none;color:var(--danger);font-size:.9rem;margin-top:12px;font-weight:700}.err.show{display:block}
.result{display:none;margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.result.show{display:block;animation:riseIn .4s ease}.result-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:16px}.result-head h2{font-size:1.25rem;letter-spacing:-.02em}.result-badge{font-size:.74rem;font-weight:800;padding:5px 10px;border-radius:999px;background:#ecfdf5;color:#127a4e;border:1px solid #a7f3d0;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.metric{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;min-width:0}.metric.primary{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-color:#86efac}.metric .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;color:var(--ink-soft);font-weight:800}.metric .v{font-size:1.65rem;line-height:1.15;font-weight:850;letter-spacing:-.03em;margin-top:4px;word-break:break-word}.metric .v small{font-size:.72rem;color:var(--ink-soft);font-weight:700}.metric .n{font-size:.75rem;color:var(--ink-soft);margin-top:4px}
.visual-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfffd,#f5fbff);padding:16px;margin:14px 0}.visual-card h3{font-size:.9rem;margin-bottom:10px}.visual-card svg{width:100%;height:auto;display:block;max-height:260px}.visual-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.panel h3{font-size:.9rem;margin-bottom:8px}.panel p{font-size:.84rem;color:var(--ink-soft)}
.progress{height:11px;border-radius:99px;background:#e5eeeb;overflow:hidden}.progress>span{display:block;height:100%;width:0;background:var(--grad);border-radius:inherit;transform-origin:left;transition:width 1s cubic-bezier(.2,.7,.2,1)}.progress-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-soft);margin-top:5px}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(92px,1.2fr) 2fr auto;gap:10px;align-items:center;font-size:.78rem}.bar-row .bar{height:9px;border-radius:99px;background:#e8efed;overflow:hidden}.bar-row .bar i{display:block;height:100%;width:0;background:var(--grad);border-radius:99px;transition:width .9s ease}.bar-row strong{font-size:.78rem}
.ring{transform:rotate(-90deg);transform-origin:center}.ring-bg{fill:none;stroke:#e5eeeb}.ring-val{fill:none;stroke:url(#ringGradient);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.75,.2,1)}.svg-label{font:800 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--ink)}.svg-note{font:600 9px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--ink-soft)}
.callout{border-radius:12px;padding:13px 15px;font-size:.86rem;margin:12px 0}.callout.info{background:#eff6ff;border:1px solid #bfdbfe}.callout.good{background:#ecfdf5;border:1px solid #a7f3d0}.callout.warn{background:#fffbeb;border:1px solid #fde68a}.callout.danger{background:#fef2f2;border:1px solid #fecaca}.callout strong{color:var(--ink)}
.food-section{margin-top:18px}.food-section>h3{font-size:1rem;margin-bottom:10px}.food-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.food-group{border-radius:13px;padding:14px;border:1px solid var(--line)}.food-group.good{background:#f0fdf4;border-color:#bbf7d0}.food-group.limit{background:#fff7ed;border-color:#fed7aa}.food-group h4{font-size:.88rem;margin-bottom:10px}.food-list{display:grid;gap:8px}.food-card{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:start;background:rgba(255,255,255,.8);border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:9px;opacity:0;transform:translateY(8px)}.result.show .food-card{animation:riseIn .45s ease forwards}.food-card:nth-child(2){animation-delay:.08s!important}.food-card:nth-child(3){animation-delay:.16s!important}.food-card:nth-child(4){animation-delay:.24s!important}.food-card:nth-child(5){animation-delay:.32s!important}.food-icon{width:34px;height:34px;border-radius:9px;background:#fff;display:grid;place-items:center}.food-icon svg{width:27px;height:27px}.food-card strong{display:block;font-size:.8rem}.food-card span{display:block;font-size:.73rem;color:var(--ink-soft);line-height:1.35;margin-top:1px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin:14px 0}table{width:100%;border-collapse:collapse;background:#fff;min-width:540px}th,td{padding:10px 12px;text-align:left;font-size:.86rem;border-bottom:1px solid var(--line)}th{background:linear-gradient(135deg,#ecfdf5,#e0f2fe);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}tr:last-child td{border-bottom:0}
.exportbar,.sharebar{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.xbtn,.sbtn{flex:1;min-width:90px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 8px;font-weight:750;cursor:pointer;font-size:.8rem;color:var(--ink);text-align:center;text-decoration:none}.xbtn:hover,.sbtn:hover{border-color:var(--accent);color:var(--accent-dark)}
.adbox{margin:30px 0;min-height:120px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;display:grid;place-items:center;position:relative;overflow:hidden}.adlabel{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.09em;color:#94a3b8}.adbox ins{width:100%;min-height:100px}
article{margin-top:44px}article h2{font-size:1.35rem;letter-spacing:-.02em;margin:30px 0 10px}article h3{font-size:1.03rem;margin:20px 0 8px}article p{color:var(--ink-soft);margin-bottom:14px}article strong{color:var(--ink)}article ul,article ol{margin:0 0 14px 22px;color:var(--ink-soft)}article li{margin-bottom:6px}.formula{background:#eef7f4;border-left:4px solid var(--accent);padding:12px 14px;border-radius:8px;margin:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.sources{margin-top:34px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:10px;font-size:.84rem;color:var(--ink-soft)}.sources h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;color:var(--ink)}.sources ol{margin-left:18px}
.faq{margin-top:44px}.faq h2,.related h2{font-size:1.35rem;letter-spacing:-.02em;margin-bottom:14px}.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}.faq details[open]{box-shadow:0 4px 16px rgba(15,60,90,.08);border-color:#a7f3d0}.faq summary{padding:14px 16px;font-weight:750;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--accent-dark)}.faq details[open] summary::after{content:"–"}.faq .a{padding:0 16px 14px;color:var(--ink-soft)}
.related{margin-top:44px}.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.rcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;color:var(--ink);display:block;transition:transform .15s,box-shadow .15s}.rcard:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,60,90,.09)}.rcard h3{font-size:.98rem;margin-bottom:4px}.rcard p{font-size:.84rem;color:var(--ink-soft)}
footer.mfoot{margin-top:56px;background:#0f211c;color:#9fbdb5}footer.mfoot .ftop{height:4px;background:var(--grad)}footer.mfoot .wrap{max-width:1240px;padding:36px 20px 26px}.fcols{display:grid;grid-template-columns:1.3fr 1fr 1fr .9fr;gap:26px}.fbrand .flogo{font-weight:800;font-size:1.25rem;color:#fff;text-decoration:none}.fbrand .flogo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.fbrand p{font-size:.83rem;line-height:1.6;margin:10px 0 14px;color:#9fbdb5}.fsupport{display:inline-block;background:var(--grad);color:#fff;text-decoration:none;font-weight:800;font-size:.82rem;padding:9px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(16,185,129,.3)}.fcols h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.fcols h4::after{content:"";display:block;width:26px;height:2px;background:var(--grad);border-radius:2px;margin-top:6px}.flist{list-style:none}.flist li{margin:0 0 7px}.flist a{color:#9fbdb5;text-decoration:none;font-size:.82rem;transition:color .15s,padding-left .15s}.flist a:hover{color:#34d399;padding-left:4px}.fdisc{font-size:.74rem;color:#6f8d85;border-top:1px solid #1d3a32;margin-top:26px;padding-top:16px;line-height:1.6}.fbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.78rem;color:#6f8d85;margin-top:12px}.fbottom a{color:#9fbdb5;text-decoration:none}
@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.result.show .metric,.result.show .panel,.result.show .bar-row{animation:riseIn .45s ease both}.result.show .metric:nth-child(2){animation-delay:.06s}.result.show .metric:nth-child(3){animation-delay:.12s}.result.show .metric:nth-child(4){animation-delay:.18s}.result.show .panel:nth-child(2){animation-delay:.12s}
@media(max-width:760px){.fcols{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.nav2>a:not(.cta-pill){display:none}}
@media(max-width:560px){.wrap{padding:0 14px}main{padding-top:26px}h1{font-size:1.62rem}.calc{padding:20px 16px}.form-grid,.form-grid.three{grid-template-columns:1fr}.field.full{grid-column:auto}.btnrow{flex-direction:column}.btn.secondary{flex:auto}.food-columns{grid-template-columns:1fr}.result-head{flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.metric .v{font-size:1.35rem}.bar-row{grid-template-columns:88px 1fr auto}.cta-pill{padding:8px 10px!important;font-size:.78rem!important}.mega-btn{font-size:.8rem}.fcols{grid-template-columns:1fr}.adbox{min-height:100px}}
@media(max-width:360px){.metric-grid{grid-template-columns:1fr}.nav2{gap:1px}.logo{font-size:1.06rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.logo .ldot{animation:none}}
@media print{header.site,footer.mfoot,article,.faq,.related,.crumbs,.exportbar,.sharebar,.sources,.updated-line,.adbox,.answer-box{display:none!important}body{background:#fff}.calc{box-shadow:none;border:1px solid #bbb}.calc::before{display:none}.result{display:block!important}.food-card{opacity:1;transform:none}}
