:root{
  --bg:#fff7ed;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --line:#fed7aa;
  --accent:#f97316;
  --accent-dark:#c2410c;
  --soft:#ffedd5;
  --good:#16a34a;
  --danger:#dc2626;
  --shadow:0 18px 45px rgba(124,45,18,.12);
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at 20% 0%,#fed7aa 0,transparent 32%),linear-gradient(180deg,#fff7ed,#fffbeb 70%);
  color:var(--text);
}
.app-shell{max-width:760px;margin:0 auto;padding:20px 16px 42px}
.hero{display:flex;align-items:center;gap:14px;padding:10px 2px 16px}
.app-icon{width:58px;height:58px;border:0;border-radius:22px;background:linear-gradient(135deg,#fb923c,#f97316);font-size:28px;box-shadow:var(--shadow)}
h1{font-size:28px;letter-spacing:-.04em;margin:0}
p{margin:0}.hero p,.hint,.empty{color:var(--muted);font-size:14px;line-height:1.6}
.card{background:rgba(255,255,255,.92);border:1px solid rgba(251,146,60,.28);border-radius:26px;padding:18px;margin:14px 0;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title h2{font-size:18px;margin:0;letter-spacing:-.03em}.section-title span{font-size:20px}
textarea,input{width:100%;border:1px solid #fdba74;border-radius:18px;background:#fffaf5;color:var(--text);outline:none;padding:14px;font-size:16px;font-family:inherit}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(249,115,22,.12)}
textarea{resize:vertical;line-height:1.6}
button{appearance:none;border:0;border-radius:18px;padding:14px 16px;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.primary{width:100%;margin-top:12px;color:#fff;background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 12px 28px rgba(234,88,12,.22)}.secondary{background:var(--soft);color:var(--accent-dark);border:1px solid #fed7aa}
.status{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:18px;background:var(--soft);color:var(--accent-dark);font-weight:700}.spinner{width:18px;height:18px;border:3px solid rgba(249,115,22,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.hidden{display:none!important}.meal-title{font-size:20px;font-weight:850;letter-spacing:-.03em;margin:4px 0 12px}.calorie-main{display:flex;align-items:flex-end;gap:7px;padding:16px;border-radius:22px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa}.calorie-main strong{font-size:44px;line-height:1;letter-spacing:-.06em}.calorie-main span{font-weight:800;color:var(--accent-dark);margin-bottom:5px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.metrics label{position:relative;font-size:13px;color:var(--muted);font-weight:700}.metrics input{margin-top:6px;padding-right:30px;font-weight:850}.metrics small{position:absolute;right:12px;bottom:14px;color:var(--muted)}.note-label{display:block;margin-top:12px;font-size:13px;color:var(--muted);font-weight:700}.note-label textarea{margin-top:6px}.actions{display:flex;gap:10px;margin-top:12px}.actions button{flex:1}.today-total{display:flex;align-items:flex-end;gap:6px;margin:-4px 0 12px}.today-total strong{font-size:34px;letter-spacing:-.05em}.today-total span{font-weight:800;color:var(--muted);margin-bottom:5px}.records{display:grid;gap:10px}.record{padding:13px;border-radius:18px;background:#fffaf5;border:1px solid #fed7aa}.record-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.record strong{font-size:15px}.record b{white-space:nowrap;color:var(--accent-dark)}.record small{display:block;color:var(--muted);margin-top:5px}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:10;max-width:calc(100% - 32px);background:#1f2937;color:#fff;padding:13px 16px;border-radius:999px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-weight:800;font-size:14px}.tools{border-style:dashed}
@media(max-width:560px){.app-shell{padding:16px 12px 34px}.hero{align-items:flex-start}.app-icon{width:52px;height:52px;border-radius:19px}h1{font-size:25px}.card{border-radius:24px;padding:16px}.metrics{grid-template-columns:1fr}.actions{flex-direction:column}.calorie-main strong{font-size:40px}}
