.glp-toggle-btns{display:flex;gap:.25rem;background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:3px}.glp-toggle-btns button{flex:1;padding:.4rem .6rem;background:#fff0;border:none;border-radius:calc(var(--radius-md) - 3px);color:var(--ink-500);font-size:.8125rem;font-weight:var(--fw-semibold);font-family:inherit;cursor:pointer;transition:var(--transition-base)}.glp-toggle-btns button:hover{color:var(--ink-800)}.glp-toggle-btns button.active{background:var(--bg-card);color:var(--brand-600);box-shadow:0 1px 2px rgb(0 0 0 / .06)}.dark .glp-toggle-btns button.active{color:var(--brand-400)}.glp-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.glp-section-title{display:inline-flex;align-items:center;gap:.45rem;font-size:.6875rem;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-600)}.dark .glp-section-title{color:var(--brand-400)}.glp-section-title svg{flex-shrink:0}.glp-fields{display:flex;flex-direction:column;gap:.875rem}.glp-field label{display:block;font-size:.8125rem;font-weight:var(--fw-medium);color:var(--ink-600);margin-bottom:.3rem}.glp-field-hint{font-weight:var(--fw-regular);color:var(--ink-400);font-size:.75rem;margin-left:.25rem}.glp-field-note{margin:.4rem 0 0;font-size:.75rem;line-height:1.45;color:var(--ink-500)}.glp-field-note em{font-style:italic;color:var(--ink-700)}.glp-field input[type="number"]{width:100%;padding:.65rem .85rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-card);color:var(--ink-800);font-size:.9375rem;font-family:inherit;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;transition:var(--transition-base);-moz-appearance:textfield;appearance:textfield}.glp-field input[type="number"]::-webkit-inner-spin-button,.glp-field input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.glp-field input[type="number"]:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px rgb(99 102 241 / .1)}.dark .glp-field input[type="number"]{background-color:var(--bg-card);color:var(--sky-50)}.glp-split-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.glp-split-cell{position:relative}.glp-split-cell input{padding-right:2.25rem}.glp-split-unit{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:var(--fw-semibold);color:var(--ink-400);pointer-events:none}.glp-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.glp-chips button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.6rem .75rem;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--ink-700);font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition-base)}.glp-chips button:hover{border-color:var(--brand-400);color:var(--ink-900)}.glp-chips button.active{background:rgb(99 102 241 / .08);border-color:var(--brand-500);color:var(--brand-700);box-shadow:0 0 0 3px rgb(99 102 241 / .08)}.dark .glp-chips button.active{background:rgb(129 140 248 / .12);color:var(--brand-300)}.glp-chip-title{font-size:.8125rem;font-weight:var(--fw-bold);line-height:1.2}.glp-chip-sub{font-size:.6875rem;font-weight:var(--fw-medium);color:var(--ink-500);line-height:1.25}.glp-chips button.active .glp-chip-sub{color:inherit;opacity:.85}.glp-advanced{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden}.glp-advanced-summary{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;cursor:pointer;user-select:none;list-style:none;transition:var(--transition-base)}.glp-advanced-summary::-webkit-details-marker{display:none}.glp-advanced-summary:hover{background:var(--bg-card)}.glp-advanced-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.8125rem;font-weight:var(--fw-bold);color:var(--ink-800)}.glp-advanced-label svg{color:var(--brand-600);flex-shrink:0}.dark .glp-advanced-label svg{color:var(--brand-400)}.glp-advanced-hint{flex:1;font-size:.7125rem;color:var(--ink-500);font-weight:var(--fw-medium)}.glp-advanced-chevron{color:var(--ink-500);transition:transform 0.2s ease;flex-shrink:0}.glp-advanced[open] .glp-advanced-chevron{transform:rotate(180deg)}.glp-advanced[open] .glp-advanced-summary{border-bottom:1px solid var(--border-soft)}.glp-advanced>.glp-fields{padding:1rem}@media (max-width:520px){.glp-advanced-hint{display:none}}.glp-output{display:flex;flex-direction:column;gap:.85rem}.glp-primary-card{padding:1.25rem 1.35rem;background:linear-gradient(135deg,var(--brand-500),var(--brand-600,#4f46e5));border-radius:var(--radius-md);color:#fff}.glp-primary-label{font-size:.75rem;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;color:rgb(255 255 255 / .78);margin-bottom:.45rem}.glp-primary-label span{color:#fff}.glp-primary-value{display:flex;align-items:baseline;gap:.4rem;font-size:2.125rem;font-weight:var(--fw-extrabold);color:#fff;font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:.85rem}.glp-primary-unit{font-size:.875rem;font-weight:var(--fw-semibold);color:rgb(255 255 255 / .85)}.glp-primary-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.6rem;padding:.65rem .75rem;background:rgb(255 255 255 / .12);border-radius:var(--radius-md)}.glp-primary-meta-item{display:flex;flex-direction:column;gap:.1rem;min-width:0}.glp-meta-label{font-size:.6875rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:rgb(255 255 255 / .75)}.glp-meta-value{font-size:.9375rem;font-weight:var(--fw-bold);color:#fff;font-variant-numeric:tabular-nums}.glp-primary-sub{font-size:.7125rem;color:rgb(255 255 255 / .78);font-variant-numeric:tabular-nums;line-height:1.5}.glp-primary-sub span{font-weight:var(--fw-bold);color:rgb(255 255 255 / .95)}.glp-floor-warning{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem .95rem;background:#fef3c7;border:1px solid #fcd34d;border-left:3px solid #d97706;border-radius:var(--radius-md);color:#78350f;font-size:.8125rem;line-height:1.55}.glp-floor-warning svg{flex-shrink:0;margin-top:2px;color:#d97706}.glp-floor-warning strong{color:#78350f;font-weight:var(--fw-bold)}.glp-floor-warning em{font-style:italic}.dark .glp-floor-warning{background:rgb(217 119 6 / .12);border-color:rgb(217 119 6 / .4);border-left-color:#fbbf24;color:#fde68a}.dark .glp-floor-warning strong{color:#fef3c7}.glp-macro-section{display:flex;flex-direction:column;gap:.55rem}.glp-macro-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.glp-macro-heading>span:first-child{font-size:.8125rem;font-weight:var(--fw-bold);color:var(--ink-800)}.glp-macro-sub{font-size:.6875rem;color:var(--ink-500);font-weight:var(--fw-medium)}.glp-macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.glp-macro-card{padding:.85rem .95rem;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);border-left-width:3px}.glp-macro-card--protein{border-left-color:#ef4444}.glp-macro-card--carbs{border-left-color:#f59e0b}.glp-macro-card--fat{border-left-color:#10b981}.dark .glp-macro-card--protein{border-left-color:#f87171}.dark .glp-macro-card--carbs{border-left-color:#fbbf24}.dark .glp-macro-card--fat{border-left-color:#34d399}.glp-macro-head{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.45rem}.glp-macro-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);flex-shrink:0}.glp-macro-card--protein .glp-macro-icon{background:#fef2f2;color:#dc2626}.glp-macro-card--carbs .glp-macro-icon{background:#fffbeb;color:#d97706}.glp-macro-card--fat .glp-macro-icon{background:#ecfdf5;color:#059669}.dark .glp-macro-card--protein .glp-macro-icon{background:rgb(220 38 38 / .15);color:#f87171}.dark .glp-macro-card--carbs .glp-macro-icon{background:rgb(217 119 6 / .15);color:#fbbf24}.dark .glp-macro-card--fat .glp-macro-icon{background:rgb(5 150 105 / .15);color:#34d399}.glp-macro-label{font-size:.8125rem;font-weight:var(--fw-semibold);color:var(--ink-800);line-height:1.25}.glp-macro-rate{font-size:.6875rem;color:var(--ink-500);font-weight:var(--fw-medium);margin-top:.1rem}.glp-macro-value{display:flex;align-items:baseline;gap:.25rem;font-size:1.25rem;font-weight:var(--fw-bold);color:var(--ink-900);font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:.25rem}.glp-macro-unit{font-size:.75rem;font-weight:var(--fw-medium);color:var(--ink-500)}.glp-macro-foot{font-size:.6875rem;color:var(--ink-500);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.glp-tip{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .85rem;background:rgb(99 102 241 / .06);border:1px solid rgb(99 102 241 / .18);border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5;color:var(--ink-700)}.glp-tip strong{color:var(--ink-900);font-weight:var(--fw-bold)}.glp-tip-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;flex-shrink:0;border-radius:var(--radius-sm);background:rgb(99 102 241 / .14);color:var(--brand-600);margin-top:1px}.dark .glp-tip{background:rgb(129 140 248 / .08);border-color:rgb(129 140 248 / .22);color:var(--ink-300,#cbd5e1)}.dark .glp-tip strong{color:#fff}.dark .glp-tip-icon{background:rgb(129 140 248 / .18);color:var(--brand-400)}.glp-disclaimer{display:flex;align-items:flex-start;gap:.45rem;padding-top:.4rem;font-size:.7125rem;line-height:1.5;color:var(--ink-500)}.glp-disclaimer svg{flex-shrink:0;margin-top:2px}.glp-warning{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .85rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#b91c1c;font-size:.8125rem;line-height:1.45}.glp-warning svg{flex-shrink:0;margin-top:1px}.dark .glp-warning{background:rgb(220 38 38 / .1);border-color:rgb(220 38 38 / .3);color:#fca5a5}.glp-output[hidden],.glp-warning[hidden],.glp-floor-warning[hidden],.glp-field[hidden]{display:none!important}@media (max-width:640px){.glp-chips{grid-template-columns:1fr}.glp-primary-meta{grid-template-columns:1fr;gap:.5rem}.glp-macro-grid{grid-template-columns:1fr}.glp-primary-value{font-size:1.625rem}}