:root{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  /* Spacing, radius and type scales: every value below comes from these. */
  --s1:4px;
  --s2:8px;
  --s3:12px;
  --s4:16px;
  --s5:24px;
  --s6:32px;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:20px;
  --r-full:999px;
  --t-caption:12px;
  --t-label:13px;
  --t-body:15px;
  --t-title:17px;
  --t-num:20px;
  --t-hero:58px;
  --text:var(--tg-theme-text-color,#1b2420);
  --page:var(--tg-theme-secondary-bg-color,#f2f4f0);
  --link:var(--tg-theme-link-color,#2f6a47);
  --card:var(--tg-theme-bg-color,#fff);
  --muted:var(--tg-theme-hint-color,#6b786e);
  --accent:var(--tg-theme-button-color,#2f6a47);
  --button-text:var(--tg-theme-button-text-color,#fff);
  --warn:#b8762a;
  --danger:#c34540;
  --border:color-mix(in srgb,currentColor 12%,transparent);
  --track:color-mix(in srgb,currentColor 10%,transparent);
  --shadow:0 1px 2px rgba(16,32,24,.05),0 10px 30px rgba(16,32,24,.05);
  color:var(--text);
  background:var(--page);
  color-scheme:light;
  /* Keep WebKit's text autosizing stable when a sheet/keyboard changes height. */
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  /* Reserve the scrollbar so locking the page behind a sheet shifts nothing. */
  scrollbar-gutter:stable
}
*{
  box-sizing:border-box
}
body{
  margin:0;
  font-size:var(--t-body);
  line-height:1.45
}
/* The page must not move behind an open sheet, keyboard or not. The lock has to
   sit on the root element: overflow on body does not reach the viewport here. */
:root.locked{
  height:100%;
  overflow:hidden;
  overscroll-behavior:none
}
:root.locked body{
  position:fixed;
  top:var(--locked-top);
  left:var(--locked-left);
  width:var(--locked-width);
  height:100%;
  overflow:hidden
}
main{
  max-width:540px;
  margin:auto;
  padding:calc(var(--s4) + var(--tg-content-safe-area-inset-top,0px)) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom))
}
.row,.day-nav,.actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s3)
}
h2{
  font-size:var(--t-title);
  margin:0
}
.eyebrow{
  font-size:11px;
  letter-spacing:1.6px;
  font-weight:700;
  color:var(--muted)
}
.card{
  background:var(--card);
  padding:var(--s4);
  border-radius:var(--r-lg);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  margin-bottom:var(--s3)
}
button,input,select,textarea{
  font:inherit
}
button{
  min-height:44px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--card);
  color:inherit;
  padding:var(--s3) var(--s4);
  font-weight:600;
  cursor:pointer
}
button:disabled{
  opacity:.45;
  cursor:default
}
button:active{
  transform:translateY(1px)
}
button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px
}
.primary{
  background:var(--accent);
  color:var(--button-text);
  border-color:transparent
}
.text-button{
  background:transparent;
  border:0;
  padding:var(--s2) 0;
  color:var(--link);
  font-size:var(--t-label)
}
.add{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  font-size:var(--t-title);
  min-height:52px;
  border-radius:var(--r-md)
}
.plus{
  font-size:22px;
  font-weight:400;
  line-height:1
}
.chips{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--s1) 6px;
  margin:var(--s2) 0 var(--s5)
}
.chips button{
  padding:var(--s2) 2px;
  min-height:42px;
  font-size:var(--t-caption);
  letter-spacing:-.2px
}
.calendar{
  padding:var(--s2) var(--s3) var(--s3)
}
.day-nav{
  gap:var(--s1)
}
.day-pick{
  position:relative;
  flex:1;
  text-align:center;
  font-weight:600;
  overflow:hidden
}
.day-pick label{
  position:absolute;
  inset:0;
  margin:0
}
/* The real date input stays interactive but invisible above the readable label. */
.day-pick input{
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:none;
  opacity:0
}
.step{
  min-width:44px;
  padding:0;
  font-size:26px;
  line-height:1;
  border:0;
  background:none;
  color:var(--text);
  opacity:.55
}
.week{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:var(--s1);
  margin-top:var(--s2)
}
.week-day{
  display:grid;
  justify-items:center;
  gap:5px;
  padding:var(--s1) 0;
  border:0;
  background:none;
  font-size:11px;
  font-weight:600;
  color:var(--muted)
}
.week-bar{
  display:flex;
  align-items:flex-end;
  width:100%;
  max-width:12px;
  height:32px;
  border-radius:var(--r-full);
  background:var(--track)
}
.week-bar i{
  width:100%;
  border-radius:var(--r-full);
  background:var(--accent);
  opacity:.45
}
.week-bar i.over{
  background:var(--warn)
}
.week-day[aria-current=date]{
  color:var(--text)
}
.week-day[aria-current=date] .week-bar i{
  opacity:1
}
.energy{
  display:flex;
  align-items:baseline;
  gap:var(--s2);
  margin:var(--s3) 0 var(--s4)
}
.energy strong{
  font-size:var(--t-hero);
  letter-spacing:-1.5px;
  line-height:1;
  font-variant-numeric:tabular-nums
}
.energy span,.muted{
  color:var(--muted)
}
.over .energy strong,.over #energy-label{
  color:var(--warn)
}
.track{
  position:relative;
  height:10px;
  border-radius:var(--r-full);
  background:var(--track);
  overflow:hidden
}
.track-fill{
  display:flex;
  gap:1px;
  width:0;
  height:100%;
  border-radius:var(--r-full);
  overflow:hidden
}
.track-fill i{
  height:100%;
  background:var(--accent)
}
.s1{
  opacity:.78
}
.s2{
  opacity:.6
}
.s3{
  opacity:.44
}
.s4{
  opacity:.3
}
/* Everything past the daily goal is painted as the overflow band. */
.track-over{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  background:var(--warn);
  border-left:2px solid var(--card)
}
/* Without a goal the bar only shows the split by meal, so it reads thinner. */
.track.no-goal{
  height:6px
}
.no-goal .track-fill i{
  opacity:.3
}
#budget{
  margin:var(--s2) 0 0
}
.macro-split{
  display:flex;
  gap:2px;
  height:5px;
  margin-top:var(--s3);
  border-radius:var(--r-full);
  overflow:hidden;
  background:var(--track)
}
.macros{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--s2);
  border-top:1px solid var(--border);
  padding-top:var(--s4);
  margin-top:var(--s4)
}
.macros>div{
  font-size:var(--t-caption);
  color:var(--muted)
}
.macros strong{
  display:block;
  font-size:var(--t-num);
  font-variant-numeric:tabular-nums;
  color:var(--text);
  margin-top:6px
}
.macros strong.unknown{
  color:var(--muted)
}
.dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  margin-right:5px
}
.protein{
  background:#6692d1
}
.fat{
  background:#d4a349
}
.carbs{
  background:#8f78b6
}
.small{
  font-size:var(--t-caption);
  line-height:1.55
}
.actions{
  margin:var(--s4) 0;
  align-items:stretch
}
.actions>button{
  flex:1
}
.section-title{
  margin:0 0 var(--s2);
  align-items:baseline
}
.meal-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--s2);
  margin:var(--s4) 0 6px;
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:700;
  color:var(--muted)
}
#entries>.meal-head:first-child{
  margin-top:var(--s2)
}
.meal-total{
  letter-spacing:0;
  font-variant-numeric:tabular-nums
}
.entry{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--shadow);
  padding:0 var(--s3) var(--s2);
  margin:6px 0
}
.entry-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s3);
  width:100%;
  padding:0;
  border:0;
  background:none;
  text-align:left;
  font-weight:400
}
.entry-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s3)
}
.entry-name{
  font-weight:600;
  overflow-wrap:anywhere
}
.entry-kcal{
  font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.entry-meta{
  font-size:var(--t-caption);
  color:var(--muted)
}
.entry-actions{
  display:flex;
  gap:var(--s3)
}
.entry-actions button{
  font-size:var(--t-caption);
  min-height:28px;
  padding:0;
  color:var(--muted)
}
.empty{
  text-align:center;
  padding:var(--s6) var(--s4);
  border:1px dashed var(--border);
  border-radius:var(--r-md);
  color:var(--muted);
  line-height:1.7
}
footer{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin-top:var(--s5)
}
/* Bottom sheet: anchored to the visible viewport so the keyboard never hides it. */
dialog{
  position:fixed;
  top:auto;
  left:0;
  right:0;
  bottom:var(--keyboard-bottom,0px);
  width:100%;
  max-width:540px;
  max-height:calc(var(--visible-height,100dvh) - var(--s5));
  margin:0 auto;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:none;
  touch-action:pan-y;
  padding:var(--s5) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));
  border:0;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  background:var(--card);
  color:inherit
}
dialog::backdrop{
  touch-action:none;
  background:#10251888;
  backdrop-filter:blur(3px)
}
.close{
  border:0;
  background:none;
  min-width:44px;
  color:var(--muted)
}
.row>.close{
  font-size:var(--t-num)
}
label{
  display:block;
  font-size:var(--t-label);
  font-weight:600;
  margin:var(--s4) 0
}
/* 16px keeps mobile Safari from zooming into the field on focus. */
input,select,textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  margin-top:6px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  background:var(--card);
  color:inherit;
  padding:var(--s3);
  min-height:46px;
  font-size:16px
}
.field-pair,.field-triple{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s3)
}
.field-triple{
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.field-triple label{
  margin-top:0
}
.wide{
  width:100%
}
#food-suggestions{
  margin:var(--s3) 0;
  padding:var(--s3);
  border:1px solid var(--border);
  border-radius:var(--r-sm)
}
#food-suggestions-list button{
  display:block;
  width:100%;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  margin-top:var(--s2)
}
.danger,.form-error{
  color:var(--danger)
}
.form-error{
  font-size:var(--t-label);
  margin:var(--s3) 0 0
}
.form-error:empty{
  margin:0
}
#notice{
  padding:var(--s3) 0;
  line-height:1.6
}
#favorites>button{
  display:block;
  text-align:left;
  width:100%;
  margin:var(--s2) 0;
  font-weight:400
}
#favorites>button[aria-pressed=true]{
  border-color:var(--accent);
  outline:1px solid var(--accent)
}
.quick-row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:var(--s2);
  margin-top:var(--s2)
}
.quick{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  padding:var(--s2) var(--s3);
  font-size:var(--t-label);
  white-space:nowrap
}
.quick svg{
  flex:none;
  width:20px;
  height:20px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.search-row{
  display:flex;
  align-items:flex-end;
  gap:var(--s2);
  margin:var(--s4) 0 var(--s2)
}
.search-row label{
  flex:1;
  min-width:0;
  margin:0
}
.product{
  display:flex;
  align-items:center;
  gap:var(--s2);
  padding:var(--s2) 0;
  border-bottom:1px solid var(--border)
}
.product-main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  text-align:left;
  font-weight:400;
  border:0;
  padding:var(--s2) 0;
  background:transparent
}
.product-name{
  font-weight:600;
  overflow-wrap:anywhere
}
.product-brand,.product-values,.product-saved,.attribution{
  font-size:var(--t-caption);
  color:var(--muted)
}
.product-values{
  font-variant-numeric:tabular-nums
}
.product-saved{
  white-space:nowrap
}
.product>.text-button{
  white-space:nowrap;
  font-size:var(--t-caption)
}
.attribution{
  margin-top:var(--s4)
}
#recent-list button{
  margin-top:var(--s2);
  text-align:left;
  font-weight:400
}
#toasts{
  position:fixed;
  bottom:calc(var(--s3) + env(safe-area-inset-bottom));
  left:var(--s3);
  right:var(--s3);
  max-width:516px;
  margin:auto;
  z-index:10;
  max-height:40dvh;
  overflow:auto
}
.toast{
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:0 6px 30px #0003;
  border-radius:var(--r-md);
  padding:var(--s3) var(--s4);
  margin-top:var(--s2);
  overflow-wrap:anywhere
}
.toast button{
  margin-left:var(--s4)
}
.draft-row p{
  margin:0
}
.draft-row button{
  margin-right:var(--s4)
}
.draft-row+.draft-row{
  margin-top:var(--s3)
}
progress{
  display:block;
  width:100%;
  height:8px;
  border:none;
  border-radius:var(--s2);
  overflow:hidden;
  accent-color:var(--accent)
}
progress::-webkit-progress-bar{
  background:var(--track)
}
progress::-webkit-progress-value{
  background:var(--accent);
  border-radius:var(--s2)
}
progress::-moz-progress-bar{
  background:var(--accent)
}
progress.over-goal{
  accent-color:var(--warn)
}
progress.over-goal::-webkit-progress-value{
  background:var(--warn)
}
progress.over-goal::-moz-progress-bar{
  background:var(--warn)
}
#entries[aria-busy=true]{
  opacity:.65
}
.chart-row{
  display:block;
  width:100%;
  text-align:left;
  margin:var(--s2) 0;
  padding:var(--s2) var(--s3);
  font-size:var(--t-label);
  font-weight:400
}
.chart-row progress{
  margin-top:6px
}
#weight-list .text-button{
  margin-right:var(--s4)
}
#weight-chart{
  max-height:270px;
  overflow:auto;
  margin-bottom:var(--s5)
}
/* Recipes */
#recipe-new{
  margin:var(--s4) 0 var(--s2)
}
.recipe-card{
  display:flex;
  flex-direction:column;
  gap:3px;
  width:100%;
  margin:var(--s2) 0;
  padding:var(--s3) var(--s4);
  text-align:left;
  font-weight:400
}
.recipe-card-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--s3)
}
.recipe-card-name{
  font-weight:600;
  overflow-wrap:anywhere
}
.recipe-kcal{
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.recipe-kcal b{
  font-size:var(--t-title)
}
.recipe-kcal small,.recipe-card-meta,.recipe-card-macros{
  font-size:var(--t-caption);
  color:var(--muted)
}
.recipe-card-macros{
  font-variant-numeric:tabular-nums
}
/* A column, so an opened recipe can lead with its result: logging a portion. */
.recipe-form{
  display:flex;
  flex-direction:column
}
.recipe-form>section{
  margin-top:var(--s5)
}
.recipe-form>.recipe-name{
  margin-bottom:0
}
.recipe-form.existing>.recipe-result{
  order:-1
}
.recipe-form.existing>.recipe-name{
  order:-2
}
.recipe-form>.recipe-top{
  order:-3
}
#recipe-save{
  margin-top:var(--s4)
}
#recipe-delete{
  margin-top:var(--s2)
}
.recipe-form h3{
  margin:0;
  font-size:var(--t-body)
}
.section-head{
  flex-wrap:wrap;
  align-items:baseline;
  row-gap:0;
  margin-bottom:var(--s1)
}
.section-head+p{
  margin:0 0 var(--s1)
}
#recipe-raw{
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.ingredient{
  min-width:0;
  margin:var(--s2) 0 0;
  padding:var(--s2) var(--s2) var(--s2) var(--s3);
  border:1px solid var(--border);
  border-radius:var(--r-md)
}
.ingredient:focus-within{
  border-color:color-mix(in srgb,var(--accent) 55%,transparent)
}
.ing-head{
  display:flex;
  align-items:center;
  gap:var(--s2)
}
.ing-head input{
  margin-top:0
}
.ing-name{
  flex:1;
  font-weight:600
}
.ing-grams{
  position:relative;
  flex:0 0 80px;
  margin:0
}
/* Spin buttons would take the room of the digits in these narrow fields. */
.ingredient input{
  appearance:textfield
}
.ingredient input::-webkit-inner-spin-button,.ingredient input::-webkit-outer-spin-button{
  margin:0;
  -webkit-appearance:none
}
.ing-grams input{
  padding-left:var(--s2);
  padding-right:26px;
  text-align:right;
  font-variant-numeric:tabular-nums
}
.ing-grams span{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  color:var(--muted);
  font-weight:400;
  pointer-events:none
}
.ing-remove{
  flex:none;
  min-width:32px;
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  font-size:var(--t-num);
  font-weight:400
}
.ing-values{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:var(--s2)
}
.ing-values label{
  margin:0;
  font-size:11px;
  color:var(--muted);
  white-space:nowrap
}
.ing-values label span::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:4px;
  vertical-align:1px;
  border-radius:50%;
  background:var(--dot,var(--accent))
}
.ing-values label:nth-child(2){
  --dot:#6692d1
}
.ing-values label:nth-child(3){
  --dot:#d4a349
}
.ing-values label:nth-child(4){
  --dot:#8f78b6
}
.ing-values input{
  min-height:40px;
  margin-top:3px;
  padding:var(--s2) var(--s1);
  text-align:center;
  font-variant-numeric:tabular-nums
}
.ing-total{
  margin:6px 0 0;
  text-align:right;
  font-size:var(--t-caption);
  color:var(--muted);
  font-variant-numeric:tabular-nums
}
.ing-total:empty{
  display:none
}
.ing-suggest{
  margin:var(--s2) 0 0;
  padding-top:var(--s1);
  border-top:1px dashed var(--border)
}
.ing-status{
  margin:var(--s1) 0 0
}
.suggestion{
  display:grid;
  gap:1px;
  width:100%;
  min-height:0;
  margin-top:6px;
  padding:var(--s2) var(--s3);
  border-radius:var(--r-sm);
  text-align:left;
  font-weight:400
}
.suggestion-name{
  font-weight:600;
  overflow-wrap:anywhere
}
.suggestion-meta,.suggestion-source{
  font-size:var(--t-caption);
  color:var(--muted);
  font-variant-numeric:tabular-nums
}
.suggestion-source{
  color:var(--link)
}
.off-search{
  display:block;
  margin-top:var(--s1);
  text-align:left
}
.dashed{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  margin-top:var(--s3);
  border-style:dashed;
  background:transparent;
  color:var(--link)
}
.dish-card{
  padding:var(--s4);
  border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
  border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--accent) 8%,var(--card))
}
#dish-total{
  margin:var(--s3) 0 0;
  padding-top:var(--s3);
  border-top:1px solid var(--border);
  font-variant-numeric:tabular-nums
}
.dish-energy{
  margin:var(--s2) 0 var(--s3)
}
.dish-energy strong{
  font-size:44px
}
.dish-macros{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s1) var(--s4);
  font-size:var(--t-label);
  color:var(--muted)
}
.dish-macros b{
  color:var(--text);
  font-variant-numeric:tabular-nums
}
#dish-note{
  margin:var(--s2) 0 0
}
#cooked-help{
  margin:calc(var(--s2) - var(--s4)) 0 0
}
.portion-card{
  margin-top:var(--s4);
  padding:var(--s4);
  border:1px solid var(--border);
  border-radius:var(--r-lg)
}
.portion-card label{
  margin:var(--s3) 0 0
}
.portion-row{
  display:flex;
  align-items:flex-end;
  gap:var(--s3)
}
.portion-row label{
  flex:1
}
#portion-kcal{
  min-width:84px;
  padding-bottom:var(--s3);
  text-align:right;
  font-size:var(--t-title);
  font-weight:700;
  font-variant-numeric:tabular-nums
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
[hidden]{
  display:none!important
}
@media(prefers-reduced-motion:no-preference){
  .track-fill,.week-bar i,.macro-split i{
    transition:width .3s ease,height .3s ease
  }
  #entries,.energy strong{
    transition:opacity .2s ease
  }
  /* A fade only: sliding the sheet upwards reads as the screen zooming in.
     allow-discrete keeps it on screen long enough to animate out too. */
  dialog{
    opacity:0;
    transition:opacity .2s ease,overlay .2s allow-discrete,display .2s allow-discrete
  }
  dialog[open]{
    opacity:1
  }
  dialog::backdrop{
    opacity:0;
    transition:opacity .2s ease,overlay .2s allow-discrete,display .2s allow-discrete
  }
  dialog[open]::backdrop{
    opacity:1
  }
  @starting-style{
    dialog[open]{
      opacity:0
    }
    dialog[open]::backdrop{
      opacity:0
    }
  }
}
@media(max-width:360px){
  main{
    padding-left:var(--s3);
    padding-right:var(--s3)
  }
  .card{
    padding:var(--s3)
  }
  .chips button{
    font-size:11px
  }
  .quick svg{
    display:none
  }
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme]){
    color-scheme:dark;
    --card:var(--tg-theme-bg-color,#202822);
    --muted:var(--tg-theme-hint-color,#a1afa4);
    --text:var(--tg-theme-text-color,#eaf0ea);
    --page:var(--tg-theme-secondary-bg-color,#151b17);
    --link:var(--tg-theme-link-color,#91c9a2);
    --warn:#d9a05c;
    --danger:#e58079;
    --shadow:none
  }
}
:root[data-theme=dark]{
  color-scheme:dark;
  --card:var(--tg-theme-bg-color,#202822);
  --muted:var(--tg-theme-hint-color,#a1afa4);
  --text:var(--tg-theme-text-color,#eaf0ea);
  --page:var(--tg-theme-secondary-bg-color,#151b17);
  --link:var(--tg-theme-link-color,#91c9a2);
  --warn:#d9a05c;
  --danger:#e58079;
  --shadow:none
}
