:root{--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8a8e);--btn:var(--tg-theme-button-color,#2481cc);--btn-text:var(--tg-theme-button-text-color,#fff);--card:var(--tg-theme-secondary-bg-color,#f1f1f4);--err:#d33}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--btn);text-decoration:none}.screen{max-width:560px;margin:0 auto;padding:16px 16px 80px}h1{margin:0 0 12px;font-size:20px}h2{margin:16px 0 8px;font-size:16px}.hint{color:var(--hint);font-size:14px}.error{color:var(--err);margin:8px 0;font-size:14px}.grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:var(--card);color:var(--text);border-radius:14px;padding:12px;display:block}.tile.wide{grid-column:1/-1}.tile .label{color:var(--hint);font-size:13px}.tile .value{font-size:22px;font-weight:600}.ring{border-radius:50%;place-items:center;width:72px;height:72px;margin:4px 0;display:grid}.ring>span{background:var(--card);border-radius:50%;place-items:center;width:56px;height:56px;font-weight:600;display:grid}.next{color:var(--hint);margin-top:14px}.nav{background:var(--card);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #80808040;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{text-align:center;color:var(--hint);flex:1;padding:14px 0}.nav a.active{color:var(--btn);font-weight:600}.list{margin:0;padding:0;list-style:none}.row{background:var(--card);color:var(--text);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.row .time{font-variant-numeric:tabular-nums;color:var(--hint);width:46px}.row .title{flex:1}.row .st{color:var(--hint);font-size:14px}.row .st.done{color:#2a9d4b}.item{align-items:center;gap:10px;margin-bottom:10px;display:flex}.item .name{flex:1}.item .calc{color:var(--hint);font-size:13px}input,select{font:inherit;color:var(--text);background:var(--card);border:1px solid #8080804d;border-radius:8px;padding:8px}input.grams{text-align:right;width:80px}input.bad{border-color:var(--err)}button.primary{background:var(--btn);width:100%;color:var(--btn-text);font:inherit;border:0;border-radius:12px;margin-top:12px;padding:14px;font-weight:600}button.primary:disabled{opacity:.5}.field{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}ol{padding-left:20px}
