.cal-fab{position:fixed;right:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(184,154,94,.4);z-index:99;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.cal-fab:hover{background:var(--gold-light);transform:scale(1.08);box-shadow:0 6px 28px rgba(184,154,94,.55)}.cal-fab:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.cal-fab__tip{position:absolute;right:calc(100% + .625rem);white-space:nowrap;background:var(--dark-3);color:var(--text);border:1px solid rgba(184,154,94,.25);border-radius:999px;padding:.4rem .85rem;font-size:.78rem;font-weight:600;opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity var(--transition),transform var(--transition)}.cal-fab:focus-visible .cal-fab__tip,.cal-fab:hover .cal-fab__tip{opacity:1;transform:none}.cal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;animation:calFade .2s ease}@keyframes calFade{0%{opacity:0}}.cal-panel{position:fixed;right:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));z-index:201;width:min(400px,calc(100vw - 3rem));max-height:min(760px,calc(100svh - 3rem - env(safe-area-inset-bottom, 0px)));display:flex;flex-direction:column;background:var(--dark-2);border:1px solid rgba(184,154,94,.22);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:calSlide .28s cubic-bezier(.2,.8,.3,1)}.cal-panel:focus{outline:none}@keyframes calSlide{0%{opacity:0;transform:translateY(16px) scale(.98)}}.cal-head{position:relative;padding:1.5rem 1.5rem 1.35rem;background:linear-gradient(135deg,#1a1208,#2a1e0a);border-bottom:1px solid rgba(184,154,94,.18)}.cal-head__eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;padding-right:2rem}.cal-head h2{font-size:1.35rem;font-weight:900;line-height:1.15;color:var(--white);margin-bottom:.5rem;padding-right:1.5rem}.cal-head p{font-size:.82rem;line-height:1.6}.cal-close,.cal-head p{color:var(--text-muted)}.cal-close{position:absolute;top:.85rem;right:.85rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:var(--transition)}.cal-close:hover{color:var(--white);background:rgba(255,255,255,.12)}.cal-body{padding:1.5rem;overflow-y:auto;overscroll-behavior:contain}.cal-legend{display:flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:1.1rem}.cal-legend:before{content:"";width:9px;height:9px;background:var(--gold);border-radius:2px;flex-shrink:0}.cal-field{margin-bottom:1.15rem}.cal-field>label,.cal-field__label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.45rem}.cal-field input[type=number]{width:100%;background:var(--dark-4);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:1.1rem;font-weight:600;padding:.7rem 1rem;transition:border-color var(--transition),box-shadow var(--transition)}.cal-field input[type=number]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,154,94,.12)}.cal-seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden}.cal-seg button{min-height:48px;padding:.6rem .3rem;background:var(--dark-4);border:none;border-right:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-family:inherit;cursor:pointer;text-align:center;transition:background var(--transition),color var(--transition)}.cal-seg button:last-child{border-right:none}.cal-seg button:hover{background:var(--mid);color:var(--text)}.cal-seg button strong{display:block;font-size:clamp(.74rem,2.6vw,.82rem);font-weight:700;color:inherit;line-height:1.3}.cal-seg button small{display:block;font-size:clamp(.62rem,2.2vw,.68rem);opacity:.75;line-height:1.3;margin-top:.1rem}.cal-seg button[aria-pressed=true]{background:var(--gold);color:var(--dark)}.cal-seg button[aria-pressed=true] small{opacity:.8}.cal-submit{margin-top:1.4rem;letter-spacing:.06em;text-transform:uppercase}.cal-error{margin-top:.75rem;font-size:.8rem;color:#e08a7a;text-align:center}.cal-result{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.07);animation:calFade .3s ease}.cal-total{text-align:center;background:var(--dark-3);border:1px solid rgba(184,154,94,.2);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.25rem}.cal-total__label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.cal-total__value{display:block;font-size:2.75rem;font-weight:900;line-height:1.1;color:var(--gold);margin-block:.15rem}.cal-total__value span{font-size:.95rem;font-weight:700;color:var(--text-muted)}.cal-total__sub{font-size:.78rem;color:var(--text-muted)}.cal-macros{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem}.cal-macro{background:var(--dark-3);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:.85rem .5rem;text-align:center}.cal-macro__name{display:block;font-size:clamp(.6rem,2.2vw,.68rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem}.cal-macro__value{display:block;font-size:clamp(1.05rem,4vw,1.25rem);font-weight:800;color:var(--white);line-height:1.1}.cal-macro__value span{font-size:.75rem;font-weight:600;color:var(--text-muted)}.cal-macro__kcal{display:block;font-size:.68rem;color:rgba(255,255,255,.35);margin-top:.2rem}.cal-note{font-size:.75rem;line-height:1.6;color:var(--text-muted);margin-top:1.1rem}.cal-note a{color:var(--gold);font-weight:600}.cal-note a:hover{color:var(--gold-light)}.cal-reset{display:block;width:100%;margin-top:1rem;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.78rem;cursor:pointer;transition:color var(--transition)}.cal-reset:hover{color:var(--gold)}@media (max-width:900px){.cal-panel{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));width:min(380px,calc(100vw - 2rem));max-height:min(720px,calc(100svh - 2rem - env(safe-area-inset-bottom, 0px)))}}@media (max-width:560px){.cal-panel{right:0;left:0;bottom:0;width:100%;max-height:90svh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-inline:none;border-bottom:none}.cal-head:before{content:"";position:absolute;top:.5rem;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}.cal-head{padding:1.6rem 1.25rem 1.15rem}.cal-head h2{font-size:1.2rem}.cal-body{padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px))}.cal-fab{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));width:52px;height:52px}.cal-fab__tip{display:none}.cal-total__value{font-size:2.4rem}}@media (max-width:360px){.cal-head{padding:1.5rem 1rem 1rem}.cal-head h2{font-size:1.08rem;padding-right:1.75rem}.cal-head p{font-size:.78rem}.cal-body{padding-inline:1rem}.cal-seg button{padding-inline:.2rem}.cal-macros{grid-template-columns:1fr 1fr}.cal-macro:first-child{grid-column:1/-1}}@media (max-height:560px) and (orientation:landscape){.cal-panel{top:0;bottom:0;max-height:100svh;border-radius:0}.cal-head{padding:1rem 1.25rem .9rem}.cal-head h2{font-size:1.05rem;margin-bottom:.25rem}.cal-head p{display:none}.cal-body{padding-block:1.15rem}.cal-result{margin-top:1.25rem;padding-top:1.15rem}}@media (prefers-reduced-motion:reduce){.cal-overlay,.cal-panel,.cal-result{animation:none}.cal-fab:hover{transform:none}}