.mod-wrap{width:100%;max-width:280px;height:260px;margin:24px auto;position:relative}.mod-orbit{border:1.5px dashed #00000024;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mod-orbit.ring1{width:96px;height:96px}.mod-orbit.ring2{width:168px;height:168px}.mod-orbit.ring3{width:240px;height:240px}.mod-center{text-align:center;z-index:2;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #2c3e5059}.mod-center-label{color:#fff;font-size:.74rem;font-weight:800;line-height:1.15}.mod-sat{top:var(--top);left:var(--left);z-index:3;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.mod-sat-dot{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.86rem;font-weight:800;display:flex;box-shadow:0 2px 8px #0003}.mod-sat.protein .mod-sat-dot{background:#e74c3c}.mod-sat.fat .mod-sat-dot{background:#f39c12}.mod-sat.carb .mod-sat-dot{background:#2ecc71}.mod-sat-text{text-align:center;color:#333;width:72px;margin-top:6px;font-size:.7rem;line-height:1.3}.mod-sat-text strong{color:#111;display:block}@media (max-width:420px){.mod-wrap{max-width:250px;height:230px}.mod-orbit.ring1{width:84px;height:84px}.mod-orbit.ring2{width:148px;height:148px}.mod-orbit.ring3{width:212px;height:212px}.mod-center{width:64px;height:64px}.mod-sat-dot{width:30px;height:30px;font-size:.78rem}.mod-sat-text{width:62px;font-size:.64rem}}
.mtb-row{flex-wrap:wrap;justify-content:center;gap:22px;margin:22px 0 10px;display:flex}.mtb-col{flex-direction:column;align-items:center;gap:8px;display:flex}.mtb-goal{color:#222;text-align:center;font-size:.82rem;font-weight:800}.mtb-tube{background:#fafafa;border:3px solid #444;border-top:none;border-radius:0 0 22px 22px;flex-direction:column-reverse;width:66px;height:170px;display:flex;position:relative;overflow:hidden}.mtb-ticks{background-image:repeating-linear-gradient(#999 0 1.5px,#0000 1.5px 12px);width:6px;height:100%;position:absolute;top:0;right:-9px}.mtb-segment{flex-shrink:0;width:100%}.mtb-segment.protein{background:linear-gradient(#e74c3c,#c0392b)}.mtb-segment.fat{background:linear-gradient(#f39c12,#e67e22)}.mtb-segment.carb{background:linear-gradient(#2ecc71,#27ae60)}.mtb-kcal{color:#666;text-align:center;font-size:.72rem}.mtb-legend{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:6px;display:flex}.mtb-legend-item{color:#333;align-items:center;gap:6px;font-size:.78rem;display:flex}.mtb-legend-dot{border-radius:3px;flex-shrink:0;width:11px;height:11px}.mtb-legend-dot.protein{background:#e74c3c}.mtb-legend-dot.fat{background:#f39c12}.mtb-legend-dot.carb{background:#2ecc71}@media (max-width:420px){.mtb-row{gap:12px}.mtb-tube{width:54px;height:148px}.mtb-goal{font-size:.72rem}.mtb-kcal{font-size:.66rem}}
.mff-groups{flex-direction:column;gap:30px;margin:22px 0;display:flex}.mff-group-title{text-align:center;color:#222;margin-bottom:14px;font-size:.9rem;font-weight:800}.mff-fan{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px;padding:6px 0 10px;display:flex}.mff-card{text-align:center;background:#fff;border-top:4px solid #0000;border-radius:12px;flex:none;width:82px;padding:10px 6px;box-shadow:0 4px 10px #0000001f}.mff-card-food{color:#222;font-size:.76rem;font-weight:700;line-height:1.25;display:block}.mff-card.pos-1{transform:rotate(-8deg)translateY(8px)}.mff-card.pos-2{transform:rotate(0)translateY(-4px)}.mff-card.pos-3{transform:rotate(8deg)translateY(8px)}.mff-group.protein .mff-card{border-top-color:#e74c3c}.mff-group.fat .mff-card{border-top-color:#f39c12}.mff-group.carb .mff-card{border-top-color:#2ecc71}@media (max-width:420px){.mff-fan{gap:10px}.mff-card{width:70px;padding:8px 5px}.mff-card-food{font-size:.68rem}}
