/* 108 Pranayama · Calorie check component (assets/calorie-check.js). Works on its own or inside Calorie Meter and Prana Plate. */
.cc{--cc-ink:#2B211B;--cc-muted:#6E6057;--cc-line:#EADBC6;--cc-soft:#F7EFE3;--cc-saffron:#C2601A;--cc-deep:#9E4A12;--cc-maroon:#7A2E2A;--cc-indigo:#2F3A7A;--cc-rose:#C9566E;--cc-green:#2E7D4F;
  display:grid;gap:14px;grid-template-columns:minmax(0,1fr);font-family:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--cc-ink);line-height:1.5;box-sizing:border-box}
.cc *{box-sizing:border-box}.cc>*{min-width:0}
.cc [hidden]{display:none!important}
.cc p{margin:0}
.cc-card{background:#FFFDF8;border:1px solid var(--cc-line);border-radius:18px;padding:clamp(16px,4vw,28px);box-shadow:0 22px 50px -34px rgba(110,60,20,.45)}
.cc .cc-field{display:grid;gap:6px;font-weight:600;margin:0}
.cc .cc-label small{font-weight:400;color:var(--cc-muted)}
.cc .cc-field input,.cc .cc-field select{width:100%;font:inherit;font-weight:400;font-size:1rem;color:var(--cc-ink);background:#fff;border:1px solid #DCCBB3;border-radius:12px;padding:11px 14px;min-height:46px;margin:0}
.cc .cc-field input:focus,.cc .cc-field select:focus{outline:3px solid #F2B98B;outline-offset:1px;border-color:var(--cc-saffron)}
.cc .cc-preview{aspect-ratio:4/3;max-height:min(60vh,380px);width:100%;border-radius:14px;background:var(--cc-soft);border:1px dashed #DCCBB3;display:grid;place-items:center;align-content:center;gap:8px;color:var(--cc-muted);overflow:hidden;position:relative}
.cc .cc-preview .cc-plate{width:96px;height:96px}
.cc .cc-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc .cc-desc{display:grid;gap:6px;justify-items:center;text-align:center;padding:16px;font-size:1.1rem;color:var(--cc-ink)}
.cc .cc-desc small{color:var(--cc-green);font-weight:700;font-size:.85rem}
.cc .cc-actions,.cc .cc-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cc .cc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:999px;background:var(--cc-indigo);color:#fff;font:inherit;font-weight:700;cursor:pointer;border:0;text-decoration:none;margin:0}
.cc .cc-btn svg{width:20px;height:20px}
.cc .cc-btn.ghost{background:transparent;color:var(--cc-deep);border:1px solid #DCCBB3}
.cc .cc-btn:focus-within,.cc .cc-btn:focus-visible,.cc .cc-go:focus-visible{outline:3px solid #F2B98B;outline-offset:2px}
.cc .cc-sr{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.cc .cc-go{width:100%;min-height:52px;border-radius:999px;border:0;background:linear-gradient(135deg,#F09A4A,#C2601A);color:#fff;font:inherit;font-weight:700;font-size:1.08rem;cursor:pointer;margin:0}
.cc .cc-go:disabled{opacity:.45;cursor:not-allowed}
.cc .cc-status{text-align:center;color:var(--cc-muted);min-height:1.4em}
.cc .cc-status.err{color:#A3322A}
.cc .cc-status.busy::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border-radius:50%;border:2px solid #E7C9A6;border-top-color:var(--cc-saffron);animation:ccSpin 1s linear infinite}
@keyframes ccSpin{to{transform:rotate(360deg)}}
.cc .cc-result{display:grid;gap:12px;padding-top:4px;border-top:1px solid var(--cc-line)}
.cc .cc-total{text-align:center;display:grid;gap:2px;padding-top:8px}
.cc .cc-total b{font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,9vw,3.4rem);color:var(--cc-maroon);line-height:1}
.cc .cc-total span{color:var(--cc-muted);font-size:1.1rem}
.cc .cc-total p{font-weight:500}
.cc .cc-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.cc .cc-macros div{background:var(--cc-soft);border-radius:12px;padding:10px 6px}
.cc .cc-macros b{display:block;font-size:1.25rem}
.cc .cc-macros span{font-size:.85rem;color:var(--cc-muted)}
.cc .cc-macros .p b{color:var(--cc-indigo)}.cc .cc-macros .c b{color:#B5651D}.cc .cc-macros .f b{color:var(--cc-rose)}
.cc .cc-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#EDE2D2}
.cc .cc-bar i{display:block;height:100%}.cc .cc-bar .p{background:var(--cc-indigo)}.cc .cc-bar .c{background:#E07B24}.cc .cc-bar .f{background:var(--cc-rose)}
.cc .cc-items{list-style:none;margin:0;padding:0}
.cc .cc-items li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-top:1px solid var(--cc-line);margin:0}
.cc .cc-items .nm{font-weight:700}.cc .cc-items .hi{color:var(--cc-muted);font-weight:400}
.cc .cc-items .kc{font-weight:700;color:var(--cc-maroon);text-align:right}
.cc .cc-items .pt,.cc .cc-items .mc{font-size:.9rem;color:var(--cc-muted)}
.cc .cc-items .mc{text-align:right;white-space:nowrap}
.cc .cc-note{font-size:.95rem}
.cc .cc-fine{color:var(--cc-muted);font-size:.85rem;line-height:1.5}
.cc .cc-today{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--cc-line)}
.cc .cc-today h3{font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:1.35rem;color:var(--cc-maroon);margin:0;padding:0;border:0}
.cc .cc-today-sum{color:var(--cc-muted);font-size:.95rem}
.cc .cc-today ul{list-style:none;margin:0;padding:0}
.cc .cc-today li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--cc-line);margin:0}
.cc .cc-today li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc .cc-today li time{color:var(--cc-muted);font-size:.9rem}
.cc .cc-today li b{color:var(--cc-maroon)}
.cc .cc-today li button{border:0;background:transparent;color:var(--cc-muted);font-size:1.2rem;cursor:pointer;min-width:36px;min-height:36px;border-radius:50%;padding:0}
.cc .cc-today li button:hover{background:var(--cc-soft);color:var(--cc-ink)}
@media (max-width:520px){.cc .cc-actions .cc-btn{flex:1 1 100%}.cc .cc-items .mc{grid-column:1/-1;text-align:left}}
@media (prefers-reduced-motion:reduce){.cc .cc-status.busy::before{animation:none}}
