.raac{--raac-accent:#3f6b2a;--raac-bg:#f6f8f3;--raac-line:#d9e1d2;--raac-ink:#1d2a17;max-width:640px;margin:1.5rem 0;border:1px solid var(--raac-line);border-radius:12px;background:var(--raac-bg);color:var(--raac-ink);font-size:16px;line-height:1.45;overflow:hidden}
.raac *{box-sizing:border-box}
.raac-form{padding:16px;display:grid;gap:12px}
.raac-row{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}
.raac label,.raac legend{font-weight:600;font-size:.95rem;padding:0}
.raac select,.raac input[type=number]{width:100%;min-height:44px;padding:8px 10px;border:1px solid #b9c5b0;border-radius:8px;background:#fff;color:inherit;font-size:16px}
.raac-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.raac-chips label{position:relative;font-weight:400}
.raac-chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.raac-chips span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border:1px solid #b9c5b0;border-radius:8px;background:#fff;font-weight:700}
.raac-chips small{font-weight:400;font-size:.72rem;color:#5b6a52}
.raac-chips input:checked+span{border-color:var(--raac-accent);background:var(--raac-accent);color:#fff}
.raac-chips input:checked+span small{color:#e6efe0}
.raac-chips input:focus-visible+span,.raac select:focus-visible,.raac input:focus-visible,.raac-btn:focus-visible{outline:3px solid #9cc283;outline-offset:2px}
.raac-check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400!important}
.raac-check input{width:22px;height:22px}
.raac-btn{min-height:46px;border:0;border-radius:8px;background:var(--raac-accent);color:#fff;font-weight:700;font-size:1rem;cursor:pointer}
.raac-error{margin:0;color:#a3261b;font-weight:600}
.raac-result{background:#fff;border-top:1px solid var(--raac-line);padding:16px;transition:opacity .15s}
.raac-kcal{margin:0;font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--raac-accent)}
.raac-unit{font-size:1.1rem;font-weight:600}
.raac-sub{margin:4px 0 12px;color:#4a5842;font-size:.9rem}
.raac-sub [data-k=range]:not(:empty)::before{content:"· "}
.raac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.raac-grid div{background:var(--raac-bg);border-radius:8px;padding:8px}
.raac-grid dt{font-size:.78rem;color:#5b6a52}
.raac-grid dd{margin:0;font-weight:700}
.raac-source{margin:12px 0 0;font-size:.78rem;color:#5b6a52}
@media (max-width:420px){.raac-grid{grid-template-columns:repeat(2,1fr)}}
[hidden]{display:none!important}
